X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Faddrbook_search_html.php;h=c7062491e8a8283153f7550a10c8e06cbc034fad;hb=06c5423e19f5ce25d760deb5fb27c9912ebcc3f3;hp=d28825289ccb3b75240b499b79ff019a5f937b06;hpb=03656a356f1f95cd0d71e5de69ef156d43610d64;p=squirrelmail.git diff --git a/src/addrbook_search_html.php b/src/addrbook_search_html.php index d2882528..c7062491 100644 --- a/src/addrbook_search_html.php +++ b/src/addrbook_search_html.php @@ -1,109 +1,234 @@ \n"; - displayPageHeader($color, "None"); - //
- - - $body = stripslashes($body); - $send_to = stripslashes($send_to); - $send_to_cc = stripslashes($send_to_cc); - $send_to_bcc = stripslashes($send_to_bcc); - $subject = stripslashes($subject); - - echo "
"; - echo ""; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo ""; - echo "
"; - - if(!empty($query)) { - $abook = addressbook_init(); - $res = $abook->s_search($query); + +/** + * addrbook_search_html.php + * + * Copyright (c) 1999-2001 The Squirrelmail Development 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 + * + * NOTE: A lot of this code is similar to the code in + * addrbook_search.html -- If you change one, change + * the other one too! + * + * $Id$ + */ + +/*****************************************************************/ +/*** THIS FILE NEEDS TO HAVE ITS FORMATTING FIXED!!! ***/ +/*** PLEASE DO SO AND REMOVE THIS COMMENT SECTION. ***/ +/*** + Base level indent should begin at left margin, as ***/ +/*** the require_once below looks. ***/ +/*** + All identation should consist of four space blocks ***/ +/*** + Tab characters are evil. ***/ +/*** + all comments should use "slash-star ... star-slash" ***/ +/*** style -- no pound characters, no slash-slash style ***/ +/*** + FLOW CONTROL STATEMENTS (if, while, etc) SHOULD ***/ +/*** ALWAYS USE { AND } CHARACTERS!!! ***/ +/*** + Please use ' instead of ", when possible. Note " ***/ +/*** should always be used in _( ) function calls. ***/ +/*** Thank you for your help making the SM code more readable. ***/ +/*****************************************************************/ + +require_once('../src/validate.php'); +require_once('../functions/date.php'); +require_once('../functions/smtp.php'); +require_once('../functions/display_messages.php'); +require_once('../functions/addressbook.php'); +require_once('../functions/plugin.php'); + + // Insert hidden data + function addr_insert_hidden() { + global $body, $subject, $send_to, $send_to_cc, $send_to_bcc, $mailbox, + $identity; + + echo '' . "\n"; + echo '' . "\n"; + echo '' . "\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; + + echo '
\n"; + echo ''; + echo "\n"; + addr_insert_hidden(); + $line = 0; + + print ""; + printf("\n"; + + foreach ($res as $row) { + echo ''; + echo ''; + echo ''; + if($includesource) + echo ''; + echo "\n"; + $line ++; + } + printf('', + 4 + ($includesource ? 1 : 0), + _("Use Addresses")); + print '
 ". + " %s %s". + " %s", + _("Name"), _("E-mail"), _("Info")); + + if($includesource) + printf(" %s", _("Source")); + + print "
'; + echo ' To '; + echo ' Cc '; + echo ' Bcc '; + echo ' ' . $row['name'] . '  ' . $row['email'] . '  ' . $row['label'] . '  ' . $row['source'] . ' 
'; + print ''; + print '
'; + } + + // --- End functions --- + + global $mailbox; + displayPageHeader($color, $mailbox); + + // Initialize addressbook + $abook = addressbook_init(); + +?> + +
+ +
+
+
+ +\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(!isset($backend)) $backend = ""; + if($abook->numbackends > 1) { + printf("%s \n"; + } else { + print "\n"; + } + 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($addrquery == '' || !empty($listall)) { + + if(! isset($backend) || $backend != -1 || $addrquery == '') { + if($addrquery == '') + $backend = $abook->localbackend; + + //printf("

%s

\n", $abook->backends[$backend]->sname); + + $res = $abook->list_addr($backend); + + if(is_array($res)) { + 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", + printf("


%s:
%s

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


%s.

\n\n", + } else if(sizeof($res) == 0) { + printf("


%s.

\n\n", _("No persons matching your search was found")); - exit; + } else { + addr_display_result($res); } + } - // List search results - $line = 0; - print ""; - printf("\n", - _("Name"), _("E-mail"), _("Info"), _("Source")); - - ?> - - "; - echo " "; - echo " "; - echo " "; - echo " "; - - while(list($key, $row) = each($res)) { - printf("\n", - ($line % 2) ? " bgcolor=\"$color[0]\"" : "", $row["email"], - $row["email"], $row["name"], $row["email"], - $row["label"], $row["source"]); - $line++; - } - print "
 ". - " %s %s". - " %s". - " %s
". - " To". - " Cc ". - " %s  ". - "%s". - " %s  %s
"; - echo ""; - echo "
"; - echo ""; + if ($addrquery == '' || sizeof($res) == 0) { + printf('
'."\n", $PHP_SELF); + addr_insert_hidden(); + printf("\n", _("Return")); + print '
'; + print '
'; } ?> +