X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Faddrbook_search_html.php;h=1f145a5e0e5ccce77c1f2d6bf921f33730254f8e;hp=2fee39e987eee6ccae5dabbf091c016fda9eb2cd;hb=de00443c7d9770fbae65402e6beabde8a3db302a;hpb=b897ac2e62730dedd683ddc1d78fa4531dcf75a4 diff --git a/src/addrbook_search_html.php b/src/addrbook_search_html.php index 2fee39e9..1f145a5e 100644 --- a/src/addrbook_search_html.php +++ b/src/addrbook_search_html.php @@ -1,229 +1,303 @@ ' . "\n"; - echo '' . "\n"; - echo '' . "\n"; - echo "' . "\n"; - echo "' . "\n"; - echo "\n"; - } - - - // List search results - function addr_display_result($res, $includesource = true) { - global $color, $PHP_SELF; - - if(sizeof($res) <= 0) return; - - printf('
'."\n", - $PHP_SELF); - addr_insert_hidden(); - $line = 0; - - print ""; - printf("\n"; - - while(list($undef, $row) = each($res)) { - printf("\n"; - $line++; - } - printf('', - 4 + ($includesource ? 1 : 0), - _("Use Addresses")); - print '
 ". - " %s %s". - " %s", - _("Name"), _("E-mail"), _("Info")); - - if($includesource) - printf(" %s", _("Source")); - - print "
