aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-12-18 17:47:50 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-12-18 17:47:50 +0000
commit569f19d8ff89539eb8d38b1ca1b07a2baa41852c (patch)
tree0ace0c2792db822cd0db5eae672f1f472a29439a
parent8ec093ecc1bf28c09f5d2dbe3c7bc8e6a2485ac6 (diff)
downloadelgg-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.php3
-rw-r--r--engine/lib/users.php32
-rw-r--r--engine/lib/usersettings.php31
-rw-r--r--mod/invitefriends/index.php19
-rw-r--r--mod/invitefriends/start.php46
-rw-r--r--mod/invitefriends/views/default/invitefriends/formitems.php2
-rw-r--r--mod/notifications/groups.php13
-rw-r--r--mod/notifications/index.php13
-rw-r--r--mod/notifications/start.php20
-rw-r--r--mod/notifications/views/default/notifications/subscriptions/form.php8
-rw-r--r--mod/notifications/views/default/notifications/subscriptions/groupsform.php1
-rw-r--r--views/default/css/elements/navigation.php18
-rw-r--r--views/default/layout/elements/sidebar.php1
-rw-r--r--views/default/navigation/menu/default.php9
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