X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=templates%2Futil_addressbook.php;h=8b582c0993876ebb23d6c7a09ae5302c56624609;hp=ca2967b37d414f5ed99561eee2972c35e863bae4;hb=199a9ab83772a0d98940eb68837177414a3bcee2;hpb=a71b394eb2e5ebd2c2229458d2242088807c5728 diff --git a/templates/util_addressbook.php b/templates/util_addressbook.php index ca2967b3..8b582c09 100644 --- a/templates/util_addressbook.php +++ b/templates/util_addressbook.php @@ -4,69 +4,158 @@ * * Functions to make working with address books easier * - * @copyright © 1999-2006 The SquirrelMail Project Team + * @copyright © 1999-2009 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail * @subpackage templates */ +//FIXME: the functions in this file should be reviewed and moved to functions/template/abook_util.php and this file should be removed /** - * Display a column header with sort buttons + * Create a link to compose an email to the email address given. * - * @param string $field which field to display + * @param array $row contact as given to the addressbook_list.tpl template * @author Steve Brown * @since 1.5.2 */ -function addAbookSort ($field) { - global $abook_sort_order; - - switch ($field) { - case 'nickname': - $str = _("Nickname"); - $alt = _("sort by nickname"); - $down = 0; - $up = 1; - $has_sort = true; - break; - case 'fullname': - $str = _("Name"); - $alt = _("sort by name"); - $down = 2; - $up = 3; - $has_sort = true; - break; - case 'email': - $str = _("E-mail"); - $alt = _("sort by email"); - $down = 4; - $up = 5; - $has_sort = true; - break; - case 'info': - $str = _("Info"); - $alt = _("sort by info"); - $down = 6; - $up = 7; - $has_sort = true; - break; - default: - return 'BAD SORT FIELD GIVEN: "'.$field.'"'; +function composeLink ($row) { + return makeComposeLink('src/compose.php?send_to=' . + rawurlencode($row['RawFullAddress']), + htmlspecialchars($row['Email'])); +} + +/** + * Format the address book into a format that is easy for template authors + * to use + * + * @param array $addresses all contacts as given by calling $abook->list_addr() + * @return array + * @author Steve Brown + * @since 1.5.2 + */ +function formatAddressList ($addresses) { + if (!is_array($addresses) || count($addresses) == 0) + return array(); + + $contacts = array(); + while(list($undef,$row) = each($addresses)) { + $contact = array ( + 'FirstName' => htmlspecialchars($row['firstname']), + 'LastName' => htmlspecialchars($row['lastname']), + 'FullName' => htmlspecialchars($row['name']), + 'NickName' => htmlspecialchars($row['nickname']), + 'Email' => htmlspecialchars($row['email']), + 'FullAddress' => htmlspecialchars(AddressBook::full_address($row)), + 'RawFullAddress' => AddressBook::full_address($row), + 'Info' => htmlspecialchars($row['label']), + 'Extra' => (isset($row['extra']) ? $row['extra'] : NULL), + 'Source' => htmlspecialchars($row['source']), + 'JSEmail' => htmlspecialchars(addcslashes(AddressBook::full_address($row), "'"), ENT_QUOTES), + ); + $contacts[] = $contact; } - return $str . ($has_sort ? show_abook_sort_button($abook_sort_order, $alt, $down, $up) : ''); + return $contacts; } /** - * Create a link to compose an email to the email address given. + * Function to include JavaScript code + * @return void + */ +function insert_javascript() { + ?> + +get_backend_list(); + while (list($undef,$v) = each($ret)) { + if ($v->btype == 'local' && !$v->listing) { + continue; + } + $backends[$v->bnum] = $v->sname; + } + + return $backends; } -?> \ No newline at end of file