From 96e24fab880754858dfe9d3864d400102209918f Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Mon, 27 Jun 2011 05:30:01 -0400 Subject: [PATCH] - Fix parsing URLs containing commas (#1487970) --- skins/default/functions.js | 98 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 76 insertions(+), 22 deletions(-) diff --git a/skins/default/functions.js b/skins/default/functions.js index 65ac39d..603c703 100644 --- a/skins/default/functions.js +++ b/skins/default/functions.js @@ -82,6 +82,7 @@ this.popups = { markmenu: {id:'markmessagemenu'}, replyallmenu: {id:'replyallmenu'}, + forwardmenu: {id:'forwardmenu'}, searchmenu: {id:'searchmenu', editable:1}, messagemenu: {id:'messagemenu'}, listmenu: {id:'listmenu', editable:1}, @@ -147,6 +148,13 @@ this.popups.dragmessagemenu.obj[show?'show':'hide'](); }, +forwardmenu: function(show) +{ + $("input[name='forwardtype'][value="+(rcmail.env.forward_attachment ? 1 : 0)+"]", this.popups.forwardmenu.obj) + .prop('checked', true); + this.show_popupmenu('forwardmenu', show); +}, + uploadmenu: function(show) { if (typeof show == 'object') // called as event handler @@ -175,12 +183,28 @@ if (show && ref) { var pos = $(ref).offset(); obj.css({ left:pos.left, top:(pos.top + ref.offsetHeight + 2)}) - .find(':checked').attr('checked', false); + .find(':checked').prop('checked', false); if (rcmail.env.search_mods) { - var search_mods = rcmail.env.search_mods[rcmail.env.mailbox] ? rcmail.env.search_mods[rcmail.env.mailbox] : rcmail.env.search_mods['*']; - for (var n in search_mods) - $('#s_mod_' + n).attr('checked', true); + var n, mbox = rcmail.env.mailbox, mods = rcmail.env.search_mods; + + if (rcmail.env.task != 'addressbook') { + mods = mods[mbox] ? mods[mbox] : mods['*']; + + for (n in mods) + $('#s_mod_' + n).prop('checked', true); + } + else { + if (mods['*']) + $('input:checkbox[name="s_mods[]"]').map(function() { + this.checked = true; + this.disabled = this.value != '*'; + }); + else { + for (n in mods) + $('#s_mod_' + n).prop('checked', true); + } + } } } obj[show?'show':'hide'](); @@ -188,16 +212,46 @@ set_searchmod: function(elem) { - if (!rcmail.env.search_mods) - rcmail.env.search_mods = {}; + var task = rcmail.env.task, + mods = rcmail.env.search_mods, + mbox = rcmail.env.mailbox; - if (!rcmail.env.search_mods[rcmail.env.mailbox]) - rcmail.env.search_mods[rcmail.env.mailbox] = rcube_clone_object(rcmail.env.search_mods['*']); + if (!mods) + mods = {}; - if (!elem.checked) - delete(rcmail.env.search_mods[rcmail.env.mailbox][elem.value]); - else - rcmail.env.search_mods[rcmail.env.mailbox][elem.value] = elem.value; + if (task == 'mail') { + if (!mods[mbox]) + mods[mbox] = rcube_clone_object(mods['*']); + if (!elem.checked) + delete(mods[mbox][elem.value]); + else + mods[mbox][elem.value] = 1; + } + else { //addressbook + if (!elem.checked) + delete(mods[elem.value]); + else + mods[elem.value] = 1; + + // mark all fields + if (elem.value == '*') { + $('input:checkbox[name="s_mods[]"]').map(function() { + if (this == elem) + return; + + if (elem.checked) { + mods[this.value] = 1; + this.checked = true; + this.disabled = true; + } + else { + this.disabled = false; + } + }); + } + } + + rcmail.env.search_mods = mods; }, listmenu: function(show) @@ -218,21 +272,20 @@ obj.css({ left:pos.left, top:(pos.top + ref.offsetHeight + 2)}); // set form values - $('input[name="sort_col"][value="'+rcmail.env.sort_col+'"]').attr('checked', 1); - $('input[name="sort_ord"][value="DESC"]').attr('checked', rcmail.env.sort_order=='DESC' ? 1 : 0); - $('input[name="sort_ord"][value="ASC"]').attr('checked', rcmail.env.sort_order=='DESC' ? 0 : 1); - $('input[name="view"][value="thread"]').attr('checked', rcmail.env.threading ? 1 : 0); - $('input[name="view"][value="list"]').attr('checked', rcmail.env.threading ? 0 : 1); + $('input[name="sort_col"][value="'+rcmail.env.sort_col+'"]').prop('checked', true); + $('input[name="sort_ord"][value="DESC"]').prop('checked', rcmail.env.sort_order == 'DESC'); + $('input[name="sort_ord"][value="ASC"]').prop('checked', rcmail.env.sort_order != 'DESC'); + $('input[name="view"][value="thread"]').prop('checked', rcmail.env.threading ? true : false); + $('input[name="view"][value="list"]').prop('checked', rcmail.env.threading ? false : true); // list columns - var cols = $('input[name="list_col[]"]'); + var found, cols = $('input[name="list_col[]"]'); for (var i=0; i<cols.length; i++) { - var found = 0; if (cols[i].value != 'from') found = jQuery.inArray(cols[i].value, rcmail.env.coltypes) != -1; else found = (jQuery.inArray('from', rcmail.env.coltypes) != -1 - || jQuery.inArray('to', rcmail.env.coltypes) != -1); - $(cols[i]).attr('checked',found ? 1 : 0); + || jQuery.inArray('to', rcmail.env.coltypes) != -1); + $(cols[i]).prop('checked', found); } } @@ -347,7 +400,8 @@ rcmail.env.contentframe = null; rcmail.show_contentframe(false); } - rcmail.http_post('save-pref', '_name=preview_pane&_value='+(elem.checked?1:0)); + + rcmail.command('save-pref', {name: 'preview_pane', value: (elem.checked?1:0)}); }, /* Message composing */ -- Gitblit v1.9.1