- LStips : Ajout de bulles d'aide

-> 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
This commit is contained in:
Benjamin Renard 2008-09-26 18:03:56 +00:00
parent 1f51f7601b
commit b88fca55cb
20 changed files with 80 additions and 52 deletions

View 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,

View file

@ -187,7 +187,6 @@
}
$password = $ldapObject -> attrs[ LS_SAMBA_USERPASSWORD_ATTR ] -> ldap -> getClearPassword();
debug('pwd : '.$password);
$sambapassword = new smbHash;
$sambaNTPassword = $sambapassword -> nthash($password);

View 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;

View 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;

View 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;
}

View 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;
}

View 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);

View 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'])) {

View 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);

View 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'],

View 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 {

View 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;
}
}

View 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) {

View 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;
}

View 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;
}

View 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}

View 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;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

View 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}

View 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);