Aleksander Machniak
2015-07-27 252cc4c4ac0c3e2f387322b624e80a268d4810c2
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();
});