From 2b017e7f79be26563ab767bb9e97fee5d88a01f4 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Fri, 09 Dec 2011 16:13:54 -0500 Subject: [PATCH] Allow clean background:url(...) styles in safe mode. This will make Roundcube pass the Email Standards Acid Test --- program/include/rcube_json_output.php | 33 +++++++++++++++++++++++---------- 1 files changed, 23 insertions(+), 10 deletions(-) diff --git a/program/include/rcube_json_output.php b/program/include/rcube_json_output.php index 337a82b..ade9cc0 100644 --- a/program/include/rcube_json_output.php +++ b/program/include/rcube_json_output.php @@ -5,7 +5,7 @@ | program/include/rcube_json_output.php | | | | This file is part of the Roundcube Webmail client | - | Copyright (C) 2008-2010, Roundcube Dev. - Switzerland | + | Copyright (C) 2008-2010, The Roundcube Dev Team | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -35,13 +35,13 @@ */ private $config; private $charset = RCMAIL_CHARSET; - private $env = array(); private $texts = array(); private $commands = array(); private $callbacks = array(); private $message = null; public $browser; + public $env = array(); public $type = 'js'; public $ajax_call = true; @@ -75,7 +75,11 @@ */ public function set_pagetitle($title) { - $name = $this->config->get('product_name'); + if ($this->config->get('devel_mode') && !empty($_SESSION['username'])) + $name = $_SESSION['username']; + else + $name = $this->config->get('product_name'); + $this->command('set_pagetitle', empty($name) ? $title : $name.' :: '.$title); } @@ -164,17 +168,22 @@ * @param string $type Message type [notice|confirm|error] * @param array $vars Key-value pairs to be replaced in localized text * @param boolean $override Override last set message + * @param int $timeout Message displaying time in seconds * @uses self::command() */ - public function show_message($message, $type='notice', $vars=null, $override=true) + public function show_message($message, $type='notice', $vars=null, $override=true, $timeout=0) { if ($override || !$this->message) { + if (rcube_label_exists($message)) { + if (!empty($vars)) + $vars = array_map('Q', $vars); + $msgtext = rcube_label(array('name' => $message, 'vars' => $vars)); + } + else + $msgtext = $message; + $this->message = $message; - $this->command( - 'display_message', - rcube_label(array('name' => $message, 'vars' => $vars)), - $type - ); + $this->command('display_message', $msgtext, $type, $timeout * 1000); } } @@ -237,7 +246,11 @@ unset($this->env['task'], $this->env['action'], $this->env['comm_path']); $rcmail = rcmail::get_instance(); - $response = array('action' => $rcmail->action, 'unlock' => get_input_value('_unlock', RCUBE_INPUT_GPC)); + $response['action'] = $rcmail->action; + + if ($unlock = get_input_value('_unlock', RCUBE_INPUT_GPC)) { + $response['unlock'] = $unlock; + } if (!empty($this->env)) $response['env'] = $this->env; -- Gitblit v1.9.1