From e2a8b4dd6d6d2160fcb6b03a54da848478eb9c75 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 06 Oct 2011 08:31:38 -0400
Subject: [PATCH] Skip VLV if a group is selected; show advanced search form if activating a 'searchonly' address book

---
 program/steps/addressbook/list.inc |    4 +++-
 program/include/rcube_ldap.php     |    2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/program/include/rcube_ldap.php b/program/include/rcube_ldap.php
index d1a6c80..97b0e7e 100644
--- a/program/include/rcube_ldap.php
+++ b/program/include/rcube_ldap.php
@@ -934,7 +934,7 @@
             $this->_debug("C: Search [$filter]");
 
             // when using VLV, we get the total count by...
-            if (!$count && $function != 'ldap_read' && $this->prop['vlv']) {
+            if (!$count && $function != 'ldap_read' && $this->prop['vlv'] && !$this->group_id) {
                 // ...either reading numSubOrdinates attribute
                 if ($this->prop['numsub_filter'] && ($result_count = @$function($this->conn, $this->base_dn, $this->prop['numsub_filter'], array('numSubOrdinates'), 0, 0, 0))) {
                     $counts = ldap_get_entries($this->conn, $result_count);
diff --git a/program/steps/addressbook/list.inc b/program/steps/addressbook/list.inc
index 313b52e..b4b7306 100644
--- a/program/steps/addressbook/list.inc
+++ b/program/steps/addressbook/list.inc
@@ -74,8 +74,10 @@
     // get contacts for this user
     $result = $CONTACTS->list_records(array('name'));
     
-    if (!$result->count && $result->searchonly)
+    if (!$result->count && $result->searchonly) {
         $OUTPUT->show_message('contactsearchonly', 'notice');
+        $OUTPUT->command('command', 'advanced-search');
+    }
 }
 
 // update message count display

--
Gitblit v1.9.1