From 93c01888547210f54bd593d0774f9f63ec38f7a7 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 21 Apr 2010 09:44:14 -0400
Subject: [PATCH] - Add sizelimit and timelimit variables in LDAP config (#1486544)

---
 CHANGELOG                      |    1 +
 program/include/rcube_ldap.php |    4 +++-
 config/main.inc.php.dist       |    5 ++++-
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 46224fa..f22025f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG RoundCube Webmail
 ===========================
 
+- Add sizelimit and timelimit variables in LDAP config (#1486544)
 - Hide IMAP host dropdown when single host is defined (#1486326)
 - Add images pre-loading on login page (#1451160)
 - Add HTTP_X_REAL_IP and HTTP_X_FORWARDED_FOR to successful logins log (#1486441)
diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist
index 062a0c9..07f1873 100644
--- a/config/main.inc.php.dist
+++ b/config/main.inc.php.dist
@@ -387,7 +387,10 @@
   'sort'          => 'cn',    // The field to sort the listing by.
   'scope'         => 'sub',   // search mode: sub|base|list
   'filter'        => '',      // used for basic listing (if not empty) and will be &'d with search queries. example: status=act
-  'fuzzy_search'  => true);   // server allows wildcard search
+  'fuzzy_search'  => true     // server allows wildcard search
+  'sizelimit'     => '0',     // Enables you to limit the count of entries fetched. Setting this to 0 means no limit. 
+  'timelimit'     => '0',     // Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit. 
+);
 */
 
 // An ordered array of the ids of the addressbooks that should be searched
diff --git a/program/include/rcube_ldap.php b/program/include/rcube_ldap.php
index 4cacd52..04ccd6c 100644
--- a/program/include/rcube_ldap.php
+++ b/program/include/rcube_ldap.php
@@ -627,7 +627,9 @@
 
       $this->_debug("C: Search [".$filter."]");
 
-      if ($this->ldap_result = @$function($this->conn, $this->prop['base_dn'], $filter, array_values($this->fieldmap), 0, 0)) {
+      if ($this->ldap_result = @$function($this->conn, $this->prop['base_dn'], $filter,
+          array_values($this->fieldmap), 0, (int) $this->prop['sizelimit'], (int) $this->prop['timelimit'])
+      ) {
         $this->_debug("S: ".ldap_count_entries($this->conn, $this->ldap_result)." record(s)");
         return true;
       } else

--
Gitblit v1.9.1