From 46f7b7096450939fe03c95aa81ce06ae4bfca89d Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 28 Mar 2016 06:51:43 -0400
Subject: [PATCH] Enable reply/reply-all/forward buttons also in preview frame of message/rfc822

---
 plugins/password/password.js |   84 +++++++++++++++++++++++++----------------
 1 files changed, 51 insertions(+), 33 deletions(-)

diff --git a/plugins/password/password.js b/plugins/password/password.js
index e6fa0b5..1782b90 100644
--- a/plugins/password/password.js
+++ b/plugins/password/password.js
@@ -1,36 +1,54 @@
-/* Password change interface (tab) */
+/**
+ * Password plugin script
+ *
+ * @licstart  The following is the entire license notice for the
+ * JavaScript code in this file.
+ *
+ * Copyright (c) 2012-2014, The Roundcube Dev Team
+ *
+ * The JavaScript code in this page is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3 of
+ * the License, or (at your option) any later version.
+ *
+ * @licend  The above is the entire license notice
+ * for the JavaScript code in this file.
+ */
 
-if (window.rcmail) {
-  rcmail.addEventListener('init', function(evt) {
-    // <span id="settingstabdefault" class="tablink"><roundcube:button command="preferences" type="link" label="preferences" title="editpreferences" /></span>
-    var tab = $('<span>').attr('id', 'settingstabpluginpassword').addClass('tablink');
-    
-    var button = $('<a>').attr('href', rcmail.env.comm_path+'&_action=plugin.password').html(rcmail.gettext('password')).appendTo(tab);
-    button.bind('click', function(e){ return rcmail.command('plugin.password', this) });
+window.rcmail && rcmail.addEventListener('init', function(evt) {
+    if (rcmail.env.password_disabled) {
+        $('#password-form input').prop('disabled', true);
+        // reload page after ca. 3 minutes
+        rcmail.reload(3 * 60 * 1000 - 2000);
+        return;
+    }
 
-    // add button and register commands
-    rcmail.add_element(tab, 'tabs');
-    rcmail.register_command('plugin.password', function() { rcmail.goto_url('plugin.password') }, true);
-    rcmail.register_command('plugin.password-save', function() { 
-	var input_curpasswd = rcube_find_object('_curpasswd');
-	var input_newpasswd = rcube_find_object('_newpasswd');
-        var input_confpasswd = rcube_find_object('_confpasswd');
-	
-	if (input_curpasswd && input_curpasswd.value=='') {
-	    alert(rcmail.gettext('nocurpassword', 'password'));
-	    input_curpasswd.focus();
-	} else if (input_newpasswd && input_newpasswd.value=='') {
-	    alert(rcmail.gettext('nopassword', 'password'));
-	    input_newpasswd.focus();
-	} else if (input_confpasswd && input_confpasswd.value=='') {
-	    alert(rcmail.gettext('nopassword', 'password'));
-	    input_confpasswd.focus();
-	} else if ((input_newpasswd && input_confpasswd) && (input_newpasswd.value != input_confpasswd.value)) {
-	    alert(rcmail.gettext('passwordinconsistency', 'password'));
-	    input_newpasswd.focus();
-	} else {
-	    rcmail.gui_objects.passform.submit();
-	}
+    // register command handler
+    rcmail.register_command('plugin.password-save', function() {
+        var input_curpasswd = rcube_find_object('_curpasswd'),
+            input_newpasswd = rcube_find_object('_newpasswd'),
+            input_confpasswd = rcube_find_object('_confpasswd');
+
+      if (input_curpasswd && input_curpasswd.value == '') {
+          alert(rcmail.get_label('nocurpassword', 'password'));
+          input_curpasswd.focus();
+      }
+      else if (input_newpasswd && input_newpasswd.value == '') {
+          alert(rcmail.get_label('nopassword', 'password'));
+          input_newpasswd.focus();
+      }
+      else if (input_confpasswd && input_confpasswd.value == '') {
+          alert(rcmail.get_label('nopassword', 'password'));
+          input_confpasswd.focus();
+      }
+      else if (input_newpasswd && input_confpasswd && input_newpasswd.value != input_confpasswd.value) {
+          alert(rcmail.get_label('passwordinconsistency', 'password'));
+          input_newpasswd.focus();
+      }
+      else {
+          rcmail.gui_objects.passform.submit();
+      }
     }, true);
-  })
-}
+
+    $('input:not(:hidden):first').focus();
+});

--
Gitblit v1.9.1