aboutsummaryrefslogtreecommitdiff
path: root/mod/notifications/index.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/notifications/index.php')
-rw-r--r--mod/notifications/index.php85
1 files changed, 48 insertions, 37 deletions
diff --git a/mod/notifications/index.php b/mod/notifications/index.php
index 47e4baad9..a99622efd 100644
--- a/mod/notifications/index.php
+++ b/mod/notifications/index.php
@@ -1,39 +1,50 @@
<?php
+/**
+ * Elgg notifications plugin index
+ *
+ * @package ElggNotifications
+ *
+ * @uses $user ElggUser
+ */
- /**
- * Elgg notifications plugin index
- *
- * @package ElggNotifications
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider Ltd
- * @copyright Curverider Ltd 2008-2010
- * @link http://elgg.com/
- */
-
- // Load Elgg framework
- require_once(dirname(dirname(dirname(__FILE__))) . '/engine/start.php');
-
- // Ensure only logged-in users can see this page
- gatekeeper();
-
- // Set the context to settings
- set_context('settings');
-
- // Get the form
- global $SESSION;
- $people = array();
- if ($people_ents = elgg_get_entities_from_relationship(array('relationship' => 'notify', 'relationship_guid' => $SESSION['user']->guid, 'types' => 'user', 'limit' => 99999))) {
- foreach($people_ents as $ent)
- $people[] = $ent->guid;
- }
- $body = elgg_view('notifications/subscriptions/form',array(
- 'people' => $people
- ));
-
- // Insert it into the correct canvas layout
- $body = elgg_view_layout('one_column_with_sidebar', $body);
-
- // Draw the page
- page_draw(elgg_echo('notifications:subscriptions:changesettings'),$body);
-
-?> \ No newline at end of file
+if (!isset($user) || !($user instanceof ElggUser)) {
+ $url = 'notifications/personal/' . elgg_get_logged_in_user_entity()->username;
+ forward($url);
+}
+
+elgg_set_page_owner_guid($user->guid);
+
+// Set the context to settings
+elgg_set_context('settings');
+
+$title = elgg_echo('notifications:subscriptions:changesettings');
+
+elgg_push_breadcrumb(elgg_echo('settings'), "settings/user/$user->username");
+elgg_push_breadcrumb($title);
+
+// Get the form
+$people = array();
+if ($people_ents = elgg_get_entities_from_relationship(array(
+ 'relationship' => 'notify',
+ 'relationship_guid' => $user->guid,
+ 'type' => 'user',
+ 'limit' => false,
+ ))) {
+
+ foreach($people_ents as $ent) {
+ $people[] = $ent->guid;
+ }
+}
+
+$body = elgg_view('notifications/subscriptions/form', array(
+ 'people' => $people,
+ 'user' => $user,
+));
+
+$params = array(
+ 'content' => $body,
+ 'title' => $title,
+);
+$body = elgg_view_layout('one_sidebar', $params);
+
+echo elgg_view_page($title, $body);