From b8774c56edb22840530c6f2ddcbe2f2022a417d1 Mon Sep 17 00:00:00 2001 From: ben Date: Fri, 27 Feb 2009 13:45:20 +0000 Subject: Join request management added. git-svn-id: https://code.elgg.org/elgg/trunk@2980 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/groups/actions/addtogroup.php | 4 ++- mod/groups/actions/groupskillrequest.php | 32 ++++++++++++++++++++ mod/groups/languages/en.php | 5 +++- mod/groups/membershipreq.php | 4 +-- mod/groups/start.php | 2 +- .../views/default/groups/membershiprequests.php | 35 ++++++++++++++++++---- 6 files changed, 71 insertions(+), 11 deletions(-) create mode 100644 mod/groups/actions/groupskillrequest.php diff --git a/mod/groups/actions/addtogroup.php b/mod/groups/actions/addtogroup.php index a34f5d48c..97f10aef2 100644 --- a/mod/groups/actions/addtogroup.php +++ b/mod/groups/actions/addtogroup.php @@ -44,7 +44,9 @@ // Remove relationships remove_entity_relationship($group->guid, 'invited', $user->guid); remove_entity_relationship($user->guid, 'membership_request', $group->guid); - + + add_entity_relationship($user->guid, 'member', $group->guid); + // send welcome email notify_user($user->getGUID(), $group->owner_guid, sprintf(elgg_echo('groups:welcome:subject'), $group->name), diff --git a/mod/groups/actions/groupskillrequest.php b/mod/groups/actions/groupskillrequest.php new file mode 100644 index 000000000..a2734abb9 --- /dev/null +++ b/mod/groups/actions/groupskillrequest.php @@ -0,0 +1,32 @@ +guid, 'membership_request', $group->guid)) + { + remove_entity_relationship($user->guid, 'membership_request', $group->guid); + system_message(elgg_echo("groups:joinrequestkilled")); + } + + forward($_SERVER['HTTP_REFERER']); + +?> \ No newline at end of file diff --git a/mod/groups/languages/en.php b/mod/groups/languages/en.php index 3f3505b02..95cad18ed 100644 --- a/mod/groups/languages/en.php +++ b/mod/groups/languages/en.php @@ -75,7 +75,7 @@ */ 'groups:access:private' => 'Closed - Users must be invited', 'groups:access:public' => 'Open - Any user may join', - 'groups:closedgroup' => 'This group has a closed membership, please request to join.', + 'groups:closedgroup' => 'This group has a closed membership. To ask to be added, click the "request membership" menu link.', /* Group tools @@ -138,6 +138,7 @@ 'groups:updated' => "Last comment", 'groups:invite:subject' => "%s you have been invited to join %s!", 'groups:started' => "Started by", + 'groups:joinrequest:remove:check' => 'Are you sure you want to remove this join request?', 'groups:invite:body' => "Hi %s, You have been invited to join the '%s' group, click below to confirm: @@ -203,6 +204,8 @@ or click below to confirm request: 'groupstopic:notdeleted' => 'Topic not deleted', 'grouptopic:blank' => 'No topic', 'groups:deletewarning' => "Are you sure you want to delete this group? There is no undo!", + + 'groups:joinrequestkilled' => 'The join request has been deleted.', ); add_translation("en",$english); diff --git a/mod/groups/membershipreq.php b/mod/groups/membershipreq.php index 983f8d363..7e67a7cda 100644 --- a/mod/groups/membershipreq.php +++ b/mod/groups/membershipreq.php @@ -23,8 +23,8 @@ if (($group) && ($group->canEdit())) { - $requests = get_entities_from_relationship('membership_request',$group_guid,false,'','',0,'',9999); - $area2 .= elgg_view('groups/membershiprequests',array('requests' => $requests)); + $requests = get_entities_from_relationship('membership_request',$group_guid,true,'','',0,'',9999); + $area2 .= elgg_view('groups/membershiprequests',array('requests' => $requests, 'entity' => $group)); } else { $area2 .= elgg_echo("groups:noaccess"); diff --git a/mod/groups/start.php b/mod/groups/start.php index f609ef90d..64a44bf21 100644 --- a/mod/groups/start.php +++ b/mod/groups/start.php @@ -45,7 +45,7 @@ register_action("groups/join",false, $CONFIG->pluginspath . "groups/actions/join.php"); register_action("groups/leave",false, $CONFIG->pluginspath . "groups/actions/leave.php"); register_action("groups/joinrequest",false, $CONFIG->pluginspath . "groups/actions/joinrequest.php"); - + register_action("groups/killrequest",false,$CONFIG->pluginspath . "groups/actions/groupskillrequest.php"); register_action("groups/addtogroup",false, $CONFIG->pluginspath . "groups/actions/addtogroup.php"); // Use group widgets diff --git a/mod/groups/views/default/groups/membershiprequests.php b/mod/groups/views/default/groups/membershiprequests.php index f442c1a93..9279e2bee 100644 --- a/mod/groups/views/default/groups/membershiprequests.php +++ b/mod/groups/views/default/groups/membershiprequests.php @@ -1,3 +1,5 @@ +
+
-

+

name; + + echo str_replace(' $vars['url'] . 'action/groups/killrequest?user_guid='.$request->guid.'&group_guid=' . $vars['entity']->guid, + 'confirm' => elgg_echo('groups:joinrequest:remove:check'), + 'text' => elgg_echo('delete'), + ))); ?> + +
+

+ name; ?> +

+ $request)); + if (!empty($status)) { + + ?> +

+

+  

"; + + ?>
"; echo "

" . elgg_echo('groups:requests:none') . "

"; - echo "
"; } -?> \ No newline at end of file +?> + \ No newline at end of file -- cgit v1.2.3