index e7c01c3aa12c827ffdf99a20c1e44280a7f813f6..00751345df2b5bded55ff1813d3d026893ca14f1 100644 (file)
--- a/include/class_plugin.inc
+++ b/include/class_plugin.inc
/* Save values to object */
foreach ($this->attributes as $val){
if (chkacl ($this->acl, "$val") == "" && isset ($_POST["$val"])){
-
/* Check for modifications */
if (get_magic_quotes_gpc()) {
$data= stripcslashes($_POST["$val"]);
if ($this->$val != $data){
$this->is_modified= TRUE;
}
+
+ /* Okay, how can I explain this fix ...
+ * In firefox, disabled option fields aren't selectable ... but in IE you can select these fileds.
+ * So IE posts these 'unselectable' option, with value = chr(194)
+ * chr(194) seems to be the in between the ...option> </option.. because there is no value=".." specified in these option fields
+ * This was added for W3c compliance, but now causes these ... ldap errors ...
+ * So we set these Fields to ""; a normal empty string, and we can check these values in plugin::check() again ...
+ */
+ if(isset($data[0]) && $data[0] == chr(194)) {
+ $data = "";
+ }
$this->$val= $data;
}
}
} else {
$state= "";
}
- $display= "<table width=\"100%\"><tr>\n<td colspan=2><p><b>$text</b></p>\n";
+ $display= "<table summary=\"\" width=\"100%\"><tr>\n<td colspan=2><p><b>$text</b></p>\n";
$display.= "<input type=submit value=\"$button_text\" name=\"modify_state\" ".
chkacl($this->acl, "all")." ".$state.
"><p class=\"seperator\"> </p></td></tr></table>";
{
/* Find postcreate entries for this class */
$command= search_config($this->config->data['MENU'], get_class($this), "POSTCREATE");
- if ($command == ""){
- $command= search_config($this->config->data['SERVICE'], get_class($this), "POSTCREATE");
+ if ($command == "" && isset($this->config->data['TABS'])){
+ $command= search_config($this->config->data['TABS'], get_class($this), "POSTCREATE");
}
if ($command != ""){
/* Walk through attribute list */
foreach ($this->attributes as $attr){
- $command= preg_replace("/%$attr/", $this->$attr, $command);
+ if (!is_array($this->$attr)){
+ $command= preg_replace("/%$attr/", $this->$attr, $command);
+ }
}
$command= preg_replace("/%dn/", $this->dn, $command);
if (check_command($command)){
{
/* Find postcreate entries for this class */
$command= search_config($this->config->data['MENU'], get_class($this), "POSTMODIFY");
- if ($command == ""){
- $command= search_config($this->config->data['SERVICE'], get_class($this), "POSTMODIFY");
+ if ($command == "" && isset($this->config->data['TABS'])){
+ $command= search_config($this->config->data['TABS'], get_class($this), "POSTMODIFY");
}
if ($command != ""){
/* Walk through attribute list */
foreach ($this->attributes as $attr){
- $command= preg_replace("/%$attr/", $this->$attr, $command);
+ if (!is_array($this->$attr)){
+ $command= preg_replace("/%$attr/", $this->$attr, $command);
+ }
}
$command= preg_replace("/%dn/", $this->dn, $command);
if (check_command($command)){
{
/* Find postremove entries for this class */
$command= search_config($this->config->data['MENU'], get_class($this), "POSTREMOVE");
- if ($command == ""){
- $command= search_config($this->config->data['SERVICE'], get_class($this), "POSTREMOVE");
+ if ($command == "" && isset($this->config->data['TABS'])){
+ $command= search_config($this->config->data['TABS'], get_class($this), "POSTREMOVE");
}
if ($command != ""){
/* Walk through attribute list */
foreach ($this->attributes as $attr){
- $command= preg_replace("/%$attr/", $this->$attr, $command);
+ if (!is_array($this->$attr)){
+ $command= preg_replace("/%$attr/", $this->$attr, $command);
+ }
}
$command= preg_replace("/%dn/", $this->dn, $command);
if (check_command($command)){
$this->reconnect= true;
return (0);
} else {
- $this->error = "Could not bind to " . $binddn;
+ $this->error = "Could not bind to " . $credentials['ADMIN'];
return NULL;
}
}