/** @var array|bool */
private $mungedQuery = false;
- /**
- * @var PageLinkRenderer
- */
- protected $linkRenderer = null;
-
function setParams( $params ) {
$this->mQuery = $params['query'];
$this->mNs = $params['namespace'];
// using the setServices() method.
}
- /**
- * Initialize or override the PageLinkRenderer LinkSearchPage collaborates with.
- * Useful mainly for testing.
- *
- * @todo query logic and rendering logic should be split and also injected
- *
- * @param PageLinkRenderer $linkRenderer
- */
- public function setPageLinkRenderer(
- PageLinkRenderer $linkRenderer
- ) {
- $this->linkRenderer = $linkRenderer;
- }
-
- /**
- * Initialize any services we'll need (unless it has already been provided via a setter).
- * This allows for dependency injection even though we don't control object creation.
- */
- private function initServices() {
- global $wgContLang;
- if ( !$this->linkRenderer ) {
- $titleFormatter = new MediaWikiTitleCodec( $wgContLang, GenderCache::singleton() );
- $this->linkRenderer = new MediaWikiPageLinkRenderer( $titleFormatter );
- }
- }
-
function isCacheable() {
return false;
}
public function execute( $par ) {
- $this->initServices();
-
$this->setHeaders();
$this->outputHeader();
*/
function formatResult( $skin, $result ) {
$title = new TitleValue( (int)$result->namespace, $result->title );
- $pageLink = $this->linkRenderer->renderHtmlLink( $title );
+ $pageLink = $this->getLinkRenderer()->makeLink( $title );
$url = $result->url;
$urlLink = Linker::makeExternalLink( $url, $url );