2 rcs_id('$Id: BackLinks.php,v 1.6 2002-01-15 02:42:32 carstenklapp Exp $');
5 class WikiPlugin_BackLinks
12 function getDescription () {
13 return sprintf(_("Get BackLinks for %s"),'[pagename]');
16 function getDefaultArguments() {
17 // FIXME: how to exclude multiple pages?
18 return array('exclude' => '',
25 // Currently only info=false or info=hits works (I don't think
26 // anything else would be useful anyway).
28 function run($dbi, $argstr, $request) {
29 $args = $this->getArgs($argstr, $request);
34 $p = $dbi->getPage($page);
35 $backlinks = $p->getLinks();
38 $lines[] = $this->_tr(QElement('u', _(ucfirst($info))),
39 QElement('u', _("Page Name")));
41 while ($backlink = $backlinks->next()) {
42 $name = $backlink->getName();
43 if ($exclude && $name == $exclude)
45 if (!$include_self && $name == $page)
48 $lines[] = $this->_tr($backlink->get($info),
51 $lines[] = Element('li', LinkWikiWord($name));
57 $fs = $lines ? _("These pages link to %s:") : _("No pages link to %s.");
58 $header = sprintf(htmlspecialchars($fs),
59 LinkExistingWikiWord($page));
60 $html = Element('p', $header) . "\n";
64 $html .= Element('blockquote',
65 Element('table', array('cellpadding' => 0,
71 return $html . Element('ul', join("\n", $lines));
75 function _tr ($col1, $col2) {
76 return "<tr><td align='right'>$col1 </td>"
77 . "<td> $col2</td></tr>\n";
87 // c-hanging-comment-ender-p: nil
88 // indent-tabs-mode: nil