". - " To". - " Cc ". - " %s  ". - "%s". - " %s ", - ($line % 2) ? " bgcolor=\"$color[0]\"" : "", - htmlspecialchars($row["email"]), htmlspecialchars($row["email"]), - $row["name"], $row["email"], $row["label"]); - if($includesource) - printf(" %s", $row["source"]); - - print "
'; - print ''; - print '
'; - } - - // --- End functions --- - - displayPageHeader($color, 'None'); - - // Initialize addressbook - $abook = addressbook_init(); - - $body = sqStripSlashes($body); - $send_to = sqStripSlashes($send_to); - $send_to_cc = sqStripSlashes($send_to_cc); - $send_to_bcc = sqStripSlashes($send_to_bcc); - $subject = sqStripSlashes($subject); - -?> - -
- -
-
-
-\n"; - print "\n"; - print "
\n"; - printf('
'."\n", $PHP_SELF); - print "
\n"; - printf(" %s\n", _("Search for")); - addr_insert_hidden(); - if (! isset($addrquery)) - $addrquery = ""; - printf(" \n", - htmlspecialchars($addrquery)); - - // List all backends to allow the user to choose where to search - if($abook->numbackends > 1) { - printf("%s \n"; +/** + * addrbook_search_html.php + * + * Copyright (c) 1999-2004 The SquirrelMail Project Team + * Licensed under the GNU GPL. For full terms see the file COPYING. + * + * Handle addressbook searching with pure html. + * + * This file is included from compose.php + * + * @version $Id$ + * @package squirrelmail + * @subpackage addressbook + */ + +/** + * Path for SquirrelMail required files. + * @ignore + */ +if (! defined('SM_PATH') ) { + define('SM_PATH','../'); +} + +/** SquirrelMail required files. */ +require_once(SM_PATH . 'include/validate.php'); +require_once(SM_PATH . 'functions/global.php'); +require_once(SM_PATH . 'functions/date.php'); +require_once(SM_PATH . 'functions/display_messages.php'); +require_once(SM_PATH . 'functions/addressbook.php'); +require_once(SM_PATH . 'functions/plugin.php'); +require_once(SM_PATH . 'functions/strings.php'); +require_once(SM_PATH . 'functions/html.php'); + +sqgetGlobalVar('session', $session, SQ_POST); +sqgetGlobalVar('mailbox', $mailbox, SQ_POST); +sqgetGlobalVar('addrquery', $addrquery, SQ_POST); +sqgetGlobalVar('listall', $listall, SQ_POST); +sqgetGlobalVar('backend', $backend, SQ_POST); + +/** + * Insert hidden data + */ +function addr_insert_hidden() { + global $body, $subject, $send_to, $send_to_cc, $send_to_bcc, $mailbox, + $identity, $session; + + if (substr($body, 0, 1) == "\r") { + echo addHidden('body', "\n".$body); } else { - print "\n"; + echo addHidden('body', $body); } - printf("", - _("Search")); - printf(" | \n", - _("List all")); - print '
'; - - print "
\n"; - addr_insert_hidden(); - print ""; - do_hook('addrbook_html_search_below'); - // End search form - - // Show personal addressbook - if(!isset($addrquery) || !empty($listall)) { - - if(! isset($backend) || $backend != -1 || !isset($addrquery)) { - if(!isset($addrquery)) + + echo addHidden('session', $session). + addHidden('subject', $subject). + addHidden('send_to', $send_to). + addHidden('send_to_bcc', $send_to_bcc). + addHidden('send_to_cc', $send_to_cc). + addHidden('identity', $identity). + addHidden('mailbox', $mailbox). + addHidden('from_htmladdr_search', 'true'); +} + + +/** + * List search results + * @param array $res Array containing results of search + * @param bool $includesource UNDOCUMENTED [Default=true] + */ +function addr_display_result($res, $includesource = true) { + global $color, $javascript_on, $PHP_SELF, $squirrelmail_language; + + if (sizeof($res) <= 0) return; + + echo addForm($PHP_SELF, 'POST', 'addrbook'). + addHidden('html_addr_search_done', 'true'); + addr_insert_hidden(); + $line = 0; + +if ($javascript_on) { + print + '\n"; + $chk_all = '' . _("All") . ' '._("To").''. + '  '. + '' . _("All") . ' '._("Cc").''. + '  '. + '' . _("All") . ''; + } + echo html_tag( 'table', '', 'center', '', 'border="0" width="98%"' ) . + html_tag( 'tr', '', '', $color[9] ) . + html_tag( 'th', ' ' . $chk_all, 'left' ) . + html_tag( 'th', ' ' . _("Name"), 'left' ) . + html_tag( 'th', ' ' . _("E-mail"), 'left' ) . + html_tag( 'th', ' ' . _("Info"), 'left' ); + + if ($includesource) { + echo html_tag( 'th', ' ' . _("Source"), 'left', '', 'width="10%"' ); + } + + echo "\n"; + + foreach ($res as $row) { + $email = AddressBook::full_address($row); + if ($line % 2) { + $tr_bgcolor = $color[12]; + } else { + $tr_bgcolor = $color[4]; + } + if ($squirrelmail_language == 'ja_JP') + { + echo html_tag( 'tr', '', '', $tr_bgcolor, 'nowrap' ) . + html_tag( 'td', + ' ' . _("To") . ' ' . + ' ' . _("Cc") . ' ' . + ' ' . _("Bcc") . ' ' , + 'center', '', 'width="5%" nowrap' ) . + html_tag( 'td', ' ' . htmlspecialchars($row['lastname']) . ' ' . htmlspecialchars($row['firstname']) . ' ', 'left', '', 'nowrap' ) . + html_tag( 'td', ' ' . htmlspecialchars($row['email']) . ' ', 'left', '', 'nowrap' ) . + html_tag( 'td', ' ' . htmlspecialchars($row['label']) . ' ', 'left', '', 'nowrap' ); + } else { + echo html_tag( 'tr', '', '', $tr_bgcolor, 'nowrap' ) . + html_tag( 'td', + addCheckBox('send_to_search[T'.$line.']', FALSE, $email). + ' ' . _("To") . ' ' . + addCheckBox('send_to_search[C'.$line.']', FALSE, $email). + ' ' . _("Cc") . ' ' . + addCheckBox('send_to_search[B'.$line.']', FALSE, $email). + ' ' . _("Bcc") . ' ' , + 'center', '', 'width="5%" nowrap' ) . + html_tag( 'td', ' ' . htmlspecialchars($row['name']) . ' ', 'left', '', 'nowrap' ) . + html_tag( 'td', ' ' . htmlspecialchars($row['email']) . ' ', 'left', '', 'nowrap' ) . + html_tag( 'td', ' ' . htmlspecialchars($row['label']) . ' ', 'left', '', 'nowrap' ); + } + + if ($includesource) { + echo html_tag( 'td', ' ' . $row['source'] . ' ', 'left', '', 'nowrap' ); + } + echo "\n"; + $line ++; + } + if ($includesource) { $td_colspan = '5'; } else { $td_colspan = '4'; } + echo html_tag( 'tr', + html_tag( 'td', + '' , + 'center', '', 'colspan="'. $td_colspan .'"' ) + ) . + '' . + addHidden('html_addr_search_done', '1'). + ''; +} + +/* --- End functions --- */ + +if ($compose_new_win == '1') { + compose_Header($color, $mailbox); +} +else { + displayPageHeader($color, $mailbox); +} +/* Initialize addressbook */ +$abook = addressbook_init(); + + +echo '
' . +html_tag( 'table', + html_tag( 'tr', + html_tag( 'td', '' . _("Address Book Search") . '', 'center', $color[0] ) + ) , +'center', '', 'width="95%" cellpadding="2" cellspacing="2" border="0"' ); + + +/* Search form */ +echo '
' . + html_tag( 'table', '', 'center', '', 'border="0"' ) . + html_tag( 'tr' ) . + html_tag( 'td', '', 'left', '', 'nowrap valign="middle"' ) . "\n" . + addForm($PHP_SELF.'?html_addr_search=true', 'post', 'f'). + "\n
\n" . + ' ' . _("Search for") . "\n"; +addr_insert_hidden(); +if (! isset($addrquery)) + $addrquery = ''; +echo addInput('addrquery', $addrquery, 26); + +/* List all backends to allow the user to choose where to search */ +if (!isset($backend)) { $backend = ''; } +if ($abook->numbackends > 1) { + echo '' . _("in") . ' '; + + $selopts['-1'] = _("All address books"); + $ret = $abook->get_backend_list(); + + while (list($undef,$v) = each($ret)) { + $selopts[$v->bnum] = $v->sname; + } + echo addSelect('backend', $selopts, $backend, TRUE); +} else { + echo addHidden('backend', '-1'); +} +if (isset($session)) { + echo addHidden('session', $session); +} + +echo '' . + ' | ' . "\n" . + '
' . "\n"; +addr_insert_hidden(); +echo '
'; +do_hook('addrbook_html_search_below'); +/* End search form */ + +/* Show personal addressbook */ + +if ( !empty( $listall ) ){ + $addrquery = '*'; +} + +if ($addrquery == '' && empty($listall)) { + + if (! isset($backend) || $backend != -1 || $addrquery == '') { + if ($addrquery == '') { $backend = $abook->localbackend; + } - //printf("

