Check if method '$renderer->getLastlevel()' exists or if '$renderer->lastlevel' is accessible.
If not for both then always use level 1 to prevent an error causing an empty page e.g. on "hrun" and "detritus". See #11.
This commit is contained in:
14
syntax.php
14
syntax.php
@@ -338,7 +338,19 @@ class syntax_plugin_filelist extends DokuWiki_Syntax_Plugin {
|
||||
* @return void
|
||||
*/
|
||||
function _render_page($result, $params, &$renderer) {
|
||||
$this->_render_page_section($result['files'], $result['basedir'], $result['webdir'], $params, $renderer, $renderer->lastlevel + 1);
|
||||
if ( method_exists ($renderer, 'getLastlevel') === false ) {
|
||||
$class_vars = get_class_vars (get_class($renderer));
|
||||
if ($class_vars ['lastlevel'] !== NULL) {
|
||||
// Old releases before "hrun": $lastlevel is accessible
|
||||
$this->_render_page_section($result['files'], $result['basedir'], $result['webdir'], $params, $renderer, $renderer->lastlevel + 1);
|
||||
} else {
|
||||
// Release "hrun" or newer without method 'getLastlevel()'.
|
||||
// Lastlevel can't be determined. Workaroud: always use level 1.
|
||||
$this->_render_page_section($result['files'], $result['basedir'], $result['webdir'], $params, $renderer, 1);
|
||||
}
|
||||
} else {
|
||||
$this->_render_page_section($result['files'], $result['basedir'], $result['webdir'], $params, $renderer, $renderer->getLastlevel() + 1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user