From 402134632f0d60e9644d0121c2a84db4a4c1a169 Mon Sep 17 00:00:00 2001 From: cash Date: Thu, 13 May 2010 01:11:33 +0000 Subject: merged in notifications plugin cleanup from 1.7 branch: [5962], [5978] - [5980], [6000] git-svn-id: http://code.elgg.org/elgg/trunk@6020 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/notifications/actions/groupsave.php | 73 +++++----- mod/notifications/actions/save.php | 70 +++++---- mod/notifications/groups.php | 78 +++++----- mod/notifications/index.php | 73 +++++----- mod/notifications/languages/en.php | 52 ++++--- mod/notifications/start.php | 112 ++++++++------ .../notifications/subscriptions/collections.php | 161 +++++++++++---------- .../default/notifications/subscriptions/form.php | 45 +++--- .../notifications/subscriptions/groupsform.php | 145 ++++++++++--------- .../notifications/subscriptions/jsfuncs.php | 10 +- .../notifications/subscriptions/personal.php | 84 +++++------ 11 files changed, 471 insertions(+), 432 deletions(-) (limited to 'mod/notifications') diff --git a/mod/notifications/actions/groupsave.php b/mod/notifications/actions/groupsave.php index ca250c7fd..84154930e 100644 --- a/mod/notifications/actions/groupsave.php +++ b/mod/notifications/actions/groupsave.php @@ -1,44 +1,41 @@ 'member', 'relationship_guid' => $_SESSION['user']->guid, 'types' => 'group', 'limit' => 9999))) { - foreach($groupmemberships as $groupmembership) - $groups[] = $groupmembership->guid; - } - - foreach($NOTIFICATION_HANDLERS as $method => $foo) { - $subscriptions[$method] = get_input($method.'subscriptions'); - $personal[$method] = get_input($method.'personal'); - $collections[$method] = get_input($method.'collections'); - if (!empty($groups)) - foreach($groups as $group) - if (in_array($group,$subscriptions[$method])) { - add_entity_relationship($SESSION['user']->guid,'notify'.$method,$group); - } else { - remove_entity_relationship($SESSION['user']->guid,'notify'.$method,$group); - } +// Get group memberships and condense them down to an array of guids +$groups = array(); +if ($groupmemberships = elgg_get_entities_from_relationship(array('relationship' => 'member', 'relationship_guid' => get_loggedin_userid(), 'types' => 'group', 'limit' => 9999))) { + foreach($groupmemberships as $groupmembership) { + $groups[] = $groupmembership->guid; + } +} + +foreach($NOTIFICATION_HANDLERS as $method => $foo) { + $subscriptions[$method] = get_input($method.'subscriptions'); + $personal[$method] = get_input($method.'personal'); + $collections[$method] = get_input($method.'collections'); + if (!empty($groups)) { + foreach($groups as $group) { + if (in_array($group,$subscriptions[$method])) { + add_entity_relationship(get_loggedin_userid(), 'notify'.$method, $group); + } else { + remove_entity_relationship(get_loggedin_userid(), 'notify'.$method, $group); + } } - - system_message(elgg_echo('notifications:subscriptions:success')); - - forward($_SERVER['HTTP_REFERER']); + } +} + +system_message(elgg_echo('notifications:subscriptions:success')); -?> \ No newline at end of file +forward($_SERVER['HTTP_REFERER']); diff --git a/mod/notifications/actions/save.php b/mod/notifications/actions/save.php index a4a5903f9..f8b533d23 100644 --- a/mod/notifications/actions/save.php +++ b/mod/notifications/actions/save.php @@ -1,42 +1,38 @@ $foo) { - $subscriptions[$method] = get_input($method.'subscriptions'); - $personal[$method] = get_input($method.'personal'); - $collections[$method] = get_input($method.'collections'); - - $metaname = 'collections_notifications_preferences_' . $method; - $_SESSION['user']->$metaname = $collections[$method]; - set_user_notification_setting($_SESSION['user']->guid, $method, ($personal[$method] == '1') ? true : false); - remove_entity_relationships($SESSION['user']->guid,'notify' . $method, false, 'user'); - } - - // Add new ones - foreach($subscriptions as $key => $subscription) - if (is_array($subscription) && !empty($subscription)) { - foreach($subscription as $subscriptionperson) { - add_entity_relationship($_SESSION['user']->guid, 'notify' . $key, $subscriptionperson); - } +$user = get_loggedin_user(); + +global $NOTIFICATION_HANDLERS; +foreach($NOTIFICATION_HANDLERS as $method => $foo) { + $subscriptions[$method] = get_input($method.'subscriptions'); + $personal[$method] = get_input($method.'personal'); + $collections[$method] = get_input($method.'collections'); + + $metaname = 'collections_notifications_preferences_' . $method; + $user->$metaname = $collections[$method]; + set_user_notification_setting($user->guid, $method, ($personal[$method] == '1') ? true : false); + remove_entity_relationships($user->guid, 'notify' . $method, false, 'user'); +} + +// Add new ones +foreach($subscriptions as $key => $subscription) { + if (is_array($subscription) && !empty($subscription)) { + foreach($subscription as $subscriptionperson) { + add_entity_relationship($user->guid, 'notify' . $key, $subscriptionperson); } - - system_message(elgg_echo('notifications:subscriptions:success')); - - forward($_SERVER['HTTP_REFERER']); + } +} + +system_message(elgg_echo('notifications:subscriptions:success')); -?> \ No newline at end of file +forward($_SERVER['HTTP_REFERER']); diff --git a/mod/notifications/groups.php b/mod/notifications/groups.php index c742f858d..d6de57832 100644 --- a/mod/notifications/groups.php +++ b/mod/notifications/groups.php @@ -1,42 +1,40 @@ 'member', 'relationship_guid' => $_SESSION['user']->guid, 'types' => 'group', 'limit' => 9999)); - - $body = elgg_view('input/form',array( - 'body' => elgg_view('notifications/subscriptions/groupsform',array( - 'groups' => $groupmemberships - )), - 'method' => 'post', - 'action' => $CONFIG->wwwroot . 'action/notificationsettings/groupsave' - )); - - // 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:groups'),$body); - -?> \ No newline at end of file +/** + * Elgg notifications plugin group 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_page_owner(get_loggedin_userid()); + +// Set the context to settings +set_context('settings'); + +// Get the form +$people = array(); + +$groupmemberships = elgg_get_entities_from_relationship(array('relationship' => 'member', 'relationship_guid' => get_loggedin_userid(), 'types' => 'group', 'limit' => 9999)); + +$form_body = elgg_view('notifications/subscriptions/groupsform',array('groups' => $groupmemberships)); +$body = elgg_view('input/form',array( + 'body' => $form_body, + 'method' => 'post', + 'action' => $CONFIG->wwwroot . 'action/notificationsettings/groupsave' +)); + +// Insert it into the correct canvas layout +$body = elgg_view_layout('one_column_with_sidebar', $body); + + +page_draw(elgg_echo('notifications:subscriptions:changesettings:groups'), $body); diff --git a/mod/notifications/index.php b/mod/notifications/index.php index 47e4baad9..93741d76e 100644 --- a/mod/notifications/index.php +++ b/mod/notifications/index.php @@ -1,39 +1,38 @@ '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 +/** + * 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_page_owner(get_loggedin_userid()); + +// Set the context to settings +set_context('settings'); + +// 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))) { + 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); + + +page_draw(elgg_echo('notifications:subscriptions:changesettings'), $body); diff --git a/mod/notifications/languages/en.php b/mod/notifications/languages/en.php index 8573bbb32..a82013d23 100644 --- a/mod/notifications/languages/en.php +++ b/mod/notifications/languages/en.php @@ -1,29 +1,27 @@ 'All friends', - - 'notifications:subscriptions:personal:description' => 'Receive notifications when actions are performed on your content', - 'notifications:subscriptions:personal:title' => 'Personal notifications', - - 'notifications:subscriptions:collections:title' => 'Friends', - 'notifications:subscriptions:collections:description' => 'The following is an automatic collection made up of your friends. To receive updates select below. This will affect the corresponding users in the main notification settings panel at the bottom of the page. ', - 'notifications:subscriptions:collections:edit' => 'To edit your shared access notifications, click here.', - - 'notifications:subscriptions:changesettings' => 'Notifications', - 'notifications:subscriptions:changesettings:groups' => 'Group notifications', - 'notification:method:email' => 'Email', - - 'notifications:subscriptions:title' => 'Notifications per user', - 'notifications:subscriptions:description' => 'To receive notifications from your friends (on an individual basis) when they create new content, find them below and select the notification method you would like to use.', - - 'notifications:subscriptions:groups:description' => 'To receive notifications when new content is added to a group you are a member of, find it below and select the notification method(s) you would like to use.', - - 'notifications:subscriptions:success' => 'Your notifications settings have been saved.', - - ); - - add_translation("en",$english); - -?> \ No newline at end of file +$english = array( + + 'friends:all' => 'All friends', + + 'notifications:subscriptions:personal:description' => 'Receive notifications when actions are performed on your content', + 'notifications:subscriptions:personal:title' => 'Personal notifications', + + 'notifications:subscriptions:collections:title' => 'Friends', + 'notifications:subscriptions:collections:description' => 'The following is an automatic collection made up of your friends. To receive updates select below. This will affect the corresponding users in the main notification settings panel at the bottom of the page. ', + 'notifications:subscriptions:collections:edit' => 'To edit your shared access notifications, click here.', + + 'notifications:subscriptions:changesettings' => 'Notifications', + 'notifications:subscriptions:changesettings:groups' => 'Group notifications', + 'notification:method:email' => 'Email', + + 'notifications:subscriptions:title' => 'Notifications per user', + 'notifications:subscriptions:description' => 'To receive notifications from your friends (on an individual basis) when they create new content, find them below and select the notification method you would like to use.', + + 'notifications:subscriptions:groups:description' => 'To receive notifications when new content is added to a group you are a member of, find it below and select the notification method(s) you would like to use.', + + 'notifications:subscriptions:success' => 'Your notifications settings have been saved.', + +); + + add_translation("en", $english); diff --git a/mod/notifications/start.php b/mod/notifications/start.php index a08fe68f5..838a123fb 100644 --- a/mod/notifications/start.php +++ b/mod/notifications/start.php @@ -1,47 +1,75 @@ wwwroot . "mod/notifications/"); - if (is_plugin_enabled('groups')) - add_submenu_item(elgg_echo('notifications:subscriptions:changesettings:groups'), $CONFIG->wwwroot . "mod/notifications/groups.php"); - } - } - - function notifications_plugin_init() { - elgg_extend_view('css','notifications/css'); - global $CONFIG; - - // Unset the default user settings hook - if (isset($CONFIG->hooks['usersettings:save']['user'])) - foreach($CONFIG->hooks['usersettings:save']['user'] as $key => $function) { - if ($function == 'notification_user_settings_save') - unset($CONFIG->hooks['usersettings:save']['user'][$key]); - } +/** + * Elgg notifications plugin + * + * @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/ + */ + + +function notifications_plugin_init() { + global $CONFIG; + + elgg_extend_view('css','notifications/css'); + + register_page_handler('notifications', 'notifications_page_handler'); + + register_elgg_event_handler('pagesetup', 'system', 'notifications_plugin_pagesetup'); + + // Unset the default notification settings + unregister_plugin_hook('usersettings:save', 'user', 'notification_user_settings_save'); + + // must wait until elgg_unextend_view() is merged in from 1.7 branch - if still needed + //elgg_unextend_view('usersettings/user', 'notifications/settings/usersettings'); +} + +/** + * Route page requests + * + * @param array $page Array of url parameters + */ +function notifications_page_handler($page) { + global $CONFIG; + + // default to personal notifications + if (!isset($page[0])) { + $page[0] = 'personal'; + } + + switch ($page[0]) { + case 'group': + require $CONFIG->pluginspath . "notifications/groups.php"; + break; + case 'personal': + default: + require $CONFIG->pluginspath . "notifications/index.php"; + break; + } + + return TRUE; +} + +/** + * Notification settings page setup function + * + */ +function notifications_plugin_pagesetup() { + global $CONFIG; + if (get_context() == 'settings') { + add_submenu_item(elgg_echo('notifications:subscriptions:changesettings'), $CONFIG->wwwroot . "pg/notifications/personal"); + if (is_plugin_enabled('groups')) { + add_submenu_item(elgg_echo('notifications:subscriptions:changesettings:groups'), $CONFIG->wwwroot . "pg/notifications/group"); } + } +} + - register_elgg_event_handler('pagesetup','system','notifications_plugin_pagesetup',1000); - register_elgg_event_handler('init','system','notifications_plugin_init',1000); +register_elgg_event_handler('init', 'system', 'notifications_plugin_init', 1000); - // Register action - global $CONFIG; - register_action("notificationsettings/save",false,$CONFIG->pluginspath . "notifications/actions/save.php"); - register_action("notificationsettings/groupsave",false,$CONFIG->pluginspath . "notifications/actions/groupsave.php"); - -?> \ No newline at end of file +// Register action +register_action("notificationsettings/save", FALSE, $CONFIG->pluginspath . "notifications/actions/save.php"); +register_action("notificationsettings/groupsave", FALSE, $CONFIG->pluginspath . "notifications/actions/groupsave.php"); diff --git a/mod/notifications/views/default/notifications/subscriptions/collections.php b/mod/notifications/views/default/notifications/subscriptions/collections.php index 87906bf76..d89dddb7b 100644 --- a/mod/notifications/views/default/notifications/subscriptions/collections.php +++ b/mod/notifications/views/default/notifications/subscriptions/collections.php @@ -5,10 +5,10 @@ for ( var i in members ) { var checked = $('#' + method + 'collections' + id).children("INPUT[type='checkbox']").attr('checked'); if ($("#"+method+members[i]).children("INPUT[type='checkbox']").attr('checked') != checked) { - $("#"+method+members[i]).children("INPUT[type='checkbox']").attr('checked', checked); - functioncall = 'adjust' + method + '_alt("'+method+members[i]+'");'; - eval(functioncall); - } + $("#"+method+members[i]).children("INPUT[type='checkbox']").attr('checked', checked); + functioncall = 'adjust' + method + '_alt("'+method+members[i]+'");'; + eval(functioncall); + } } } @@ -21,121 +21,130 @@

