- LStips : Ajout de bulles d'aide
authorBenjamin Renard <brenard@easter-eggs.com>
Fri, 26 Sep 2008 18:03:56 +0000 (18:03 +0000)
committerBenjamin Renard <brenard@easter-eggs.com>
Fri, 26 Sep 2008 18:03:56 +0000 (18:03 +0000)
  -> help_info ajouté dans la configuration des attributs
- LSeepeople : Ajout d'une bulle d'aide pour loginshell
- LSdebug : Renomage des fonctions attachées :
    - debug() -> LSdebug()
    - debug_pring() -> LSdebug_print()
  -> Nétoyage des debug dans le code et renomage quand nécessaire.
  -> Ajout d'une fonctionnalité de dump de variable à LSdebug()
- LSsession : Correction d'un problème de chemin pour les scripts JS

20 files changed:
trunk/conf/LSobjects/config.LSobjects.LSeepeople.php
trunk/includes/addons/LSaddons.samba.php
trunk/includes/class/class.LSattr_html_select_list.php
trunk/includes/class/class.LSattr_html_select_object.php
trunk/includes/class/class.LSform.php
trunk/includes/class/class.LSformElement.php
trunk/includes/class/class.LSformElement_image.php
trunk/includes/class/class.LSformRule_imagesize.php
trunk/includes/class/class.LSldap.php
trunk/includes/class/class.LSldapObject.php
trunk/includes/class/class.LSsession.php
trunk/includes/functions.php
trunk/includes/js/LSform.js
trunk/index_ajax.php
trunk/select.php
trunk/templates/create.tpl
trunk/templates/css/LSform.css
trunk/templates/images/help.png [new file with mode: 0644]
trunk/templates/modify.tpl
trunk/view.php

index d3e0576..91c4b14 100644 (file)
@@ -222,6 +222,7 @@ $GLOBALS['LSobjects']['LSeepeople'] = array (
     ),
     'loginShell' => array (
       'label' => _('Interpreteur de commande'),
+      'help_info' => _("Permet ou non a l'utilisateur de se connecter à un système POSIX."),
       'ldap_type' => 'boolean',
       'html_type' => 'boolean',
       'required' => 1,
index 769c139..20a9284 100644 (file)
     }
 
     $password = $ldapObject -> attrs[ LS_SAMBA_USERPASSWORD_ATTR ] -> ldap -> getClearPassword();
-    debug('pwd : '.$password);
     $sambapassword = new smbHash;
     $sambaNTPassword = $sambapassword -> nthash($password);
 
index c82859e..5e94d99 100644 (file)
@@ -61,7 +61,6 @@ class LSattr_html_select_list extends LSattr_html{
         $regex_check_data.='|^'.preg_quote($val,'/').'$';
     }
     $regex_check_data.='/';
-    debug($this -> name.' : < '.$regex_check_data." ><br/>",$GLOBALS['debug_stat']);
     $form -> addRule($this -> name, 'regex', array('msg'=> 'Valeur incorrect','params' => array('regex' => $regex_check_data)) );
     // On retourne un pointeur vers l'element ajouter
     return $element;
index 0687751..7ff9ef9 100644 (file)
@@ -102,7 +102,6 @@ class LSattr_html_select_object extends LSattr_html{
             $filter.='('.$conf['value_attribute'].'='.$val.')';
           }
           $filter.=')';
-          debug($filter);
           $obj = new $conf['object_type']();
           $list = $obj -> listObjects($filter);
         }
@@ -122,7 +121,6 @@ class LSattr_html_select_object extends LSattr_html{
         }
       }
       else {
-        debug($values);
         return false;
       }
       $_SESSION['LSselect'][$conf['object_type']]=$DNs;
index fcf78c4..c81a48b 100644 (file)
@@ -189,7 +189,7 @@ class LSform {
       if (!$this -> checkData()) {
         return;
       }
-      debug("les données sont checkées");
+      LSdebug("les données sont checkées");
       $this -> _isValidate = true;
       return true;
     }
index d973482..2bb7dde 100644 (file)
@@ -204,6 +204,9 @@ class LSformElement {
         $return['required']=true;
     }
     $return['label'] = $this -> getLabel();
+    if (isset($this -> params['help_info'])) {
+      $return['help_info']=$this -> params['help_info'];
+    }
     return $return;
   }
 
