MediaWiki REL1_34
MediaWiki\Linker\LinkRenderer Class Reference

Class that generates HTML links for pages. More...

Collaboration diagram for MediaWiki\Linker\LinkRenderer:

Public Member Functions

 __construct (TitleFormatter $titleFormatter, LinkCache $linkCache, NamespaceInfo $nsInfo)
 
 getExpandURLs ()
 
 getForceArticlePath ()
 
 getLinkClasses (LinkTarget $target)
 Return the CSS classes of a known link.
 
 getStubThreshold ()
 
 makeBrokenLink (LinkTarget $target, $text=null, array $extraAttribs=[], array $query=[])
 
 makeKnownLink (LinkTarget $target, $text=null, array $extraAttribs=[], array $query=[])
 
 makeLink (LinkTarget $target, $text=null, array $extraAttribs=[], array $query=[])
 
 makePreloadedLink (LinkTarget $target, $text=null, $classes='', array $extraAttribs=[], array $query=[])
 If you have already looked up the proper CSS classes using LinkRenderer::getLinkClasses() or some other method, use this to avoid looking it up again.
 
 setExpandURLs ( $expand)
 
 setForceArticlePath ( $force)
 
 setRunLegacyBeginHook ( $run)
 
 setStubThreshold ( $threshold)
 

Private Member Functions

 buildAElement (LinkTarget $target, $text, array $attribs, $isKnown)
 Builds the final element.
 
 getLegacyOptions ( $isKnown)
 Get the options in the legacy format.
 
 getLinkText (LinkTarget $target)
 
 getLinkURL (LinkTarget $target, array $query=[])
 
 mergeAttribs ( $defaults, $attribs)
 Merges two sets of attributes.
 
 normalizeTarget (LinkTarget $target)
 Normalizes the provided target.
 
 runBeginHook (LinkTarget $target, &$text, &$extraAttribs, &$query, $isKnown)
 
 runLegacyBeginHook (LinkTarget $target, &$text, &$extraAttribs, &$query, $isKnown)
 

Private Attributes

string bool int $expandUrls = false
 A PROTO_* constant or false.
 
bool $forceArticlePath = false
 Whether to force the pretty article path.
 
LinkCache $linkCache
 
NamespaceInfo $nsInfo
 
bool $runLegacyBeginHook = true
 Whether to run the legacy Linker hooks.
 
int $stubThreshold = 0
 
TitleFormatter $titleFormatter
 

Detailed Description

Class that generates HTML links for pages.

See also
https://www.mediawiki.org/wiki/Manual:LinkRenderer
Since
1.28

Definition at line 41 of file LinkRenderer.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Linker\LinkRenderer::__construct ( TitleFormatter $titleFormatter,
LinkCache $linkCache,
NamespaceInfo $nsInfo )

Member Function Documentation

◆ buildAElement()

MediaWiki\Linker\LinkRenderer::buildAElement ( LinkTarget $target,
$text,
array $attribs,
$isKnown )
private

Builds the final element.

Parameters
LinkTarget$target
string | HtmlArmor$text
array$attribs
bool$isKnown
Returns
null|string

Definition at line 369 of file LinkRenderer.php.

References $title, HtmlArmor\getHtml(), and MediaWiki\Linker\LinkRenderer\getLegacyOptions().

Referenced by MediaWiki\Linker\LinkRenderer\makeBrokenLink(), and MediaWiki\Linker\LinkRenderer\makePreloadedLink().

◆ getExpandURLs()

MediaWiki\Linker\LinkRenderer::getExpandURLs ( )
Returns
string|bool|int a PROTO_* constant or false

Definition at line 121 of file LinkRenderer.php.

References MediaWiki\Linker\LinkRenderer\$expandUrls.

◆ getForceArticlePath()

MediaWiki\Linker\LinkRenderer::getForceArticlePath ( )
Returns
bool

