From c08b18c4b92cc7c253c72709e3aecb639a742d9f Mon Sep 17 00:00:00 2001 From: alecpl Date: Fri, 29 Apr 2011 08:17:42 +0000 Subject: - Fix relative URLs handling according to a in HTML (#1487889) --- program/steps/mail/func.inc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'program/steps/mail/func.inc') diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index c346ef358..0f25ec765 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -607,6 +607,7 @@ function rcmail_wash_html($html, $p = array(), $cid_replaces) $html = ''. $html; $html = substr_replace($html, '', intval(stripos($html, '')+6), 0); } + // turn relative into absolute urls $html = rcmail_resolve_base($html); @@ -955,13 +956,13 @@ function rcmail_message_headers($attrib, $headers=NULL) function rcmail_message_full_headers($attrib, $headers=NULL) { global $OUTPUT; - + $html = html::div(array('class' => "more-headers show-headers", 'onclick' => "return ".JS_OBJECT_NAME.".command('load-headers','',this)"), ''); $html .= html::div(array('id' => "all-headers", 'class' => "all", 'style' => 'display:none'), html::div(array('id' => 'headers-source'), '')); - + $OUTPUT->add_gui_object('all_headers_row', 'all-headers'); $OUTPUT->add_gui_object('all_headers_box', 'headers-source'); - + return html::div($attrib, $html); } @@ -1086,8 +1087,8 @@ function rcmail_resolve_base($body) $replacer = new rcube_base_replacer($regs[2]); // replace all relative paths - $body = preg_replace_callback('/(src|background|href)=(["\']?)([\.\/]+[^"\'\s]+)(\2|\s|>)/Ui', array($replacer, 'callback'), $body); - $body = preg_replace_callback('/(url\s*\()(["\']?)([\.\/]+[^"\'\)\s]+)(\2)\)/Ui', array($replacer, 'callback'), $body); + $body = preg_replace_callback('/(src|background|href)=(["\']?)([^"\'\s]+)(\2|\s|>)/Ui', array($replacer, 'callback'), $body); + $body = preg_replace_callback('/(url\s*\()(["\']?)([^"\'\)\s]+)(\2)\)/Ui', array($replacer, 'callback'), $body); } return $body; -- cgit v1.2.3