index 5cbe087..37db55b 100644 (file)
@@ -86,7 +86,6 @@ class LSformElement_image extends LSformElement {
     }
    
     if (is_uploaded_file($_FILES[$this -> name]['tmp_name'])) {
-      debug($_FILES[$this -> name]['tmp_name']);
       $fp = fopen($_FILES[$this -> name]['tmp_name'], "r");
       $buf = fread($fp, filesize($_FILES[$this -> name]['tmp_name']));
       fclose($fp);
index 2de06ab..5b69ed9 100644 (file)
@@ -42,7 +42,6 @@ class LSformRule_imagesize extends LSformRule {
    */
   function validate ($value,$options,$formElement) {
     $file = $GLOBALS['LSsession'] -> getTmpFile($value);
-    debug('Verify : '.$file.' - Options : '.print_r($options,true));
     list($width, $height, $type, $attr) = getimagesize($file);
     
     if (is_int($options['param']['maxWidth'])) {
index 1cff6aa..1fb9885 100644 (file)
@@ -253,7 +253,7 @@ class LSldap {
    * @retval boolean true si l'objet a bien été mis à jour, false sinon
    */
   function update($object_type,$dn,$change) {
-    debug($change);
+    LSdebug($change);
     $dropAttr=array();
     $entry=$this -> getEntry($object_type,$dn);
     if (is_array($entry)) {
@@ -286,8 +286,8 @@ class LSldap {
         }
       }
       $entry -> replace($changeData);
-      debug('change : <pre>'.print_r($changeData,true).'</pre>');
-      debug('drop : <pre>'.print_r($dropAttr,true).'</pre>');
+      LSdebug('change : <pre>'.print_r($changeData,true).'</pre>');
+      LSdebug('drop : <pre>'.print_r($dropAttr,true).'</pre>');
 
       if ($new) {
         $ret = $this -> cnx -> add($entry);
index f15acb0..cc99840 100644 (file)
@@ -303,7 +303,7 @@ class LSldapObject {
       }
     }
     if($this -> validateAttrsData($idForm)) {
-      debug("les données sont validées");
+      LSdebug("les données sont validées");
       if(isset($this -> config['before_modify'])) {
         if(function_exists($this -> config['before_modify'])) {
           if(!$this -> config['before_modify']($this)) {
@@ -317,7 +317,7 @@ class LSldapObject {
         }
       }
       if ($this -> submitChange($idForm)) {
-        debug('Les modifications sont submitées');
+        LSdebug('Les modifications sont submitées');
         $this -> submitError = false;
         $this -> reloadData();
         $this -> refreshForm($idForm);
@@ -517,7 +517,7 @@ class LSldapObject {
       if(($attr -> isUpdate())&&($attr -> isValidate())) {
         if(($attr -> name == $this -> config['rdn'])&&(!$new)) {
           $new = true;
-          debug('Rename');
+          LSdebug('Rename');
           if (!$this -> beforeRename()) {
             $GLOBALS['LSerror'] -> addErrorCode(36);
             return;
@@ -547,7 +547,7 @@ class LSldapObject {
       $dn=$this -> getDn();
       if($dn) {
         $this -> dn=$dn;
-        debug($submitData);
+        LSdebug($submitData);
         if (!$GLOBALS['LSldap'] -> update($this -> getType(),$dn, $submitData)) {
           return;
         }
@@ -1184,7 +1184,7 @@ class LSldapObject {
    * @retval True en cas de cas ce succès, False sinon.
    */
   function afterCreate() {
-    debug('after');
+    LSdebug('after');
     $error = 0;
     if ($GLOBALS['LSsession'] -> isSubDnLSobject($this -> getType())) {
       if (is_array($GLOBALS['LSsession'] -> ldapServer['subDn']['LSobject'][$this -> getType()]['LSobjects'])) {
@@ -1193,7 +1193,7 @@ class LSldapObject {
             if (isset($GLOBALS['LSobjects'][$type]['container_auto_create'])&&isset($GLOBALS['LSobjects'][$type]['container_dn'])) {
               $dn = $GLOBALS['LSobjects'][$type]['container_dn'].','.$this -> getDn();
               if(!$GLOBALS['LSldap'] -> getNewEntry($dn,$GLOBALS['LSobjects'][$type]['container_auto_create']['objectclass'],$GLOBALS['LSobjects'][$type]['container_auto_create']['attrs'],true)) {
-                debug("Impossible de créer l'entrée fille : ".print_r(
+                LSdebug("Impossible de créer l'entrée fille : ".print_r(
                   array(
                     'dn' => $dn,
                     'objectClass' => $GLOBALS['LSobjects'][$type]['container_auto_create']['objectclass'],
index 9650c96..41dae7a 100644 (file)
@@ -311,7 +311,7 @@ class LSsession {
               }
               if ($nbresult==0) {
                 // identifiant incorrect
-                debug('identifiant incorrect');
+                LSdebug('identifiant incorrect');
                 $GLOBALS['LSerror'] -> addErrorCode(1006);
               }
               else if ($nbresult>1) {
@@ -320,9 +320,9 @@ class LSsession {
               }
               else {
                 if (isset($_GET['LSsession_recoverPassword'])) {
-                  debug('Recover : Id trouvé');
+                  LSdebug('Recover : Id trouvé');
                   if ($this -> ldapServer['recoverPassword']) {
-                    debug('Récupération active');
+                    LSdebug('Récupération active');
                     $user=$result[0];
                     $emailAddress = $user -> getValue($this -> ldapServer['recoverPassword']['mailAttr']);
                     $emailAddress = $emailAddress[0];
@@ -337,7 +337,7 @@ class LSsession {
                     }
                     
                     if (checkEmail($emailAddress)) {
-                      debug('Email : '.$emailAddress);
+                      LSdebug('Email : '.$emailAddress);
                       $this -> dn = $user -> getDn();
                       // 1ère étape : envoie du recoveryHash
                       if (!isset($_GET['recoveryHash'])) {
@@ -378,19 +378,19 @@ class LSsession {
                             }
                             else {
                               // Problème durant l'envoie du mail
-                              debug("Problème durant l'envoie du mail");
+                              LSdebug("Problème durant l'envoie du mail");
                               $GLOBALS['LSerror'] -> addErrorCode(1020);
                             }
                           }
                           else {
                             // Erreur durant la mise à jour de l'objet
-                            debug("Erreur durant la mise à jour de l'objet");
+                            LSdebug("Erreur durant la mise à jour de l'objet");
                             $GLOBALS['LSerror'] -> addErrorCode(1020);
                           }
                         }
                         else {
                           // Erreur durant la validation du formulaire de modification de perte de password
-                          debug("Erreur durant la validation du formulaire de modification de perte de password");
+                          LSdebug("Erreur durant la validation du formulaire de modification de perte de password");
                           $GLOBALS['LSerror'] -> addErrorCode(1020);
                         }
                       }
@@ -399,7 +399,7 @@ class LSsession {
                         $attr=$user -> attrs[$this -> ldapServer['authobject_pwdattr']];
                         if ($attr instanceof LSattribute) {
                           $mdp = generatePassword($attr -> config['html_options']['chars'],$attr -> config['html_options']['lenght']);
-                          debug('Nvx mpd : '.$mdp);
+                          LSdebug('Nvx mpd : '.$mdp);
                           $lostPasswdForm = $user -> getForm('lostPassword');
                           $lostPasswdForm -> setPostData(
                             array(
@@ -423,25 +423,25 @@ class LSsession {
                               }
                               else {
                                 // Problème durant l'envoie du mail
-                                debug("Problème durant l'envoie du mail");
+                                LSdebug("Problème durant l'envoie du mail");
                                 $GLOBALS['LSerror'] -> addErrorCode(1020);
                               }
                             }
                             else {
                               // Erreur durant la mise à jour de l'objet
-                              debug("Erreur durant la mise à jour de l'objet");
+                              LSdebug("Erreur durant la mise à jour de l'objet");
                               $GLOBALS['LSerror'] -> addErrorCode(1020);
                             }
                           }
                           else {
                             // Erreur durant la validation du formulaire de modification de perte de password
-                            debug("Erreur durant la validation du formulaire de modification de perte de password");
+                            LSdebug("Erreur durant la validation du formulaire de modification de perte de password");
                             $GLOBALS['LSerror'] -> addErrorCode(1020);
                           }
                         }
                         else {
                           // l'attribut password n'existe pas
-                          debug("L'attribut password n'existe pas");
+                          LSdebug("L'attribut password n'existe pas");
                           $GLOBALS['LSerror'] -> addErrorCode(1020);
                         }
                       }
@@ -468,7 +468,7 @@ class LSsession {
                   }
                   else {
                     $GLOBALS['LSerror'] -> addErrorCode(1006);
-                    debug('mdp incorrect');
+                    LSdebug('mdp incorrect');
                   }
                 }
               }
@@ -870,7 +870,10 @@ class LSsession {
       if (!$script['path']) {
         $script['path']=LS_JS_DIR;
       }
-      $JSscript_txt.="<script src='".$script['path'].'/'.$script['file']."' type='text/javascript'></script>\n";
+      else {
+        $script['path'].='/';
+      }
+      $JSscript_txt.="<script src='".$script['path'].$script['file']."' type='text/javascript'></script>\n";
     }
 
     $GLOBALS['Smarty'] -> assign('LSjsConfig',json_encode($this -> _JSconfigParams));
@@ -927,11 +930,11 @@ class LSsession {
     
     if ($this -> ajaxDisplay) {
       $GLOBALS['Smarty'] -> assign('LSerror_txt',$GLOBALS['LSerror']->getErrors());
-      $GLOBALS['Smarty'] -> assign('LSdebug_txt',debug_print(true));
+      $GLOBALS['Smarty'] -> assign('LSdebug_txt',LSdebug_print(true));
     }
     else {
       $GLOBALS['LSerror'] -> display();
-      debug_print();
+      LSdebug_print();
     }
     if (!$this -> template)
       $this -> setTemplate('empty.tpl');
@@ -960,11 +963,11 @@ class LSsession {
                     }
                   }
                   else {
-                    debug('Impossible de chargé le dn : '.$dn);
+                    LSdebug('Impossible de chargé le dn : '.$dn);
                   }
                 }
                 else {
-                  debug('Impossible de créer l\'objet de type : '.$conf['LSobject']);
+                  LSdebug('Impossible de créer l\'objet de type : '.$conf['LSobject']);
                 }
               }
               else {
index 56a1704..95d3494 100644 (file)
@@ -110,7 +110,7 @@ function loadDir($dir,$regexpr='^.*\.php$') {
 
 
 function valid($obj) {
-  debug('Validation : ok');
+  LSdebug('Validation : ok');
   return true;
 }
 
@@ -118,8 +118,14 @@ function return_data($data) {
   return $data;
 }
 
-function debug($data,$get=true) {
-  if ($get) {
+function LSdebug($data,$dump=false) {
+  if ($dump) {
+    ob_start();
+    var_dump($data);
+    $GLOBALS['LSdebug']['fields'][]=ob_get_contents(); 
+    ob_end_clean();
+  }
+  else {
     if (is_array($data)||is_object($data)) {
       $GLOBALS['LSdebug']['fields'][]=$data;
     }
@@ -130,7 +136,7 @@ function debug($data,$get=true) {
   return true;
 }
 
-function debug_print($return=false) {
+function LSdebug_print($return=false) {
   if (( $GLOBALS['LSdebug']['fields'] ) && ( $GLOBALS['LSdebug']['active'] )) {
     $txt='<ul>';
     foreach($GLOBALS['LSdebug']['fields'] as $debug) {
@@ -236,14 +242,14 @@ function debug_print($return=false) {
     $regex = '/^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/';
 
     if (!preg_match($regex, $value)) {
-      debug('checkEmail : regex fail');
+      LSdebug('checkEmail : regex fail');
       return false;
     }
 
     if ($checkDns && function_exists('checkdnsrr')) {
       $tokens = explode('@', $value);
       if (!(checkdnsrr($tokens[1], 'MX') || checkdnsrr($tokens[1], 'A'))) {
-        debug('checkEmail : DNS fail');
+        LSdebug('checkEmail : DNS fail');
         return false;
       }
     }
index 4678f52..aa5ba7e 100644 (file)
@@ -2,6 +2,7 @@ var LSform = new Class({
     initialize: function(){
       this._modules=[];
       this.initializeLSform_AddAndRemoveBtns();
+      this.LStips = new Tips('.LStips');
     },
     
     initializeLSform_AddAndRemoveBtns: function(el) {
index 197e6fb..7937f80 100644 (file)
@@ -250,7 +250,7 @@ if (!isset($_ERRORS)) {
                             }
                           }
                           if (!$ok) {
-                            debug($_REQUEST['value']." introuvé parmi la liste");
+                            LSdebug($_REQUEST['value']." introuvé parmi la liste");
                             $GLOBALS['LSerror'] -> addErrorCode(1015,$conf['relationName']);
                           }
                           else {
@@ -403,7 +403,7 @@ if (isset($_REQUEST['imgload'])) {
   $data['imgload'] = $_REQUEST['imgload'];
 }
 
-$debug_txt = debug_print(true);
+$debug_txt = LSdebug_print(true);
 if ($debug_txt != "") {
   $data['LSdebug'] = $debug_txt;
 }
index d4efddd..b825a02 100644 (file)
@@ -188,10 +188,10 @@ if($LSsession -> startLSsession()) {
       if (($GLOBALS['LSsession'] -> cacheSearch()) && isset($_SESSION['LSsession']['LSsearch'][$hash]) && (!isset($_REQUEST['refresh']))) {
         // On affiche à partir du cache
         $searchData=$_SESSION['LSsession']['LSsearch'][$hash];
-        debug('From cache');
+        LSdebug('From cache');
       }
       else {
-        debug('Load');
+        LSdebug('Load');
         $LSview_actions[] = array (
           'label' => _('Rafraîchir'),
           'url' => 'view.php?LSobject='.$LSobject.'&amp;refresh',
@@ -222,7 +222,7 @@ if($LSsession -> startLSsession()) {
             );
           }
           else {
-            debug($thisObject->getValue('dn'));
+            LSdebug($thisObject->getValue('dn'));
           }
         }
         $searchData['objectList']=$objectList;
@@ -257,7 +257,7 @@ if($LSsession -> startLSsession()) {
           return -1*$sense;
         }
         if (!uasort($searchData['objectList'],'sortBy')) {
-          debug('Erreur durant le trie.');
+          LSdebug('Erreur durant le trie.');
         }
         $_SESSION['LSsession']['LSsearch'][$hash]=$searchData;
       }
index 2882c6e..5e71e97 100644 (file)
@@ -5,7 +5,7 @@
     {$LSform_header}
     <dl class='LSform'>
       {foreach from=$LSform_fields item=field}
-      <dt class='LSform'>{$field.label}</dt>
+      <dt class='LSform'>{$field.label}{if $field.help_info!=""} <img class='LStips' src="templates/images/help.png" alt='?' title="{$field.help_info}"/>{/if}</dt>
       <dd class='LSform'>{$field.html}{if $field.add != ''} <span class='LSform-addfield'>+ Ajouter un champ</span>{/if}</dd>
       {if $field.errors != ''}
         {foreach from=$field.errors item=error}
index 06536e0..95aeaab 100644 (file)
@@ -64,3 +64,23 @@ input[type='submit'].LSform {
 img.LSform-add-field-btn, img.LSform-remove-field-btn {
   cursor:                     pointer;
 }
+
+/* Tips */
+.tip-top {
+  color: #fff;
+  width: 139px;
+  z-index: 13000;
+}
+.tip-title {
+  font-weight:      bold;
+  font-size:        11px;
+  margin:           0;
+  color:            #b5e4f6;
+  padding:          2px;
+  background:       #333;
+  opacity:          0.8;
+  -moz-border-radius:   2px;
+  width:            200px;
+  text-align:       justify;
+}
diff --git a/trunk/templates/images/help.png b/trunk/templates/images/help.png
new file mode 100644 (file)
index 0000000..5c87017
Binary files /dev/null and b/trunk/templates/images/help.png differ
index bcaca27..6258a25 100644 (file)
@@ -26,7 +26,7 @@
     {$LSform_header}
     <dl class='LSform'>
       {foreach from=$LSform_fields item=field}
-      <dt class='LSform'>{$field.label}</dt>
+      <dt class='LSform'>{$field.label}{if $field.help_info!=""} <img class='LStips' src="templates/images/help.png" alt='?' title="{$field.help_info}"/>{/if}</dt>
       <dd class='LSform'>{$field.html}{if $field.add != ''} <span class='LSform-addfield'>+ Ajouter un champ</span>{/if}</dd>
       {if $field.errors != ''}
         {foreach from=$field.errors item=error}
index 4f67dbb..7c6c14b 100644 (file)
@@ -286,10 +286,10 @@ if($LSsession -> startLSsession()) {
           if (($GLOBALS['LSsession'] -> cacheSearch()) && isset($_SESSION['LSsession']['LSsearch'][$hash]) && (!isset($_REQUEST['refresh']))) {
             // On affiche à partir du cache
             $searchData=$_SESSION['LSsession']['LSsearch'][$hash];
-            debug('Recherche : From cache');
+            LSdebug('Recherche : From cache');
           }
           else {
-            debug('Recherche : Load');
+            LSdebug('Recherche : Load');
             if ($GLOBALS['LSsession'] -> canCreate($LSobject)) {
               $LSview_actions[] = array (
                 'label' => _('Nouveau'),
@@ -335,7 +335,7 @@ if($LSsession -> startLSsession()) {
           }
           
           if ((!isset($searchData['objectList'][0]['actions']))&&(!empty($searchData['objectList']))) {
-            debug('Load actions');
+            LSdebug('Load actions');
             for($i=0;$i<$searchData['LSobject_list_nbresult'];$i++) {
               $actions=array();
               
@@ -395,7 +395,7 @@ if($LSsession -> startLSsession()) {
               return -1*$sense;
             }
             if (!uasort($searchData['objectList'],'sortBy')) {
-              debug('Erreur durant le trie.');
+              LSdebug('Erreur durant le trie.');
             }
           }
           $GLOBALS['Smarty']->assign('LSobject_list_orderby',$orderby);