X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Faddrbook_search_html.php;h=cbbfa933c00f47b0b904e64b544f8ccbe32b4c91;hp=1809f6f7f7b98f953fc96ed34c76eae65911f201;hb=fb16d2197c20586635e987c44f97683e7c8d9b88;hpb=6c7fd6caa94f0dcfdc25863bd8e7c21d9cf30d50 diff --git a/src/addrbook_search_html.php b/src/addrbook_search_html.php index 1809f6f7..cbbfa933 100644 --- a/src/addrbook_search_html.php +++ b/src/addrbook_search_html.php @@ -2,8 +2,16 @@ /** ** addrbook_search.php ** - ** Handle addressbook searching with pure html. This file is included from compose.php + ** Copyright (c) 1999-2000 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! **/ session_start(); @@ -12,100 +20,193 @@ include("../config/config.php"); if (!isset($strings_php)) include("../functions/strings.php"); + if (!isset($auth_php)) + include("../functions/auth.php"); if (!isset($page_header_php)) include("../functions/page_header.php"); - if (!isset($imap_php)) - include("../functions/imap.php"); if (!isset($date_php)) include("../functions/date.php"); - if (!isset($mime_php)) - include("../functions/mime.php"); if (!isset($smtp_php)) include("../functions/smtp.php"); if (!isset($display_messages_php)) include("../functions/display_messages.php"); if (!isset($addressbook_php)) include("../functions/addressbook.php"); + if (!isset($plugin_php)) + include("../functions/plugin.php"); include("../src/load_prefs.php"); + // Insert hidden data + function addr_insert_hidden() { + global $body, $subject, $send_to, $send_to_cc, $send_to_bcc; + printf("\n", + htmlspecialchars($body)); + printf("\n", + htmlspecialchars($subject)); + printf("\n", + htmlspecialchars($send_to)); + printf("\n", + htmlspecialchars($send_to_cc)); + printf("\n", + htmlspecialchars($send_to_bcc)); + } + + + // 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 --- - echo "\n"; displayPageHeader($color, "None"); - //
- + // Initialize addressbook + $abook = addressbook_init(); + $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 "
"; - echo "".nl2br($body).""; + // Header + print "\n"; + printf('', + $color[0], _("Address Book Search")); + print "
%s
\n"; - if(!empty($query)) { - $abook = addressbook_init(); - $res = $abook->s_search($query); + // Search form + print "
\n"; + printf('
'."\n", + $PHP_SELF); + print "\n"; + printf("
\n"); + printf(" %s\n", _("Search for")); + printf(" \n", + htmlspecialchars($addrquery)); + + // List all backends to allow the user to choose where to search + if($abook->numbackends > 1) { + printf("%s \n"); + } else { + printf("\n"); + } + printf("", + _("Search")); + printf(" | \n", + _("List all")); + printf("
\n"); + addr_insert_hidden(); + print "
"; + print "
"; + do_hook("addrbook_html_search_below"); + // End search form + + // Show personal addressbook + if(!isset($addrquery) || !empty($listall)) { + + if($backend != -1 || !isset($addrquery)) { + if(!isset($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); + } + + } 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); - exit; + printf("


%s:
%s

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


%s.

\n\n", - _("No persons matching your search was found")); - exit; + printf("


%s.

\n\n", + _("No persons matching your search was found")); + exit; } - // 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["email"], - $row["label"], $row["source"]); - $line++; - } - print "
 ". - " %s %s". - " %s". - " %s
". - " To". - " Cc ". - " %s  ". - "%s ". - " %s  %s
"; - echo ""; - echo "
"; - echo ""; + addr_display_result($res); } ?> +