Code

Updated MultiSelectWindow and config::get_ldap_link()
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 6 Nov 2008 09:44:08 +0000 (09:44 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 6 Nov 2008 09:44:08 +0000 (09:44 +0000)
-Include ldap size limit check in MultiSelectWindow::AddDeparments()
-Set size_limit for each ldap_link() request.

git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@12931 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-core/include/class_MultiSelectWindow.inc
gosa-core/include/class_config.inc

index b18850122ac1166e9453161255c0c1f89c524410..5fe22de80c01dc4fd6e5ee417fd48c7c6ea68c67 100644 (file)
@@ -684,7 +684,7 @@ class MultiSelectWindow{
       $s_attrs[]= $data['ATTR']; 
     }
 
-    $tmp = get_list("(|".$s_filter.")",$s_acls,$this->selectedBase,$s_attrs,GL_NONE);
+    $tmp = get_list("(|".$s_filter.")",$s_acls,$this->selectedBase,$s_attrs,GL_NONE | GL_SIZELIMIT);
     foreach($tmp as $attrs){
       foreach($types as $name => $data){
         if(in_array($data['OC'],$attrs['objectClass']) && isset($attrs[$data['ATTR']][0])){
index 85a5d88a59dfd5748c6055776521778640473dbb..e52e1d235c010e165f46b3d33ef48dfc3711b2e0 100644 (file)
@@ -261,26 +261,26 @@ class config  {
         exit();
       }
 
-      if (!session::is_set('size_limit')){
-        session::set('size_limit',$this->current['LDAPSIZELIMIT']);
-        session::set('size_ignore',$this->current['LDAPSIZEIGNORE']);
-      }
-
-      if ($sizelimit){
-        $this->ldap->set_size_limit(session::get('size_limit'));
-      } else {
-        $this->ldap->set_size_limit(0);
-      }
-
       /* Move referrals */
       if (!isset($this->current['REFERRAL'])){
         $this->ldap->referrals= array();
       } else {
         $this->ldap->referrals= $this->current['REFERRAL'];
       }
+
+      if (!session::is_set('size_limit')){
+        session::set('size_limit',$this->current['LDAPSIZELIMIT']);
+        session::set('size_ignore',$this->current['LDAPSIZEIGNORE']);
+      }
     }
 
-    return new ldapMultiplexer($this->ldap);
+    $obj  = new ldapMultiplexer($this->ldap);
+    if ($sizelimit){
+      $obj->set_size_limit(session::get('size_limit'));
+    } else {
+      $obj->set_size_limit(0);
+    }
+    return($obj);
   }
 
   function set_current($name)