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 
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  }
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 }
PageQueryPage\getLanguageConverter
getLanguageConverter()
Definition: PageQueryPage.php:67
HtmlArmor
Marks HTML that shouldn't be escaped.
Definition: HtmlArmor.php:30
MediaWiki\MediaWikiServices
MediaWikiServices is the service locator for the application scope of MediaWiki.
Definition: MediaWikiServices.php:193
Linker\getInvalidTitleDescription
static getInvalidTitleDescription(IContextSource $context, $namespace, $title)
Get a message saying that an invalid title was encountered.
Definition: Linker.php:185
$res
$res
Definition: testCompression.php:57
QueryPage
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:41
QueryPage\executeLBFromResultWrapper
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:874
Wikimedia\Rdbms\IDatabase
Basic database interface for live and lazy-loaded relation database handles.
Definition: IDatabase.php:38
PageQueryPage
Variant of QueryPage which formats the result as a simple link to the page.
Definition: PageQueryPage.php:34
Wikimedia\Rdbms\IResultWrapper
Result wrapper for grabbing data queried from an IDatabase object.
Definition: IResultWrapper.php:26
$title
$title
Definition: testCompression.php:38
SpecialPage\getContext
getContext()
Gets the context this SpecialPage is executed in.
Definition: SpecialPage.php:764
PageQueryPage\formatResult
formatResult( $skin, $row)
Format the result as a simple link to the page.
Definition: PageQueryPage.php:86
PageQueryPage\preprocessResults
preprocessResults( $db, $res)
Run a LinkBatch to pre-cache LinkCache information, like page existence and information for stub colo...
Definition: PageQueryPage.php:49
Title\makeTitleSafe
static makeTitleSafe( $ns, $title, $fragment='', $interwiki='')
Create a new Title from a namespace index and a DB key.
Definition: Title.php:677
ILanguageConverter
The shared interface for all language converters.
Definition: ILanguageConverter.php:29
PageQueryPage\setLanguageConverter
setLanguageConverter(ILanguageConverter $languageConverter)
Definition: PageQueryPage.php:57
SpecialPage\getLinkRenderer
getLinkRenderer()
Definition: SpecialPage.php:1028
Title
Represents a title within MediaWiki.
Definition: Title.php:48
PageQueryPage\$languageConverter
ILanguageConverter null $languageConverter
Definition: PageQueryPage.php:37
SpecialPage\getContentLanguage
getContentLanguage()
Shortcut to get content language.
Definition: SpecialPage.php:840
Html\element
static element( $element, $attribs=[], $contents='')
Identical to rawElement(), but HTML-escapes $contents (like Xml::element()).
Definition: Html.php:232