Code

Do not replace escaped '\\.' or '\\/' in cyrus account style
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 8 Dec 2008 14:29:57 +0000 (14:29 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 8 Dec 2008 14:29:57 +0000 (14:29 +0000)
-

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

gosa-plugins/mail/personal/mail/class_mail-methods.inc

index 60764445e1094fce25051b0e75f3d5b0dcebcc9a..cbbfabb271149696be5c67cb321cc3a86610e6ee 100644 (file)
@@ -240,6 +240,12 @@ class mailMethod{
   }
 
 
+  public function get_account_id()
+  {
+    $this->build_account_id();
+    return($this->account_id);
+  }
+
   /*! \brief  Create a new account id, like 'user/name@domain.com'.
    */
   protected function build_account_id()
@@ -250,10 +256,12 @@ class mailMethod{
     }else{
       $str = $this->share_prefix;
     }
+
     $uattrib = $this->uattrib;
     if($this->cyrusUseSlashes){
-      $str = preg_replace("/\./","/",$str);
+      $str = preg_replace("/[^\\\\]\./","/",$str);
     }
+    $str = preg_replace("/\\\\([\.\/])/","\\1",$str);
     $str = trim(strtolower($str . $this->parent->$uattrib));
     if($this->account_id != $str){
       $this->account_id = $str;