summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--index.php4
-rw-r--r--program/js/app.js21
-rw-r--r--program/steps/mail/func.inc4
-rw-r--r--skins/default/mail.css4
-rw-r--r--skins/larry/iehacks.css10
-rw-r--r--skins/larry/mail.css41
-rw-r--r--skins/larry/svggradients.css8
-rw-r--r--skins/larry/ui.js7
8 files changed, 29 insertions, 70 deletions
diff --git a/index.php b/index.php
index 41f62bb8a..3f4aebb94 100644
--- a/index.php
+++ b/index.php
@@ -129,6 +129,10 @@ if ($RCMAIL->task == 'login' && $RCMAIL->action == 'login') {
// prevent endless looping on login page
if ($query['_task'] == 'login')
unset($query['_task']);
+
+ // prevent redirect to compose with specified ID (#1488226)
+ if ($query['_action'] == 'compose' && !empty($query['_id']))
+ $query = array();
}
// allow plugins to control the redirect url after login success
diff --git a/program/js/app.js b/program/js/app.js
index d7bdfbf63..4fa8eff31 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -224,7 +224,7 @@ function rcube_webmail()
this.env.message_commands = ['show', 'reply', 'reply-all', 'reply-list', 'forward',
'moveto', 'copy', 'delete', 'open', 'mark', 'edit', 'viewsource', 'download',
- 'print', 'load-attachment', 'load-headers', 'forward-attachment'];
+ 'print', 'load-attachment', 'show-headers', 'hide-headers', 'forward-attachment'];
if (this.env.action == 'show' || this.env.action == 'preview') {
this.enable_command(this.env.message_commands, this.env.uid);
@@ -579,10 +579,6 @@ function rcube_webmail()
this.list_contacts(props);
break;
- case 'load-headers':
- this.load_headers(obj);
- break;
-
case 'sort':
var sort_order, sort_col = props;
@@ -1108,7 +1104,7 @@ function rcube_webmail()
default:
var func = command.replace(/-/g, '_');
if (this[func] && typeof this[func] === 'function') {
- ret = this[func](props);
+ ret = this[func](props, obj);
}
break;
}
@@ -1856,8 +1852,11 @@ function rcube_webmail()
else if (c == 'threads')
html = expando;
else if (c == 'subject') {
- if (bw.ie)
+ if (bw.ie) {
col.onmouseover = function() { rcube_webmail.long_subject_title_ie(this, message.depth+1); };
+ if (bw.ie8)
+ tree = '<span></span>' + tree; // #1487821
+ }
html = tree + cols[c];
}
else if (c == 'priority') {
@@ -5829,14 +5828,14 @@ function rcube_webmail()
};
// display all-headers row and fetch raw message headers
- this.load_headers = function(elem)
+ this.show_headers = function(props, elem)
{
if (!this.gui_objects.all_headers_row || !this.gui_objects.all_headers_box || !this.env.uid)
return;
$(elem).removeClass('show-headers').addClass('hide-headers');
$(this.gui_objects.all_headers_row).show();
- elem.onclick = function() { rcmail.hide_headers(elem); };
+ elem.onclick = function() { rcmail.command('hide-headers', '', elem); };
// fetch headers only once
if (!this.gui_objects.all_headers_box.innerHTML) {
@@ -5846,14 +5845,14 @@ function rcube_webmail()
};
// hide all-headers row
- this.hide_headers = function(elem)
+ this.hide_headers = function(props, elem)
{
if (!this.gui_objects.all_headers_row || !this.gui_objects.all_headers_box)
return;
$(elem).removeClass('hide-headers').addClass('show-headers');
$(this.gui_objects.all_headers_row).hide();
- elem.onclick = function() { rcmail.load_headers(elem); };
+ elem.onclick = function() { rcmail.command('show-headers', '', elem); };
};
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index 8dcd37b20..aeb917bd7 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -986,8 +986,8 @@ function rcmail_message_full_headers($attrib, $headers=NULL)
{
global $OUTPUT;
- $html = html::div(array('class' => "more-headers show-headers", 'onclick' => "return ".JS_OBJECT_NAME.".command('load-headers','',this)"), '');
- $html .= html::div(array('id' => "all-headers", 'class' => "all", 'style' => 'display:none'), html::div(array('id' => 'headers-source'), ''));
+ $html = html::div(array('id' => "all-headers", 'class' => "all", 'style' => 'display:none'), html::div(array('id' => 'headers-source'), ''));
+ $html .= html::div(array('class' => "more-headers show-headers", 'onclick' => "return ".JS_OBJECT_NAME.".command('show-headers','',this)"), '');
$OUTPUT->add_gui_object('all_headers_row', 'all-headers');
$OUTPUT->add_gui_object('all_headers_box', 'headers-source');
diff --git a/skins/default/mail.css b/skins/default/mail.css
index 2661afdf5..95b4c996a 100644
--- a/skins/default/mail.css
+++ b/skins/default/mail.css
@@ -1286,13 +1286,13 @@ div.hide-headers
#headers-source
{
- margin: 0 0 2px 0;
+ margin: 2px 0;
padding: 0.5em;
height: 145px;
background: white;
overflow: auto;
font-size: 11px;
- border: 1px solid #999999;
+ border: 1px solid #CCC;
display: none;
text-align: left;
color: #333;
diff --git a/skins/larry/iehacks.css b/skins/larry/iehacks.css
index 8eb1100e2..38d68acdd 100644
--- a/skins/larry/iehacks.css
+++ b/skins/larry/iehacks.css
@@ -143,14 +143,6 @@ ul.toolbarmenu li a.active:hover,
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e9e9e9', GradientType=0);
}
-#full-headers {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eaeaea', endColorstr='#e9e9e9', GradientType=0);
-}
-
-#all-headers {
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3f3f3', endColorstr='#ffffff', GradientType=0);
-}
-
#composeoptionsbox {
border-top: 1px solid #999;
}
@@ -159,5 +151,3 @@ ul.toolbarmenu li a.active:hover,
float: left;
height: 18px;
}
-
-
diff --git a/skins/larry/mail.css b/skins/larry/mail.css
index ba6f770a0..94e210a7c 100644
--- a/skins/larry/mail.css
+++ b/skins/larry/mail.css
@@ -734,18 +734,6 @@ h3.subject {
background-position: -32px -242px;
}
-#full-headers {
- position: relative;
- color: #666;
- text-align: center;
- background-color: #f9f9f9;
- background: -moz-linear-gradient(top, #eaeaea 0%, #e9e9e9 100%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eaeaea), color-stop(100%,#e9e9e9));
- background: -o-linear-gradient(top, #eaeaea 0%, #e9e9e9 100%);
- background: -ms-linear-gradient(top, #eaeaea 0%, #e9e9e9 100%);
- background: linear-gradient(top, #eaeaea 0%, #e9e9e9 100%);
-}
-
div.more-headers {
cursor: pointer;
height: 10px;
@@ -757,38 +745,23 @@ div.hide-headers {
}
#all-headers {
- position: absolute;
- top: 11px;
- left: 10px;
- right: 10px;
+ position: relative;
+ margin: 0 10px;
+ padding: 0;
height: 180px;
- z-index: 500;
border: 1px solid #bbb;
- border-top: 0;
- border-radius: 0 0 4px 4px;
- -webkit-box-shadow: 0px 3px 4px 0px rgba(80, 80, 80, 0.6);
- -moz-box-shadow: 0px 3px 4px 0px rgba(80, 80, 80, 0.6);
- box-shadow: 0px 3px 4px 0px rgba(80, 80, 80, 0.6);
+ border-radius: 4px;
background: #fff;
- background: -moz-linear-gradient(top, #f0f0f0 0%, #fff 8%, #fff 100%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f0f0f0), color-stop(8%,#fff), color-stop(100%,#fff));
- background: -o-linear-gradient(top, #f0f0f0 0%, #fff 8%, #fff 100%);
- background: -ms-linear-gradient(top, #f0f0f0 0%, #fff 8%, #fff 100%);
- background: linear-gradient(top, #f0f0f0 0%, #fff 8%, #fff 100%);
-}
-
-#all-headers .ui-resizable-s {
- bottom: -2px;
}
#headers-source {
display: none;
position: absolute;
- top: 8px;
+ top: 0;
left: 0;
right: 0;
- bottom: 8px;
- padding: 0 10px;
+ bottom: 0;
+ padding: 2px 5px;
overflow: auto;
text-align: left;
color: #333;
diff --git a/skins/larry/svggradients.css b/skins/larry/svggradients.css
index 91192d79d..ba596e39f 100644
--- a/skins/larry/svggradients.css
+++ b/skins/larry/svggradients.css
@@ -137,14 +137,6 @@ ul.toolbarmenu li a.active:hover,
background-image: url(svggradient.php?c=ffffff;e9e9e9);
}
-#full-headers {
- background-image: url(svggradient.php?c=eaeaea;e9e9e9);
-}
-
-#all-headers {
- background-image: url(svggradient.php?c=f3f3f3;ffffff);
-}
-
/*** jqueryui theme ***/
diff --git a/skins/larry/ui.js b/skins/larry/ui.js
index cf7ff5537..ab56910bd 100644
--- a/skins/larry/ui.js
+++ b/skins/larry/ui.js
@@ -76,7 +76,8 @@ function rcube_mail_ui()
if (rcmail.env.action == 'show' || rcmail.env.action == 'preview') {
layout_messageview();
- $("#all-headers").resizable({ handles: 's', minHeight: 50 });
+ rcmail.addEventListener('aftershow-headers', function() { layout_messageview(); });
+ rcmail.addEventListener('afterhide-headers', function() { layout_messageview(); });
$('#previewheaderstoggle').click(function(e){ toggle_preview_headers(this); return false });
}
else if (rcmail.env.action == 'compose') {
@@ -291,7 +292,7 @@ function rcube_mail_ui()
{
$('#messagecontent').css('top', ($('#messageheader').outerHeight() + 10) + 'px');
$('#message-objects div a').addClass('button');
-
+
if (!$('#attachment-list li').length) {
$('div.rightcol').hide();
$('div.leftcol').css('margin-right', '0');
@@ -549,7 +550,7 @@ function rcube_mail_ui()
for (i in rcmail.env.spell_langs) {
li = $('<li>');
- link = $('<a href="#">').text(rcmail.env.spell_langs[i])
+ link = $('<a href="#"></a>').text(rcmail.env.spell_langs[i])
.addClass('active').data('lang', i)
.click(function() {
rcmail.spellcheck_lang_set($(this).data('lang'));