ldapsaisie/src/includes/class/class.LSattribute.php

781 lines
24 KiB
PHP
Raw Normal View History

2007-03-29 18:10:14 +02:00
<?php
/*******************************************************************************
* Copyright (C) 2007 Easter-eggs
* https://ldapsaisie.org
2007-03-29 18:10:14 +02:00
*
* Author: See AUTHORS file in top-level directory.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
******************************************************************************/
2020-05-08 15:49:05 +02:00
LSsession :: loadLSclass('LSlog_staticLoggerClass');
LSsession :: loadLSclass('LSattr_ldap');
LSsession :: loadLSclass('LSattr_html');
2007-03-29 18:10:14 +02:00
/**
* Attribut Ldap
*
* Cette classe modélise un attribut Ldap
2007-03-29 18:10:14 +02:00
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*/
2020-05-08 15:49:05 +02:00
class LSattribute extends LSlog_staticLoggerClass {
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
var $name;
var $config;
var $ldapObject;
2007-03-29 18:10:14 +02:00
var $ldap;
var $html;
var $data;
var $updateData=false;
var $is_validate=false;
var $_finalUpdateData=false;
var $_myRights=NULL;
var $_events=array();
var $_objectEvents=array();
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
* Constructeur
*
* Cette methode construit l'objet et définis la configuration.
2007-03-29 18:10:14 +02:00
* Elle lance la construction des objets LSattr_html et LSattr_ldap correspondant
* à ses types définis définis dans sa configuration
2007-03-29 18:10:14 +02:00
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @param[in] $name string Nom de l'attribut ldap
* @param[in] $config array Configuration de l'objet
* @param[in] &$ldapObject LSldapObject L'objet ldap parent
2007-03-29 18:10:14 +02:00
*
* @retval boolean Retourne true si la création a réussi, false sinon.
2020-04-29 15:54:21 +02:00
*/
public function __construct($name, $config, &$ldapObject) {
2007-03-29 18:10:14 +02:00
$this -> name = $name;
$this -> config = $config;
2015-04-14 15:10:40 +02:00
$this -> ldapObject =& $ldapObject;
$html_type = $this -> getConfig('html_type', 'text', 'string');
$html_class = "LSattr_html_".$html_type;
$ldap_type = $this -> getConfig('ldap_type', 'ascii', 'string');
$ldap_class = "LSattr_ldap_".$ldap_type;
LSsession :: loadLSclass($html_class);
LSsession :: loadLSclass($ldap_class);
if (class_exists($html_class) && class_exists($ldap_class)) {
$this -> html = new $html_class($name, $config, $this);
$this -> ldap = new $ldap_class($name, $config, $this);
2007-03-29 18:10:14 +02:00
}
else {
LSerror :: addErrorCode(
'LSattribute_01',
array('attr' => $name, 'html'=> $html_type, 'ldap' => $ldap_type)
);
2007-03-29 18:10:14 +02:00
return;
}
return true;
}
2020-04-29 15:54:21 +02:00
/**
* Allow conversion of LSattribute to string
*
* @retval string The string representation of the LSattribute
*/
public function __toString() {
return strval($this -> ldapObject)." -> <LSattribute ".$this -> name.">";
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
* Retourne la valeur du label de l'attribut
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval string Le label de l'attribut
*
* @see LSattr_html::getLabel()
2020-04-29 15:54:21 +02:00
*/
2007-03-29 18:10:14 +02:00
public function getLabel() {
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
if (!$this -> html) {
LSerror :: addErrorCode('LSattribute_09',array('type' => 'html','name' => $this -> name));
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
return;
}
2007-03-29 18:10:14 +02:00
return $this -> html -> getLabel();
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
* Défini la valeur de l'attribut
2007-03-29 18:10:14 +02:00
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval boolean true
*/
public function loadData($attr_data) {
$this -> data = ensureIsArray($attr_data);
2007-03-29 18:10:14 +02:00
return true;
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
* Redéfini la valeur de l'attribut
2007-03-29 18:10:14 +02:00
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval boolean true
2007-03-29 18:10:14 +02:00
*/
public function reloadData($attr_data) {
$this -> data = ensureIsArray($attr_data);
$this -> updateData = false;
$this -> is_validate = false;
return true;
2007-03-29 18:10:14 +02:00
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
* Retourne la valeur de l'attribut
*
* Retourne la valeur nouvelle si elle existe, sinon la valeur passé.
2007-03-29 18:10:14 +02:00
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval mixed La valeur de l'attribut
*/
public function getValue() {
if ($this -> isUpdate()) {
return $this -> getUpdateData();
2010-03-16 17:33:55 +01:00
}
else {
return $this -> getOldValue();
}
2007-03-29 18:10:14 +02:00
}
/**
* Retourne la valeur originale de l'attribut
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval mixed La valeur originale de l'attribut
*/
public function getOldValue() {
return $this -> data;
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
* Return attribute's display value
*
* @param[in] $data mixed Custom attribute data (optional, default: current attribute data)
2007-03-29 18:10:14 +02:00
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval mixed The display value of the attribute
2007-03-29 18:10:14 +02:00
*/
public function getDisplayValue($data=false) {
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
if (!$this -> ldap) {
LSerror :: addErrorCode('LSattribute_09',array('type' => 'ldap','name' => $this -> name));
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
return;
}
if ($data !== false) {
$data = $this -> ldap -> getDisplayValue($data);
}
elseif ($this -> isUpdate()) {
$data = $this -> ldap -> getDisplayValue($this -> updateData);
}
else {
$data = $this -> ldap -> getDisplayValue($this -> data);
}
$onDisplay = $this -> getConfig('onDisplay');
if ($onDisplay) {
$result = $data;
foreach(ensureIsArray($onDisplay) as $func) {
if (function_exists($func)) {
$result = call_user_func($func, $result);
2007-03-29 18:10:14 +02:00
}
else {
LSerror :: addErrorCode('LSattribute_02', array('attr' => $this->name, 'func' => $func));
2007-03-29 18:10:14 +02:00
return;
}
}
return $result;
2007-03-29 18:10:14 +02:00
}
return $data;
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
* Ajoute l'attribut au formulaire
2007-03-29 18:10:14 +02:00
*
* Cette méthode ajoute l'attribut au formulaire $form si l'identifiant de celui-ci
2007-03-29 18:10:14 +02:00
* ($idForm) est connu dans la configuration de l'objet.
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @param[in] object $form Le formulaire dans lequel doit être ajouté l'attribut
* @param[in] string $idForm L'identifiant du formulaire
* @param[in] objet &$obj Objet utilisable pour la génération de la valeur de l'attribut
* @param[in] array $value valeur de l'élement
2007-03-29 18:10:14 +02:00
*
* @retval boolean true si l'ajout a fonctionner ou qu'il n'est pas nécessaire, false sinon
2007-03-29 18:10:14 +02:00
*/
public function addToForm(&$form,$idForm,&$obj=NULL,$value=NULL) {
$form_mode = $this -> getConfig("form.$idForm", false);
self :: log_debug("$this -> addToForm($idForm): mode = ".varDump($form_mode));
if($form_mode === false) {
self :: log_debug("Attribute ".$this -> name." not in form $idForm.");
return True;
}
2020-04-29 15:54:21 +02:00
$myRights = $this -> myRights();
if($myRights == 'n') {
self :: log_debug("User can't read or write the attribute ".$this -> name.", don't add it to $idForm form.");
return True;
}
$element = $this -> _addToForm($form, $idForm, $obj, $value);
if(!$element)
return false;
if($this -> getConfig('required', false, 'bool'))
$form -> setRequired($this -> name);
if ( ($form_mode === false) || ($myRights != 'w') ) {
self :: log_debug("Attribute ".$this -> name." is freeze in form $idForm.");
$element -> freeze();
}
else {
$check_data = $this -> getConfig('check_data', array());
if(is_array($check_data)) {
foreach ($check_data as $rule => $rule_options) {
// Handle rule without options or message
if (is_int($rule) && is_string($rule_options)) {
$rule = $rule_options;
$rule_options = array();
}
// Check rule
if(!is_empty($rule) && !$form -> isRuleRegistered($rule)) {
LSerror :: addErrorCode('LSattribute_03', array('attr' => $this->name, 'rule' => $rule));
return;
}
// Add rule to form
$form -> addRule($this -> name, $rule, (is_array($rule_options)?$rule_options:array()));
2007-03-29 18:10:14 +02:00
}
2020-04-29 15:54:21 +02:00
}
else {
LSerror :: addErrorCode('LSattribute_04', $this->name);
}
2020-05-08 21:02:28 +02:00
}
return true;
}
/**
* Récupération des droits de l'utilisateur sur l'attribut
2020-04-29 15:54:21 +02:00
*
* @retval string 'r'/'w'/'n' pour 'read'/'write'/'none'
**/
private function myRights() {
// cache
if ($this -> _myRights != NULL) {
return $this -> _myRights;
}
$return='n';
2020-05-08 21:02:28 +02:00
if (php_sapi_name() == 'cli') {
// In CLI mode, take maximum rights affected to LSprofiles
foreach ($this -> getConfig("rights", array()) as $who => $right) {
if (in_array($right, array('r', 'w'))) {
$return = $right;
if ($return == 'w') break;
}
}
}
else {
$whoami = $this -> ldapObject -> whoami();
foreach($whoami as $who) {
$right = $this -> getConfig("rights.$who", null);
2020-05-08 21:02:28 +02:00
if (in_array($right, array('r', 'w'))) {
$return = $right;
if ($return == 'w') break;
}
}
}
$this -> _myRights = $return;
return $return;
}
/**
* Add attribute to LSview
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @param[in] $form LSform The LSform object
* @param[in] $api_mode boolean True if it's a view in API mode (=all accessible attributes present,
* optional, default: false)
*
2021-08-25 18:02:37 +02:00
* @retval boolean True on success, False otherwise
*/
public function addToView(&$form, $api_mode=false) {
if ((!$api_mode && !$this -> getConfig('view', false, 'bool')) || ($this -> myRights() == 'n') )
return true;
$element = $this -> _addToForm($form, 'view');
if ($element) {
$element -> freeze();
return true;
}
return false;
}
/**
* Add attribute to export
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @param[in] $form LSform The LSform object
*
2021-08-25 18:02:37 +02:00
* @retval boolean True on success, False otherwise
*/
public function addToExport(&$form) {
if ($this -> myRights() == 'n')
return False;
$element = $this -> _addToForm($form, 'export');
if ($element) {
$element -> freeze();
return True;
}
return False;
}
/**
* Add attribute to a LSform for export
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @param[in] object $form The LSform object
*
2021-08-25 18:02:37 +02:00
* @retval LSformElement|False LSformElement object on success, False otherwise
*/
private function _addToForm(&$form, $idForm, &$obj=NULL, $data=NULL) {
if (!$this -> html) {
LSerror :: addErrorCode('LSattribute_09',array('type' => 'html','name' => $this -> name));
return;
}
if (is_null($data)) {
2020-09-11 13:34:42 +02:00
if(!is_empty($this -> data)) {
$data = $this -> getFormVal();
}
else if ($obj && !is_empty($this -> getConfig('default_value'))) {
$data = $obj -> getFData($this -> getConfig('default_value'));
}
2007-03-29 18:10:14 +02:00
}
$element = $this -> html -> addToForm($form, $idForm, $data);
if(!$element instanceof LSformElement) {
LSerror :: addErrorCode('LSform_06',$this -> name);
return;
}
return $element;
2007-03-29 18:10:14 +02:00
}
2020-04-29 15:54:21 +02:00
/**
* Rafraichis la valeur de l'attribut dans un formualaire
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @param[in] object &$form LSform Le formulaire dans lequel doit être ajouté l'attribut
* @param[in] string $idForm L'identifiant du formulaire
*
* @retval boolean true si la valeur a été rafraichie ou que ce n'est pas nécessaire, false sinon
*/
public function refreshForm(&$form,$idForm) {
if ($this -> getConfig("form.$idForm") && ($this -> myRights() != 'n')) {
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
if (!$this -> html) {
LSerror :: addErrorCode('LSattribute_09',array('type' => 'html','name' => $this -> name));
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
return;
}
$form_element = $form -> getElement($this -> name);
if ($form_element) {
$values = $this -> html -> refreshForm($this -> getFormVal());
return $form_element -> setValue($values);
}
else {
LSdebug('LSformElement "'.$this -> name.'" n\'existe pas');
}
}
return true;
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
* Return the form display value
*
* @param[in] $data mixed Custom attribute data (optional, default: current attribute data)
2007-03-29 18:10:14 +02:00
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval string The form display value
2007-03-29 18:10:14 +02:00
*/
public function getFormVal($data=null) {
if (is_null($data)) {
$data = ($this -> isUpdate()?$this -> updateData:$this -> data);
}
return ensureIsArray($this -> html -> getFormVal($data));
2007-03-29 18:10:14 +02:00
}
2020-04-29 15:54:21 +02:00
/**
* Définis les données de mises à jour si un changement a eut lieu
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @param[in] string $data Les données de mise à jour.
*
* @retval void
*/
public function setUpdateData($data) {
if($this -> ldap -> isUpdated($data)) {
$this -> updateData = ensureIsArray($data);
}
2007-03-29 18:10:14 +02:00
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
* Vérifie si l'attribut a été validé
2007-03-29 18:10:14 +02:00
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval boolean true si l'attribut a été validé, false sinon
2007-03-29 18:10:14 +02:00
*/
public function isValidate() {
return $this -> is_validate;
2007-03-29 18:10:14 +02:00
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
* Valide le champs
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval void
*/
public function validate() {
2007-03-29 18:10:14 +02:00
$this -> is_validate=true;
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
* Vérifie si l'attribut a été mise à jour
2007-03-29 18:10:14 +02:00
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval boolean true si l'attribut a été mis à jour, false sinon
2007-03-29 18:10:14 +02:00
*/
public function isUpdate() {
return ($this -> updateData===false)?false:true;
2007-03-29 18:10:14 +02:00
}
2020-04-29 15:54:21 +02:00
/**
* Vérifie si l'attribut est obligatoire
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval boolean true si l'attribut est obligatoire, false sinon
*/
public function isRequired() {
return $this -> getConfig('required', false, 'bool');
}
2020-04-29 15:54:21 +02:00
/**
* Vérifie si la valeur de l'attribut peut être générée
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval boolean true si la valeur de l'attribut peut être générée, false sinon
*/
public function canBeGenerated() {
$format = $this -> getConfig('generate_value_format', $this -> getConfig('default_value'));
2021-02-04 10:33:13 +01:00
self :: log_debug($this."->canBeGenerated(): format=".varDump($format));
return (
(function_exists($this -> getConfig('generate_function')))
||
!is_empty($format)
);
}
/**
* Génere la valeur de l'attribut à partir de la fonction de génération
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval boolean true si la valeur à put être générée, false sinon
*/
public function generateValue() {
$value = $this -> getConfig('default_value', false);
$generate_function = $this -> getConfig('generate_function');
$format = $this -> getConfig('generate_value_format');
if ($generate_function && function_exists($generate_function)) {
$value = call_user_func_array($generate_function, array(&$this -> ldapObject));
}
else if ($format) {
$value = $this -> ldapObject -> getFData($format);
}
if ($value !== false) {
$this -> updateData = ensureIsArray($value);
2020-12-01 16:48:07 +01:00
self :: log_debug($this."generateValue(): generated values = ".varDump($this -> updateData));
return true;
}
return;
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
* Retourne la valeur de l'attribut pour son enregistrement dans l'annuaire
* si l'attribut à été modifié.
2007-03-29 18:10:14 +02:00
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval mixed La valeur de l'attribut pour son enregistrement dans l'annuaire
*/
public function getUpdateData() {
if (!$this -> isUpdate()) {
return;
}
if ( $this -> _finalUpdateData ) {
return $this -> _finalUpdateData;
}
$data=$this -> updateData;
if (isset($this -> config['onSave'])) {
2007-03-29 18:10:14 +02:00
if (is_array($this -> config['onSave'])) {
$result=$data;
foreach($this -> config['onSave'] as $func) {
if (function_exists($func)) {
$result=call_user_func($func, $result);
2007-03-29 18:10:14 +02:00
}
else {
LSerror :: addErrorCode('LSattribute_05',array('attr' => $this->name,'func' => $func));
2007-03-29 18:10:14 +02:00
return;
}
}
}
else {
if (function_exists($this -> config['onSave'])) {
$result = $this -> config['onSave']($data);
2007-03-29 18:10:14 +02:00
}
else {
LSerror :: addErrorCode('LSattribute_05',array('attr' => $this->name,'func' => $this -> config['onSave']));
2007-03-29 18:10:14 +02:00
return;
}
}
}
else {
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
if (!$this -> ldap) {
LSerror :: addErrorCode('LSattribute_09',array('type' => 'ldap','name' => $this -> name));
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
return;
}
else {
$result = $this -> ldap -> getUpdateData($data);
}
}
$this -> _finalUpdateData = $result;
return $result;
2007-03-29 18:10:14 +02:00
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
/**
* Retourne la configuration de validation de l'attribut
2007-03-29 18:10:14 +02:00
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval mixed La configuration de validation de l'attribut
*/
public function getValidateConfig() {
2012-09-03 10:22:18 +02:00
if (isset($this -> config['validation'])) {
return $this -> config['validation'];
}
return;
2007-03-29 18:10:14 +02:00
}
/**
* Retourne les attributs dépendants de celui-ci
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval array les noms des attributs dépendants
*/
public function getDependsAttrs() {
return (isset($this -> config['dependAttrs'])?$this -> config['dependAttrs']:null);
}
/**
* Ajouter une action lors d'un événement
2020-04-29 15:54:21 +02:00
*
* @param[in] $event string Le nom de l'événement
* @param[in] $fct string Le nom de la fonction à exectuer
* @param[in] $params mixed Paramètres pour le lancement de la fonction
* @param[in] $class Nom de la classe possèdant la méthode $fct à executer
2020-04-29 15:54:21 +02:00
*
* @retval void
*/
public function addEvent($event,$fct,$params,$class=NULL) {
$this -> _events[$event][] = array(
'function' => $fct,
'params' => $params,
'class' => $class
);
}
2020-04-29 15:54:21 +02:00
/**
* Ajouter une action sur un objet lors d'un événement
2020-04-29 15:54:21 +02:00
*
* @param[in] $event string Le nom de l'événement
* @param[in] $obj object L'objet dont la méthode doit être executé
* @param[in] $meth string Le nom de la méthode
* @param[in] $params mixed Paramètres d'execution de la méthode
2020-04-29 15:54:21 +02:00
*
* @retval void
*/
public function addObjectEvent($event,&$obj,$meth,$params=NULL) {
$this -> _objectEvents[$event][] = array(
2015-04-14 15:10:40 +02:00
'obj' => &$obj,
'meth' => $meth,
'params' => $params
);
}
2020-04-29 15:54:21 +02:00
/**
* Lance les actions à executer lors d'un événement
2020-04-29 15:54:21 +02:00
*
* @param[in] $event string Le nom de l'événement
2020-04-29 15:54:21 +02:00
*
* @retval boolean True si tout c'est bien passé, false sinon
*/
public function fireEvent($event) {
self :: log_debug(strval($this)." -> fireEvent($event)");
$return = true;
if(isset($this -> config[$event])) {
foreach(ensureIsArray($this -> config[$event]) as $func) {
if(function_exists($func)) {
self :: log_debug(strval($this)." -> fireEvent($event): run ".format_callable($func));
if(!call_user_func_array($func, array(&$this -> ldapObject))) {
$return = false;
}
}
else {
self :: log_warning(strval($this)." -> fireEvent($event): function '".format_callable($func)."' doesn't exists.");
$return = false;
}
}
}
else
self :: log_trace(strval($this)." -> fireEvent($event): no configured trigger for this event.");
2020-04-29 15:54:21 +02:00
if (isset($this -> _events[$event]) && is_array($this -> _events[$event])) {
foreach ($this -> _events[$event] as $e) {
if ($e['class']) {
if (class_exists($e['class'])) {
$obj = new $e['class']();
if (method_exists($obj,$e['fct'])) {
try {
self :: log_debug(strval($this)." -> fireEvent($event): run ".format_callable(array($obj, $e['fct'])));
call_user_func_array(array($obj, $e['fct']), array(&$e['params']));
}
catch(Exception $er) {
self :: log_exception($er, strval($this)." -> fireEvent($event): exception occured running ".format_callable(array($obj, $e['fct'])));
$return = false;
}
}
else {
self :: log_warning(strval($this)." -> fireEvent($event): method '".$e['fct']."' of the class '".$e['class']."' doesn't exists.");
$return = false;
}
}
else {
self :: log_warning(strval($this)." -> fireEvent($event): the class '".$e['class']."' doesn't exists.");
$return = false;
}
}
else {
if (function_exists($e['fct'])) {
try {
self :: log_debug(strval($this)." -> fireEvent($event): run ".format_callable($e['fct']));
call_user_func_array($e['fct'], array(&$e['params']));
}
catch(Exception $er) {
self :: log_exception($er, strval($this)." -> fireEvent($event): exception occured running ".format_callable(e['fct']));
$return = false;
}
}
else {
self :: log_warning(strval($this)." -> fireEvent($event): the function '".$e['fct']."' doesn't exists.");
$return = false;
}
}
}
}
2020-04-29 15:54:21 +02:00
if (isset($this -> _objectEvents[$event]) && is_array($this -> _objectEvents[$event])) {
foreach ($this -> _objectEvents[$event] as $e) {
if (method_exists($e['obj'], $e['meth'])) {
try {
self :: log_debug(strval($this)." -> fireEvent($event): run ".format_callable(array($e['obj'], $e['meth'])));
call_user_func_array(array($e['obj'], $e['meth']),array(&$e['params']));
}
catch(Exception $er) {
self :: log_exception($er, strval($this)." -> fireEvent($event): exception occured running ".format_callable(array($e['obj'], $e['meth'])));
$return = false;
}
}
else {
self :: log_warning(strval($this)." -> fireEvent($event): the method '".$e['meth']."' of the object doesn't exists.");
$return = false;
}
}
}
2020-04-29 15:54:21 +02:00
return $return;
}
/**
* Return a configuration parameter (or default value)
*
2021-06-10 18:45:00 +02:00
* @param[] $param The configuration parameter
* @param[] $default The default value (default : null)
* @param[] $cast Cast resulting value in specific type (default : disabled)
*
* @retval mixed The configuration parameter value or default value if not set
**/
public function getConfig($param, $default=null, $cast=null) {
return LSconfig :: get($param, $default, $cast, $this -> config);
}
2020-04-29 15:54:21 +02:00
2007-03-29 18:10:14 +02:00
}
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
/**
* Error Codes
**/
LSerror :: defineError('LSattribute_01',
___("LSattribute : Attribute %{attr} : LDAP or HTML types unknow (LDAP = %{ldap} & HTML = %{html}).")
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
);
LSerror :: defineError('LSattribute_02',
___("LSattribute : The function %{func} to display the attribute %{attr} is unknow.")
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
);
LSerror :: defineError('LSattribute_03',
___("LSattribute : The rule %{rule} to validate the attribute %{attr} is unknow.")
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
);
LSerror :: defineError('LSattribute_04',
___("LSattribute : Configuration data to verify the attribute %{attr} are incorrect.")
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
);
LSerror :: defineError('LSattribute_05',
___("LSattribute : The function %{func} to save the attribute %{attr} is unknow.")
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
);
LSerror :: defineError('LSattribute_06',
___("LSattribute : The value of the attribute %{attr} can't be generated.")
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
);
LSerror :: defineError('LSattribute_07',
___("LSattribute : Generation of the attribute %{attr} failed.")
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
);
LSerror :: defineError('LSattribute_08',
___("LSattribute : Generation of the attribute %{attr} did not return a correct value.")
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
);
LSerror :: defineError('LSattribute_09',
___("LSattribute : The attr_%{type} of the attribute %{name} is not yet defined.")
- LdapSaisie : J'ai commencé à écrire la docummentation de LdapSaisie que j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait : - Concepte de level était enfaite celui de subDn : seule le nom subDn doit rester. - Le concept de LSrights dans LSsession et config.inc.php était mal nommé. Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé ainsi. - Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif. Je les ai renommé en authObjectType et authObjectTypeAttrPwd. - Templates : -> Correction du template default dans le but de changer la couleur bleu dominante juger trop flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu : cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau que des bidouille de ce genre. -> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors. -> Ajout d'un favicon. - LSerror : -> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans les fichiers de définition des classes) (Feature Request #1757) -> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons -> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés -> Ajout d'une méthode getError() utilisé par getErrors() -> Modification de la méthode stop() - LSformElement_password : - Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet. - Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire (Feature Request #1756) - Traduction des commentaires - LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets html et ldap. - LSsession : -> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
2009-01-02 17:00:25 +01:00
);