X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_plugin.inc;h=953f18ddaab3023caf0e722c82c3ce6e4a25aa6e;hb=b6ceb3ba053010e9a0559d2569e29c229bafeeaa;hp=eb4d40a8fe4218e862e2a7088a4e8d0d14d3ba9f;hpb=3338ab4810fa3b94362548bb73ec7489595f4883;p=gosa.git diff --git a/include/class_plugin.inc b/include/class_plugin.inc index eb4d40a8f..953f18dda 100644 --- a/include/class_plugin.inc +++ b/include/class_plugin.inc @@ -141,10 +141,10 @@ class plugin /* Get LDAP descriptor */ $ldap= $this->config->get_ldap_link(); - if ($dn != NULL){ + if ($dn !== NULL){ /* Load data to 'attrs' and save 'dn' */ - if ($parent != NULL){ + if ($parent !== NULL){ $this->attrs= $parent->attrs; } else { $ldap->cat ($dn); @@ -175,7 +175,6 @@ class plugin } /* Is Account? */ - error_reporting(0); $found= TRUE; foreach ($this->objectclasses as $obj){ if (preg_match('/top/i', $obj)){ @@ -186,7 +185,6 @@ class plugin break; } } - error_reporting(E_ALL | E_STRICT); if ($found){ $this->is_account= TRUE; @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, @@ -243,7 +241,7 @@ class plugin /* Get current objectClasses in order to add the required ones */ $ldap->cat($this->dn); $tmp= $ldap->fetch (); - $oc= array(); + $oc= array(); if (isset($tmp['objectClass'])){ $oc= $tmp['objectClass']; unset($oc['count']); @@ -319,22 +317,18 @@ class plugin $ldap->cat($this->dn); $tmp= $ldap->fetch (); - + + $oc= array(); if (isset($tmp['objectClass'])){ $oc= $tmp["objectClass"]; $this->is_new= FALSE; + unset($oc['count']); } else { - $oc= array("count" => 0); $this->is_new= TRUE; } /* Load (minimum) attributes, add missing ones */ - $this->attrs['objectClass']= $this->objectclasses; - for ($i= 0; $i<$oc["count"]; $i++){ - if (!in_array_ics($oc[$i], $this->objectclasses)){ - $this->attrs['objectClass'][]= $oc[$i]; - } - } + $this->attrs['objectClass']= gosa_array_merge($oc,$this->objectclasses); /* Copy standard attributes */ foreach ($this->attributes as $val){ @@ -406,15 +400,12 @@ class plugin $message= array(); /* Skip if we've no config object */ - if (!isset($this->config)){ + if (!isset($this->config) || !is_object($this->config)){ return $message; } /* Find hooks entries for this class */ - $command= search_config($this->config->data['MENU'], get_class($this), "CHECK"); - if ($command == "" && isset($this->config->data['TABS'])){ - $command= search_config($this->config->data['TABS'], get_class($this), "CHECK"); - } + $command= $this->config->search(get_class($this), "CHECK", array('menu', 'tabs')); if ($command != ""){ @@ -575,10 +566,7 @@ class plugin function postcreate($add_attrs= array()) { /* Find postcreate entries for this class */ - $command= search_config($this->config->data['MENU'], get_class($this), "POSTCREATE"); - if ($command == "" && isset($this->config->data['TABS'])){ - $command= search_config($this->config->data['TABS'], get_class($this), "POSTCREATE"); - } + $command= $this->config->search(get_class($this), "POSTCREATE",array('menu', 'tabs')); if ($command != ""){ @@ -610,10 +598,7 @@ class plugin function postmodify($add_attrs= array()) { /* Find postcreate entries for this class */ - $command= search_config($this->config->data['MENU'], get_class($this), "POSTMODIFY"); - if ($command == "" && isset($this->config->data['TABS'])){ - $command= search_config($this->config->data['TABS'], get_class($this), "POSTMODIFY"); - } + $command= $this->config->search(get_class($this), "POSTMODIFY",array('menu','tabs')); if ($command != ""){ @@ -645,11 +630,7 @@ class plugin function postremove($add_attrs= array()) { /* Find postremove entries for this class */ - $command= search_config($this->config->data['MENU'], get_class($this), "POSTREMOVE"); - if ($command == "" && isset($this->config->data['TABS'])){ - $command= search_config($this->config->data['TABS'], get_class($this), "POSTREMOVE"); - } - + $command= $this->config->search(get_class($this), "POSTREMOVE",array('menu','tabs')); if ($command != ""){ /* Additional attributes */ @@ -764,7 +745,6 @@ class plugin } $r=ldap_bind($ds,$this->config->current['ADMIN'], $this->config->current['PASSWORD']); - error_reporting (0); $sr=ldap_read($ds, @LDAP::fix($src_dn), "objectClass=*"); /* Fill data from LDAP */ @@ -773,7 +753,7 @@ class plugin $ei=ldap_first_entry($ds, $sr); if ($ei) { foreach($attrs as $attr => $val){ - if ($info = ldap_get_values_len($ds, $ei, $attr)){ + if ($info = @ldap_get_values_len($ds, $ei, $attr)){ for ($i= 0; $i<$info['count']; $i++){ if ($info['count'] == 1){ $new[$attr]= $info[$i]; @@ -787,7 +767,6 @@ class plugin } /* close conncetion */ - error_reporting (E_ALL | E_STRICT); ldap_unbind($ds); /* Adapt naming attribute */ @@ -1430,7 +1409,7 @@ class plugin $this->snapDialog = NULL; } - if($this->snapDialog){ + if(is_object($this->snapDialog )){ $this->snapDialog->save_object(); return($this->snapDialog->execute()); }