Code

Updated templates
[gosa.git] / gosa-plugins / mail / personal / mail / class_mail-methods-cyrus.inc
index 97e742771eae3c32a04b7dd9be9fec21807132f7..97971a41574c20230f71e999cb828f680ea5a64b 100644 (file)
@@ -247,10 +247,28 @@ class mailMethodCyrus extends mailMethod{
       if ($list === FALSE){
         @DEBUG (DEBUG_MAIL, __LINE__, __FUNCTION__, __FILE__, "<b>".$this->account_id."</b>" , 
           "<b>IMAP: Add/Update account</b> on server :".$this->MailServer);
-        if (!imap_createmailbox($this->imap_handle, $cfg["connect"]. $this->account_id)){
+        if (!imap_createmailbox($this->imap_handle, $cfg["connect"].$this->account_id)){
           $this->error = imap_last_error();
           return(FALSE);
         }
+
+        /* Autocreate configured default folders */ 
+        $folders= $this->config->get_cfg_value("cyrusAutocreateFolders", null);
+        if ($folders) {
+          $foldersToCreate= explode(",", $folders);
+          $cyrus_delim= $this->cyrusUseSlashes?"/":".";
+
+          // Walk thru list of specified folders
+          foreach ($foldersToCreate as $folder) {
+            @DEBUG (DEBUG_MAIL, __LINE__, __FUNCTION__, __FILE__, "<b>".$this->account_id."</b>" , 
+              "<b>IMAP: Add/Update account folder ".$folder."</b> on server :".$this->MailServer);
+            if(!imap_createmailbox($this->imap_handle, $cfg["connect"].$this->account_id.$cyrus_delim.$folder)) {
+              $this->error= imap_last_error();
+              return(FALSE);
+            }
+          }
+
+        }
       }
     }
     return(TRUE);