X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fapplications%2Fclass_applicationParameters.inc;h=f72339f9618ba2806f4a0a11a2949c6537f1e7c0;hb=28a907d9f00d28cbb058ac1ac319b1b22cff33ea;hp=12e055a77083a36f1d51d95e6181fa2c9c7a280b;hpb=07e6492263fef837908f515518bd362b433a44ce;p=gosa.git diff --git a/plugins/admin/applications/class_applicationParameters.inc b/plugins/admin/applications/class_applicationParameters.inc index 12e055a77..f72339f96 100644 --- a/plugins/admin/applications/class_applicationParameters.inc +++ b/plugins/admin/applications/class_applicationParameters.inc @@ -11,12 +11,15 @@ class applicationParameters extends plugin var $option_value= array(); /* attribute list for save action */ + + var $CopyPasteVars = array("option_name","option_value"); var $attributes= array("gosaApplicationParameter"); var $objectclasses= array(); +var $ui; - function applicationParameters ($config, $dn= NULL) + function applicationParameters ($config, $dn= NULL, $parent= NULL) { - plugin::plugin ($config, $dn); + plugin::plugin ($config, $dn, $parent); $this->gosaApplicationParameter = array(); @@ -33,6 +36,7 @@ class applicationParameters extends plugin } else { $this->is_account= FALSE; } + $this->ui = get_userinfo(); } function execute() @@ -40,8 +44,11 @@ class applicationParameters extends plugin /* Call parent execute */ plugin::execute(); + $acl= get_permissions ($this->dn, $this->ui->subtreeACL); + $this->acl= get_module_permission($acl, "application", $this->dn); + /* Do we need to flip is_account state? */ - if (isset($_POST['modify_state'])){ + if (isset($_POST['modify_state']) && chkacl($this->acl,"gotoLogonScript")==""){ $this->is_account= !$this->is_account; } @@ -66,22 +73,25 @@ class applicationParameters extends plugin $this->option_value[$i]= ""; } - /* Remove value from list */ - for ($i= 0; $ioption_name); $i++){ - if (isset($_POST["remove$i"])){ - $k= 0; - $on= array(); - $ov= array(); - for ($j= 0; $joption_name); $j++){ - if ($j != $i){ - $on[$k]= $this->option_name[$j]; - $ov[$k]= $this->option_value[$j]; - $k++; + if(chkacl($this->acl,"gotoLogonScript") == ""){ + + /* Remove value from list */ + for ($i= 0; $ioption_name); $i++){ + if (isset($_POST["remove$i"])){ + $k= 0; + $on= array(); + $ov= array(); + for ($j= 0; $joption_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; } } @@ -90,18 +100,27 @@ class applicationParameters extends plugin $this->option_name[]= ""; $this->option_value[]= ""; } + + $mode= ""; + if (chkacl($this->acl, "create") != ""){ + $mode= "disabled"; + } + $table= ""; if (count ($this->option_name)){ for ($i= 0; $i < count($this->option_name); $i++){ $table.=""; + _("Remove")."\" $mode>"; } } $table.= "
"._("Variable").""._("Default value")."
option_name[$i]."\">option_value[$i]."\">
". + "value=\"".$this->option_name[$i]."\" $mode>option_value[$i]."\" $mode>
". "
"; - $table.=""; + + if ($mode == ""){ + $table.=""; + } /* Show main page */ $smarty= get_smarty(); @@ -123,9 +142,9 @@ class applicationParameters extends plugin @DEBUG (DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, $this->attributes, "Save"); $this->cleanup(); -$ldap->modify ($this->attrs); + $ldap->modify ($this->attrs); - show_ldap_error($ldap->get_error()); + show_ldap_error($ldap->get_error(), _("Removing application parameters failed")); /* Optionally execute a command after we're done */ $this->handle_post_events('remove'); @@ -135,15 +154,17 @@ $ldap->modify ($this->attrs); /* Save data to object */ function save_object() { - if (isset($_POST['option0'])){ - for ($i= 0; $ioption_name); $i++){ - $this->option_name[$i]= $_POST["option$i"]; - $this->option_value[$i]= ""; - if ($_POST["value$i"] != ""){ - $this->option_value[$i]= $_POST["value$i"]; - } - } - } + if(chkacl($this->acl,"gotoLogonScript") == ""){ + if (isset($_POST['option0'])){ + for ($i= 0; $ioption_name); $i++){ + $this->option_name[$i]= $_POST["option$i"]; + $this->option_value[$i]= ""; + if ($_POST["value$i"] != ""){ + $this->option_value[$i]= $_POST["value$i"]; + } + } + } + } } @@ -185,9 +206,9 @@ $ldap->modify ($this->attrs); @DEBUG (DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, $this->attributes, "Save"); $this->cleanup(); -$ldap->modify ($this->attrs); + $ldap->modify ($this->attrs); - show_ldap_error($ldap->get_error()); + show_ldap_error($ldap->get_error(), _("Saving applications parameters failed")); /* Optionally execute a command after we're done */ $this->handle_post_events('modify');