From 2447aa071c65e99f9981059637054734f3951e0b Mon Sep 17 00:00:00 2001 From: ben Date: Fri, 20 Feb 2009 17:49:05 +0000 Subject: The friends picker now highlights tabs when creating a collection if a user is present there. Also, the separate friends picker in the notification plugin is also now internationalised. git-svn-id: https://code.elgg.org/elgg/trunk@2872 36083f99-b078-4883-b0ff-0f9b5a30f544 --- .../notifications/subscriptions/forminternals.php | 16 ++++++++++------ views/default/friends/forms/edit.php | 8 +++++--- views/default/friends/picker.php | 20 +++++++++++++++++--- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/mod/notifications/views/default/notifications/subscriptions/forminternals.php b/mod/notifications/views/default/notifications/subscriptions/forminternals.php index ca28fc72a..eb35b5ba0 100644 --- a/mod/notifications/views/default/notifications/subscriptions/forminternals.php +++ b/mod/notifications/views/default/notifications/subscriptions/forminternals.php @@ -23,7 +23,8 @@ // Let the system know that the friends picker is in use global $pickerinuse; - $pickerinuse = true; + $pickerinuse = true; + $chararray = elgg_echo('friendspicker:chararray'); // Initialise internalname if (!isset($vars['internalname'])) { @@ -74,8 +75,8 @@ foreach($friends as $user) { $letter = strtoupper(substr($user->name,0,1)); - if ($letter >= "0" && $letter <= "9") { - $letter = "0"; + if (!substr_count($chararray,$letter)) { + $letter = "*"; } if (!isset($users[$letter])) { $users[$letter] = array(); @@ -147,7 +148,9 @@
@@ -234,8 +237,9 @@ END;
diff --git a/views/default/friends/forms/edit.php b/views/default/friends/forms/edit.php index 683e0503c..924c479e0 100644 --- a/views/default/friends/forms/edit.php +++ b/views/default/friends/forms/edit.php @@ -18,10 +18,12 @@ // Set title, form destination if (isset($vars['collection'])) { $action = "friends/editcollection"; - $title = $vars['collection'][0]->name; + $title = $vars['collection'][0]->name; + $highlight = 'default'; } else { $action = "friends/addcollection"; - $title = ""; + $title = ""; + $highlight = 'all'; } @@ -46,7 +48,7 @@ $form_body .= "

"; $form_body .= "

". - elgg_view('friends/picker',array('entities' => $vars['friends'], 'internalname' => 'friends_collection')) . "

"; + elgg_view('friends/picker',array('entities' => $vars['friends'], 'internalname' => 'friends_collection', 'highlight' => $highlight)) . "

"; $form_body .= "

"; if (isset($vars['collection'])) { diff --git a/views/default/friends/picker.php b/views/default/friends/picker.php index 877a07782..5b7227c99 100644 --- a/views/default/friends/picker.php +++ b/views/default/friends/picker.php @@ -24,7 +24,11 @@ $internalname = "friend"; } else { $internalname = $vars['internalname']; - } + } + + // Are we highlighting default or all? + if (empty($vars['highlight'])) $vars['highlight'] = 'default'; + if ($vars['highlight'] != 'all') $vars['highlight'] = 'default'; // Initialise values if (!isset($vars['value'])) { @@ -165,10 +169,20 @@ //echo "

" . $user->name . "

"; $label = elgg_view("profile/icon",array('entity' => $friend, 'size' => 'tiny', 'override' => true)); - $options[$label] = $friend->getGUID(); + $options[$label] = $friend->getGUID(); + + if ($vars['highlight'] == 'all' + && !in_array($letter,$activeletters)) { + $activeletters[] = $letter; + } + + if (in_array($friend->getGUID(),$vars['value'])) { $checked = "checked = \"checked\""; - if (!in_array($letter,$activeletters)) + if ( + !in_array($letter,$activeletters) + && $vars['highlight'] == 'default' + ) $activeletters[] = $letter; } else { $checked = ""; -- cgit v1.2.3