diff options
author | Chris Smith <chris.eureka@jalakai.co.uk> | 2008-03-29 20:44:43 +0100 |
---|---|---|
committer | Chris Smith <chris.eureka@jalakai.co.uk> | 2008-03-29 20:44:43 +0100 |
commit | 5d568b990e8fc3c849ba1d694019eae8e42763e4 (patch) | |
tree | c1ed91244a3b196cc0b64e7c12dd7dd11211139a /inc/parser | |
parent | 54041c77c7e08db6205a57148735b3266b711756 (diff) | |
download | rpg-5d568b990e8fc3c849ba1d694019eae8e42763e4.tar.gz rpg-5d568b990e8fc3c849ba1d694019eae8e42763e4.tar.bz2 |
Fix for FS#1350
Inline modes, <php> and <html>, when their associated config setting is off, will
generate highlighted text wrapped in a <code> element.
There is a slight change in behaviour for p_xhtml_cached_geshi(), it will now strip
leading and trailing blank lines from the input code string.
Also fixes an issue where global $conf wasn't declared, preventing the
['target']['extern'] setting being passed to GeSHi
darcs-hash:20080329194443-f07c6-00db3d502b07a6ff0c7f6e5c74a3691438504bcb.gz
Diffstat (limited to 'inc/parser')
-rw-r--r-- | inc/parser/xhtml.php | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index b45e310ca..4476cbe3b 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -304,9 +304,11 @@ class Doku_Renderer_xhtml extends Doku_Renderer { /** * Execute PHP code if allowed * + * @param string $wrapper html element to wrap result if $conf['phpok'] is okff + * * @author Andreas Gohr <andi@splitbrain.org> */ - function php($text) { + function php($text, $wrapper='code') { global $conf; if($conf['phpok']){ @@ -315,31 +317,33 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $this->doc .= ob_get_contents(); ob_end_clean(); } else { - $this->code($text, 'php'); + $this->doc .= p_xhtml_cached_geshi($text, 'php', $wrapper); } } function phpblock($text) { - $this->php($text); + $this->php($text, 'pre'); } /** * Insert HTML if allowed * + * @param string $wrapper html element to wrap result if $conf['htmlok'] is okff + * * @author Andreas Gohr <andi@splitbrain.org> */ - function html($text) { + function html($text, $wrapper='code') { global $conf; if($conf['htmlok']){ $this->doc .= $text; } else { - $this->code($text, 'html4strict'); + $this->doc .= p_xhtml_cached_geshi($text, 'html4strict', $wrapper); } } function htmlblock($text) { - $this->html($text); + $this->html($text, 'pre'); } function preformatted($text) { @@ -371,9 +375,6 @@ class Doku_Renderer_xhtml extends Doku_Renderer { if ( is_null($language) ) { $this->preformatted($text); } else { - //strip leading and trailing blank line - $text = preg_replace('/^\s*?\n/','',$text); - $text = preg_replace('/\s*?\n$/','',$text); $this->doc .= p_xhtml_cached_geshi($text, $language); } } |