From 9907e08f18d7e7a62c42d090c7338ffd9d40006c Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Wed, 25 Aug 2021 18:02:37 +0200 Subject: [PATCH] Code cleaning --- debian/ldapsaisie.bash-completion | 2 +- doc/contrib/contrib.docbook | 2 +- .../LSobjects/config.LSobjects.LSdyngroup.php | 2 +- src/includes/addons/LSaddons.mail.php | 5 +- src/includes/addons/LSaddons.samba.php | 2 +- src/includes/addons/LSaddons.showTechInfo.php | 2 +- src/includes/addons/LSaddons.supann.php | 2 +- .../class/class.LSattr_html_select_list.php | 2 +- .../class/class.LSattr_html_select_object.php | 22 +- src/includes/class/class.LSattribute.php | 6 +- src/includes/class/class.LSauth.php | 6 +- .../class/class.LSauthMethod_HTTP.php | 2 +- src/includes/class/class.LScli.php | 2 +- src/includes/class/class.LSerror.php | 2 +- src/includes/class/class.LSform.php | 10 +- src/includes/class/class.LSformElement.php | 6 +- .../class/class.LSformElement_boolean.php | 2 +- .../class/class.LSformElement_date.php | 2 +- .../class/class.LSformElement_image.php | 4 +- ...s.LSformElement_jsonCompositeAttribute.php | 12 +- .../class.LSformElement_labeledValue.php | 2 +- .../class/class.LSformElement_mailQuota.php | 2 +- .../class/class.LSformElement_maildir.php | 2 +- .../class/class.LSformElement_password.php | 4 +- .../class/class.LSformElement_quota.php | 4 +- .../class/class.LSformElement_select.php | 4 +- .../class.LSformElement_select_object.php | 10 +- ...LSformElement_supannCompositeAttribute.php | 4 +- ...class.LSformElement_supannLabeledValue.php | 4 +- .../class.LSformElement_valueWithUnit.php | 2 +- src/includes/class/class.LSformRule.php | 2 +- src/includes/class/class.LSio.php | 14 +- src/includes/class/class.LSioFormat.php | 4 +- src/includes/class/class.LSioFormatCSV.php | 6 +- src/includes/class/class.LSioFormatDriver.php | 8 +- src/includes/class/class.LSlang.php | 4 +- src/includes/class/class.LSldap.php | 4 +- src/includes/class/class.LSldapObject.php | 16 +- src/includes/class/class.LSlog_handler.php | 4 +- src/includes/class/class.LSrelation.php | 4 +- src/includes/class/class.LSsearch.php | 8 +- src/includes/class/class.LSsearchEntry.php | 2 +- src/includes/class/class.LSsession.php | 606 ++++++++++-------- src/includes/class/class.LSurl.php | 2 +- src/includes/functions.php | 380 +++++------ src/includes/routes.php | 12 +- src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo | Bin 75125 -> 75101 bytes src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po | 156 +++-- src/lang/fr_FR.UTF8/lang.php | 2 +- src/lang/ldapsaisie.pot | 151 +++-- 50 files changed, 783 insertions(+), 735 deletions(-) diff --git a/debian/ldapsaisie.bash-completion b/debian/ldapsaisie.bash-completion index f350ee7c..35bb01e3 100644 --- a/debian/ldapsaisie.bash-completion +++ b/debian/ldapsaisie.bash-completion @@ -5,7 +5,7 @@ _ldapsaisie() local cur words cword _get_comp_words_by_ref -n "=" cur words cword - # Retreive COMPREPLY using bash_autocomplete ldapsaisie CLI command + # Retrieve COMPREPLY using bash_autocomplete ldapsaisie CLI command COMPREPLY=( $(ldapsaisie bash_autocomplete ${cword} -- ${words[@]}) ) # If current word to complete contain '=' and if it's a word-break char diff --git a/doc/contrib/contrib.docbook b/doc/contrib/contrib.docbook index 23f816c3..d63b05db 100644 --- a/doc/contrib/contrib.docbook +++ b/doc/contrib/contrib.docbook @@ -440,7 +440,7 @@ les possibilités de contribution. * * @author My Name * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ function cli_my_custom_cli_cmd($command_args) { $objType = null; diff --git a/src/conf/LSobjects/config.LSobjects.LSdyngroup.php b/src/conf/LSobjects/config.LSobjects.LSdyngroup.php index 426fc12d..cc0bbf6e 100644 --- a/src/conf/LSobjects/config.LSobjects.LSdyngroup.php +++ b/src/conf/LSobjects/config.LSobjects.LSdyngroup.php @@ -152,7 +152,7 @@ $GLOBALS['LSobjects']['LSdyngroup'] = array ( 'label' => 'Member search URI', 'help_info' => "

LDAP search URI or group members. A LDAP search URI is composed of the following parts separated by semicolons :

Example : ldap:///ou=people,o=ls??one?(&(objectClass=lspeople)(mail=*@ls.com))

", diff --git a/src/includes/addons/LSaddons.mail.php b/src/includes/addons/LSaddons.mail.php index b7ee51e9..eea22dc0 100644 --- a/src/includes/addons/LSaddons.mail.php +++ b/src/includes/addons/LSaddons.mail.php @@ -101,11 +101,8 @@ LSerror :: defineError('MAIL_01', $from = $headers['From']; unset($headers['From']); } - elseif (LSsession :: getEmailSender() != "") { - $from = LSsession :: getEmailSender(); - } else { - $from = null; + $from = LSsession :: getEmailSender(); } $headers["To"] = $to; diff --git a/src/includes/addons/LSaddons.samba.php b/src/includes/addons/LSaddons.samba.php index 7db3e984..2348e9eb 100644 --- a/src/includes/addons/LSaddons.samba.php +++ b/src/includes/addons/LSaddons.samba.php @@ -284,7 +284,7 @@ function generate_sambaPrimaryGroupSID($ldapObject) { * * @param[in] $attr string The sambaUnixIdPool attribute name that contain next ID value * - * @retval integer UNIX ID value on succes, false otherwise + * @retval integer UNIX ID value on success, false otherwise */ function get_samba_unix_pool_next_id($attr) { $unix_id_pool_dn = (defined('LS_SAMBA_UNIX_ID_POOL_DN')?constant('LS_SAMBA_UNIX_ID_POOL_DN'):LS_SAMBA_DOMAIN_OBJECT_DN); diff --git a/src/includes/addons/LSaddons.showTechInfo.php b/src/includes/addons/LSaddons.showTechInfo.php index 86f016fa..86f6c577 100644 --- a/src/includes/addons/LSaddons.showTechInfo.php +++ b/src/includes/addons/LSaddons.showTechInfo.php @@ -34,7 +34,7 @@ function LSaddon_showTechInfo_support() { function showTechInfo($object) { $dn = $object -> getDn(); - // Retreive internal attributes + // Retrieve internal attributes $internal_attrs = LSldap :: getAttrs( $dn, null, diff --git a/src/includes/addons/LSaddons.supann.php b/src/includes/addons/LSaddons.supann.php index 4264252e..1a79794b 100644 --- a/src/includes/addons/LSaddons.supann.php +++ b/src/includes/addons/LSaddons.supann.php @@ -1244,7 +1244,7 @@ function cli_generate_supann_codeEtablissement_uai_nomenclature($command_args) { $data = file_get_contents('https://data.enseignementsup-recherche.gouv.fr/explore/dataset/fr-esr-principaux-etablissements-enseignement-superieur/download?format=json'); $items = json_decode($data, true); if (!is_array($items)) - LSlog :: get_logger('LSaddon_supann') -> fatal('Fail to retreive UAI dataset from data.enseignementsup-recherche.gouv.fr'); + LSlog :: get_logger('LSaddon_supann') -> fatal('Fail to retrieve UAI dataset from data.enseignementsup-recherche.gouv.fr'); $codes = array(); foreach($items as $item) { if (!isset($item['fields']) || !isset($item['fields']['uai']) || !$item['fields']['uai']) diff --git a/src/includes/class/class.LSattr_html_select_list.php b/src/includes/class/class.LSattr_html_select_list.php index c63bdced..60db29e7 100644 --- a/src/includes/class/class.LSattr_html_select_list.php +++ b/src/includes/class/class.LSattr_html_select_list.php @@ -451,5 +451,5 @@ LSerror :: defineError('LSattr_html_select_list_06', ___("LSattr_html_select_list: Invalid get_possible_values parameter found in configuration of attribute %{attr}: must be a callable.") ); LSerror :: defineError('LSattr_html_select_list_07', -___("LSattr_html_select_list: fail to retreive possible values of attribute %{attr} using configured function %{callable}.") +___("LSattr_html_select_list: fail to retrieve possible values of attribute %{attr} using configured function %{callable}.") ); diff --git a/src/includes/class/class.LSattr_html_select_object.php b/src/includes/class/class.LSattr_html_select_object.php index 6a742150..641686a2 100644 --- a/src/includes/class/class.LSattr_html_select_object.php +++ b/src/includes/class/class.LSattr_html_select_object.php @@ -168,19 +168,19 @@ class LSattr_html_select_object extends LSattr_html{ * * @param[in] mixed $values array|null Array of the input values () * @param[in] boolean $fromDNs boolean If true, considered provided values as DNs (default: false) - * @param[in] boolean $retreiveAttrValues boolean If true, attribute values will be returned instead + * @param[in] boolean $retrieveAttrValues boolean If true, attribute values will be returned instead * of selected objects info (default: false) * * @author Benjamin Renard * * @retval array|false Array of selected objects with DN as key and object info as value or array - * of attribute values if $retreiveAttrValues==true or False on error. + * of attribute values if $retrieveAttrValues==true or False on error. */ - public function getFormValues($values=NULL, $fromDNs=false, $retreiveAttrValues=false) { + public function getFormValues($values=NULL, $fromDNs=false, $retrieveAttrValues=false) { self :: log_debug("getFormValues(): input values=".varDump($values)); // Check parameters consistency - if ($retreiveAttrValues && !$fromDNs) { - self :: log_fatal('getFormValues(): $fromDNs must be true if $retreiveAttrValues==true'); + if ($retrieveAttrValues && !$fromDNs) { + self :: log_fatal('getFormValues(): $fromDNs must be true if $retrieveAttrValues==true'); return false; } if (!is_array($values)) { @@ -188,7 +188,7 @@ class LSattr_html_select_object extends LSattr_html{ return false; } - // Retreive/check selectable objects config + // Retrieve/check selectable objects config $objs = array(); $confs = $this -> getSelectableObjectsConfig($objs); if (!is_array($confs) || empty($confs)) { @@ -236,8 +236,8 @@ class LSattr_html_select_object extends LSattr_html{ } $found_values[$value] = $value; - if ($retreiveAttrValues) { - // Retreive attribute value case: $selected_objects[dn] = attribute value + if ($retrieveAttrValues) { + // Retrieve attribute value case: $selected_objects[dn] = attribute value if(($conf['value_attribute']=='dn') || ($conf['value_attribute']=='%{dn}')) { $selected_objects[$value] = $value; } @@ -312,8 +312,8 @@ class LSattr_html_select_object extends LSattr_html{ } } - // Retreive attribute values case: return forged array values (list of attribute values) - if ($retreiveAttrValues) + // Retrieve attribute values case: return forged array values (list of attribute values) + if ($retrieveAttrValues) return array_values($selected_objects); // General case @@ -369,7 +369,7 @@ class LSattr_html_select_object extends LSattr_html{ $LSselect_id = $this -> getLSselectId(); if (LSsession :: loadLSclass('LSselect', null, true) && LSselect :: exists($LSselect_id)) { $selected_objects = LSselect :: getSelectedObjects($LSselect_id); - self :: log_debug("getValuesFromLSselect(): selected objects retreived from LSselect '$LSselect_id' = ".varDump($selected_objects)); + self :: log_debug("getValuesFromLSselect(): selected objects retrieved from LSselect '$LSselect_id' = ".varDump($selected_objects)); if (is_array($selected_objects)) { return $this -> getFormValues( array_keys($selected_objects), diff --git a/src/includes/class/class.LSattribute.php b/src/includes/class/class.LSattribute.php index 0c6f93d0..d629cb0d 100644 --- a/src/includes/class/class.LSattribute.php +++ b/src/includes/class/class.LSattribute.php @@ -317,7 +317,7 @@ class LSattribute extends LSlog_staticLoggerClass { * @param[in] $api_mode boolean True if it's a view in API mode (=all accessible attributes present, * optional, default: false) * - * @retval boolean True on succes, False otherwise + * @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') ) @@ -337,7 +337,7 @@ class LSattribute extends LSlog_staticLoggerClass { * * @param[in] $form LSform The LSform object * - * @retval boolean True on succes, False otherwise + * @retval boolean True on success, False otherwise */ public function addToExport(&$form) { if ($this -> myRights() == 'n') @@ -357,7 +357,7 @@ class LSattribute extends LSlog_staticLoggerClass { * * @param[in] object $form The LSform object * - * @retval LSformElement|False LSformElement object on succes, False otherwise + * @retval LSformElement|False LSformElement object on success, False otherwise */ private function _addToForm(&$form, $idForm, &$obj=NULL, $data=NULL) { if (!$this -> html) { diff --git a/src/includes/class/class.LSauth.php b/src/includes/class/class.LSauth.php index bfd93ecd..376d36ae 100644 --- a/src/includes/class/class.LSauth.php +++ b/src/includes/class/class.LSauth.php @@ -109,7 +109,7 @@ class LSauth extends LSlog_staticLoggerClass { } /** - * Retreive auth object types info + * Retrieve auth object types info * @return array Array of auth object type with type as key and type's parameters as value */ public static function getAuthObjectTypes() { @@ -127,7 +127,7 @@ class LSauth extends LSlog_staticLoggerClass { 'password_attribute' => self :: getConfig("LSobjects.$objType.password_attribute", 'userPassword', 'string'), ); } - // For retro-compatibility, also retreived old parameters (excepted in API mode): + // For retro-compatibility, also retrieved old parameters (excepted in API mode): $oldAuthObjectType = LSconfig :: get('authObjectType', null, 'string', LSsession :: $ldapServer); if ($oldAuthObjectType && !array_key_exists($oldAuthObjectType, $objTypes) && self :: checkAuthObjectTypeAccess($oldAuthObjectType)) { $objTypes[$oldAuthObjectType] = array( @@ -155,7 +155,7 @@ class LSauth extends LSlog_staticLoggerClass { } /** - * Retreived LSobjects corresponding to a username + * Retrieved LSobjects corresponding to a username * * @retval array|false Array of corresponding LSldapObject with object DN as key, or false in case of error */ diff --git a/src/includes/class/class.LSauthMethod_HTTP.php b/src/includes/class/class.LSauthMethod_HTTP.php index be564230..f215f85b 100644 --- a/src/includes/class/class.LSauthMethod_HTTP.php +++ b/src/includes/class/class.LSauthMethod_HTTP.php @@ -53,7 +53,7 @@ class LSauthMethod_HTTP extends LSauthMethod_basic { define('LSAUTHMETHOD_HTTP_METHOD', 'PHP_AUTH'); } else { - self :: log_debug('HTTP method to retreive auth data is "'.LSAUTHMETHOD_HTTP_METHOD.'"'); + self :: log_debug('HTTP method to retrieve auth data is "'.LSAUTHMETHOD_HTTP_METHOD.'"'); } $missing_info = null; diff --git a/src/includes/class/class.LScli.php b/src/includes/class/class.LScli.php index c19cc4ea..0e9ef9b2 100644 --- a/src/includes/class/class.LScli.php +++ b/src/includes/class/class.LScli.php @@ -385,7 +385,7 @@ class LScli extends LSlog_staticLoggerClass { * * @param[in] $command_args array Command arguments * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ public static function bash_autocomplete($command_args) { if (count($command_args) < 3) diff --git a/src/includes/class/class.LSerror.php b/src/includes/class/class.LSerror.php index 5c4d231e..c03707f4 100644 --- a/src/includes/class/class.LSerror.php +++ b/src/includes/class/class.LSerror.php @@ -79,7 +79,7 @@ class LSerror { * * @author Benjamin Renard * - * @param[in] $return boolean True if you want to retreived errors message. If false, + * @param[in] $return boolean True if you want to retrieved errors message. If false, * (default), LSerrors template variable will be assigned * with errors message. * diff --git a/src/includes/class/class.LSform.php b/src/includes/class/class.LSform.php index 32e08bfd..9a04c388 100644 --- a/src/includes/class/class.LSform.php +++ b/src/includes/class/class.LSform.php @@ -479,13 +479,13 @@ class LSform extends LSlog_staticLoggerClass { } /** - * Retreive POST data of the form + * Retrieve POST data of the form * * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * @author Benjamin Renard * - * @retval boolean true if POST data are retreived, false otherwise + * @retval boolean true if POST data are retrieved, false otherwise */ public function getPostData($onlyIfPresent=false) { if (is_null($this -> dataEntryForm)) { @@ -670,8 +670,8 @@ class LSform extends LSlog_staticLoggerClass { /** * Return the values of an element * - * If form is posted, retreive values from postData, otherwise - * retreive value from the element. + * If form is posted, retrieve values from postData, otherwise + * retrieve value from the element. * * @param[in] string $element The element name * @@ -852,7 +852,7 @@ class LSform extends LSlog_staticLoggerClass { } else { // Attribute name not already entered: add attribute name options - // Check if $comp_word is quoted and retreived quote char + // Check if $comp_word is quoted and retrieved quote char if ($comp_word) { $quote_char = LScli :: unquote_word($comp_word); } diff --git a/src/includes/class/class.LSformElement.php b/src/includes/class/class.LSformElement.php index bf49ce18..b3a2d44f 100644 --- a/src/includes/class/class.LSformElement.php +++ b/src/includes/class/class.LSformElement.php @@ -206,7 +206,7 @@ class LSformElement extends LSlog_staticLoggerClass { * Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère * pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément * - * @param[in] &$return array Reference of the array for retreived values + * @param[in] &$return array Reference of the array for retrieved values * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * @@ -230,7 +230,7 @@ class LSformElement extends LSlog_staticLoggerClass { } /** - * Retreive the value of the element specified by its name ($name) + * Retrieve the value of the element specified by its name ($name) * from POST data (provided as $post). * * @param[in] &$post array Reference of the array for input POST data @@ -402,7 +402,7 @@ class LSformElement extends LSlog_staticLoggerClass { } /** - * Retreive value as return in API response + * Retrieve value as return in API response * * @param[in] $details boolean If true, returned values will contain details if this field type * support it (optional, default: false) diff --git a/src/includes/class/class.LSformElement_boolean.php b/src/includes/class/class.LSformElement_boolean.php index 26bd12b3..5b7a1901 100644 --- a/src/includes/class/class.LSformElement_boolean.php +++ b/src/includes/class/class.LSformElement_boolean.php @@ -76,7 +76,7 @@ class LSformElement_boolean extends LSformElement { * @retval void */ public function autocomplete_attr_values(&$opts, $comp_word, $attr_value="", $multiple_value_delimiter="|", $quote_char='') { - // Split attribute values and retreived splited value in $attr_values and $last_attr_value + // Split attribute values and retrieved splited value in $attr_values and $last_attr_value if (!$this -> split_autocomplete_attr_values($attr_value, $multiple_value_delimiter, $attr_values, $last_attr_value)) return; diff --git a/src/includes/class/class.LSformElement_date.php b/src/includes/class/class.LSformElement_date.php index ce2ac4b7..9125039d 100644 --- a/src/includes/class/class.LSformElement_date.php +++ b/src/includes/class/class.LSformElement_date.php @@ -212,7 +212,7 @@ class LSformElement_date extends LSformElement { * Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère * pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément * - * @param[in] &$return array Reference of the array for retreived values + * @param[in] &$return array Reference of the array for retrieved values * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * diff --git a/src/includes/class/class.LSformElement_image.php b/src/includes/class/class.LSformElement_image.php index 7c5fa499..57875cf4 100644 --- a/src/includes/class/class.LSformElement_image.php +++ b/src/includes/class/class.LSformElement_image.php @@ -86,7 +86,7 @@ class LSformElement_image extends LSformElement { * Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère * pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément * - * @param[in] &$return array Reference of the array for retreived values + * @param[in] &$return array Reference of the array for retrieved values * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * @@ -165,7 +165,7 @@ class LSformElement_image extends LSformElement { } /** - * Retreive value as return in API response + * Retrieve value as return in API response * * @param[in] $details boolean If true, returned values will contain details if this field type * support it (optional, default: false) diff --git a/src/includes/class/class.LSformElement_jsonCompositeAttribute.php b/src/includes/class/class.LSformElement_jsonCompositeAttribute.php index ca8c98d7..523413f9 100644 --- a/src/includes/class/class.LSformElement_jsonCompositeAttribute.php +++ b/src/includes/class/class.LSformElement_jsonCompositeAttribute.php @@ -178,7 +178,7 @@ class LSformElement_jsonCompositeAttribute extends LSformElement { } /** - * Retreive possible values of an select_list component + * Retrieve possible values of an select_list component * * @param[in] $c string The component name * @@ -201,7 +201,7 @@ class LSformElement_jsonCompositeAttribute extends LSformElement { } /** - * Retreive value's label of an select_list component + * Retrieve value's label of an select_list component * * @param[in] $c string The component name * @param[in] $value string The value @@ -224,12 +224,12 @@ class LSformElement_jsonCompositeAttribute extends LSformElement { } /** - * Retreive LSformElement value from POST data + * Retrieve LSformElement value from POST data * - * This method check present of this element's value in POST data and retreive + * This method check present of this element's value in POST data and retrieve * it to feed the array passed in paramater. * - * @param[in] &$return array Reference of the array for retreived values + * @param[in] &$return array Reference of the array for retrieved values * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * @@ -437,7 +437,7 @@ class LSformElement_jsonCompositeAttribute extends LSformElement { } /** - * Retreive value as return in API response + * Retrieve value as return in API response * * @param[in] $details boolean If true, returned values will contain details if this field type * support it (optional, default: false) diff --git a/src/includes/class/class.LSformElement_labeledValue.php b/src/includes/class/class.LSformElement_labeledValue.php index 6406a2db..bfe3ee59 100644 --- a/src/includes/class/class.LSformElement_labeledValue.php +++ b/src/includes/class/class.LSformElement_labeledValue.php @@ -110,7 +110,7 @@ class LSformElement_labeledValue extends LSformElement { * Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère * pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément * - * @param[in] &$return array Reference of the array for retreived values + * @param[in] &$return array Reference of the array for retrieved values * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * diff --git a/src/includes/class/class.LSformElement_mailQuota.php b/src/includes/class/class.LSformElement_mailQuota.php index 10a4f1de..204ae2ad 100644 --- a/src/includes/class/class.LSformElement_mailQuota.php +++ b/src/includes/class/class.LSformElement_mailQuota.php @@ -148,7 +148,7 @@ class LSformElement_mailQuota extends LSformElement { * Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère * pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément * - * @param[in] &$return array Reference of the array for retreived values + * @param[in] &$return array Reference of the array for retrieved values * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * diff --git a/src/includes/class/class.LSformElement_maildir.php b/src/includes/class/class.LSformElement_maildir.php index afe2593a..e32ab525 100644 --- a/src/includes/class/class.LSformElement_maildir.php +++ b/src/includes/class/class.LSformElement_maildir.php @@ -80,7 +80,7 @@ class LSformElement_maildir extends LSformElement_text { * Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère * pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément * - * @param[in] &$return array Reference of the array for retreived values + * @param[in] &$return array Reference of the array for retrieved values * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * diff --git a/src/includes/class/class.LSformElement_password.php b/src/includes/class/class.LSformElement_password.php index c67a3516..b8f9f518 100644 --- a/src/includes/class/class.LSformElement_password.php +++ b/src/includes/class/class.LSformElement_password.php @@ -43,7 +43,7 @@ class LSformElement_password extends LSformElement { * Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère * pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément * - * @param[in] &$return array Reference of the array for retreived values + * @param[in] &$return array Reference of the array for retrieved values * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * @@ -449,7 +449,7 @@ class LSformElement_password extends LSformElement { * @retval void */ public function autocomplete_attr_values(&$opts, $comp_word, $attr_value="", $multiple_value_delimiter="|", $quote_char='') { - // Split attribute values and retreived splited value in $attr_values and $last_attr_value + // Split attribute values and retrieved splited value in $attr_values and $last_attr_value if (!$this -> split_autocomplete_attr_values($attr_value, $multiple_value_delimiter, $attr_values, $last_attr_value)) return; $pwd = $this->generatePassword($this -> params); diff --git a/src/includes/class/class.LSformElement_quota.php b/src/includes/class/class.LSformElement_quota.php index 742d560c..008d132d 100644 --- a/src/includes/class/class.LSformElement_quota.php +++ b/src/includes/class/class.LSformElement_quota.php @@ -140,7 +140,7 @@ class LSformElement_quota extends LSformElement { * Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère * pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément * - * @param[in] &$return array Reference of the array for retreived values + * @param[in] &$return array Reference of the array for retrieved values * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * @@ -188,7 +188,7 @@ class LSformElement_quota extends LSformElement { } /** - * Retreive factor value + * Retrieve factor value * * @retval integer Factor value */ diff --git a/src/includes/class/class.LSformElement_select.php b/src/includes/class/class.LSformElement_select.php index 08e23a9b..7b653978 100644 --- a/src/includes/class/class.LSformElement_select.php +++ b/src/includes/class/class.LSformElement_select.php @@ -125,7 +125,7 @@ class LSformElement_select extends LSformElement { * @retval void */ public function autocomplete_attr_values(&$opts, $comp_word, $attr_value="", $multiple_value_delimiter="|", $quote_char='') { - // Split attribute values and retreived splited value in $attr_values and $last_attr_value + // Split attribute values and retrieved splited value in $attr_values and $last_attr_value if (!$this -> split_autocomplete_attr_values($attr_value, $multiple_value_delimiter, $attr_values, $last_attr_value)) return; @@ -143,7 +143,7 @@ class LSformElement_select extends LSformElement { /** - * Retreive value as return in API response + * Retrieve value as return in API response * * @param[in] $details boolean If true, returned values will contain details if this field type * support it (optional, default: false) diff --git a/src/includes/class/class.LSformElement_select_object.php b/src/includes/class/class.LSformElement_select_object.php index c71539a0..ca458558 100644 --- a/src/includes/class/class.LSformElement_select_object.php +++ b/src/includes/class/class.LSformElement_select_object.php @@ -110,7 +110,7 @@ class LSformElement_select_object extends LSformElement { * @retval boolean True if LSselect is initialized, false otherwise */ private function initLSselect() { - // Retreive selectable objects configuratio from HTML attr + // Retrieve selectable objects configuratio from HTML attr $objs = null; $confs = $this -> attr_html -> getSelectableObjectsConfig($objs); if (!is_array($confs)) { @@ -300,17 +300,17 @@ class LSformElement_select_object extends LSformElement { public function autocomplete_attr_values(&$opts, $comp_word, $attr_value="", $multiple_value_delimiter="|", $quote_char='') { self :: log_debug("LSformElement :: autocomplete_opts([...], '$comp_word', '$attr_value', '$multiple_value_delimiter', '$quote_char')"); - // Split attribute values and retreived splited value in $attr_values and $last_attr_value + // Split attribute values and retrieved splited value in $attr_values and $last_attr_value if (!$this -> split_autocomplete_attr_values($attr_value, $multiple_value_delimiter, $attr_values, $last_attr_value)) return; - // Retreive selectable objects configuration + // Retrieve selectable objects configuration $objs = null; $confs = $this -> attr_html -> getSelectableObjectsConfig($objs); if (!is_array($confs)) return; - // Iter on selectable object types to retreived available autocomplete options + // Iter on selectable object types to retrieved available autocomplete options foreach($confs as $object_type => $conf) { $dns = LScli :: autocomplete_LSobject_dn($object_type, $last_attr_value); self :: log_debug("LScli :: autocomplete_LSobject_dn($object_type, $last_attr_value) : ".varDump($dns)); @@ -323,7 +323,7 @@ class LSformElement_select_object extends LSformElement { } /** - * Retreive value as return in API response + * Retrieve value as return in API response * * @param[in] $details boolean If true, returned values will contain details if this field type * support it (optional, default: false) diff --git a/src/includes/class/class.LSformElement_supannCompositeAttribute.php b/src/includes/class/class.LSformElement_supannCompositeAttribute.php index 61d363f8..4de05093 100644 --- a/src/includes/class/class.LSformElement_supannCompositeAttribute.php +++ b/src/includes/class/class.LSformElement_supannCompositeAttribute.php @@ -322,7 +322,7 @@ class LSformElement_supannCompositeAttribute extends LSformElement { * Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère * pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément * - * @param[in] &$return array Reference of the array for retreived values + * @param[in] &$return array Reference of the array for retrieved values * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * @@ -562,7 +562,7 @@ class LSformElement_supannCompositeAttribute extends LSformElement { /** - * Retreive value as return in API response + * Retrieve value as return in API response * * @param[in] $details boolean If true, returned values will contain details if this field type * support it (optional, default: false) diff --git a/src/includes/class/class.LSformElement_supannLabeledValue.php b/src/includes/class/class.LSformElement_supannLabeledValue.php index 01c4beca..e240c726 100644 --- a/src/includes/class/class.LSformElement_supannLabeledValue.php +++ b/src/includes/class/class.LSformElement_supannLabeledValue.php @@ -122,7 +122,7 @@ class LSformElement_supannLabeledValue extends LSformElement { * Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère * pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément * - * @param[in] &$return array Reference of the array for retreived values + * @param[in] &$return array Reference of the array for retrieved values * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * @@ -210,7 +210,7 @@ class LSformElement_supannLabeledValue extends LSformElement { } /** - * Retreive value as return in API response + * Retrieve value as return in API response * * @param[in] $details boolean If true, returned values will contain details if this field type * support it (optional, default: false) diff --git a/src/includes/class/class.LSformElement_valueWithUnit.php b/src/includes/class/class.LSformElement_valueWithUnit.php index 812f5da6..7b589392 100644 --- a/src/includes/class/class.LSformElement_valueWithUnit.php +++ b/src/includes/class/class.LSformElement_valueWithUnit.php @@ -177,7 +177,7 @@ class LSformElement_valueWithUnit extends LSformElement { * Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère * pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément * - * @param[in] &$return array Reference of the array for retreived values + * @param[in] &$return array Reference of the array for retrieved values * @param[in] $onlyIfPresent boolean If true and data of this element is not present in POST data, * just ignore it. * diff --git a/src/includes/class/class.LSformRule.php b/src/includes/class/class.LSformRule.php index 0c31ebe1..24420e34 100644 --- a/src/includes/class/class.LSformRule.php +++ b/src/includes/class/class.LSformRule.php @@ -107,7 +107,7 @@ class LSformRule extends LSlog_staticLoggerClass { * - Optional arguments : * - -p|--param: LSformRule parameters (format: param=value) * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ public static function cli_test_form_rule($command_args) { $rule_name = null; diff --git a/src/includes/class/class.LSio.php b/src/includes/class/class.LSio.php index b2d8466b..c39572be 100644 --- a/src/includes/class/class.LSio.php +++ b/src/includes/class/class.LSio.php @@ -66,7 +66,7 @@ class LSio extends LSlog_staticLoggerClass { } /** - * Retreive POST data + * Retrieve POST data * * This method retrieve and format POST data. * @@ -102,7 +102,7 @@ class LSio extends LSlog_staticLoggerClass { /** * Import objects from POST data * - * This method retreive, validate and import POST data. + * This method retrieve, validate and import POST data. * * @author Benjamin Renard * @@ -222,7 +222,7 @@ class LSio extends LSlog_staticLoggerClass { } self :: log_debug("import(): file loaded"); - // Retreive object from ioFormat + // Retrieve object from ioFormat $objectsData = $ioFormat -> getAll(); $objectsInError = array(); self :: log_trace("import(): objects data=".varDump($objectsData)); @@ -255,7 +255,7 @@ class LSio extends LSlog_staticLoggerClass { $globalErrors[] = _('Failed to validate object data.'); } else { - self :: log_debug('import(): Data is correct, retreive object DN'); + self :: log_debug('import(): Data is correct, retrieve object DN'); $dn = $object -> getDn(); if (!$dn) { self :: log_debug('import(): fail to generate for this object: '.varDump($objData)); @@ -375,7 +375,7 @@ class LSio extends LSlog_staticLoggerClass { $search = new LSsearch($object -> type, 'LSio'); $search -> run(); - // Retreive objets + // Retrieve objets $objects = $search -> listObjects(); if (!is_array($objects)) { LSerror :: addErrorCode('LSio_06'); @@ -408,7 +408,7 @@ class LSio extends LSlog_staticLoggerClass { * - -U|--update: Enable "update if exist" * - -j|--just-try: Enable just-try mode * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ public static function cli_import($command_args) { $objType = null; @@ -565,7 +565,7 @@ class LSio extends LSlog_staticLoggerClass { * - Optional arguments: * - -o|--output: Output path ("-" == stdout, default: "-") * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ public static function cli_export($command_args) { $objType = null; diff --git a/src/includes/class/class.LSioFormat.php b/src/includes/class/class.LSioFormat.php index e4fe3b35..8ea00a39 100644 --- a/src/includes/class/class.LSioFormat.php +++ b/src/includes/class/class.LSioFormat.php @@ -93,7 +93,7 @@ class LSioFormat extends LSlog_staticLoggerClass { } /** - * Retreive all objects contained by the loaded file + * Retrieve all objects contained by the loaded file * * @retval array The objects contained by the loaded file **/ @@ -110,7 +110,7 @@ class LSioFormat extends LSlog_staticLoggerClass { * @param $objects array of LSldapObject The objects to export * @param[in] $stream resource|null The output stream (optional, default: STDOUT) * - * @return boolean True on succes, False otherwise + * @return boolean True on success, False otherwise */ public function exportObjects(&$objects, $stream=null) { self :: log_trace('exportObjects(): start'); diff --git a/src/includes/class/class.LSioFormatCSV.php b/src/includes/class/class.LSioFormatCSV.php index 825320c4..5adea46a 100644 --- a/src/includes/class/class.LSioFormatCSV.php +++ b/src/includes/class/class.LSioFormatCSV.php @@ -126,7 +126,7 @@ class LSioFormatCSV extends LSioFormatDriver { } /** - * Retreive all object data contained by the loaded file + * Retrieve all object data contained by the loaded file * * The objects are returned in array : * @@ -160,7 +160,7 @@ class LSioFormatCSV extends LSioFormatDriver { } /** - * Retreive fields names of the loaded file + * Retrieve fields names of the loaded file * * The fields names are returned in array : * @@ -184,7 +184,7 @@ class LSioFormatCSV extends LSioFormatDriver { * @param[in] $objects_data Array of objects data to export * @param[in] $stream resource|null The output stream (optional, default: STDOUT) * - * @return boolean True on succes, False otherwise + * @return boolean True on success, False otherwise */ public function exportObjectsData($objects_data, $stream=null) { if (!function_exists('fputcsv')) { diff --git a/src/includes/class/class.LSioFormatDriver.php b/src/includes/class/class.LSioFormatDriver.php index 8a979c54..fa270f2f 100644 --- a/src/includes/class/class.LSioFormatDriver.php +++ b/src/includes/class/class.LSioFormatDriver.php @@ -63,7 +63,7 @@ class LSioFormatDriver extends LSlog_staticLoggerClass { } /** - * Retreive all object data contained by the loaded file + * Retrieve all object data contained by the loaded file * * The objects are returned in array : * @@ -87,7 +87,7 @@ class LSioFormatDriver extends LSlog_staticLoggerClass { } /** - * Retreive fields names of the loaded file + * Retrieve fields names of the loaded file * * The fields names are returned in array : * @@ -104,7 +104,7 @@ class LSioFormatDriver extends LSlog_staticLoggerClass { } /** - * Retreive all objects data of the loaded file formated + * Retrieve all objects data of the loaded file formated * * This method format objects data using ioFormat configuration * given as parameters. @@ -150,7 +150,7 @@ class LSioFormatDriver extends LSlog_staticLoggerClass { * @param[in] $objects_data Array of objects data to export * @param[in] $stream resource|null The output stream (optional, default: STDOUT) * - * @return boolean True on succes, False otherwise + * @return boolean True on success, False otherwise */ public function exportObjectsData($objects_data, $stream=null) { // Must be implement in real drivers diff --git a/src/includes/class/class.LSlang.php b/src/includes/class/class.LSlang.php index 06d039ec..c369882c 100644 --- a/src/includes/class/class.LSlang.php +++ b/src/includes/class/class.LSlang.php @@ -229,7 +229,7 @@ if (php_sapi_name() != "cli") return true; * * @param[in] $command_args array Command arguments * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ global $LSlang_cli_logger, $available_onlys, $available_withouts; @@ -986,7 +986,7 @@ LScli :: add_command( * * @param[in] $command_args array Command arguments * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ function cli_generate_ldapsaisie_pot($command_args) { global $LSlang_cli_logger; diff --git a/src/includes/class/class.LSldap.php b/src/includes/class/class.LSldap.php index f124f2c8..0e751cb1 100644 --- a/src/includes/class/class.LSldap.php +++ b/src/includes/class/class.LSldap.php @@ -209,7 +209,7 @@ class LSldap extends LSlog_staticLoggerClass { /** * Load values of an LDAP entry attributes * - * This method retreive attributes values of an LDAP entry and return it + * This method retrieve attributes values of an LDAP entry and return it * as associative array. * * @author Benjamin Renard @@ -348,7 +348,7 @@ class LSldap extends LSlog_staticLoggerClass { public static function update($object_type, $dn, $change) { self :: log_trace("update($object_type, $dn): change=".varDump($change)); - // Retreive current LDAP entry + // Retrieve current LDAP entry $entry = self :: getEntry($object_type, $dn); if(!is_a($entry, 'Net_LDAP2_Entry')) { LSerror :: addErrorCode('LSldap_04'); diff --git a/src/includes/class/class.LSldapObject.php b/src/includes/class/class.LSldapObject.php index f2ae9627..43612025 100644 --- a/src/includes/class/class.LSldapObject.php +++ b/src/includes/class/class.LSldapObject.php @@ -537,7 +537,7 @@ class LSldapObject extends LSlog_staticLoggerClass { $ret++; } else { - // Otherwise, just retreive number of matching objets + // Otherwise, just retrieve number of matching objets $ret = LSldap :: getNumberResult($sfilter, $sbasedn, $sparams); if (!is_int($ret)) { // An error occured @@ -690,7 +690,7 @@ class LSldapObject extends LSlog_staticLoggerClass { } } else { - self :: log_error("$this -> submitChange($idForm): fail to retreive new DN"); + self :: log_error("$this -> submitChange($idForm): fail to retrieve new DN"); return; } } @@ -1125,7 +1125,7 @@ class LSldapObject extends LSlog_staticLoggerClass { } /** - * Retreive object type translated label + * Retrieve object type translated label * * @param[in] $type string|null The object type (optional, default: called class name) * @@ -2017,7 +2017,7 @@ class LSldapObject extends LSlog_staticLoggerClass { * - Optional arguments : * - -r|--raw-values : show raw values (instead of display ones) * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ public static function cli_show($command_args) { $objType = null; @@ -2297,7 +2297,7 @@ class LSldapObject extends LSlog_staticLoggerClass { * - Optional arguments : * - -N|--no-confirm : Do not ask for confirmation * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ public static function cli_remove($command_args) { $objType = null; @@ -2446,7 +2446,7 @@ class LSldapObject extends LSlog_staticLoggerClass { * Note: for multiple-values attributes, you also could specify attribute and value * multiple time, for instance : attr1=value1 attr1=value2 * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ public static function cli_create($command_args) { $objType = null; @@ -2609,7 +2609,7 @@ class LSldapObject extends LSlog_staticLoggerClass { * Note: for multiple-values attributes, you also could specify attribute and value * multiple time, for instance : attr1=value1 attr1=value2 * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ public static function cli_modify($command_args) { $objType = null; @@ -2789,7 +2789,7 @@ class LSldapObject extends LSlog_staticLoggerClass { * - -a|--add : Add related object (specified by DN) * - -r|--remove : Remove related object (specified by DN) * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ public static function cli_relation($command_args) { $objType = null; diff --git a/src/includes/class/class.LSlog_handler.php b/src/includes/class/class.LSlog_handler.php index 8a50b217..5e52e6af 100644 --- a/src/includes/class/class.LSlog_handler.php +++ b/src/includes/class/class.LSlog_handler.php @@ -228,7 +228,7 @@ class LSlog_handler extends LSlog_staticLoggerClass { } /** - * Helper to retreive current LDAP server name + * Helper to retrieve current LDAP server name * * @retval string Current LDAP server name **/ @@ -243,7 +243,7 @@ class LSlog_handler extends LSlog_staticLoggerClass { } /** - * Helper to retreive current authenticated user DN + * Helper to retrieve current authenticated user DN * * @retval string Current authenticated user DN **/ diff --git a/src/includes/class/class.LSrelation.php b/src/includes/class/class.LSrelation.php index 2b871133..e818ac79 100644 --- a/src/includes/class/class.LSrelation.php +++ b/src/includes/class/class.LSrelation.php @@ -894,10 +894,10 @@ class LSrelation extends LSlog_staticLoggerClass { return; } - // Retreive selected object from LSselect + // Retrieve selected object from LSselect $selected_objects = LSselect :: getSelectedObjects($_REQUEST['id']); if (!is_array($selected_objects)) { - self :: log_warning("Fail to retreive selected object from LSselect"); + self :: log_warning("Fail to retrieve selected object from LSselect"); return; } self :: log_debug('Selected objects: '.varDump($selected_objects)); diff --git a/src/includes/class/class.LSsearch.php b/src/includes/class/class.LSsearch.php index 8f21c0e1..e4238e0d 100644 --- a/src/includes/class/class.LSsearch.php +++ b/src/includes/class/class.LSsearch.php @@ -983,7 +983,7 @@ class LSsearch extends LSlog_staticLoggerClass { self :: log_debug($this.' -> run(): Cache enabled'); $this -> result = $this -> getResultFromCache(); if ($this -> result) - self :: log_debug($this.' -> run(): result retreived from cache'); + self :: log_debug($this.' -> run(): result retrieved from cache'); else self :: log_debug($this.' -> run(): result not found in cache'); } @@ -1495,7 +1495,7 @@ class LSsearch extends LSlog_staticLoggerClass { * - -e|--extra-columns : Display extra columns * - -p|--page : page number to show (starting by 1, default: first one) * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise **/ public static function cli_search($command_args) { $objType = null; @@ -1622,7 +1622,7 @@ class LSsearch extends LSlog_staticLoggerClass { if ($all) { $entries = $search -> listEntries(); if (!is_array($entries)) - self :: log_fatal("Fail to retreive search result"); + self :: log_fatal("Fail to retrieve search result"); } else { // Retrieve page @@ -1638,7 +1638,7 @@ class LSsearch extends LSlog_staticLoggerClass { // Check page if (!is_array($page) || $page_nb > $page['nbPages']) - self :: log_fatal("Fail to retreive page #$page_nb."); + self :: log_fatal("Fail to retrieve page #$page_nb."); } // Handle JSON output diff --git a/src/includes/class/class.LSsearchEntry.php b/src/includes/class/class.LSsearchEntry.php index 30741a39..01b8c9c9 100644 --- a/src/includes/class/class.LSsearchEntry.php +++ b/src/includes/class/class.LSsearchEntry.php @@ -239,7 +239,7 @@ class LSsearchEntry extends LSlog_staticLoggerClass { elseif (array_key_exists($key,$this->params['customInfos'])) { $cache = $this -> getConfig("customInfos.$key.cache", true, 'bool'); if($cache && isset($this -> cache['customInfos'][$key])) { - self :: log_debug("__get($key): custom info retreived from cache"); + self :: log_debug("__get($key): custom info retrieved from cache"); return $this -> cache['customInfos'][$key]; } if(is_array($this->params['customInfos'][$key]['function']) && is_string($this->params['customInfos'][$key]['function'][0])) { diff --git a/src/includes/class/class.LSsession.php b/src/includes/class/class.LSsession.php index 781c4e49..61d9c9bc 100644 --- a/src/includes/class/class.LSsession.php +++ b/src/includes/class/class.LSsession.php @@ -21,61 +21,71 @@ ******************************************************************************/ /** - * Gestion des sessions + * Manage user session * - * Cette classe gère les sessions d'utilisateurs. + * This class manage user session * * @author Benjamin Renard */ class LSsession { - // La configuration du serveur Ldap utilisé - public static $ldapServer = NULL; + /* + * Class constants store and restore from PHP session + */ - // L'id du serveur Ldap utilisé + // Current LDAP server ID private static $ldapServerId = NULL; - // Le topDn courant + // LDAP servers subDns + private static $_subDnLdapServer = array(); + + // The current topDN private static $topDn = NULL; - // Le DN de l'utilisateur connecté + // The LSldapObject type of current connected user + private static $LSuserObjectType = NULL; + + // Current connected user DN private static $dn = NULL; - // Le RDN de l'utilisateur connecté (son identifiant) + // Current connected user RDN value (his login) private static $rdn = NULL; - // Les LSprofiles de l'utilisateur + // User LDAP credentials + private static $userLDAPcreds = false; + + // Current connected user LSprofiles private static $LSprofiles = array(); - // Les droits d'accès de l'utilisateur + // Current connected user LSaccess (access rights) private static $LSaccess = array(); - // LSaddons views - private static $LSaddonsViews = array(); + // Current connected user LSaddonsViewsAccess (access on LSaddons views) private static $LSaddonsViewsAccess = array(); - // Les fichiers temporaires + // Temporary files private static $tmp_file = array(); /* - * Constante de classe non stockée en session + * Class constants not store in session */ - // Le template à afficher + + // Current LDAP server config + public static $ldapServer = NULL; + + // The template to display private static $template = NULL; - // Les subDn des serveurs Ldap - private static $_subDnLdapServer = array(); - - // Affichage Ajax + // Ajax display flag private static $ajaxDisplay = false; - // Les fichiers JS à charger dans la page + // JS files to load on page private static $JSscripts = array(); // Libs JS files to load on page private static $LibsJSscripts = array(); - // Les fichiers CSS à charger dans la page + // CSS files to load on page private static $CssFiles = array(); // Libs CSS files to load on page @@ -84,21 +94,18 @@ class LSsession { // The LSldapObject of connected user private static $LSuserObject = NULL; - // The LSldapObject type of connected user - private static $LSuserObjectType = NULL; - // The LSauht object of the session private static $LSauthObject = false; - // User LDAP credentials - private static $userLDAPcreds = false; - - // Initialized telltale + // Initialized flag private static $initialized = false; // List of currently loaded LSaddons private static $loadedAddons = array(); + // LSaddons views + private static $LSaddonsViews = array(); + // API mode private static $api_mode = false; @@ -332,11 +339,11 @@ class LSsession { } /** - * Lancement de LSurl + * Start LSurl * * @author Benjamin Renard * - * @retval true si tout c'est bien passé, false sinon + * @retval True on success, false otherwise */ private static function startLSurl() { if (self :: loadLSclass('LSurl') && self :: includeFile(LS_INCLUDE_DIR . "routes.php")) { @@ -346,11 +353,11 @@ class LSsession { } /** - * Lancement et initialisation de Smarty + * Start and initialize LStemplate * * @author Benjamin Renard * - * @retval true si tout c'est bien passé, false sinon + * @retval True on success, false otherwise */ private static function startLStemplate() { if ( self :: loadLSclass('LStemplate') ) { @@ -381,11 +388,11 @@ class LSsession { } /** - * Retourne le topDn de la session + * Retrieve current topDn (=DN scope browsed) * * @author Benjamin Renard * - * @retval string le topDn de la session + * @retval string The current topDn */ public static function getTopDn() { if (!is_null(self :: $topDn)) { @@ -397,24 +404,22 @@ class LSsession { } /** - * Retourne le rootDn de la session + * Retrieve current rootDn (=LDAP server root base DN) * * @author Benjamin Renard * - * @retval string le rootDn de la session + * @retval string The current rootDn */ public static function getRootDn() { return self :: $ldapServer['ldap_config']['basedn']; } /** - * Initialisation de la gestion des erreurs - * - * Création de l'objet LSerror + * Start LSerror * * @author Benjamin Renard loadData(self :: $dn)) { self :: $LSuserObject = null; - self :: log_error("getLSuserObject($dn): Fail to retrieve current connected user information from LDAP"); + self :: log_error( + "getLSuserObject($dn): Fail to retrieve current connected user ". + "information from LDAP" + ); return; } } else { - self :: log_error("getLSuserObject($dn): Current connected user object type not defined or can not be loaded (".self :: $LSuserObjectType.")"); + self :: log_error( + "getLSuserObject($dn): Current connected user object type not ". + "defined or can not be loaded (".self :: $LSuserObjectType.")" + ); return; } } @@ -1182,11 +1195,13 @@ class LSsession { * * @param[in] $object LSldapObject The new connected user object * - * @retval boolean True on succes, false otherwise + * @retval boolean True on success, false otherwise */ public static function changeAuthUser($object) { if(!($object instanceof LSldapObject)) { - self :: log_error("changeAuthUser(): An LSldapObject must be provided, not ".get_class($object)); + self :: log_error( + "changeAuthUser(): An LSldapObject must be provided, not ".get_class($object) + ); return; } if(!array_key_exists($object -> getType(), LSauth :: getAuthObjectTypes())) { @@ -1196,7 +1211,9 @@ class LSsession { ); return; } - self :: log_info("Change authenticated user info ('".self :: $dn."' -> '".$object -> getDn()."')"); + self :: log_info( + "Change authenticated user info ('".self :: $dn."' -> '".$object -> getDn()."')" + ); self :: $dn = $object -> getDn(); $rdn = $object -> getValue('rdn'); if(is_array($rdn)) { @@ -1274,7 +1291,10 @@ class LSsession { if (!self :: loadLSclass('LSldap')) { return; } - if (self :: $dn && isset(self :: $ldapServer['useUserCredentials']) && self :: $ldapServer['useUserCredentials']) { + if ( + self :: $dn && isset(self :: $ldapServer['useUserCredentials']) && + self :: $ldapServer['useUserCredentials'] + ) { LSldap :: reconnectAs( self :: $userLDAPcreds['dn'], self :: $userLDAPcreds['pwd'], @@ -1319,7 +1339,10 @@ class LSsession { */ public static function getSubDnLdapServer($login=false) { $login=(bool)$login; - if (self :: cacheSudDn() && isset(self :: $_subDnLdapServer[self :: $ldapServerId][$login])) { + if ( + self :: cacheSudDn() && + isset(self :: $_subDnLdapServer[self :: $ldapServerId][$login]) + ) { return self :: $_subDnLdapServer[self :: $ldapServerId][$login]; } if (!self::subDnIsEnabled()) { @@ -1327,36 +1350,54 @@ class LSsession { } $return=array(); foreach(self :: $ldapServer['subDn'] as $subDn_name => $subDn_config) { - if ($login && isset($subDn_config['nologin']) && $subDn_config['nologin']) continue; + if ($login && isset($subDn_config['nologin']) && $subDn_config['nologin']) + continue; if ($subDn_name == 'LSobject') { if (is_array($subDn_config)) { foreach($subDn_config as $LSobject_name => $LSoject_config) { - if (isset($LSoject_config['basedn']) && !empty($LSoject_config['basedn'])) { + if ( + isset($LSoject_config['basedn']) && + !empty($LSoject_config['basedn']) + ) { $basedn = $LSoject_config['basedn']; } else { $basedn = self::getRootDn(); } - if (isset($LSoject_config['displayName']) && !empty($LSoject_config['displayName'])) { - $displayName = $LSoject_config['displayName']; + if ( + isset($LSoject_config['displayName']) && + !empty($LSoject_config['displayName']) + ) { + $displayNameFormat = $LSoject_config['displayName']; } else { - $displayName = NULL; + $displayNameFormat = NULL; } $sparams = array(); - $sparams['onlyAccessible'] = (isset($LSoject_config['onlyAccessible'])?$LSoject_config['onlyAccessible']:False); + $sparams['onlyAccessible'] = ( + isset($LSoject_config['onlyAccessible'])? + $LSoject_config['onlyAccessible']: + False + ); if( self :: loadLSobject($LSobject_name) ) { if ($subdnobject = new $LSobject_name()) { - $tbl_return = $subdnobject -> getSelectArray(NULL,$basedn,$displayName,false,false,NULL,$sparams); + $tbl_return = $subdnobject -> getSelectArray( + NULL, // pattern + $basedn, $displayNameFormat, + false, // approx + false, // cache + NULL, // filter + $sparams + ); if (is_array($tbl_return)) { - $return=array_merge($return,$tbl_return); + $return = array_merge($return, $tbl_return); } else { - LSerror :: addErrorCode('LSsession_17',3); + LSerror :: addErrorCode('LSsession_17', 3); } } else { - LSerror :: addErrorCode('LSsession_17',2); + LSerror :: addErrorCode('LSsession_17', 2); } } } @@ -1365,67 +1406,66 @@ class LSsession { LSerror :: addErrorCode('LSsession_17',1); } } - else { - if ((isCompatibleDNs($subDn_config['dn'],self :: $ldapServer['ldap_config']['basedn']))&&($subDn_config['dn']!="")) { - $return[$subDn_config['dn']] = __($subDn_name); - } + elseif ( + isCompatibleDNs( + $subDn_config['dn'], + self :: $ldapServer['ldap_config']['basedn'] + ) && $subDn_config['dn'] != "" + ) { + $return[$subDn_config['dn']] = __($subDn_name); } } if (self :: cacheSudDn()) { - self :: $_subDnLdapServer[self :: $ldapServerId][$login]=$return; + self :: $_subDnLdapServer[self :: $ldapServerId][$login] = $return; $_SESSION['LSsession_subDnLdapServer'] = self :: $_subDnLdapServer; } return $return; } /** - * Retourne la liste de subDn du serveur Ldap utilise - * trié par la profondeur dans l'arboressence (ordre décroissant) + * Retrieve currently used LDAP server subDn list sorted by depth + * in the LDAP tree (descending order) * - * @return array() Tableau des subDn trié + * @return array Sorted array of LDAP server subDns */ public static function getSortSubDnLdapServer($login=false) { $subDnLdapServer = self :: getSubDnLdapServer($login); if (!$subDnLdapServer) { return array(); } - uksort($subDnLdapServer,"compareDn"); + uksort($subDnLdapServer, "compareDn"); return $subDnLdapServer; } /** - * Retourne les options d'une liste déroulante pour le choix du topDn - * de connexion au serveur Ldap + * Retrieve HTML options of current LDAP server topDNs * - * Liste les subdn (self :: $ldapServer['subDn']) - * - * @retval string Les options (\n"; - } - return $display; + if (!$list) + return; + asort($list); + $options = array(); + foreach($list as $dn => $txt) { + $options[] = ( + "" + ); } - return; + return implode('', $options); } /** - * Vérifie qu'un subDn est déclaré + * Check a subDn is valid * - * @param[in] string Un subDn + * @param[in] string The subDn to check * - * @retval boolean True si le subDn existe, False sinon + * @retval boolean True if subDn is valid, False otherwise */ public static function validSubDnLdapServer($subDn) { $listTopDn = self :: getSubDnLdapServer(); @@ -1440,23 +1480,23 @@ class LSsession { } /** - * Test un couple LSobject/pwd + * Check a user password from an LSobject and a password * - * Test un bind sur le serveur avec le dn de l'objet et le mot de passe fourni. + * Try to bind on LDAP server using the provided LSobject DN and password. * - * @param[in] LSobject L'object "user" pour l'authentification - * @param[in] string Le mot de passe à tester + * @param[in] LSobject The user LSobject + * @param[in] string The password to check * - * @retval boolean True si l'authentification à réussi, false sinon. + * @retval boolean True on authentication success, false otherwise. */ - public static function checkUserPwd($object,$pwd) { - return LSldap :: checkBind($object -> getValue('dn'),$pwd); + public static function checkUserPwd($object, $pwd) { + return LSldap :: checkBind($object -> getValue('dn'), $pwd); } /** - * Affiche le formulaire de login + * Display login form * - * Défini les informations pour le template Smarty du formulaire de login. + * Define template information allowing to display login form. * * @retval void */ @@ -1472,13 +1512,11 @@ class LSsession { } /** - * Affiche le formulaire de récupération de mot de passe + * Display password recovery form * - * Défini les informations pour le template Smarty du formulaire de - * récupération de mot de passe + * Define template information allowing to display password recovery form. * - * @param[in] $infos array() Information sur le status du processus de - * recouvrement de mot de passe + * @param[in] $infos array() Password recovery process state information * * @retval void */ @@ -1519,12 +1557,11 @@ class LSsession { } /** - * Défini le template Smarty à utiliser + * Set the template file that will display * - * Remarque : les fichiers de templates doivent se trouver dans le dossier - * templates/. + * Note: template files are normally store in templates directory. * - * @param[in] string Le nom du fichier de template + * @param[in] string The name of the template file * * @retval void */ @@ -1578,10 +1615,10 @@ class LSsession { } /** - * Ajouter un paramètre de configuration Javascript + * Add Javascript configuration parameter * - * @param[in] $name string Nom de la variable de configuration - * @param[in] $val mixed Valeur de la variable de configuration + * @param[in] $name string The name of the JS config paramenter + * @param[in] $val mixed The value of the JS config paramenter * @deprecated * @see LStemplate :: addJSconfigParam() * @@ -1646,9 +1683,9 @@ class LSsession { } /** - * Affiche le template Smarty + * Show the template * - * Charge les dépendances et affiche le template Smarty + * Load dependencies of show the previously selected template file * * @retval void */ @@ -1657,15 +1694,15 @@ class LSsession { return self :: displayAjaxReturn(); $KAconf = LSconfig :: get('keepLSsessionActive'); if ( - ( - (!isset(self :: $ldapServer['keepLSsessionActive'])) - && - (!($KAconf === false)) - ) - || - (self :: $ldapServer['keepLSsessionActive']) - ) { - LStemplate :: addJSconfigParam('keepLSsessionActive',ini_get('session.gc_maxlifetime')); + ( + (!isset(self :: $ldapServer['keepLSsessionActive'])) + && + (!($KAconf === false)) + ) || self :: $ldapServer['keepLSsessionActive'] + ) { + LStemplate :: addJSconfigParam( + 'keepLSsessionActive', ini_get('session.gc_maxlifetime') + ); } // Access @@ -1676,26 +1713,26 @@ class LSsession { $listTopDn = self :: getSubDnLdapServer(); if (is_array($listTopDn)) { asort($listTopDn); - LStemplate :: assign('LSsession_subDn_level',self :: getSubDnLabel()); - LStemplate :: assign('LSsession_subDn_refresh',_('Refresh')); + LStemplate :: assign('LSsession_subDn_level', self :: getSubDnLabel()); + LStemplate :: assign('LSsession_subDn_refresh', _('Refresh')); $LSsession_topDn_index = array(); $LSsession_topDn_name = array(); foreach($listTopDn as $index => $name) { - $LSsession_topDn_index[] = $index; - $LSsession_topDn_name[] = $name; + $LSsession_topDn_index[] = $index; + $LSsession_topDn_name[] = $name; } - LStemplate :: assign('LSsession_subDn_indexes',$LSsession_topDn_index); - LStemplate :: assign('LSsession_subDn_names',$LSsession_topDn_name); - LStemplate :: assign('LSsession_subDn',self :: $topDn); - LStemplate :: assign('LSsession_subDnName',self :: getSubDnName()); + LStemplate :: assign('LSsession_subDn_indexes', $LSsession_topDn_index); + LStemplate :: assign('LSsession_subDn_names', $LSsession_topDn_name); + LStemplate :: assign('LSsession_subDn', self :: $topDn); + LStemplate :: assign('LSsession_subDnName', self :: getSubDnName()); } LStemplate :: assign('LSlanguages', LSlang :: getLangList()); LStemplate :: assign('LSlang', LSlang :: getLang()); LStemplate :: assign('LSencoding', LSlang :: getEncoding()); - LStemplate :: assign('displayLogoutBtn',LSauth :: displayLogoutBtn()); - LStemplate :: assign('displaySelfAccess',LSauth :: displaySelfAccess()); + LStemplate :: assign('displayLogoutBtn', LSauth :: displayLogoutBtn()); + LStemplate :: assign('displaySelfAccess', LSauth :: displaySelfAccess()); // Infos LStemplate :: assign( @@ -1743,7 +1780,7 @@ class LSsession { } /** - * Affiche un retour Ajax + * Show Ajax return * * @retval void */ @@ -1808,12 +1845,12 @@ class LSsession { } /** - * Retournne un template Smarty compilé + * Fetch builded template * - * @param[in] string $template Le template à retourner - * @param[in] array $variables Variables Smarty à assigner avant l'affichage + * @param[in] string $template The template file to build + * @param[in] array $variables Template variables to set before building * - * @retval string Le HTML compilé du template + * @retval string The template builded HTML code */ public static function fetchTemplate($template,$variables=array()) { foreach($variables as $name => $val) { @@ -1823,18 +1860,19 @@ class LSsession { } /** - * Prend un tableau de LSobject et le réduit en utilisant un filtre de - * recherche sur un autre type de LSobject. * - * Si une erreur est présente dans le tableau de définition du filtre, un - * tableau vide est renvoyé. + * Takes an array of LSobject and reduce it using a search filter on + * another type of LSobject. * - * @param[in] string $LSobject le type LSobject par défaut - * @param[in] array $set tableau de LSobject - * @param[in] array $filter_def définition du filtre de recherche pour la réduction - * @param[in] string $basend basedn pour la recherche, null par défaut + * If an error is present in the filter definition array, an empty + * array is returned. * - * @retval array le nouveau tableau de LSobject + * @param[in] string $LSobject The default LSobject type + * @param[in] array $set Array of LSobjects + * @param[in] array $filter_def Definition of the search filter for reduction + * @param[in] string $basend Base DN for search, null by default + * + * @retval array The reduced array of LSobjects */ private static function reduceLdapSet($LSobject, $set, $filter_def, $basedn=null) { if (empty($set)) { @@ -1886,9 +1924,14 @@ class LSsession { } /** - * Charge les droits LS de l'utilisateur : uniquement du type LSobjects + * Loading user's profiles: load profile on specific LSobject type * - * @param[in] string $ + * Regarding configuration, user profile on specific list on the specified + * LSobject type will be loaded. + * + * @param[in] string $profile The LSprofil + * @param[in] string $LSobject The LSobject type + * @param[in] string $LSobject The parameters to list of granted objects * * @retval void */ @@ -1929,9 +1972,9 @@ class LSsession { } /** - * Charge les droits LS de l'utilisateur + * Loading user's profiles * - * @retval boolean True si le chargement à réussi, false sinon. + * @retval boolean True on success, false otherwise **/ private static function loadLSprofiles() { if (!is_array(self :: $ldapServer['LSprofiles'])) { @@ -1979,29 +2022,29 @@ class LSsession { */ foreach($rightsInfos as $dn => $conf) { if (is_array($conf) && isset($conf['attr']) && isset($conf['LSobject'])) { - // We have to retreive this LSobject and list one of its attribute to retreive + // We have to retrieve this LSobject and list one of its attribute to retrieve // users key info. if(!self :: loadLSobject($conf['LSobject'])) { // Warning log message is already emited by self :: loadLSobject() continue; } - // Instanciate object and retreive its data + // Instanciate object and retrieve its data $object = new $conf['LSobject'](); if (!$object -> loadData($dn)) { self :: log_warning("loadLSprofiles(): fail to load DN '$dn'."); continue; } - // Retreive users key info values from object attribute + // Retrieve users key info values from object attribute $list_users_key_values = $object -> getValue($conf['attr']); if (!is_array($list_users_key_values)) { - self :: log_warning("loadLSprofiles(): fail to retreive values of attribute '".$conf['attr']."' of LSobject ".$conf['LSobject']." with DN='$dn'"); + self :: log_warning("loadLSprofiles(): fail to retrieve values of attribute '".$conf['attr']."' of LSobject ".$conf['LSobject']." with DN='$dn'"); continue; } - self :: log_trace("loadLSprofiles(): retreived values of attribute '".$conf['attr']."' of LSobject ".$conf['LSobject']." with DN='$dn': '".implode("', '", $list_users_key_values)."'"); + self :: log_trace("loadLSprofiles(): retrieved values of attribute '".$conf['attr']."' of LSobject ".$conf['LSobject']." with DN='$dn': '".implode("', '", $list_users_key_values)."'"); - // Retreive current connected key value + // Retrieve current connected key value $user_key_value_format = (isset($conf['attr_value'])?$conf['attr_value']:'%{dn}'); $user_key_value = self :: getLSuserObject() -> getFData($user_key_value_format); @@ -2042,7 +2085,7 @@ class LSsession { } /** - * Charge les droits d'accès de l'utilisateur pour construire le menu de l'interface + * Load user access rights to build interface menu * * @retval void */ @@ -2164,12 +2207,12 @@ class LSsession { /** - * Dit si l'utilisateur est du profil pour le DN spécifié + * Check if user is a specified profile on specified DN * - * @param[in] string $dn DN de l'objet - * @param[in] string $profile Profil + * @param[in] string $dn DN of the object to check + * @param[in] string $profile The profile * - * @retval boolean True si l'utilisateur est du profil sur l'objet, false sinon. + * @retval boolean True if user is a specified profile on specified DN, false otherwise. */ public static function isLSprofile($dn,$profile) { if (is_array(self :: $LSprofiles[$profile])) { @@ -2186,12 +2229,12 @@ class LSsession { } /** - * Dit si l'utilisateur est d'au moins un des profils pour le DN spécifié + * Check if user is at least one of specified profiles on specified DN * - * @param[in] string $dn DN de l'objet - * @param[in] string $profiles Profils + * @param[in] string $dn DN of the object to check + * @param[in] string $profiles The profiles list * - * @retval boolean True si l'utilisateur est d'au moins un profil sur l'objet, false sinon. + * @retval boolean True if user is at least one of specified profiles on specified DN, false otherwise. */ public static function isLSprofiles($dn,$profiles) { foreach ($profiles as $profile) { @@ -2273,7 +2316,7 @@ class LSsession { $whoami = self :: whoami($objectdn); } - // Pour un attribut particulier + // On specific attribute if ($attr) { if ($attr=='rdn') { $attr=LSconfig :: get('LSobjects.'.$LSobject.'.rdn'); @@ -2311,7 +2354,7 @@ class LSsession { } } - // Pour un attribut quelconque + // On any attributes $attrs_conf=LSconfig :: get('LSobjects.'.$LSobject.'.attrs'); if (is_array($attrs_conf)) { if (($right=='r')||($right=='w')) { @@ -2351,36 +2394,36 @@ class LSsession { } /** - * Retourne le droit de l'utilisateur à editer à un objet + * Check if user can edit a specified object * - * @param[in] string $LSobject Le type de l'objet - * @param[in] string $dn Le DN de l'objet (le container_dn du type de l'objet par défaut) - * @param[in] string $attr Le nom de l'attribut auquel on test l'accès + * @param[in] string $LSobject The LSobject type + * @param[in] string $dn The DN of the object (optional, default: the container_dn of the LSobject type) + * @param[in] string $attr The attribue name of attribute to check (optional, default: any attributes) * - * @retval boolean True si l'utilisateur a accès, false sinon + * @retval boolean True if user is granted, false otherwise */ - public static function canEdit($LSobject,$dn=NULL,$attr=NULL) { - return self :: canAccess($LSobject,$dn,'w',$attr); + public static function canEdit($LSobject, $dn=NULL, $attr=NULL) { + return self :: canAccess($LSobject, $dn, 'w', $attr); } /** - * Retourne le droit de l'utilisateur à supprimer un objet + * Check if user can remove a specified object * - * @param[in] string $LSobject Le type de l'objet - * @param[in] string $dn Le DN de l'objet (le container_dn du type de l'objet par défaut) + * @param[in] string $LSobject The LSobject type + * @param[in] string $dn The DN of the object (optional, default: the container_dn of the LSobject type) * - * @retval boolean True si l'utilisateur a accès, false sinon + * @retval boolean True if user is granted, false otherwise */ - public static function canRemove($LSobject,$dn) { - return self :: canAccess($LSobject,$dn,'w','rdn'); + public static function canRemove($LSobject, $dn) { + return self :: canAccess($LSobject, $dn, 'w', 'rdn'); } /** - * Retourne le droit de l'utilisateur à créer un objet + * Check if user can create a specific object type * - * @param[in] string $LSobject Le type de l'objet + * @param[in] string $LSobject The LSobject type * - * @retval boolean True si l'utilisateur a accès, false sinon + * @retval boolean True if user is granted, false otherwise */ public static function canCreate($LSobject) { if (!self :: loadLSobject($LSobject)) { @@ -2409,14 +2452,14 @@ class LSsession { } /** - * Retourne le droit de l'utilisateur à gérer la relation d'objet + * Check user right to manage a specified relation of specified object * - * @param[in] string $dn Le DN de l'objet (le container_dn du type de l'objet par défaut) - * @param[in] string $LSobject Le type de l'objet - * @param[in] string $relationName Le nom de la relation avec l'objet - * @param[in] string $right Le type de droit a vérifier ('r' ou 'w') + * @param[in] string $dn The LSobject DN (optional, default: the container_dn of the LSobject type) + * @param[in] string $LSobject The LSobject type + * @param[in] string $relationName The relation name of the object + * @param[in] string $right The right to check (possible values: 'r' or 'w', optional, default: any) * - * @retval boolean True si l'utilisateur a accès, false sinon + * @retval boolean True if user is granted, false otherwise */ public static function relationCanAccess($dn,$LSobject,$relationName,$right=NULL) { $relConf=LSconfig :: get('LSobjects.'.$LSobject.'.LSrelation.'.$relationName); @@ -2465,28 +2508,28 @@ class LSsession { } /** - * Retourne le droit de l'utilisateur à modifier la relation d'objet + * Check user right to edit a specified relation of specified object * - * @param[in] string $dn Le DN de l'objet (le container_dn du type de l'objet par défaut) - * @param[in] string $LSobject Le type de l'objet - * @param[in] string $relationName Le nom de la relation avec l'objet + * @param[in] string $dn The LSobject DN (optional, default: the container_dn of the LSobject type) + * @param[in] string $LSobject The LSobject type + * @param[in] string $relationName The relation name of the object * - * @retval boolean True si l'utilisateur a accès, false sinon + * @retval boolean True if user is granted, false otherwise */ - public static function relationCanEdit($dn,$LSobject,$relationName) { - return self :: relationCanAccess($dn,$LSobject,$relationName,'w'); + public static function relationCanEdit($dn, $LSobject, $relationName) { + return self :: relationCanAccess($dn, $LSobject, $relationName, 'w'); } /** - * Retourne le droit de l'utilisateur a executer une customAction + * Check user right to execute a customAction on specified object * - * @param[in] string $dn Le DN de l'objet - * @param[in] string $LSobject Le type de l'objet - * @param[in] string $customActionName Le nom de la customAction + * @param[in] string $dn The LSobject DN + * @param[in] string $LSobject The LSobject type + * @param[in] string $customActionName The customAction name * - * @retval boolean True si l'utilisateur peut executer cette customAction, false sinon + * @retval boolean True if user is granted, false otherwise */ - public static function canExecuteCustomAction($dn,$LSobject,$customActionName) { + public static function canExecuteCustomAction($dn, $LSobject, $customActionName) { $conf=LSconfig :: get('LSobjects.'.$LSobject.'.customActions.'.$customActionName); if (!is_array($conf)) return; @@ -2509,13 +2552,12 @@ class LSsession { } /** - * Retourne le droit de l'utilisateur a executer une customAction - * sur une recherche + * Check user right to execute a customAction on a specifed search * - * @param[in] string $LSsearch L'objet LSsearch - * @param[in] string $customActionName Le nom de la customAction + * @param[in] string $LSsearch The LSsearch search + * @param[in] string $customActionName The customAction name * - * @retval boolean True si l'utilisateur peut executer cette customAction, false sinon + * @retval boolean True if user is granted, false otherwise */ public static function canExecuteLSsearchCustomAction($LSsearch,$customActionName) { $conf=LSconfig :: get('LSobjects.'.$LSsearch -> LSobject.'.LSsearch.customActions.'.$customActionName); @@ -2548,7 +2590,7 @@ class LSsession { * @param[in] string $LSaddon The LSaddon * @param[in] string $viewId The LSaddon view ID * - * @retval boolean True if user is allowed, false otherwise + * @retval boolean True if user is granted, false otherwise */ public static function canAccessLSaddonView($LSaddon,$viewId) { if (self :: loadLSaddon($LSaddon)) { @@ -2572,26 +2614,28 @@ class LSsession { /** - * Ajoute un fichier temporaire + * Add a temporary file that stored a specifed value * + * @param[in] string $value The value stored in the temporary file + * @param[in] string $filePath The temporary file path * @author Benjamin Renard * * @retval void **/ - public static function addTmpFile($value,$filePath) { + public static function addTmpFile($value, $filePath) { $hash = mhash(MHASH_MD5,$value); self :: $tmp_file[$filePath] = $hash; $_SESSION['LSsession']['tmp_file'][$filePath] = $hash; } /** - * Retourne le chemin du fichier temporaire si l'existe + * Return the path of a temporary file that store the specified value (is exists) * * @author Benjamin Renard * - * @param[in] $value La valeur du fichier + * @param[in] $value The value stored in the temporary file * - * @retval mixed + * @retval string|false The temporary file path if exists, False otherwise **/ public static function tmpFileExist($value) { $hash = mhash(MHASH_MD5,$value); @@ -2604,43 +2648,38 @@ class LSsession { } /** - * Retourne le chemin du fichier temporaire + * Return the path of a temporary file that store the specified value * - * Retourne le chemin du fichier temporaire qu'il créera à partir de la valeur - * s'il n'existe pas déjà. + * The temporary file will be created if not already exists. * * @author Benjamin Renard * - * @param[in] $value La valeur du fichier + * @param[in] $value The value to store in the temporary file * - * @retval mixed + * @retval string|false The path of the temporary file, false in case of error **/ public static function getTmpFile($value) { - $exist = self :: tmpFileExist($value); - if (!$exist) { - $img_path = LS_TMP_DIR_PATH .rand().'.tmp'; - $fp = fopen($img_path, "w"); + $path = self :: tmpFileExist($value); + if (!$path) { + $path = LS_TMP_DIR_PATH .rand().'.tmp'; + $fp = fopen($path, "w"); fwrite($fp, $value); fclose($fp); - self :: addTmpFile($value, $img_path); - return $img_path; - } - else { - return $exist; + self :: addTmpFile($value, $path); } + return $path; } /** - * Retourne l'URL du fichier temporaire + * Return the URL of a temporary file that store the specified value * - * Retourne l'URL du fichier temporaire qu'il créera à partir de la valeur - * s'il n'existe pas déjà . + * The temporary file will be created if not already exists. * * @author Benjamin Renard * - * @param[in] $value La valeur du fichier + * @param[in] $value The value to store in the temporary file * - * @retval mixed + * @retval string|false The URL of the temporary file, false in case of error **/ public static function getTmpFileURL($value) { $path = self :: getTmpFile($value); @@ -2650,13 +2689,13 @@ class LSsession { } /** - * Retourne le chemin du fichier temporaire à partir du nom du fichier (s'il existe) + * Return the path of a temporary file specified by its filename (if exists) * * @author Benjamin Renard * - * @param[in] $hash La valeur du fichier + * @param[in] $filename The filename * - * @retval mixed + * @retval string|false The path of the temporary file if found, false otherwise **/ public static function getTmpFileByFilename($filename) { foreach(self :: $tmp_file as $filePath => $contentHash) { @@ -2668,10 +2707,13 @@ class LSsession { } /** - * Supprime les fichiers temporaires + * Delete one or all temporary files * * @author Benjamin Renard * + * @param[in] string $filePath A specific temporary file path to delete + * (optional, default: all temporary files wil be deleted) + * * @retval void **/ public static function deleteTmpFile($filePath=NULL) { @@ -2690,11 +2732,11 @@ class LSsession { } /** - * Retourne true si le cache des droits est activé + * Check if LSprofiles cache is enabled * * @author Benjamin Renard * - * @retval boolean True si le cache des droits est activé, false sinon. + * @retval boolean True if LSprofiles cache is enabled, false otherwise. */ public static function cacheLSprofiles() { return LSconfig :: get( @@ -2706,11 +2748,11 @@ class LSsession { } /** - * Retourne true si le cache des subDn est activé + * Check if subDn cache is enabled * * @author Benjamin Renard * - * @retval boolean True si le cache des subDn est activé, false sinon. + * @retval boolean True if subDn cache is enabled, false otherwise. */ public static function cacheSudDn() { return LSconfig :: get( @@ -2722,11 +2764,11 @@ class LSsession { } /** - * Retourne true si le cache des recherches est activé + * Check if searchs cache is enabled * * @author Benjamin Renard * - * @retval boolean True si le cache des recherches est activé, false sinon. + * @retval boolean True if searchs cache is enabled, false otherwise. */ public static function cacheSearch() { return LSconfig :: get( @@ -2738,7 +2780,7 @@ class LSsession { } /** - * Return true if global search is enabled + * Check if global search is enabled * * @author Benjamin Renard * @@ -2754,11 +2796,13 @@ class LSsession { } /** - * Retourne le label des niveaux pour le serveur ldap courant + * Retrieve label of current LDAP server subDn + * + * Note: the label is returned untranslated. * * @author Benjamin Renard * - * @retval string Le label des niveaux pour le serveur ldap dourant + * @retval string The label of current LDAP server subDn */ public static function getSubDnLabel() { return __( @@ -2772,11 +2816,11 @@ class LSsession { } /** - * Retourne le nom du subDn + * Return the name of a specifed subDn * - * @param[in] $subDn string subDn + * @param[in] $subDn string The subDn (optional, default: the current one) * - * @retval string Le nom du subDn ou '' sinon + * @retval string The name of the current subDn if found or an empty string otherwise */ public static function getSubDnName($subDn=false) { if (!$subDn) { @@ -2792,11 +2836,11 @@ class LSsession { } /** - * L'objet est t-il utilisé pour listé les subDnS + * Check if object type is used to list current LDAP server subDns * - * @param[in] $type string Le type d'objet + * @param[in] $type string The LSobject type * - * @retval boolean true si le type d'objet est un subDnObject, false sinon + * @retval boolean True if specified object type is used to list current LDAP server subDns, false otherwise */ public static function isSubDnLSobject($type) { $result = false; @@ -2811,11 +2855,14 @@ class LSsession { } /** - * Indique si un type d'objet est dans le menu courant + * Check if specified LSobject type is in current interface menu * - * @retval boolean true si le type d'objet est dans le menu, false sinon + * @param[in] $type string The LSobject type + * @param[in] $topDn string The topDn to check (optional, default: current one) + * + * @retval boolean True if specified LSobject type is in current interface menu, false otherwise */ - public static function in_menu($LSobject,$topDn=NULL) { + public static function in_menu($LSobject, $topDn=NULL) { if (!$topDn) { $topDn = self :: getTopDn(); } @@ -2823,18 +2870,18 @@ class LSsession { } /** - * Indique si le serveur LDAP courant a des subDn + * Check if current LDAP server have subDns * - * @retval boolean true si le serveur LDAP courant a des subDn, false sinon + * @retval boolean True if current LDAP server have subDns, false otherwise */ public static function haveSubDn() { return (isset(self :: $ldapServer['subDn']) && is_array(self :: $ldapServer['subDn'])); } /** - * Ajoute une information à afficher + * Add an information to display to user (on next displayed page or in API result) * - * @param[in] $msg string Le message à afficher + * @param[in] $msg string The message * * @retval void */ @@ -2865,12 +2912,16 @@ class LSsession { } /** - * Retourne l'adresse mail d'emission configurée pour le serveur courant + * Return the sender email address configured for the current LDAP server * - * @retval string Adresse mail d'emission + * @retval string The sender email address (if configured), false otherwise */ public static function getEmailSender() { - return self :: $ldapServer['emailSender']; + return ( + is_array(self :: $ldapServer) && isset(self :: $ldapServer['emailSender']) && self :: $ldapServer['emailSender']? + self :: $ldapServer['emailSender']: + null + ); } /** @@ -2913,7 +2964,10 @@ class LSsession { } /** - * Défini les codes erreur relative à la classe LSsession + * Define error codes relative to LSsession PHP class + * + * Note: could not be directly defined after PHP class declaration (like in othe class files) + * because LSerror is not already loaded and initialized. It's done on self :: startLSerror(). * * @retval void */ @@ -2961,7 +3015,7 @@ class LSsession { ___("LSsession : The function '%{function}' of the custom action '%{customAction}' does not exists or is not configured.") ); LSerror :: defineError('LSsession_14', - ___("LSsession : Fail to retreive user's LDAP credentials from LSauth.") + ___("LSsession : Fail to retrieve user's LDAP credentials from LSauth.") ); LSerror :: defineError('LSsession_15', ___("LSsession : Fail to reconnect to LDAP server with user's LDAP credentials.") diff --git a/src/includes/class/class.LSurl.php b/src/includes/class/class.LSurl.php index f84a725a..a5b4c0e6 100644 --- a/src/includes/class/class.LSurl.php +++ b/src/includes/class/class.LSurl.php @@ -293,7 +293,7 @@ class LSurl extends LSlog_staticLoggerClass { } /** - * Helpers to retreive current requested URL + * Helpers to retrieve current requested URL */ /* diff --git a/src/includes/functions.php b/src/includes/functions.php index 71e15f69..5827514a 100644 --- a/src/includes/functions.php +++ b/src/includes/functions.php @@ -324,216 +324,216 @@ function LSdebugDefined() { ); } - /** - * Vérifie la compatibilite des DN - * - * Vérifie que les DNs sont dans la même branche de l'annuaire. - * - * @param[in] $dn Un premier DN. - * @param[in] $dn Un deuxième DN. - * - * @author Benjamin Renard - * - * @retval boolean true si les DN sont compatibles, false sinon. - */ - function isCompatibleDNs($dn1,$dn2) { - $infos1=ldap_explode_dn($dn1,0); - if(!$infos1) - return; - $infos2=ldap_explode_dn($dn2,0); - if(!$infos2) - return; - if($infos2['count']>$infos1['count']) { - $tmp=$infos1; - $infos1=$infos2; - $infos2=$tmp; - } - $infos1=array_reverse($infos1); - $infos2=array_reverse($infos2); +/** + * Vérifie la compatibilite des DN + * + * Vérifie que les DNs sont dans la même branche de l'annuaire. + * + * @param[in] $dn Un premier DN. + * @param[in] $dn Un deuxième DN. + * + * @author Benjamin Renard + * + * @retval boolean true si les DN sont compatibles, false sinon. + */ +function isCompatibleDNs($dn1,$dn2) { + $infos1=ldap_explode_dn($dn1,0); + if(!$infos1) + return; + $infos2=ldap_explode_dn($dn2,0); + if(!$infos2) + return; + if($infos2['count']>$infos1['count']) { + $tmp=$infos1; + $infos1=$infos2; + $infos2=$tmp; + } + $infos1=array_reverse($infos1); + $infos2=array_reverse($infos2); - for($i=0;$i<$infos1['count'];$i++) { - if (!isset($infos2[$i])) continue; - if($infos1[$i]==$infos2[$i]) continue; - return false; + for($i=0;$i<$infos1['count'];$i++) { + if (!isset($infos2[$i])) continue; + if($infos1[$i]==$infos2[$i]) continue; + return false; + } + return true; +} + +/** + * Fait la somme de DN + * + * Retourne un DN qui correspond au point de séparation des DN si les DN + * ne sont pas dans la meme dans la meme branche ou le dn le plus long sinon. + * + * @param[in] $dn Un premier DN. + * @param[in] $dn Un deuxième DN. + * + * @author Benjamin Renard + * + * @retval string Un DN (ou false si les DN ne sont pas valide) + */ +function sumDn($dn1,$dn2) { + $infos1=ldap_explode_dn($dn1,0); + if(!$infos1) + return; + $infos2=ldap_explode_dn($dn2,0); + if(!$infos2) + return; + if($infos2['count']>$infos1['count']) { + $tmp=$infos1; + $infos1=$infos2; + $infos2=$tmp; + } + $infos1=array_reverse($infos1); + $infos2=array_reverse($infos2); + + $first=true; + $basedn=''; + for($i=0;$i<$infos1['count'];$i++) { + if(($infos1[$i]==$infos2[$i])||(!isset($infos2[$i]))) { + if($first) { + $basedn=$infos1[$i]; + $first=false; + } + else + $basedn=$infos1[$i].','.$basedn; } - return true; + else { + return $basedn; + } + } + return $basedn; +} + +function checkEmail($value,$domain=NULL,$checkDns=true) { + $log = LSlog :: get_logger('checkEmail'); + $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)) { + $log -> debug("'$value': regex fail"); + return false; } - /** - * Fait la somme de DN - * - * Retourne un DN qui correspond au point de séparation des DN si les DN - * ne sont pas dans la meme dans la meme branche ou le dn le plus long sinon. - * - * @param[in] $dn Un premier DN. - * @param[in] $dn Un deuxième DN. - * - * @author Benjamin Renard - * - * @retval string Un DN (ou false si les DN ne sont pas valide) - */ - function sumDn($dn1,$dn2) { - $infos1=ldap_explode_dn($dn1,0); - if(!$infos1) - return; - $infos2=ldap_explode_dn($dn2,0); - if(!$infos2) - return; - if($infos2['count']>$infos1['count']) { - $tmp=$infos1; - $infos1=$infos2; - $infos2=$tmp; - } - $infos1=array_reverse($infos1); - $infos2=array_reverse($infos2); + $nd = explode('@', $value); + $nd=$nd[1]; - $first=true; - $basedn=''; - for($i=0;$i<$infos1['count'];$i++) { - if(($infos1[$i]==$infos2[$i])||(!isset($infos2[$i]))) { - if($first) { - $basedn=$infos1[$i]; - $first=false; - } - else - $basedn=$infos1[$i].','.$basedn; - } - else { - return $basedn; - } - } - return $basedn; - } - - function checkEmail($value,$domain=NULL,$checkDns=true) { - $log = LSlog :: get_logger('checkEmail'); - $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)) { - $log -> debug("'$value': regex fail"); - return false; - } - - $nd = explode('@', $value); - $nd=$nd[1]; - - if ($domain) { - if(is_array($domain)) { - if (!in_array($nd,$domain)) { - $log -> debug("'$value': domain '$nd' not authorized. Allowed domains: '".implode("', '", $domain)."'"); - return false; - } - } - else { - if($nd!=$domain) { - $log -> debug("'$value': domain '$nd' not authorized. Allowed domains: '$domain'"); - return false; - } - } - } - - if ($checkDns && function_exists('checkdnsrr')) { - if (!(checkdnsrr($nd, 'MX') || checkdnsrr($nd, 'A'))) { - $log -> debug("'$value': DNS check fail"); + if ($domain) { + if(is_array($domain)) { + if (!in_array($nd,$domain)) { + $log -> debug("'$value': domain '$nd' not authorized. Allowed domains: '".implode("', '", $domain)."'"); return false; } } - - $log -> debug("'$value': validated"); - return true; - } - - function generatePassword($chars=NULL,$lenght=NULL) { - if (!$lenght) { - $lenght=8; - } - if (is_array($chars)) { - $retval=''; - foreach($chars as $chs) { - if (!is_array($chs)) { - $chs=array('chars' => $chs); - } - if (!isset($chs['nb']) || !is_int($chs['nb'])) { - $chs['nb']=1; - } - $retval.=aleaChar($chs['chars'],$chs['nb']); + else { + if($nd!=$domain) { + $log -> debug("'$value': domain '$nd' not authorized. Allowed domains: '$domain'"); + return false; } - $add = ($lenght-strlen($retval)); - if ($add > 0) { - $retval .= aleaChar($chars,$add); - } - return str_shuffle($retval); - } else { - return aleaChar($chars,$lenght); } } - function aleaChar($chars=NULL,$lenght=1) { - if (is_array($chars)) { - $nchars=""; - foreach($chars as $chs) { - if (is_string($chs)) { - $nchars.=$chs; - } - else if (is_string($chs['chars'])) { - $nchars.=$chs['chars']; - } - } - if(is_string($chars) && strlen($chars)>0) { - $chars=$nchars; - } - else { - $chars=NULL; - } + if ($checkDns && function_exists('checkdnsrr')) { + if (!(checkdnsrr($nd, 'MX') || checkdnsrr($nd, 'A'))) { + $log -> debug("'$value': DNS check fail"); + return false; } - if (!$chars) { - $chars='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'; - } - $nbChars=strlen($chars); - $retval=""; - if(is_int($lenght)) { - for ($i=0;$i<$lenght;$i++) { - $retval.=$chars[rand(0,$nbChars-1)]; - } - } - return $retval; } - function compareDn($a,$b) { - if (substr_count($a,',') > substr_count($b,',')) - return -1; - else - return 1; - } + $log -> debug("'$value': validated"); + return true; +} - /** - * Translate message by using LSlang or Gettext methods - * - * @param[in] @msg string The message - * - * @retval string The translated message if translation available, the original message otherwise - **/ - function __($msg) { - if (empty($msg)) return $msg; - if (isset($GLOBALS['LSlang'][$msg])) { - return $GLOBALS['LSlang'][$msg]; +function generatePassword($chars=NULL,$lenght=NULL) { + if (!$lenght) { + $lenght=8; + } + if (is_array($chars)) { + $retval=''; + foreach($chars as $chs) { + if (!is_array($chs)) { + $chs=array('chars' => $chs); + } + if (!isset($chs['nb']) || !is_int($chs['nb'])) { + $chs['nb']=1; + } + $retval.=aleaChar($chs['chars'],$chs['nb']); } - return _($msg); + $add = ($lenght-strlen($retval)); + if ($add > 0) { + $retval .= aleaChar($chars,$add); + } + return str_shuffle($retval); + } else { + return aleaChar($chars,$lenght); } +} - /** - * Non-translate message - * - * Just-return the input message. This function permit the detection of message - * that will be translated only at display time and not at declare time. - * - * @param[in] @msg string The message - * - * @retval string The message (unchanged) - **/ - function ___($msg) { - return $msg; +function aleaChar($chars=NULL,$lenght=1) { + if (is_array($chars)) { + $nchars=""; + foreach($chars as $chs) { + if (is_string($chs)) { + $nchars.=$chs; + } + else if (is_string($chs['chars'])) { + $nchars.=$chs['chars']; + } + } + if(is_string($chars) && strlen($chars)>0) { + $chars=$nchars; + } + else { + $chars=NULL; + } } + if (!$chars) { + $chars='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'; + } + $nbChars=strlen($chars); + $retval=""; + if(is_int($lenght)) { + for ($i=0;$i<$lenght;$i++) { + $retval.=$chars[rand(0,$nbChars-1)]; + } + } + return $retval; +} + +function compareDn($a,$b) { + if (substr_count($a,',') > substr_count($b,',')) + return -1; + else + return 1; +} + +/** + * Translate message by using LSlang or Gettext methods + * + * @param[in] @msg string The message + * + * @retval string The translated message if translation available, the original message otherwise + **/ +function __($msg) { + if (empty($msg)) return $msg; + if (isset($GLOBALS['LSlang'][$msg])) { + return $GLOBALS['LSlang'][$msg]; + } + return _($msg); +} + +/** + * Non-translate message + * + * Just-return the input message. This function permit the detection of message + * that will be translated only at display time and not at declare time. + * + * @param[in] @msg string The message + * + * @retval string The message (unchanged) + **/ +function ___($msg) { + return $msg; +} // Try to load unidecode library if (!function_exists('unidecode')) { diff --git a/src/includes/routes.php b/src/includes/routes.php index f3576f74..7102c468 100644 --- a/src/includes/routes.php +++ b/src/includes/routes.php @@ -343,7 +343,7 @@ LSurl :: add_handler('#^tmp/(?P[^/]+)$#', 'handle_tmp_file', true, tru */ /* - * LSobject view helper to retreive LSobject from request + * LSobject view helper to retrieve LSobject from request * * This helper load LSobject type from 'LSobject' request * parameter, check user access. If instanciate parameter @@ -495,7 +495,7 @@ function handle_LSobject_search($request) { $LSsearch -> run(); $LSsearch -> redirectWhenOnlyOneResult(); - // Handle page parameter and retreive corresponding page from search + // Handle page parameter and retrieve corresponding page from search $page_nb = (isset($_REQUEST['page'])?(int)$_REQUEST['page']:1); $page = $LSsearch -> getPage($page_nb); @@ -690,7 +690,7 @@ function handle_LSobject_select($request) { (isset($_REQUEST['LSobject'])?$_REQUEST['LSobject']:null) ); if (!$LSsearch) - LSlog :: fatal('Fail to retreive search from context.'); + LSlog :: fatal('Fail to retrieve search from context.'); $LSobject = $LSsearch -> LSobject; $object = new $LSobject(); @@ -1529,7 +1529,7 @@ LSurl :: add_handler('#^addon_view\.php#', 'handle_old_addon_view', false); */ /* - * LSobject API view helper to retreive LSobject from request + * LSobject API view helper to retrieve LSobject from request * * Just a wrapper on get_LSobject_from_request() helper function to * correctly set parameters for API context. @@ -1595,7 +1595,7 @@ function handle_api_LSobject_search($request) { if ($all) { $entries = $search -> listEntries(); if (!is_array($entries)) - LSlog :: fatal("Fail to retreive search result"); + LSlog :: fatal("Fail to retrieve search result"); } else { // Retrieve page @@ -1613,7 +1613,7 @@ function handle_api_LSobject_search($request) { // Check page if (!is_array($page) || $page_nb > $page['nbPages']) - LSlog :: fatal("Fail to retreive page #$page_nb."); + LSlog :: fatal("Fail to retrieve page #$page_nb."); } // Handle JSON output diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index 4ef29b40a4b65ab3920ecc8b13d72f3359b55de4..9e734450c0c102f5ecde8a0b8ca2f43e36404c8b 100644 GIT binary patch delta 11138 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 delta 11150 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\n" "Language-Team: LdapSaisie \n" @@ -747,7 +747,7 @@ msgstr "" "LSformElement_valueWithUnit : La configuration des unités est manquante pour " "l'attribut %{attr}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html.php:143 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html.php:164 msgid "" "LSattr_html : The method addToForm() of the HTML type of the attribute " "%{attr} is not defined." @@ -755,12 +755,10 @@ msgstr "" "LSattr_html : La méthode addToForm() du type HTML de l'attribut %{attr} " "n'est pas encore définie." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html.php:147 -msgid "" -"LSattr_html_%{type} : Multiple data are not supported for this field type." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html.php:168 +msgid "%{type} : Multiple data are not supported for this field type." msgstr "" -"LSattr_html_%{type} : Les données multiples ne sont pas supportées pour ce " -"type de champ." +"%{type} : Les données multiples ne sont pas supportées pour ce type de champ." #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_supannCompositeAttribute.php:186 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSrelation.php:701 @@ -914,7 +912,7 @@ msgstr "" "LStemplate : Erreur durant l'exécution du déclencheur %{callable} lors de " "événement %{event}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:399 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:400 msgid "" "LSattr_html_select_object : parameter '%{parameter}' is missing (attribute : " "%{attr})." @@ -922,7 +920,7 @@ msgstr "" "LSattr_html_select_objet : Le type paramètre %{parameter} n'est pas définie " "(attribut : %{attr})." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:402 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:403 msgid "" "LSattr_html_select_object : the value of the parameter value_attribute in " "the configuration of the attribute %{attr} is incorrect. Object " @@ -932,7 +930,7 @@ msgstr "" "configuration de l'attribut %{attr} est incorrecte. Les objets " "%{object_type} n'ont pas d'attribut %{value_attribute}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:405 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:406 msgid "" "LSattr_html_select_object : more than one object returned corresponding to " "value %{val} of attribute %{attr}." @@ -940,7 +938,7 @@ msgstr "" "LSattr_html_select_objet : plus d'un objet retourné en correspondance à la " "valeur %{val} de l'attribut %{attr}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:408 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:409 msgid "" "LSattr_html_select_object : selection of object type %{type} is configured " "multiple time for attribute %{attr}." @@ -948,7 +946,7 @@ msgstr "" "LSattr_html_select_objet : La sélection du type d'objet %{type} est " "configurée plusieurs fois pour l'attribut %{attr}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:411 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:412 msgid "" "LSattr_html_select_object : the value '%{value}' seem to be duplicated in " "values of the attribute %{attr}." @@ -956,7 +954,7 @@ msgstr "" "LSattr_html_select_objet : La valeur '%{value}' semble dupliquée dans les " "valeurs de l'attribut %{attr}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:414 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:415 msgid "" "LSattr_html_select_object : selected object %{name} has no attribute %{attr} " "value, you can't select it." @@ -1093,56 +1091,56 @@ msgstr "" msgid "Clear" msgstr "Nettoyer" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:374 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:381 msgid "Copy to clipboard" msgstr "Copier dans le presse-papier" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:375 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:382 msgid "Copied!" msgstr "Copié !" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1464 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1504 msgid "Connection" msgstr "Connexion" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1486 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1524 msgid "Recovery of your credentials" msgstr "Récupération de votre mot de passe" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1495 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1533 msgid "Please fill the identifier field to proceed recovery procedure" msgstr "" "Merci d'entrer votre identifiant pour poursuivre la procédure de récupération" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1500 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1538 msgid "" "An email has been sent to %{mail}. Please follow the instructions on it." msgstr "" "Un e-mail vient de vous être envoyé à l'adresse %{mail}. Merci de suivre les " "indications qu'il contient." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1509 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1547 msgid "Your new password has been sent to %{mail}." msgstr "Votre nouveau mot de passe vous a été envoyé à l'adresse %{mail}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1680 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1717 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:156 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:467 #: templates/default/select.tpl:29 msgid "Refresh" msgstr "Rafraîchir" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2762 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2811 #: templates/default/select.tpl:20 templates/default/recoverpassword.tpl:17 #: templates/default/login.tpl:16 msgid "Level" msgstr "Niveau" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2920 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2979 msgid "LSsession : The constant '%{const}' is not defined." msgstr "LSsession : La constante '%{const}' n'est pas définie." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2923 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2982 msgid "" "LSsession : The addon '%{addon}' support is uncertain. Verify system " "compatibility and the add-on configuration." @@ -1150,53 +1148,53 @@ msgstr "" "LSsession : Le support de l'addon '%{addon}' est incertain. Vérifiez la " "compatibilité du système et la configuration de l'add-on." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2926 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2985 msgid "" "LSsession : LDAP server's configuration data are invalid. Can't connect." msgstr "" "LSsession : Les données de configuration du serveur LDAP sont invalide. " "Impossible de s'y connecter." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2929 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2988 msgid "LSsession : Failed to load LSobject type '%{type}' : unknon type." msgstr "" "LSsession : Impossible de charger le type d'LSobject '%{type}' : type " "inconnu." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2932 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2991 msgid "LSsession : Failed to load LSclass '%{class}'." msgstr "LSsession : Impossible de charger la LSclass '%{class}'." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2935 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2994 msgid "LSsession : Login or password incorrect." msgstr "LSsession : Identifiant ou mot de passe incorrects." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2938 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2997 msgid "LSsession : Impossible to identify you : Duplication of identities." msgstr "LSsession : Impossible de vous identifier : Duplication d'identité." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2941 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3000 msgid "LSsession : Can't load class of authentification (%{class})." msgstr "" "LSsession : Impossible de charger la classe d'authentification (%{class})." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2944 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3003 msgid "LSsession : Can't connect to LDAP server." msgstr "LSsession : Impossible de se connecter au serveur LDAP." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2947 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3006 msgid "LSsession : Impossible to authenticate you." msgstr "LSsession : Impossible de vous identifier." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2950 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3009 msgid "LSsession : Your are not authorized to do this action." msgstr "LSsession : Vous n'êtes pas autorisé à faire cette action." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2953 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3012 msgid "LSsession : Some informations are missing to display this page." msgstr "LSsession : Des informations sont manquant pour afficher cette page." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2956 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3015 msgid "" "LSsession : The function '%{function}' of the custom action " "'%{customAction}' does not exists or is not configured." @@ -1204,24 +1202,24 @@ msgstr "" "LSsession : La fonction '%{function}' de l'action personnalisée " "'%{customAction}' n'existe pas ou n'est pas configurée." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2959 -msgid "LSsession : Fail to retreive user's LDAP credentials from LSauth." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3018 +msgid "LSsession : Fail to retrieve user's LDAP credentials from LSauth." msgstr "" "LSsession : Erreur en récupérant les identifiants LDAP de l'utilisateur " "depuis LSauth." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2962 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3021 msgid "" "LSsession : Fail to reconnect to LDAP server with user's LDAP credentials." msgstr "" "LSsession : Impossible de se reconnecter au serveur LDAP avec les " "identifiants de l'utilisateur." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2965 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3024 msgid "LSsession : No import/export format define for this object type." msgstr "LSsession : Aucun format d'entrée/sortie définie pour ce type d'objet." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2968 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3027 msgid "" "LSsession : Error during creation of list of levels. Contact administrators. " "(Code : %{code})" @@ -1229,13 +1227,13 @@ msgstr "" "LSsession : Erreur durant la création de la liste des niveaux. Contacter les " "administrateurs. (Code : %{type})" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2971 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3030 msgid "LSsession : The password recovery is disabled for this LDAP server." msgstr "" "LSsession : La récupération de mot de passe est désactivée pour ce serveur " "LDAP." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2974 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3033 msgid "" "LSsession : Some informations are missing to recover your password. Contact " "administrators." @@ -1243,7 +1241,7 @@ msgstr "" "LSsession : Des informations sont manques pour pouvoir récupérer votre mot " "de passe. Contacter les administrateurs." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2977 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3036 msgid "" "LSsession : Error during password recovery. Contact administrators.(Step : " "%{step})" @@ -1251,7 +1249,7 @@ msgstr "" "LSsession : Erreur durant la récupération de votre mot de passe. Contacter " "les administrateurs. (Etape : %{step})" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2980 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3039 msgid "" "LSsession : The function '%{func}' configured for the view '%{view}' of the " "LSaddon '%{addon}' is not declared in the LSaddon file." @@ -1259,11 +1257,11 @@ msgstr "" "LSsession : la fonction '%{func}' configurée pour la vue '%{view}' du " "LSaddon '%{addon}' n'est pas déclaré dans le fichier du LSaddon." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2983 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3042 msgid "LSsession : Failed to load resource file '%{file}'." msgstr "LSsession : Impossible de charger le fichier de ressource '%{file}'." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2986 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3045 msgid "" "LSsession : The function '%{func}' configured for the view '%{view}' of the " "LSaddon '%{addon}' doesn't exist." @@ -1271,11 +1269,11 @@ msgstr "" "LSsession : la fonction '%{func}' configurée pour la vue '%{view}' du " "LSaddon '%{addon}' n'existe pas." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2989 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3048 msgid "LSsession : invalid related object's DN pass in parameter." msgstr "LSsession : DN d'objet en relation incorrect dans les paramètres." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2992 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3051 msgid "" "LSsession : the LSaddon %{addon} keep using old-style addon view URL. Please " "upgrade it." @@ -1283,7 +1281,7 @@ msgstr "" "LSsession : le LSaddon %{addon} utilise toujours l'ancien type d'URL de " "vues. Merci de le mettre à jour." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2995 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3054 msgid "" "LSsession : You have been redirect from an old-style URL %{url}. Please " "upgrade this link." @@ -1291,7 +1289,7 @@ msgstr "" "LSsession : Vous avez été redirigé depuis une ancienne URL %{url}. Merci de " "le mettre à jour ce lien." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2998 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3057 msgid "" "LSsession : You always seem to use %{old} in your custom code: Please " "upgrade it and use %{new}.
\n"
@@ -1793,37 +1791,37 @@ msgstr ""
 "LSrelation : Le paramètre '%{parameter}' est invalide dans la configuration "
 "de la relation %{relation} des objets %{LSobject}."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:85
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:93
 msgid "%{label}: passwords entered did not match."
 msgstr "%{label} : les mots de passe saisies ne correspondent pas."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:133
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:143
 msgid "%{label}: invalid email address provided to send new password."
 msgstr ""
 "%{label} : une adresse mail invalide a été fournie pour l'envoi du nouveau "
 "mot de passe."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:170
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:181
 msgid "Generate a password."
 msgstr "Générer un mot de passe."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:171
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:182
 msgid "Compare with stored password."
 msgstr "Comparer avec le mot de passe stocké."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:172
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:183
 msgid "Display password."
 msgstr "Afficher le mot de passe."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:173
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:184
 msgid "Display hashed password."
 msgstr "Afficher le mot de passe haché."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:174
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:185
 msgid "Hide password."
 msgstr "Cacher le mot de passe."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:175
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:186
 msgid ""
 "The password will be sent by mail if changed. Click to disable automatic "
 "notification."
@@ -1831,7 +1829,7 @@ msgstr ""
 "Le mot de passe sera envoyé par e-mail en cas de modification. Cliquer pour "
 "désactiver la notification."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:176
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:187
 msgid ""
 "The password will not be sent if changed. Click to enable automatic "
 "notification."
@@ -1839,23 +1837,23 @@ msgstr ""
 "Le mot de passe ne sera pas envoyé en cas de modification. Cliquer pour "
 "activer la notification automatique."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:177
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:188
 msgid "Modify the mail sent to notice the user"
 msgstr "Modifier mail de notification de l'utilisateur"
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:195
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:216
 msgid "%{label}: Do you confirm the password change?"
 msgstr "%{label} : Confirmez-vous la modification du mot de passe ?"
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:203
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:224
 msgid "Passwords entered did not match."
 msgstr "Les mots de passe saisies ne correspondent pas."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:329
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:355
 msgid "Notice mail sent."
 msgstr "Le mail de notification a été envoyé."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:424
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:465
 msgid ""
 "LSformElement_password : No valid contact mail address available : Can't "
 "send new password."
@@ -1863,20 +1861,20 @@ msgstr ""
 "LSformElement_password : Aucun mail de contact valide disponible : "
 "impossible d'envoyer le nouveau mot de passe."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:427
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:468
 msgid "LSformElement_password : Fail to send new password by email to %{mail}."
 msgstr ""
 "LSformElement_password : Une erreur est survenue en envoyant le nouveau mot "
 "de passe à %{mail}."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:430
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:471
 msgid ""
 "LSformElement_password : Fail to exec pwgen. Check it's correctly installed."
 msgstr ""
 "LSformElement_password : Impossible d'exécuter pwgen. Vérifier qu'il est "
 "bien installé."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:433
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:474
 msgid ""
 "LSformElement_password : Fail to determine witch e-mail attribute to use to "
 "send new password : get_mail_attr_function parameter not refer to a valid "
@@ -1886,7 +1884,7 @@ msgstr ""
 "être utilisé pour l'envoi du mot de passe : le paramètre "
 "get_mail_attr_function ne fait pas référence à une fonction valide."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:436
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:477
 msgid ""
 "LSformElement_password : Fail to determine witch e-mail attribute to use to "
 "send new password : get_mail_attr_function throwed an exception : %{msg}"
@@ -2105,27 +2103,27 @@ msgstr "Ajout rapide"
 msgid "Display advanced search and selection panel."
 msgstr "Afficher la fenêtre de recherche et de sélection étendue."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:115
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:114
 msgid "Fail to determine the requested URL."
 msgstr "Impossible de déterminer l'URL demandée."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:119
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:118
 msgid "No URL patterns configured !"
 msgstr "Aucun modèle d'URL configuré !"
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:226
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:225
 msgid "Fail to determine the requested URL (loop detected)."
 msgstr "Impossible de déterminer l'URL demandée (boucle détectée)."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:248
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:247
 msgid "The requested page was not found."
 msgstr "La page demandée est introuvable."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:273
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:272
 msgid "This request could not be handled."
 msgstr "Cette requête ne peut être traitée."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:292
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:291
 msgid "This request could not be processed correctly."
 msgstr "Cette requête ne peut être traitée correctement."
 
@@ -2482,7 +2480,7 @@ msgstr ""
 
 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_list.php:454
 msgid ""
-"LSattr_html_select_list: fail to retreive possible values of attribute "
+"LSattr_html_select_list: fail to retrieve possible values of attribute "
 "%{attr} using configured function %{callable}."
 msgstr ""
 "LSattr_html_select_list : Impossible de récupérer les valeurs possibles de "
@@ -2559,20 +2557,20 @@ msgstr "LSioFormatCSV : la fonction fputcsv n'est pas disponible."
 msgid "LSlog : Fail to load logging handler %{handler}."
 msgstr "LSlog : Impossible de charger l'handler %{handler}."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:112
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:109
 #: templates/default/import.tpl:43
 msgid "Errors"
 msgstr "Erreurs"
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:115
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:112
 msgid "Stop"
 msgstr "Stop"
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:158
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:150
 msgid "Unknown error"
 msgstr "Erreur inconnue"
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:213
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:210
 msgid "Unknown error : %{error}"
 msgstr "Erreur inconnu : %{error}"
 
diff --git a/src/lang/fr_FR.UTF8/lang.php b/src/lang/fr_FR.UTF8/lang.php
index ea9f9384..af532f36 100644
--- a/src/lang/fr_FR.UTF8/lang.php
+++ b/src/lang/fr_FR.UTF8/lang.php
@@ -5,7 +5,7 @@ $GLOBALS['LSlang'] = array (
 # LSobjects.LSdyngroup.attrs.lsDynGroupMemberDnURI.help_info
 "

LDAP search URI or group members. A LDAP search URI is composed of the following parts separated by semicolons :

  • The LDAP URI in format ldap://[host]/[base DN]. For instance, to make a request on the same LDAP server, use ldap:///o=ls
  • -
  • The retreived attributes (separated by coma, optional)
  • +
  • The retrieved attributes (separated by coma, optional)
  • The search scope (base, one or sub)
  • The LDAP filter (optional, default : (objectClass=*))

Example : ldap:///ou=people,o=ls??one?(&(objectClass=lspeople)(mail=*@ls.com))

" => diff --git a/src/lang/ldapsaisie.pot b/src/lang/ldapsaisie.pot index d1fcf105..94ba9bda 100644 --- a/src/lang/ldapsaisie.pot +++ b/src/lang/ldapsaisie.pot @@ -638,15 +638,14 @@ msgid "" "attribute %{attr}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html.php:143 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html.php:164 msgid "" "LSattr_html : The method addToForm() of the HTML type of the attribute " "%{attr} is not defined." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html.php:147 -msgid "" -"LSattr_html_%{type} : Multiple data are not supported for this field type." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html.php:168 +msgid "%{type} : Multiple data are not supported for this field type." msgstr "" #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_supannCompositeAttribute.php:186 @@ -789,38 +788,38 @@ msgid "" "%{event}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:399 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:400 msgid "" "LSattr_html_select_object : parameter '%{parameter}' is missing (attribute : " "%{attr})." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:402 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:403 msgid "" "LSattr_html_select_object : the value of the parameter value_attribute in " "the configuration of the attribute %{attr} is incorrect. Object " "%{object_type} have no attribute %{value_attribute}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:405 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:406 msgid "" "LSattr_html_select_object : more than one object returned corresponding to " "value %{val} of attribute %{attr}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:408 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:409 msgid "" "LSattr_html_select_object : selection of object type %{type} is configured " "multiple time for attribute %{attr}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:411 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:412 msgid "" "LSattr_html_select_object : the value '%{value}' seem to be duplicated in " "values of the attribute %{attr}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:414 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_object.php:415 msgid "" "LSattr_html_select_object : selected object %{name} has no attribute %{attr} " "value, you can't select it." @@ -927,173 +926,173 @@ msgstr "" msgid "Clear" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:374 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:381 msgid "Copy to clipboard" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:375 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:382 msgid "Copied!" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1464 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1504 msgid "Connection" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1486 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1524 msgid "Recovery of your credentials" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1495 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1533 msgid "Please fill the identifier field to proceed recovery procedure" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1500 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1538 msgid "" "An email has been sent to %{mail}. Please follow the instructions on it." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1509 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1547 msgid "Your new password has been sent to %{mail}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1680 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1717 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:156 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:467 #: templates/default/select.tpl:29 msgid "Refresh" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2762 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2811 #: templates/default/select.tpl:20 templates/default/recoverpassword.tpl:17 #: templates/default/login.tpl:16 msgid "Level" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2920 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2979 msgid "LSsession : The constant '%{const}' is not defined." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2923 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2982 msgid "" "LSsession : The addon '%{addon}' support is uncertain. Verify system " "compatibility and the add-on configuration." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2926 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2985 msgid "" "LSsession : LDAP server's configuration data are invalid. Can't connect." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2929 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2988 msgid "LSsession : Failed to load LSobject type '%{type}' : unknon type." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2932 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2991 msgid "LSsession : Failed to load LSclass '%{class}'." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2935 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2994 msgid "LSsession : Login or password incorrect." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2938 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2997 msgid "LSsession : Impossible to identify you : Duplication of identities." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2941 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3000 msgid "LSsession : Can't load class of authentification (%{class})." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2944 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3003 msgid "LSsession : Can't connect to LDAP server." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2947 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3006 msgid "LSsession : Impossible to authenticate you." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2950 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3009 msgid "LSsession : Your are not authorized to do this action." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2953 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3012 msgid "LSsession : Some informations are missing to display this page." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2956 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3015 msgid "" "LSsession : The function '%{function}' of the custom action " "'%{customAction}' does not exists or is not configured." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2959 -msgid "LSsession : Fail to retreive user's LDAP credentials from LSauth." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3018 +msgid "LSsession : Fail to retrieve user's LDAP credentials from LSauth." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2962 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3021 msgid "" "LSsession : Fail to reconnect to LDAP server with user's LDAP credentials." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2965 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3024 msgid "LSsession : No import/export format define for this object type." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2968 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3027 msgid "" "LSsession : Error during creation of list of levels. Contact administrators. " "(Code : %{code})" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2971 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3030 msgid "LSsession : The password recovery is disabled for this LDAP server." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2974 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3033 msgid "" "LSsession : Some informations are missing to recover your password. Contact " "administrators." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2977 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3036 msgid "" "LSsession : Error during password recovery. Contact administrators.(Step : " "%{step})" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2980 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3039 msgid "" "LSsession : The function '%{func}' configured for the view '%{view}' of the " "LSaddon '%{addon}' is not declared in the LSaddon file." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2983 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3042 msgid "LSsession : Failed to load resource file '%{file}'." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2986 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3045 msgid "" "LSsession : The function '%{func}' configured for the view '%{view}' of the " "LSaddon '%{addon}' doesn't exist." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2989 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3048 msgid "LSsession : invalid related object's DN pass in parameter." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2992 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3051 msgid "" "LSsession : the LSaddon %{addon} keep using old-style addon view URL. Please " "upgrade it." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2995 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3054 msgid "" "LSsession : You have been redirect from an old-style URL %{url}. Please " "upgrade this link." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2998 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3057 msgid "" "LSsession : You always seem to use %{old} in your custom code: Please " "upgrade it and use %{new}.
\n"
@@ -1510,85 +1509,85 @@ msgid ""
 "%{relation} of %{LSobject} is invalid."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:85
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:93
 msgid "%{label}: passwords entered did not match."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:133
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:143
 msgid "%{label}: invalid email address provided to send new password."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:170
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:181
 msgid "Generate a password."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:171
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:182
 msgid "Compare with stored password."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:172
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:183
 msgid "Display password."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:173
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:184
 msgid "Display hashed password."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:174
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:185
 msgid "Hide password."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:175
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:186
 msgid ""
 "The password will be sent by mail if changed. Click to disable automatic "
 "notification."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:176
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:187
 msgid ""
 "The password will not be sent if changed. Click to enable automatic "
 "notification."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:177
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:188
 msgid "Modify the mail sent to notice the user"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:195
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:216
 msgid "%{label}: Do you confirm the password change?"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:203
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:224
 msgid "Passwords entered did not match."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:329
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:355
 msgid "Notice mail sent."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:424
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:465
 msgid ""
 "LSformElement_password : No valid contact mail address available : Can't "
 "send new password."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:427
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:468
 msgid "LSformElement_password : Fail to send new password by email to %{mail}."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:430
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:471
 msgid ""
 "LSformElement_password : Fail to exec pwgen. Check it's correctly installed."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:433
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:474
 msgid ""
 "LSformElement_password : Fail to determine witch e-mail attribute to use to "
 "send new password : get_mail_attr_function parameter not refer to a valid "
 "function."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:436
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_password.php:477
 msgid ""
 "LSformElement_password : Fail to determine witch e-mail attribute to use to "
 "send new password : get_mail_attr_function throwed an exception : %{msg}"
@@ -1785,27 +1784,27 @@ msgstr ""
 msgid "Display advanced search and selection panel."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:115
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:114
 msgid "Fail to determine the requested URL."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:119
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:118
 msgid "No URL patterns configured !"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:226
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:225
 msgid "Fail to determine the requested URL (loop detected)."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:248
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:247
 msgid "The requested page was not found."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:273
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:272
 msgid "This request could not be handled."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:292
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSurl.php:291
 msgid "This request could not be processed correctly."
 msgstr ""
 
@@ -2119,7 +2118,7 @@ msgstr ""
 
 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_html_select_list.php:454
 msgid ""
-"LSattr_html_select_list: fail to retreive possible values of attribute "
+"LSattr_html_select_list: fail to retrieve possible values of attribute "
 "%{attr} using configured function %{callable}."
 msgstr ""
 
@@ -2187,20 +2186,20 @@ msgstr ""
 msgid "LSlog : Fail to load logging handler %{handler}."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:112
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:109
 #: templates/default/import.tpl:43
 msgid "Errors"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:115
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:112
 msgid "Stop"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:158
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:150
 msgid "Unknown error"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:213
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSerror.php:210
 msgid "Unknown error : %{error}"
 msgstr ""