diff options
Diffstat (limited to 'views/default/friends/picker.php')
-rw-r--r-- | views/default/friends/picker.php | 459 |
1 files changed, 223 insertions, 236 deletions
diff --git a/views/default/friends/picker.php b/views/default/friends/picker.php index 319088601..1ac8b23af 100644 --- a/views/default/friends/picker.php +++ b/views/default/friends/picker.php @@ -1,115 +1,110 @@ <?php - - /** - * Elgg friends picker - * Lists the friends picker - * - * @package Elgg - * @subpackage Core - - * @author Curverider Ltd - - * @link http://elgg.org/ - * - * @uses $vars['entities'] The array of ElggUser objects - */ - - // 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"; +/** + * Elgg friends picker + * Lists the friends picker + * + * @package Elgg + * @subpackage Core + * @author Curverider Ltd + * @link http://elgg.org/ + * + * @uses $vars['entities'] The array of ElggUser objects + */ + +// 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']; +} + +// 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'])) { + $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($vars['entities']) && sizeof($vars['entities'])) { + foreach($vars['entities'] as $user) { + if (is_callable('mb_substr')) { + $letter = strtoupper(mb_substr($user->name,0,1)); } 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'])) { - $vars['value'] = array(); - } else { - if (!is_array($vars['value'])) { - $vars['value'] = (int) $vars['value']; - $vars['value'] = array($vars['value']); - } + $letter = strtoupper(substr($user->name,0,1)); } - // Initialise whether we're calling back or not - if (isset($vars['callback'])) { - $callback = $vars['callback']; - } else { - $callback = false; + if (!substr_count($chararray,$letter)) { + $letter = "*"; } - - // 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']; + if (!isset($users[$letter])) { + $users[$letter] = array(); } + $users[$letter][$user->name] = $user; + } +} - $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($vars['entities']) && sizeof($vars['entities'])) - foreach($vars['entities'] 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"> +if (!$callback) { + ?> -<?php + <div class="friends_picker"> - if (isset($vars['content'])) echo $vars['content']; + <?php - -?> + if (isset($vars['content'])) { + echo $vars['content']; + } + ?> <div id="friends_picker_placeholder<?php echo $friendspicker; ?>"> -<?php - - } - - if (!isset($vars['replacement'])) { - - if ($formtarget) { + <?php +} + +if (!isset($vars['replacement'])) { + if ($formtarget) { ?> - <script language="text/javascript"> +<script language="text/javascript"> $(function() { // onload...do $('#collectionMembersForm<?php echo $friendspicker; ?>').submit(function() { var inputs = []; @@ -123,205 +118,197 @@ data: inputs.join('&'), url: this.action, success: function(){ - $('a.collectionmembers<?php echo $friendspicker; ?>').click(); - } + $('a.collectionmembers<?php echo $friendspicker; ?>').click(); + } }); return false; - }) - }) + }) + }) </script> - <!-- Collection members form --> - <form id="collectionMembersForm<?php echo $friendspicker; ?>" action="<?php echo $formtarget; ?>" method="post"> <!-- action="" method=""> --> +<!-- Collection members form --> +<form id="collectionMembersForm<?php echo $friendspicker; ?>" action="<?php echo $formtarget; ?>" method="post"> <!-- action="" method=""> --> <?php - - } - + } ?> - <div class="friendsPicker_wrapper"> - <div id="friendsPicker<?php echo $friendspicker; ?>"> - <div class="friendsPicker_container"> +<div class="friendsPicker_wrapper"> +<div id="friendsPicker<?php echo $friendspicker; ?>"> + <div class="friendsPicker_container"> <?php - // Initialise letters - $chararray .= "*"; - if (is_callable('mb_substr')) - $letter = mb_substr($chararray,0,1); - else - $letter = substr($chararray,0,1); - $letpos = 0; - 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]); - - echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"; - $col = 0; - - foreach($users[$letter] as $friend) { - if ($col == 0) echo "<tr>"; - - //echo "<p>" . $user->name . "</p>"; - $label = elgg_view("profile/icon",array('entity' => $friend, 'size' => 'tiny', 'override' => true)); - $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) - && $vars['highlight'] == 'default' - ) - $activeletters[] = $letter; - } else { - $checked = ""; - } +// Initialise letters + $chararray .= "*"; + if (is_callable('mb_substr')) { + $letter = mb_substr($chararray,0,1); + } else { + $letter = substr($chararray,0,1); + } + $letpos = 0; + 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]); + + echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"; + $col = 0; + + foreach($users[$letter] as $friend) { + if ($col == 0) { + echo "<tr>"; + } -?> + //echo "<p>" . $user->name . "</p>"; + $label = elgg_view("profile/icon",array('entity' => $friend, 'size' => 'tiny', 'override' => true)); + $options[$label] = $friend->getGUID(); - <td> - - <input type="checkbox" <?php echo $checked; ?> name="<?php echo $internalname; ?>[]" value="<?php echo $options[$label]; ?>" /> - - </td> + if ($vars['highlight'] == 'all' + && !in_array($letter,$activeletters)) { - <td > - - <div style="width: 25px; margin-bottom: 15px;"> -<?php + $activeletters[] = $letter; + } - echo $label; - -?> - </div> - </td> - <td style="width: 200px; padding: 5px;"> -<?php - echo $friend->name; - -?> - </td> -<?php - - $col++; - if ($col == 3){ - echo "</tr>"; - $col = 0; + if (in_array($friend->getGUID(),$vars['value'])) { + $checked = "checked = \"checked\""; + if (!in_array($letter,$activeletters) && $vars['highlight'] == 'default') { + $activeletters[] = $letter; } + } else { + $checked = ""; } - if ($col < 3) echo "</tr>"; - - echo "</table>"; - + ?> + + <td> + + <input type="checkbox" <?php echo $checked; ?> name="<?php echo $internalname; ?>[]" value="<?php echo $options[$label]; ?>" /> + + </td> + + <td> + + <div style="width: 25px; margin-bottom: 15px;"> + <?php + echo $label; + ?> + </div> + </td> + <td style="width: 200px; padding: 5px;"> + <?php echo $friend->name; ?> + </td> + <?php + $col++; + if ($col == 3){ + echo "</tr>"; + $col = 0; + } + } + if ($col < 3) { + echo "</tr>"; } + echo "</table>"; + } + ?> - - </div> + </div> -<?php + </div> +<?php //if ($letter == 'Z') break; - - if (is_callable('mb_substr')) + + if (is_callable('mb_substr')) { $substr = mb_substr($chararray,strlen($chararray) - 1,1); - else + } else { $substr = substr($chararray,strlen($chararray) - 1,1); - if ($letter == $substr) break; + } + if ($letter == $substr) { + break; + } //$letter++; $letpos++; - if (is_callable('mb_substr')) + if (is_callable('mb_substr')) { $letter = mb_substr($chararray,$letpos,1); - else + } else { $letter = substr($chararray,$letpos,1); + } } - + ?> - </div> - + </div> + <?php - if ($formtarget) { +if ($formtarget) { + + if (isset($vars['formcontents'])) + echo $vars['formcontents']; - if (isset($vars['formcontents'])) - echo $vars['formcontents']; - ?> - <div class="clearfloat"></div> - <div class="friendspicker_savebuttons"> - <input type="submit" class="submit_button" value="<?php echo elgg_echo('save'); ?>" /> - <input type="button" class="cancel_button" value="<?php echo elgg_echo('cancel'); ?>" onclick="$('a.collectionmembers<?php echo $friendspicker; ?>').click();" /> - <br /></div> - </form> - + <div class="clearfloat"></div> + <div class="friendspicker_savebuttons"> + <input type="submit" class="submit_button" value="<?php echo elgg_echo('save'); ?>" /> + <input type="button" class="cancel_button" value="<?php echo elgg_echo('cancel'); ?>" onclick="$('a.collectionmembers<?php echo $friendspicker; ?>').click();" /> + <br /></div> + </form> + <?php - } +} ?> - - </div> - </div> - + +</div> +</div> + <?php - } else { - echo $vars['replacement']; - } - if (!$callback) { +} else { + echo $vars['replacement']; +} +if (!$callback) { ?> - - </div> + +</div> </div> <?php - } +} - if (!isset($vars['replacement'])) { +if (!isset($vars['replacement'])) { ?> <script type="text/javascript"> - // initialise picker - $("div#friendsPicker<?php echo $friendspicker; ?>").friendsPicker(<?php echo $friendspicker; ?>); + // 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 +$(document).ready(function () { +// manually add class to corresponding tab for panels that have content <?php - if (sizeof($activeletters) > 0) - //$chararray = elgg_echo('friendspicker:chararray'); - foreach($activeletters as $letter) { - $tab = strpos($chararray, $letter) + 1; +if (sizeof($activeletters) > 0) + //$chararray = elgg_echo('friendspicker:chararray'); + foreach($activeletters as $letter) { + $tab = strpos($chararray, $letter) + 1; ?> - $("div#friendsPickerNavigation<?php echo $friendspicker; ?> li.tab<?php echo $tab; ?> a").addClass("tabHasContent"); +$("div#friendsPickerNavigation<?php echo $friendspicker; ?> li.tab<?php echo $tab; ?> a").addClass("tabHasContent"); <?php - } + } ?> - }); +}); </script> <?php - } - -?>
\ No newline at end of file +}
\ No newline at end of file |