MediaWiki  master
PageQueryPage.php
Go to the documentation of this file.
1 <?php
27 
34 abstract class PageQueryPage extends QueryPage {
35 
37  private $languageConverter = null;
38 
49  public function preprocessResults( $db, $res ) {
51  }
52 
57  final protected function setLanguageConverter( ILanguageConverter $languageConverter ) {
58  $this->languageConverter = $languageConverter;
59  }
60 
67  final protected function getLanguageConverter(): ILanguageConverter {
68  if ( $this->languageConverter === null ) {
69  // Fallback if not provided
70  // TODO Change to wfWarn in a future release
71  $this->languageConverter = MediaWikiServices::getInstance()->getLanguageConverterFactory()
72  ->getLanguageConverter( $this->getContentLanguage() );
73  }
74  return $this->languageConverter;
75  }
76 
86  public function formatResult( $skin, $row ) {
87  $title = Title::makeTitleSafe( $row->namespace, $row->title );
88  if ( $title instanceof Title ) {
89 
90  $text = $this->getLanguageConverter()->convertHtml( $title->getPrefixedText() );
91  return $this->getLinkRenderer()->makeLink( $title, new HtmlArmor( $text ) );
92  } else {
93  return Html::element( 'span', [ 'class' => 'mw-invalidtitle' ],
94  Linker::getInvalidTitleDescription( $this->getContext(), $row->namespace, $row->title ) );
95  }
96  }
97 }
getContext()
if(!defined('MW_SETUP_CALLBACK'))
The persistent session ID (if any) loaded at startup.
Definition: WebStart.php:82
Marks HTML that shouldn't be escaped.
Definition: HtmlArmor.php:30
static element( $element, $attribs=[], $contents='')
Identical to rawElement(), but HTML-escapes $contents (like Xml::element()).
Definition: Html.php:236
static getInvalidTitleDescription(IContextSource $context, $namespace, $title)
Get a message saying that an invalid title was encountered.
Definition: Linker.php:188
Service locator for MediaWiki core services.
Variant of QueryPage which formats the result as a simple link to the page.
setLanguageConverter(ILanguageConverter $languageConverter)
preprocessResults( $db, $res)
Run a LinkBatch to pre-cache LinkCache information, like page existence and information for stub colo...
formatResult( $skin, $row)
Format the result as a simple link to the page.
This is a class for doing query pages; since they're almost all the same, we factor out some of the f...
Definition: QueryPage.php:42
executeLBFromResultWrapper(IResultWrapper $res, $ns=null)
Creates a new LinkBatch object, adds all pages from the passed result wrapper (MUST include title and...
Definition: QueryPage.php:898
getContentLanguage()
Shortcut to get content language.
Represents a title within MediaWiki.
Definition: Title.php:52
static makeTitleSafe( $ns, $title, $fragment='', $interwiki='')
Create a new Title from a namespace index and a DB key.
Definition: Title.php:667
The shared interface for all language converters.
Basic database interface for live and lazy-loaded relation database handles.
Definition: IDatabase.php:40
Result wrapper for grabbing data queried from an IDatabase object.