2 rcs_id('$Id: BackLinks.php,v 1.10 2002-01-22 03:17:47 dairiki 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 function run($dbi, $argstr, $request) {
29 $this->_args = $this->getArgs($argstr, $request);
30 extract($this->_args);
34 $p = $dbi->getPage($page);
35 $backlinks = $p->getLinks();
37 $pagelist = new PageList();
40 // Currently only info="Last Modified" or info=hits works (I
41 // don't think anything else would be useful anyway).
44 $pagelist->insertColumn(_($info));
46 while ($backlink = $backlinks->next()) {
47 $name = $backlink->getName();
48 if ($exclude && $name == $exclude)
50 if (!$include_self && $name == $page)
53 $pagelist->addPage($backlink);
57 $pagelink = LinkWikiWord($page);
59 if ($pagelist->isEmpty())
60 return HTML::p(fmt("No pages link to %s.", $pagelink));
62 $pagelist->setCaption(fmt("%d pages link to %s:",
63 $pagelist->getTotal(), $pagelink));
64 $pagelist->setMessageIfEmpty('');
76 // c-hanging-comment-ender-p: nil
77 // indent-tabs-mode: nil