diff --git a/plugins/admin/applications/class_applicationParameters.inc b/plugins/admin/applications/class_applicationParameters.inc
index 663068805656905a94c79e6305adeabcb9611ac2..426bbf190dbc186b959cff38298291b332907d54 100644 (file)
var $option_value= array();
/* attribute list for save action */
- var $attributes= array();
+ var $attributes= array("gosaApplicationParameter");
var $objectclasses= array();
function applicationParameters ($config, $dn= NULL)
{
plugin::plugin ($config, $dn);
+ $this->gosaApplicationParameter = array();
+
if (isset($this->attrs['gosaApplicationParameter'])){
$this->is_account= TRUE;
for ($i= 0; $i<$this->attrs['gosaApplicationParameter']['count']; $i++){
{
/* Call parent execute */
plugin::execute();
+
/* Do we need to flip is_account state? */
if (isset($_POST['modify_state'])){
$this->is_account= !$this->is_account;
} else {
$display= $this->show_header(_("Create options"),
_("This application has options disabled. You can enable them by clicking below."));
+ $this->parent->by_object['application']->generateTemplate();
return ($display);
}
}
$this->option_name[]= "";
$this->option_value[]= "";
}
+
+ $mode= "";
+ if (chkacl($this->acl, "create") != ""){
+ $mode= "disabled";
+ }
+
$table= "<table summary=\"\"><tr><td>"._("Variable")."</td><td>"._("Default value")."</td><td></td></tr>";
if (count ($this->option_name)){
for ($i= 0; $i < count($this->option_name); $i++){
$table.="<tr><td><input name=\"option$i\" size=25 maxlength=50 ".
- "value=\"".$this->option_name[$i]."\"></td><td><input name=\"value$i\" ".
- "size=60 maxlength=250 value=\"".$this->option_value[$i]."\"><br></td><td>".
+ "value=\"".$this->option_name[$i]."\" $mode></td><td><input name=\"value$i\" ".
+ "size=60 maxlength=250 value=\"".$this->option_value[$i]."\" $mode><br></td><td>".
"<input type=\"submit\" name=\"remove$i\" value=\"".
- _("Remove")."\"></td></tr>";
+ _("Remove")."\" $mode></td></tr>";
}
}
$table.= "</table>";
- $table.="<input type=\"submit\" name=\"add_option\" value=\""._("Add option")."\">";
+
+ if ($mode == ""){
+ $table.="<input type=\"submit\" name=\"add_option\" value=\""._("Add option")."\">";
+ }
/* Show main page */
$smarty= get_smarty();
$smarty->assign("table", $table);
$display.= $smarty->fetch(get_template_path('parameters.tpl', TRUE));
+ $this->parent->by_object['application']->generateTemplate();
return ($display);
}
$ldap->cd($this->dn);
@DEBUG (DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__,
$this->attributes, "Save");
- $ldap->modify($this->attrs);
- show_ldap_error($ldap->get_error());
+ $this->cleanup();
+ $ldap->modify ($this->attrs);
+
+ show_ldap_error($ldap->get_error(), _("Removing application parameters failed"));
/* Optionally execute a command after we're done */
$this->handle_post_events('remove');
/* Check values */
function check()
{
- $message= array();
+ /* Call common method to give check the hook */
+ $message= plugin::check();
/* Check for valid option names */
for ($i= 0; $i<count($this->option_name); $i++){
$ldap->cd($this->dn);
@DEBUG (DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__,
$this->attributes, "Save");
- $ldap->modify($this->attrs);
- show_ldap_error($ldap->get_error());
+ $this->cleanup();
+ $ldap->modify ($this->attrs);
+
+ show_ldap_error($ldap->get_error(), _("Saving applications parameters failed"));
/* Optionally execute a command after we're done */
$this->handle_post_events('modify');