Use new MIME functions; remove duplicate code
authorMichael M Slusarz <slusarz@curecanti.org>
Tue, 25 Nov 2008 06:26:08 +0000 (23:26 -0700)
committerMichael M Slusarz <slusarz@curecanti.org>
Tue, 25 Nov 2008 06:26:08 +0000 (23:26 -0700)
imp/contacts.php

index ce70fdd..585c055 100644 (file)
@@ -32,33 +32,21 @@ $formname = Util::getFormData('formname', 'compose');
 /* 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
@@ -74,7 +62,7 @@ foreach (explode('|', Util::getFormData('sa')) as $addr) {
 $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));
@@ -88,6 +76,7 @@ if (count($source_list) > 1) {
 } else {
     $template->set('source_list', key($source_list));
 }
+
 if ($browser->isBrowser('msie')) {
     $template->set('select_event', ' ondblclick="addAddress(\'to\')"');
     $template->set('option_event', null);
@@ -95,15 +84,16 @@ if ($browser->isBrowser('msie')) {
     $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());
             }
         }
     }