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 @@