diff --git a/facteur_fonctions.php b/facteur_fonctions.php
index 9fb6b1d..54a2d25 100755
--- a/facteur_fonctions.php
+++ b/facteur_fonctions.php
@@ -8,6 +8,19 @@
if (!defined("_ECRIRE_INC_VERSION")) return;
+function facteur_affiche_password_masque($pass){
+ $l = strlen($pass);
+ if ($l<=8){
+ return str_pad('',$l,'*');
+ }
+ $e = intval(ceil($l/10));
+ $mid = str_pad('',$l-2*$e,'*');
+ if (strlen($mid)>8){
+ $mid = '***...***';
+ }
+ return substr($pass,0,$e) . $mid . substr($pass,-$e);
+}
+
/**
* Transformer un mail texte ou HTML simplifie en mail HTML complet avec le wrapper emails/texte.html
* Si le mail est un mail texte :
@@ -291,7 +304,7 @@ function facteur_nl2br_si_pas_autobr($texte){
/**
* Transformer un mail HTML en mail Texte proprement :
- * - les tableaux de mise en page sont utilisés pour structurer le mail texte
+ * - les tableaux de mise en page sont utilis�s pour structurer le mail texte
* - le reste du HTML est markdownifie car c'est un format texte lisible et conventionnel
*
* @param string $html
diff --git a/formulaires/configurer_facteur.html b/formulaires/configurer_facteur.html
index 5618a4e..caea099 100644
--- a/formulaires/configurer_facteur.html
+++ b/formulaires/configurer_facteur.html
@@ -84,6 +84,7 @@
[
(#ENV**{erreurs}|table_valeur{facteur_smtp_password})]
+ [(#ENV**{_facteur_smtp_password}|facteur_affiche_password_masque)]
diff --git a/formulaires/configurer_facteur.php b/formulaires/configurer_facteur.php
index f616fb6..1802bb8 100644
--- a/formulaires/configurer_facteur.php
+++ b/formulaires/configurer_facteur.php
@@ -19,7 +19,8 @@ function formulaires_configurer_facteur_charger_dist(){
'facteur_smtp_port' => lire_config('facteur_smtp_port', 25),
'facteur_smtp_auth' => lire_config('facteur_smtp_auth'),
'facteur_smtp_username' => lire_config('facteur_smtp_username'),
- 'facteur_smtp_password' => lire_config('facteur_smtp_password'),
+ 'facteur_smtp_password' => '',
+ '_facteur_smtp_password' => lire_config('facteur_smtp_password'),
'facteur_smtp_secure' => lire_config('facteur_smtp_secure'),
'facteur_smtp_sender' => lire_config('facteur_smtp_sender'),
'facteur_filtre_images' => lire_config('facteur_filtre_images'),
@@ -70,7 +71,7 @@ function formulaires_configurer_facteur_verifier_dist(){
if (_request('facteur_smtp_auth')=='oui'){
if (!_request('facteur_smtp_username'))
$erreurs['facteur_smtp_username'] = _T('info_obligatoire');
- if (!_request('facteur_smtp_password'))
+ if (!_request('facteur_smtp_password') AND !lire_config('facteur_smtp_password'))
$erreurs['facteur_smtp_password'] = _T('info_obligatoire');
}
}
@@ -126,8 +127,9 @@ function formulaires_configurer_facteur_traiter_dist(){
$facteur_smtp_username = _request('facteur_smtp_username');
ecrire_meta('facteur_smtp_username', $facteur_smtp_username);
- $facteur_smtp_password = _request('facteur_smtp_password');
- ecrire_meta('facteur_smtp_password', $facteur_smtp_password);
+ if ($facteur_smtp_password = _request('facteur_smtp_password')) {
+ ecrire_meta('facteur_smtp_password', $facteur_smtp_password);
+ }
if (intval(phpversion()) == 5) {
$facteur_smtp_secure = _request('facteur_smtp_secure');
diff --git a/paquet.xml b/paquet.xml
index 7357b9b..5f3661a 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -1,7 +1,7 @@