From 252cc4c4ac0c3e2f387322b624e80a268d4810c2 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Mon, 27 Jul 2015 04:47:34 -0400 Subject: [PATCH] Password: Allow temporarily disabling the plugin functionality with a notice --- plugins/password/password.js | 61 +++++++++++++++++++----------- 1 files changed, 39 insertions(+), 22 deletions(-) diff --git a/plugins/password/password.js b/plugins/password/password.js index a060fc3..75448ec 100644 --- a/plugins/password/password.js +++ b/plugins/password/password.js @@ -1,37 +1,54 @@ -/* +/** * Password plugin script - * @version @package_version@ + * + * @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 password'); - var button = $('<a>').attr('href', rcmail.env.comm_path+'&_action=plugin.password') - .html(rcmail.gettext('password')).appendTo(tab); +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-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=='') { + // 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.gettext('nocurpassword', 'password')); input_curpasswd.focus(); - } else if (input_newpasswd && input_newpasswd.value=='') { + } + else if (input_newpasswd && input_newpasswd.value == '') { alert(rcmail.gettext('nopassword', 'password')); input_newpasswd.focus(); - } else if (input_confpasswd && input_confpasswd.value=='') { + } + 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) { + } + else if (input_newpasswd && input_confpasswd && input_newpasswd.value != input_confpasswd.value) { alert(rcmail.gettext('passwordinconsistency', 'password')); input_newpasswd.focus(); - } else { + } + else { rcmail.gui_objects.passform.submit(); } }, true); - }) -} + + $('input:not(:hidden):first').focus(); +}); -- Gitblit v1.9.1