Compare commits

..

5 commits

Author SHA1 Message Date
Benjamin Renard
f113c87a15 LSaddon::mail: fix catch all message suffix in HTML mode 2023-01-11 19:45:25 +01:00
Benjamin Renard
68fcb6f81a LSaddon::mail: make optional parameter of sendMail() defaulty null 2023-01-11 19:34:25 +01:00
Benjamin Renard
e303706779 CI: fix local execution problems 2023-01-11 19:09:23 +01:00
Benjamin Renard
cbf1ff1769 LSaddon::mail: add MAIL_CATCH_ALL parameter 2023-01-11 19:08:04 +01:00
Benjamin Renard
a717f051b9 LSaddon::showSupportInfo: fix default right proposed in doc 2023-01-11 18:57:06 +01:00
8 changed files with 206 additions and 85 deletions

View file

@ -11,9 +11,15 @@ tests:bullseye:
- changes: - changes:
- src/* - src/*
script: script:
- rm -fr vendor
- composer install - composer install
- service slapd start - service slapd start
- ./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report-bullseye.xml - >
if [ "$GITLAB_CI" == "true" ]; then
./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report-bullseye.xml
else
./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon
fi
artifacts: artifacts:
when: always when: always
paths: paths:
@ -31,9 +37,16 @@ tests:buster:
- changes: - changes:
- src/* - src/*
script: script:
- rm -fr vendor
- composer install - composer install
- service slapd start - service slapd start
- ./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report-buster.xml - ./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report-buster.xml
- >
if [ "$GITLAB_CI" == "true" ]; then
./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report-buster.xml
else
./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon
fi
artifacts: artifacts:
when: always when: always
paths: paths:

View file

@ -60,13 +60,15 @@ define('MAIL_SEND_METHOD','smtp');
* o $params["persist"] - Indicates whether or not the SMTP connection * o $params["persist"] - Indicates whether or not the SMTP connection
* should persist over multiple calls to the send() method. * should persist over multiple calls to the send() method.
*/ */
$MAIL_SEND_PARAMS = NULL; $GLOBALS['MAIL_SEND_PARAMS'] = NULL;
/* /*
* Headers : * Headers :
*/ */
$MAIL_HEARDERS = array( $GLOBALS['MAIL_HEARDERS = array();
);
// Catch all sent emails
$GLOBALS['MAIL_CATCH_ALL'] = array();
</programlisting> </programlisting>
<para>Cet &LSaddon; offre la possibilité d'utilisé la fonction &php; <para>Cet &LSaddon; offre la possibilité d'utilisé la fonction &php;

View file

@ -30,7 +30,7 @@
'disableOnSuccessMsg' => true, 'disableOnSuccessMsg' => true,
'icon' => 'terminal', 'icon' => 'terminal',
'rights' => array ( 'rights' => array (
'admin' 'self'
), ),
), ),
), ),

View file

@ -73,10 +73,12 @@ define('MAIL_SEND_METHOD','smtp');
* o $params["persist"] - Indicates whether or not the SMTP connection * o $params["persist"] - Indicates whether or not the SMTP connection
* should persist over multiple calls to the send() method. * should persist over multiple calls to the send() method.
*/ */
$MAIL_SEND_PARAMS = NULL; $GLOBALS['MAIL_SEND_PARAMS'] = NULL;
/* /*
* Headers : * Headers :
*/ */
$MAIL_HEARDERS = array( $GLOBALS['MAIL_HEARDERS'] = array();
);
// Catch all sent emails
$GLOBALS['MAIL_CATCH_ALL'] = array();

View file

