Code

Just use the -n option from dh_installinit and the world is fine again.
[gosa.git] / trunk / gosa-core / include / class_ldap.inc
index bcf06951d4d6c573e0be93f7106c9a9af26a84de..ef8eb0565af9c46c6dfc751c35579dc229df722e 100644 (file)
@@ -120,7 +120,10 @@ class LDAP{
      requests. I.e. member=....                                               */
   static function prepare4filter($dn)
   {
-    return normalizeLdap(str_replace('\\\\', '\\\\\\', LDAP::fix($dn)));
+    $str = normalizeLdap(str_replace('\\\\', '\\\\\\', LDAP::fix($dn)));
+    /* Special-case '\,' for filters */
+    $str = str_replace('\\,', '\\5C2C', $str);
+    return $str;
   }
 
 
@@ -221,6 +224,12 @@ class LDAP{
       $this->clearResult($srp);
       $this->sr[$srp] = @ldap_search($this->cid, LDAP::fix($this->basedn), $filter, $attrs);
       $this->error = @ldap_error($this->cid);
+      if ($this->error == "Size limit exceeded") {
+        global $config;
+        if (preg_match('/true/i', $config->get_cfg_value('sizelimitWarning'))) {
+          msg_dialog::display(_("Size Limit Exceeded"), sprintf(_("More than %d objects were found in a query, the rest is being ignored!"), session::global_get('size_limit')), WARNING_DIALOG);
+        }
+      }
       $this->resetResult($srp);
       $this->hasres[$srp]=true;