diff options
Diffstat (limited to 'pages/friends')
| -rw-r--r-- | pages/friends/add.php | 25 | ||||
| -rw-r--r-- | pages/friends/collections.php | 22 | ||||
| -rw-r--r-- | pages/friends/collections/add.php | 22 | ||||
| -rw-r--r-- | pages/friends/collections/pickercallback.php | 59 | ||||
| -rw-r--r-- | pages/friends/collections/view.php | 21 | ||||
| -rw-r--r-- | pages/friends/edit.php | 31 | ||||
| -rw-r--r-- | pages/friends/index.php | 37 | ||||
| -rw-r--r-- | pages/friends/of.php | 37 | ||||
| -rw-r--r-- | pages/friends/pickercallback.php | 60 |
9 files changed, 148 insertions, 166 deletions
diff --git a/pages/friends/add.php b/pages/friends/add.php deleted file mode 100644 index 0adbd7a63..000000000 --- a/pages/friends/add.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php -/** - * Elgg add a collection of friends - * - * @package Elgg - * @subpackage Core - * @author Curverider Ltd - * @link http://elgg.org/ - */ - -// You need to be logged in for this one -gatekeeper(); - -$title = elgg_echo('friends:collections:add'); - -$content = elgg_view_title($title); - -$content .= elgg_view('friends/forms/edit', array( - 'friends' => get_user_friends(get_loggedin_userid(), "", 9999) - ) -); - -$body = elgg_view_layout('one_column_with_sidebar', $content); - -page_draw(elgg_echo('friends:collections:add'),$body); diff --git a/pages/friends/collections.php b/pages/friends/collections.php deleted file mode 100644 index 25ab98c4c..000000000 --- a/pages/friends/collections.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php -/** - * Elgg collections of friends - * - * @package Elgg - * @subpackage Core - * @author Curverider Ltd - * @link http://elgg.org/ - */ - -// You need to be logged in for this one -gatekeeper(); - -$title = elgg_echo('friends:collections'); - -$content = elgg_view_title($title); - -$content .= elgg_view_access_collections(get_loggedin_userid()); - -$body = elgg_view_layout('one_column_with_sidebar', $content); - -page_draw($title, $body); diff --git a/pages/friends/collections/add.php b/pages/friends/collections/add.php new file mode 100644 index 000000000..60f7586ba --- /dev/null +++ b/pages/friends/collections/add.php @@ -0,0 +1,22 @@ +<?php +/** + * Elgg add a collection of friends + * + * @package Elgg.Core + * @subpackage Social.Collections + */ + +// You need to be logged in for this one +gatekeeper(); + +$title = elgg_echo('friends:collections:add'); + +$content = elgg_view_title($title); + +$content .= elgg_view_form('friends/collections/add', array(), array( + 'friends' => get_user_friends(elgg_get_logged_in_user_guid(), "", 9999), +)); + +$body = elgg_view_layout('one_sidebar', array('content' => $content)); + +echo elgg_view_page(elgg_echo('friends:collections:add'), $body); diff --git a/pages/friends/collections/pickercallback.php b/pages/friends/collections/pickercallback.php new file mode 100644 index 000000000..c6ed61cf0 --- /dev/null +++ b/pages/friends/collections/pickercallback.php @@ -0,0 +1,59 @@ +<?php +/** + * Elgg friends picker callback + * + * @package Elgg.Core + * @subpackage Social.Collections + */ + +// Load Elgg engine +require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php"); + +$site_url = elgg_get_site_url(); + +// Get callback type (list or picker) +$type = get_input('type', 'picker'); + +$collection = (int) get_input('collection', 0); +$members = get_members_of_access_collection($collection, true); +if (!$members) { + $members = array(); +} + +$friendspicker = (int) get_input('friendspicker', 0); + +// Get page owner (bomb out if there isn't one) +$pageowner = elgg_get_page_owner_entity(); +if (!$pageowner) { + forward(); + exit; +} + +// Depending on the view type, launch a different view +switch($type) { + case 'list': + $js_segment = elgg_view('core/friends/tablelistcountupdate', array( + 'friendspicker' => $friendspicker, + 'count' => sizeof($members), + )); + $content = elgg_view('core/friends/tablelist', array( + 'entities' => $members, + 'content' => $js_segment, + )); + break; + default: + $friends = $pageowner->getFriends('', 9999); + + $content = elgg_view('input/friendspicker', array( + 'entities' => $friends, + 'value' => $members, + 'callback' => true, + 'friendspicker' => $friendspicker, + 'collection_id' => $collection, + 'formtarget' => $site_url . 'action/friends/collections/edit', + )); + break; +} + +// Output the content +echo $content;
\ No newline at end of file diff --git a/pages/friends/collections/view.php b/pages/friends/collections/view.php new file mode 100644 index 000000000..0d72fe788 --- /dev/null +++ b/pages/friends/collections/view.php @@ -0,0 +1,21 @@ +<?php +/** + * Elgg collections of friends + * + * @package Elgg.Core + * @subpackage Social.Collections + */ + +$title = elgg_echo('friends:collections'); +elgg_register_title_button('collections', 'add'); + +$content = elgg_view_access_collections(elgg_get_logged_in_user_guid()); + +$body = elgg_view_layout('content', array( + 'filter' => false, + 'content' => $content, + 'title' => $title, + 'context' => 'collections', +)); + +echo elgg_view_page($title, $body); diff --git a/pages/friends/edit.php b/pages/friends/edit.php deleted file mode 100644 index c164a819e..000000000 --- a/pages/friends/edit.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php -/** - * Elgg add a collection of friends - * - * @package Elgg - * @subpackage Core - * @author Curverider Ltd - * @link http://elgg.org/ - */ - -// You need to be logged in for this one -gatekeeper(); - -$title = elgg_echo('friends:collectionedit'); - -$content = elgg_view_title($title); - -//grab the collection id passed to the edit form -$collection_id = get_input('collection'); - -//get the full collection -$collection = get_access_collection($collection_id); - -//get all members of the collection -$collection_members = get_members_of_access_collection($collection_id); - -$content .= elgg_view('friends/forms/edit', array('collection' => $collection, 'collection_members' => $collection_members)); - -$body = elgg_view_layout('one_column_with_sidebar', $content); - -page_draw($title, $body);
\ No newline at end of file diff --git a/pages/friends/index.php b/pages/friends/index.php index b7f0a2a75..63518a413 100644 --- a/pages/friends/index.php +++ b/pages/friends/index.php @@ -2,25 +2,34 @@ /** * Elgg friends page * - * @package Elgg - * @subpackage Core - * @author Curverider Ltd - * @link http://elgg.org/ + * @package Elgg.Core + * @subpackage Social.Friends */ -$owner = page_owner_entity(); +$owner = elgg_get_page_owner_entity(); if (!$owner) { - gatekeeper(); - set_page_owner(get_loggedin_userid()); - $owner = page_owner_entity(); + // unknown user so send away (@todo some sort of 404 error) + forward(); } -$title = sprintf(elgg_echo("friends:owned"), $owner->name); +$title = elgg_echo("friends:owned", array($owner->name)); -$content = elgg_view_title($title); - -$content .= "<div class='members_list'>" . list_entities_from_relationship('friend', $owner->getGUID(), FALSE, 'user', '', 0, 10, FALSE) . "</div>"; +$options = array( + 'relationship' => 'friend', + 'relationship_guid' => $owner->getGUID(), + 'inverse_relationship' => FALSE, + 'type' => 'user', + 'full_view' => FALSE +); +$content = elgg_list_entities_from_relationship($options); +if (!$content) { + $content = elgg_echo('friends:none'); +} -$body = elgg_view_layout('one_column_with_sidebar', $content); +$params = array( + 'content' => $content, + 'title' => $title, +); +$body = elgg_view_layout('one_sidebar', $params); -page_draw($title, $body); +echo elgg_view_page($title, $body); diff --git a/pages/friends/of.php b/pages/friends/of.php index a64b9cb6e..aa9ee8bee 100644 --- a/pages/friends/of.php +++ b/pages/friends/of.php @@ -2,25 +2,34 @@ /** * Elgg friends of page * - * @package Elgg - * @subpackage Core - * @author Curverider Ltd - * @link http://elgg.org/ + * @package Elgg.Core + * @subpackage Social.Friends */ -$owner = page_owner_entity(); +$owner = elgg_get_page_owner_entity(); if (!$owner) { - gatekeeper(); - set_page_owner(get_loggedin_userid()); - $owner = page_owner_entity(); + // unknown user so send away (@todo some sort of 404 error) + forward(); } -$title = sprintf(elgg_echo("friends:of:owned"), $owner->name); +$title = elgg_echo("friends:of:owned", array($owner->name)); -$content = elgg_view_title($title); - -$content .= "<div class='members_list'>" . list_entities_from_relationship('friend', $owner->getGUID(), TRUE, 'user', '', 0, 10, FALSE) . "</div>"; +$options = array( + 'relationship' => 'friend', + 'relationship_guid' => $owner->getGUID(), + 'inverse_relationship' => TRUE, + 'type' => 'user', + 'full_view' => FALSE +); +$content = elgg_list_entities_from_relationship($options); +if (!$content) { + $content = elgg_echo('friends:none'); +} -$body = elgg_view_layout('one_column_with_sidebar', $content); +$params = array( + 'content' => $content, + 'title' => $title, +); +$body = elgg_view_layout('one_sidebar', $params); -page_draw($title, $body); +echo elgg_view_page($title, $body); diff --git a/pages/friends/pickercallback.php b/pages/friends/pickercallback.php deleted file mode 100644 index 006ca20e5..000000000 --- a/pages/friends/pickercallback.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * Elgg friends picker callback - * - * @package Elgg - * @subpackage Core - * @author Curverider Ltd - * @link http://elgg.org/ - */ - -// Load Elgg engine -require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); -global $CONFIG; - -// Get callback type (list or picker) -$type = get_input('type','picker'); - -// Get list of members if applicable -/*$members = get_input('members',''); -if (!empty($members)) { - $members = explode(',',$members); -} else { - $members = array(); -}*/ -$collection = (int) get_input('collection',0); -$members = get_members_of_access_collection($collection, true); -if (!$members) { - $members = array(); -} - -$friendspicker = (int) get_input('friendspicker',0); - -// Get page owner (bomb out if there isn't one) -$pageowner = page_owner_entity(); -if (!$pageowner) { - forward(); - exit; -} - -// Depending on the view type, launch a different view -switch($type) { - case 'list': - $js_segment = elgg_view('friends/tablelistcountupdate',array('friendspicker' => $friendspicker, 'count' => sizeof($members))); - $content = elgg_view('friends/tablelist',array('entities' => $members, 'content' => $js_segment)); - break; - default: - $friends = $pageowner->getFriends('',9999); - $content = elgg_view('friends/picker',array( - 'entities' => $friends, - 'value' => $members, - 'callback' => true, - 'friendspicker' => $friendspicker, - 'formcontents' => elgg_view('friends/forms/collectionfields',array('collection' => get_access_collection($collection))), - 'formtarget' => $CONFIG->wwwroot . 'action/friends/editcollection', - )); - break; -} - -// Output the content -echo $content;
\ No newline at end of file |
