diff options
Diffstat (limited to 'mod/groups')
-rw-r--r-- | mod/groups/actions/addtogroup.php | 117 | ||||
-rw-r--r-- | mod/groups/actions/delete.php | 31 | ||||
-rw-r--r-- | mod/groups/actions/featured.php | 58 | ||||
-rw-r--r-- | mod/groups/actions/groupskillinvitation.php | 36 | ||||
-rw-r--r-- | mod/groups/actions/groupskillrequest.php | 42 | ||||
-rw-r--r-- | mod/groups/actions/invite.php | 47 | ||||
-rw-r--r-- | mod/groups/actions/join.php | 85 | ||||
-rw-r--r-- | mod/groups/actions/joinrequest.php | 34 | ||||
-rw-r--r-- | mod/groups/actions/leave.php | 61 | ||||
-rw-r--r-- | mod/groups/icon.php | 77 |
10 files changed, 260 insertions, 328 deletions
diff --git a/mod/groups/actions/addtogroup.php b/mod/groups/actions/addtogroup.php index 2da045fc6..651b90abb 100644 --- a/mod/groups/actions/addtogroup.php +++ b/mod/groups/actions/addtogroup.php @@ -1,92 +1,77 @@ <?php +/** + * Add a user to a group + * + * @package ElggGroups + */ +$logged_in_user = get_loggedin_user(); - /** - * Add a user to a group - * - * @package ElggGroups - */ +$user_guid = get_input('user_guid'); +if (!is_array($user_guid)) + $user_guid = array($user_guid); +$group_guid = get_input('group_guid'); - // Load configuration - global $CONFIG; +if (sizeof($user_guid)) { + foreach ($user_guid as $u_id) { + $user = get_entity($u_id); + $group = get_entity($group_guid); - $logged_in_user = get_loggedin_user(); + set_page_owner($group->guid); - $user_guid = get_input('user_guid'); - if (!is_array($user_guid)) - $user_guid = array($user_guid); - $group_guid = get_input('group_guid'); + if ($user && $group) { - if (sizeof($user_guid)) - { - foreach ($user_guid as $u_id) - { - $user = get_entity($u_id); - $group = get_entity($group_guid); + //if (get_loggedin_userid() == $group->owner_guid) + if ($group->canEdit()) { - set_page_owner($group->guid); - - if ( $user && $group) { - - //if (get_loggedin_userid() == $group->owner_guid) - if ($group->canEdit()) - { - - // If the group is open or the user has requested membership - if ( + // If the group is open or the user has requested membership + if ( (check_entity_relationship($user->guid, 'membership_request', $group->guid)) || ($group->isPublicMembership()) - ) - { + ) { - if (!$group->isMember($user)) - { - // Remove relationships - remove_entity_relationship($group->guid, 'invited', $user->guid); - remove_entity_relationship($user->guid, 'membership_request', $group->guid); + if (!$group->isMember($user)) { + // 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); - $group->join($user); + //add_entity_relationship($user->guid, 'member', $group->guid); + $group->join($user); - // send welcome email - notify_user($user->getGUID(), $group->owner_guid, + // send welcome email + notify_user($user->getGUID(), $group->owner_guid, elgg_echo('groups:welcome:subject', array($group->name)), elgg_echo('groups:welcome:body', array($user->name, $group->name, $group->getURL())), NULL); - system_message(elgg_echo('groups:addedtogroup')); - } - else - register_error(elgg_echo("groups:cantjoin")); + system_message(elgg_echo('groups:addedtogroup')); } else - { - if ($user->isFriend()) - { - - // Create relationship - add_entity_relationship($group->guid, 'invited', $user->guid); - - // Send email - $url = elgg_get_site_url()."pg/groups/invited?user_guid={$user->guid}&group_guid={$group->guid}"; - if (notify_user($user->getGUID(), $group->owner_guid, - elgg_echo('groups:invite:subject', array($user->name, $group->name)), - elgg_echo('groups:invite:body', array($user->name, $logged_in_user->name, $group->name, $url)), - NULL)) - system_message(elgg_echo("groups:userinvited")); - else - register_error(elgg_echo("groups:usernotinvited")); - - } + register_error(elgg_echo("groups:cantjoin")); + } + else { + if ($user->isFriend()) { + + // Create relationship + add_entity_relationship($group->guid, 'invited', $user->guid); + + // Send email + $url = elgg_get_site_url() . "pg/groups/invited?user_guid={$user->guid}&group_guid={$group->guid}"; + if (notify_user($user->getGUID(), $group->owner_guid, + elgg_echo('groups:invite:subject', array($user->name, $group->name)), + elgg_echo('groups:invite:body', array($user->name, $logged_in_user->name, $group->name, $url)), + NULL)) + system_message(elgg_echo("groups:userinvited")); else register_error(elgg_echo("groups:usernotinvited")); } + else + register_error(elgg_echo("groups:usernotinvited")); } - else - register_error(elgg_echo("groups:notowner")); } + else + register_error(elgg_echo("groups:notowner")); } } +} - forward(REFERER); - -?> +forward(REFERER); diff --git a/mod/groups/actions/delete.php b/mod/groups/actions/delete.php index 2983bc2ce..5672e8c47 100644 --- a/mod/groups/actions/delete.php +++ b/mod/groups/actions/delete.php @@ -1,19 +1,20 @@ <?php - global $CONFIG; +/** + * Delete a group + */ - $guid = (int)get_input('group_guid'); - $entity = get_entity($guid); - - if (($entity) && ($entity instanceof ElggGroup)) - { - if ($entity->delete()) - system_message(elgg_echo('group:deleted')); - else - register_error(elgg_echo('group:notdeleted')); - } +$guid = (int)get_input('group_guid'); +$entity = get_entity($guid); + +if (($entity) && ($entity instanceof ElggGroup)) +{ + if ($entity->delete()) + system_message(elgg_echo('group:deleted')); else register_error(elgg_echo('group:notdeleted')); - - $url_name = get_loggedin_user()->username; - forward(elgg_get_site_url()."pg/groups/member/{$url_name}"); -?>
\ No newline at end of file +} +else + register_error(elgg_echo('group:notdeleted')); + +$url_name = get_loggedin_user()->username; +forward(elgg_get_site_url() . "pg/groups/member/{$url_name}"); diff --git a/mod/groups/actions/featured.php b/mod/groups/actions/featured.php index a63b93c0d..72ca7eebd 100644 --- a/mod/groups/actions/featured.php +++ b/mod/groups/actions/featured.php @@ -1,35 +1,27 @@ -<?php - - /** - * Join a group action. - * - * @package ElggGroups - */ +<?php +/** + * Feature a group + * + * @package ElggGroups + */ - global $CONFIG; - - $group_guid = get_input('group_guid'); - $action = get_input('action_type'); - - $group = get_entity($group_guid); - - if($group){ - - //get the action, is it to feature or unfeature - if($action == "feature"){ - - $group->featured_group = "yes"; - system_message(elgg_echo('groups:featuredon')); - - } - - if($action == "unfeature"){ - - $group->featured_group = "no"; - system_message(elgg_echo('groups:unfeatured')); - - } - + +$group_guid = get_input('group_guid'); +$action = get_input('action_type'); + +$group = get_entity($group_guid); + +if ($group) { + //get the action, is it to feature or unfeature + if ($action == "feature") { + $group->featured_group = "yes"; + system_message(elgg_echo('groups:featuredon')); } - - forward(REFERER);
\ No newline at end of file + + if ($action == "unfeature") { + $group->featured_group = "no"; + system_message(elgg_echo('groups:unfeatured')); + } +} + +forward(REFERER); diff --git a/mod/groups/actions/groupskillinvitation.php b/mod/groups/actions/groupskillinvitation.php index c5f1d9bf5..503c41939 100644 --- a/mod/groups/actions/groupskillinvitation.php +++ b/mod/groups/actions/groupskillinvitation.php @@ -1,26 +1,20 @@ <?php - /** - * Delete an invitation to join a closed group. - * - * @package ElggGroups - */ +/** + * Delete an invitation to join a closed group. + * + * @package ElggGroups + */ - // Load configuration - global $CONFIG; +$user_guid = get_input('user_guid', get_loggedin_userid()); +$group_guid = get_input('group_guid'); - $user_guid = get_input('user_guid', get_loggedin_userid()); - $group_guid = get_input('group_guid'); +$user = get_entity($user_guid); +$group = get_entity($group_guid); - $user = get_entity($user_guid); - $group = get_entity($group_guid); +// If join request made +if (check_entity_relationship($group->guid, 'invited', $user->guid)) { + remove_entity_relationship($group->guid, 'invited', $user->guid); + system_message(elgg_echo("groups:invitekilled")); +} - // If join request made - if (check_entity_relationship($group->guid, 'invited', $user->guid)) - { - remove_entity_relationship($group->guid, 'invited', $user->guid); - system_message(elgg_echo("groups:invitekilled")); - } - - forward(REFERER); - -?>
\ No newline at end of file +forward(REFERER); diff --git a/mod/groups/actions/groupskillrequest.php b/mod/groups/actions/groupskillrequest.php index 7b53fe37b..f7f8a5157 100644 --- a/mod/groups/actions/groupskillrequest.php +++ b/mod/groups/actions/groupskillrequest.php @@ -1,26 +1,20 @@ <?php - /** - * Delete a user request to join a closed group. - * - * @package ElggGroups - */ +/** + * Delete a user request to join a closed group. + * + * @package ElggGroups + */ - // Load configuration - global $CONFIG; - - $user_guid = get_input('user_guid', get_loggedin_userid()); - $group_guid = get_input('group_guid'); - - $user = get_entity($user_guid); - $group = get_entity($group_guid); - - // If join request made - if (check_entity_relationship($user->guid, 'membership_request', $group->guid)) - { - remove_entity_relationship($user->guid, 'membership_request', $group->guid); - system_message(elgg_echo("groups:joinrequestkilled")); - } - - forward(REFERER); - -?>
\ No newline at end of file +$user_guid = get_input('user_guid', get_loggedin_userid()); +$group_guid = get_input('group_guid'); + +$user = get_entity($user_guid); +$group = get_entity($group_guid); + +// If join request made +if (check_entity_relationship($user->guid, 'membership_request', $group->guid)) { + remove_entity_relationship($user->guid, 'membership_request', $group->guid); + system_message(elgg_echo("groups:joinrequestkilled")); +} + +forward(REFERER); diff --git a/mod/groups/actions/invite.php b/mod/groups/actions/invite.php index eef8fb5ce..e8eeb3330 100644 --- a/mod/groups/actions/invite.php +++ b/mod/groups/actions/invite.php @@ -1,63 +1,54 @@ <?php - /** * Invite a user to join a group * * @package ElggGroups */ -// Load configuration -global $CONFIG; - $logged_in_user = get_loggedin_user(); $user_guid = get_input('user_guid'); -if (!is_array($user_guid)) +if (!is_array($user_guid)) { $user_guid = array($user_guid); +} $group_guid = get_input('group_guid'); -if (sizeof($user_guid)) -{ - foreach ($user_guid as $u_id) - { +if (sizeof($user_guid)) { + foreach ($user_guid as $u_id) { $user = get_entity($u_id); $group = get_entity($group_guid); if ( $user && $group) { - if (($group instanceof ElggGroup) && ($group->canEdit())) - { - if (!check_entity_relationship($group->guid, 'invited', $user->guid)) - { - if ($user->isFriend()) - { + if (($group instanceof ElggGroup) && ($group->canEdit())) { + if (!check_entity_relationship($group->guid, 'invited', $user->guid)) { + if ($user->isFriend()) { // Create relationship add_entity_relationship($group->guid, 'invited', $user->guid); // Send email - $url = "{$CONFIG->url}pg/groups/invitations/{$user->username}"; - if (notify_user($user->getGUID(), $group->owner_guid, + $url = elgg_normalize_url("pg/groups/invitations/$user->username"); + $result = notify_user($user->getGUID(), $group->owner_guid, elgg_echo('groups:invite:subject', array($user->name, $group->name)), elgg_echo('groups:invite:body', array($user->name, $logged_in_user->name, $group->name, $url)), - NULL)) + NULL); + if ($result) { system_message(elgg_echo("groups:userinvited")); - else + } else { register_error(elgg_echo("groups:usernotinvited")); - - } - else + } + } else { register_error(elgg_echo("groups:usernotinvited")); - } - else + } + } else { register_error(elgg_echo("groups:useralreadyinvited")); - } - else + } + } else { register_error(elgg_echo("groups:notowner")); + } } } } forward(REFERER); - -?> diff --git a/mod/groups/actions/join.php b/mod/groups/actions/join.php index 95c9660ff..e058cdc22 100644 --- a/mod/groups/actions/join.php +++ b/mod/groups/actions/join.php @@ -1,61 +1,50 @@ <?php - /** - * Join a group action. - * - * @package ElggGroups - */ +/** + * Join a group action. + * + * @package ElggGroups + */ - // Load configuration - global $CONFIG; +$user_guid = get_input('user_guid', get_loggedin_userid()); +$group_guid = get_input('group_guid'); - $user_guid = get_input('user_guid', get_loggedin_userid()); - $group_guid = get_input('group_guid'); +// @todo fix for #287 +// disable access to get entity. +$invitations = groups_get_invited_groups($user_guid, TRUE); - // @todo fix for #287 - // disable access to get entity. - $invitations = groups_get_invited_groups($user_guid, TRUE); +if (in_array($group_guid, $invitations)) { + $ia = elgg_set_ignore_access(TRUE); +} - if (in_array($group_guid, $invitations)) { - $ia = elgg_set_ignore_access(TRUE); - } - - $user = get_entity($user_guid); - $group = get_entity($group_guid); +$user = get_entity($user_guid); +$group = get_entity($group_guid); - set_page_owner($group->guid); +set_page_owner($group->guid); - if (($user instanceof ElggUser) && ($group instanceof ElggGroup)) - { - if ($group->isPublicMembership() || $group->canEdit($user->guid)) - { - if ($group->join($user)) - { - system_message(elgg_echo("groups:joined")); +if (($user instanceof ElggUser) && ($group instanceof ElggGroup)) { + if ($group->isPublicMembership() || $group->canEdit($user->guid)) { + if ($group->join($user)) { + system_message(elgg_echo("groups:joined")); - // Remove any invite or join request flags - remove_entity_relationship($group->guid, 'invited', $user->guid); - remove_entity_relationship($user->guid, 'membership_request', $group->guid); + // Remove any invite or join request flags + remove_entity_relationship($group->guid, 'invited', $user->guid); + remove_entity_relationship($user->guid, 'membership_request', $group->guid); - // add to river - add_to_river('river/relationship/member/create','join',$user->guid,$group->guid); + // add to river + add_to_river('river/relationship/member/create','join',$user->guid,$group->guid); - forward($group->getURL()); - exit; - } - else - register_error(elgg_echo("groups:cantjoin")); - } - else - { - // Closed group, request membership - system_message(elgg_echo('groups:privategroup')); - forward(elgg_add_action_tokens_to_url("action/groups/joinrequest?user_guid=$user_guid&group_guid=$group_guid", FALSE)); - exit; + forward($group->getURL()); + } else { + register_error(elgg_echo("groups:cantjoin")); } + } else { + // Closed group, request membership + system_message(elgg_echo('groups:privategroup')); + forward(elgg_add_action_tokens_to_url("action/groups/joinrequest?user_guid=$user_guid&group_guid=$group_guid", FALSE)); } - else - register_error(elgg_echo("groups:cantjoin")); +} else { + register_error(elgg_echo("groups:cantjoin")); +} + +forward(REFERER); - forward(REFERER); - exit; -?> diff --git a/mod/groups/actions/joinrequest.php b/mod/groups/actions/joinrequest.php index b61afbed6..c1d41e8e8 100644 --- a/mod/groups/actions/joinrequest.php +++ b/mod/groups/actions/joinrequest.php @@ -5,9 +5,6 @@ * @package ElggGroups */ -// Load configuration -global $CONFIG; - $user_guid = get_input('user_guid', get_loggedin_userid()); $group_guid = get_input('group_guid'); @@ -27,17 +24,14 @@ $group = get_entity($group_guid); set_page_owner($group->guid); // If not a member of this group -if (($group) && ($user) && (!$group->isMember($user))) -{ +if (($group) && ($user) && (!$group->isMember($user))) { // If open group or invite exists if ( ($group->isPublicMembership()) || (check_entity_relationship($group->guid, 'invited', $user->guid)) - ) - { + ) { //$ia = elgg_set_ignore_access(TRUE); - if ($group->join($user)) - { + if ($group->join($user)) { // Remove relationships remove_entity_relationship($group->guid, 'invited', $user->guid); remove_entity_relationship($user->guid, 'membership_request', $group->guid); @@ -47,33 +41,29 @@ if (($group) && ($user) && (!$group->isMember($user))) elgg_set_ignore_access($ia); forward($group->getURL()); - exit; - } - else { + } else { elgg_set_ignore_access($ia); system_message(elgg_echo('groups:cantjoin')); } - } - else - { + } else { // If join request not already made - if (!check_entity_relationship($user->guid, 'membership_request', $group->guid)) - { + if (!check_entity_relationship($user->guid, 'membership_request', $group->guid)) { // Add membership requested add_entity_relationship($user->guid, 'membership_request', $group->guid); // Send email - $url = "{$CONFIG->url}mod/groups/membershipreq.php?group_guid={$group->guid}"; + $url = elgg_normalize_url("mod/groups/membershipreq.php?group_guid={$group->guid}"); if (notify_user($group->owner_guid, $user->getGUID(), elgg_echo('groups:request:subject', array($user->name, $group->name)), elgg_echo('groups:request:body', array($group->getOwnerEntity()->name, $user->name, $group->name, $user->getURL(), $url)), - NULL)) + NULL)) { system_message(elgg_echo("groups:joinrequestmade")); - else + } else { register_error(elgg_echo("groups:joinrequestnotmade")); - } - else + } + } else { system_message(elgg_echo("groups:joinrequestmade")); + } } } diff --git a/mod/groups/actions/leave.php b/mod/groups/actions/leave.php index ebb473817..a9163a3d1 100644 --- a/mod/groups/actions/leave.php +++ b/mod/groups/actions/leave.php @@ -1,39 +1,36 @@ <?php - /** - * Leave a group action. - * - * @package ElggGroups - */ +/** + * Leave a group action. + * + * @package ElggGroups + */ - // Load configuration - global $CONFIG; - - $user_guid = get_input('user_guid'); - $group_guid = get_input('group_guid'); - - $user = NULL; - if (!$user_guid) $user = get_loggedin_user(); - else - $user = get_entity($user_guid); - - $group = get_entity($group_guid); +$user_guid = get_input('user_guid'); +$group_guid = get_input('group_guid'); - set_page_owner($group->guid); - - if (($user instanceof ElggUser) && ($group instanceof ElggGroup)) - { - if ($group->getOwnerGUID() != get_loggedin_userid()) { - if ($group->leave($user)) - system_message(elgg_echo("groups:left")); - else - register_error(elgg_echo("groups:cantleave")); +$user = NULL; +if (!$user_guid) { + $user = get_loggedin_user(); +} else { + $user = get_entity($user_guid); +} + +$group = get_entity($group_guid); + +set_page_owner($group->guid); + +if (($user instanceof ElggUser) && ($group instanceof ElggGroup)) { + if ($group->getOwnerGUID() != get_loggedin_userid()) { + if ($group->leave($user)) { + system_message(elgg_echo("groups:left")); } else { register_error(elgg_echo("groups:cantleave")); } - } - else + } else { register_error(elgg_echo("groups:cantleave")); - - forward(REFERER); - exit; -?>
\ No newline at end of file + } +} else { + register_error(elgg_echo("groups:cantleave")); +} + +forward(REFERER); diff --git a/mod/groups/icon.php b/mod/groups/icon.php index a6ceaf3b5..59247e9f8 100644 --- a/mod/groups/icon.php +++ b/mod/groups/icon.php @@ -1,41 +1,40 @@ <?php - /** - * Icon display - * - * @package ElggGroups - */ - - global $CONFIG; - require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php"); - - $group_guid = get_input('group_guid'); - $group = get_entity($group_guid); - - $size = strtolower(get_input('size')); - if (!in_array($size,array('large','medium','small','tiny','master','topbar'))) - $size = "medium"; - - $success = false; - - $filehandler = new ElggFile(); - $filehandler->owner_guid = $group->owner_guid; - $filehandler->setFilename("groups/" . $group->guid . $size . ".jpg"); - - $success = false; - if ($filehandler->open("read")) { - if ($contents = $filehandler->read($filehandler->size())) { - $success = true; - } - } - - if (!$success) { - $contents = @file_get_contents($CONFIG->pluginspath . "groups/graphics/default{$size}.jpg"); +/** + * Icon display + * + * @package ElggGroups + */ + +require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php"); + +$group_guid = get_input('group_guid'); +$group = get_entity($group_guid); + +$size = strtolower(get_input('size')); +if (!in_array($size,array('large','medium','small','tiny','master','topbar'))) + $size = "medium"; + +$success = false; + +$filehandler = new ElggFile(); +$filehandler->owner_guid = $group->owner_guid; +$filehandler->setFilename("groups/" . $group->guid . $size . ".jpg"); + +$success = false; +if ($filehandler->open("read")) { + if ($contents = $filehandler->read($filehandler->size())) { + $success = true; } - - header("Content-type: image/jpeg"); - header('Expires: ' . date('r',time() + 864000)); - header("Pragma: public"); - header("Cache-Control: public"); - header("Content-Length: " . strlen($contents)); - echo $contents; -?>
\ No newline at end of file +} + +if (!$success) { + $location = elgg_get_plugin_path() . "groups/graphics/default{$size}.jpg"; + $contents = @file_get_contents($location); +} + +header("Content-type: image/jpeg"); +header('Expires: ' . date('r',time() + 864000)); +header("Pragma: public"); +header("Cache-Control: public"); +header("Content-Length: " . strlen($contents)); +echo $contents; |