2 rcs_id('$Id: BackLinks.php,v 1.12 2002-01-22 06:15:52 carstenklapp Exp $');
6 require_once('lib/PageList.php');
8 class WikiPlugin_BackLinks
12 return _("BackLinks");
15 function getDescription () {
16 return sprintf(_("Get BackLinks for %s"),'[pagename]');
19 function getDefaultArguments() {
20 // FIXME: how to exclude multiple pages?
21 return array('exclude' => '',
28 // info arg now allows multiple columns info=mtime,hits,summary,author,locked,minor
30 function run($dbi, $argstr, $request) {
31 $this->_args = $this->getArgs($argstr, $request);
32 extract($this->_args);
36 $p = $dbi->getPage($page);
37 $backlinks = $p->getLinks();
39 $pagelist = new PageList;
42 foreach (explode(",", $info) as $col)
43 $pagelist->insertColumn($col);
45 while ($backlink = $backlinks->next()) {
46 $name = $backlink->getName();
47 if ($exclude && $name == $exclude)
49 if (!$include_self && $name == $page)
52 $pagelist->addPage($backlink);
56 $pagelink = LinkWikiWord($page);
58 if ($pagelist->isEmpty())
59 return HTML::p(fmt("No pages link to %s.", $pagelink));
61 $pagelist->setCaption(fmt("%d pages link to %s:",
62 $pagelist->getTotal(), $pagelink));
63 $pagelist->setMessageIfEmpty('');
75 // c-hanging-comment-ender-p: nil
76 // indent-tabs-mode: nil