Definition at line 107 of file LinkRenderer.php.

References MediaWiki\Linker\LinkRenderer\$forceArticlePath.

◆ getLegacyOptions()

MediaWiki\Linker\LinkRenderer::getLegacyOptions ( $isKnown)
private

Get the options in the legacy format.

Parameters
bool$isKnownWhether the link is known or broken
Returns
array

Definition at line 170 of file LinkRenderer.php.

References MediaWiki\Linker\LinkRenderer\$stubThreshold, PROTO_HTTP, and PROTO_HTTPS.

Referenced by MediaWiki\Linker\LinkRenderer\buildAElement(), and MediaWiki\Linker\LinkRenderer\runLegacyBeginHook().

◆ getLinkClasses()

MediaWiki\Linker\LinkRenderer::getLinkClasses ( LinkTarget $target)

Return the CSS classes of a known link.

Parameters
LinkTarget$target
Returns
string CSS class

Definition at line 469 of file LinkRenderer.php.

References MediaWiki\Linker\LinkTarget\getNamespace().

Referenced by MediaWiki\Linker\LinkRenderer\makeKnownLink().

◆ getLinkText()

MediaWiki\Linker\LinkRenderer::getLinkText ( LinkTarget $target)
private
Parameters
LinkTarget$target
Returns
string non-escaped text

Definition at line 398 of file LinkRenderer.php.

References MediaWiki\Linker\LinkTarget\getFragment(), and MediaWiki\Linker\LinkTarget\hasFragment().

Referenced by MediaWiki\Linker\LinkRenderer\makeBrokenLink(), and MediaWiki\Linker\LinkRenderer\makePreloadedLink().

◆ getLinkURL()

MediaWiki\Linker\LinkRenderer::getLinkURL ( LinkTarget $target,
array $query = [] )
private

◆ getStubThreshold()

MediaWiki\Linker\LinkRenderer::getStubThreshold ( )
Returns
int

Definition at line 135 of file LinkRenderer.php.

References MediaWiki\Linker\LinkRenderer\$stubThreshold.

◆ makeBrokenLink()

◆ makeKnownLink()

MediaWiki\Linker\LinkRenderer::makeKnownLink ( LinkTarget $target,
$text = null,
array $extraAttribs = [],
array $query = [] )

◆ makeLink()

MediaWiki\Linker\LinkRenderer::makeLink ( LinkTarget $target,
$text = null,
array $extraAttribs = [],
array $query = [] )
Parameters
LinkTarget$target
string | HtmlArmor | null$text
array$extraAttribs
array$query
Returns
string

Definition at line 153 of file LinkRenderer.php.

References $title, MediaWiki\Linker\LinkRenderer\makeBrokenLink(), and MediaWiki\Linker\LinkRenderer\makeKnownLink().

Referenced by ProtectedPagesPager\formatValue(), ProtectLogFormatter\getActionLinks(), and BlockListPager\getRestrictionListHTML().

◆ makePreloadedLink()

MediaWiki\Linker\LinkRenderer::makePreloadedLink ( LinkTarget $target,
$text = null,
$classes = '',
array $extraAttribs = [],
array $query = [] )

If you have already looked up the proper CSS classes using LinkRenderer::getLinkClasses() or some other method, use this to avoid looking it up again.

Parameters
LinkTarget$target
string | HtmlArmor | null$text
string$classesCSS classes to add
array$extraAttribs
array$query
Returns
string

Definition at line 256 of file LinkRenderer.php.

References MediaWiki\Linker\LinkRenderer\buildAElement(), MediaWiki\Linker\LinkRenderer\getLinkText(), MediaWiki\Linker\LinkRenderer\getLinkURL(), MediaWiki\Linker\LinkRenderer\mergeAttribs(), MediaWiki\Linker\LinkRenderer\normalizeTarget(), and MediaWiki\Linker\LinkRenderer\runBeginHook().

