X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Faddrbook_search_html.php;h=7f4d7e5c23b49d4076e11bc96283c0f58ec1999d;hp=585680dc018a97fca25e5353d740929272afd36d;hb=353d074afac6827c90f4bb03e846c5e453d3b5b1;hpb=43fdb2a474b990b8b7db21bfb05b30a70ac768a0 diff --git a/src/addrbook_search_html.php b/src/addrbook_search_html.php index 585680dc..7f4d7e5c 100644 --- a/src/addrbook_search_html.php +++ b/src/addrbook_search_html.php @@ -1,181 +1,146 @@ ' . "\n" . - '' . "\n" . - '' . "\n" . - '' . "\n" . - '' . "\n" . - '' . "\n" . - '\n" . '' . - "\n"; - } - - -/* List search results */ -function addr_display_result($res, $includesource = true) { - global $color, $PHP_SELF; + include('../include/init.php'); +} - if (sizeof($res) <= 0) return; +/** SquirrelMail required files. */ +include_once(SM_PATH . 'functions/date.php'); +include_once(SM_PATH . 'functions/addressbook.php'); +include_once(SM_PATH . 'templates/util_addressbook.php'); - echo '
\n" . - '' . "\n"; - addr_insert_hidden(); - $line = 0; +sqgetGlobalVar('session', $session, SQ_POST); +sqgetGlobalVar('mailbox', $mailbox, SQ_POST); +if (! sqgetGlobalVar('query', $addrquery, SQ_POST)) + $addrquery=''; +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, $mailprio, + $request_mdn, $request_dr, $identity, $session, $composeMessage, $action; + +//FIXME Do not echo HTML from the core. This file already uses templates mostly, so why are we echoing here at all?!? + // someone tell me why this is needed and if so, why it isn't something like replace \r\n with \n + // if (substr($body, 0, 1) == "\r") { + // echo addHidden('body', "\n".$body); + // } else { + echo addHidden('body', $body); + // } + + if (is_object($composeMessage) && $composeMessage->entities) + echo addHidden('attachments', urlencode(serialize($composeMessage->entities))); + + echo addHidden('session', $session). + addHidden('smaction', $action). + addHidden('subject', $subject). + addHidden('send_to', $send_to). + addHidden('send_to_bcc', $send_to_bcc). + addHidden('send_to_cc', $send_to_cc). + addHidden('mailprio', $mailprio). + addHidden('request_mdn', $request_mdn). + addHidden('request_dr', $request_dr). + addHidden('identity', $identity). + addHidden('mailbox', $mailbox). + addHidden('from_htmladdr_search', 'true'); +} - echo '' . - '\n"; - - foreach ($res as $row) { - echo '' . - '' . - ''; - if ($includesource) { - echo ''; - } - echo "\n"; - $line ++; - } - echo '' . - '
 ' . - ' ' . _("Name") . - ' ' . _("E-mail") . - ' ' . _("Info"); - if ($includesource) { - echo ' ' . _("Source"); - } +/** + * List search results + * @param array $res Array containing results of search + * @param bool $includesource If true, adds backend column to address listing + */ +function addr_display_result($res, $includesource = true) { + global $PHP_SELF, $oTemplate, $oErrorHandler; + - echo "
' . - ' To ' . - ' Cc ' . - ' Bcc ' . - ' ' . $row['name'] . '  ' . $row['email'] . '  ' . $row['label'] . '  ' . $row['source'] . ' 
' . - '' . - '
'; +//FIXME: no HTML output from core + echo addForm($PHP_SELF, 'post', 'addressbook', '', '', array(), TRUE). + addHidden('html_addr_search_done', 'true'); + addr_insert_hidden(); + + $oTemplate->assign('compose_addr_pop', false); + $oTemplate->assign('include_abook_name', $includesource); + $oTemplate->assign('addresses', formatAddressList($res)); + + $oTemplate->display('addrbook_search_list.tpl'); + + echo ''; } /* --- End functions --- */ -global $mailbox; -displayPageHeader($color, $mailbox); +if ($compose_new_win == '1') { + compose_Header($color, $mailbox); +} +else { + displayPageHeader($color, $mailbox); +} + +/** set correct value of $default_charset */ +set_my_charset(); /* Initialize addressbook */ $abook = addressbook_init(); -?> - -
- -
-
-
- -\n
\n" . - '
' . "\n
\n" . - ' ' . _("Search for") . "\n"; +echo addForm($PHP_SELF.'?html_addr_search=true', 'post', 'f'); addr_insert_hidden(); -if (! isset($addrquery)) - $addrquery = ''; -echo ' \n"; - -/* List all backends to allow the user to choose where to search */ -if (!isset($backend)) { $backend = ''; } -if ($abook->numbackends > 1) { - echo '' . _("in") . ' \n"; -} else { - echo '' . "\n"; +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 ($addrquery == '' || !empty($listall)) { +$oTemplate->assign('compose_addr_pop', false); +$oTemplate->assign('backends', getBackends()); +$oTemplate->display('addressbook_search_form.tpl'); + +echo "\n"; +do_hook('addrbook_html_search_below', $null); +/* End search form */ + +/* List addresses. Show personal addressbook */ +if ($addrquery == '' || ! empty($listall)) { + // TODO: recheck all conditions and simplity if statements if (! isset($backend) || $backend != -1 || $addrquery == '') { - if ($addrquery == '') { + if ($addrquery == '' && empty($listall)) { $backend = $abook->localbackend; } - /* echo '

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

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

' . - sprintf(_("Unable to list addresses from %s"), - $abook->backends[$backend]->sname) . - "

\n"; + plain_error_message(_("Unable to list addresses from %s"), $abook->backends[$backend]->sname); } } else { @@ -183,42 +148,39 @@ if ($addrquery == '' || !empty($listall)) { usort($res,'alistcmp'); addr_display_result($res, true); } + $oTemplate->display('footer.tpl'); exit; - -} else { - +} elseif (!empty($addrquery)) { /* Do the search */ - if (!empty($addrquery) && empty($listall)) { - - if ($backend == -1) { - $res = $abook->s_search($addrquery); - } else { - $res = $abook->s_search($addrquery, $backend); - } + if ($backend == -1) { + $res = $abook->s_search($addrquery); + } else { + $res = $abook->s_search($addrquery, $backend); + } - if (!is_array($res)) { - echo '


' . - _("Your search failed with the following error(s)") . ':
' . - $abook->error . "

\n\n"; - } else { - if (sizeof($res) == 0) { - echo '


' . - _("No persons matching your search was found") . - ".

\n\n"; - } else { - addr_display_result($res); - } - } + if (!is_array($res)) { + plain_error_message(_("Your search failed with the following error(s)") .':
'. nl2br(sm_encode_html_special_chars($abook->error))); + } elseif (sizeof($res) == 0) { + $oTemplate->assign('note', _("No persons matching your search were found")); + $oTemplate->display('note.tpl'); + } else { + addr_display_result($res); } +} else { + // not first time display, not listall and search is empty + // TODO: I think, this part of control structure is never reached. + plain_error_message(_("Nothing to search")); } if ($addrquery == '' || sizeof($res) == 0) { - /* printf('
'."\n", $PHP_SELF); */ - echo '
' . "\n"; +//FIXME don't echo HTML from core -- especially convoluted given that there is template code immediately above AND below this block + echo '
'. + addForm('compose.php','post','k', '', '', array(), TRUE); addr_insert_hidden(); - echo '' . "\n" . - '
'; + echo '' . "\n" . + ''; } -?> - +echo '
'; + +$oTemplate->display('footer.tpl');