/**
* addrbook_search.php
*
- * Copyright (c) 1999-2005 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!
*
+ * @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.
- * @ignore
+ * Include the SquirrelMail initialization file.
*/
-define('SM_PATH','../');
+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/global.php');
-require_once(SM_PATH . 'functions/html.php');
-require_once(SM_PATH . 'functions/forms.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);
-
-sqgetGlobalVar('show' , $show);
-sqgetGlobalVar('query', $query, SQ_POST);
-sqgetGlobalVar('listall', $listall, SQ_POST);
-sqgetGlobalVar('backend', $backend, SQ_POST);
+include_once(SM_PATH . 'functions/forms.php');
+include_once(SM_PATH . 'functions/addressbook.php');
/**
* Function to include JavaScript code
*/
function insert_javascript() {
?>
- <script language="Javascript"><!--
+ <script type="text/javascript"><!--
function to_and_close($addr) {
to_address($addr);
/* ================= End of functions ================= */
-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();
global $default_charset;
set_my_charset();
-/* Initialize vars */
-if (!isset($query)) { $query = ''; }
-if (!isset($show)) { $show = ''; }
-if (!isset($backend)) { $backend = ''; }
-
/* Choose correct colors for top and bottom frame */
if ($show == 'form' && !isset($listall)) {
echo '<body text="' . $color[6] . '" bgcolor="' . $color[3] . '" ' .
}
/* Empty search */
-if (empty($query) && empty($show) && empty($listall)) {
+if (empty($query) && empty($show) && !isset($listall)) {
echo html_tag( 'p', '<br />' .
_("No persons matching your search were found"),
'center' ) .
$showerr=($show=='form' ? false : true);
$abook = addressbook_init($showerr);
-/* Create search form */
-if ($show == 'form' && empty($listall)) {
+/* Create search form (top frame) */
+if ($show == 'form' && ! isset($listall)) {
echo '<form name="sform" target="abookres" action="addrbook_search.php'.
'" method="post">' . "\n" .
html_tag( 'table', '', '', '', 'border="0" width="100%" height="100%"' ) .
html_tag( 'tr' ) .
- html_tag( 'td', ' <strong>' . _("Search for") . "</strong>\n", 'left', '', 'style="white-space: nowrap;" valign="middle" width="10%"' ) .
+ html_tag( 'td', ' <strong><label for="query">' . _("Search for") .
+ "</label></strong>\n", 'left', '',
+ 'style="white-space: nowrap;" valign="middle" width="10%"' ) .
html_tag( 'td', '', 'left', '', '' ) .
addInput('query', $query, 28);
/* List all backends to allow the user to choose where to search */
if ($abook->numbackends > 1) {
- echo '<strong>' . _("in") . '</strong> '."\n";
+ echo '<strong><label for="backend">' . _("in") . '</label></strong> '."\n";
$selopts = array();
$selopts['-1'] = _("All address books");
) .
'</table></form>' . "\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') {
display_result($res, false);
} else {
echo html_tag( 'p', '<strong>' .
- sprintf(_("Unable to list addresses from %s"),
- $abook->backends[$backend]->sname) . '</strong>' ,
- 'center' ) . "\n";
+ sprintf(_("Unable to list addresses from %s"),
+ $abook->backends[$backend]->sname) . '</strong>' ,
+ 'center' ) . "\n";
}
} else {
$res = $abook->list_addr();
display_result($res, true);
}
- } else {
- if( !empty( $listall ) ){
- $query = '*';
- }
-
- /* Do the search */
- if (!empty($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);
- }
-
- if (!is_array($res)) {
- echo html_tag( 'p', '<b><br />' .
- _("Your search failed with the following error(s)") .
- ':<br />' . $abook->error . "</b>\n" ,
- 'center' ) .
- "\n</body></html>\n";
- exit;
- }
-
- if (sizeof($res) == 0) {
- echo html_tag( 'p', '<br /><b>' .
- _("No persons matching your search were found") . "</b>\n" ,
- 'center' ) .
- "\n</body></html>\n";
- exit;
- }
+ if($backend == -1) {
+ $res = $abook->s_search($query);
+ } else {
+ $res = $abook->s_search($query, $backend);
+ }
+ if (!is_array($res)) {
+ echo html_tag( 'p', '<b><br />' .
+ _("Your search failed with the following error(s)") .
+ ':<br />' . nl2br(htmlspecialchars($abook->error)) . "</b>\n" ,
+ 'center' );
+ } elseif (sizeof($res) == 0) {
+ echo html_tag( 'p', '<br /><b>' .
+ _("No persons matching your search were found") . "</b>\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', '<br /><b>' . _("Nothing to search") . "</b>\n",'center' );
}
-
}
-
+$oTemplate->display('footer.tpl');
?>
-</body></html>
\ No newline at end of file