From: cash Date: Sat, 26 Feb 2011 14:23:32 +0000 (+0000) Subject: Refs #2982 adding and deleting friend collections works - editing does not X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=c1411ffc81908882edaace315c46e500419d2aba;p=lorea%2Felgg.git Refs #2982 adding and deleting friend collections works - editing does not git-svn-id: http://code.elgg.org/elgg/trunk@8490 36083f99-b078-4883-b0ff-0f9b5a30f544 --- diff --git a/actions/friends/addcollection.php b/actions/friends/collections/add.php similarity index 100% rename from actions/friends/addcollection.php rename to actions/friends/collections/add.php diff --git a/actions/friends/deletecollection.php b/actions/friends/collections/delete.php similarity index 100% rename from actions/friends/deletecollection.php rename to actions/friends/collections/delete.php diff --git a/actions/friends/editcollection.php b/actions/friends/collections/edit.php similarity index 100% rename from actions/friends/editcollection.php rename to actions/friends/collections/edit.php diff --git a/engine/lib/users.php b/engine/lib/users.php index fd68ef276..1b9a6128b 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1145,18 +1145,20 @@ function friends_of_page_handler($page_elements) { */ function collections_page_handler($page_elements) { elgg_set_context('friends'); + $base = elgg_get_config('path'); if (isset($page_elements[0])) { if ($page_elements[0] == "add") { set_page_owner(elgg_get_logged_in_user_guid()); collections_submenu_items(); - require_once(dirname(dirname(dirname(__FILE__))) . "/pages/friends/add.php"); + require_once "{$base}pages/friends/collections/add.php"; } else { - if ($user = get_user_by_username($page_elements[0])) { + $user = get_user_by_username($page_elements[0]); + if ($user) { set_page_owner($user->getGUID()); if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) { collections_submenu_items(); } - require_once(dirname(dirname(dirname(__FILE__))) . "/pages/friends/collections.php"); + require_once "{$base}pages/friends/collections/view.php"; } } } @@ -1566,9 +1568,9 @@ function users_init() { elgg_register_action('avatar/crop'); elgg_register_action('profile/edit'); - elgg_register_action('friends/addcollection'); - elgg_register_action('friends/deletecollection'); - elgg_register_action('friends/editcollection'); + elgg_register_action('friends/collections/add'); + elgg_register_action('friends/collections/delete'); + elgg_register_action('friends/collections/edit'); elgg_register_plugin_hook_handler('entity:icon:url', 'user', 'user_avatar_hook'); diff --git a/pages/friends/add.php b/pages/friends/collections/add.php similarity index 70% rename from pages/friends/add.php rename to pages/friends/collections/add.php index 96da26ae1..51425db37 100644 --- a/pages/friends/add.php +++ b/pages/friends/collections/add.php @@ -13,10 +13,13 @@ $title = elgg_echo('friends:collections:add'); $content = elgg_view_title($title); -$content .= elgg_view_form('friends/edit', array(), array( +$form_body = elgg_view('forms/friends/collections/edit', array( 'friends' => get_user_friends(elgg_get_logged_in_user_guid(), "", 9999) - ) -); +)); +$content .= elgg_view('input/form', array( + 'action' => 'action/friends/collections/add', + 'body' => $form_body, +)); $body = elgg_view_layout('one_sidebar', array('content' => $content)); diff --git a/pages/friends/pickercallback.php b/pages/friends/collections/pickercallback.php similarity index 52% rename from pages/friends/pickercallback.php rename to pages/friends/collections/pickercallback.php index f613f1ae1..8da44d8c0 100644 --- a/pages/friends/pickercallback.php +++ b/pages/friends/collections/pickercallback.php @@ -7,7 +7,7 @@ */ // Load Elgg engine -require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); +require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php"); $site_url = elgg_get_site_url(); @@ -32,22 +32,38 @@ if (!$pageowner) { // 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)); + $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); + $params = array( + 'collection' => get_access_collection($collection), + 'friends' => $friends, + 'friendspicker' => $friendspicker, + ); + $content = elgg_view_form('friends/collections/edit', array(), $params); + /* + $form_body = elgg_view('input/hidden', array( + 'name' => 'collection_id', + 'value' => get_access_collection($collection)->id, + )); $content = elgg_view('input/friendspicker', array( 'entities' => $friends, 'value' => $members, 'callback' => true, 'friendspicker' => $friendspicker, - 'formcontents' => elgg_view('forms/friends/collectionfields', - array('collection' => get_access_collection($collection))), - 'formtarget' => $site_url . 'action/friends/editcollection', + 'formcontents' => $form_body, + 'formtarget' => $site_url . 'action/friends/collections/edit', )); + * + */ break; } diff --git a/pages/friends/collections.php b/pages/friends/collections/view.php similarity index 100% rename from pages/friends/collections.php rename to pages/friends/collections/view.php diff --git a/pages/friends/edit.php b/pages/friends/edit.php deleted file mode 100644 index 665929319..000000000 --- a/pages/friends/edit.php +++ /dev/null @@ -1,30 +0,0 @@ - $collection, - 'collection_members' => $collection_members)); - -$body = elgg_view_layout('one_sidebar', array('content' => $content)); - -echo elgg_view_page($title, $body); \ No newline at end of file diff --git a/views/default/core/friends/collection.php b/views/default/core/friends/collection.php index 89c44a2b3..95f5944e7 100644 --- a/views/default/core/friends/collection.php +++ b/views/default/core/friends/collection.php @@ -1,13 +1,10 @@

