diff --git a/gosa-plugins/goto/admin/applications/class_applicationParameters.inc b/gosa-plugins/goto/admin/applications/class_applicationParameters.inc
index 9f11eb6b94a78f05aaeb9f6850a631bb73cfcc61..fecd5927e27a0bf6b5fda5e086222958620f37cf 100644 (file)
<?php
class applicationParameters extends plugin
{
- /* CLI vars */
- var $cli_summary= "Manage application class parameters";
- var $cli_description= "Some longer text\nfor help";
- var $cli_parameters= array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser");
-
/* Parameters */
var $option_name= array();
var $option_value= array();
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 */
$display= "";
if ($this->parent !== NULL){
if ($this->is_account){
- $display= $this->show_disable_header(_("Remove options"),
- _("This application has options. You can disable them by clicking below."));
+ $display= $this->show_disable_header(_("Remove options"),msgPool::featuresEnabled(_("parameter")));
} else {
- $display= $this->show_enable_header(_("Create options"),
- _("This application has options disabled. You can enable them by clicking below."));
+ $display= $this->show_enable_header(_("Create options"), msgPool::featuresDisabled(_("parameter")));
$this->parent->by_object['application']->generateTemplate();
return ($display);
}
}
- /* Add option to list */
- if (isset($_POST['add_option'])){
- $i= count($this->option_name);
- $this->option_name[$i]= "";
- $this->option_value[$i]= "";
- }
+ if($this->acl_is_writeable("gosaApplicationParameter")){
- /* Remove value from list */
- for ($i= 0; $i<count($this->option_name); $i++){
- if (isset($_POST["remove$i"])){
- $k= 0;
- $on= array();
- $ov= array();
- for ($j= 0; $j<count($this->option_name); $j++){
- if ($j != $i){
- $on[$k]= $this->option_name[$j];
- $ov[$k]= $this->option_value[$j];
- $k++;
+ /* Add option to list */
+ if (isset($_POST['add_option'])){
+ $i= count($this->option_name);
+ $this->option_name[$i]= "";
+ $this->option_value[$i]= "";
+ }
+
+ /* Remove value from list */
+ for ($i= 0; $i<count($this->option_name); $i++){
+ if (isset($_POST["remove$i"])){
+ $k= 0;
+ $on= array();
+ $ov= array();
+ for ($j= 0; $j<count($this->option_name); $j++){
+ if ($j != $i){
+ $on[$k]= $this->option_name[$j];
+ $ov[$k]= $this->option_value[$j];
+ $k++;
+ }
}
+ $this->option_name= $on;
+ $this->option_value= $ov;
+ break;
}
- $this->option_name= $on;
- $this->option_value= $ov;
- break;
}
}
$this->option_name[]= "";
$this->option_value[]= "";
}
+
$acl = $this->getacl("gosaApplicationParameter") ;
}
}
$table.= "</table>";
- $table.="<input type=\"submit\" name=\"add_option\" value=\""._("Add option")."\">";
+ $table.="<input type=\"submit\" name=\"add_option\" $tag value=\""._("Add option")."\">";
/* Show main page */
$smarty= get_smarty();
$this->cleanup();
$ldap->modify ($this->attrs);
- show_ldap_error($ldap->get_error(), sprintf(_("Removing of application parameters with dn '%s' failed."),$this->dn));
+ if (!$ldap->success()){
+ msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_MOD, get_class()));
+ }
/* Optionally execute a command after we're done */
$this->handle_post_events('remove');
/* Save data to object */
function save_object()
{
- if (isset($_POST['option0'])){
+ if (isset($_POST['option0']) && $this->acl_is_writeable("gosaApplicationParameter")){
for ($i= 0; $i<count($this->option_name); $i++){
$this->option_name[$i]= $_POST["option$i"];
$this->option_value[$i]= "";
/* Check for valid option names */
for ($i= 0; $i<count($this->option_name); $i++){
if (!preg_match ("/^[a-z0-9_]+$/i", $this->option_name[$i])){
- $message[]= sprintf(_("Value '%s' specified as option name is not valid."),
- $this->option_name[$i]);
+ $message[]= msgPool::invalid(_("Name"), $this->option_name[$i],"/^[a-z0-9_]+$/i");
}
}
$this->cleanup();
$ldap->modify ($this->attrs);
- show_ldap_error($ldap->get_error(), sprintf(_("Saving of application parameters with dn '%s' failed."),$this->dn));
+ if (!$ldap->success()){
+ msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_MOD, get_class()));
+ }
/* Optionally execute a command after we're done */
$this->handle_post_events('modify');