Let some env variables survive reset(); don't show taskbar and top line in framed error pages (#1488938)

pull/15/head
Thomas Bruederli 12 years ago
parent 3568c7c04b
commit d30460ad2f

@ -80,6 +80,8 @@ class rcmail_output_html extends rcmail_output
if (!empty($_REQUEST['_extwin']))
$this->set_env('extwin', 1);
if ($this->framed || !empty($_REQUEST['_framed']))
$this->set_env('framed', 1);
// add common javascripts
$this->add_script('var '.self::JS_OBJECT_NAME.' = new rcube_webmail();', 'head_top');
@ -308,8 +310,12 @@ class rcmail_output_html extends rcmail_output
*/
public function reset()
{
$env = array_intersect_key($this->env, array('extwin'=>1, 'framed'=>1));
parent::reset();
$this->js_env = array();
// let some env variables survive
$this->env = $this->js_env = $env;
$this->js_labels = array();
$this->js_commands = array();
$this->script_files = array();

@ -10,16 +10,16 @@
<roundcube:container name="topline-center" id="topline-center" />
<div class="topright">
<roundcube:container name="topline-right" id="topline-right" />
<roundcube:if condition="!env:extwin" />
<roundcube:if condition="!env:extwin &amp;&amp; !env:framed" />
<span class="username"><roundcube:object name="username" /></span>
<roundcube:button command="logout" label="logout" class="button-logout" />
<roundcube:else />
<roundcube:elseif condition="env:extwin" />
<roundcube:button command="close" label="close" class="closelink" />
<roundcube:endif />
</div>
</div>
<roundcube:if condition="!env:extwin" />
<roundcube:if condition="!env:extwin &amp;&amp; !env:framed" />
<div id="topnav">
<div id="taskbar" class="topright">
<roundcube:button command="mail" label="mail" class="button-mail" classSel="button-mail button-selected" innerClass="button-inner" />

@ -1276,6 +1276,10 @@ body.iframe {
margin: 38px 0 10px 0;
}
body.iframe.error {
background: #ededed;
}
body.iframe.floatingbuttons {
margin-bottom: 40px;
}

@ -4,9 +4,12 @@
<title><roundcube:object name="pagetitle" /></title>
<roundcube:include file="/includes/links.html" />
</head>
<body>
<roundcube:if condition="!env:framed" />
<body class="error">
<roundcube:include file="/includes/header.html" />
<roundcube:else />
<body class="error iframe">
<roundcube:endif />
<div class="uibox centerbox errorbox">
$__page_content

Loading…
Cancel
Save