X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fsystems%2Fclass_goImapServer.inc;h=8a95ed7ad854c541aa75ac12c36700dc3f7d904c;hb=6a1a66d8a6cd5da5cd6b48c3e9719db322f96435;hp=96ddbdb787b6a46120924122e92f5038dcf74644;hpb=2806184fcd6396f086cb2b1bc2938820120eef9f;p=gosa.git diff --git a/plugins/admin/systems/class_goImapServer.inc b/plugins/admin/systems/class_goImapServer.inc index 96ddbdb78..8a95ed7ad 100644 --- a/plugins/admin/systems/class_goImapServer.inc +++ b/plugins/admin/systems/class_goImapServer.inc @@ -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"),