Code

Fixed imapserver service
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 26 Sep 2006 05:12:56 +0000 (05:12 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 26 Sep 2006 05:12:56 +0000 (05:12 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@4769 594d385d-05f5-0310-b6e9-bd551577e9d8

plugins/admin/systems/class_goImapServer.inc

index f045946e13f222d8e2266a8479a98959dc0c245d..43a2a583445c1b6096d82f408676d12cba40603e 100644 (file)
@@ -63,7 +63,16 @@ class goImapServer extends goService {
     /* set new status */
     if(isset($_POST['ExecAction'])){
       if(isset($this->Actions[$_POST['action']])){
-        $this->setStatus($_POST['action']);
+
+        $tmp = $this->plInfo();
+        foreach($tmp['plProvidedAcls'] as $name => $translation) {
+          if(preg_match("/^".$_POST['action']."$/i",$name)){
+            if($this->acl_is_writeable($name)){
+              $this->setStatus($_POST['action']);
+            }
+          }
+        }
+
       }
     }
 
@@ -125,10 +134,13 @@ class goImapServer extends goService {
       plugin::save_object(); 
 
       foreach(array("cyrusImap","cyrusImapSSL","cyrusPop3","cyrusPop3SSL") as $checkbox) { 
-        if(!isset($_POST[$checkbox])){
-          $this->$checkbox = false;
-        }else{
-          $this->$checkbox = true;
+
+        if($this->acl_is_writeable($checkbox)){
+          if(!isset($_POST[$checkbox])){
+            $this->$checkbox = false;
+          }else{
+            $this->$checkbox = true;
+          }
         }
       }
     }
@@ -149,9 +161,10 @@ class goImapServer extends goService {
 
           "plProvidedAcls"=> array(
 
-            "start"         => _("Start"),
-            "stop"          => _("Stop"),
-            "restart"       => _("Restart"),
+            "start"           => _("Start"),
+            "stop"            => _("Stop"),
+            "restart"         => _("Restart"),
+            "repair_database" => _("Repair database"),
 
             "goImapName"        =>_("Server identifier"),
             "goImapConnect"     =>_("Connect URL"),