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
@@ -246,7 +246,7 @@
        var rowid = this.id.substr(6);
        // remove all attached events
        $(this).unbind();
        $(this).off();
        // update row id
        if (rowid > id) {
@@ -417,7 +417,7 @@
rcube_webmail.prototype.managesieve_fixdragend = function(elem)
{
  var p = this;
  $(elem).bind('mouseup' + ((bw.iphone || bw.ipad) ? ' touchend' : ''), function(e) {
  $(elem).on('mouseup' + ((bw.iphone || bw.ipad) ? ' touchend' : ''), function(e) {
    if (p.drag_active)
      p.filters_list.drag_mouse_up(e);
  });
@@ -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)
@@ -837,10 +847,11 @@
  var n, framed = parent.rcmail,
    tip = framed ? parent.rcmail.env.ms_tip_layer : rcmail.env.ms_tip_layer;
  for (var n in tips) {
  for (n in tips) {
    $('#'+tips[n][0])
      .data('tip', tips[n][1])
      .bind('mouseenter', function(e) {
      .mouseleave(function(e) { tip.hide(); })
      .mouseenter(function(e) {
        var elem = $(this),
          offset = elem.offset(),
          left = offset.left,
@@ -857,8 +868,7 @@
        top -= tip.height();
        tip.css({left: left, top: top, minWidth: (minwidth-2) + 'px'}).show();
      })
    .bind('mouseleave', function(e) { tip.hide(); });
      });
  }
};
@@ -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,