Code

Updated mail method kolab
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 9 Dec 2008 07:25:20 +0000 (07:25 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 9 Dec 2008 07:25:20 +0000 (07:25 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@13192 594d385d-05f5-0310-b6e9-bd551577e9d8

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

index 0823fd0e68389c09d6c28399df2de16fe92f61db..a15945d2c5a7d60ea6a3ba417914f36f61050798 100644 (file)
@@ -22,6 +22,9 @@ class mailMethodKolab extends mailMethodCyrus
       "cyrus-userquota" => "gosaMailQuota",
       "kolabHomeServer" => "gosaMailServer");
 
+  protected $user_prefix    = 'user.';
+  protected $share_prefix   = 'shared\\.';
+
   protected $userObjectClasses = array("kolabInetOrgPerson");
   protected $shareObjectClasses = array("kolabSharedFolder");
 
@@ -89,6 +92,25 @@ class mailMethodKolab extends mailMethodCyrus
   }
 
 
+  /*! \brief  Checks whether this account is removeable or not.
+              There may be some dependencies left, eg. kolab.
+   */
+  public function accountRemoveable(&$reason = "")
+  {
+    if(isset($this->parent->attrs)){
+      $checkArray  = array("kolabInvitationPolicy","unrestrictedMailSize", "calFBURL","kolabDelegate","kolabFreeBusyFuture");
+      foreach($checkArray as $index){
+        if(isset($this->parent->attrs[$index])){
+          $reason = _("Mail settings cannot be removed while there are delegations configured!");
+          return(false);
+        }
+      }
+    }
+    return(true);
+  }
+
+
+
   /* \brief  Returns the selected folder type. 
       !! Those values are dummy values, the base class doesn't use folder types;
      @return  Array  The folde type.