'', 'formsize' => 30, ); } function run($dbi, $argstr, &$request, $basepage) { $args = $this->getArgs($argstr, $request); extract($args); if (defined('DEBUG') && !DEBUG) return $this->disabled("Sorry, this plugin is currently out of order."); $page = $dbi->getPage($request->getArg('pagename')); return new TransformedText($page,_('InterWikiMap'),array('markup' => 2), 'searchableInterWikiMap'); /* return new PageType($pagerevisionhandle, $pagename = _('InterWikiMap'), $markup = 2, $overridePageType = 'PageType_searchableInterWikiMap'); */ } }; /** * @desc */ if (defined('DEBUG') && DEBUG) { class PageFormatter_searchableInterWikiMap extends PageFormatter_interwikimap {} class PageType_searchableInterWikiMap extends PageType_interwikimap { function format($text) { return HTML::div(array('class' => 'wikitext'), $this->_transform($this->_getHeader($text)), $this->_formatMap(), $this->_transform($this->_getFooter($text))); } function _formatMap() { return $this->_arrayToTable ($this->_getMap(), $GLOBALS['request']); } function _arrayToTable ($array, &$request) { $thead = HTML::thead(); $label[0] = _("Wiki Name"); $label[1] = _("Search"); $thead->pushContent(HTML::tr(HTML::th($label[0]), HTML::th($label[1]))); $tbody = HTML::tbody(); $dbi = $request->getDbh(); if ($array) { foreach ($array as $moniker => $interurl) { $monikertd = HTML::td(array('class' => 'interwiki-moniker'), $dbi->isWikiPage($moniker) ? WikiLink($moniker) : $moniker); $w = new WikiPluginLoader; $p = $w->getPlugin('ExternalSearch'); $argstr = sprintf('url="%s"', addslashes($interurl)); $searchtd = HTML::td($p->run($dbi, $argstr, $request, $basepage)); $tbody->pushContent(HTML::tr($monikertd, $searchtd)); } } $table = HTML::table(); $table->setAttr('class', 'interwiki-map'); $table->pushContent($thead); $table->pushContent($tbody); return $table; } }; } // Local Variables: // mode: php // tab-width: 8 // c-basic-offset: 4 // c-hanging-comment-ender-p: nil // indent-tabs-mode: nil // End: ?>