From 6e6d16edde50ed56a86641e03a8df3885f95ae2e Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Thu, 13 Mar 2014 19:58:05 +0000 Subject: Fix a couple of issues with PR#571 1. renderer validity checks were too stringent for plugins, format should only need to be checked when mode is 'xhtml' 2. E_USER_WARNING message should now be obsolete, its previous use was to generate a warning when 'xhtml' rendering failed. PR#571 insures 'xhtml' rendering always succeeds. --- inc/parserutils.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'inc/parserutils.php') diff --git a/inc/parserutils.php b/inc/parserutils.php index 06bd6dbb8..8244837e1 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -636,9 +636,9 @@ function p_get_renderer($mode) { return $Renderer; } - // not bundled, see if its an enabled plugin for rendering $mode + // not bundled, see if its an enabled renderer plugin & when $mode is 'xhtml', the renderer can supply that format. $Renderer = $plugin_controller->load('renderer',$rname); - if ($Renderer && is_a($Renderer, 'Doku_Renderer') && ($mode == $Renderer->getFormat())) { + if ($Renderer && is_a($Renderer, 'Doku_Renderer') && ($mode != 'xhtml' || $mode == $Renderer->getFormat())) { return $Renderer; } @@ -660,7 +660,6 @@ function p_get_renderer($mode) { } // fallback failed, alert the world - trigger_error("Unable to resolve render class $rclass",E_USER_WARNING); msg("No renderer '$rname' found for mode '$mode'",-1); return null; } -- cgit v1.2.3 From 59b1d9181358f31d8d65c38a64fb43a68c0fadb1 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Mon, 17 Mar 2014 01:33:46 +0000 Subject: adjust logic of caching comments for _nocache --- inc/parserutils.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'inc/parserutils.php') diff --git a/inc/parserutils.php b/inc/parserutils.php index 06bd6dbb8..281a93967 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -112,8 +112,7 @@ function p_cached_output($file, $format='xhtml', $id='') { } else { $parsed = p_render($format, p_cached_instructions($file,false,$id), $info); - if ($info['cache']) { - $cache->storeCache($parsed); //save cachefile + if ($info['cache'] && $cache->storeCache($parsed)) { // storeCache() attempts to save cachefile if($conf['allowdebug'] && $format=='xhtml') $parsed .= "\n\n"; }else{ $cache->removeCache(); //try to delete cachefile -- cgit v1.2.3