Code

Added some fixes for iframe scrolling
[gosa.git] / plugins / admin / systems / class_goImapServer.inc
index 96ddbdb787b6a46120924122e92f5038dcf74644..8a95ed7ad854c541aa75ac12c36700dc3f7d904c 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']);
+            }
+          }
+        }
+
       }
     }
 
@@ -84,7 +93,7 @@ class goImapServer extends goService {
   function getListEntry()
   {
     $fields               = goService::getListEntry();
-    $fields['Message']    = _("Cyrus service");
+    $fields['Message']    = _("IMAP/POP3 (Cyrus) service");
     $fields['AllowRemove']= true;
     $fields['AllowEdit']  = true;
     return($fields);
@@ -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;
+          }
         }
       }
     }
@@ -139,19 +151,20 @@ class goImapServer extends goService {
   function plInfo()
   {
     return (array(
-          "plShortName"   => _("Imap"),
-          "plDescription" => _("Imap service"),
+          "plShortName"   => _("IMAP/POP3"),
+          "plDescription" => _("IMAP/POP3")." ("._("Services").")",
           "plSelfModify"  => FALSE,
           "plDepends"     => array(),
-          "plPriority"    => 0,
+          "plPriority"    => 94,
           "plSection"     => array("administration"),
           "plCategory"    => array("server"),
 
           "plProvidedAcls"=> array(
 
-            "start"         => _("Start"),
-            "stop"          => _("Stop"),
-            "restart"       => _("Restart"),
+            "start"           => _("Start"),
+            "stop"            => _("Stop"),
+            "restart"         => _("Restart"),
+            "repair_database" => _("Repair database"),
 
             "goImapName"        =>_("Server identifier"),
             "goImapConnect"     =>_("Connect URL"),