X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Faddrbook_search.php;h=843303cc9e5815503b5b015bb85d7fa7151d143b;hb=190dc452bedb05364a6f5842142b5e484995b1ca;hp=f6d637486f76bcf4299bc2378aaae4629149fcde;hpb=08185f2a7631c3a12cb1ac085fec3be471b56b00;p=squirrelmail.git diff --git a/src/addrbook_search.php b/src/addrbook_search.php index f6d63748..843303cc 100644 --- a/src/addrbook_search.php +++ b/src/addrbook_search.php @@ -3,30 +3,34 @@ /** * addrbook_search.php * - * Copyright (c) 1999-2002 The SquirrelMail Project Team - * Licensed under the GNU GPL. For full terms see the file COPYING. - * * Handle addressbook searching in the popup window. * * NOTE: A lot of this code is similar to the code in * addrbook_search_html.html -- If you change one, * change the other one too! * - * $Id$ + * @copyright © 1999-2006 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License + * @version $Id$ + * @package squirrelmail + * @subpackage addressbook */ -/* Path for SquirrelMail required files. */ -define('SM_PATH','../'); +/** + * Include the SquirrelMail initialization file. + */ +require('../include/init.php'); -/* SquirrelMail required files. */ -require_once(SM_PATH . 'include/validate.php'); -require_once(SM_PATH . 'functions/strings.php'); -require_once(SM_PATH . 'functions/html.php'); +include_once(SM_PATH . 'functions/forms.php'); +include_once(SM_PATH . 'functions/addressbook.php'); -/* Function to include JavaScript code */ +/** + * Function to include JavaScript code + * @return void + */ function insert_javascript() { ?> - +// --> \n"; - + while (list($undef, $row) = each($res)) { - $tr_bgcolor = ''; $email = htmlspecialchars(addcslashes(AddressBook::full_address($row), "'"), ENT_QUOTES); - if ($line % 2) { $tr_bgcolor = $color[0]; } - echo html_tag( 'tr', '', '', $tr_bgcolor, 'nowrap' ) . + if ($line % 2) { + $tr_bgcolor = $color[12]; + } else { + $tr_bgcolor = $color[4]; + } + echo html_tag( 'tr', '', '', $tr_bgcolor, 'style="white-space: nowrap;"' ) . html_tag( 'td', - 'To | " . - 'Cc | " . - 'Bcc", - 'center', '', 'valign="top" width="5%" nowrap' ) . - html_tag( 'td', ' ' . htmlspecialchars($row['name']), 'left', '', 'valign="top" nowrap' ) . + '"._("To")." | " . + '"._("Cc")." | " . + '"._("Bcc")."", + 'center', '', 'valign="top" width="5%" style="white-space: nowrap;"' ) . + html_tag( 'td', ' ' . htmlspecialchars($row['name']), 'left', '', 'valign="top" style="white-space: nowrap;"' ) . html_tag( 'td', ' ' . '" . htmlspecialchars($row['email']) . '' + "'" . $email . "');\">" . htmlspecialchars($row['email']) . '' , 'left', '', 'valign="top"' ) . - html_tag( 'td', htmlspecialchars($row['label']), 'left', '', 'valign="top" nowrap' ); + html_tag( 'td', htmlspecialchars($row['label']), 'left', '', 'valign="top" style="white-space: nowrap;"' ); if ($includesource) { - echo html_tag( 'td', ' ' . $row['source'], 'left', '', 'valign="top" nowrap' ); + echo html_tag( 'td', ' ' . $row['source'], 'left', '', 'valign="top" style="white-space: nowrap;"' ); } echo "\n"; @@ -140,82 +152,104 @@ function display_result($res, $includesource = true) { } /* ================= End of functions ================= */ - -require_once('../functions/array.php'); -require_once('../functions/strings.php'); -require_once('../functions/addressbook.php'); - + +/** lets get the global vars we may need */ +sqgetGlobalVar('key', $key, SQ_COOKIE); +sqgetGlobalVar('username', $username, SQ_SESSION); +sqgetGlobalVar('onetimepad',$onetimepad, SQ_SESSION); +sqgetGlobalVar('base_uri', $base_uri, SQ_SESSION); + +if (! sqgetGlobalVar('show' , $show)) { + $show = ''; +} +if (! sqgetGlobalVar('query', $query, SQ_POST)) { + $query = ''; +} +if (! sqgetGlobalVar('listall', $listall, SQ_POST)) { + unset($listall); +} +if (! sqgetGlobalVar('backend', $backend, SQ_POST)) { + $backend = ''; +} + displayHtmlHeader(); - -/* Initialize vars */ -if (!isset($query)) { $query = ''; } -if (!isset($show)) { $show = ''; } -if (!isset($backend)) { $backend = ''; } + +/** set correct value of $default_charset */ +global $default_charset; +set_my_charset(); /* Choose correct colors for top and bottom frame */ if ($show == 'form' && !isset($listall)) { - echo ''; } else { - echo '\n"; + echo '\n"; } /* Empty search */ -if (empty($query) && empty($show) && empty($listall)) { - echo html_tag( 'p', '
' . - _("No persons matching your search was found"), +if (empty($query) && empty($show) && !isset($listall)) { + echo html_tag( 'p', '
' . + _("No persons matching your search were found"), 'center' ) . - "\n\n", + "\n\n"; exit; } -/* Initialize addressbook */ -$abook = addressbook_init(); +/* Initialize addressbook, show init errors only in bottom frame */ +$showerr=($show=='form' ? false : true); +$abook = addressbook_init($showerr); -/* Create search form */ -if ($show == 'form' && empty($listall)) { - echo '
' . "\n" . +/* Create search form (top frame) */ +if ($show == 'form' && ! isset($listall)) { + echo '' . "\n" . html_tag( 'table', '', '', '', 'border="0" width="100%" height="100%"' ) . html_tag( 'tr' ) . - html_tag( 'td', ' ' . _("Search for") . "\n", 'left', '', 'nowrap valign="middle" width="10%"' ) . + html_tag( 'td', ' \n", 'left', '', + 'style="white-space: nowrap;" valign="middle" width="10%"' ) . html_tag( 'td', '', 'left', '', '' ) . - '\n"; + addInput('query', $query, 28); /* List all backends to allow the user to choose where to search */ if ($abook->numbackends > 1) { - echo '' . _("in") . ' \n"; + echo addSelect('backend', $selopts, '-1', TRUE); } else { - echo '' . "\n"; + echo addHidden('backend', '-1'); } - + echo '' . html_tag( 'tr', html_tag( 'td', '', 'left' ) . html_tag( 'td', - '' . - ' | ' . "\n" . - ' | ' . "\n" , + '' . + ' | ' . "\n" . + ' | ' . "\n" , 'left' ) ) . '
' . "\n"; } else { - - /* Show personal addressbook */ - if ($show == 'blank' && empty($listall)) { + /** + * List addresses (bottom frame) + * If listall is set, list all entries in selected backend. + * If $show is 'blank' (initial call of address book popup) - list + * personal address book. + */ + if ($show == 'blank' || isset($listall)) { if($backend != -1 || $show == 'blank') { if ($show == 'blank') { @@ -228,9 +262,9 @@ if ($show == 'form' && empty($listall)) { display_result($res, false); } else { echo html_tag( 'p', '' . - sprintf(_("Unable to list addresses from %s"), - $abook->backends[$backend]->sname) . '' , - 'center' ) . "\n"; + sprintf(_("Unable to list addresses from %s"), + $abook->backends[$backend]->sname) . '' , + 'center' ) . "\n"; } } else { $res = $abook->list_addr(); @@ -238,43 +272,34 @@ if ($show == 'form' && empty($listall)) { display_result($res, true); } - } else { - if( !empty( $listall ) ){ - $query = '*'; + } elseif (!empty($query)) { + /* Do the search (listall is not set. query is set.)*/ + + if($backend == -1) { + $res = $abook->s_search($query); + } else { + $res = $abook->s_search($query, $backend); } - /* Do the search */ - if (!empty($query)) { - - if($backend == -1) { - $res = $abook->s_search($query); - } else { - $res = $abook->s_search($query, $backend); - } - - if (!is_array($res)) { - echo html_tag( 'p', '
' . - _("Your search failed with the following error(s)") . - ':
' . $abook->error . "
\n" , - 'center' ) . - "\n\n"; - exit; - } - - if (sizeof($res) == 0) { - echo html_tag( 'p', '
' . - _("No persons matching your search was found") . "\n" , - 'center' ) . - "\n\n"; - exit; - } - + if (!is_array($res)) { + echo html_tag( 'p', '
' . + _("Your search failed with the following error(s)") . + ':
' . nl2br(htmlspecialchars($abook->error)) . "
\n" , + 'center' ); + } elseif (sizeof($res) == 0) { + echo html_tag( 'p', '
' . + _("No persons matching your search were found") . "\n" , + 'center' ); + } else { display_result($res); } + } else { + /** + * listall is not set, query is not set or empty. + * User hit search button without entering search expression. + */ + echo html_tag( 'p', '
' . _("Nothing to search") . "\n",'center' ); } - } - -echo "\n"; - +$oTemplate->display('footer.tpl'); ?>