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:
- src/*
script:
- rm -fr vendor
- composer install
- 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:
when: always
paths:
@ -31,9 +37,16 @@ tests:buster:
- changes:
- src/*
script:
- rm -fr vendor
- composer install
- service slapd start
- ./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:
when: always
paths:

View file

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

View file

@ -30,7 +30,7 @@
'disableOnSuccessMsg' => true,
'icon' => 'terminal',
'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
* should persist over multiple calls to the send() method.
*/
$MAIL_SEND_PARAMS = NULL;
$GLOBALS['MAIL_SEND_PARAMS'] = NULL;
/*
* 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
LSerror :: defineError('MAIL_SUPPORT_01',
@ -30,7 +30,7 @@ LSerror :: defineError('MAIL_SUPPORT_02',
___("MAIL Support : Pear::MAIL_MIME is missing.")
);
// Autres erreurs
// Other errors
LSerror :: defineError('MAIL_00',
___("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>
*
* @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() {
$retval=true;
// Dependance de librairie
// Lib dependencies (check/load)
if (!class_exists('Mail')) {
if(!LSsession::includeFile(PEAR_MAIL, true)) {
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>
*
* @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) {
global $MAIL_SEND_PARAMS, $MAIL_HEARDERS;
function sendMail($to, $subject, $msg, $headers=null, $attachments=null,
$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));
$logger = LSlog :: get_logger('LSaddon_mail');
if (!$headers) $headers = array();
if (isset($MAIL_HEARDERS) && is_array($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'])) {
$from = $headers['From'];
@ -112,17 +147,28 @@ LSerror :: defineError('MAIL_01',
);
foreach(array_keys($headers) as $header) {
if(strtoupper($header) == 'BCC') {
$to['BCC'] = $headers[$header];
}
elseif(strtoupper($header) == 'CC') {
$to['CC'] = $headers[$header];
if(in_array(strtoupper($header), array('BCC', 'CC'))) {
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;
}
$to[strtoupper($header)] = $headers[$header];
}
}
if (!$encoding) $encoding = "utf8";
$mime = new Mail_mime(
array(
'eol' => $eol,
'eol' => ($eol?$eol:"\n"),
($html?'html_charset':'text_charset') => $encoding,
'head_charset' => $encoding,
)

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: LdapSaisie\n"
"Report-Msgid-Bugs-To: \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"
"Language-Team: LdapSaisie <ldapsaisie-users@lists.labs.libre-entreprise."
"org>\n"
@ -229,6 +229,38 @@ msgstr "Erreur MAIL : %{msg}"
msgid "MAIL : Error sending your email"
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
msgid "PhpLdapAdmin Support : The constant %{const} is not defined."
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"
msgstr "Voir mes informations pour le support"
#: includes/addons/LSaddons.showSupportInfo.php:65
#: includes/addons/LSaddons.showSupportInfo.php:66
msgid "%{name}: Support information"
msgstr "%{name} : Informations pour le support"
#: includes/addons/LSaddons.showSupportInfo.php:72
#: includes/addons/LSaddons.showSupportInfo.php:73
msgid "Download"
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.showTechInfo.php:117
msgid "Go back"
@ -1311,16 +1343,16 @@ msgstr ""
msgid "Your new password has been sent to %{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
msgid "Level"
msgstr "Niveau"
#: includes/class/class.LSsession.php:3118
#: includes/class/class.LSsession.php:3120
msgid "LSsession : The constant '%{const}' is not defined."
msgstr "LSsession : La constante '%{const}' n'est pas définie."
#: includes/class/class.LSsession.php:3121
#: includes/class/class.LSsession.php:3123
msgid ""
"LSsession : The addon '%{addon}' support is uncertain. Verify system "
"compatibility and the add-on configuration."
@ -1328,53 +1360,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."
#: includes/class/class.LSsession.php:3124
#: includes/class/class.LSsession.php:3126
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."
#: includes/class/class.LSsession.php:3127
#: includes/class/class.LSsession.php:3129
msgid "LSsession : Failed to load LSobject type '%{type}' : unknon type."
msgstr ""
"LSsession : Impossible de charger le type d'LSobject '%{type}' : type "
"inconnu."
#: includes/class/class.LSsession.php:3130
#: includes/class/class.LSsession.php:3132
msgid "LSsession : Failed to load 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."
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."
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})."
msgstr ""
"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."
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."
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."
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."
msgstr "LSsession : Des informations sont manquantes pour afficher cette page."
#: includes/class/class.LSsession.php:3154
#: includes/class/class.LSsession.php:3156
msgid ""
"LSsession : The function '%{function}' of the custom action "
"'%{customAction}' does not exists or is not configured."
@ -1382,24 +1414,24 @@ msgstr ""
"LSsession : La fonction '%{function}' de l'action personnalisé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."
msgstr ""
"LSsession : Erreur en récupérant les identifiants LDAP de l'utilisateur "
"depuis LSauth."
#: includes/class/class.LSsession.php:3160
#: includes/class/class.LSsession.php:3162
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."
#: includes/class/class.LSsession.php:3163
#: includes/class/class.LSsession.php:3165
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."
#: includes/class/class.LSsession.php:3166
#: includes/class/class.LSsession.php:3168
msgid ""
"LSsession : Error during creation of list of levels. Contact administrators. "
"(Code : %{code})"
@ -1407,13 +1439,13 @@ msgstr ""
"LSsession : Erreur durant la création de la liste des niveaux. Contacter les "
"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."
msgstr ""
"LSsession : La récupération de mot de passe est désactivée pour ce serveur "
"LDAP."
#: includes/class/class.LSsession.php:3172
#: includes/class/class.LSsession.php:3174
msgid ""
"LSsession : Some informations are missing to recover your password. Contact "
"administrators."
@ -1421,7 +1453,7 @@ msgstr ""
"LSsession : Des informations sont manques pour pouvoir récupérer votre mot "
"de passe. Contacter les administrateurs."
#: includes/class/class.LSsession.php:3175
#: includes/class/class.LSsession.php:3177
msgid ""
"LSsession : Error during password recovery. Contact administrators.(Step : "
"%{step})"
@ -1429,7 +1461,7 @@ msgstr ""
"LSsession : Erreur durant la récupération de votre mot de passe. Contacter "
"les administrateurs. (Etape : %{step})"
#: includes/class/class.LSsession.php:3178
#: includes/class/class.LSsession.php:3180
msgid ""
"LSsession : The function '%{func}' configured for the view '%{view}' of the "
"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 "
"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}'."
msgstr "LSsession : Impossible de charger le fichier de ressource '%{file}'."
#: includes/class/class.LSsession.php:3184
#: includes/class/class.LSsession.php:3186
msgid ""
"LSsession : The function '%{func}' configured for the view '%{view}' of the "
"LSaddon '%{addon}' doesn't exist."
@ -1449,11 +1481,11 @@ msgstr ""
"LSsession : la fonction '%{func}' configurée pour la vue '%{view}' du "
"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."
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 ""
"LSsession : the LSaddon %{addon} keep using old-style addon view URL. Please "
"upgrade it."
@ -1461,7 +1493,7 @@ msgstr ""
"LSsession : le LSaddon %{addon} utilise toujours l'ancien type d'URL de "
"vues. Merci de le mettre à jour."
#: includes/class/class.LSsession.php:3193
#: includes/class/class.LSsession.php:3195
msgid ""
"LSsession : You have been redirect from an old-style URL %{url}. Please "
"upgrade this link."
@ -1469,7 +1501,7 @@ msgstr ""
"LSsession : Vous avez été redirigé depuis une ancienne URL %{url}. Merci de "
"le mettre à jour ce lien."
#: includes/class/class.LSsession.php:3196
#: includes/class/class.LSsession.php:3198
msgid ""
"LSsession : You always seem to use %{old} in your custom code: Please "
"upgrade it and use %{new}.<pre>\n"

View file

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