@ -20,7 +20,7 @@
******************************************************************************/ ******************************************************************************/
// Messages d'erreur // Error messages
// Support // Support
LSerror :: defineError('MAIL_SUPPORT_01', LSerror :: defineError('MAIL_SUPPORT_01',
@ -30,7 +30,7 @@ LSerror :: defineError('MAIL_SUPPORT_02',
___("MAIL Support : Pear::MAIL_MIME is missing.") ___("MAIL Support : Pear::MAIL_MIME is missing.")
); );
// Autres erreurs // Other errors
LSerror :: defineError('MAIL_00', LSerror :: defineError('MAIL_00',
___("MAIL Error : %{msg}") ___("MAIL Error : %{msg}")
); );
@ -40,16 +40,16 @@ LSerror :: defineError('MAIL_01',
); );
/** /**
* Verification du support MAIL par ldapSaisie * Check support of this LSaddon
* *
* @author Benjamin Renard <brenard@easter-eggs.com> * @author Benjamin Renard <brenard@easter-eggs.com>
* *
* @return boolean true si MAIL est pleinement supporté, false sinon * @return boolean true if this LSaddon is fully supported, false otherwise
*/ */
function LSaddon_mail_support() { function LSaddon_mail_support() {
$retval=true; $retval=true;
// Dependance de librairie // Lib dependencies (check/load)
if (!class_exists('Mail')) { if (!class_exists('Mail')) {
if(!LSsession::includeFile(PEAR_MAIL, true)) { if(!LSsession::includeFile(PEAR_MAIL, true)) {
LSerror :: addErrorCode('MAIL_SUPPORT_01'); LSerror :: addErrorCode('MAIL_SUPPORT_01');
@ -83,19 +83,54 @@ LSerror :: defineError('MAIL_01',
} }
/** /**
* Envoie d'un mail * Send an email
*
* @param string|array<string> $to Email recipient(s)
* @param string $subject Email subject
* @param string $msg Email body
* @param array<string,string>|null $headers Email headers
* @param array<string,string>|null $attachments Email attachments as an array with
* filepath as key and filename as value
* @param string|null $eol End of line string (default : \n)
* @param string|null $encoding Email encoding (default: utf8)
* @param boolean $html Set to true to send an HTML email (default: false)
* *
* @author Benjamin Renard <brenard@easter-eggs.com> * @author Benjamin Renard <brenard@easter-eggs.com>
* *
* @return boolean true si MAIL est pleinement supporté, false sinon * @return boolean true si MAIL est pleinement supporté, false sinon
*/ */
function sendMail($to, $subject, $msg, $headers=array(), $attachments=array(), $eol="\n", $encoding="utf8", $html=false) { function sendMail($to, $subject, $msg, $headers=null, $attachments=null,
global $MAIL_SEND_PARAMS, $MAIL_HEARDERS; $eol=null, $encoding=null, $html=false) {
global $MAIL_SEND_PARAMS, $MAIL_HEARDERS, $MAIL_CATCH_ALL;
$mail_obj = Mail::factory(MAIL_SEND_METHOD, (isset($MAIL_SEND_PARAMS)?$MAIL_SEND_PARAMS:null)); $mail_obj = Mail::factory(MAIL_SEND_METHOD, (isset($MAIL_SEND_PARAMS)?$MAIL_SEND_PARAMS:null));
$logger = LSlog :: get_logger('LSaddon_mail');
if (!$headers) $headers = array();
if (isset($MAIL_HEARDERS) && is_array($MAIL_HEARDERS)) { if (isset($MAIL_HEARDERS) && is_array($MAIL_HEARDERS)) {
$headers = array_merge($headers,$MAIL_HEARDERS); $headers = array_merge($headers,$MAIL_HEARDERS);
} }
$logger -> trace(
'Mail catch all: '.(
isset($MAIL_CATCH_ALL) && $MAIL_CATCH_ALL?
varDump($MAIL_CATCH_ALL):'not set')
);
if (isset($MAIL_CATCH_ALL) && $MAIL_CATCH_ALL) {
$logger -> debug(
'Mail catch to '.
(is_array($MAIL_CATCH_ALL)?implode(',', $MAIL_CATCH_ALL):$MAIL_CATCH_ALL)
);
$msg .= sprintf(
(
$html?
_("</hr><p><small>Mail initialy intended for %s.</small></p>"):
_("\n\n\nMail initialy intended for %s.")
),
(is_array($to)?implode(',', $to):$to));
$to = (
is_array($MAIL_CATCH_ALL)?
implode(',', $MAIL_CATCH_ALL):$MAIL_CATCH_ALL
);
}
if (isset($headers['From'])) { if (isset($headers['From'])) {
$from = $headers['From']; $from = $headers['From'];
@ -112,17 +147,28 @@ LSerror :: defineError('MAIL_01',
); );
foreach(array_keys($headers) as $header) { foreach(array_keys($headers) as $header) {
if(strtoupper($header) == 'BCC') { if(in_array(strtoupper($header), array('BCC', 'CC'))) {
$to['BCC'] = $headers[$header]; if (isset($MAIL_CATCH_ALL) && $MAIL_CATCH_ALL) {
$logger -> debug("Mail catched: remove $header header");
$msg .= sprintf(
(
$html?
_("<p><small>%s: %s</small></p>"):
_("\n%s: %s")
),
strtoupper($header),
(is_array($headers[$header])?implode(',', $headers[$header]):$headers[$header]));
unset($headers[$header]);
continue;
} }
elseif(strtoupper($header) == 'CC') { $to[strtoupper($header)] = $headers[$header];
$to['CC'] = $headers[$header];
} }
} }
if (!$encoding) $encoding = "utf8";
$mime = new Mail_mime( $mime = new Mail_mime(
array( array(
'eol' => $eol, 'eol' => ($eol?$eol:"\n"),
($html?'html_charset':'text_charset') => $encoding, ($html?'html_charset':'text_charset') => $encoding,
'head_charset' => $encoding, 'head_charset' => $encoding,
) )

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: LdapSaisie\n" "Project-Id-Version: LdapSaisie\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2023-01-09 19:11+0100\n" "PO-Revision-Date: 2023-01-11 19:45+0100\n"
"Last-Translator: Benjamin Renard <brenard@easter-eggs.com>\n" "Last-Translator: Benjamin Renard <brenard@easter-eggs.com>\n"
"Language-Team: LdapSaisie <ldapsaisie-users@lists.labs.libre-entreprise." "Language-Team: LdapSaisie <ldapsaisie-users@lists.labs.libre-entreprise."
"org>\n" "org>\n"
@ -229,6 +229,38 @@ msgstr "Erreur MAIL : %{msg}"
msgid "MAIL : Error sending your email" msgid "MAIL : Error sending your email"
msgstr "MAIL : Erreur durant l'envoie de votre mail" msgstr "MAIL : Erreur durant l'envoie de votre mail"
#: includes/addons/LSaddons.mail.php:125
#, php-format
msgid "</hr><p><small>Mail initialy intended for %s.</small></p>"
msgstr "</hr><p><small>Mail initialement adressé à %s.</small></p>"
#: includes/addons/LSaddons.mail.php:126
#, php-format
msgid ""
"\n"
"\n"
"\n"
"Mail initialy intended for %s."
msgstr ""
"\n"
"\n"
"\n"
"Mail initialement adressé à %s."
#: includes/addons/LSaddons.mail.php:156
#, php-format
msgid "<p><small>%s: %s</small></p>"
msgstr "<p><small>%s: %s</small></p>"
#: includes/addons/LSaddons.mail.php:157
#, php-format
msgid ""
"\n"
"%s: %s"
msgstr ""
"\n"
"%s: %s"
#: includes/addons/LSaddons.phpldapadmin.php:27 #: includes/addons/LSaddons.phpldapadmin.php:27
msgid "PhpLdapAdmin Support : The constant %{const} is not defined." msgid "PhpLdapAdmin Support : The constant %{const} is not defined."
msgstr "Support PhpLdapAdmin : La constante %{const} n'est pas définie." msgstr "Support PhpLdapAdmin : La constante %{const} n'est pas définie."
@ -237,15 +269,15 @@ msgstr "Support PhpLdapAdmin : La constante %{const} n'est pas définie."
msgid "Show my support information" msgid "Show my support information"
msgstr "Voir mes informations pour le support" msgstr "Voir mes informations pour le support"
#: includes/addons/LSaddons.showSupportInfo.php:65 #: includes/addons/LSaddons.showSupportInfo.php:66
msgid "%{name}: Support information" msgid "%{name}: Support information"
msgstr "%{name} : Informations pour le support" msgstr "%{name} : Informations pour le support"
#: includes/addons/LSaddons.showSupportInfo.php:72 #: includes/addons/LSaddons.showSupportInfo.php:73
msgid "Download" msgid "Download"
msgstr "Télécharger" msgstr "Télécharger"
#: includes/addons/LSaddons.showSupportInfo.php:77 #: includes/addons/LSaddons.showSupportInfo.php:78
#: includes/addons/LSaddons.accesslog.php:181 #: includes/addons/LSaddons.accesslog.php:181
#: includes/addons/LSaddons.showTechInfo.php:117 #: includes/addons/LSaddons.showTechInfo.php:117
msgid "Go back" msgid "Go back"
@ -1311,16 +1343,16 @@ msgstr ""
msgid "Your new password has been sent to %{mail}." msgid "Your new password has been sent to %{mail}."
msgstr "Votre nouveau mot de passe vous a été envoyé à l'adresse %{mail}." msgstr "Votre nouveau mot de passe vous a été envoyé à l'adresse %{mail}."
#: includes/class/class.LSsession.php:2950 templates/default/select.tpl:20 #: includes/class/class.LSsession.php:2952 templates/default/select.tpl:20
#: templates/default/recoverpassword.tpl:17 templates/default/login.tpl:16 #: templates/default/recoverpassword.tpl:17 templates/default/login.tpl:16
msgid "Level" msgid "Level"
msgstr "Niveau" msgstr "Niveau"
#: includes/class/class.LSsession.php:3118 #: includes/class/class.LSsession.php:3120
msgid "LSsession : The constant '%{const}' is not defined." msgid "LSsession : The constant '%{const}' is not defined."
msgstr "LSsession : La constante '%{const}' n'est pas définie." msgstr "LSsession : La constante '%{const}' n'est pas définie."
#: includes/class/class.LSsession.php:3121 #: includes/class/class.LSsession.php:3123
msgid "" msgid ""
"LSsession : The addon '%{addon}' support is uncertain. Verify system " "LSsession : The addon '%{addon}' support is uncertain. Verify system "
"compatibility and the add-on configuration." "compatibility and the add-on configuration."
@ -1328,53 +1360,53 @@ msgstr ""
"LSsession : Le support de l'addon '%{addon}' est incertain. Vérifiez la " "LSsession : Le support de l'addon '%{addon}' est incertain. Vérifiez la "
"compatibilité du système et la configuration de l'add-on." "compatibilité du système et la configuration de l'add-on."
#: includes/class/class.LSsession.php:3124 #: includes/class/class.LSsession.php:3126
msgid "" msgid ""
"LSsession : LDAP server's configuration data are invalid. Can't connect." "LSsession : LDAP server's configuration data are invalid. Can't connect."
msgstr "" msgstr ""
"LSsession : Les données de configuration du serveur LDAP sont invalide. " "LSsession : Les données de configuration du serveur LDAP sont invalide. "
"Impossible de s'y connecter." "Impossible de s'y connecter."
#: includes/class/class.LSsession.php:3127 #: includes/class/class.LSsession.php:3129
msgid "LSsession : Failed to load LSobject type '%{type}' : unknon type." msgid "LSsession : Failed to load LSobject type '%{type}' : unknon type."
msgstr "" msgstr ""
"LSsession : Impossible de charger le type d'LSobject '%{type}' : type " "LSsession : Impossible de charger le type d'LSobject '%{type}' : type "
"inconnu." "inconnu."
#: includes/class/class.LSsession.php:3130 #: includes/class/class.LSsession.php:3132
msgid "LSsession : Failed to load LSclass '%{class}'." msgid "LSsession : Failed to load LSclass '%{class}'."
msgstr "LSsession : Impossible de charger la LSclass '%{class}'." msgstr "LSsession : Impossible de charger la LSclass '%{class}'."
#: includes/class/class.LSsession.php:3133 #: includes/class/class.LSsession.php:3135
msgid "LSsession : Login or password incorrect." msgid "LSsession : Login or password incorrect."
msgstr "LSsession : Identifiant ou mot de passe incorrects." msgstr "LSsession : Identifiant ou mot de passe incorrects."
#: includes/class/class.LSsession.php:3136 #: includes/class/class.LSsession.php:3138
msgid "LSsession : Impossible to identify you : Duplication of identities." msgid "LSsession : Impossible to identify you : Duplication of identities."
msgstr "LSsession : Impossible de vous identifier : Duplication d'identité." msgstr "LSsession : Impossible de vous identifier : Duplication d'identité."
#: includes/class/class.LSsession.php:3139 #: includes/class/class.LSsession.php:3141
msgid "LSsession : Can't load class of authentification (%{class})." msgid "LSsession : Can't load class of authentification (%{class})."
msgstr "" msgstr ""
"LSsession : Impossible de charger la classe d'authentification (%{class})." "LSsession : Impossible de charger la classe d'authentification (%{class})."
#: includes/class/class.LSsession.php:3142 #: includes/class/class.LSsession.php:3144
msgid "LSsession : Can't connect to LDAP server." msgid "LSsession : Can't connect to LDAP server."
msgstr "LSsession : Impossible de se connecter au serveur LDAP." msgstr "LSsession : Impossible de se connecter au serveur LDAP."
#: includes/class/class.LSsession.php:3145 #: includes/class/class.LSsession.php:3147
msgid "LSsession : Impossible to authenticate you." msgid "LSsession : Impossible to authenticate you."
msgstr "LSsession : Impossible de vous identifier." msgstr "LSsession : Impossible de vous identifier."
#: includes/class/class.LSsession.php:3148 #: includes/class/class.LSsession.php:3150
msgid "LSsession : Your are not authorized to do this action." msgid "LSsession : Your are not authorized to do this action."
msgstr "LSsession : Vous n'êtes pas autorisé à faire cette action." msgstr "LSsession : Vous n'êtes pas autorisé à faire cette action."
#: includes/class/class.LSsession.php:3151 #: includes/class/class.LSsession.php:3153
msgid "LSsession : Some informations are missing to display this page." msgid "LSsession : Some informations are missing to display this page."
msgstr "LSsession : Des informations sont manquantes pour afficher cette page." msgstr "LSsession : Des informations sont manquantes pour afficher cette page."
#: includes/class/class.LSsession.php:3154 #: includes/class/class.LSsession.php:3156
msgid "" msgid ""
"LSsession : The function '%{function}' of the custom action " "LSsession : The function '%{function}' of the custom action "
"'%{customAction}' does not exists or is not configured." "'%{customAction}' does not exists or is not configured."
@ -1382,24 +1414,24 @@ msgstr ""
"LSsession : La fonction '%{function}' de l'action personnalisée " "LSsession : La fonction '%{function}' de l'action personnalisée "
"'%{customAction}' n'existe pas ou n'est pas configurée." "'%{customAction}' n'existe pas ou n'est pas configurée."
#: includes/class/class.LSsession.php:3157 #: includes/class/class.LSsession.php:3159
msgid "LSsession : Fail to retrieve user's LDAP credentials from LSauth." msgid "LSsession : Fail to retrieve user's LDAP credentials from LSauth."
msgstr "" msgstr ""
"LSsession : Erreur en récupérant les identifiants LDAP de l'utilisateur " "LSsession : Erreur en récupérant les identifiants LDAP de l'utilisateur "
"depuis LSauth." "depuis LSauth."
#: includes/class/class.LSsession.php:3160 #: includes/class/class.LSsession.php:3162
msgid "" msgid ""
"LSsession : Fail to reconnect to LDAP server with user's LDAP credentials." "LSsession : Fail to reconnect to LDAP server with user's LDAP credentials."
msgstr "" msgstr ""
"LSsession : Impossible de se reconnecter au serveur LDAP avec les " "LSsession : Impossible de se reconnecter au serveur LDAP avec les "
"identifiants de l'utilisateur." "identifiants de l'utilisateur."
#: includes/class/class.LSsession.php:3163 #: includes/class/class.LSsession.php:3165
msgid "LSsession : No import/export format define for this object type." msgid "LSsession : No import/export format define for this object type."
msgstr "LSsession : Aucun format d'entrée/sortie défini pour ce type d'objet." msgstr "LSsession : Aucun format d'entrée/sortie défini pour ce type d'objet."
#: includes/class/class.LSsession.php:3166 #: includes/class/class.LSsession.php:3168
msgid "" msgid ""
"LSsession : Error during creation of list of levels. Contact administrators. " "LSsession : Error during creation of list of levels. Contact administrators. "
"(Code : %{code})" "(Code : %{code})"
@ -1407,13 +1439,13 @@ msgstr ""
"LSsession : Erreur durant la création de la liste des niveaux. Contacter les " "LSsession : Erreur durant la création de la liste des niveaux. Contacter les "
"administrateurs. (Code : %{type})" "administrateurs. (Code : %{type})"
#: includes/class/class.LSsession.php:3169 #: includes/class/class.LSsession.php:3171
msgid "LSsession : The password recovery is disabled for this LDAP server." msgid "LSsession : The password recovery is disabled for this LDAP server."
msgstr "" msgstr ""
"LSsession : La récupération de mot de passe est désactivée pour ce serveur " "LSsession : La récupération de mot de passe est désactivée pour ce serveur "
"LDAP." "LDAP."
#: includes/class/class.LSsession.php:3172 #: includes/class/class.LSsession.php:3174
msgid "" msgid ""
"LSsession : Some informations are missing to recover your password. Contact " "LSsession : Some informations are missing to recover your password. Contact "
"administrators." "administrators."
@ -1421,7 +1453,7 @@ msgstr ""
"LSsession : Des informations sont manques pour pouvoir récupérer votre mot " "LSsession : Des informations sont manques pour pouvoir récupérer votre mot "
"de passe. Contacter les administrateurs." "de passe. Contacter les administrateurs."
#: includes/class/class.LSsession.php:3175 #: includes/class/class.LSsession.php:3177
msgid "" msgid ""
"LSsession : Error during password recovery. Contact administrators.(Step : " "LSsession : Error during password recovery. Contact administrators.(Step : "
"%{step})" "%{step})"
@ -1429,7 +1461,7 @@ msgstr ""
"LSsession : Erreur durant la récupération de votre mot de passe. Contacter " "LSsession : Erreur durant la récupération de votre mot de passe. Contacter "
"les administrateurs. (Etape : %{step})" "les administrateurs. (Etape : %{step})"
#: includes/class/class.LSsession.php:3178 #: includes/class/class.LSsession.php:3180
msgid "" msgid ""
"LSsession : The function '%{func}' configured for the view '%{view}' of the " "LSsession : The function '%{func}' configured for the view '%{view}' of the "
"LSaddon '%{addon}' is not declared in the LSaddon file." "LSaddon '%{addon}' is not declared in the LSaddon file."
@ -1437,11 +1469,11 @@ msgstr ""
"LSsession : la fonction '%{func}' configurée pour la vue '%{view}' du " "LSsession : la fonction '%{func}' configurée pour la vue '%{view}' du "
"LSaddon '%{addon}' n'est pas déclaré dans le fichier du LSaddon." "LSaddon '%{addon}' n'est pas déclaré dans le fichier du LSaddon."
#: includes/class/class.LSsession.php:3181 #: includes/class/class.LSsession.php:3183
msgid "LSsession : Failed to load resource file '%{file}'." msgid "LSsession : Failed to load resource file '%{file}'."
msgstr "LSsession : Impossible de charger le fichier de ressource '%{file}'." msgstr "LSsession : Impossible de charger le fichier de ressource '%{file}'."
#: includes/class/class.LSsession.php:3184 #: includes/class/class.LSsession.php:3186
msgid "" msgid ""
"LSsession : The function '%{func}' configured for the view '%{view}' of the " "LSsession : The function '%{func}' configured for the view '%{view}' of the "
"LSaddon '%{addon}' doesn't exist." "LSaddon '%{addon}' doesn't exist."
@ -1449,11 +1481,11 @@ msgstr ""
"LSsession : la fonction '%{func}' configurée pour la vue '%{view}' du " "LSsession : la fonction '%{func}' configurée pour la vue '%{view}' du "
"LSaddon '%{addon}' n'existe pas." "LSaddon '%{addon}' n'existe pas."
#: includes/class/class.LSsession.php:3187 #: includes/class/class.LSsession.php:3189
msgid "LSsession : invalid related object's DN pass in parameter." msgid "LSsession : invalid related object's DN pass in parameter."
msgstr "LSsession : DN d'objet en relation incorrect dans les paramètres." msgstr "LSsession : DN d'objet en relation incorrect dans les paramètres."
#: includes/class/class.LSsession.php:3190 #: includes/class/class.LSsession.php:3192
msgid "" msgid ""
"LSsession : the LSaddon %{addon} keep using old-style addon view URL. Please " "LSsession : the LSaddon %{addon} keep using old-style addon view URL. Please "
"upgrade it." "upgrade it."
@ -1461,7 +1493,7 @@ msgstr ""
"LSsession : le LSaddon %{addon} utilise toujours l'ancien type d'URL de " "LSsession : le LSaddon %{addon} utilise toujours l'ancien type d'URL de "
"vues. Merci de le mettre à jour." "vues. Merci de le mettre à jour."
#: includes/class/class.LSsession.php:3193 #: includes/class/class.LSsession.php:3195
msgid "" msgid ""
"LSsession : You have been redirect from an old-style URL %{url}. Please " "LSsession : You have been redirect from an old-style URL %{url}. Please "
"upgrade this link." "upgrade this link."
@ -1469,7 +1501,7 @@ msgstr ""
"LSsession : Vous avez été redirigé depuis une ancienne URL %{url}. Merci de " "LSsession : Vous avez été redirigé depuis une ancienne URL %{url}. Merci de "
"le mettre à jour ce lien." "le mettre à jour ce lien."
#: includes/class/class.LSsession.php:3196 #: includes/class/class.LSsession.php:3198
msgid "" msgid ""
"LSsession : You always seem to use %{old} in your custom code: Please " "LSsession : You always seem to use %{old} in your custom code: Please "
"upgrade it and use %{new}.<pre>\n" "upgrade it and use %{new}.<pre>\n"

View file

@ -174,6 +174,32 @@ msgstr ""
msgid "MAIL : Error sending your email" msgid "MAIL : Error sending your email"
msgstr "" msgstr ""
#: includes/addons/LSaddons.mail.php:125
#, php-format
msgid "</hr><p><small>Mail initialy intended for %s.</small></p>"
msgstr ""
#: includes/addons/LSaddons.mail.php:126
#, php-format
msgid ""
"\n"
"\n"
"\n"
"Mail initialy intended for %s."
msgstr ""
#: includes/addons/LSaddons.mail.php:156
#, php-format
msgid "<p><small>%s: %s</small></p>"
msgstr ""
#: includes/addons/LSaddons.mail.php:157
#, php-format
msgid ""
"\n"
"%s: %s"
msgstr ""
#: includes/addons/LSaddons.phpldapadmin.php:27 #: includes/addons/LSaddons.phpldapadmin.php:27
msgid "PhpLdapAdmin Support : The constant %{const} is not defined." msgid "PhpLdapAdmin Support : The constant %{const} is not defined."
msgstr "" msgstr ""
@ -182,15 +208,15 @@ msgstr ""
msgid "Show my support information" msgid "Show my support information"
msgstr "" msgstr ""
#: includes/addons/LSaddons.showSupportInfo.php:65 #: includes/addons/LSaddons.showSupportInfo.php:66
msgid "%{name}: Support information" msgid "%{name}: Support information"
msgstr "" msgstr ""
#: includes/addons/LSaddons.showSupportInfo.php:72 #: includes/addons/LSaddons.showSupportInfo.php:73
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: includes/addons/LSaddons.showSupportInfo.php:77 #: includes/addons/LSaddons.showSupportInfo.php:78
#: includes/addons/LSaddons.accesslog.php:181 #: includes/addons/LSaddons.accesslog.php:181
#: includes/addons/LSaddons.showTechInfo.php:117 #: includes/addons/LSaddons.showTechInfo.php:117
msgid "Go back" msgid "Go back"
@ -1126,136 +1152,136 @@ msgstr ""
msgid "Your new password has been sent to %{mail}." msgid "Your new password has been sent to %{mail}."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:2950 templates/default/select.tpl:20 #: includes/class/class.LSsession.php:2952 templates/default/select.tpl:20
#: templates/default/recoverpassword.tpl:17 templates/default/login.tpl:16 #: templates/default/recoverpassword.tpl:17 templates/default/login.tpl:16
msgid "Level" msgid "Level"
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3118 #: includes/class/class.LSsession.php:3120
msgid "LSsession : The constant '%{const}' is not defined." msgid "LSsession : The constant '%{const}' is not defined."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3121 #: includes/class/class.LSsession.php:3123
msgid "" msgid ""
"LSsession : The addon '%{addon}' support is uncertain. Verify system " "LSsession : The addon '%{addon}' support is uncertain. Verify system "
"compatibility and the add-on configuration." "compatibility and the add-on configuration."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3124 #: includes/class/class.LSsession.php:3126
msgid "" msgid ""
"LSsession : LDAP server's configuration data are invalid. Can't connect." "LSsession : LDAP server's configuration data are invalid. Can't connect."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3127 #: includes/class/class.LSsession.php:3129
msgid "LSsession : Failed to load LSobject type '%{type}' : unknon type." msgid "LSsession : Failed to load LSobject type '%{type}' : unknon type."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3130 #: includes/class/class.LSsession.php:3132
msgid "LSsession : Failed to load LSclass '%{class}'." msgid "LSsession : Failed to load LSclass '%{class}'."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3133 #: includes/class/class.LSsession.php:3135
msgid "LSsession : Login or password incorrect." msgid "LSsession : Login or password incorrect."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3136 #: includes/class/class.LSsession.php:3138
msgid "LSsession : Impossible to identify you : Duplication of identities." msgid "LSsession : Impossible to identify you : Duplication of identities."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3139 #: includes/class/class.LSsession.php:3141
msgid "LSsession : Can't load class of authentification (%{class})." msgid "LSsession : Can't load class of authentification (%{class})."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3142 #: includes/class/class.LSsession.php:3144
msgid "LSsession : Can't connect to LDAP server." msgid "LSsession : Can't connect to LDAP server."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3145 #: includes/class/class.LSsession.php:3147
msgid "LSsession : Impossible to authenticate you." msgid "LSsession : Impossible to authenticate you."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3148 #: includes/class/class.LSsession.php:3150
msgid "LSsession : Your are not authorized to do this action." msgid "LSsession : Your are not authorized to do this action."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3151 #: includes/class/class.LSsession.php:3153
msgid "LSsession : Some informations are missing to display this page." msgid "LSsession : Some informations are missing to display this page."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3154 #: includes/class/class.LSsession.php:3156
msgid "" msgid ""
"LSsession : The function '%{function}' of the custom action " "LSsession : The function '%{function}' of the custom action "
"'%{customAction}' does not exists or is not configured." "'%{customAction}' does not exists or is not configured."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3157 #: includes/class/class.LSsession.php:3159
msgid "LSsession : Fail to retrieve user's LDAP credentials from LSauth." msgid "LSsession : Fail to retrieve user's LDAP credentials from LSauth."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3160 #: includes/class/class.LSsession.php:3162
msgid "" msgid ""
"LSsession : Fail to reconnect to LDAP server with user's LDAP credentials." "LSsession : Fail to reconnect to LDAP server with user's LDAP credentials."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3163 #: includes/class/class.LSsession.php:3165
msgid "LSsession : No import/export format define for this object type." msgid "LSsession : No import/export format define for this object type."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3166 #: includes/class/class.LSsession.php:3168
msgid "" msgid ""
"LSsession : Error during creation of list of levels. Contact administrators. " "LSsession : Error during creation of list of levels. Contact administrators. "
"(Code : %{code})" "(Code : %{code})"
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3169 #: includes/class/class.LSsession.php:3171
msgid "LSsession : The password recovery is disabled for this LDAP server." msgid "LSsession : The password recovery is disabled for this LDAP server."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3172 #: includes/class/class.LSsession.php:3174
msgid "" msgid ""
"LSsession : Some informations are missing to recover your password. Contact " "LSsession : Some informations are missing to recover your password. Contact "
"administrators." "administrators."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3175 #: includes/class/class.LSsession.php:3177
msgid "" msgid ""
"LSsession : Error during password recovery. Contact administrators.(Step : " "LSsession : Error during password recovery. Contact administrators.(Step : "
"%{step})" "%{step})"
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3178 #: includes/class/class.LSsession.php:3180
msgid "" msgid ""
"LSsession : The function '%{func}' configured for the view '%{view}' of the " "LSsession : The function '%{func}' configured for the view '%{view}' of the "
"LSaddon '%{addon}' is not declared in the LSaddon file." "LSaddon '%{addon}' is not declared in the LSaddon file."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3181 #: includes/class/class.LSsession.php:3183
msgid "LSsession : Failed to load resource file '%{file}'." msgid "LSsession : Failed to load resource file '%{file}'."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3184 #: includes/class/class.LSsession.php:3186
msgid "" msgid ""
"LSsession : The function '%{func}' configured for the view '%{view}' of the " "LSsession : The function '%{func}' configured for the view '%{view}' of the "
"LSaddon '%{addon}' doesn't exist." "LSaddon '%{addon}' doesn't exist."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3187 #: includes/class/class.LSsession.php:3189
msgid "LSsession : invalid related object's DN pass in parameter." msgid "LSsession : invalid related object's DN pass in parameter."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3190 #: includes/class/class.LSsession.php:3192
msgid "" msgid ""
"LSsession : the LSaddon %{addon} keep using old-style addon view URL. Please " "LSsession : the LSaddon %{addon} keep using old-style addon view URL. Please "
"upgrade it." "upgrade it."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3193 #: includes/class/class.LSsession.php:3195
msgid "" msgid ""
"LSsession : You have been redirect from an old-style URL %{url}. Please " "LSsession : You have been redirect from an old-style URL %{url}. Please "
"upgrade this link." "upgrade this link."
msgstr "" msgstr ""
#: includes/class/class.LSsession.php:3196 #: includes/class/class.LSsession.php:3198
msgid "" msgid ""
"LSsession : You always seem to use %{old} in your custom code: Please " "LSsession : You always seem to use %{old} in your custom code: Please "
"upgrade it and use %{new}.<pre>\n" "upgrade it and use %{new}.<pre>\n"