_hashtemplate = new Template('
${header} |
$val) { ?>
|
|
');
}
function getDefaultArguments() {
return array('page' => false);
}
function run($dbi, $argstr, $request) {
$args = $this->getArgs($argstr, $request);
extract($args);
if (empty($page))
return '';
$backend = &$dbi->_backend;
$html = QElement('h3',
"Querying backend directly for '$page'");
$rows = '';
$pagedata = $backend->get_pagedata($page);
if (!$pagedata)
$html .= QElement('p', "No pagedata for $page\n");
else {
ksort($pagedata);
$rows .= $this->_hashtemplate->
getExpansion(array('header' => "get_pagedata('$page')",
'hash' => $pagedata));
}
for ($version = $backend->get_latest_version($page);
$version;
$version = $backend->get_previous_version($page, $version)) {
$vdata = $backend->get_versiondata($page, $version, true);
$content = &$vdata['%content'];
if ($content === true)
$content = '';
elseif (strlen($content) > 40)
$content = substr($content,0,40) . " ...";
$rows .= Element('tr', Element('td', array('colspan' => 2))) . "\n";
ksort($vdata);
$rows .= $this->_hashtemplate->
getExpansion(array('header' => "get_versiondata('$page',$version)",
'hash' => $vdata));
}
$html .= Element('table', array('border' => 1,
'cellpadding' => 2,
'cellspacing' => 0),
$rows) . "\n";
return $html;
}
};
// (c-file-style: "gnu")
// Local Variables:
// mode: php
// tab-width: 8
// c-basic-offset: 4
// c-hanging-comment-ender-p: nil
// indent-tabs-mode: nil
// End:
?>