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');
}
/**
* 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;
//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 --- */
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();
/* Search form */
echo addForm($PHP_SELF.'?html_addr_search=true', 'post', 'f');
addr_insert_hidden();
if (isset($session)) {
echo addHidden('session', $session);
}
$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 == '' && empty($listall)) {
$backend = $abook->localbackend;
}
$res = $abook->list_addr($backend);
if (is_array($res)) {
usort($res,'alistcmp');
addr_display_result($res, false);
} else {
plain_error_message(_("Unable to list addresses from %s"), $abook->backends[$backend]->sname);
}
} else {
$res = $abook->list_addr();
usort($res,'alistcmp');
addr_display_result($res, true);
}
$oTemplate->display('footer.tpl');
exit;
} elseif (!empty($addrquery)) {
/* Do the search */
if ($backend == -1) {
$res = $abook->s_search($addrquery);
} else {
$res = $abook->s_search($addrquery, $backend);
}
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) {
//FIXME don't echo HTML from core -- especially convoluted given that there is template code immediately above AND below this block
echo '