"; if ($coll->owner_guid == elgg_get_logged_in_user_guid()) { echo "
"; echo elgg_view('output/confirmlink', array( - 'href' => 'action/friends/deletecollection?collection=' . $coll->id, - 'class' => 'delete_collection' + 'href' => 'action/friends/collections/delete?collection=' . $coll->id, + 'class' => 'delete_collection', + 'text' => elgg_view_icon('delete'), + 'text_encode' => false, )); echo "
"; } @@ -34,16 +33,27 @@ echo $coll->name; echo " ({$count})

"; // individual collection panels -if ($friends = $vars['collection']->entities) { - $content = elgg_view('core/friends/collectiontabs', array('owner' => elgg_get_logged_in_user_entity(), 'collection' => $vars['collection'], 'friendspicker' => $vars['friendspicker'])); +$friends = $vars['collection']->entities; +if ($friends) { + $content = elgg_view('core/friends/collectiontabs', array( + 'owner' => elgg_get_logged_in_user_entity(), + 'collection' => $vars['collection'], + 'friendspicker' => $vars['friendspicker'], + )); - echo elgg_view('input/friendspicker', array('entities' => $friends, 'value' => $members, 'content' => $content, 'replacement' => '', 'friendspicker' => $vars['friendspicker'])); - ?> + echo elgg_view('input/friendspicker', array( + 'entities' => $friends, + 'value' => $members, + 'content' => $content, + 'replacement' => '', + 'friendspicker' => $vars['friendspicker'], + )); +?> diff --git a/views/default/core/friends/collections.php b/views/default/core/friends/collections.php index 5a052b121..5c1c824e7 100644 --- a/views/default/core/friends/collections.php +++ b/views/default/core/friends/collections.php @@ -9,17 +9,16 @@ * @uses $vars['collections'] The array of friends collections */ -if (!isset($friendspicker)) { - $friendspicker = 0; -} - - if (is_array($vars['collections']) && sizeof($vars['collections'])) { echo ""; diff --git a/views/default/core/friends/collectiontabs.php b/views/default/core/friends/collectiontabs.php index 168d2cdfb..2fafe6a8c 100644 --- a/views/default/core/friends/collectiontabs.php +++ b/views/default/core/friends/collectiontabs.php @@ -16,38 +16,43 @@ $ownerid = $vars['owner']->getGUID(); ?> -
-
+