Code

Added first test for get_module_permissions
[gosa.git] / include / class_ldap.inc
index a95e002afaabc15a62f6f9030fe4e5a14df8c691..04294325d4a263b086c1a88c54c05f753b092756 100644 (file)
@@ -59,14 +59,17 @@ class LDAP{
      Currently used codes:
       ,   => CO
       \2C => CO
+      \22 => TO
+      \"  => TO
+      \+  => PL
       (   => OB
       )   => CB
       /   => SL                                                                  */
   function convert($dn)
   {
     if (SPECIALS_OVERRIDE == TRUE){
-      $tmp= preg_replace(array("/\\\\,/", "/\\\\2C/", "/\(/", "/\)/", "/\//"),
-                           array("\001CO", "\001CO", "\001OB", "\001CB", "\001SL"),
+      $tmp= preg_replace(array("/\\\\,/", "/\\\\2C/", "/\(/", "/\)/", "/\//", "/\\\\22/", '/\\\\"/', "/\\\\3D/", "/\\\\2B/", '/\\\\+/'),
+                           array("\001CO", "\001CO", "\001OB", "\001CB", "\001SL", "\001TO", "\001TO", "\001GL", "\001PL", "\001PL"),
                            $dn);
       return (preg_replace('/,\s+/', ',', $tmp));
     } else {
@@ -82,8 +85,8 @@ class LDAP{
   function fix($dn)
   {
     if (SPECIALS_OVERRIDE == TRUE){
-      return (preg_replace(array("/\001CO/", "/\001OB/", "/\001CB/", "/\001SL/"),
-                           array("\,", "(", ")", "/"),
+      return (preg_replace(array("/\001CO/", "/\001OB/", "/\001CB/", "/\001SL/", "/\001TO/", "/\001PL/", "/\001GL/"),
+                           array("\,", "(", ")", "/", '\"', "\+", "="),
                            $dn));
     } else {
       return ($dn);
@@ -589,7 +592,7 @@ class LDAP{
           }
 
           if($this->error != "Success"){
-            /* Some error occured */
+            /* Some error occurred */
             print "---------------------------------------------";
             print $this->get_error()."<br>";
             print $sourcedn."<br>";
@@ -1311,10 +1314,13 @@ function gen_xls ($dn, $filter= "(objectClass=*)", $attributes= array('*'), $rec
 
   function get_objectclasses()
   {
+    global $config;
     $objectclasses = array();
 
-    if(!isset($this->config->data['MAIN']['SCHEMA_CHECK']) || !preg_match("/true/i",$config->data['MAIN']['SCHEMA_CHECK'])){
-      return($objectclasses);
+    if(isset($config) && preg_match("/config/i",get_class($config))){
+      if(!isset($config->data['MAIN']['SCHEMA_CHECK']) || !preg_match("/true/i",$config->data['MAIN']['SCHEMA_CHECK'])){
+        return($objectclasses);
+      }
     }
 
 # Get base to look for schema