0byt3m1n1
Path:
/
data
/
applications
/
aps
/
phpwiki
/
1.4.0-0
/
standard
/
htdocs
/
lib
/
WikiDB
/
backend
/
dumb
/
[
Home
]
File: BackLinkIter.php
<?php // -*-php-*- // rcs_id('$Id: BackLinkIter.php 7638 2010-08-11 11:58:40Z vargenau $'); require_once('lib/WikiDB/backend.php'); /** * This backlink iterator will work with any WikiDB_backend * which has a working get_links(,'links_from') method. * * This is mostly here for testing, 'cause it's slow,slow,slow. */ class WikiDB_backend_dumb_BackLinkIter extends WikiDB_backend_iterator { function WikiDB_backend_dumb_BackLinkIter(&$backend, &$all_pages, $pagename) { $this->_pages = $all_pages; $this->_backend = &$backend; $this->_target = $pagename; } function next() { while ($page = $this->_pages->next()) { $pagename = $page['pagename']; $links = $this->_backend->get_links($pagename, false); while ($link = $links->next()) { if ($link['pagename'] == $this->_target) { $links->free(); return $page; } } } } function free() { $this->_pages->free(); } } // Local Variables: // mode: php // tab-width: 8 // c-basic-offset: 4 // c-hanging-comment-ender-p: nil // indent-tabs-mode: nil // End: ?>