- - + + $foo) { - if ($i > 0) + if ($i > 0) { echo ""; + } ?> - - + + guid,'',9999,0)) { - foreach($friends as $friend) - $members[] = $friend->guid; + $members = array(); + if ($friends = get_user_friends($vars['user']->guid, '', 9999, 0)) { + foreach($friends as $friend) { + $members[] = $friend->guid; } - $memberno = sizeof($members); - $members = implode(',',$members); + } + $memberno = sizeof($members); + $members = implode(',',$members); ?> - - + + $foo) { - $metaname = 'collections_notifications_preferences_' . $method; - if ($collections_preferences = $vars['user']->$metaname) { - if (!empty($collections_preferences) && !is_array($collections_preferences)) - $collections_preferences = array($collections_preferences); - if (is_array($collections_preferences)) + $fields = ''; + $i = 0; + foreach($NOTIFICATION_HANDLERS as $method => $foo) { + $metaname = 'collections_notifications_preferences_' . $method; + if ($collections_preferences = $vars['user']->$metaname) { + if (!empty($collections_preferences) && !is_array($collections_preferences)) { + $collections_preferences = array($collections_preferences); + } + if (is_array($collections_preferences)) { if (in_array(-1,$collections_preferences)) { $collectionschecked[$method] = 'checked="checked"'; } else { $collectionschecked[$method] = ''; } } - if ($i > 0) $fields .= ""; - $fields .= <<< END - -END; - $i++; } - echo $fields; + if ($i > 0) { + $fields .= ""; + } + $fields .= <<< END + +END; + $i++; + } + echo $fields; ?> - - + + guid)) { - foreach($collections as $collection) { - $members = get_members_of_access_collection($collection->id, true); - $memberno = sizeof($members); - $members = implode(',',$members); + foreach($collections as $collection) { + $members = get_members_of_access_collection($collection->id, true); + $memberno = sizeof($members); + $members = implode(',', $members); ?> - - - + + + $foo) { - $metaname = 'collections_notifications_preferences_' . $method; - if ($collections_preferences = $vars['user']->$metaname) { - if (!empty($collections_preferences) && !is_array($collections_preferences)) - $collections_preferences = array($collections_preferences); - if (is_array($collections_preferences)) - if (in_array($collection->id,$collections_preferences)) { - $collectionschecked[$method] = 'checked="checked"'; - } else { - $collectionschecked[$method] = ''; + $fields = ''; + $i = 0; + foreach($NOTIFICATION_HANDLERS as $method => $foo) { + $metaname = 'collections_notifications_preferences_' . $method; + if ($collections_preferences = $vars['user']->$metaname) { + if (!empty($collections_preferences) && !is_array($collections_preferences)) { + $collections_preferences = array($collections_preferences); + } + if (is_array($collections_preferences)) { + if (in_array($collection->id,$collections_preferences)) { + $collectionschecked[$method] = 'checked="checked"'; + } else { + $collectionschecked[$method] = ''; + } + } } - } - if ($i > 0) $fields .= ""; - $fields .= <<< END - + if ($i > 0) { + $fields .= ""; + } + $fields .= <<< END + END; - $i++; - } - echo $fields; + $i++; + } + echo $fields; ?> - - - + + + diff --git a/mod/notifications/views/default/notifications/subscriptions/form.php b/mod/notifications/views/default/notifications/subscriptions/form.php index 8ad0110bf..d4f243e20 100644 --- a/mod/notifications/views/default/notifications/subscriptions/form.php +++ b/mod/notifications/views/default/notifications/subscriptions/form.php @@ -1,33 +1,34 @@
elgg_view('notifications/subscriptions/personal') . - elgg_view('notifications/subscriptions/collections') . - elgg_view('notifications/subscriptions/forminternals'), - 'method' => 'post', - 'action' => $vars['url'] . 'action/notificationsettings/save', - )); + +echo elgg_view('input/form',array( + 'body' => elgg_view('notifications/subscriptions/personal') . + elgg_view('notifications/subscriptions/collections') . + elgg_view('notifications/subscriptions/forminternals'), + 'method' => 'post', + 'action' => $vars['url'] . 'action/notificationsettings/save', + )); ?>
diff --git a/mod/notifications/views/default/notifications/subscriptions/groupsform.php b/mod/notifications/views/default/notifications/subscriptions/groupsform.php index fa002b9da..edb9c587c 100644 --- a/mod/notifications/views/default/notifications/subscriptions/groupsform.php +++ b/mod/notifications/views/default/notifications/subscriptions/groupsform.php @@ -1,95 +1,106 @@ $foo) { - $subsbig[$method] = elgg_get_entities_from_relationship(array('relationship' => 'notify' . $method, 'relationship_guid' => $vars['user']->guid, 'types' => 'group', 'limit' => 99999)); - $tmparray = array(); - if ($subsbig[$method]) { - foreach($subsbig[$method] as $tmpent) { - $tmparray[] = $tmpent->guid; - } +global $NOTIFICATION_HANDLERS; +foreach($NOTIFICATION_HANDLERS as $method => $foo) { + $subsbig[$method] = elgg_get_entities_from_relationship(array('relationship' => 'notify' . $method, 'relationship_guid' => $vars['user']->guid, 'types' => 'group', 'limit' => 99999)); + $tmparray = array(); + if ($subsbig[$method]) { + foreach($subsbig[$method] as $tmpent) { + $tmparray[] = $tmpent->guid; } - $subsbig[$method] = $tmparray; } + $subsbig[$method] = $tmparray; +} + +echo elgg_view_title(elgg_echo('notifications:subscriptions:changesettings:groups')); +?> -echo elgg_view_title(elgg_echo('notifications:subscriptions:changesettings:groups')); ?>
+ + + +

- -

- -

+ echo elgg_echo('notifications:subscriptions:groups:description'); + + ?> +

-
 
     
 
-

- () -

-
+

+ () +

+
  - -   + +  
 
-

- name; ?> () -

- -
+

+ name; ?> () +

+
  - -   + +  
 
- - +
 
+ + $foo) { - if ($i > 0) + if ($i > 0) { echo ""; + } ?> - + - - - $foo) { - if (in_array($group->guid,$subsbig[$method])) { - $checked[$method] = 'checked="checked"'; - } else { - $checked[$method] = ''; - } - if ($i > 0) $fields .= ""; - $fields .= <<< END - + + + $foo) { + if (in_array($group->guid,$subsbig[$method])) { + $checked[$method] = 'checked="checked"'; + } else { + $checked[$method] = ''; + } + if ($i > 0) { + $fields .= ""; + } + $fields .= <<< END + END; - $i++; - } - + $i++; + } + ?> - - + + - - + + -
     
  - -  
  + +
