/** * Render xhtml output or metadata * * @param string $mode Renderer mode (supported modes: xhtml) * @param Doku_Renderer $renderer The renderer * @param array $data The data from the handler() function * @return bool If rendering was successful. */ public function render($mode, Doku_Renderer $renderer, $data) { if (!$data) { return false; } global $ID; global $conf; try { $search = new SearchConfig($data); /** @var AggregationTable $table */ $table = new $this->tableclass($ID, $mode, $renderer, $search); $table->render(); if ($mode == 'metadata') { /** @var Doku_Renderer_metadata $renderer */ $renderer->meta['plugin']['struct']['hasaggregation'] = $search->getCacheFlag(); } } catch (StructException $e) { msg($e->getMessage(), -1, $e->getLine(), $e->getFile()); if ($conf['allowdebug']) { msg('<pre>' . hsc($e->getTraceAsString()) . '</pre>', -1); } } return true; }