Code

Added fixes for several special characters
authorcajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 12 Apr 2006 15:45:26 +0000 (15:45 +0000)
committercajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 12 Apr 2006 15:45:26 +0000 (15:45 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@3041 594d385d-05f5-0310-b6e9-bd551577e9d8

include/class_config.inc
include/class_ldap.inc
include/functions.inc

index 6169f48c108fedd27f88efbf1550343904173c45..4c3161a8822f15e260b13f17bf3704e23d4efcee 100644 (file)
@@ -529,7 +529,7 @@ class config  {
                        }
 
                        /* Fix name, if it contains a replace tag */
-                        $name= preg_replace('/###GOSAREPLACED###/', ',', $name);
+                        $name= @ldap::fix($name);
 
                        /* Check if current name is too long, then cut it */
                        if(strlen($name)> $max_size){
index 96ff38e203b08e796d2a663a796ef53dd8e9d190..ad98c710bc000e74412c8fdcf86dc01b83bbc6e3 100644 (file)
@@ -48,6 +48,10 @@ class LDAP{
     if (COLON_OVERRIDE == TRUE){
       $res= preg_replace("/\\\\,/", '###GOSAREPLACED###', $dn);
       $res= preg_replace("/\\\\2C/", '###GOSAREPLACED###', $res);
+      $res= preg_replace("/\(/", '###OPENBRACE###', $res);
+      $res= preg_replace("/\)/", '###CLOSEBRACE###', $res);
+      $res= preg_replace("/\//", '###SLASH###', $res);
+
       #if ($dn != $res){
       #  echo "Conversation from '$dn' to '$res'<br>";
       #}
@@ -62,6 +66,10 @@ class LDAP{
   {
     if (COLON_OVERRIDE == TRUE){
       $res= preg_replace("/###GOSAREPLACED###/", '\,', $dn);
+      $res= preg_replace("/###OPENBRACE###/", '(', $res);
+      $res= preg_replace("/###CLOSEBRACE###/", ')', $res);
+      $res= preg_replace("/###SLASH###/", '/', $res);
+
       #if ($dn != $res){
       #  echo "Fix from '$dn' to '$res'<br>";
       #}
@@ -592,6 +600,7 @@ class LDAP{
     if ($target == $this->basedn){
      return;
     }
+echo "FIXME";
     $l= array_reverse(explode(",", preg_replace("/,".$this->basedn."/", "", $target)));
     $cdn= $this->basedn;
     foreach ($l as $part){
index 0c47bada49ee79d34c3e914f9b1763c82754caeb..807fbb63643b06dd9d7fea8fba6b3d5e11b9c10a 100644 (file)
@@ -781,9 +781,6 @@ function convert_department_dn($dn)
     }
   }
 
-  /* Fix name, if it contains a replace tag */
-  $dep= preg_replace('/###GOSAREPLACED###/', ',', $dep);
-
   /* Return and remove accidently trailing slashes */
   return rtrim($dep, "/");
 }
@@ -805,7 +802,7 @@ function convert_department_dn2($dn)
 
   /* Return and remove accidently trailing slashes */
   $tmp = rtrim($dep, "/");
-  return $tmp;
+  return @ldap::fix($tmp);
 }