getNonEmpty($v, 'tag');
$t = $this->getNonEmpty($v, 'attributes', 'time');
$p = $this->getNonEmpty($v, 'attributes', 'prev');
if (!empty($t)) {
if ($since > 0 && $t < $since) {
continue;
}
$k = "$k:$t";
}
if (!empty($p)) {
$k = "$k:$p:";
}
$page[$k] = $this->getNonEmpty($v,'value');
}
}
return @$page;
}
function read($pagename, $since=0) {
$pagefile = $this->pagefile($pagename);
if ($pagefile && ($fp=@fopen($pagefile, "r"))) {
while (!feof($fp)) {
$line = fgets($fp, 512);
$isXML = (substr($line,0,5) == 'read_xml($data, $since);
} else {
@fclose($fp);
return parent::read($pagename,$page);
}
}
}
function write($pagename,$page) {
global $EnablePageStoreXML;
($EnablePageStoreXML == true) ? $this->write_xml($pagename,$page) : parent::write($pagename,$page);
}
function write_xml($pagename,$page) {
global $Now, $Version, $Charset;
$page['name'] = $pagename;
$page['time'] = $Now;
$page['host'] = $_SERVER['REMOTE_ADDR'];
$page['agent'] = @$_SERVER['HTTP_USER_AGENT'];
$page['rev'] = @$page['rev']+1;
unset($page['version']); unset($page['newline']);
uksort($page, 'CmpPageAttr');
$s = false;
$pagefile = $this->pagefile($pagename);
$dir = dirname($pagefile); mkdirp($dir);
if ($pagefile && ($fp=fopen("$pagefile,new","w"))) {
$x = "\n
I'm now converting "; echo ($EnablePageStoreXML) ? "to " : "from "; echo "XML the files (pages) you have stored in your wiki. When this is finished you can get rid of the ConvertXML(); line in your local/config.php
"; if ($pagelist) { foreach($pagelist as $p) { echo ($EnablePageStoreXML) ? "Converted $pagecount pages.
\n"; echo "Now you can get rid of the ConvertXML(); line in your local/config.php
\n"; exit(0); }