Aleksander Machniak
2016-05-04 de14ec6aa0dd41f6d414da93bf83b52783e48632
plugins/managesieve/managesieve.js
@@ -181,7 +181,7 @@
  var id = this.filtersets_list.get_single_selection(),
    script = this.env.filtersets[id];
  location.href = this.env.comm_path+'&_action=plugin.managesieve-action&_act=setget&_set='+urlencode(script);
  this.goto_url('plugin.managesieve-action', {_act: 'setget', _set: script}, false, true);
};
// Set activate/deactivate request
@@ -599,6 +599,7 @@
{
  var obj = document.getElementById('header' + id),
    size = document.getElementById('rule_size' + id),
    msg = document.getElementById('rule_message' + id),
    op = document.getElementById('rule_op' + id),
    header = document.getElementById('custom_header' + id + '_list'),
    mod = document.getElementById('rule_mod' + id),
@@ -610,7 +611,11 @@
  if (h == 'size') {
    size.style.display = 'inline';
    $.each([op, header, mod, trans, comp], function() { this.style.display = 'none'; });
    $.each([op, header, mod, trans, comp, msg], function() { this.style.display = 'none'; });
  }
  else if (h == 'message') {
    msg.style.display = 'inline';
    $.each([op, header, mod, trans, comp, size], function() { this.style.display = 'none'; });
  }
  else {
    header.style.display = h != '...' ? 'none' : 'inline-block';
@@ -619,6 +624,7 @@
    comp.style.display = '';
    mod.style.display = h == 'body' || h == 'currentdate' || h == 'date' ? 'none' : 'block';
    trans.style.display = h == 'body' ? 'block' : 'none';
    msg.style.display = h == 'message' ? 'block' : 'none';
  }
  if (datepart)
@@ -638,7 +644,7 @@
  if (!header)
    header = document.getElementById('header' + id).value;
  target.style.display = obj.value == 'exists' || obj.value == 'notexists' || header == 'size' ? 'none' : 'inline-block';
  target.style.display = obj.value.match(/^(exists|notexists)$/) || header.match(/^(size|message)$/) ? 'none' : 'inline-block';
};
function rule_trans_select(id)
@@ -653,6 +659,7 @@
{
  var obj = document.getElementById('rule_mod_op' + id),
    target = document.getElementById('rule_mod_type' + id),
    duplicate = document.getElementById('rule_duplicate_div' + id),
    index = document.getElementById('rule_index_div' + id);
  if (!header)
@@ -661,7 +668,10 @@
  target.style.display = obj.value != 'address' && obj.value != 'envelope' ? 'none' : 'inline';
  if (index)
    index.style.display = header != 'body' && header != 'currentdate' && header != 'size' && obj.value != 'envelope'  ? '' : 'none';
    index.style.display = !header.match(/^(body|currentdate|size|message)$/) && obj.value != 'envelope'  ? '' : 'none';
  if (duplicate)
    duplicate.style.display = header == 'message' ? '' : 'none';
};
function rule_join_radio(value)
@@ -954,6 +964,13 @@
    .click(function() {  // show drop-down upon clicks
      $(this).autocomplete('search', $(this).val() || ' ');
    })
  // display advanced controls when contain errors
  $('input.error').each(function() {
    if (String(this.id).match(/([0-9]+)$/)) {
      $('#ruleadv' + RegExp.$1 + '.show').click();
    }
  });
}
@@ -983,7 +1000,7 @@
  }
  // build dialog window content
  html = '<fieldset><legend>'+this.gettext('managesieve.usedata')+'</legend><ul>';
  html = '<fieldset><legend>'+this.get_label('managesieve.usedata')+'</legend><ul>';
  for (i in this.env.sieve_headers)
    html += '<li><input type="checkbox" name="headers[]" id="sievehdr'+i+'" value="'+i+'" checked="checked" />'
      +'<label for="sievehdr'+i+'">'+this.env.sieve_headers[i][0]+':</label> '+this.env.sieve_headers[i][1]+'</li>';
@@ -992,11 +1009,11 @@
  dialog.html(html);
  // [Next Step] button action
  buttons[this.gettext('managesieve.nextstep')] = function () {
  buttons[this.get_label('managesieve.nextstep')] = function () {
    // check if there's at least one checkbox checked
    var hdrs = $('input[name="headers[]"]:checked', dialog);
    if (!hdrs.length) {
      alert(rcmail.gettext('managesieve.nodata'));
      alert(rcmail.get_label('managesieve.nodata'));
      return;
    }
@@ -1016,7 +1033,7 @@
    // Change [Next Step] button with [Save] button
    buttons = {};
    buttons[rcmail.gettext('save')] = function() {
    buttons[rcmail.get_label('save')] = function() {
      var win = $('iframe', dialog).get(0).contentWindow;
      win.rcmail.managesieve_save();
    };
@@ -1028,7 +1045,7 @@
    modal: false,
    resizable: true,
    closeOnEscape: !bw.ie7,  // disable for performance reasons
    title: this.gettext('managesieve.newfilter'),
    title: this.get_label('managesieve.newfilter'),
    close: function() { rcmail.managesieve_dialog_close(); },
    buttons: buttons,
    minWidth: 600,