LSldapObject :: fireEvent() : Fixed notice PHP
[ldapsaisie.git] / public_html / includes / class / class.LSldapObject.php
index 091ac67..1d223fd 100644 (file)
@@ -114,7 +114,7 @@ class LSldapObject {
   function reloadData() {
     $data = LSldap :: getAttrs($this -> dn);
     foreach($this -> attrs as $attr_name => $attr) {
-      if(!$this -> attrs[$attr_name] -> reloadData($data[$attr_name]))
+      if(!$this -> attrs[$attr_name] -> reloadData( (isset($data[$attr_name])?$data[$attr_name]:NULL) ))
         return;
     }
     return true;
@@ -444,7 +444,7 @@ class LSldapObject {
           if((isset($test['filter'])||isset($test['basedn']))&&(isset($test['result']))) {
             $sparams=(isset($test['scope']))?array('scope' => $test['scope']):array();
             $this -> other_values['val']=$val;
-            $sfilter_user=(isset($test['basedn']))?getFData($test['filter'],$this,'getValue'):NULL;
+            $sfilter_user=(isset($test['filter']))?getFData($test['filter'],$this,'getValue'):NULL;
             if(isset($test['object_type'])) {
               $test_obj = new $test['object_type']();
               $sfilter=$test_obj->getObjectFilter();
@@ -1058,6 +1058,18 @@ class LSldapObject {
   }
 
   /**
+   * Ajoute une valeur dans le tableau $this -> other_values
+   *
+   * @param[in] $name string Le nom de la valeur
+   * @param[in] $value mixed La valeur
+   *
+   * @retval void
+   **/
+  function registerOtherValue($name,$value) {
+    $this -> other_values[$name]=$value;
+  }
+
+  /**
    * Retourn un tableau pour un select d'un objet du même type
    * 
    * @author Benjamin Renard <brenard@easter-eggs.com>
@@ -1065,7 +1077,7 @@ class LSldapObject {
    * @retval array('dn' => 'display')
    */
   function getSelectArray($pattern=NULL,$topDn=NULL,$displayFormat=NULL,$approx=false,$cache=true) {
-    return $this -> listObjectsName($filter,$topDn,array('pattern' => $pattern),$displayFormat,$cache);
+    return $this -> listObjectsName(NULL,$topDn,array('pattern' => $pattern),$displayFormat,$cache);
   }
 
   /**
@@ -1830,7 +1842,7 @@ class LSldapObject {
     }
     
     // Binding via addEvent
-    if (is_array($this -> _events[$event])) {
+    if (isset($this -> _events[$event]) && is_array($this -> _events[$event])) {
       foreach ($this -> _events[$event] as $e) {
         if ($e['class']) {
           if (class_exists($e['class'])) {
@@ -1873,7 +1885,7 @@ class LSldapObject {
     }
     
     // Binding via addObjectEvent
-    if (is_array($this -> _objectEvents[$event])) {
+    if (isset($this -> _objectEvents[$event]) && is_array($this -> _objectEvents[$event])) {
       foreach ($this -> _objectEvents[$event] as $e) {
         if (method_exists($e['obj'],$e['meth'])) {
           try {