%s

\n", $abook->backends[$backend]->sname); + /* echo '

' . $abook->backends[$backend]->sname) . "

\n"; */ - $res = $abook->list_addr($backend); + $res = $abook->list_addr($backend); - if(is_array($res)) { + if (is_array($res)) { + usort($res,'alistcmp'); addr_display_result($res, false); - } else { - printf("

"._("Unable to list addresses from %s"). - "

\n", $abook->backends[$backend]->sname); - } - - } else { - $res = $abook->list_addr(); - addr_display_result($res, true); - } - exit; - - } else - - // Do the search - if(!empty($addrquery) && empty($listall)) { - - if($backend == -1) { - $res = $abook->s_search($addrquery); - } else { - $res = $abook->s_search($addrquery, $backend); - } - - if(!is_array($res)) { - printf("


%s:
%s

\n\n", - _("Your search failed with the following error(s)"), - $abook->error); - } else if(sizeof($res) == 0) { - printf("


%s.

\n\n", - _("No persons matching your search was found")); - } else { - addr_display_result($res); - } - } - - if (!$addrquery || sizeof($res) == 0) { - printf('
'."\n", $PHP_SELF); - addr_insert_hidden(); - printf("\n", _("Return")); - print '
'; - print '
'; - } + } else { + echo html_tag( 'p', '
' . + sprintf(_("Unable to list addresses from %s"), + $abook->backends[$backend]->sname) . "
\n" , + 'center' ); + } + + } else { + $res = $abook->list_addr(); + usort($res,'alistcmp'); + addr_display_result($res, true); + } + exit; +} +else { + + /* Do the search */ + if (!empty($addrquery)) { + + if ($backend == -1) { + $res = $abook->s_search($addrquery); + } else { + $res = $abook->s_search($addrquery, $backend); + } + + if (!is_array($res)) { + echo html_tag( 'p', '
' . + _("Your search failed with the following error(s)") . + ':
' . $abook->error . "
\n" , + 'center' ) . + "\n\n"; + } else { + if (sizeof($res) == 0) { + echo html_tag( 'p', '
' . + _("No persons matching your search were found") . "\n" , + 'center' ) . + "\n\n"; + } else { + addr_display_result($res); + } + } + } +} + +if ($addrquery == '' || sizeof($res) == 0) { + /* printf('
'."\n", $PHP_SELF); */ + echo '
'. + addForm('compose.php','POST','k'); + addr_insert_hidden(); + echo '' . "\n" . + '
'; +} ?>