/* Are we limiting to only the 'To:' field? */
$to_only = Util::getFormData('to_only');
+$search_params = IMP_Compose::getAddressSearchParams();
$apiargs = array(
'addresses' => array($search),
'addressbooks' => array($source),
- 'fields' => array()
+ 'fields' => $search_params['fields']
);
-if ($search_fields_pref = $prefs->getValue('search_fields')) {
- foreach (explode("\n", $search_fields_pref) as $s) {
- $s = trim($s);
- $s = explode("\t", $s);
- if (!empty($s[0]) && ($s[0] == $source)) {
- $apiargs['fields'][array_shift($s)] = $s;
- break;
- }
- }
-}
-
-$results = array();
+$addresses = array();
if (Util::getFormData('searched') || $prefs->getValue('display_contact')) {
$results = $registry->call('contacts/search', $apiargs);
-}
-
-/* The results list returns an array for each source searched - at least
- * that's how it looks to me. Make it all one array instead. */
-$addresses = array();
-foreach ($results as $r) {
- $addresses = array_merge($addresses, $r);
+ foreach ($results as $r) {
+ /* The results list returns an array for each source searched. Make
+ * it all one array instead. */
+ $addresses = array_merge($addresses, $r);
+ }
}
/* If self-submitted, preserve the currently selected users encoded by
$template = new IMP_Template();
$template->setOption('gettext', true);
-$template->set('action', Horde::url(Util::addParameter(Horde::applicationUrl('contacts.php'), 'uniq', base_convert(microtime(), 10, 36))));
+$template->set('action', Horde::url(Util::addParameter(Horde::applicationUrl('contacts.php'), array('uniq' => uniqid(mt_rand())))));
$template->set('formname', $formname);
$template->set('formInput', Util::formInput());
$template->set('search', htmlspecialchars($search));
} else {
$template->set('source_list', key($source_list));
}
+
if ($browser->isBrowser('msie')) {
$template->set('select_event', ' ondblclick="addAddress(\'to\')"');
$template->set('option_event', null);
$template->set('select_event', null);
$template->set('option_event', ' ondblclick="addAddress(\'to\')"');
}
+
$a_list = array();
foreach ($addresses as $addr) {
if (!empty($addr['email'])) {
if (strpos($addr['email'], ',') !== false) {
- $a_list[] = @htmlspecialchars(MIME::rfc2822Encode($addr['name'], 'personal') . ': ' . $addr['email'] . ';', ENT_QUOTES, NLS::getCharset());
+ $a_list[] = @htmlspecialchars(Horde_Mime_Address::encode($addr['name'], 'personal') . ': ' . $addr['email'] . ';', ENT_QUOTES, NLS::getCharset());
} else {
$mbox_host = explode('@', $addr['email']);
if (isset($mbox_host[1])) {
- $a_list[] = @htmlspecialchars(MIME::rfc822WriteAddress($mbox_host[0], $mbox_host[1], $addr['name']), ENT_QUOTES, NLS::getCharset());
+ $a_list[] = @htmlspecialchars(Horde_Mime_Address::writeAddress($mbox_host[0], $mbox_host[1], $addr['name']), ENT_QUOTES, NLS::getCharset());
}
}
}