From c99650a6cd6920626e5cc65a3361ec0ed92234a0 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 25 Nov 2013 15:07:40 +0100
Subject: [PATCH] Added check for ascii characters in password (if enabled in
 system config)

---
 interface/web/mail/form/mail_user.tform.php  | 10 +++++++++-
 interface/web/mail/lib/lang/de_mail_user.lng |  1 +
 interface/web/mail/lib/lang/en_mail_user.lng |  1 +
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/interface/web/mail/form/mail_user.tform.php b/interface/web/mail/form/mail_user.tform.php
index 88994d640d..b6f8dfa093 100644
--- a/interface/web/mail/form/mail_user.tform.php
+++ b/interface/web/mail/form/mail_user.tform.php
@@ -38,6 +38,8 @@
 
 */
 global $app;
+$app->uses('getconf');
+$global_config = $app->getconf->get_global_config();
 
 $form["title"]    = "Mailbox";
 $form["description"]  = "";
@@ -56,7 +58,7 @@ $form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update,
 $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
 $form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
 
-$form["tabs"]['mailuser'] = array (
+$form["tabs"]['mailuser'] = array(
 	'title'  => "Mailbox",
 	'width'  => 100,
 	'template'  => "templates/mail_user_mailbox_edit.htm",
@@ -230,6 +232,12 @@ $form["tabs"]['mailuser'] = array (
 	)
 );
 
+if($global_config['mail']['mail_password_onlyascii'] == 'y') {
+	$form['tabs']['mailuser']['fields']['password']['validators'] = array( 0 => array( 'type' => 'ISASCII',
+		'errmsg' => 'email_error_isascii')
+	);
+}
+
 $form["tabs"]['autoresponder'] = array (
 	'title'  => "Autoresponder",
 	'width'  => 100,
diff --git a/interface/web/mail/lib/lang/de_mail_user.lng b/interface/web/mail/lib/lang/de_mail_user.lng
index 23f413782c..b5bdc598b4 100644
--- a/interface/web/mail/lib/lang/de_mail_user.lng
+++ b/interface/web/mail/lib/lang/de_mail_user.lng
@@ -47,4 +47,5 @@ $wb['generate_password_txt'] = 'Passwort erzeugen';
 $wb['repeat_password_txt'] = 'Passwort wiederholen';
 $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
 $wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
+$wb['email_error_isascii'] = 'Bitte verwenden Sie keine Umlaute im Passwort. Dies kann zu Problemen mit Ihrem E-Mail-Programm führen.';
 ?>
\ No newline at end of file
diff --git a/interface/web/mail/lib/lang/en_mail_user.lng b/interface/web/mail/lib/lang/en_mail_user.lng
index f180deea83..81301db352 100644
--- a/interface/web/mail/lib/lang/en_mail_user.lng
+++ b/interface/web/mail/lib/lang/en_mail_user.lng
@@ -47,4 +47,5 @@ $wb['generate_password_txt'] = 'Generate Password';
 $wb['repeat_password_txt'] = 'Repeat Password';
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
+$wb['email_error_isascii'] = 'Please do not use special unicode characters for your password. This could lead to problems with your mail client.';
 ?>
-- 
GitLab