From 9382b6dfe1521bd5e7f7006ad9ba43315cc7d2e5 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sun, 05 Jun 2011 03:42:45 -0400
Subject: [PATCH] - Fix contacts import (#1487947)

---
 program/steps/addressbook/func.inc   |    8 ++------
 program/js/app.js                    |    8 +++-----
 program/steps/addressbook/search.inc |    3 ++-
 3 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/program/js/app.js b/program/js/app.js
index c81c511..88297e9 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -304,14 +304,11 @@
           if (this.gui_objects.qsearchbox) {
             $(this.gui_objects.qsearchbox).focusin(function() { rcmail.contact_list.blur(); });
           }
+
+          this.enable_command('group-create', this.env.address_sources[this.env.source].groups);
         }
 
         this.set_page_buttons();
-
-        if (this.env.address_sources && this.env.address_sources[this.env.source] && !this.env.address_sources[this.env.source].readonly) {
-          this.enable_command('add', 'import', true);
-          this.enable_command('group-create', this.env.address_sources[this.env.source].groups);
-        }
 
         if (this.env.cid) {
           this.enable_command('show', 'edit', true);
@@ -339,6 +336,7 @@
         if (this.contact_list && this.contact_list.rowcount > 0)
           this.enable_command('export', true);
 
+        this.enable_command('add', 'import', !this.env.readonly);
         this.enable_command('list', 'listgroup', 'advanced-search', true);
         break;
 
diff --git a/program/steps/addressbook/func.inc b/program/steps/addressbook/func.inc
index 62fde97..8b7e641 100644
--- a/program/steps/addressbook/func.inc
+++ b/program/steps/addressbook/func.inc
@@ -50,14 +50,10 @@
 
 if (!empty($_REQUEST['_gid']))
     $CONTACTS->set_group(get_input_value('_gid', RCUBE_INPUT_GPC));
-/*
-// set message set for search result
-if (!empty($_REQUEST['_search']) && isset($_SESSION['search'][$_REQUEST['_search']]))
-    $CONTACTS->set_search_set($_SESSION['search'][$_REQUEST['_search']]);
-*/
+
 // set data source env
 $OUTPUT->set_env('source', $source ? $source : '0');
-$OUTPUT->set_env('readonly', $CONTACTS->readonly, false);
+$OUTPUT->set_env('readonly', $CONTACTS->readonly);
 if (!$OUTPUT->ajax_call) {
     $search_mods = $RCMAIL->config->get('addressbook_search_mods', $SEARCH_MODS_DEFAULT);
     $OUTPUT->set_env('search_mods', $search_mods);
diff --git a/program/steps/addressbook/search.inc b/program/steps/addressbook/search.inc
index fff6bd6..498e9b2 100644
--- a/program/steps/addressbook/search.inc
+++ b/program/steps/addressbook/search.inc
@@ -72,7 +72,8 @@
     }
 
     // search request ID
-    $search_request = md5('addr'.implode($fields, ',')
+    $search_request = md5('addr'
+        .(is_array($fields) ? implode($fields, ',') : $fields)
         .(is_array($search) ? implode($search, ',') : $search));
 
     // reset page

--
Gitblit v1.9.1