LSldapObject :: fireEvent() : Fixed notice PHP
[ldapsaisie.git] / public_html / includes / class / class.LSldapObject.php
index 8855419..1d223fd 100644 (file)
@@ -95,9 +95,10 @@ class LSldapObject {
     $data = LSldap :: getAttrs($dn);
     if(!empty($data)) {
       foreach($this -> attrs as $attr_name => $attr) {
-        if(!$this -> attrs[$attr_name] -> loadData($data[$attr_name]))
+        if( !$this -> attrs[$attr_name] -> loadData( (isset($data[$attr_name])?$data[$attr_name]:NULL) ) )
           return;
       }
+      $this->cache=array();
       return true;
     }
     return;
@@ -113,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;
@@ -212,9 +213,6 @@ class LSldapObject {
         }
       }      
     }
-    LSsession :: addJSconfigParam('LSform_'.$idForm,array(
-      'ajaxSubmit' => ((isset($this -> config['LSform']['ajaxSubmit']))?$this -> config['LSform']['ajaxSubmit']:1)
-    ));
     return $LSform;
   }
   
@@ -436,7 +434,7 @@ class LSldapObject {
 
         // Définition du message d'erreur
         if (!empty($test['msg'])) {
-          $msg_error=getFData($test['msg'],$this,'getValue');
+          $msg_error=getFData(__($test['msg']),$this,'getValue');
         }
         else {
           $msg_error=getFData(_("The attribute %{attr} is not valid."),$attr -> getLabel());
@@ -446,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();
@@ -1060,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>
@@ -1067,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);
   }
 
   /**
@@ -1832,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'])) {
@@ -1875,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 {