_backend = &$backend; $this->_pagename = $pagename; $this->_lastversion = -1; } /** * Get next revision in sequence. * * @see WikiDB_backend_iterator_next; */ function next () { $backend = &$this->_backend; $pagename = &$this->_pagename; $version = &$this->_lastversion; //$backend->lock(); if ($this->_lastversion == -1) $version = $backend->get_latest_version($pagename); elseif ($this->_lastversion > 0) $version = $backend->get_previous_version($pagename, $version); if ($version) $vdata = $backend->get_versiondata($pagename, $version); //$backend->unlock(); if ($version == 0) return false; if (is_string($vdata)) { $vdata = @unserialize($vdata); if (empty($vdata)) { if (DEBUG) trigger_error ("broken page $pagename ignored", E_USER_WARNING); return false; } } $rev = array('versiondata' => $vdata, 'pagename' => $pagename, 'version' => $version); if (!empty($vdata['%pagedata'])) { $rev['pagedata'] = $vdata['%pagedata']; } return $rev; } }; // (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: ?>