aboutsummaryrefslogtreecommitdiff
path: root/mod/notifications/views
diff options
context:
space:
mode:
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-03-03 17:53:05 +0000
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-03-03 17:53:05 +0000
commit4766f36a4d74924f21ff329c4318ce4e069ffa04 (patch)
tree969b84632f2a8b0db79788a8a6db8e41d63e5cb4 /mod/notifications/views
parent57a217fd6b708844407486046a1faa23b46cac08 (diff)
downloadelgg-4766f36a4d74924f21ff329c4318ce4e069ffa04.tar.gz
elgg-4766f36a4d74924f21ff329c4318ce4e069ffa04.tar.bz2
Pulled in the interface changes.
git-svn-id: http://code.elgg.org/elgg/trunk@5257 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/notifications/views')
-rw-r--r--mod/notifications/views/default/notifications/css.php78
-rw-r--r--mod/notifications/views/default/notifications/settings/usersettings.php3
-rw-r--r--mod/notifications/views/default/notifications/subscriptions/collections.php141
-rw-r--r--mod/notifications/views/default/notifications/subscriptions/form.php35
-rw-r--r--mod/notifications/views/default/notifications/subscriptions/forminternals.php315
-rw-r--r--mod/notifications/views/default/notifications/subscriptions/groupsform.php99
-rw-r--r--mod/notifications/views/default/notifications/subscriptions/jsfuncs.php54
-rw-r--r--mod/notifications/views/default/notifications/subscriptions/personal.php63
8 files changed, 788 insertions, 0 deletions
diff --git a/mod/notifications/views/default/notifications/css.php b/mod/notifications/views/default/notifications/css.php
new file mode 100644
index 000000000..be1ef922c
--- /dev/null
+++ b/mod/notifications/views/default/notifications/css.php
@@ -0,0 +1,78 @@
+<?php
+
+ /**
+ * Elgg notifications CSS
+ *
+ * @package notifications
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider <info@elgg.com>
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.org/
+ */
+
+?>
+
+#notificationstable td.namefield {
+ width:250px;
+ text-align: left;
+ vertical-align: middle;
+}
+#notificationstable td.namefield p {
+ margin:0;
+ vertical-align: middle;
+ line-height: 1.1em;
+ padding:5px 0 5px 0;
+}
+#notificationstable td.namefield img {
+ padding:6px 10px 6px 3px;
+ float:left;
+}
+#notificationstable td.namefield p.namefieldlink {
+ margin:9px 0 0 0;
+}
+#notificationstable td.emailtogglefield,
+#notificationstable td.smstogglefield {
+ width:50px;
+ text-align: center;
+ vertical-align: middle;
+}
+#notificationstable td.spacercolumn {
+ width:30px;
+}
+#notificationstable td {
+ border-bottom: 1px solid silver;
+}
+#notificationstable td.emailtogglefield input {
+ margin-right:36px;
+ margin-top:5px;
+}
+#notificationstable td.emailtogglefield a {
+ width:46px;
+ height:24px;
+ cursor: pointer;
+ display: block;
+ outline: none;
+}
+#notificationstable td.emailtogglefield a.emailtoggleOff {
+ background: url(<?php echo $vars['url']; ?>mod/notifications/graphics/icon_notifications_email.gif) no-repeat right 2px;
+}
+#notificationstable td.emailtogglefield a.emailtoggleOn {
+ background: url(<?php echo $vars['url']; ?>mod/notifications/graphics/icon_notifications_email.gif) no-repeat right -36px;
+}
+
+.notification_collections,
+.notification_personal {
+ margin-bottom: 25px;
+}
+
+.settings_form .friendsPicker_container h3 {
+ color:#999999;
+ font-size:3em;
+ margin:0 0 20px;
+ text-align:left;
+ background: none;
+ border-bottom: none;
+}
+
+
+
diff --git a/mod/notifications/views/default/notifications/settings/usersettings.php b/mod/notifications/views/default/notifications/settings/usersettings.php
new file mode 100644
index 000000000..15c5adc7f
--- /dev/null
+++ b/mod/notifications/views/default/notifications/settings/usersettings.php
@@ -0,0 +1,3 @@
+<?php
+
+?> \ No newline at end of file
diff --git a/mod/notifications/views/default/notifications/subscriptions/collections.php b/mod/notifications/views/default/notifications/subscriptions/collections.php
new file mode 100644
index 000000000..8fe49e672
--- /dev/null
+++ b/mod/notifications/views/default/notifications/subscriptions/collections.php
@@ -0,0 +1,141 @@
+
+<script type="text/javascript">
+
+ function setCollection(members, method, id) {
+ 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);
+ }
+ }
+ }
+
+</script>
+
+<h3>
+ <?php echo elgg_echo('notifications:subscriptions:collections:title'); ?>
+</h3>
+<div class="notification_personal">
+<p>
+ <?php echo elgg_echo('notifications:subscriptions:collections:description'); ?>
+ <a href="<?php echo $vars['url']; ?>pg/collections/<?php echo $vars['user']->username; ?>"><?php echo elgg_echo('notifications:subscriptions:collections:edit') ?></a>
+</p>
+<table id="notificationstable" cellspacing="0" cellpadding="4" border="1" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+<?php
+ $i = 0;
+ global $NOTIFICATION_HANDLERS;
+ foreach($NOTIFICATION_HANDLERS as $method => $foo) {
+ if ($i > 0)
+ echo "<td class=\"spacercolumn\">&nbsp;</td>";
+?>
+ <td class="<?php echo $method; ?>togglefield"><?php echo elgg_echo('notification:method:'.$method); ?></td>
+<?php
+ $i++;
+ }
+?>
+ <td>&nbsp;</td>
+ </tr>
+<?php
+ $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);
+
+?>
+ <tr>
+ <td class="namefield">
+ <p>
+ <?php echo elgg_echo('friends:all'); ?> (<?php echo $memberno; ?>)
+ </p>
+ </td>
+<?php
+
+ $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 .= "<td class=\"spacercolumn\">&nbsp;</td>";
+ $fields .= <<< END
+ <td class="{$method}togglefield">
+ <a border="0" id="{$method}collections-1" class="{$method}toggleOff" onclick="adjust{$method}_alt('{$method}collections-1'); setCollection([{$members}],'{$method}',-1);">
+ <input type="checkbox" name="{$method}collections[]" id="{$method}checkbox" onclick="adjust{$method}('{$method}collections-1');" value="-1" {$collectionschecked[$method]} /></a></td>
+END;
+ $i++;
+ }
+ echo $fields;
+
+?>
+ <td>&nbsp;</td>
+ </tr>
+<?php
+
+ if ($collections = get_user_access_collections($vars['user']->guid)) {
+ foreach($collections as $collection) {
+ $members = get_members_of_access_collection($collection->id, true);
+ $memberno = sizeof($members);
+ $members = implode(',',$members);
+
+?>
+ <tr>
+ <td class="namefield">
+ <p>
+ <?php echo $collection->name; ?> (<?php echo $memberno; ?>)
+ </p>
+
+ </td>
+
+<?php
+
+ $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 .= "<td class=\"spacercolumn\">&nbsp;</td>";
+ $fields .= <<< END
+ <td class="{$method}togglefield">
+ <a border="0" id="{$method}collections{$collection->id}" class="{$method}toggleOff" onclick="adjust{$method}_alt('{$method}collections{$collection->id}'); setCollection([{$members}],'{$method}',{$collection->id});">
+ <input type="checkbox" name="{$method}collections[]" id="{$method}checkbox" onclick="adjust{$method}('{$method}collections{$collection->id}');" value="{$collection->id}" {$collectionschecked[$method]} /></a></td>
+END;
+ $i++;
+ }
+ echo $fields;
+
+?>
+
+ <td>&nbsp;</td>
+ </tr>
+<?php
+
+ }
+}
+
+?>
+</table>
+</div>
diff --git a/mod/notifications/views/default/notifications/subscriptions/form.php b/mod/notifications/views/default/notifications/subscriptions/form.php
new file mode 100644
index 000000000..d96d6b7a7
--- /dev/null
+++ b/mod/notifications/views/default/notifications/subscriptions/form.php
@@ -0,0 +1,35 @@
+<?php
+
+ /**
+ * Elgg SMS Client
+ *
+ * @package ElggSMS
+ * @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/
+ */
+
+
+ // Echo title
+ echo elgg_view_title(elgg_echo('notifications:subscriptions:changesettings'));
+
+ echo elgg_view('subscriptions/form/additions',$vars);
+
+ // Display a description
+?>
+<div class="contentWrapper">
+<div class="notification_methods">
+<?php
+
+ 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',
+ ));
+
+?>
+</div>
+</div> \ No newline at end of file
diff --git a/mod/notifications/views/default/notifications/subscriptions/forminternals.php b/mod/notifications/views/default/notifications/subscriptions/forminternals.php
new file mode 100644
index 000000000..673e30cc3
--- /dev/null
+++ b/mod/notifications/views/default/notifications/subscriptions/forminternals.php
@@ -0,0 +1,315 @@
+ <h3>
+ <?php echo elgg_echo('notifications:subscriptions:title'); ?>
+ </h3>
+ <p class="notification_methods_intro">
+ <?php echo elgg_echo('notifications:subscriptions:description'); ?>
+ </p>
+<?php
+
+ // Get friends and subscriptions
+ $friends = get_user_friends($vars['user']->guid,'',9999,0);
+
+ 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' => 'user', 'limit' => 99999));
+ }
+
+ $subs = array();
+ foreach($subsbig as $method => $big) {
+ if (is_array($subsbig[$method]) && sizeof($subsbig[$method])) {
+ foreach($subsbig[$method] as $u) { $subs[$method][] = $u->guid; }
+ }
+ }
+
+ // Let the system know that the friends picker is in use
+ global $pickerinuse;
+ $pickerinuse = true;
+ $chararray = elgg_echo('friendspicker:chararray');
+
+ // Initialise internalname
+ if (!isset($vars['internalname'])) {
+ $internalname = "friend";
+ } else {
+ $internalname = $vars['internalname'];
+ }
+
+ // Initialise values
+ if (!isset($vars['value'])) {
+ $vars['value'] = array();
+ } else {
+ if (!is_array($vars['value'])) {
+ $vars['value'] = (int) $vars['value'];
+ $vars['value'] = array($vars['value']);
+ }
+ }
+
+ // Initialise whether we're calling back or not
+ if (isset($vars['callback'])) {
+ $callback = $vars['callback'];
+ } else {
+ $callback = false;
+ }
+
+ // We need to count the number of friends pickers on the page.
+ if (!isset($vars['friendspicker'])) {
+ global $friendspicker;
+ if (!isset($friendspicker)) $friendspicker = 0;
+ $friendspicker++;
+ } else {
+ $friendspicker = $vars['friendspicker'];
+ }
+
+ $users = array();
+ $activeletters = array();
+
+ // Are we displaying form tags and submit buttons?
+ // (If we've been given a target, then yes! Otherwise, no.)
+ if (isset($vars['formtarget'])) {
+ $formtarget = $vars['formtarget'];
+ } else {
+ $formtarget = false;
+ }
+
+ // Sort users by letter
+ if (is_array($friends) && sizeof($friends))
+ foreach($friends as $user) {
+
+ if (is_callable('mb_substr'))
+ $letter = strtoupper(mb_substr($user->name,0,1));
+ else
+ $letter = strtoupper(substr($user->name,0,1));
+ if (!substr_count($chararray,$letter)) {
+ $letter = "*";
+ }
+ if (!isset($users[$letter])) {
+ $users[$letter] = array();
+ }
+ $users[$letter][$user->name] = $user;
+
+ }
+
+ if (!$callback) {
+
+?>
+
+<div class="friends_picker">
+
+<?php
+
+ if (isset($vars['content'])) echo $vars['content'];
+
+
+?>
+
+ <div id="friends_picker_placeholder<?php echo $friendspicker; ?>">
+
+<?php
+
+ }
+
+ if (!isset($vars['replacement'])) {
+
+ if ($formtarget) {
+?>
+
+ <script language="text/javascript">
+ $(function() { // onload...do
+ $('#collectionMembersForm<?php echo $friendspicker; ?>').submit(function() {
+ var inputs = [];
+ $(':input', this).each(function() {
+ if (this.type != 'checkbox' || (this.type == 'checkbox' && this.checked != false)) {
+ inputs.push(this.name + '=' + escape(this.value));
+ }
+ });
+ jQuery.ajax({
+ type: "POST",
+ data: inputs.join('&'),
+ url: this.action,
+ success: function(){
+ $('a.collectionmembers<?php echo $friendspicker; ?>').click();
+ }
+
+ });
+ return false;
+ })
+ })
+
+ </script>
+
+<?php
+
+ }
+
+ echo elgg_view('notifications/subscriptions/jsfuncs',$vars);
+
+?>
+
+
+ <div class="friendsPicker_wrapper">
+ <div id="friendsPicker<?php echo $friendspicker; ?>">
+ <div class="friendsPicker_container">
+<?php
+
+ // Initialise letters
+ if (is_callable('mb_substr'))
+ $letter = mb_substr($chararray,0,1);
+ else
+ $letter = substr($chararray,0,1);
+ $letpos = 0;
+ $chararray .= '*';
+ while (1 == 1) {
+?>
+ <div class="panel" title="<?php echo $letter; ?>">
+ <div class="wrapper">
+ <h3><?php echo $letter; ?></h3>
+
+<?php
+
+ if (isset($users[$letter])) {
+ ksort($users[$letter]);
+?>
+
+<table id="notificationstable" cellspacing="0" cellpadding="4" border="1" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+<?php
+ $i = 0;
+ foreach($NOTIFICATION_HANDLERS as $method => $foo) {
+ if ($i > 0)
+ echo "<td class=\"spacercolumn\">&nbsp;</td>";
+?>
+ <td class="<?php echo $method; ?>togglefield"><?php echo elgg_echo('notification:method:'.$method); ?></td>
+<?php
+ $i++;
+ }
+?>
+ <td>&nbsp;</td>
+ </tr>
+
+<?php
+
+ if (is_array($users[$letter]) && sizeof($users[$letter]) > 0)
+ foreach($users[$letter] as $friend) {
+ if ($friend instanceof ElggUser ) {
+
+ if (!in_array($letter,$activeletters))
+ $activeletters[] = $letter;
+
+ $method = array();
+ $fields = '';
+ $i = 0;
+
+ foreach($NOTIFICATION_HANDLERS as $method => $foo) {
+ if (in_array($friend->guid,$subs[$method])) {
+ $checked[$method] = 'checked="checked"';
+ } else {
+ $checked[$method] = '';
+ }
+ if ($i > 0) $fields .= "<td class=\"spacercolumn\">&nbsp;</td>";
+ $fields .= <<< END
+ <td class="{$method}togglefield">
+ <a border="0" id="{$method}{$friend->guid}" class="{$method}toggleOff" onclick="adjust{$method}_alt('{$method}{$friend->guid}');">
+ <input type="checkbox" name="{$method}subscriptions[]" id="{$method}checkbox" onclick="adjust{$method}('{$method}{$friend->guid}');" value="{$friend->guid}" {$checked[$method]} /></a></td>
+END;
+ $i++;
+ }
+?>
+
+ <tr>
+ <td class="namefield"><a href="<?php echo $friend->getURL(); ?>">
+<?php
+ echo elgg_view("profile/icon",array('entity' => $friend, 'size' => 'tiny', 'override' => true));
+?>
+ </a><p class="namefieldlink"><a href="<?php echo $friend->getURL(); ?>"><?php echo $friend->name ?></p></td>
+
+<?php echo $fields; ?>
+
+ <td>&nbsp;</td>
+ </tr>
+
+
+<?php
+ }
+ }
+
+?>
+</table>
+
+<?php
+ }
+
+?>
+
+ </div>
+ </div>
+<?php
+ $letpos++;
+ if ($letpos == strlen($chararray)) break;
+ if (is_callable('mb_substr'))
+ $letter = mb_substr($chararray,$letpos,1);
+ else
+ $letter = substr($chararray,$letpos,1);
+ }
+
+?>
+ </div>
+ </div>
+ </div>
+
+<?php
+ } else {
+ echo $vars['replacement'];
+ }
+ if (!$callback) {
+
+?>
+
+ </div>
+</div>
+
+
+<?php
+
+ }
+
+?>
+<?php
+ if (!isset($vars['replacement'])) {
+?>
+
+<script type="text/javascript">
+ // initialise picker
+ $("div#friendsPicker<?php echo $friendspicker; ?>").friendsPicker(<?php echo $friendspicker; ?>);
+</script>
+<script>
+ $(document).ready(function () {
+ // manually add class to corresponding tab for panels that have content
+<?php
+ if (sizeof($activeletters) > 0)
+ $chararray = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
+ foreach($activeletters as $letter) {
+ $tab = strpos($chararray, $letter) + 1;
+?>
+ $("div#friendsPickerNavigation<?php echo $friendspicker; ?> li.tab<?php echo $tab; ?> a").addClass("tabHasContent");
+<?php
+ }
+
+?>
+ });
+</script>
+
+<?php
+
+ }
+
+?>
+
+
+
+<div class="clearfloat"></div>
+<div class="friendspicker_savebuttons">
+ <input type="submit" value="<?php echo elgg_echo('save'); ?>" />
+<br /></div>
+
+
+ \ No newline at end of file
diff --git a/mod/notifications/views/default/notifications/subscriptions/groupsform.php b/mod/notifications/views/default/notifications/subscriptions/groupsform.php
new file mode 100644
index 000000000..cf7f44906
--- /dev/null
+++ b/mod/notifications/views/default/notifications/subscriptions/groupsform.php
@@ -0,0 +1,99 @@
+<?php
+
+ 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;
+ }
+
+?>
+<?php echo elgg_view_title(elgg_echo('notifications:subscriptions:changesettings:groups')); ?>
+<div class="contentWrapper">
+ <div class="notification_methods">
+
+ <?php
+ echo elgg_view('notifications/subscriptions/jsfuncs',$vars);
+ ?>
+
+ <p>
+ <?php
+
+ echo elgg_echo('notifications:subscriptions:groups:description');
+
+ ?>
+ </p>
+<?php
+
+ if (isset($vars['groups']) && !empty($vars['groups'])) {
+
+?>
+<table id="notificationstable" cellspacing="0" cellpadding="4" border="1" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+<?php
+ global $NOTIFICATION_HANDLERS;
+ $i = 0;
+ foreach($NOTIFICATION_HANDLERS as $method => $foo) {
+ if ($i > 0)
+ echo "<td class=\"spacercolumn\">&nbsp;</td>";
+?>
+ <td class="<?php echo $method; ?>togglefield"><?php echo elgg_echo('notification:method:'.$method); ?></td>
+<?php
+ $i++;
+ }
+?>
+ <td>&nbsp;</td>
+ </tr>
+<?php
+ foreach($vars['groups'] as $group) {
+
+ $fields = '';
+ $i = 0;
+
+ foreach($NOTIFICATION_HANDLERS as $method => $foo) {
+ if (in_array($group->guid,$subsbig[$method])) {
+ $checked[$method] = 'checked="checked"';
+ } else {
+ $checked[$method] = '';
+ }
+ if ($i > 0) $fields .= "<td class=\"spacercolumn\">&nbsp;</td>";
+ $fields .= <<< END
+ <td class="{$method}togglefield">
+ <a border="0" id="{$method}{$group->guid}" class="{$method}toggleOff" onclick="adjust{$method}_alt('{$method}{$group->guid}');">
+ <input type="checkbox" name="{$method}subscriptions[]" id="{$method}checkbox" onclick="adjust{$method}('{$method}{$group->guid}');" value="{$group->guid}" {$checked[$method]} /></a></td>
+END;
+ $i++;
+ }
+
+?>
+ <tr>
+ <td class="namefield">
+ <p>
+ <?php echo $group->name; ?>
+ </p>
+ </td>
+<?php
+ echo $fields;
+?>
+ <td>&nbsp;</td>
+ </tr>
+<?php
+
+
+ }
+?>
+</table>
+<?php
+ }
+
+?>
+
+ <input type="submit" value="<?php echo elgg_echo('save'); ?>" />
+ </div>
+</div> \ 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
new file mode 100644
index 000000000..da1598dae
--- /dev/null
+++ b/mod/notifications/views/default/notifications/subscriptions/jsfuncs.php
@@ -0,0 +1,54 @@
+<?php
+
+ global $NOTIFICATION_HANDLERS;
+
+?>
+
+<script type="text/javascript">
+
+$(document).ready(function () {
+<?php
+ foreach($NOTIFICATION_HANDLERS as $method => $foo) {
+?>
+ $('input[type=checkbox]:checked').parent("a.<?php echo $method; ?>toggleOff").each(function(){
+ $(this).removeClass('<?php echo $method; ?>toggleOff').addClass('<?php echo $method; ?>toggleOn');
+ });
+
+<?php
+ }
+?>
+
+});
+
+ clickflag = 0;
+
+<?php
+ foreach($NOTIFICATION_HANDLERS as $method => $foo) {
+?>
+function adjust<?php echo $method; ?>(linkId) {
+ var obj = $(this).prev("a");
+
+ if (obj.className == "<?php echo $method; ?>toggleOff") {
+ obj.className = "<?php echo $method; ?>toggleOn";
+ } else {
+ obj.className = "<?php echo $method; ?>toggleOff";
+ }
+ return false;
+}
+function adjust<?php echo $method; ?>_alt(linkId) {
+ var obj = document.getElementById(linkId);
+
+ if (obj.className == "<?php echo $method; ?>toggleOff") {
+ obj.className = "<?php echo $method; ?>toggleOn";
+ $('#' + linkId).children("input[type='checkbox']").attr('checked', true);
+ } else {
+ obj.className = "<?php echo $method; ?>toggleOff";
+ $('#' + linkId).children("input[type='checkbox']").attr('checked', false);
+ }
+ return false;
+}
+<?php
+ }
+?>
+
+</script> \ 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
new file mode 100644
index 000000000..6779fde73
--- /dev/null
+++ b/mod/notifications/views/default/notifications/subscriptions/personal.php
@@ -0,0 +1,63 @@
+<?php
+
+ global $NOTIFICATION_HANDLERS;
+
+?>
+<div class="notification_personal">
+<div class="notification_methods">
+ <h3>
+ <?php echo elgg_echo('notifications:subscriptions:personal:title'); ?>
+ </h3>
+</div>
+<table id="notificationstable" cellspacing="0" cellpadding="4" border="1" width="100%">
+ <tr>
+ <td>&nbsp;</td>
+<?php
+ $i = 0;
+ foreach($NOTIFICATION_HANDLERS as $method => $foo) {
+ if ($i > 0)
+ echo "<td class=\"spacercolumn\">&nbsp;</td>";
+?>
+ <td class="<?php echo $method; ?>togglefield"><?php echo elgg_echo('notification:method:'.$method); ?></td>
+<?php
+ $i++;
+ }
+?>
+ <td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="namefield">
+ <p>
+ <?php echo elgg_echo('notifications:subscriptions:personal:description') ?>
+ </p>
+
+ </td>
+
+<?php
+
+ $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] = '';
+ }
+ }
+ if ($i > 0) $fields .= "<td class=\"spacercolumn\">&nbsp;</td>";
+ $fields .= <<< END
+ <td class="{$method}togglefield">
+ <a border="0" id="{$method}personal" class="{$method}toggleOff" onclick="adjust{$method}_alt('{$method}personal');">
+ <input type="checkbox" name="{$method}personal" id="{$method}checkbox" onclick="adjust{$method}('{$method}personal');" value="1" {$personalchecked[$method]} /></a></td>
+END;
+ $i++;
+ }
+ echo $fields;
+
+?>
+
+ <td>&nbsp;</td>
+ </tr>
+</table>
+</div> \ No newline at end of file