X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2Fadmin%2Fogroups%2Fclass_mailogroup.inc;h=cddc5b07d2c13cc15a6a1e237cf45c467c1f53c7;hb=1a1cd62339c5c255de11b0d5b78649e067e7bc34;hp=f3eacafb0791b3de8e704a6d9134847b36c1e16c;hpb=07e6492263fef837908f515518bd362b433a44ce;p=gosa.git diff --git a/plugins/admin/ogroups/class_mailogroup.inc b/plugins/admin/ogroups/class_mailogroup.inc index f3eacafb0..cddc5b07d 100644 --- a/plugins/admin/ogroups/class_mailogroup.inc +++ b/plugins/admin/ogroups/class_mailogroup.inc @@ -12,9 +12,9 @@ class mailogroup extends plugin var $members= array(); - function mailogroup ($config, $dn= NULL) + function mailogroup ($config, $dn= NULL, $parent= NULL) { - plugin::plugin($config, $dn); + plugin::plugin($config, $dn, $parent); /* Include config object */ $this->config= $config; @@ -26,21 +26,25 @@ class mailogroup extends plugin function execute() { - /* Call parent execute */ - plugin::execute(); + /* Call parent execute */ + plugin::execute(); /* Do we need to flip is_account state? */ - if (isset($_POST['modify_state'])){ - $this->is_account= !$this->is_account; + if(isset($_POST['modify_state'])){ + if($this->is_account && $this->acl_is_removeable()){ + $this->is_account= FALSE; + }elseif(!$this->is_account && $this->acl_is_createable()){ + $this->is_account= TRUE; + } } /* Show tab dialog headers */ if ($this->parent != NULL){ if ($this->is_account){ - $display= $this->show_header(_("Remove mail account"), + $display= $this->show_disable_header(_("Remove mail account"), _("This group has mail features enabled. You can disable them by clicking below.")); } else { - $display= $this->show_header(_("Create mail account"), _("This group has mail features disabled. You can enable them by clicking below.")); + $display= $this->show_enable_header(_("Create mail account"), _("This group has mail features disabled. You can enable them by clicking below.")); return ($display); } } @@ -48,9 +52,13 @@ class mailogroup extends plugin /* Initialize templating engine */ $smarty= get_smarty(); + $tmp = $this->plInfo(); + foreach($tmp['plProvidedAcls'] as $name => $translation){ + $smarty->assign($name."ACL",$this->getacl("mail")); + } + /* Assign mail attribute */ $smarty->assign("mail", $this->mail); - $smarty->assign("mailACL", chkacl($this->acl, "mail")); /* Show main page */ return ($display.$smarty->fetch (get_template_path('mail.tpl', TRUE))); @@ -93,14 +101,14 @@ class mailogroup extends plugin /* Save data to LDAP */ $ldap->cd($this->dn); $this->cleanup(); -$ldap->modify ($this->attrs); + $ldap->modify ($this->attrs); - show_ldap_error($ldap->get_error()); + show_ldap_error($ldap->get_error(), sprintf(_("Saving of object group/mail with dn '%s' failed."),$this->dn)); /* Optionally execute a command after we're done */ if ($this->initially_was_account == $this->is_account){ if ($this->is_modified){ - $this->handle_post_events("mofify"); + $this->handle_post_events("modify"); } } else { $this->handle_post_events("add"); @@ -126,9 +134,9 @@ $ldap->modify ($this->attrs); $this->attributes, "Save"); $ldap->cd($this->dn); $this->cleanup(); -$ldap->modify ($this->attrs); + $ldap->modify ($this->attrs); - show_ldap_error($ldap->get_error()); + show_ldap_error($ldap->get_error(), sprintf(_("Removing of object group/mail with dn '%s' failed."),$this->dn)); } @@ -147,6 +155,26 @@ $ldap->modify ($this->attrs); $this->mail = $_POST['mail']; } } + + + function plInfo() + { + return (array( + "plShortName" => _("Mail"), + "plDescription" => _("Mail group"), + "plSelfModify" => FALSE, + "plDepends" => array(), + "plPriority" => 0, + "plSection" => array("administration"), + "plCategory" => array("ogroups"), + "plProvidedAcls"=> array( + "mail" => _("Mail address")) + )); + } + + + + } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: