From 5dad4e36482cf7e284ea512c2e50ea0f74727f69 Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Wed, 20 Nov 2024 16:25:39 +0100 Subject: [PATCH] LSformRule_zxcvbn: add customDictionaries parameter --- .../LSobject/LSattribute/check_data/zxcvbn.md | 22 +- .../class/class.LSformRule_zxcvbn.php | 23 ++ src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo | Bin 97196 -> 97358 bytes src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po | 238 ++++++++-------- src/lang/ldapsaisie.pot | 258 +++++++++--------- 5 files changed, 296 insertions(+), 245 deletions(-) diff --git a/doc/src/conf/LSobject/LSattribute/check_data/zxcvbn.md b/doc/src/conf/LSobject/LSattribute/check_data/zxcvbn.md index e9d4b871..e2cdbc70 100644 --- a/doc/src/conf/LSobject/LSattribute/check_data/zxcvbn.md +++ b/doc/src/conf/LSobject/LSattribute/check_data/zxcvbn.md @@ -1,8 +1,8 @@ # zxcvbn Cette règle vérifie la sécurité d'un mot de passe en utilisant la librairie -[ZxcvbnPhp](https://github.com/bjeavons/zxcvbn-php). Cette librairie s'appuie sur un ensemble de -vérifications permettant de déterminer à quel point le mot de passe choisi est commun, prévisible +[ZxcvbnPhp](https://gitlab.easter-eggs.com/ee/zxcvbn-php). Cette librairie s'appuie sur un ensemble +de vérifications permettant de déterminer à quel point le mot de passe choisi est commun, prévisible et plus globalement, estime en combien de temps il pourra être cassé par une personne malveillante. Sur la base de l'analyse du mot de passe saisi, des conseils seront donnés à l'utilisateur pour le guider dans le choix d'un mot de passe sûre. @@ -34,6 +34,24 @@ guider dans le choix d'un mot de passe sûre. Booléen définissant si les messages de suggestions retournés par la librairie `Zxcvbn` doivent être affichés à l'utilisateur. Paramètre facultatif et vrai par défaut. +- `customDictionaries` + + Tableau associatif permettant de configurer des dictionnaires personnalisés : les clés contiennent + le nom de la collection de dictionnaires et les valeurs associées, le chemin vers un fichier JSON + contenant la collection de dictionnaires. Ces fichiers doivent contenir un objet racine dont les + clés sont des chaînes de caractères correspondant au nom des dictionnaires et les valeurs + associés sont des listes de mots __en minuscule__ triées par ordre décroissant de fréquence + d'utilisation. + + Exemple: + + ```json + { + "dictionnaire1": ["mot1", "mot2"], + "dictionnaire2": ["mot3", "mot4"] + } + ``` + - `zxcvbn_autoload_path` Le chemin vers le fichier de chargement automatique des classes de la librairie *ZxcvbnPhp*. Ce diff --git a/src/includes/class/class.LSformRule_zxcvbn.php b/src/includes/class/class.LSformRule_zxcvbn.php index 1894e37d..0272f6f2 100644 --- a/src/includes/class/class.LSformRule_zxcvbn.php +++ b/src/includes/class/class.LSformRule_zxcvbn.php @@ -33,6 +33,7 @@ class LSformRule_zxcvbn extends LSformRule { 'userDataAttrs' => null, 'showWarning' => array('LScli', 'autocomplete_bool'), 'showSuggestions' => array('LScli', 'autocomplete_bool'), + 'customDictionaries' => null, 'zxcvbn_autoload_path' => null, ); @@ -53,6 +54,21 @@ class LSformRule_zxcvbn extends LSformRule { ), true ); $zxcvbn = new ZxcvbnPhp\Zxcvbn(); + + $customDictionaries = LSconfig :: get('params.customDictionaries', [], 'array', $options); + if ($customDictionaries) { + foreach($customDictionaries as $name => $path) { + if (!is_file($path) || !is_readable($path)) { + LSerror :: addErrorCode('LSformRule_zxcvbn_01', ['name' => $name, 'path' => $path]); + return False; + } + self :: log_debug("Use custom dictionary $name ($path)"); + $zxcvbn -> addMatcher( + ZxcvbnPhp\Matchers\CustomDictionaryMatch::create($name, $path) + ); + } + } + $userData = array(); $userDataAttrs = LSconfig :: get('params.userDataAttrs', array(), 'array', $options); if ($userDataAttrs) { @@ -98,4 +114,11 @@ class LSformRule_zxcvbn extends LSformRule { } +/* + * Error Codes + */ +LSerror :: defineError('LSformRule_zxcvbn_01', +___("LSformRule_zxcvbn: Dictionary %{name} file not found (%{path}).") +); + # vim: tabstop=2 shiftwidth=2 softtabstop=2 expandtab diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index bf1025db2055a86e921420f684d8894650f15c54..1b12dae98d4a2343ea5922cd9e40ee46de3a8934 100644 GIT binary patch delta 15569 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 diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po index e6ba98b4..e8f19dbf 100644 --- a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po +++ b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: LdapSaisie\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2024-06-19 17:52+0200\n" +"PO-Revision-Date: 2024-11-20 16:25+0100\n" "Last-Translator: Benjamin Renard \n" "Language-Team: LdapSaisie \n" @@ -269,7 +269,7 @@ msgstr "" "MAIL : Une erreur est survenue en enregistrant vos modifications sur ce " "modèle." -#: includes/addons/LSaddons.mail.php:158 includes/addons/LSaddons.mail.php:573 +#: includes/addons/LSaddons.mail.php:158 includes/addons/LSaddons.mail.php:575 msgid "Email templates" msgstr "Modèles de courriels" @@ -305,22 +305,22 @@ msgstr "" "\n" "%s: %s" -#: includes/addons/LSaddons.mail.php:463 +#: includes/addons/LSaddons.mail.php:465 msgid "An exception occured forging message from email template '%{template}'" msgstr "" "Une exception est survenue en générant le message à partir du modèle de " "courriel '%{template}'" -#: includes/addons/LSaddons.mail.php:503 +#: includes/addons/LSaddons.mail.php:505 msgid "Email template: %{name}" msgstr "Modèle de courriel : %{name}" -#: includes/addons/LSaddons.mail.php:513 includes/addons/LSaddons.mail.php:529 -#: includes/addons/LSaddons.mail.php:547 +#: includes/addons/LSaddons.mail.php:515 includes/addons/LSaddons.mail.php:531 +#: includes/addons/LSaddons.mail.php:549 msgid "Your changes have been saved." msgstr "Vos modifications ont été enregistrées." -#: includes/addons/LSaddons.mail.php:565 +#: includes/addons/LSaddons.mail.php:567 #: includes/addons/LSaddons.showSupportInfo.php:78 #: includes/addons/LSaddons.dyngroup.php:408 #: includes/addons/LSaddons.accesslog.php:248 @@ -1404,12 +1404,12 @@ msgstr "LStemplate : Impossible de charger le fichier de support de Smarty 3" msgid "LStemplate : Smarty version not recognized." msgstr "LStemplate : Version de Smarty non reconnue." -#: includes/class/class.LStemplate.php:213 +#: includes/class/class.LStemplate.php:211 msgid "LStemplate : Can't load Smarty." msgstr "" "LStemplate : Impossible de charger le moteur de gestion de template Smarty." -#: includes/class/class.LStemplate.php:340 +#: includes/class/class.LStemplate.php:338 msgid "" "LStemplate : Request template '%{tpl}' is now deprecated. Please refer to " "upgrade documentation to adapt your templates." @@ -1417,44 +1417,44 @@ msgstr "" "LStemplate : Le fichier de template '%{tpl}' est maintenant déprécié. Merci " "de mettre à jour vos templates en vous référant à la documentation." -#: includes/class/class.LStemplate.php:422 +#: includes/class/class.LStemplate.php:420 msgid "Copy to clipboard" msgstr "Copier dans le presse-papier" -#: includes/class/class.LStemplate.php:423 +#: includes/class/class.LStemplate.php:421 msgid "Copied!" msgstr "Copié !" -#: includes/class/class.LStemplate.php:485 +#: includes/class/class.LStemplate.php:484 msgid "Smarty - An exception occured displaying template '%{template}'" msgstr "" "Smarty - Un erreur est survenue en affichant le modèle de page '%{template}'." -#: includes/class/class.LStemplate.php:505 +#: includes/class/class.LStemplate.php:504 msgid "Smarty - An exception occured fetching template '%{template}'" msgstr "Smarty - Un erreur est survenue en générant le modèle '%{template}'." -#: includes/class/class.LStemplate.php:521 -#: includes/class/class.LStemplate.php:535 +#: includes/class/class.LStemplate.php:520 +#: includes/class/class.LStemplate.php:534 msgid "A fatal error occured. If problem persist, please contact support." msgstr "" "Une erreur irrécupérable est survenue. Si le problème persiste, merci de " "contacter le support." -#: includes/class/class.LStemplate.php:531 +#: includes/class/class.LStemplate.php:530 msgid "

Loop detected displaying this error:

%{error}
" msgstr "" "

Boucle détectée en affichant cette erreur :

%{error}
" -#: includes/class/class.LStemplate.php:534 +#: includes/class/class.LStemplate.php:533 msgid "A fatal error occured." msgstr "Une erreur fatale est survenue." -#: includes/class/class.LStemplate.php:733 +#: includes/class/class.LStemplate.php:732 msgid "LStemplate : Template %{file} not found." msgstr "LStemplate : le template %{file} est introuvable." -#: includes/class/class.LStemplate.php:736 +#: includes/class/class.LStemplate.php:735 msgid "" "LStemplate : Fail to execute trigger %{callable} on event %{event} : is not " "callable." @@ -1462,7 +1462,7 @@ msgstr "" "LStemplate : Échec d'exécution du déclencheur %{callable} lors de événement " "%{event} : il n'est pas un callable." -#: includes/class/class.LStemplate.php:739 +#: includes/class/class.LStemplate.php:738 msgid "" "LStemplate : Error during the execution of the trigger %{callable} on event " "%{event}." @@ -1470,7 +1470,7 @@ msgstr "" "LStemplate : Erreur durant l'exécution du déclencheur %{callable} lors de " "l'événement %{event}." -#: includes/class/class.LSattr_html_select_object.php:406 +#: includes/class/class.LSattr_html_select_object.php:445 msgid "" "LSattr_html_select_object : parameter '%{parameter}' is missing (attribute : " "%{attr})." @@ -1478,7 +1478,7 @@ msgstr "" "LSattr_html_select_objet : Le type paramètre %{parameter} n'est pas défini " "(attribut : %{attr})." -#: includes/class/class.LSattr_html_select_object.php:409 +#: includes/class/class.LSattr_html_select_object.php:448 msgid "" "LSattr_html_select_object : the value of the parameter value_attribute in " "the configuration of the attribute %{attr} is incorrect. Object " @@ -1488,7 +1488,7 @@ msgstr "" "configuration de l'attribut %{attr} est incorrecte. Les objets " "%{object_type} n'ont pas d'attribut %{value_attribute}." -#: includes/class/class.LSattr_html_select_object.php:412 +#: includes/class/class.LSattr_html_select_object.php:451 msgid "" "LSattr_html_select_object : more than one object returned corresponding to " "value %{val} of attribute %{attr}." @@ -1496,7 +1496,7 @@ msgstr "" "LSattr_html_select_objet : plus d'un objet retourné en correspondance à la " "valeur %{val} de l'attribut %{attr}." -#: includes/class/class.LSattr_html_select_object.php:415 +#: includes/class/class.LSattr_html_select_object.php:454 msgid "" "LSattr_html_select_object : selection of object type %{type} is configured " "multiple time for attribute %{attr}." @@ -1504,7 +1504,7 @@ msgstr "" "LSattr_html_select_objet : La sélection du type d'objet %{type} est " "configurée plusieurs fois pour l'attribut %{attr}." -#: includes/class/class.LSattr_html_select_object.php:418 +#: includes/class/class.LSattr_html_select_object.php:457 msgid "" "LSattr_html_select_object : the value '%{value}' seem to be duplicated in " "values of the attribute %{attr}." @@ -1512,7 +1512,7 @@ msgstr "" "LSattr_html_select_objet : La valeur '%{value}' semble dupliquée dans les " "valeurs de l'attribut %{attr}." -#: includes/class/class.LSattr_html_select_object.php:421 +#: includes/class/class.LSattr_html_select_object.php:460 msgid "" "LSattr_html_select_object : selected object %{name} has no attribute %{attr} " "value, you can't select it." @@ -1644,10 +1644,16 @@ msgstr "" "LSformElement_postaladdress : La fonction de génération de l'URL de la carte " "n'est pas exécutable (%{function})." -#: includes/class/class.LSformRule_zxcvbn.php:85 +#: includes/class/class.LSformRule_zxcvbn.php:101 msgid "The security of this password is too weak." msgstr "La sécurité de ce mot de passe est trop faible." +#: includes/class/class.LSformRule_zxcvbn.php:121 +msgid "LSformRule_zxcvbn: Dictionary %{name} file not found (%{path})." +msgstr "" +"LSformRule_zxcvbn : Le fichier du dictionnaire %{name} est introuvable " +"(%{path})." + #: includes/class/class.LSformElement_select.php:52 msgid "Reset selection." msgstr "Réinitiliser la sélection." @@ -1866,25 +1872,25 @@ msgstr "" msgid "Invalid file type (%{type})." msgstr "Type de fichier invalide (%{type})." -#: includes/class/class.LSldapObject.php:603 +#: includes/class/class.LSldapObject.php:620 msgid "The attribute %{attr} is not valid." msgstr "L'attribut %{attr} n'est pas valide." -#: includes/class/class.LSldapObject.php:3183 +#: includes/class/class.LSldapObject.php:3217 msgid "LSldapObject : Object type unknown." msgstr "LSldapObject : Type d'objet inconnu." -#: includes/class/class.LSldapObject.php:3186 +#: includes/class/class.LSldapObject.php:3220 msgid "LSldapObject : Update form is not defined for the object %{obj}." msgstr "" "LSldapObject : Le formulaire de mise à jour n'est pas défini pour l'objet " "%{obj}." -#: includes/class/class.LSldapObject.php:3189 +#: includes/class/class.LSldapObject.php:3223 msgid "LSldapObject : No form exists for the object %{obj}." msgstr "LSldapObject : Aucun formulaire n'existe pour l'objet %{obj}" -#: includes/class/class.LSldapObject.php:3192 +#: includes/class/class.LSldapObject.php:3226 msgid "" "LSldapObject : The function %{func} to validate the attribute %{attr} the " "object %{obj} is unknow." @@ -1892,7 +1898,7 @@ msgstr "" "LSldapObject : La fonction %{func} pour valider l'attribut %{attr} de " "l'objet %{obj} est inconnue." -#: includes/class/class.LSldapObject.php:3195 +#: includes/class/class.LSldapObject.php:3229 msgid "" "LSldapObject : Configuration data are missing to validate the attribute " "%{attr} of the object %{obj}." @@ -1900,7 +1906,7 @@ msgstr "" "LSldapObject : Des données de configurations sont manquantes pour pouvoir " "valider l'attribut %{attr} de l'objet %{obj}." -#: includes/class/class.LSldapObject.php:3199 +#: includes/class/class.LSldapObject.php:3233 msgid "" "LSldapObject : The function %{func} to be executed on the object event " "%{event} doesn't exist." @@ -1908,14 +1914,14 @@ msgstr "" "LSldapObject : La fonction %{func} devant être exécutée lors de l'évènement " "%{event} de l'objet n'existe pas." -#: includes/class/class.LSldapObject.php:3202 +#: includes/class/class.LSldapObject.php:3236 msgid "" "LSldapObject : The %{func} execution on the object event %{event} failed." msgstr "" "LSldapObject : L'exécution de la fonction %{func} lors de l'évènement " "%{event} de l'objet a échouée." -#: includes/class/class.LSldapObject.php:3206 +#: includes/class/class.LSldapObject.php:3240 msgid "" "LSldapObject : Class %{class}, which method %{meth} to be executed on the " "object event %{event}, doesn't exist." @@ -1923,7 +1929,7 @@ msgstr "" "La classe %{class}, contenant la méthode %{meth} devant être exécutée lors " "de l'évènement %{event} de l'objet, n'existe pas." -#: includes/class/class.LSldapObject.php:3209 +#: includes/class/class.LSldapObject.php:3243 msgid "" "LSldapObject : Method %{meth} within %{class} class to be executed on object " "event %{event}, doesn't exist." @@ -1931,7 +1937,7 @@ msgstr "" "LSldapObject : La méthode %{meth} de la classe %{class} devant être exécutée " "lors de l'évènement %{event} de l'objet n'existe pas." -#: includes/class/class.LSldapObject.php:3212 +#: includes/class/class.LSldapObject.php:3246 msgid "" "LSldapObject : Error during execute %{meth} method within %{class} class, to " "be executed on object event %{event}." @@ -1939,7 +1945,7 @@ msgstr "" "LSldapObject : Erreur durant l'exécution de la méthode %{meth} de la classe " "%{class} devant être exécutée lors de l'évènement %{event} de l'objet." -#: includes/class/class.LSldapObject.php:3216 +#: includes/class/class.LSldapObject.php:3250 msgid "" "LSldapObject : Some configuration data of the object type %{obj} are missing " "to generate the DN of the new object." @@ -1947,7 +1953,7 @@ msgstr "" "LSldapObject : Des informations de configuration du type d'objet %{obj} sont " "manquantes pour la génération du DN du nouvel objet." -#: includes/class/class.LSldapObject.php:3219 +#: includes/class/class.LSldapObject.php:3253 msgid "" "LSldapObject : The attibute %{attr} of the object is not yet defined. Can't " "generate DN." @@ -1955,11 +1961,11 @@ msgstr "" "LSldapObject : L'attribut %{attr} de l'objet n'est pas encore défini. " "Impossible de générer le DN." -#: includes/class/class.LSldapObject.php:3222 +#: includes/class/class.LSldapObject.php:3256 msgid "LSldapObject : Without DN, the object could not be changed." msgstr "LSldapObject : Sans DN, l'objet ne peut pas être modifié." -#: includes/class/class.LSldapObject.php:3225 +#: includes/class/class.LSldapObject.php:3259 msgid "" "LSldapObject : The attribute %{attr_depend} depending on the attribute " "%{attr} doesn't exist." @@ -1967,39 +1973,39 @@ msgstr "" "LSldapObject : L'attritbut %{attr_depend} dépendant de l'attribut %{attr} " "n'existe pas." -#: includes/class/class.LSldapObject.php:3228 +#: includes/class/class.LSldapObject.php:3262 msgid "LSldapObject : Error during deleting the object %{objectname}." msgstr "LSldapObject : Erreur durant la suppression de l'objet %{objectname}" -#: includes/class/class.LSldapObject.php:3232 +#: includes/class/class.LSldapObject.php:3266 msgid "" "LSldapObject : Error during actions to be executed before renaming the objet." msgstr "" "LSldapObject : Erreur durant les actions devant être exécutée avant de " "renommer l'objet." -#: includes/class/class.LSldapObject.php:3235 +#: includes/class/class.LSldapObject.php:3269 msgid "" "LSldapObject : Error during actions to be executed after renaming the objet." msgstr "" "LSldapObject : Erreur durant les actions devant être exécutée après avoir " "renommé l'objet." -#: includes/class/class.LSldapObject.php:3239 +#: includes/class/class.LSldapObject.php:3273 msgid "" "LSldapObject : Error during actions to be executed before deleting the objet." msgstr "" "LSldapObject : Erreur durant les actions devant être exécutée avant de " "supprimer l'objet." -#: includes/class/class.LSldapObject.php:3242 +#: includes/class/class.LSldapObject.php:3276 msgid "" "LSldapObject : Error during actions to be executed after deleting the objet." msgstr "" "LSldapObject : Erreur durant les actions devant être exécutée après avoir " "supprimé l'objet." -#: includes/class/class.LSldapObject.php:3246 +#: includes/class/class.LSldapObject.php:3280 msgid "" "LSldapObject : Error during the actions to be executed before creating the " "object." @@ -2007,7 +2013,7 @@ msgstr "" "LSldapObject : Erreur durant les actions devant être exécutée avant de créer " "l'objet." -#: includes/class/class.LSldapObject.php:3249 +#: includes/class/class.LSldapObject.php:3283 msgid "" "LSldapObject : Error during the actions to be executed after creating the " "object. It was created anyway." @@ -2015,7 +2021,7 @@ msgstr "" "LSldapObject : Erreur durant les actions devant être exécutées après la " "création de l'objet. Il a tout de même été créé." -#: includes/class/class.LSldapObject.php:3253 +#: includes/class/class.LSldapObject.php:3287 msgid "" "LSldapObject : The function %{func} to be executed before creating the " "object doesn't exist." @@ -2023,7 +2029,7 @@ msgstr "" "LSldapObject : La fonction %{func} devant être exécutée avant la création de " "l'objet n'existe pas." -#: includes/class/class.LSldapObject.php:3256 +#: includes/class/class.LSldapObject.php:3290 msgid "" "LSldapObject : Error executing the function %{func} to be execute after " "deleting the object." @@ -2031,7 +2037,7 @@ msgstr "" "LSldapObject : Erreur durant l'exécution de la fonction %{func} devant être " "exécutée après la suppression de l'objet." -#: includes/class/class.LSldapObject.php:3259 +#: includes/class/class.LSldapObject.php:3293 msgid "" "LSldapObject : The function %{func} to be executed after deleting the object " "doesn't exist." @@ -2039,7 +2045,7 @@ msgstr "" "LSldapObject : La fonction %{func} devant être exécutée après la suppression " "de l'objet n'existe pas." -#: includes/class/class.LSldapObject.php:3262 +#: includes/class/class.LSldapObject.php:3296 msgid "" "LSldapObject : Error executing the function %{func} to be execute after " "creating the object." @@ -2047,7 +2053,7 @@ msgstr "" "LSldapObject : Erreur durant l'exécution de la fonction %{func} devant être " "exécutée après la création de l'objet." -#: includes/class/class.LSldapObject.php:3266 +#: includes/class/class.LSldapObject.php:3300 msgid "" "LSldapObject : %{func} function, to be executed on object event %{event}, " "doesn't exist." @@ -2055,7 +2061,7 @@ msgstr "" "LSldapObject : La fonction %{func}, devant être exécutée lors de l'évènement " "%{event} de l'objet, n'existe pas." -#: includes/class/class.LSldapObject.php:3269 +#: includes/class/class.LSldapObject.php:3303 msgid "" "LSldapObject : Error during the execution of %{func} function on object " "event %{event}." @@ -2063,7 +2069,7 @@ msgstr "" "LSldapObject : Erreur durant l'exécution de la fonction %{func} lors de " "l'évènement %{event} de l'objet." -#: includes/class/class.LSldapObject.php:3273 +#: includes/class/class.LSldapObject.php:3307 msgid "" "LSldapObject : %{meth} method, to be executed on object event %{event}, " "doesn't exist." @@ -2071,7 +2077,7 @@ msgstr "" "LSldapObject : La méthode %{meth}, devant être exécutée lors de l'évènement " "%{event} de l'objet, n'existe pas." -#: includes/class/class.LSldapObject.php:3276 +#: includes/class/class.LSldapObject.php:3310 msgid "" "LSldapObject : Error during execution of %{meth} method on object event " "%{event}." @@ -2079,13 +2085,13 @@ msgstr "" "LSldapObject : Erreur durant l'exécution de la méthode %{meth} lors de " "l'évènement %{event} de l'objet." -#: includes/class/class.LSldapObject.php:3279 +#: includes/class/class.LSldapObject.php:3313 msgid "LSldapObject : Error during generate LDAP filter for %{LSobject}." msgstr "" "LSldapObject : Erreur durant la génération du filtre LDAP de l'objet " "%{LSobject}." -#: includes/class/class.LSldapObject.php:3283 +#: includes/class/class.LSldapObject.php:3317 msgid "" "LSldapObject : Error during execution of the custom action %{customAction} " "on %{objectname}." @@ -2093,22 +2099,22 @@ msgstr "" "LSldapObject : Erreur durant l'exécution de l'action personnalisée " "%{customAction} sur l'objet %{objectname}." -#: includes/class/class.LSldapObject.php:3287 +#: includes/class/class.LSldapObject.php:3321 msgid "LSldapObject : Fail to retrieve container DN." msgstr "LSldapObject : Impossible de récupérer le DN parent." -#: includes/class/class.LSldapObject.php:3290 +#: includes/class/class.LSldapObject.php:3324 msgid "" "LSldapObject : The function %{func} to generate container DN is not callable." msgstr "" "LSldapObject : La fonction %{func} pour générer le DN parent n'est pas " "exécutable." -#: includes/class/class.LSldapObject.php:3293 +#: includes/class/class.LSldapObject.php:3327 msgid "LSldapObject : Error during generating container DN : %{error}" msgstr "LSldapObject : Erreur durant la génération du DN parent : %{error}." -#: includes/class/class.LSldapObject.php:3296 +#: includes/class/class.LSldapObject.php:3330 msgid "" "LSldapObject : An LDAP object with the same DN as generated for this new one " "already exists. Please verify your configuration." @@ -2116,7 +2122,7 @@ msgstr "" "LSldapObject : Un objet LDAP avec le même DN que celui généré pour ce nouvel " "objet existe déjà. Merci de vérifier votre configuration." -#: includes/class/class.LSldapObject.php:3301 +#: includes/class/class.LSldapObject.php:3335 msgid "" "LSrelation : Some parameters are missing in the call of methods to handle " "standard relations (Method : %{meth})." @@ -2159,93 +2165,97 @@ msgstr "" "LSformRule_password : Regex invalide configurée : %{regex}. Vous devez " "utiliser des regex de type PCRE (commencant par le caractère '/')." -#: includes/class/class.LSldap.php:815 +#: includes/class/class.LSldap.php:828 msgid "The password expired" msgstr "Le mot de passe a expiré" -#: includes/class/class.LSldap.php:816 +#: includes/class/class.LSldap.php:829 msgid "The account is locked" msgstr "Ce compte est bloqué" -#: includes/class/class.LSldap.php:817 +#: includes/class/class.LSldap.php:830 msgid "The password was reset and must be changed" msgstr "Le mot de passe a été réinitialisé et doit être changé" -#: includes/class/class.LSldap.php:818 +#: includes/class/class.LSldap.php:831 msgid "It is not possible to modify the password" msgstr "Il n'est pas possible de modifier le mot de passe" -#: includes/class/class.LSldap.php:819 +#: includes/class/class.LSldap.php:832 msgid "The old password must be supplied" msgstr "L'ancien mot de passe doit être fourni" -#: includes/class/class.LSldap.php:820 +#: includes/class/class.LSldap.php:833 msgid "The password does not meet the quality requirements" msgstr "Le mot de passe ne répond pas aux exigences de qualité" -#: includes/class/class.LSldap.php:821 +#: includes/class/class.LSldap.php:834 msgid "The password is too short" msgstr "Le mot de passe est trop court" -#: includes/class/class.LSldap.php:822 +#: includes/class/class.LSldap.php:835 msgid "It is too soon to change the password" msgstr "Il est trop tôt pour modifier le mot de passe" -#: includes/class/class.LSldap.php:823 +#: includes/class/class.LSldap.php:836 msgid "This password was recently used and cannot be used again" msgstr "" "Ce mot de passe a été utilisé récemment et il ne peut être utilisé à nouveau" -#: includes/class/class.LSldap.php:967 +#: includes/class/class.LSldap.php:862 includes/class/class.LSerror.php:141 +msgid "Unknown error" +msgstr "Erreur inconnue" + +#: includes/class/class.LSldap.php:982 msgid "LSldap: Error during the LDAP server connection (%{msg})." msgstr "LSldap : Erreur durant la connexion au serveur LDAP (%{msg})." -#: includes/class/class.LSldap.php:970 +#: includes/class/class.LSldap.php:985 msgid "LSldap: Error during the LDAP search (%{msg})." msgstr "LSldap : Erreur pendant la recherche LDAP (%{msg})." -#: includes/class/class.LSldap.php:973 +#: includes/class/class.LSldap.php:988 msgid "LSldap: Object type unknown." msgstr "LSldap : Type d'objet inconnu." -#: includes/class/class.LSldap.php:976 +#: includes/class/class.LSldap.php:991 msgid "LSldap: Error while fetching the LDAP entry." msgstr "LSldap : Erreur durant la récupération de l'entrée LDAP." -#: includes/class/class.LSldap.php:979 +#: includes/class/class.LSldap.php:994 msgid "LSldap: Error while changing the LDAP entry (DN : %{dn})." msgstr "LSldap : Erreur durant la modification de l'entrée LDAP (DN : %{dn})." -#: includes/class/class.LSldap.php:982 +#: includes/class/class.LSldap.php:997 msgid "LSldap: Error while deleting empty attributes." msgstr "LSldap : Erreur durant la suppression des attributs vides." -#: includes/class/class.LSldap.php:985 +#: includes/class/class.LSldap.php:1000 msgid "LSldap: Error while changing the DN of the object." msgstr "LSldap : Erreur pendant la modification du DN de l'objet." -#: includes/class/class.LSldap.php:988 +#: includes/class/class.LSldap.php:1003 msgid "LSldap: LDAP server base DN not configured." msgstr "LSldap : Le base DN du serveur LDAP n'est pas configuré." -#: includes/class/class.LSldap.php:991 +#: includes/class/class.LSldap.php:1006 msgid "LSldap: Fail to set authz proxy option on LDAP server connection." msgstr "" "LSldap : Une erreur est survenue en appliquant l'option d'authz proxy sur la " "connexion au serveur LDAP." -#: includes/class/class.LSldap.php:994 +#: includes/class/class.LSldap.php:1009 msgid "LSldap: Error while changing the user password: %{msg}." msgstr "" "LSldap: Erreur durant la modification du mot de passe utilisateur: %{msg}." -#: includes/class/class.LSldap.php:997 +#: includes/class/class.LSldap.php:1012 msgid "LSldap: Unknown LDAP error while updating user password" msgstr "" "LSldap: Une erreur LDAP inconnue est survenue pendant la modification du mot " "de passe utilisateur" -#: includes/class/class.LSldap.php:1000 +#: includes/class/class.LSldap.php:1015 msgid "" "LSldap: Fail to execute trigger %{callable} on event %{event} : is not " "callable." @@ -2253,7 +2263,7 @@ msgstr "" "LSldap : Échec d'exécution du déclencheur %{callable} lors de événement " "%{event} : il n'est pas un callable." -#: includes/class/class.LSldap.php:1003 +#: includes/class/class.LSldap.php:1018 msgid "" "LSldap: Error during the execution of the trigger %{callable} on event " "%{event}." @@ -2750,19 +2760,19 @@ msgstr "Impossible de déterminer l'URL demandée." msgid "No URL patterns configured !" msgstr "Aucun modèle d'URL configuré !" -#: includes/class/class.LSurl.php:233 +#: includes/class/class.LSurl.php:252 msgid "Fail to determine the requested URL (loop detected)." msgstr "Impossible de déterminer l'URL demandée (boucle détectée)." -#: includes/class/class.LSurl.php:255 +#: includes/class/class.LSurl.php:274 msgid "The requested page was not found." msgstr "La page demandée est introuvable." -#: includes/class/class.LSurl.php:282 +#: includes/class/class.LSurl.php:301 msgid "This request could not be handled." msgstr "Cette requête ne peut être traitée." -#: includes/class/class.LSurl.php:309 +#: includes/class/class.LSurl.php:328 msgid "This request could not be processed correctly." msgstr "Cette requête ne peut être traitée correctement." @@ -3189,7 +3199,7 @@ msgstr "La boîte mail a été supprimée." msgid "Role" msgstr "Rôle" -#: includes/class/class.LScli.php:104 +#: includes/class/class.LScli.php:114 #, php-format msgid "" "Usage: %s [-h] [-qdC] command\n" @@ -3242,26 +3252,26 @@ msgstr "" "\n" " Commandes disponibles :\n" -#: includes/class/class.LScli.php:136 +#: includes/class/class.LScli.php:146 msgid "Currently no available command is declared." msgstr "Aucune commande n'est disponible actuellement." -#: includes/class/class.LScli.php:197 includes/class/class.LScli.php:468 +#: includes/class/class.LScli.php:207 includes/class/class.LScli.php:478 #, php-format msgid "Fail to select LDAP server #%s." msgstr "Impossible de sélectionner le serveur LDAP #%s." -#: includes/class/class.LScli.php:208 includes/class/class.LScli.php:503 +#: includes/class/class.LScli.php:218 includes/class/class.LScli.php:513 #, php-format msgid "Fail to load class '%s'." msgstr "Impossible de charger la classe '%s'." -#: includes/class/class.LScli.php:215 includes/class/class.LScli.php:518 +#: includes/class/class.LScli.php:225 includes/class/class.LScli.php:528 #, php-format msgid "Fail to load addon '%s'." msgstr "Échec de chargement de l'addon '%s'." -#: includes/class/class.LScli.php:226 +#: includes/class/class.LScli.php:236 #, php-format msgid "" "Invalid parameter \"%s\".\n" @@ -3271,21 +3281,21 @@ msgstr "" "Note: Les paramètres/arguments de la commande doivent être placés après " "celle-ci." -#: includes/class/class.LScli.php:261 includes/class/class.LScli.php:488 -#: includes/class/class.LScli.php:536 +#: includes/class/class.LScli.php:271 includes/class/class.LScli.php:498 +#: includes/class/class.LScli.php:546 #, php-format msgid "Fail to select sub DN '%s'." msgstr "Échec de sélection du sous DN '%s'." -#: includes/class/class.LScli.php:271 +#: includes/class/class.LScli.php:281 msgid "Fail to select first LDAP server." msgstr "Impossible de sélectionner le premier serveur LDAP." -#: includes/class/class.LScli.php:391 +#: includes/class/class.LScli.php:401 msgid "Are you sure?" msgstr "Vous êtes sûre ?" -#: includes/class/class.LScli.php:392 +#: includes/class/class.LScli.php:402 #, php-format msgid "" "\n" @@ -3294,26 +3304,26 @@ msgstr "" "\n" "%s Entrer 'oui' pour continuer : " -#: includes/class/class.LScli.php:395 templates/default/import.tpl:26 +#: includes/class/class.LScli.php:405 templates/default/import.tpl:26 #: templates/default/import.tpl:32 msgid "yes" msgstr "oui" -#: includes/class/class.LScli.php:396 +#: includes/class/class.LScli.php:406 msgid "User cancel\n" msgstr "Annulation par l'utilisateur\n" -#: includes/class/class.LScli.php:852 +#: includes/class/class.LScli.php:913 msgid "LScli : The CLI command '%{command}' already exists." msgstr "LScli : La commande CLI '%{command}' existe déjà." -#: includes/class/class.LScli.php:855 +#: includes/class/class.LScli.php:916 msgid "LScli : The CLI command '%{command}' handler is not callable." msgstr "" "LScli : La fonction de prise en charge de la commande CLI '%{command}' n'est " "pas exécutable." -#: includes/class/class.LScli.php:864 +#: includes/class/class.LScli.php:925 msgid "Handle BASH completion" msgstr "Gérer la complétion BASH" @@ -3321,14 +3331,10 @@ msgstr "Gérer la complétion BASH" msgid "LSioFormatCSV: function fputcsv is not available." msgstr "LSioFormatCSV : la fonction fputcsv n'est pas disponible." -#: includes/class/class.LSlog.php:506 +#: includes/class/class.LSlog.php:580 msgid "LSlog : Fail to load logging handler %{handler}." msgstr "LSlog : Impossible de charger l'handler %{handler}." -#: includes/class/class.LSerror.php:141 -msgid "Unknown error" -msgstr "Erreur inconnue" - #: includes/class/class.LSerror.php:201 msgid "Unknown error : %{error}" msgstr "Erreur inconnue : %{error}" @@ -3455,23 +3461,23 @@ msgstr "[pas une chaîne de caractères]" msgid "Folder not found" msgstr "Dossier introuvable" -#: includes/functions.php:863 +#: includes/functions.php:928 msgid "TB" msgstr "To" -#: includes/functions.php:864 +#: includes/functions.php:929 msgid "GB" msgstr "Go" -#: includes/functions.php:865 +#: includes/functions.php:930 msgid "MB" msgstr "Mo" -#: includes/functions.php:866 +#: includes/functions.php:931 msgid "KB" msgstr "Ko" -#: includes/functions.php:867 +#: includes/functions.php:932 msgid "B" msgstr "O" diff --git a/src/lang/ldapsaisie.pot b/src/lang/ldapsaisie.pot index a492f801..1a640d25 100644 --- a/src/lang/ldapsaisie.pot +++ b/src/lang/ldapsaisie.pot @@ -205,7 +205,7 @@ msgstr "" msgid "MAIL: An error occured saving your changes on this template." msgstr "" -#: includes/addons/LSaddons.mail.php:158 includes/addons/LSaddons.mail.php:573 +#: includes/addons/LSaddons.mail.php:158 includes/addons/LSaddons.mail.php:575 msgid "Email templates" msgstr "" @@ -235,20 +235,20 @@ msgid "" "%s: %s" msgstr "" -#: includes/addons/LSaddons.mail.php:463 +#: includes/addons/LSaddons.mail.php:465 msgid "An exception occured forging message from email template '%{template}'" msgstr "" -#: includes/addons/LSaddons.mail.php:503 +#: includes/addons/LSaddons.mail.php:505 msgid "Email template: %{name}" msgstr "" -#: includes/addons/LSaddons.mail.php:513 includes/addons/LSaddons.mail.php:529 -#: includes/addons/LSaddons.mail.php:547 +#: includes/addons/LSaddons.mail.php:515 includes/addons/LSaddons.mail.php:531 +#: includes/addons/LSaddons.mail.php:549 msgid "Your changes have been saved." msgstr "" -#: includes/addons/LSaddons.mail.php:565 +#: includes/addons/LSaddons.mail.php:567 #: includes/addons/LSaddons.showSupportInfo.php:78 #: includes/addons/LSaddons.dyngroup.php:408 #: includes/addons/LSaddons.accesslog.php:248 @@ -1211,93 +1211,93 @@ msgstr "" msgid "LStemplate : Smarty version not recognized." msgstr "" -#: includes/class/class.LStemplate.php:213 +#: includes/class/class.LStemplate.php:211 msgid "LStemplate : Can't load Smarty." msgstr "" -#: includes/class/class.LStemplate.php:340 +#: includes/class/class.LStemplate.php:338 msgid "" "LStemplate : Request template '%{tpl}' is now deprecated. Please refer to " "upgrade documentation to adapt your templates." msgstr "" -#: includes/class/class.LStemplate.php:422 +#: includes/class/class.LStemplate.php:420 msgid "Copy to clipboard" msgstr "" -#: includes/class/class.LStemplate.php:423 +#: includes/class/class.LStemplate.php:421 msgid "Copied!" msgstr "" -#: includes/class/class.LStemplate.php:485 +#: includes/class/class.LStemplate.php:484 msgid "Smarty - An exception occured displaying template '%{template}'" msgstr "" -#: includes/class/class.LStemplate.php:505 +#: includes/class/class.LStemplate.php:504 msgid "Smarty - An exception occured fetching template '%{template}'" msgstr "" -#: includes/class/class.LStemplate.php:521 -#: includes/class/class.LStemplate.php:535 +#: includes/class/class.LStemplate.php:520 +#: includes/class/class.LStemplate.php:534 msgid "A fatal error occured. If problem persist, please contact support." msgstr "" -#: includes/class/class.LStemplate.php:531 +#: includes/class/class.LStemplate.php:530 msgid "

Loop detected displaying this error:

%{error}
" msgstr "" -#: includes/class/class.LStemplate.php:534 +#: includes/class/class.LStemplate.php:533 msgid "A fatal error occured." msgstr "" -#: includes/class/class.LStemplate.php:733 +#: includes/class/class.LStemplate.php:732 msgid "LStemplate : Template %{file} not found." msgstr "" -#: includes/class/class.LStemplate.php:736 +#: includes/class/class.LStemplate.php:735 msgid "" "LStemplate : Fail to execute trigger %{callable} on event %{event} : is not " "callable." msgstr "" -#: includes/class/class.LStemplate.php:739 +#: includes/class/class.LStemplate.php:738 msgid "" "LStemplate : Error during the execution of the trigger %{callable} on event " "%{event}." msgstr "" -#: includes/class/class.LSattr_html_select_object.php:406 +#: includes/class/class.LSattr_html_select_object.php:445 msgid "" "LSattr_html_select_object : parameter '%{parameter}' is missing (attribute : " "%{attr})." msgstr "" -#: includes/class/class.LSattr_html_select_object.php:409 +#: includes/class/class.LSattr_html_select_object.php:448 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 "" -#: includes/class/class.LSattr_html_select_object.php:412 +#: includes/class/class.LSattr_html_select_object.php:451 msgid "" "LSattr_html_select_object : more than one object returned corresponding to " "value %{val} of attribute %{attr}." msgstr "" -#: includes/class/class.LSattr_html_select_object.php:415 +#: includes/class/class.LSattr_html_select_object.php:454 msgid "" "LSattr_html_select_object : selection of object type %{type} is configured " "multiple time for attribute %{attr}." msgstr "" -#: includes/class/class.LSattr_html_select_object.php:418 +#: includes/class/class.LSattr_html_select_object.php:457 msgid "" "LSattr_html_select_object : the value '%{value}' seem to be duplicated in " "values of the attribute %{attr}." msgstr "" -#: includes/class/class.LSattr_html_select_object.php:421 +#: includes/class/class.LSattr_html_select_object.php:460 msgid "" "LSattr_html_select_object : selected object %{name} has no attribute %{attr} " "value, you can't select it." @@ -1399,10 +1399,14 @@ msgid "" "callabled (%{function})." msgstr "" -#: includes/class/class.LSformRule_zxcvbn.php:85 +#: includes/class/class.LSformRule_zxcvbn.php:101 msgid "The security of this password is too weak." msgstr "" +#: includes/class/class.LSformRule_zxcvbn.php:121 +msgid "LSformRule_zxcvbn: Dictionary %{name} file not found (%{path})." +msgstr "" + #: includes/class/class.LSformElement_select.php:52 msgid "Reset selection." msgstr "" @@ -1582,199 +1586,199 @@ msgstr "" msgid "Invalid file type (%{type})." msgstr "" -#: includes/class/class.LSldapObject.php:603 +#: includes/class/class.LSldapObject.php:620 msgid "The attribute %{attr} is not valid." msgstr "" -#: includes/class/class.LSldapObject.php:3183 +#: includes/class/class.LSldapObject.php:3217 msgid "LSldapObject : Object type unknown." msgstr "" -#: includes/class/class.LSldapObject.php:3186 +#: includes/class/class.LSldapObject.php:3220 msgid "LSldapObject : Update form is not defined for the object %{obj}." msgstr "" -#: includes/class/class.LSldapObject.php:3189 +#: includes/class/class.LSldapObject.php:3223 msgid "LSldapObject : No form exists for the object %{obj}." msgstr "" -#: includes/class/class.LSldapObject.php:3192 +#: includes/class/class.LSldapObject.php:3226 msgid "" "LSldapObject : The function %{func} to validate the attribute %{attr} the " "object %{obj} is unknow." msgstr "" -#: includes/class/class.LSldapObject.php:3195 +#: includes/class/class.LSldapObject.php:3229 msgid "" "LSldapObject : Configuration data are missing to validate the attribute " "%{attr} of the object %{obj}." msgstr "" -#: includes/class/class.LSldapObject.php:3199 +#: includes/class/class.LSldapObject.php:3233 msgid "" "LSldapObject : The function %{func} to be executed on the object event " "%{event} doesn't exist." msgstr "" -#: includes/class/class.LSldapObject.php:3202 +#: includes/class/class.LSldapObject.php:3236 msgid "" "LSldapObject : The %{func} execution on the object event %{event} failed." msgstr "" -#: includes/class/class.LSldapObject.php:3206 +#: includes/class/class.LSldapObject.php:3240 msgid "" "LSldapObject : Class %{class}, which method %{meth} to be executed on the " "object event %{event}, doesn't exist." msgstr "" -#: includes/class/class.LSldapObject.php:3209 +#: includes/class/class.LSldapObject.php:3243 msgid "" "LSldapObject : Method %{meth} within %{class} class to be executed on object " "event %{event}, doesn't exist." msgstr "" -#: includes/class/class.LSldapObject.php:3212 +#: includes/class/class.LSldapObject.php:3246 msgid "" "LSldapObject : Error during execute %{meth} method within %{class} class, to " "be executed on object event %{event}." msgstr "" -#: includes/class/class.LSldapObject.php:3216 +#: includes/class/class.LSldapObject.php:3250 msgid "" "LSldapObject : Some configuration data of the object type %{obj} are missing " "to generate the DN of the new object." msgstr "" -#: includes/class/class.LSldapObject.php:3219 +#: includes/class/class.LSldapObject.php:3253 msgid "" "LSldapObject : The attibute %{attr} of the object is not yet defined. Can't " "generate DN." msgstr "" -#: includes/class/class.LSldapObject.php:3222 +#: includes/class/class.LSldapObject.php:3256 msgid "LSldapObject : Without DN, the object could not be changed." msgstr "" -#: includes/class/class.LSldapObject.php:3225 +#: includes/class/class.LSldapObject.php:3259 msgid "" "LSldapObject : The attribute %{attr_depend} depending on the attribute " "%{attr} doesn't exist." msgstr "" -#: includes/class/class.LSldapObject.php:3228 +#: includes/class/class.LSldapObject.php:3262 msgid "LSldapObject : Error during deleting the object %{objectname}." msgstr "" -#: includes/class/class.LSldapObject.php:3232 +#: includes/class/class.LSldapObject.php:3266 msgid "" "LSldapObject : Error during actions to be executed before renaming the objet." msgstr "" -#: includes/class/class.LSldapObject.php:3235 +#: includes/class/class.LSldapObject.php:3269 msgid "" "LSldapObject : Error during actions to be executed after renaming the objet." msgstr "" -#: includes/class/class.LSldapObject.php:3239 +#: includes/class/class.LSldapObject.php:3273 msgid "" "LSldapObject : Error during actions to be executed before deleting the objet." msgstr "" -#: includes/class/class.LSldapObject.php:3242 +#: includes/class/class.LSldapObject.php:3276 msgid "" "LSldapObject : Error during actions to be executed after deleting the objet." msgstr "" -#: includes/class/class.LSldapObject.php:3246 +#: includes/class/class.LSldapObject.php:3280 msgid "" "LSldapObject : Error during the actions to be executed before creating the " "object." msgstr "" -#: includes/class/class.LSldapObject.php:3249 +#: includes/class/class.LSldapObject.php:3283 msgid "" "LSldapObject : Error during the actions to be executed after creating the " "object. It was created anyway." msgstr "" -#: includes/class/class.LSldapObject.php:3253 +#: includes/class/class.LSldapObject.php:3287 msgid "" "LSldapObject : The function %{func} to be executed before creating the " "object doesn't exist." msgstr "" -#: includes/class/class.LSldapObject.php:3256 +#: includes/class/class.LSldapObject.php:3290 msgid "" "LSldapObject : Error executing the function %{func} to be execute after " "deleting the object." msgstr "" -#: includes/class/class.LSldapObject.php:3259 +#: includes/class/class.LSldapObject.php:3293 msgid "" "LSldapObject : The function %{func} to be executed after deleting the object " "doesn't exist." msgstr "" -#: includes/class/class.LSldapObject.php:3262 +#: includes/class/class.LSldapObject.php:3296 msgid "" "LSldapObject : Error executing the function %{func} to be execute after " "creating the object." msgstr "" -#: includes/class/class.LSldapObject.php:3266 +#: includes/class/class.LSldapObject.php:3300 msgid "" "LSldapObject : %{func} function, to be executed on object event %{event}, " "doesn't exist." msgstr "" -#: includes/class/class.LSldapObject.php:3269 +#: includes/class/class.LSldapObject.php:3303 msgid "" "LSldapObject : Error during the execution of %{func} function on object " "event %{event}." msgstr "" -#: includes/class/class.LSldapObject.php:3273 +#: includes/class/class.LSldapObject.php:3307 msgid "" "LSldapObject : %{meth} method, to be executed on object event %{event}, " "doesn't exist." msgstr "" -#: includes/class/class.LSldapObject.php:3276 +#: includes/class/class.LSldapObject.php:3310 msgid "" "LSldapObject : Error during execution of %{meth} method on object event " "%{event}." msgstr "" -#: includes/class/class.LSldapObject.php:3279 +#: includes/class/class.LSldapObject.php:3313 msgid "LSldapObject : Error during generate LDAP filter for %{LSobject}." msgstr "" -#: includes/class/class.LSldapObject.php:3283 +#: includes/class/class.LSldapObject.php:3317 msgid "" "LSldapObject : Error during execution of the custom action %{customAction} " "on %{objectname}." msgstr "" -#: includes/class/class.LSldapObject.php:3287 +#: includes/class/class.LSldapObject.php:3321 msgid "LSldapObject : Fail to retrieve container DN." msgstr "" -#: includes/class/class.LSldapObject.php:3290 +#: includes/class/class.LSldapObject.php:3324 msgid "" "LSldapObject : The function %{func} to generate container DN is not callable." msgstr "" -#: includes/class/class.LSldapObject.php:3293 +#: includes/class/class.LSldapObject.php:3327 msgid "LSldapObject : Error during generating container DN : %{error}" msgstr "" -#: includes/class/class.LSldapObject.php:3296 +#: includes/class/class.LSldapObject.php:3330 msgid "" "LSldapObject : An LDAP object with the same DN as generated for this new one " "already exists. Please verify your configuration." msgstr "" -#: includes/class/class.LSldapObject.php:3301 +#: includes/class/class.LSldapObject.php:3335 msgid "" "LSrelation : Some parameters are missing in the call of methods to handle " "standard relations (Method : %{meth})." @@ -1809,93 +1813,97 @@ msgid "" "(begining by '/' caracter)." msgstr "" -#: includes/class/class.LSldap.php:815 +#: includes/class/class.LSldap.php:828 msgid "The password expired" msgstr "" -#: includes/class/class.LSldap.php:816 +#: includes/class/class.LSldap.php:829 msgid "The account is locked" msgstr "" -#: includes/class/class.LSldap.php:817 +#: includes/class/class.LSldap.php:830 msgid "The password was reset and must be changed" msgstr "" -#: includes/class/class.LSldap.php:818 +#: includes/class/class.LSldap.php:831 msgid "It is not possible to modify the password" msgstr "" -#: includes/class/class.LSldap.php:819 +#: includes/class/class.LSldap.php:832 msgid "The old password must be supplied" msgstr "" -#: includes/class/class.LSldap.php:820 +#: includes/class/class.LSldap.php:833 msgid "The password does not meet the quality requirements" msgstr "" -#: includes/class/class.LSldap.php:821 +#: includes/class/class.LSldap.php:834 msgid "The password is too short" msgstr "" -#: includes/class/class.LSldap.php:822 +#: includes/class/class.LSldap.php:835 msgid "It is too soon to change the password" msgstr "" -#: includes/class/class.LSldap.php:823 +#: includes/class/class.LSldap.php:836 msgid "This password was recently used and cannot be used again" msgstr "" -#: includes/class/class.LSldap.php:967 -msgid "LSldap: Error during the LDAP server connection (%{msg})." -msgstr "" - -#: includes/class/class.LSldap.php:970 -msgid "LSldap: Error during the LDAP search (%{msg})." -msgstr "" - -#: includes/class/class.LSldap.php:973 -msgid "LSldap: Object type unknown." -msgstr "" - -#: includes/class/class.LSldap.php:976 -msgid "LSldap: Error while fetching the LDAP entry." -msgstr "" - -#: includes/class/class.LSldap.php:979 -msgid "LSldap: Error while changing the LDAP entry (DN : %{dn})." +#: includes/class/class.LSldap.php:862 includes/class/class.LSerror.php:141 +msgid "Unknown error" msgstr "" #: includes/class/class.LSldap.php:982 -msgid "LSldap: Error while deleting empty attributes." +msgid "LSldap: Error during the LDAP server connection (%{msg})." msgstr "" #: includes/class/class.LSldap.php:985 -msgid "LSldap: Error while changing the DN of the object." +msgid "LSldap: Error during the LDAP search (%{msg})." msgstr "" #: includes/class/class.LSldap.php:988 -msgid "LSldap: LDAP server base DN not configured." +msgid "LSldap: Object type unknown." msgstr "" #: includes/class/class.LSldap.php:991 -msgid "LSldap: Fail to set authz proxy option on LDAP server connection." +msgid "LSldap: Error while fetching the LDAP entry." msgstr "" #: includes/class/class.LSldap.php:994 -msgid "LSldap: Error while changing the user password: %{msg}." +msgid "LSldap: Error while changing the LDAP entry (DN : %{dn})." msgstr "" #: includes/class/class.LSldap.php:997 -msgid "LSldap: Unknown LDAP error while updating user password" +msgid "LSldap: Error while deleting empty attributes." msgstr "" #: includes/class/class.LSldap.php:1000 +msgid "LSldap: Error while changing the DN of the object." +msgstr "" + +#: includes/class/class.LSldap.php:1003 +msgid "LSldap: LDAP server base DN not configured." +msgstr "" + +#: includes/class/class.LSldap.php:1006 +msgid "LSldap: Fail to set authz proxy option on LDAP server connection." +msgstr "" + +#: includes/class/class.LSldap.php:1009 +msgid "LSldap: Error while changing the user password: %{msg}." +msgstr "" + +#: includes/class/class.LSldap.php:1012 +msgid "LSldap: Unknown LDAP error while updating user password" +msgstr "" + +#: includes/class/class.LSldap.php:1015 msgid "" "LSldap: Fail to execute trigger %{callable} on event %{event} : is not " "callable." msgstr "" -#: includes/class/class.LSldap.php:1003 +#: includes/class/class.LSldap.php:1018 msgid "" "LSldap: Error during the execution of the trigger %{callable} on event " "%{event}." @@ -2333,19 +2341,19 @@ msgstr "" msgid "No URL patterns configured !" msgstr "" -#: includes/class/class.LSurl.php:233 +#: includes/class/class.LSurl.php:252 msgid "Fail to determine the requested URL (loop detected)." msgstr "" -#: includes/class/class.LSurl.php:255 +#: includes/class/class.LSurl.php:274 msgid "The requested page was not found." msgstr "" -#: includes/class/class.LSurl.php:282 +#: includes/class/class.LSurl.php:301 msgid "This request could not be handled." msgstr "" -#: includes/class/class.LSurl.php:309 +#: includes/class/class.LSurl.php:328 msgid "This request could not be processed correctly." msgstr "" @@ -2723,7 +2731,7 @@ msgstr "" msgid "Role" msgstr "" -#: includes/class/class.LScli.php:104 +#: includes/class/class.LScli.php:114 #, php-format msgid "" "Usage: %s [-h] [-qdC] command\n" @@ -2749,71 +2757,71 @@ msgid "" " Available commands:\n" msgstr "" -#: includes/class/class.LScli.php:136 +#: includes/class/class.LScli.php:146 msgid "Currently no available command is declared." msgstr "" -#: includes/class/class.LScli.php:197 includes/class/class.LScli.php:468 +#: includes/class/class.LScli.php:207 includes/class/class.LScli.php:478 #, php-format msgid "Fail to select LDAP server #%s." msgstr "" -#: includes/class/class.LScli.php:208 includes/class/class.LScli.php:503 +#: includes/class/class.LScli.php:218 includes/class/class.LScli.php:513 #, php-format msgid "Fail to load class '%s'." msgstr "" -#: includes/class/class.LScli.php:215 includes/class/class.LScli.php:518 +#: includes/class/class.LScli.php:225 includes/class/class.LScli.php:528 #, php-format msgid "Fail to load addon '%s'." msgstr "" -#: includes/class/class.LScli.php:226 +#: includes/class/class.LScli.php:236 #, php-format msgid "" "Invalid parameter \"%s\".\n" "Note: Command's parameter/argument must be place after the command." msgstr "" -#: includes/class/class.LScli.php:261 includes/class/class.LScli.php:488 -#: includes/class/class.LScli.php:536 +#: includes/class/class.LScli.php:271 includes/class/class.LScli.php:498 +#: includes/class/class.LScli.php:546 #, php-format msgid "Fail to select sub DN '%s'." msgstr "" -#: includes/class/class.LScli.php:271 +#: includes/class/class.LScli.php:281 msgid "Fail to select first LDAP server." msgstr "" -#: includes/class/class.LScli.php:391 +#: includes/class/class.LScli.php:401 msgid "Are you sure?" msgstr "" -#: includes/class/class.LScli.php:392 +#: includes/class/class.LScli.php:402 #, php-format msgid "" "\n" "%s Type 'yes' to continue: " msgstr "" -#: includes/class/class.LScli.php:395 templates/default/import.tpl:26 +#: includes/class/class.LScli.php:405 templates/default/import.tpl:26 #: templates/default/import.tpl:32 msgid "yes" msgstr "" -#: includes/class/class.LScli.php:396 +#: includes/class/class.LScli.php:406 msgid "User cancel\n" msgstr "" -#: includes/class/class.LScli.php:852 +#: includes/class/class.LScli.php:913 msgid "LScli : The CLI command '%{command}' already exists." msgstr "" -#: includes/class/class.LScli.php:855 +#: includes/class/class.LScli.php:916 msgid "LScli : The CLI command '%{command}' handler is not callable." msgstr "" -#: includes/class/class.LScli.php:864 +#: includes/class/class.LScli.php:925 msgid "Handle BASH completion" msgstr "" @@ -2821,14 +2829,10 @@ msgstr "" msgid "LSioFormatCSV: function fputcsv is not available." msgstr "" -#: includes/class/class.LSlog.php:506 +#: includes/class/class.LSlog.php:580 msgid "LSlog : Fail to load logging handler %{handler}." msgstr "" -#: includes/class/class.LSerror.php:141 -msgid "Unknown error" -msgstr "" - #: includes/class/class.LSerror.php:201 msgid "Unknown error : %{error}" msgstr "" @@ -2945,23 +2949,23 @@ msgstr "" msgid "Folder not found" msgstr "" -#: includes/functions.php:863 +#: includes/functions.php:928 msgid "TB" msgstr "" -#: includes/functions.php:864 +#: includes/functions.php:929 msgid "GB" msgstr "" -#: includes/functions.php:865 +#: includes/functions.php:930 msgid "MB" msgstr "" -#: includes/functions.php:866 +#: includes/functions.php:931 msgid "KB" msgstr "" -#: includes/functions.php:867 +#: includes/functions.php:932 msgid "B" msgstr ""