-

- name; ?> -

-
+

+ name; ?> +

+
 
 
+ - - - \ No newline at end of file + + diff --git a/mod/notifications/views/default/notifications/subscriptions/jsfuncs.php b/mod/notifications/views/default/notifications/subscriptions/jsfuncs.php index da1598dae..d94edf9ef 100644 --- a/mod/notifications/views/default/notifications/subscriptions/jsfuncs.php +++ b/mod/notifications/views/default/notifications/subscriptions/jsfuncs.php @@ -1,6 +1,6 @@ @@ -8,14 +8,14 @@ $(document).ready(function () { $foo) { +foreach($NOTIFICATION_HANDLERS as $method => $foo) { ?> $('input[type=checkbox]:checked').parent("a.toggleOff").each(function(){ $(this).removeClass('toggleOff').addClass('toggleOn'); }); }); @@ -23,7 +23,7 @@ $(document).ready(function () { clickflag = 0; $foo) { +foreach($NOTIFICATION_HANDLERS as $method => $foo) { ?> function adjust(linkId) { var obj = $(this).prev("a"); @@ -48,7 +48,7 @@ function adjust_alt(linkId) { return false; } \ No newline at end of file diff --git a/mod/notifications/views/default/notifications/subscriptions/personal.php b/mod/notifications/views/default/notifications/subscriptions/personal.php index d8ce0e97e..e70207aa3 100644 --- a/mod/notifications/views/default/notifications/subscriptions/personal.php +++ b/mod/notifications/views/default/notifications/subscriptions/personal.php @@ -1,6 +1,6 @@
@@ -10,54 +10,56 @@
- - + + $foo) { - if ($i > 0) - echo ""; +$i = 0; +foreach($NOTIFICATION_HANDLERS as $method => $foo) { + if ($i > 0) { + echo ""; + } ?> - + - - - - - + + + + + $foo) { - if ($notification_settings = get_user_notification_settings($vars['user']->guid)) { - if ($notification_settings->$method) { - $personalchecked[$method] = 'checked="checked"'; - } else { - $personalchecked[$method] = ''; - } - } - if ($i > 0) $fields .= ""; - $fields .= <<< END - -END; - $i++; +$fields = ''; +$i = 0; +foreach($NOTIFICATION_HANDLERS as $method => $foo) { + if ($notification_settings = get_user_notification_settings($vars['user']->guid)) { + if ($notification_settings->$method) { + $personalchecked[$method] = 'checked="checked"'; + } else { + $personalchecked[$method] = ''; } - echo $fields; + } + if ($i > 0) { + $fields .= ""; + } + $fields .= <<< END + +END; + $i++; +} +echo $fields; ?> - - - + + +
 
      
-

- -

- -
 
+

+ +

+
  - -   + +  
 
\ No newline at end of file -- cgit v1.2.3