diff options
author | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-12-18 17:47:50 +0000 |
---|---|---|
committer | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-12-18 17:47:50 +0000 |
commit | 569f19d8ff89539eb8d38b1ca1b07a2baa41852c (patch) | |
tree | 0ace0c2792db822cd0db5eae672f1f472a29439a | |
parent | 8ec093ecc1bf28c09f5d2dbe3c7bc8e6a2485ac6 (diff) | |
download | elgg-569f19d8ff89539eb8d38b1ca1b07a2baa41852c.tar.gz elgg-569f19d8ff89539eb8d38b1ca1b07a2baa41852c.tar.bz2 |
half way through converting submenu to new menu code - pages and groups are the two major users left
git-svn-id: http://code.elgg.org/elgg/trunk@7669 36083f99-b078-4883-b0ff-0f9b5a30f544
-rw-r--r-- | engine/classes/ElggMenuItem.php | 3 | ||||
-rw-r--r-- | engine/lib/users.php | 32 | ||||
-rw-r--r-- | engine/lib/usersettings.php | 31 | ||||
-rw-r--r-- | mod/invitefriends/index.php | 19 | ||||
-rw-r--r-- | mod/invitefriends/start.php | 46 | ||||
-rw-r--r-- | mod/invitefriends/views/default/invitefriends/formitems.php | 2 | ||||
-rw-r--r-- | mod/notifications/groups.php | 13 | ||||
-rw-r--r-- | mod/notifications/index.php | 13 | ||||
-rw-r--r-- | mod/notifications/start.php | 20 | ||||
-rw-r--r-- | mod/notifications/views/default/notifications/subscriptions/form.php | 8 | ||||
-rw-r--r-- | mod/notifications/views/default/notifications/subscriptions/groupsform.php | 1 | ||||
-rw-r--r-- | views/default/css/elements/navigation.php | 18 | ||||
-rw-r--r-- | views/default/layout/elements/sidebar.php | 1 | ||||
-rw-r--r-- | views/default/navigation/menu/default.php | 9 |
14 files changed, 136 insertions, 80 deletions
diff --git a/engine/classes/ElggMenuItem.php b/engine/classes/ElggMenuItem.php index af7bbc9c2..f2eb1534f 100644 --- a/engine/classes/ElggMenuItem.php +++ b/engine/classes/ElggMenuItem.php @@ -87,6 +87,9 @@ class ElggMenuItem { } $item = new ElggMenuItem($options['name'], $options['title'], $options['url']); + unset($options['name']); + unset($options['title']); + unset($options['url']); // special catch in case someone uses context rather than contexts if (isset($options['context'])) { diff --git a/engine/lib/users.php b/engine/lib/users.php index d22e42ebf..d69461c2b 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1336,6 +1336,7 @@ function friends_page_handler($page_elements) { * @return void */ function friends_of_page_handler($page_elements) { + elgg_set_context('friends'); if (isset($page_elements[0]) && $user = get_user_by_username($page_elements[0])) { set_page_owner($user->getGUID()); } @@ -1490,22 +1491,23 @@ function elgg_members_page_handler($page) { * @return void */ function users_pagesetup() { - // Load config - global $CONFIG; - - //add submenu options - if (elgg_get_context() == "friends" || elgg_get_context() == "friendsof") { - // || elgg_get_context() == "collections") { - disabled as we no longer use collections - - add_submenu_item(elgg_echo('friends'), $CONFIG->wwwroot . "pg/friends/" - . elgg_get_page_owner()->username); - add_submenu_item(elgg_echo('friends:of'), $CONFIG->wwwroot . "pg/friendsof/" - . elgg_get_page_owner()->username); - - if (is_plugin_enabled('members')) { - add_submenu_item(elgg_echo('members:browse'), $CONFIG->wwwroot . "mod/members/index.php"); - } + if (elgg_get_page_owner_guid()) { + $params = array( + 'name' => 'friends', + 'title' => elgg_echo('friends'), + 'url' => 'pg/friends/' . elgg_get_page_owner()->username, + 'contexts' => array('friends') + ); + elgg_register_menu_item('page', $params); + + $params = array( + 'name' => 'friendsof', + 'title' => elgg_echo('friends:of'), + 'url' => 'pg/friendsof/' . elgg_get_page_owner()->username, + 'contexts' => array('friends') + ); + elgg_register_menu_item('page', $params); } } diff --git a/engine/lib/usersettings.php b/engine/lib/usersettings.php index 7192ea0fa..f6bbaea06 100644 --- a/engine/lib/usersettings.php +++ b/engine/lib/usersettings.php @@ -42,20 +42,27 @@ $priority = 500) { * @return void */ function usersettings_pagesetup() { - // Get config - global $CONFIG; - - // Menu options - if (elgg_get_context() == "settings") { + if (elgg_get_context() == "settings" && get_loggedin_userid()) { $user = get_loggedin_user(); - add_submenu_item(elgg_echo('usersettings:user:opt:linktext'), - $CONFIG->wwwroot . "pg/settings/user/{$user->username}/"); - - add_submenu_item(elgg_echo('usersettings:plugins:opt:linktext'), - $CONFIG->wwwroot . "pg/settings/plugins/{$user->username}/"); - add_submenu_item(elgg_echo('usersettings:statistics:opt:linktext'), - $CONFIG->wwwroot . "pg/settings/statistics/{$user->username}/"); + $params = array( + 'name' => '1_account', + 'title' => elgg_echo('usersettings:user:opt:linktext'), + 'url' => "pg/settings/user/{$user->username}", + ); + elgg_register_menu_item('page', $params); + $params = array( + 'name' => '1_plugins', + 'title' => elgg_echo('usersettings:plugins:opt:linktext'), + 'url' => "pg/settings/plugins/{$user->username}", + ); + elgg_register_menu_item('page', $params); + $params = array( + 'name' => '1_statistics', + 'title' => elgg_echo('usersettings:statistics:opt:linktext'), + 'url' => "pg/settings/statistics/{$user->username}", + ); + elgg_register_menu_item('page', $params); } } diff --git a/mod/invitefriends/index.php b/mod/invitefriends/index.php deleted file mode 100644 index 7b4c34562..000000000 --- a/mod/invitefriends/index.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php - -/** - * Elgg invite page - * - * @package ElggInviteFriends - */ - -require_once(dirname(dirname(dirname(__FILE__))) . '/engine/start.php'); - -gatekeeper(); - -elgg_set_context('friends'); -set_page_owner(get_loggedin_userid()); - -$body = elgg_view('invitefriends/form'); -$body = elgg_view_layout('one_column_with_sidebar', array('content' => $body)); - -echo elgg_view_page(elgg_echo('friends:invite'), $body); diff --git a/mod/invitefriends/start.php b/mod/invitefriends/start.php index abba12f20..bd470f144 100644 --- a/mod/invitefriends/start.php +++ b/mod/invitefriends/start.php @@ -5,16 +5,42 @@ * @package ElggInviteFriends */ +elgg_register_event_handler('init', 'system', 'invitefriends_init'); + +function invitefriends_init() { + register_page_handler('invite', 'invitefriends_page_handler'); + + elgg_register_action('invitefriends/invite', elgg_get_plugin_path() . 'invitefriends/actions/invite.php'); + + $params = array( + 'name' => 'invite', + 'title' => elgg_echo('friends:invite'), + 'url' => "pg/invite/", + 'contexts' => array('friends'), + ); + elgg_register_menu_item('page', $params); +} + /** - * Add menu item for invite friends + * Page handler function + * + * @param array $page Page URL segments */ -function invitefriends_pagesetup() { - if (elgg_get_context() == "friends" || - elgg_get_context() == "friendsof" || - elgg_get_context() == "collections") { - add_submenu_item(elgg_echo('friends:invite'), "mod/invitefriends/",'invite'); - } -} +function invitefriends_page_handler($page) { + gatekeeper(); -elgg_register_action('invitefriends/invite', elgg_get_plugin_path() . 'invitefriends/actions/invite.php'); -elgg_register_event_handler('pagesetup', 'system', 'invitefriends_pagesetup'); + elgg_set_context('friends'); + set_page_owner(get_loggedin_userid()); + + $title = elgg_echo('friends:invite'); + + $body = elgg_view('invitefriends/form'); + + $params = array( + 'content' => $body, + 'title' => $title, + ); + $body = elgg_view_layout('one_sidebar', $params); + + echo elgg_view_page($title, $body); +} diff --git a/mod/invitefriends/views/default/invitefriends/formitems.php b/mod/invitefriends/views/default/invitefriends/formitems.php index dceac6bbc..6d381a8ed 100644 --- a/mod/invitefriends/views/default/invitefriends/formitems.php +++ b/mod/invitefriends/views/default/invitefriends/formitems.php @@ -7,13 +7,11 @@ */ if ($CONFIG->allow_registration) { - $invite = elgg_echo('friends:invite'); $introduction = elgg_echo('invitefriends:introduction'); $message = elgg_echo('invitefriends:message'); $default = elgg_echo('invitefriends:message:default', array($CONFIG->site->name)); echo <<< HTML -<h2>$invite</h2> <p class="margin-top"> <label> $introduction diff --git a/mod/notifications/groups.php b/mod/notifications/groups.php index 10e320032..c4f59c049 100644 --- a/mod/notifications/groups.php +++ b/mod/notifications/groups.php @@ -1,5 +1,4 @@ <?php - /** * Elgg notifications plugin group index * @@ -17,6 +16,8 @@ set_page_owner(get_loggedin_userid()); // Set the context to settings elgg_set_context('settings'); +$title = elgg_echo('notifications:subscriptions:changesettings:groups'); + // Get the form $people = array(); @@ -29,8 +30,10 @@ $body = elgg_view('input/form',array( 'action' => 'action/notificationsettings/groupsave' )); -// Insert it into the correct canvas layout -$body = elgg_view_layout('one_column_with_sidebar', array('content' => $body)); - +$params = array( + 'content' => $body, + 'title' => $title, +); +$body = elgg_view_layout('one_sidebar', $params); -echo elgg_view_page(elgg_echo('notifications:subscriptions:changesettings:groups'), $body); +echo elgg_view_page($title, $body); diff --git a/mod/notifications/index.php b/mod/notifications/index.php index c162c34b3..4536b8788 100644 --- a/mod/notifications/index.php +++ b/mod/notifications/index.php @@ -1,5 +1,4 @@ <?php - /** * Elgg notifications plugin index * @@ -20,6 +19,8 @@ elgg_register_js($js_url, 'friendsPicker'); // Set the context to settings elgg_set_context('settings'); +$title = elgg_echo('notifications:subscriptions:changesettings'); + // Get the form $people = array(); if ($people_ents = elgg_get_entities_from_relationship(array('relationship' => 'notify', 'relationship_guid' => get_loggedin_userid(), 'types' => 'user', 'limit' => 99999))) { @@ -30,8 +31,10 @@ if ($people_ents = elgg_get_entities_from_relationship(array('relationship' => ' $body = elgg_view('notifications/subscriptions/form', array('people' => $people)); -// Insert it into the correct canvas layout -$body = elgg_view_layout('one_column_with_sidebar', array('content' => $body)); - +$params = array( + 'content' => $body, + 'title' => $title, +); +$body = elgg_view_layout('one_sidebar', $params); -echo elgg_view_page(elgg_echo('notifications:subscriptions:changesettings'), $body); +echo elgg_view_page($title, $body); diff --git a/mod/notifications/start.php b/mod/notifications/start.php index 1bb99da35..859f4ac14 100644 --- a/mod/notifications/start.php +++ b/mod/notifications/start.php @@ -60,11 +60,23 @@ function notifications_page_handler($page) { * */ function notifications_plugin_pagesetup() { - global $CONFIG; - if (elgg_get_context() == 'settings') { - add_submenu_item(elgg_echo('notifications:subscriptions:changesettings'), "pg/notifications/personal"); + if (elgg_get_context() == "settings" && get_loggedin_userid()) { + $user = get_loggedin_user(); + + $params = array( + 'name' => '2_a_user_notify', + 'title' => elgg_echo('notifications:subscriptions:changesettings'), + 'url' => "pg/notifications/personal", + ); + elgg_register_menu_item('page', $params); + if (is_plugin_enabled('groups')) { - add_submenu_item(elgg_echo('notifications:subscriptions:changesettings:groups'), "pg/notifications/group"); + $params = array( + 'name' => '2_group_notify', + 'title' => elgg_echo('notifications:subscriptions:changesettings:groups'), + 'url' => "pg/notifications/group", + ); + elgg_register_menu_item('page', $params); } } } diff --git a/mod/notifications/views/default/notifications/subscriptions/form.php b/mod/notifications/views/default/notifications/subscriptions/form.php index 449f908a7..b7a34f98e 100644 --- a/mod/notifications/views/default/notifications/subscriptions/form.php +++ b/mod/notifications/views/default/notifications/subscriptions/form.php @@ -1,14 +1,8 @@ <?php - /** - * Elgg SMS Client - * - * @package ElggSMS + * Elgg personal notifications */ - -// Echo title - echo elgg_view_title(elgg_echo('notifications:subscriptions:changesettings')); echo elgg_view('subscriptions/form/additions',$vars); diff --git a/mod/notifications/views/default/notifications/subscriptions/groupsform.php b/mod/notifications/views/default/notifications/subscriptions/groupsform.php index bf75f5931..b5328e5ab 100644 --- a/mod/notifications/views/default/notifications/subscriptions/groupsform.php +++ b/mod/notifications/views/default/notifications/subscriptions/groupsform.php @@ -17,7 +17,6 @@ foreach($NOTIFICATION_HANDLERS as $method => $foo) { $subsbig[$method] = $tmparray; } -echo elgg_view_title(elgg_echo('notifications:subscriptions:changesettings:groups')); ?> <div class="user-settings margin-top"> diff --git a/views/default/css/elements/navigation.php b/views/default/css/elements/navigation.php index 5ea94798a..f9488c64d 100644 --- a/views/default/css/elements/navigation.php +++ b/views/default/css/elements/navigation.php @@ -210,6 +210,24 @@ /* *************************************** PAGE MENU *************************************** */ +.elgg-sidebar .elgg-menu a { + display: block; + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + background-color: white; + margin: 0 0 3px 0; + padding: 2px 4px 2px 8px; +} +.elgg-sidebar .elgg-menu a:hover { + background-color: #0054A7; + color: white; + text-decoration: none; +} +.elgg-sidebar .elgg-menu .selected a { + background-color: #4690D6; + color: white; +} + .submenu { margin:0; padding:0; diff --git a/views/default/layout/elements/sidebar.php b/views/default/layout/elements/sidebar.php index d1323f2cd..7605c4e70 100644 --- a/views/default/layout/elements/sidebar.php +++ b/views/default/layout/elements/sidebar.php @@ -8,6 +8,7 @@ echo elgg_view('layout/elements/owner_block'); echo elgg_view('navigation/sidebar_menu'); +echo elgg_view_menu('page', array('sort_by' => 'name')); // optional 'sidebar' parameter if (isset($vars['sidebar'])) { diff --git a/views/default/navigation/menu/default.php b/views/default/navigation/menu/default.php new file mode 100644 index 000000000..a63a26771 --- /dev/null +++ b/views/default/navigation/menu/default.php @@ -0,0 +1,9 @@ +<?php + +foreach ($vars['menu'] as $section => $menu_items) { + echo '<ul class="elgg-menu">'; + foreach ($menu_items as $menu_item) { + echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item)); + } + echo '</ul>'; +}
\ No newline at end of file |