summaryrefslogtreecommitdiff
path: root/program/include/rcube_output_html.php
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2012-10-17 22:42:35 +0200
committerThomas Bruederli <thomas@roundcube.net>2012-10-17 22:42:35 +0200
commit271efe53e084779a8141228c29b5819d1acd2762 (patch)
tree9890424f3bb33281a70b91698631ebdfaf5c9f97 /program/include/rcube_output_html.php
parent5f6c71ae36b73e5f94543eec2f61874cf46e9c62 (diff)
Add user settings to open message view and compose form in new windows. This natevely implements the compose_newwindow plugin functionslity and more
Diffstat (limited to 'program/include/rcube_output_html.php')
-rw-r--r--program/include/rcube_output_html.php11
1 files changed, 10 insertions, 1 deletions
diff --git a/program/include/rcube_output_html.php b/program/include/rcube_output_html.php
index 6138e2a30..616ab3883 100644
--- a/program/include/rcube_output_html.php
+++ b/program/include/rcube_output_html.php
@@ -77,6 +77,9 @@ class rcube_output_html extends rcube_output
$this->set_skin($skin);
$this->set_env('skin', $skin);
+ if (!empty($_REQUEST['_extwin']))
+ $this->set_env('extwin', 1);
+
// add common javascripts
$this->add_script('var '.rcmail::JS_OBJECT_NAME.' = new rcube_webmail();', 'head_top');
@@ -274,6 +277,8 @@ class rcube_output_html extends rcube_output
*/
public function redirect($p = array(), $delay = 1)
{
+ if ($this->env['extwin'])
+ $p['extwin'] = 1;
$location = $this->app->url($p);
header('Location: ' . $location);
exit;
@@ -974,7 +979,7 @@ class rcube_output_html extends rcube_output
else if (in_array($attrib['command'], $a_static_commands)) {
$attrib['href'] = $this->app->url(array('action' => $attrib['command']));
}
- else if ($attrib['command'] == 'permaurl' && !empty($this->env['permaurl'])) {
+ else if (($attrib['command'] == 'permaurl' || $attrib['command'] == 'extwin') && !empty($this->env['permaurl'])) {
$attrib['href'] = $this->env['permaurl'];
}
}
@@ -1319,6 +1324,10 @@ class rcube_output_html extends rcube_output
$hiddenfield = new html_hiddenfield(array('name' => '_framed', 'value' => '1'));
$hidden = $hiddenfield->show();
}
+ if ($this->env['extwin']) {
+ $hiddenfield = new html_hiddenfield(array('name' => '_extwin', 'value' => '1'));
+ $hidden = $hiddenfield->show();
+ }
if (!$content)
$attrib['noclose'] = true;