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/rcmail.php | 45 +++++++++++---------------------------------- 1 files changed, 11 insertions(+), 34 deletions(-) diff --git a/program/include/rcmail.php b/program/include/rcmail.php index 6f0ba2c..59ffaea 100644 --- a/program/include/rcmail.php +++ b/program/include/rcmail.php @@ -159,8 +159,6 @@ /** * Initial startup function * to register session, create database and imap connections - * - * @todo Remove global vars $DB, $USER */ private function startup() { @@ -172,7 +170,10 @@ } // connect to database - $GLOBALS['DB'] = $this->get_dbh(); + $this->get_dbh(); + + // set global object for backward compatibility + $GLOBALS['DB'] = $this->db; // start session $this->session_init(); @@ -240,6 +241,8 @@ { if (is_object($user)) { $this->user = $user; + + // set global object for backward compatibility $GLOBALS['USER'] = $this->user; // overwrite config with user preferences @@ -320,8 +323,8 @@ return $this->db; } - - + + /** * Get global handle for memcache access * @@ -584,7 +587,6 @@ * Create global IMAP object and connect to server * * @param boolean True if connection should be established - * @todo Remove global $IMAP */ public function imap_init($connect = false) { @@ -988,7 +990,6 @@ if (is_string($attrib)) $attrib = array('name' => $attrib); - $nr = is_numeric($attrib['nr']) ? $attrib['nr'] : 1; $name = $attrib['name'] ? $attrib['name'] : ''; // attrib contain text values: use them from now @@ -996,35 +997,11 @@ $this->texts[$name] = $setval; // check for text with domain - if ($domain && ($text_item = $this->texts[$domain.'.'.$name])) + if ($domain && ($text = $this->texts[$domain.'.'.$name])) ; // text does not exist - else if (!($text_item = $this->texts[$name])) { + else if (!($text = $this->texts[$name])) { return "[$name]"; - } - - // make text item array - $a_text_item = is_array($text_item) ? $text_item : array('single' => $text_item); - - // decide which text to use - if ($nr == 1) { - $text = $a_text_item['single']; - } - else if ($nr > 0) { - $text = $a_text_item['multiple']; - } - else if ($nr == 0) { - if ($a_text_item['none']) - $text = $a_text_item['none']; - else if ($a_text_item['single']) - $text = $a_text_item['single']; - else if ($a_text_item['multiple']) - $text = $a_text_item['multiple']; - } - - // default text is single - if ($text == '') { - $text = $a_text_item['single']; } // replace vars in text @@ -1041,7 +1018,7 @@ else if ($attrib['lowercase']) return mb_strtolower($text); - return $text; + return strtr($text, array('\n' => "\n")); } -- Gitblit v1.9.1