Referenced by MediaWiki\Linker\LinkRenderer\makeKnownLink().

◆ mergeAttribs()

MediaWiki\Linker\LinkRenderer::mergeAttribs ( $defaults,
$attribs )
private

Merges two sets of attributes.

Parameters
array$defaults
array$attribs
Returns
array

Definition at line 446 of file LinkRenderer.php.

Referenced by MediaWiki\Linker\LinkRenderer\makeBrokenLink(), and MediaWiki\Linker\LinkRenderer\makePreloadedLink().

◆ normalizeTarget()

MediaWiki\Linker\LinkRenderer::normalizeTarget ( LinkTarget $target)
private

Normalizes the provided target.

Todo
move the code from Linker actually here
Parameters
LinkTarget$target
Returns
LinkTarget

Definition at line 434 of file LinkRenderer.php.

References Linker\normaliseSpecialPage().

Referenced by MediaWiki\Linker\LinkRenderer\makeBrokenLink(), and MediaWiki\Linker\LinkRenderer\makePreloadedLink().

◆ runBeginHook()

MediaWiki\Linker\LinkRenderer::runBeginHook ( LinkTarget $target,
& $text,
& $extraAttribs,
& $query,
$isKnown )
private

◆ runLegacyBeginHook()

◆ setExpandURLs()

MediaWiki\Linker\LinkRenderer::setExpandURLs ( $expand)
Parameters
string | bool | int$expandA PROTO_* constant or false

Definition at line 114 of file LinkRenderer.php.

References $expand.

◆ setForceArticlePath()

MediaWiki\Linker\LinkRenderer::setForceArticlePath ( $force)
Parameters
bool$force

Definition at line 100 of file LinkRenderer.php.

◆ setRunLegacyBeginHook()

MediaWiki\Linker\LinkRenderer::setRunLegacyBeginHook ( $run)
Parameters
bool$run

Definition at line 142 of file LinkRenderer.php.

References $run, and MediaWiki\Linker\LinkRenderer\runLegacyBeginHook().

◆ setStubThreshold()

MediaWiki\Linker\LinkRenderer::setStubThreshold ( $threshold)
Parameters
int$threshold

Definition at line 128 of file LinkRenderer.php.

Member Data Documentation

◆ $expandUrls

string bool int MediaWiki\Linker\LinkRenderer::$expandUrls = false
private

A PROTO_* constant or false.

Definition at line 55 of file LinkRenderer.php.

Referenced by MediaWiki\Linker\LinkRenderer\getExpandURLs().

◆ $forceArticlePath

bool MediaWiki\Linker\LinkRenderer::$forceArticlePath = false
private

Whether to force the pretty article path.

Definition at line 48 of file LinkRenderer.php.

Referenced by MediaWiki\Linker\LinkRenderer\getForceArticlePath().

◆ $linkCache

LinkCache MediaWiki\Linker\LinkRenderer::$linkCache
private

Definition at line 70 of file LinkRenderer.php.

Referenced by MediaWiki\Linker\LinkRenderer\__construct().

◆ $nsInfo

NamespaceInfo MediaWiki\Linker\LinkRenderer::$nsInfo
private

Definition at line 75 of file LinkRenderer.php.

Referenced by MediaWiki\Linker\LinkRenderer\__construct().

◆ $runLegacyBeginHook

bool MediaWiki\Linker\LinkRenderer::$runLegacyBeginHook = true
private

Whether to run the legacy Linker hooks.

Definition at line 82 of file LinkRenderer.php.

◆ $stubThreshold

int MediaWiki\Linker\LinkRenderer::$stubThreshold = 0
private

◆ $titleFormatter

TitleFormatter MediaWiki\Linker\LinkRenderer::$titleFormatter
private

Definition at line 65 of file LinkRenderer.php.

Referenced by MediaWiki\Linker\LinkRenderer\__construct().


The documentation for this class was generated from the following file: