summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Smith <chris.eureka@jalakai.co.uk>2009-10-04 21:56:23 +0200
committerChris Smith <chris.eureka@jalakai.co.uk>2009-10-04 21:56:23 +0200
commit7aea91af0355b9dd2b6ed672831dc13082ea58e6 (patch)
treea87d2b6eff3287990e0f53f7ccf6f36535463ee0
parent95c19ce72a4d462308773332faf20b9c3b12db8f (diff)
downloadrpg-7aea91af0355b9dd2b6ed672831dc13082ea58e6.tar.gz
rpg-7aea91af0355b9dd2b6ed672831dc13082ea58e6.tar.bz2
#FS1767, ensure disabled renderer plugins aren't used for renderering
Ignore-this: a88b14f64c6f6fb827c816214d06c727 darcs-hash:20091004195623-f07c6-d52ce63f5c1f4ad4cf48f78404b3d82f120ccc45.gz
-rw-r--r--inc/html.php3
-rw-r--r--inc/parserutils.php7
2 files changed, 6 insertions, 4 deletions
diff --git a/inc/html.php b/inc/html.php
index 5aac5cfe8..46ced1de1 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -19,8 +19,7 @@ require_once(DOKU_INC.'inc/form.php');
function html_wikilink($id,$name=NULL,$search=''){
static $xhtml_renderer = NULL;
if(is_null($xhtml_renderer)){
- require_once(DOKU_INC.'inc/parser/xhtml.php');
- $xhtml_renderer = new Doku_Renderer_xhtml();
+ $xhtml_renderer = p_get_renderer('xhtml');
}
return $xhtml_renderer->internallink($id,$name,$search,true,'navigation');
diff --git a/inc/parserutils.php b/inc/parserutils.php
index 437c6e561..e477ae07f 100644
--- a/inc/parserutils.php
+++ b/inc/parserutils.php
@@ -575,7 +575,7 @@ function p_render($mode,$instructions,&$info){
}
function & p_get_renderer($mode) {
- global $conf;
+ global $conf, $plugin_controller;
$rname = !empty($conf['renderer_'.$mode]) ? $conf['renderer_'.$mode] : $mode;
@@ -593,7 +593,10 @@ function & p_get_renderer($mode) {
$Renderer = & new $rclass();
}else{
// Maybe a plugin is available?
- $Renderer =& plugin_load('renderer',$rname, true);
+ if (!$plugin_controller->isdisabled($rname)){
+ $Renderer =& $plugin_controller->load('renderer',$rname, true);
+ }
+
if(is_null($Renderer)){
msg("No renderer '$rname' found for mode '$mode'",-1);
return null;