From 229a3f0989ef0371e1aa89ff06828dd2cd36e812 Mon Sep 17 00:00:00 2001
From: Pascal Dreissen <pascal@dreissen.nl>
Date: Mon, 18 Jul 2016 18:24:07 -0400
Subject: [PATCH] Prevent password managers to overwrite passwords in reseller / client and mailbox edit screen (fixes #4030)
---
interface/web/mail/lib/lang/pt_mail_user.lng | 1 +
interface/web/mail/lib/lang/ru_mail_user.lng | 1 +
interface/web/mail/lib/lang/ro_mail_user.lng | 1 +
interface/web/mail/lib/lang/hu_mail_user.lng | 1 +
interface/web/mail/lib/lang/it_mail_user.lng | 1 +
interface/web/mail/lib/lang/tr_mail_user.lng | 1 +
interface/web/client/lib/lang/en_reseller.lng | 1 +
interface/web/client/lib/lang/nl_reseller.lng | 1 +
interface/web/client/templates/client_edit_address.htm | 4 ++--
interface/web/client/lib/lang/en_client.lng | 1 +
interface/web/mail/lib/lang/sk_mail_user.lng | 1 +
interface/web/client/lib/lang/nl_client.lng | 1 +
interface/web/mail/lib/lang/fr_mail_user.lng | 1 +
interface/web/mail/lib/lang/en_mail_user.lng | 1 +
interface/web/mail/lib/lang/pl_mail_user.lng | 1 +
interface/web/mail/lib/lang/se_mail_user.lng | 1 +
interface/web/mail/lib/lang/ja_mail_user.lng | 1 +
interface/web/mail/lib/lang/nl_mail_user.lng | 5 +++--
interface/web/mail/templates/mail_user_mailbox_edit.htm | 5 +++--
interface/web/mail/lib/lang/hr_mail_user.lng | 1 +
interface/web/client/templates/reseller_edit_address.htm | 4 ++--
interface/web/mail/lib/lang/id_mail_user.lng | 1 +
22 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/interface/web/client/lib/lang/en_client.lng b/interface/web/client/lib/lang/en_client.lng
index 05cf0f4..94a57cf 100644
--- a/interface/web/client/lib/lang/en_client.lng
+++ b/interface/web/client/lib/lang/en_client.lng
@@ -19,6 +19,7 @@
$wb["contact_name_txt"] = 'Contact name';
$wb["username_txt"] = 'Username';
$wb["password_txt"] = 'Password';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb["password_strength_txt"] = 'Password strength';
$wb["language_txt"] = 'Language';
$wb["usertheme_txt"] = 'Theme';
diff --git a/interface/web/client/lib/lang/en_reseller.lng b/interface/web/client/lib/lang/en_reseller.lng
index b40219f..a9d8ad0 100644
--- a/interface/web/client/lib/lang/en_reseller.lng
+++ b/interface/web/client/lib/lang/en_reseller.lng
@@ -19,6 +19,7 @@
$wb["contact_name_txt"] = 'Contact name';
$wb["username_txt"] = 'Username';
$wb["password_txt"] = 'Password';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb["password_strength_txt"] = 'Password strength';
$wb["language_txt"] = 'Language';
$wb["usertheme_txt"] = 'Theme';
diff --git a/interface/web/client/lib/lang/nl_client.lng b/interface/web/client/lib/lang/nl_client.lng
index 7206526..b1bec19 100644
--- a/interface/web/client/lib/lang/nl_client.lng
+++ b/interface/web/client/lib/lang/nl_client.lng
@@ -18,6 +18,7 @@
$wb['contact_name_txt'] = 'Contactpersoon';
$wb['username_txt'] = 'Gebruikersnaam';
$wb['password_txt'] = 'Wachtwoord';
+$wb['password_click_to_set_txt'] = 'Klik om in te stellen';
$wb['password_strength_txt'] = 'Wachtwoord sterkte';
$wb['language_txt'] = 'Taal';
$wb['usertheme_txt'] = 'Thema';
diff --git a/interface/web/client/lib/lang/nl_reseller.lng b/interface/web/client/lib/lang/nl_reseller.lng
index 63d76bf..c53d3ec 100644
--- a/interface/web/client/lib/lang/nl_reseller.lng
+++ b/interface/web/client/lib/lang/nl_reseller.lng
@@ -17,6 +17,7 @@
$wb['contact_name_txt'] = 'Contactpersoon';
$wb['username_txt'] = 'Gebruikersnaam';
$wb['password_txt'] = 'Wachtwoord';
+$wb['password_click_to_set_txt'] = 'Klik om in te stellen';
$wb['password_strength_txt'] = 'Wachtwoord sterkte';
$wb['language_txt'] = 'Taal';
$wb['usertheme_txt'] = 'Thema';
diff --git a/interface/web/client/templates/client_edit_address.htm b/interface/web/client/templates/client_edit_address.htm
index e119e59..b033c63 100644
--- a/interface/web/client/templates/client_edit_address.htm
+++ b/interface/web/client/templates/client_edit_address.htm
@@ -31,7 +31,7 @@
<label for="password" class="col-sm-3 control-label">{tmpl_var name='password_txt'}</label>
<div class="col-sm-9">
<div class="input-group">
- <input type="password" name="password" id="password" value="{tmpl_var name='password'}" class="form-control" autocomplete="off" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />
+ <input type="password" name="password" id="password" value="{tmpl_var name='password'}" data-toggle="tooltip" data-placement="left" title="{tmpl_var name='password_click_to_set_txt'}" readonly onfocus="this.removeAttribute('readonly');" class="form-control" autocomplete="off" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />
<span class="input-group-btn">
<button class="btn btn-default" type="button" onclick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</button>
</span>
@@ -47,7 +47,7 @@
</div>
<div class="form-group">
<label for="repeat_password" class="col-sm-3 control-label">{tmpl_var name='repeat_password_txt'}</label>
- <div class="col-sm-9"><input type="password" name="repeat_password" id="repeat_password" value="" class="form-control" autocomplete="off" onkeyup="checkPassMatch('password','repeat_password');" /></div></div>
+ <div class="col-sm-9"><input type="password" name="repeat_password" id="repeat_password" value="" data-toggle="tooltip" data-placement="left" title="{tmpl_var name='password_click_to_set_txt'}" readonly onfocus="this.removeAttribute('readonly');" class="form-control" autocomplete="off" onkeyup="checkPassMatch('password','repeat_password');" /></div></div>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-9">
<div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
diff --git a/interface/web/client/templates/reseller_edit_address.htm b/interface/web/client/templates/reseller_edit_address.htm
index 7b3adf4..e5b0a55 100644
--- a/interface/web/client/templates/reseller_edit_address.htm
+++ b/interface/web/client/templates/reseller_edit_address.htm
@@ -31,7 +31,7 @@
<label for="password" class="col-sm-3 control-label">{tmpl_var name='password_txt'}</label>
<div class="col-sm-9">
<div class="input-group">
- <input type="password" name="password" id="password" value="{tmpl_var name='password'}" class="form-control" autocomplete="off" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />
+ <input type="password" name="password" id="password" value="{tmpl_var name='password'}" data-toggle="tooltip" data-placement="left" title="{tmpl_var name='password_click_to_set_txt'}" readonly onfocus="this.removeAttribute('readonly');" class="form-control" autocomplete="off" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />
<span class="input-group-btn">
<button class="btn btn-default" type="button" onclick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</button>
</span>
@@ -47,7 +47,7 @@
</div>
<div class="form-group">
<label for="repeat_password" class="col-sm-3 control-label">{tmpl_var name='repeat_password_txt'}</label>
- <div class="col-sm-9"><input type="password" name="repeat_password" id="repeat_password" value="" class="form-control" autocomplete="off" onkeyup="checkPassMatch('password','repeat_password');" /></div></div>
+ <div class="col-sm-9"><input type="password" name="repeat_password" id="repeat_password" value="" data-toggle="tooltip" data-placement="left" title="{tmpl_var name='password_click_to_set_txt'}" readonly onfocus="this.removeAttribute('readonly');" class="form-control" autocomplete="off" onkeyup="checkPassMatch('password','repeat_password');" /></div></div>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-9">
<div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
diff --git a/interface/web/mail/lib/lang/en_mail_user.lng b/interface/web/mail/lib/lang/en_mail_user.lng
index ba4fdd4..7768662 100644
--- a/interface/web/mail/lib/lang/en_mail_user.lng
+++ b/interface/web/mail/lib/lang/en_mail_user.lng
@@ -21,6 +21,7 @@
$wb["quota_txt"] = 'Quota (0 for unlimited)';
$wb["server_id_txt"] = 'Aerver_id';
$wb["password_txt"] = 'Password';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb["maildir_txt"] = 'Maildir';
$wb["postfix_txt"] = 'Enable receiving';
$wb['greylisting_txt'] = 'Enable greylisting';
diff --git a/interface/web/mail/lib/lang/fr_mail_user.lng b/interface/web/mail/lib/lang/fr_mail_user.lng
index 775b425..001282c 100644
--- a/interface/web/mail/lib/lang/fr_mail_user.lng
+++ b/interface/web/mail/lib/lang/fr_mail_user.lng
@@ -61,4 +61,5 @@
$wb['weekly_backup_txt'] = 'Weekly';
$wb['monthly_backup_txt'] = 'Monthly';
$wb['sender_cc_note_txt'] = '(Separate multiple email addresses with commas)';
+$wb['password_click_to_set_txt'] = 'Click to set';
?>
diff --git a/interface/web/mail/lib/lang/hr_mail_user.lng b/interface/web/mail/lib/lang/hr_mail_user.lng
index b8d541f..50ebef7 100644
--- a/interface/web/mail/lib/lang/hr_mail_user.lng
+++ b/interface/web/mail/lib/lang/hr_mail_user.lng
@@ -17,6 +17,7 @@
$wb['quota_txt'] = 'Kvota';
$wb['server_id_txt'] = 'Aerver_id';
$wb['password_txt'] = 'Šifra';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb['maildir_txt'] = 'Maildir';
$wb['postfix_txt'] = 'Enable Receiving';
$wb['greylisting_txt'] = 'Enable greylisting';
diff --git a/interface/web/mail/lib/lang/hu_mail_user.lng b/interface/web/mail/lib/lang/hu_mail_user.lng
index 97b0779..a11f7d2 100644
--- a/interface/web/mail/lib/lang/hu_mail_user.lng
+++ b/interface/web/mail/lib/lang/hu_mail_user.lng
@@ -13,6 +13,7 @@
$wb['quota_txt'] = 'Korlát MB-ban kifejezve';
$wb['server_id_txt'] = 'szerver_azonosító';
$wb['password_txt'] = 'Jelszó';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb['maildir_txt'] = 'levelezőláda';
$wb['postfix_txt'] = 'Bejövő engedélyezés';
$wb['greylisting_txt'] = 'Enable greylisting';
diff --git a/interface/web/mail/lib/lang/id_mail_user.lng b/interface/web/mail/lib/lang/id_mail_user.lng
index 22b3b81..9ae9474 100644
--- a/interface/web/mail/lib/lang/id_mail_user.lng
+++ b/interface/web/mail/lib/lang/id_mail_user.lng
@@ -18,6 +18,7 @@
$wb['quota_txt'] = 'Kuota';
$wb['server_id_txt'] = 'id_server';
$wb['password_txt'] = 'Kata Sandi';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb['maildir_txt'] = 'Maildir';
$wb['postfix_txt'] = 'Dapat Menerima';
$wb['greylisting_txt'] = 'Enable greylisting';
diff --git a/interface/web/mail/lib/lang/it_mail_user.lng b/interface/web/mail/lib/lang/it_mail_user.lng
index 76f3018..e548a6b 100644
--- a/interface/web/mail/lib/lang/it_mail_user.lng
+++ b/interface/web/mail/lib/lang/it_mail_user.lng
@@ -14,6 +14,7 @@
$wb['quota_txt'] = 'quota in MB';
$wb['server_id_txt'] = 'server_id';
$wb['password_txt'] = 'password';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb['maildir_txt'] = 'maildir';
$wb['postfix_txt'] = 'Abilita ricezione';
$wb['access_txt'] = 'Abilita indirizzo';
diff --git a/interface/web/mail/lib/lang/ja_mail_user.lng b/interface/web/mail/lib/lang/ja_mail_user.lng
index 7e044b9..6b3d2ea 100644
--- a/interface/web/mail/lib/lang/ja_mail_user.lng
+++ b/interface/web/mail/lib/lang/ja_mail_user.lng
@@ -14,6 +14,7 @@
$wb['quota_txt'] = 'メールボックスの容量';
$wb['server_id_txt'] = 'Aerver_id';
$wb['password_txt'] = 'パスワード';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb['maildir_txt'] = 'メールディレクトリ';
$wb['postfix_txt'] = 'メールを受信する';
$wb['greylisting_txt'] = 'Enable greylisting';
diff --git a/interface/web/mail/lib/lang/nl_mail_user.lng b/interface/web/mail/lib/lang/nl_mail_user.lng
index f577efd..acc2da9 100644
--- a/interface/web/mail/lib/lang/nl_mail_user.lng
+++ b/interface/web/mail/lib/lang/nl_mail_user.lng
@@ -18,6 +18,7 @@
$wb['quota_txt'] = 'Quota';
$wb['server_id_txt'] = 'Server_id';
$wb['password_txt'] = 'Wachtwoord';
+$wb['password_click_to_set_txt'] = 'Klik om in te stellen';
$wb['maildir_txt'] = 'Maildir';
$wb['postfix_txt'] = 'Ontvangen inschakelen';
$wb['greylisting_txt'] = 'Greylisting inschakelen';
@@ -35,7 +36,7 @@
$wb['name_optional_txt'] = '(Optioneel)';
$wb['autoresponder_active'] = 'Inschakelen autoresponder';
$wb['cc_txt'] = 'Stuur kopie naar';
-$wb['cc_error_isemail'] = 'Het "Stuur kopie naar" veld bevat geen geldig e-mail adres';
+$wb['cc_error_isemail'] = 'Het \"Stuur kopie naar\" veld bevat geen geldig e-mail adres';
$wb['domain_txt'] = 'Domain';
$wb['now_txt'] = 'Now';
$wb['login_error_unique'] = 'Login is already taken.';
@@ -59,6 +60,6 @@
$wb['disablesmtp_txt'] = 'Uitschakelen SMTP (versturen)';
$wb['autoresponder_start_date_is_required'] = 'Start date must be set when Autoresponder is enabled.';
$wb['sender_cc_txt'] = 'Stuur uitgaande kopie aan';
-$wb['sender_cc_error_isemail'] = 'Het "Stuur uitgaande kopie aan" veld bevat geen geldig e-mail adres';
+$wb['sender_cc_error_isemail'] = 'Het \"Stuur uitgaande kopie aan\" veld bevat geen geldig e-mail adres';
$wb['sender_cc_note_txt'] = '(Meerdere e-mail adressen scheiden met een komma)';
?>
diff --git a/interface/web/mail/lib/lang/pl_mail_user.lng b/interface/web/mail/lib/lang/pl_mail_user.lng
index 58e5aba..6997486 100644
--- a/interface/web/mail/lib/lang/pl_mail_user.lng
+++ b/interface/web/mail/lib/lang/pl_mail_user.lng
@@ -14,6 +14,7 @@
$wb['quota_txt'] = 'Limit';
$wb['server_id_txt'] = 'Serwer_id';
$wb['password_txt'] = 'Hasło';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb['maildir_txt'] = 'Maildir';
$wb['postfix_txt'] = 'Zezwól na odbiór poczty';
$wb['greylisting_txt'] = 'Enable greylisting';
diff --git a/interface/web/mail/lib/lang/pt_mail_user.lng b/interface/web/mail/lib/lang/pt_mail_user.lng
index 4e7934a..f638554 100644
--- a/interface/web/mail/lib/lang/pt_mail_user.lng
+++ b/interface/web/mail/lib/lang/pt_mail_user.lng
@@ -14,6 +14,7 @@
$wb['quota_txt'] = 'Cota';
$wb['server_id_txt'] = 'Aerver_id';
$wb['password_txt'] = 'Senha';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb['maildir_txt'] = 'Maildir';
$wb['postfix_txt'] = 'Permitir Recepção';
$wb['greylisting_txt'] = 'Enable greylisting';
diff --git a/interface/web/mail/lib/lang/ro_mail_user.lng b/interface/web/mail/lib/lang/ro_mail_user.lng
index 46938cd..af61d06 100644
--- a/interface/web/mail/lib/lang/ro_mail_user.lng
+++ b/interface/web/mail/lib/lang/ro_mail_user.lng
@@ -14,6 +14,7 @@
$wb['quota_txt'] = 'Quota';
$wb['server_id_txt'] = 'Server_id';
$wb['password_txt'] = 'Password';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb['maildir_txt'] = 'Maildir';
$wb['postfix_txt'] = 'Enable Receiving';
$wb['greylisting_txt'] = 'Enable greylisting';
diff --git a/interface/web/mail/lib/lang/ru_mail_user.lng b/interface/web/mail/lib/lang/ru_mail_user.lng
index 5ed8b07..9214dc8 100644
--- a/interface/web/mail/lib/lang/ru_mail_user.lng
+++ b/interface/web/mail/lib/lang/ru_mail_user.lng
@@ -13,6 +13,7 @@
$wb['quota_txt'] = 'квота in MB';
$wb['server_id_txt'] = 'server_id';
$wb['password_txt'] = 'пароль';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb['maildir_txt'] = 'maildir';
$wb['postfix_txt'] = 'Разрешить получение';
$wb['greylisting_txt'] = 'Enable greylisting';
diff --git a/interface/web/mail/lib/lang/se_mail_user.lng b/interface/web/mail/lib/lang/se_mail_user.lng
index 7dcdca3..9ded10e 100644
--- a/interface/web/mail/lib/lang/se_mail_user.lng
+++ b/interface/web/mail/lib/lang/se_mail_user.lng
@@ -14,6 +14,7 @@
$wb['quota_txt'] = 'kvot i MB';
$wb['server_id_txt'] = 'server-id';
$wb['password_txt'] = 'lösenord';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb['maildir_txt'] = 'maildir';
$wb['postfix_txt'] = 'Aktivera mottagning';
$wb['greylisting_txt'] = 'Enable greylisting';
diff --git a/interface/web/mail/lib/lang/sk_mail_user.lng b/interface/web/mail/lib/lang/sk_mail_user.lng
index 115cab9..b8d6114 100644
--- a/interface/web/mail/lib/lang/sk_mail_user.lng
+++ b/interface/web/mail/lib/lang/sk_mail_user.lng
@@ -14,6 +14,7 @@
$wb['quota_txt'] = 'Kvóta';
$wb['server_id_txt'] = 'Server_id';
$wb['password_txt'] = 'Heslo';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb['maildir_txt'] = 'Mailová záložka';
$wb['postfix_txt'] = 'Povoliť príjem';
$wb['greylisting_txt'] = 'Enable greylisting';
diff --git a/interface/web/mail/lib/lang/tr_mail_user.lng b/interface/web/mail/lib/lang/tr_mail_user.lng
index ebdcce2..71241ec 100644
--- a/interface/web/mail/lib/lang/tr_mail_user.lng
+++ b/interface/web/mail/lib/lang/tr_mail_user.lng
@@ -15,6 +15,7 @@
$wb['quota_txt'] = 'Kota (sınırsız için 0 yazın)';
$wb['server_id_txt'] = 'Sunucu kodu';
$wb['password_txt'] = 'Parola';
+$wb['password_click_to_set_txt'] = 'Click to set';
$wb['maildir_txt'] = 'Posta Klasörü';
$wb['postfix_txt'] = 'Alım Etkin';
$wb['greylisting_txt'] = 'Enable greylisting';
diff --git a/interface/web/mail/templates/mail_user_mailbox_edit.htm b/interface/web/mail/templates/mail_user_mailbox_edit.htm
index 4cb4b51..754c6b7 100644
--- a/interface/web/mail/templates/mail_user_mailbox_edit.htm
+++ b/interface/web/mail/templates/mail_user_mailbox_edit.htm
@@ -29,7 +29,7 @@
<label for="password" class="col-sm-3 control-label">{tmpl_var name='password_txt'}</label>
<div class="col-sm-9">
<div class="input-group">
- <input type="password" name="password" id="password" value="{tmpl_var name='password'}" class="form-control" autocomplete="off" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />
+ <input type="password" name="password" id="password" value="{tmpl_var name='password'}" data-toggle="tooltip" data-placement="left" title="{tmpl_var name='password_click_to_set_txt'}" readonly onfocus="this.removeAttribute('readonly');" class="form-control" autocomplete="off" onkeyup="pass_check(this.value);checkPassMatch('password','repeat_password');" />
<span class="input-group-btn">
<button class="btn btn-default" type="button" onclick="generatePassword('password','repeat_password');">{tmpl_var name='generate_password_txt'}</button>
</span>
@@ -45,7 +45,8 @@
</div>
<div class="form-group">
<label for="repeat_password" class="col-sm-3 control-label">{tmpl_var name='repeat_password_txt'}</label>
- <div class="col-sm-9"><input type="password" name="repeat_password" id="repeat_password" value="" class="form-control" autocomplete="off" onkeyup="checkPassMatch('password','repeat_password');" /></div></div>
+ <div class="col-sm-9">
+ <input type="password" name="repeat_password" id="repeat_password" value="" data-toggle="tooltip" data-placement="left" title="{tmpl_var name='password_click_to_set_txt'}" readonly onfocus="this.removeAttribute('readonly');" class="form-control" autocomplete="off" onkeyup="checkPassMatch('password','repeat_password');" /></div></div>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-9">
<div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
--
Gitblit v1.9.1