summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2012-04-11 15:30:19 +0000
committerthomascube <thomas@roundcube.net>2012-04-11 15:30:19 +0000
commitc97c5756710f651873e4e7c600d46fba917d43c7 (patch)
tree89058d36e6328ec12cc2b62c6310c84e2ebf6f80
parent1ba07f070998d32d115d90d0d73db2dca59c4690 (diff)
Force page reload if list columns changed in IE8 (#1487822)
-rw-r--r--CHANGELOG1
-rw-r--r--program/include/rcube_json_output.php2
-rw-r--r--program/steps/mail/list.inc8
3 files changed, 9 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 17375a497..d1c52f15f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Force page reload if list columns changed in IE8 (#1487822)
- Allow mass-removal of addresses from a group (#1487748)
- Fix removing all contacts on import to LDAP addressbook
- Fix so "Back" from compose/show doesn't reset search request (#1488238)
diff --git a/program/include/rcube_json_output.php b/program/include/rcube_json_output.php
index 99f08f5c9..f062d4b71 100644
--- a/program/include/rcube_json_output.php
+++ b/program/include/rcube_json_output.php
@@ -212,7 +212,7 @@ class rcube_json_output
public function redirect($p = array(), $delay = 1)
{
$location = rcmail::get_instance()->url($p);
- $this->remote_response("window.setTimeout(\"location.href='{$location}'\", $delay);");
+ $this->remote_response(sprintf("window.setTimeout(function(){ %s.redirect('%s',true); }, %d);", JS_OBJECT_NAME, $location, $delay));
exit;
}
diff --git a/program/steps/mail/list.inc b/program/steps/mail/list.inc
index dad86663a..930758354 100644
--- a/program/steps/mail/list.inc
+++ b/program/steps/mail/list.inc
@@ -51,9 +51,15 @@ if ($cols = get_input_value('_cols', RCUBE_INPUT_GET))
$save_arr['list_cols'] = explode(',', $cols);
}
-if ($save_arr)
+if ($save_arr) {
$RCMAIL->user->save_prefs($save_arr);
+ // force page reload if list columns changed in IE8 (#1487822)
+ if ($save_arr['list_cols'] && $OUTPUT->browser->ie && $OUTPUT->browser->ver == 8) {
+ $OUTPUT->redirect(array('_mbox' => $RCMAIL->storage->get_folder()), 0);
+ }
+}
+
$mbox_name = $RCMAIL->storage->get_folder();
$threading = (bool) $RCMAIL->storage->get_threading();