Access Files/Blogs/Pages once Join Group

Hi guys! I'm trying to modify Elgg so only Admin has rights to create, upload, and edit anything other than their avatar until they join a certain Group. Once they join the group, they have acess to creating Pages and Uploading Files.

 

What needs to be done, so a newly registered member can only View existing pages, Join Group, and unlock functions?

  • When new users register, mark them with $user->is_limited = 1; When they join the group, delete that metadata.

    Register a handler for the [action, all] plugin hook and capturing a whitelist of actions you'd need for new users to be able to do, then limit actions to that whitelist if $user->is_limited.

    I think the easiest way to change the UI would be to inject a classname is "limited_user" into the BODY when those users are logged in. Then in CSS hide all the buttons they shouldn't have access to.

  • function register_action($action, $public = false, $filename = "lock2group", $admin_only = false)
    register_plugin_hook("action", "register", $action ''lock2group''
    like this? loaded it into CSS and got site crash :/
  • Do you want to give the users the choice of joining this group? If you want them to join this group in any case you could use this plugin to make them members of this group when registering already: http://community.elgg.org/plugins/875161/1.8.0/elgg-18-autosubscribegroup. The same functionality is also included in the group_tools plugin. I think when using the group tools plugin you can configure new users to auto-join a group in the group's settings.

  • yes they need to join manually. 

    this is a business site, Members must join group to acess functions, and it costs to join. 

    then a badge is affixed on their profile, which expires within the month. 

     

    if joined group, members can use site files, pages.

    without joining, they can only view About pages, or public files from Admin. 

     Thanks for the reply @iionly but I'm searching a way for them to choose to join and until they do be limited.