diff --git a/gosa-plugins/goto/admin/applications/class_applicationGeneric.inc b/gosa-plugins/goto/admin/applications/class_applicationGeneric.inc
index df892ee231fc49dfe7688654a3f49cca02b42e51..b6caa4d92e41ee5becc1d495299430004d078fb3 100644 (file)
$this->orig_cn = $this->cn;
$this->orig_base = $this->base;
+ $this->gosaApplicationFlags = preg_replace("/[^GDLMO]/","",$this->gosaApplicationFlags);
}
"placeInStartmenu" => "M",
"overwriteConfig" => "O");
+
/* Save application flags */
foreach($checks as $name => $flag){
if($this->acl_is_writeable($name)){
$set = isset($_POST[$name]) && $_POST[$name] == 1;
- if(!$set && preg_match("/".$flag."/",$this->gosaApplicationFlags)){
- $this->gosaApplicationFlags = preg_replace("/".$flag."/","",$this->gosaApplicationFlags);
+ if(!$set && strstr($this->gosaApplicationFlags,$flag)){
+ $this->gosaApplicationFlags = str_replace($flag,"",$this->gosaApplicationFlags);
}elseif($set && !preg_match("/".$flag."/",$this->gosaApplicationFlags)){
- $this->gosaApplicationFlags = preg_replace("/]/",$flag."]",$this->gosaApplicationFlags);
+ $this->gosaApplicationFlags .= $flag;
}
}
}
/* Get application script without header part, to check if we must save the script itself */
$script = preg_replace('/.*### END HEADER ###/s', '', $this->gotoLogonScript);
+ $this->gosaApplicationFlags ="[{$this->gosaApplicationFlags}]";
plugin::save();
$this->attrs["gosaApplicationIcon"]= $this->gosaApplicationIcon;