]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Admin users can join groups. Don't request to join a closed group if admin.
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Wed, 14 Jul 2010 14:01:47 +0000 (14:01 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Wed, 14 Jul 2010 14:01:47 +0000 (14:01 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@6702 36083f99-b078-4883-b0ff-0f9b5a30f544

mod/groups/actions/join.php
mod/groups/views/default/groups/groupprofile.php

index 1612587c8f9e05e29d9ab38799bc65c7ca05d9b5..55da1a17c334d2255a505e33acabf6648a184995 100644 (file)
@@ -32,7 +32,7 @@
 
        if (($user instanceof ElggUser) && ($group instanceof ElggGroup))
        {
-               if ($group->isPublicMembership())
+               if ($group->isPublicMembership() || $group->canEdit($user->guid))
                {
                        if ($group->join($user))
                        {
index ab19903702b54e28d0062e7b5adae527d2542be5..13b244f88f9719e4f067502271d39082cd1ddd18 100644 (file)
@@ -15,6 +15,7 @@ elgg_push_breadcrumb(elgg_echo('groups:all'), "{$vars['url']}pg/groups/world");
 
 // create user actions
 $actions = array();
+
 if ($vars['entity']->canEdit()) {
        // breadcrumb trail
        elgg_push_breadcrumb(elgg_echo('groups:yours'), "{$vars['url']}pg/groups/member/{$user->username}");
@@ -22,24 +23,33 @@ if ($vars['entity']->canEdit()) {
        // edit and invite
        $actions["mod/groups/edit.php?group_guid={$vars['entity']->getGUID()}"] = elgg_echo('groups:edit');
        $actions["mod/groups/invite.php?group_guid={$vars['entity']->getGUID()}"] = elgg_echo('groups:invite');
-} elseif ($vars['entity']->isMember($user)) {
+} 
+
+if ($vars['entity']->isMember($user)) {
        // breadcrumb trail
        elgg_push_breadcrumb(elgg_echo('groups:yours'), "{$vars['url']}pg/groups/member/{$user->username}");
        
        // leave
        $url = elgg_add_action_tokens_to_url("action/groups/leave?group_guid={$vars['entity']->getGUID()}");
        $actions[$url] = elgg_echo('groups:leave');
-} elseif ($vars['entity']->isPublicMembership()) {
-       // join
-       $url = elgg_add_action_tokens_to_url("action/groups/join?group_guid={$vars['entity']->getGUID()}");
-       $actions[$url] = elgg_echo('groups:join');
 } else {
-       // request membership
-       $url = elgg_add_action_tokens_to_url("action/groups/joinrequest?group_guid={$vars['entity']->getGUID()}");
-       $actions[$url] = elgg_echo('groups:joinrequest');
+       // join
+       // admins can always join.
+       if ($vars['entity']->isPublicMembership() || $vars['entity']->canEdit()) {
+               $url = elgg_add_action_tokens_to_url("action/groups/join?group_guid={$vars['entity']->getGUID()}");
+               $actions[$url] = elgg_echo('groups:join');
+       } else {
+               // request membership
+               $url = elgg_add_action_tokens_to_url("action/groups/joinrequest?group_guid={$vars['entity']->getGUID()}");
+               $actions[$url] = elgg_echo('groups:joinrequest');
+       }
 }
 
-// build aciton buttons
+/*
+
+*/
+
+// build action buttons
 $action_buttons = '';
 if (!empty($actions)) {
        $action_buttons = '<div class="content_header_options">';