diff options
-rw-r--r-- | CHANGELOG | 5 | ||||
-rw-r--r-- | program/include/main.inc | 20 |
2 files changed, 16 insertions, 9 deletions
@@ -1,6 +1,11 @@ CHANGELOG RoundCube Webmail --------------------------- +2008/04/20 (estadtherr) +---------- +- fix parse_attrib_string to handle unquoted values, which fixes + display issues with HTML messages that do not quote attributes + 2008/04/17 (alec) ---------- - Fix IMAP response in message body when message has no body (#1484964) diff --git a/program/include/main.inc b/program/include/main.inc index b5004e899..2abe70438 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -378,20 +378,20 @@ function rcmail_logout_actions() function get_table_name($table) { global $CONFIG; - + // return table name if configured $config_key = 'db_table_'.$table; if (strlen($CONFIG[$config_key])) return $CONFIG[$config_key]; - + return $table; } /** * Return correct name for a specific database sequence - * (used for Postres only) + * (used for Postgres only) * * @param string Secuence name * @return string Translated sequence name @@ -399,13 +399,13 @@ function get_table_name($table) function get_sequence_name($sequence) { global $CONFIG; - + // return table name if configured $config_key = 'db_sequence_'.$sequence; if (strlen($CONFIG[$config_key])) return $CONFIG[$config_key]; - + return $sequence; } @@ -1483,12 +1483,14 @@ function create_attrib_string($attrib, $allowed_attribs=array('id', 'class', 'st function parse_attrib_string($str) { $attrib = array(); - preg_match_all('/\s*([-_a-z]+)=(["\'])([^"]+)\2/Ui', stripslashes($str), $regs, PREG_SET_ORDER); + preg_match_all('/\s*([-_a-z]+)=(["\'])??(?(2)([^"\']+)\2|(\S+?))/Ui', stripslashes($str), $regs, PREG_SET_ORDER); // convert attributes to an associative array (name => value) if ($regs) foreach ($regs as $attr) - $attrib[strtolower($attr[1])] = $attr[3]; + { + $attrib[strtolower($attr[1])] = $attr[3] . $attr[4]; + } return $attrib; } @@ -1633,8 +1635,8 @@ function console($msg) * Append a line to a logfile in the logs directory. * Date will be added automatically to the line. * - * @param $name Name of logfile - * @param $line Line to append + * @param $name name of log file + * @param line Line to append */ function write_log($name, $line) { |