diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2013-11-10 13:29:48 +0100 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2013-11-10 13:29:48 +0100 |
commit | e46d060a4ab4b2a901c3dd4a3909490a547284e1 (patch) | |
tree | 9e018f3a04e1010d0b58b0cd8a9c61e55f8b7a9b /program | |
parent | 12f0e06fcfaca2e67e7936fc22b01944d8a2972e (diff) |
Fix errors in error page :-)
Diffstat (limited to 'program')
-rw-r--r-- | program/include/rcmail_output_html.php | 19 | ||||
-rw-r--r-- | program/steps/utils/error.inc | 1 |
2 files changed, 11 insertions, 9 deletions
diff --git a/program/include/rcmail_output_html.php b/program/include/rcmail_output_html.php index 8a960673d..6db826e2e 100644 --- a/program/include/rcmail_output_html.php +++ b/program/include/rcmail_output_html.php @@ -310,12 +310,14 @@ class rcmail_output_html extends rcmail_output */ public function reset($all = false) { + $framed = $this->framed; $env = $all ? null : array_intersect_key($this->env, array('extwin'=>1, 'framed'=>1)); parent::reset(); // let some env variables survive $this->env = $this->js_env = $env; + $this->framed = $framed || $this->env['framed']; $this->js_labels = array(); $this->js_commands = array(); $this->script_files = array(); @@ -323,6 +325,11 @@ class rcmail_output_html extends rcmail_output $this->header = ''; $this->footer = ''; $this->body = ''; + + // load defaults + if (!$all) { + $this->__construct(); + } } /** @@ -1203,8 +1210,6 @@ class rcmail_output_html extends rcmail_output */ public function include_script($file, $position='head') { - static $sa_files = array(); - if (!preg_match('|^https?://|i', $file) && $file[0] != '/') { $file = $this->scripts_path . $file; if ($fs = @filemtime($file)) { @@ -1212,17 +1217,13 @@ class rcmail_output_html extends rcmail_output } } - if (in_array($file, $sa_files)) { - return; - } - - $sa_files[] = $file; - if (!is_array($this->script_files[$position])) { $this->script_files[$position] = array(); } - $this->script_files[$position][] = $file; + if (!in_array($file, $this->script_files[$position])) { + $this->script_files[$position][] = $file; + } } /** diff --git a/program/steps/utils/error.inc b/program/steps/utils/error.inc index 9fb71c528..a891d42f8 100644 --- a/program/steps/utils/error.inc +++ b/program/steps/utils/error.inc @@ -110,6 +110,7 @@ EOF; if ($rcmail->output && $rcmail->output->template_exists('error')) { $rcmail->output->reset(); + $rcmail->output->set_env('server_error', $ERROR_CODE); $rcmail->output->send('error'); } |