MediaWiki  1.23.2
Linker Class Reference

Some internal bits split of from Skin.php. More...

Static Public Member Functions

static accesskey ( $name)
 Given the id of an interface element, constructs the appropriate accesskey attribute from the system messages. More...
 
static blockLink ( $userId, $userText)
 
static buildRollbackLink ( $rev, IContextSource $context=null, $editCount=false)
 Build a raw rollback link, useful for collections of "tool" links. More...
 
static commentBlock ( $comment, $title=null, $local=false)
 Wrap a comment in standard punctuation and formatting if it's non-empty, otherwise return empty string. More...
 
static emailLink ( $userId, $userText)
 
static formatComment ( $comment, $title=null, $local=false)
 This function is called by all recent changes variants, by the page history, and by the user contributions list. More...
 
static formatHiddenCategories ( $hiddencats)
 Returns HTML for the "hidden categories on this page" list. More...
 
static formatLinksInComment ( $comment, $title=null, $local=false)
 Formats wiki links and media links in text; all other wiki formatting is ignored. More...
 
static formatRevisionSize ( $size)
 
static formatSize ( $size)
 Format a size in bytes for output, using an appropriate unit (B, KB, MB or GB) according to the magnitude in question. More...
 
static formatTemplates ( $templates, $preview=false, $section=false, $more=null)
 Returns HTML for the "templates used on this page" list. More...
 
static generateRollback ( $rev, IContextSource $context=null, $options=array( 'verify'))
 Generate a rollback link for a given revision. More...
 
static generateTOC ( $tree)
 Generate a table of contents from a section tree Currently unused. More...
 
static getExternalLinkAttributes ( $class='external')
 Get the appropriate HTML attributes to add to the "a" element of an external link, as created by [wikisyntax]. More...
 
static getInternalLinkAttributes ( $title, $unused=null, $class='')
 Get the appropriate HTML attributes to add to the "a" element of an internal link. More...
 
static getInternalLinkAttributesObj ( $nt, $unused=null, $class='', $title=false)
 Get the appropriate HTML attributes to add to the "a" element of an internal link, given the Title object for the page we want to link to. More...
 
static getInterwikiLinkAttributes ( $title, $unused=null, $class='external')
 Get the appropriate HTML attributes to add to the "a" element of an interwiki link. More...
 
static getInvalidTitleDescription (IContextSource $context, $namespace, $title)
 Get a message saying that an invalid title was encountered. More...
 
static getLinkColour ( $t, $threshold)
 Return the CSS colour of a known link. More...
 
static getRevDeleteLink (User $user, Revision $rev, Title $title)
 Get a revision-deletion link, or disabled link, or nothing, depending on user permissions & the settings on the revision. More...
 
static getRollbackEditCount ( $rev, $verify)
 This function will return the number of revisions which a rollback would revert and, if $verify is set it will verify that a revision can be reverted (that the user isn't the only contributor and the revision we might rollback to isn't deleted). More...
 
static link ( $target, $html=null, $customAttribs=array(), $query=array(), $options=array())
 This function returns an HTML link to the given target. More...
 
static linkKnown ( $target, $html=null, $customAttribs=array(), $query=array(), $options=array( 'known', 'noclasses'))
 Identical to link(), except $options defaults to 'known'. More...
 
static makeBrokenImageLinkObj ( $title, $label='', $query='', $unused1='', $unused2='', $time=false)
 Make a "broken" link to an image. More...
 
static makeExternalImage ( $url, $alt='')
 Return the code for images which were added via external links, via Parser::maybeMakeExternalImage(). More...
 
static makeExternalLink ( $url, $text, $escape=true, $linktype='', $attribs=array(), $title=null)
 Make an external link. More...
 
static makeHeadline ( $level, $attribs, $anchor, $html, $link, $legacyAnchor=false)
 Create a headline for content. More...
 
static makeImageLink ($parser, Title $title, $file, $frameParams=array(), $handlerParams=array(), $time=false, $query="", $widthOption=null)
 Given parameters derived from [[Image:Foo|options...]], generate the HTML that that syntax inserts in the page. More...
 
static makeImageLink2 (Title $title, $file, $frameParams=array(), $handlerParams=array(), $time=false, $query="", $widthOption=null)
 See makeImageLink() When this function is removed, remove if( $parser instanceof Parser ) check there too. More...
 
static makeKnownLinkObj ( $title, $text='', $query='', $trail='', $prefix='', $aprops='', $style='')
 
static makeLinkObj ( $nt, $text='', $query='', $trail='', $prefix='')
 
static makeMediaLinkFile (Title $title, $file, $html='')
 Create a direct link to a given uploaded file. More...
 
static makeMediaLinkObj ( $title, $html='', $time=false)
 Create a direct link to a given uploaded file. More...
 
static makeSelfLinkObj ( $nt, $html='', $query='', $trail='', $prefix='')
 Make appropriate markup for a link to the current article. More...
 
static makeThumbLink2 (Title $title, $file, $frameParams=array(), $handlerParams=array(), $time=false, $query="")
 
static makeThumbLinkObj (Title $title, $file, $label='', $alt, $align='right', $params=array(), $framed=false, $manualthumb="")
 Make HTML for a thumbnail including image, border and caption. More...
 
static normaliseSpecialPage (Title $title)
 
static normalizeSubpageLink ( $contextTitle, $target, &$text)
 
static processResponsiveImages ( $file, $thumb, $hp)
 Process responsive images: add 1.5x and 2x subimages to the thumbnail, where applicable. More...
 
static revComment (Revision $rev, $local=false, $isPublic=false)
 Wrap and format the given revision's comment block, if the current user is allowed to view it. More...
 
static revDeleteLink ( $query=array(), $restricted=false, $delete=true)
 Creates a (show/hide) link for deleting revisions/log entries. More...
 
static revDeleteLinkDisabled ( $delete=true)
 Creates a dead (show/hide) link for deleting revisions/log entries. More...
 
static revUserLink ( $rev, $isPublic=false)
 Generate a user link if the current user is allowed to view it. More...
 
static revUserTools ( $rev, $isPublic=false)
 Generate a user tool link cluster if the current user is allowed to view it. More...
 
static specialLink ( $name, $key='')
 Make a link to a special page given its name and, optionally, a message key from the link text. More...
 
static splitTrail ( $trail)
 Split a link trail, return the "inside" portion and the remainder of the trail as a two-element array. More...
 
static titleAttrib ( $name, $options=null)
 Given the id of an interface element, constructs the appropriate title attribute from the system messages. More...
 
static tocIndent ()
 Add another level to the Table of Contents. More...
 
static tocLine ( $anchor, $tocline, $tocnumber, $level, $sectionIndex=false)
 parameter level defines if we are on an indentation level More...
 
static tocLineEnd ()
 End a Table Of Contents line. More...
 
static tocList ( $toc, $lang=false)
 Wraps the TOC in a table and provides the hide/collapse javascript. More...
 
static tocUnindent ( $level)
 Finish one or more sublevels on the Table of Contents. More...
 
static tooltip ( $name, $options=null)
 Returns raw bits of HTML, use titleAttrib() More...
 
static tooltipAndAccesskeyAttribs ( $name)
 Returns the attributes for the tooltip and access key. More...
 
static userLink ( $userId, $userName, $altUserName=false)
 Make user link (or user contributions for unregistered users) More...
 
static userTalkLink ( $userId, $userText)
 
static userToolLinks ( $userId, $userText, $redContribsWhenNoEdits=false, $flags=0, $edits=null)
 Generate standard user tool links (talk, contributions, block link, etc.) More...
 
static userToolLinksRedContribs ( $userId, $userText, $edits=null)
 Alias for userToolLinks( $userId, $userText, true );. More...
 

Public Attributes

const TOOL_LINKS_EMAIL = 2
 
const TOOL_LINKS_NOBLOCK = 1
 Flags for userToolLinks() More...
 

Static Public Attributes

static $accesskeycache
 
static $autocommentLocal
 
static $autocommentTitle
 
static $commentContextTitle
 
static $commentLocal
 

Static Protected Member Functions

static formatLinksInCommentCallback ( $match)
 
static getUploadUrl ( $destFile, $query='')
 Get the URL to upload a certain file. More...
 

Static Private Member Functions

static fnamePart ( $url)
 Returns the filename part of an url. More...
 
static formatAutocomments ( $comment, $title=null, $local=false)
 Converts autogenerated comments in edit summaries into section links. More...
 
static formatAutocommentsCallback ( $match)
 Helper function for Linker::formatAutocomments. More...
 
static getImageLinkMTOParams ( $frameParams, $query='', $parser=null)
 Get the link parameters for MediaTransformOutput::toHtml() from given frame parameters supplied by the Parser. More...
 
static getLinkAttributesInternal ( $title, $class)
 Common code for getLinkAttributesX functions. More...
 
static linkAttribs ( $target, $attribs, $options)
 Returns the array of attributes used when linking to the Title $target. More...
 
static linkText ( $target)
 Default text of the links to the Title $target. More...
 
static linkUrl ( $target, $query, $options)
 Returns the Url used to link to a Title. More...
 

Detailed Description

Some internal bits split of from Skin.php.

These functions are used for primarily page content: links, embedded images, table of contents. Links are also used in the skin.

Todo:
: turn this into a legacy interface for HtmlPageLinkRenderer and similar services.

Definition at line 32 of file Linker.php.

Member Function Documentation

◆ accesskey()

static Linker::accesskey (   $name)
static

Given the id of an interface element, constructs the appropriate accesskey attribute from the system messages.

(Note, this is usually the id but isn't always, because sometimes the accesskey needs to go on a different element than the id, for reverse-compatibility, etc.)

Parameters
string$nameId of the element, minus prefixes.
Returns
string Contents of the accesskey attribute (which you must HTML- escape), or false for no accesskey attribute

Definition at line 2117 of file Linker.php.

◆ blockLink()

static Linker::blockLink (   $userId,
  $userText 
)
static
Parameters
int$userIdUserid
string$userTextUser name in database.
Returns
string HTML fragment with block link

Definition at line 1175 of file Linker.php.

References SpecialPage\getTitleFor(), link(), and wfMessage().

Referenced by userToolLinks().

◆ buildRollbackLink()

static Linker::buildRollbackLink (   $rev,
IContextSource  $context = null,
  $editCount = false 
)
static

Build a raw rollback link, useful for collections of "tool" links.

Parameters
Revision$rev
IContextSource | null$contextContext to use or null for the main context.
int$editCountNumber of edits that would be reverted
Returns
string HTML fragment

Definition at line 1861 of file Linker.php.

References $query, $rev, $title, array(), as, RequestContext\getMain(), getRollbackEditCount(), global, and link().

Referenced by generateRollback().

◆ commentBlock()

static Linker::commentBlock (   $comment,
  $title = null,
  $local = false 
)
static

Wrap a comment in standard punctuation and formatting if it's non-empty, otherwise return empty string.

Parameters
string$comment
Title | null$titleTitle object (to generate link to section in autocomment) or null
bool$localWhether section links should refer to local page
Returns
string

Definition at line 1556 of file Linker.php.

References $comment, $title, formatComment(), and wfMessage().

Referenced by LogFormatter\getComment(), RevDel_FileItem\getComment(), SpecialUndelete\getFileComment(), RevDel_LogItem\getHTML(), ChangesList\insertComment(), revComment(), and LogFormatterTest\testLogComment().

◆ emailLink()

static Linker::emailLink (   $userId,
  $userText 
)
static
Parameters
int$userIdUserid
string$userTextUser name in database.
Returns
string HTML fragment with e-mail user link

Definition at line 1186 of file Linker.php.

References SpecialPage\getTitleFor(), link(), and wfMessage().

Referenced by userToolLinks().

◆ fnamePart()

static Linker::fnamePart (   $url)
staticprivate

Returns the filename part of an url.

Used as alternative text for external images.

Parameters
$urlstring
Returns
string

Definition at line 468 of file Linker.php.

Referenced by makeExternalImage().

◆ formatAutocomments()

static Linker::formatAutocomments (   $comment,
  $title = null,
  $local = false 
)
staticprivate

Converts autogenerated comments in edit summaries into section links.

The pattern for autogen comments is / * foo * /, which makes for some nasty regex. We look for all comments, match any text before and after the comment, add a separator where needed and format the comment itself with CSS Called by Linker::formatComment.

Parameters
string$commentComment text
Title | null$titleAn optional title object used to links to sections
bool$localWhether section links should refer to local page
Returns
string Formatted comment

Definition at line 1289 of file Linker.php.

References $comment, $title, and array().

Referenced by formatComment().

◆ formatAutocommentsCallback()

static Linker::formatAutocommentsCallback (   $match)
staticprivate

◆ formatComment()

static Linker::formatComment (   $comment,
  $title = null,
  $local = false 
)
static

This function is called by all recent changes variants, by the page history, and by the user contributions list.

It is responsible for formatting edit summaries. It escapes any HTML in the summary, but adds some CSS to format auto-generated comments (from section editing) and formats [[wikilinks]].

Author
Erik Moeller moell.nosp@m.er@s.nosp@m.cirev.nosp@m.iew..nosp@m.de

Note: there's not always a title to pass to this function. Since you can't set a default parameter for a reference, I've turned it temporarily to a value pass. Should be adjusted further. –brion

Parameters
string$comment
Title | null$titleTitle object (to generate link to the section in autocomment) or null
bool$localWhether section links should refer to local page
Returns
mixed|String

Definition at line 1254 of file Linker.php.

References $comment, $title, Sanitizer\escapeHtmlAllowEntities(), formatAutocomments(), formatLinksInComment(), wfProfileIn(), and wfProfileOut().

Referenced by commentBlock(), ApiParse\execute(), ApiQueryDeletedrevs\execute(), ApiQueryFilearchive\execute(), ApiQueryWatchlist\extractRowInfo(), ApiQueryContributions\extractRowInfo(), ApiQueryLogEvents\extractRowInfo(), ApiQueryRecentChanges\extractRowInfo(), ApiQueryRevisions\extractRowInfo(), FeedUtils\formatDiffRow(), BlockListPager\formatValue(), ProtectedPagesPager\formatValue(), ImageListPager\formatValue(), ApiQueryImageInfo\getInfo(), RollbackAction\onView(), and ApiQueryProtectedTitles\run().

◆ formatHiddenCategories()

static Linker::formatHiddenCategories (   $hiddencats)
static

Returns HTML for the "hidden categories on this page" list.

Parameters
array$hiddencatsArray of hidden categories from Article::getHiddenCategories or similar
Returns
String HTML output

Definition at line 2029 of file Linker.php.

References array(), as, link(), wfMessage(), and wfProfileIn().

Referenced by InfoAction\pageInfo().

◆ formatLinksInComment()

static Linker::formatLinksInComment (   $comment,
  $title = null,
  $local = false 
)
static

Formats wiki links and media links in text; all other wiki formatting is ignored.

Todo:
FIXME: Doesn't handle sub-links as in image thumb texts like the main parser
Parameters
string$commentText to format links in
Title | null$titleAn optional title object used to links to sections
bool$localWhether section links should refer to local page
Returns
string

Definition at line 1373 of file Linker.php.

References $comment, $html, $title, and array().

Referenced by formatComment().

◆ formatLinksInCommentCallback()

static Linker::formatLinksInCommentCallback (   $match)
staticprotected

◆ formatRevisionSize()

static Linker::formatRevisionSize (   $size)
static

◆ formatSize()

static Linker::formatSize (   $size)
static

Format a size in bytes for output, using an appropriate unit (B, KB, MB or GB) according to the magnitude in question.

Parameters
int$sizeSize to format
Returns
String

Definition at line 2055 of file Linker.php.

◆ formatTemplates()

static Linker::formatTemplates (   $templates,
  $preview = false,
  $section = false,
  $more = null 
)
static

Returns HTML for the "templates used on this page" list.

Make an HTML list of templates, and then add a "More..." link at the bottom. If $more is null, do not add a "More..." link. If $more is a Title, make a link to that title and use it. If $more is a string, directly paste it in as the link (escaping needs to be done manually). Finally, if $more is a Message, call toString().

Parameters
array$templatesArray of templates from Article::getUsedTemplate or similar
bool$previewWhether this is for a preview
bool$sectionWhether this is for a section edit
Title | Message | string | null$moreAn escaped link for "More..." of the templates
Returns
string HTML output

Definition at line 1936 of file Linker.php.

References $batch, $section, $title, $wgLang, array(), as, global, link(), text, wfMessage(), wfProfileIn(), and wfProfileOut().

Referenced by InfoAction\pageInfo(), and OutputPage\readOnlyPage().

◆ generateRollback()

static Linker::generateRollback (   $rev,
IContextSource  $context = null,
  $options = array( 'verify' ) 
)
static

Generate a rollback link for a given revision.

Currently it's the caller's responsibility to ensure that the revision is the top one. If it's not, of course, the user will get an error message.

If the calling page is called with the parameter &bot=1, all rollback links also get that parameter. It causes the edit itself and the rollback to be marked as "bot" edits. Bot edits are hidden by default from recent changes, so this allows sysops to combat a busy vandal without bothering other users.

If the option verify is set this function will return the link only in case the revision can be reverted. Please note that due to performance limitations it might be assumed that a user isn't the only contributor of a page while (s)he is, which will lead to useless rollback links. Furthermore this wont work if $wgShowRollbackEditCount is disabled, so this can only function as an additional check.

If the option noBrackets is set the rollback link wont be enclosed in []

Parameters
$revRevision object
$contextIContextSource context to use or null for the main context.
$optionsarray
Returns
string

Definition at line 1770 of file Linker.php.

References $options, $rev, buildRollbackLink(), RequestContext\getMain(), and getRollbackEditCount().

Referenced by ContribsPager\formatRow(), HistoryPager\historyLine(), ChangesList\insertRollback(), and DifferenceEngine\showDiffPage().

◆ generateTOC()

static Linker::generateTOC (   $tree)
static

Generate a table of contents from a section tree Currently unused.

Parameters
array$treeReturn value of ParserOutput::getSections()
Returns
string HTML fragment

Definition at line 1678 of file Linker.php.

References $section, as, tocIndent(), tocLine(), tocLineEnd(), tocList(), and tocUnindent().

◆ getExternalLinkAttributes()

static Linker::getExternalLinkAttributes (   $class = 'external')
static

Get the appropriate HTML attributes to add to the "a" element of an external link, as created by [wikisyntax].

Parameters
string$classthe contents of the class attribute; if an empty string is passed, which is the default value, defaults to 'external'.
Returns
string
Deprecated:
since 1.18 Just pass the external class directly to something using Html::expandAttributes

Definition at line 49 of file Linker.php.

References getLinkAttributesInternal(), and wfDeprecated().

◆ getImageLinkMTOParams()

static Linker::getImageLinkMTOParams (   $frameParams,
  $query = '',
  $parser = null 
)
staticprivate

Get the link parameters for MediaTransformOutput::toHtml() from given frame parameters supplied by the Parser.

Parameters
array$frameParamsThe frame parameters
string$queryAn optional query string to add to description page links
Returns
array

Definition at line 689 of file Linker.php.

References $name, $parser, $query, array(), as, and normaliseSpecialPage().

Referenced by makeImageLink(), and makeThumbLink2().

◆ getInternalLinkAttributes()

static Linker::getInternalLinkAttributes (   $title,
  $unused = null,
  $class = '' 
)
static

Get the appropriate HTML attributes to add to the "a" element of an internal link.

Parameters
string$titlethe title text for the link, URL-encoded (???) but not HTML-escaped
string$unusedunused
string$classthe contents of the class attribute, default none
Returns
string

Definition at line 85 of file Linker.php.

References $title, and getLinkAttributesInternal().

◆ getInternalLinkAttributesObj()

static Linker::getInternalLinkAttributesObj (   $nt,
  $unused = null,
  $class = '',
  $title = false 
)
static

Get the appropriate HTML attributes to add to the "a" element of an internal link, given the Title object for the page we want to link to.

Parameters
$ntTitle
string$unusedUnused
string$classThe contents of the class attribute, default none
string | bool$titleOptional (unescaped) string to use in the title attribute; if false, default to the name of the page we're linking to
Returns
string

Definition at line 102 of file Linker.php.

References $title, and getLinkAttributesInternal().

◆ getInterwikiLinkAttributes()

static Linker::getInterwikiLinkAttributes (   $title,
  $unused = null,
  $class = 'external' 
)
static

Get the appropriate HTML attributes to add to the "a" element of an interwiki link.

Parameters
string$titlethe title text for the link, URL-encoded (???) but not HTML-escaped
string$unusedunused
string$classthe contents of the class attribute; if an empty string is passed, which is the default value, defaults to 'external'.
Returns
string

Definition at line 64 of file Linker.php.

References $title, $wgContLang, getLinkAttributesInternal(), and global.

◆ getInvalidTitleDescription()

static Linker::getInvalidTitleDescription ( IContextSource  $context,
  $namespace,
  $title 
)
static

Get a message saying that an invalid title was encountered.

This should be called after a method like Title::makeTitleSafe() returned a value indicating that the title object is invalid.

Parameters
$contextIContextSource context to use to get the messages
int$namespaceNamespace number
string$titleText of the title, without the namespace part
Returns
string

Definition at line 427 of file Linker.php.

References $name, $title, $wgContLang, MWNamespace\exists(), global, IContextSource\msg(), and NS_MAIN.

Referenced by PageQueryPage\formatResult(), PopularPagesPage\formatResult(), FewestrevisionsPage\formatResult(), UnwatchedpagesPage\formatResult(), MostlinkedCategoriesPage\formatResult(), ShortPagesPage\formatResult(), MostcategoriesPage\formatResult(), MostinterwikisPage\formatResult(), MostlinkedTemplatesPage\formatResult(), MostlinkedPage\formatResult(), SpecialProtectedtitles\formatRow(), ProtectedPagesPager\formatValue(), and SpecialUndelete\showList().

◆ getLinkAttributesInternal()

static Linker::getLinkAttributesInternal (   $title,
  $class 
)
staticprivate

Common code for getLinkAttributesX functions.

Parameters
$titlestring
$classstring
Returns
string

Definition at line 117 of file Linker.php.

References $title.

Referenced by getExternalLinkAttributes(), getInternalLinkAttributes(), getInternalLinkAttributesObj(), and getInterwikiLinkAttributes().

◆ getLinkColour()

static Linker::getLinkColour (   $t,
  $threshold 
)
static

Return the CSS colour of a known link.

Parameters
Title$t
int$thresholdUser defined threshold
Returns
string CSS class

Definition at line 137 of file Linker.php.

References $t.

Referenced by LinkHolderArray\doVariants(), linkAttribs(), and LinkHolderArray\replaceInternal().

◆ getRevDeleteLink()

static Linker::getRevDeleteLink ( User  $user,
Revision  $rev,
Title  $title 
)
static

Get a revision-deletion link, or disabled link, or nothing, depending on user permissions & the settings on the revision.

Will use forward-compatible revision ID in the Special:RevDelete link if possible, otherwise the timestamp-based ID which may break after undeletion.

Parameters
User$user
Revision$rev
Revision$title
Returns
string HTML fragment

Definition at line 2155 of file Linker.php.

Referenced by SpecialUndelete\diffHeader(), SpecialUndelete\formatRevisionRow(), DeletedContribsPager\formatRow(), ContribsPager\formatRow(), DifferenceEngine\revisionDeleteLink(), Article\setOldSubtitle(), and SpecialUndelete\showRevision().

◆ getRollbackEditCount()

static Linker::getRollbackEditCount (   $rev,
  $verify 
)
static

This function will return the number of revisions which a rollback would revert and, if $verify is set it will verify that a revision can be reverted (that the user isn't the only contributor and the revision we might rollback to isn't deleted).

These checks can only function as an additional check as this function only checks against the last $wgShowRollbackEditCount edits.

Returns null if $wgShowRollbackEditCount is disabled or false if $verify is set and the user is the only contributor of the page.

Parameters
$revRevision object
bool$verifyTry to verify that this revision can really be rolled back
Returns
integer|bool|null

Definition at line 1806 of file Linker.php.

References $dbr, $res, $rev, array(), as, DB_SLAVE, Revision\DELETED_TEXT, Revision\DELETED_USER, global, and wfGetDB().

Referenced by buildRollbackLink(), and generateRollback().

◆ getUploadUrl()

static Linker::getUploadUrl (   $destFile,
  $query = '' 
)
staticprotected

Get the URL to upload a certain file.

Parameters
Title$destFileTitle object of the file to upload
string$queryUrlencoded query string to prepend
Returns
string Urlencoded URL

Definition at line 952 of file Linker.php.

References $query, $upload, SpecialPage\getTitleFor(), global, and wfAppendQuery().

Referenced by makeBrokenImageLinkObj(), and makeMediaLinkFile().

◆ link()

static Linker::link (   $target,
  $html = null,
  $customAttribs = array(),
  $query = array(),
  $options = array() 
)
static

This function returns an HTML link to the given target.

It serves a few purposes: 1) If $target is a Title, the correct URL to link to will be figured out automatically. 2) It automatically adds the usual classes for various types of link targets: "new" for red links, "stub" for short articles, etc. 3) It escapes all attribute values safely so there's no risk of XSS. 4) It provides a default tooltip if the target is a Title (the page name of the target). link() replaces the old functions in the makeLink() family.

Since
1.18 Method exists since 1.16 as non-static, made static in 1.18.
Parameters
Title$targetCan currently only be a Title, but this may change to support Images, literal URLs, etc.
string$htmlThe HTML contents of the element, i.e., the link text. This is raw HTML and will not be escaped. If null, defaults to the prefixed text of the Title; or if the Title is just a fragment, the contents of the fragment.
array$customAttribsA key => value array of extra HTML attributes, such as title and class. (href is ignored.) Classes will be merged with the default classes, while other attributes will replace default attributes. All passed attribute values will be HTML-escaped. A false attribute value means to suppress that attribute.
array$queryThe query string to append to the URL you're linking to, in key => value array form. Query keys and values will be URL-encoded.
string | array$optionsString or array of strings: 'known': Page is known to exist, so don't check if it does. 'broken': Page is known not to exist, so don't check if it does. 'noclasses': Don't add any classes automatically (includes "new", "stub", "mw-redirect", "extiw"). Only use the class attribute provided, if any, so you get a simple blue link with no funny i- cons. 'forcearticlepath': Use the article path always, even with a querystring. Has compatibility issues on some setups, so avoid wherever possible. 'http': Force a full URL with http:// as the scheme. 'https': Force a full URL with https:// as the scheme.
Returns
string HTML attribute

Definition at line 192 of file Linker.php.

References $attribs, $customAttribs, $html, $options, $query, $ret, array(), linkText(), normaliseSpecialPage(), Html\rawElement(), wfAppendQuery(), wfCgiToArray(), wfDeprecated(), wfProfileIn(), wfProfileOut(), and wfRunHooks().

Referenced by OutputPage\addBacklinkSubtitle(), OutputPage\addCategoryLinks(), CategoryViewer\addImage(), CategoryViewer\addPage(), OutputPage\addReturnTo(), CategoryViewer\addSubcategoryObject(), blockLink(), RCCacheEntryFactory\buildCLink(), ProtectionForm\buildForm(), SpecialEditWatchlist\buildRemoveLine(), buildRollbackLink(), Article\confirmDelete(), SpecialContributions\contributionsSub(), SpecialUndelete\diffHeader(), Skin\doEditSectionLink(), MovePageForm\doSubmit(), SpecialTags\doTagRow(), Skin\drawCategoryBrowser(), emailLink(), SpecialTrackingCategories\execute(), SpecialListGroupRights\execute(), SpecialNewpages\filterLinks(), formatAutocommentsCallback(), formatHiddenCategories(), formatLinksInCommentCallback(), PageQueryPage\formatResult(), UnusedCategoriesPage\formatResult(), MostlinkedCategoriesPage\formatResult(), ShortPagesPage\formatResult(), WantedCategoriesPage\formatResult(), MostcategoriesPage\formatResult(), MostinterwikisPage\formatResult(), BrokenRedirectsPage\formatResult(), MostlinkedTemplatesPage\formatResult(), ListredirectsPage\formatResult(), MostlinkedPage\formatResult(), DoubleRedirectsPage\formatResult(), SpecialPagesWithProp\formatResult(), MIMEsearchPage\formatResult(), FileDuplicateSearchPage\formatResult(), WantedQueryPage\formatResult(), SpecialProtectedtitles\formatRow(), NewFilesPager\formatRow(), DeletedContribsPager\formatRow(), SpecialNewpages\formatRow(), ContribsPager\formatRow(), formatTemplates(), AllmessagesTablePager\formatValue(), ProtectedPagesPager\formatValue(), ImageListPager\formatValue(), Preferences\generateSkinOptions(), LegacyLogFormatter\getActionLinks(), PreferencesForm\getButtons(), CacheHelper\getCachedNotice(), Skin\getCategoryLinks(), InfoAction\getContributors(), SpecialVersion\getCreditsForExtension(), RevisionItem\getDiffLink(), RevDel_ArchiveItem\getDiffLink(), SpecialUnblock\getFields(), SpecialEmailUser\getFormFields(), SpecialJavaScriptTest\getFrameworkListHtml(), SpecialStatistics\getGroupStats(), RevDel_LogItem\getHTML(), RevDel_FileItem\getLink(), RevDel_ArchivedFileItem\getLink(), PatrolLogFormatter\getMessageParameters(), SpecialStatistics\getMostViewedPages(), RevisionItem\getRevisionLink(), RevDel_ArchiveItem\getRevisionLink(), DeletedContributionsPage\getSubTitle(), LogPage\getTitleLink(), CreditsAction\link(), linkKnown(), SpecialVersion\listAuthors(), User\makeGroupLinkHTML(), makeImageLink(), makeKnownLinkObj(), makeLinkObj(), LogFormatter\makePageLink(), MostlinkedTemplatesPage\makeWlhLink(), WantedQueryPage\makeWlhLink(), SpecialListGroupRights\outputNamespaceProtectionInfo(), InfoAction\pageInfo(), SpecialBlock\postText(), Preferences\profilePreferences(), EnhancedChangesList\recentChangesBlockGroup(), MediaWikiPageLinkRenderer\renderHtmlLink(), LinkHolderArray\replaceInternal(), LinkHolderArray\replaceInterwiki(), revDeleteLink(), SpecialAllpages\showChunk(), MovePageForm\showForm(), FileDeleteForm\showForm(), SpecialRevisionDelete\showForm(), MovePageForm\showSubpages(), SpecialEditWatchlist\showTitles(), SpecialAllpages\showToplevel(), Preferences\skinPreferences(), LogFormatterTest\testLogParamsTypeRaw(), LogFormatterTest\testLogParamsTypeTitleLink(), LogFormatterTest\testNormalLogParams(), userLink(), userTalkLink(), userToolLinks(), and Article\viewRedirect().

◆ linkAttribs()

static Linker::linkAttribs (   $target,
  $attribs,
  $options 
)
staticprivate

Returns the array of attributes used when linking to the Title $target.

Parameters
$targetTitle
$attribs
$options
Returns
array

Definition at line 319 of file Linker.php.

References $attribs, $options, $ret, $wgUser, array(), as, getLinkColour(), global, Sanitizer\mergeAttributes(), redirect, see, text, wfMessage(), wfProfileIn(), and wfProfileOut().

◆ linkKnown()

static Linker::linkKnown (   $target,
  $html = null,
  $customAttribs = array(),
  $query = array(),
  $options = array( 'known', 'noclasses' ) 
)
static

Identical to link(), except $options defaults to 'known'.

Returns
string

Definition at line 264 of file Linker.php.

References $customAttribs, $html, $options, $query, and link().

Referenced by RCCacheEntryFactory\buildCLink(), RCCacheEntryFactory\buildLastLink(), SpecialEditWatchlist\buildRemoveLine(), SpecialEditWatchlist\buildTools(), WatchAction\checkCanExecute(), HistoryPager\curLink(), SpecialWatchlist\daysLink(), Article\delete(), MovePageForm\doSubmit(), SpecialListGroupRights\execute(), SpecialJavaScriptTest\execute(), Skin\footerLink(), UncategorizedCategoriesPage\formatResult(), PopularPagesPage\formatResult(), AncientPagesPage\formatResult(), UnusedtemplatesPage\formatResult(), FewestrevisionsPage\formatResult(), UnwatchedpagesPage\formatResult(), ShortPagesPage\formatResult(), MostcategoriesPage\formatResult(), MostinterwikisPage\formatResult(), BrokenRedirectsPage\formatResult(), DoubleRedirectsPage\formatResult(), SpecialMergeHistory\formatRevisionRow(), SpecialUndelete\formatRevisionRow(), DeletedContribsPager\formatRow(), SpecialNewpages\formatRow(), ContribsPager\formatRow(), BlockListPager\formatValue(), AllmessagesTablePager\formatValue(), ProtectedPagesPager\formatValue(), ImageListPager\formatValue(), MoveLogFormatter\getActionLinks(), DeleteLogFormatter\getActionLinks(), LegacyLogFormatter\getActionLinks(), Skin\getCopyright(), HistoryAction\getDescription(), RevDel_RevisionItem\getDiffLink(), SpecialUpload\getExistsWarning(), SpecialUndelete\getFileLink(), LogEventsList\getFilterLinks(), SpecialStatistics\getGroupStats(), RCCacheEntryFactory\getLogLink(), Skin\getNewtalks(), SpecialUndelete\getPageLink(), SpecialStatistics\getPageStats(), DifferenceEngine\getRevisionHeader(), RevDel_RevisionItem\getRevisionLink(), DeletedContributionsPage\getSubTitle(), Skin\getUndeleteLink(), SpecialStatistics\getUserStats(), HistoryPager\historyLine(), SpecialWatchlist\hoursLink(), ImagePage\imageDupes(), ImagePage\imageLinks(), ChangesList\insertArticleLink(), ChangesList\insertDiffHist(), ChangesList\insertLog(), HistoryPager\lastLink(), SpecialWhatLinksHere\listItem(), Skin\mainPageLink(), makeBrokenImageLinkObj(), LoginForm\makeLanguageSelectorLink(), IndexPager\makeLink(), SpecialRecentChanges\makeOptionsLink(), SpecialWhatLinksHere\makeSelfLink(), MostlinkedPage\makeWlhLink(), DifferenceEngine\markPatrolledLink(), ImagePage\openShowImage(), CreditsAction\othersLink(), SpecialSpecialpages\outputPageList(), InfoAction\pageInfo(), CategoryViewer\pagingLinks(), SpecialBlock\postText(), Preferences\profilePreferences(), EnhancedChangesList\recentChangesBlockGroup(), EnhancedChangesList\recentChangesBlockLine(), ImportReporter\reportPage(), SpecialPage\requireLogin(), HistoryPager\revLink(), Article\setOldSubtitle(), SpecialAllpages\showChunk(), SpecialRevisionDelete\showConvenienceLinks(), DifferenceEngine\showDiffPage(), SpecialWatchlist\showHideLink(), SpecialSearch\showHit(), SpecialSearch\showInterwikiHit(), SpecialUndelete\showList(), Article\showPatrolFooter(), OutputPage\showPermissionsErrorPage(), SpecialPrefixindex\showPrefixChunk(), Article\showRedirectedFromHeader(), SpecialSearch\showResults(), SpecialUndelete\showRevision(), SpecialUpload\showViewDeletedLinks(), specialLink(), Skin\subPageSubtitle(), CologneBlueTemplate\sysLinks(), TraditionalImageGallery\toHTML(), SpecialUndelete\undelete(), Article\viewRedirect(), and SpecialWhatLinksHere\wlhLink().

◆ linkText()

static Linker::linkText (   $target)
staticprivate

Default text of the links to the Title $target.

Parameters
$targetTitle
Returns
string

Definition at line 381 of file Linker.php.

Referenced by link(), makeKnownLinkObj(), and makeLinkObj().

◆ linkUrl()

static Linker::linkUrl (   $target,
  $query,
  $options 
)
staticprivate

Returns the Url used to link to a Title.

Parameters
$targetTitle
array$queryquery parameters
$optionsArray
Returns
String

Definition at line 279 of file Linker.php.

References $options, $query, $ret, PROTO_HTTP, PROTO_HTTPS, PROTO_RELATIVE, wfProfileIn(), and wfProfileOut().

◆ makeBrokenImageLinkObj()

static Linker::makeBrokenImageLinkObj (   $title,
  $label = '',
  $query = '',
  $unused1 = '',
  $unused2 = '',
  $time = false 
)
static

Make a "broken" link to an image.

Parameters
Title$title
string$labellink label (plain text)
string$queryquery string
string$unused1Unused parameter kept for b/c
string$unused2Unused parameter kept for b/c
bool$timea file of a certain timestamp was requested
Returns
string

Definition at line 913 of file Linker.php.

References $query, $time, $title, array(), false, getUploadUrl(), global, linkKnown(), RepoGroup\singleton(), wfCgiToArray(), wfFindFile(), wfProfileIn(), and wfProfileOut().

Referenced by makeImageLink(), and makeThumbLink2().

◆ makeExternalImage()

static Linker::makeExternalImage (   $url,
  $alt = '' 
)
static

Return the code for images which were added via external links, via Parser::maybeMakeExternalImage().

Parameters
$url
$alt
Returns
string

Definition at line 487 of file Linker.php.

References $success, array(), Html\element(), fnamePart(), wfDebug(), and wfRunHooks().

◆ makeExternalLink()

static Linker::makeExternalLink (   $url,
  $text,
  $escape = true,
  $linktype = '',
  $attribs = array(),
  $title = null 
)
static

Make an external link.

Parameters
string$urlURL to link to
string$textText of link
bool$escapeDo we escape the link text?
string$linktypeType of external link. Gets added to the classes
array$attribsArray of extra attributes to
Title | null$titleTitle object used for title specific link attributes
Returns
string

Definition at line 1034 of file Linker.php.

References $attribs, $link, $success, $title, $wgTitle, array(), global, Html\rawElement(), wfDebug(), and wfRunHooks().

Referenced by LinkSearchPage\formatResult(), AllmessagesTablePager\formatValue(), Skin\getCopyright(), SpecialVersion\getCreditsForExtension(), SpecialVersion\getParserFunctionHooks(), SpecialVersion\getParserTags(), ImagePage\imageDupes(), WikiMap\makeForeignLink(), Article\showRedirectedFromHeader(), CologneBlueTemplate\sysLinks(), and ImagePage\uploadLinksBox().

◆ makeHeadline()

static Linker::makeHeadline (   $level,
  $attribs,
  $anchor,
  $html,
  $link,
  $legacyAnchor = false 
)
static

Create a headline for content.

Parameters
int$levelThe level of the headline (1-6)
string$attribsAny attributes for the headline, starting with a space and ending with '>' This must be at least '>' for no attribs
string$anchorthe anchor to give the headline (the bit after the #)
string$htmlhtml for the text of the header
string$linkHTML to add for the section edit link
bool | string$legacyAnchora second, optional anchor to give for backward compatibility (false to omit)
Returns
string HTML headline

Definition at line 1715 of file Linker.php.

References $link, and $ret.

◆ makeImageLink()

static Linker::makeImageLink (   $parser,
Title  $title,
  $file,
  $frameParams = array(),
  $handlerParams = array(),
  $time = false,
  $query = "",
  $widthOption = null 
)
static

Given parameters derived from [[Image:Foo|options...]], generate the HTML that that syntax inserts in the page.

Parameters
$parserParser object
$titleTitle object of the file (not the currently viewed page)
$fileFile object, or false if it doesn't exist
array$frameParamsassociative array of parameters external to the media handler. Boolean parameters are indicated by presence or absence, the value is arbitrary and will often be false. thumbnail If present, downscale and frame manualthumb Image name to use as a thumbnail, instead of automatic scaling framed Shows image in original size in a frame frameless Downscale but don't frame upright If present, tweak default sizes for portrait orientation upright_factor Fudge factor for "upright" tweak (default 0.75) border If present, show a border around the image align Horizontal alignment (left, right, center, none) valign Vertical alignment (baseline, sub, super, top, text-top, middle, bottom, text-bottom) alt Alternate text for image (i.e. alt attribute). Plain text. class HTML for image classes. Plain text. caption HTML for image caption. link-url URL to link to link-title Title object to link to link-target Value for the target attribute, only with link-url no-link Boolean, suppress description link
array$handlerParamsAssociative array of media handler parameters, to be passed to transform(). Typical keys are "width" and "page".
string$timeTimestamp of the file, set as false for current
string$queryQuery params for desc url
int | null$widthOptionUsed by the parser to remember the user preference thumbnailsize
Since
1.20
Returns
string HTML for an image, with links, wrappers, etc.

Definition at line 539 of file Linker.php.

References $file, $handlerParams, $params, $parser, $query, $res, $s, $time, $title, $wgContLang, array(), User\getDefaultOption(), getImageLinkMTOParams(), global, link(), makeBrokenImageLinkObj(), makeThumbLink2(), processResponsiveImages(), wfDebug(), and wfRunHooks().

Referenced by makeImageLink2().

◆ makeImageLink2()

static Linker::makeImageLink2 ( Title  $title,
  $file,
  $frameParams = array(),
  $handlerParams = array(),
  $time = false,
  $query = "",
  $widthOption = null 
)
static

See makeImageLink() When this function is removed, remove if( $parser instanceof Parser ) check there too.

Deprecated:
since 1.20

Definition at line 676 of file Linker.php.

References $file, $handlerParams, $query, $time, $title, and makeImageLink().

◆ makeKnownLinkObj()

static Linker::makeKnownLinkObj (   $title,
  $text = '',
  $query = '',
  $trail = '',
  $prefix = '',
  $aprops = '',
  $style = '' 
)
static
Deprecated:
since 1.16 Use link(); warnings since 1.21

Make a link for a title which definitely exists. This is faster than makeLinkObj because it doesn't have to do a database query. It's also valid for interwiki titles and special pages.

Parameters
Title$titleTitle object of target page
string$textText to replace the title
string$queryLink target
string$trailText after link
string$prefixText before link text
string$apropsExtra attributes to the a-element
string$styleStyle to apply - if empty, use getInternalLinkAttributesObj instead
Returns
string The a-element

Definition at line 2270 of file Linker.php.

References $attribs, $query, $ret, $title, array(), Sanitizer\decodeTagAttributes(), link(), linkText(), list, Sanitizer\mergeAttributes(), splitTrail(), wfCgiToArray(), wfDeprecated(), wfProfileIn(), and wfProfileOut().

◆ makeLinkObj()

static Linker::makeLinkObj (   $nt,
  $text = '',
  $query = '',
  $trail = '',
  $prefix = '' 
)
static
Deprecated:
since 1.16 Use link(); warnings since 1.21

Make a link for a title which may or may not be in the database. If you need to call this lots of times, pre-fill the link cache with a LinkBatch, otherwise each call to this will result in a DB query.

Parameters
Title$ntThe title object to make the link from, e.g. from Title::newFromText.
string$textLink text
string$queryoptional query part
string$trailoptional trail. Alphabetic characters at the start of this string will be included in the link text. Other characters will be appended after the end of the link.
string$prefixoptional prefix. As trail, only before instead of after.
Returns
string

Definition at line 2238 of file Linker.php.

References $query, $ret, array(), link(), linkText(), list, splitTrail(), wfCgiToArray(), wfDeprecated(), wfProfileIn(), and wfProfileOut().

◆ makeMediaLinkFile()

static Linker::makeMediaLinkFile ( Title  $title,
  $file,
  $html = '' 
)
static

Create a direct link to a given uploaded file.

This will make a broken link if $file is false.

Parameters
Title$title
File | bool$fileFile object or false
string$htmlPre-sanitized HTML
Returns
string HTML
Todo:
Handle invalid or missing images better.

Definition at line 993 of file Linker.php.

References $file, $html, $title, and getUploadUrl().

Referenced by makeMediaLinkObj().

◆ makeMediaLinkObj()

static Linker::makeMediaLinkObj (   $title,
  $html = '',
  $time = false 
)
static

Create a direct link to a given uploaded file.

Parameters
Title$title
string$htmlPre-sanitized HTML
string$timeMW timestamp of file creation time
Returns
string HTML

Definition at line 977 of file Linker.php.

References $html, $time, $title, array(), makeMediaLinkFile(), and wfFindFile().

Referenced by formatLinksInCommentCallback(), and MIMEsearchPage\formatResult().

◆ makeSelfLinkObj()

static Linker::makeSelfLinkObj (   $nt,
  $html = '',
  $query = '',
  $trail = '',
  $prefix = '' 
)
static

Make appropriate markup for a link to the current article.

This is currently rendered as the bold link text. The calling sequence is the same as the other make*LinkObj static functions, despite $query not being used.

Parameters
$ntTitle
string$html[optional]
string$query[optional]
string$trail[optional]
string$prefix[optional]
Returns
string

Definition at line 409 of file Linker.php.

References $html, list, and splitTrail().

Referenced by LinkHolderArray\replaceInternal().

◆ makeThumbLink2()

static Linker::makeThumbLink2 ( Title  $title,
  $file,
  $frameParams = array(),
  $handlerParams = array(),
  $time = false,
  $query = "" 
)
static
Parameters
$titleTitle
$fileFile
array$frameParams
array$handlerParams
bool$time
string$query
Returns
mixed

Definition at line 752 of file Linker.php.

References $file, $handlerParams, $params, $query, $s, $time, $title, $wgContLang, array(), Html\element(), getImageLinkMTOParams(), global, makeBrokenImageLinkObj(), Title\makeTitleSafe(), NS_FILE, processResponsiveImages(), Html\rawElement(), text, wfAppendQuery(), wfFindFile(), and wfMessage().

Referenced by makeImageLink(), and makeThumbLinkObj().

◆ makeThumbLinkObj()

static Linker::makeThumbLinkObj ( Title  $title,
  $file,
  $label = '',
  $alt,
  $align = 'right',
  $params = array(),
  $framed = false,
  $manualthumb = "" 
)
static

Make HTML for a thumbnail including image, border and caption.

Parameters
$titleTitle object
$fileFile object or false if it doesn't exist
$labelString
$altString
$alignString
$paramsArray
$framedBoolean
$manualthumbString
Returns
mixed

Definition at line 726 of file Linker.php.

References $file, $params, $title, array(), and makeThumbLink2().

Referenced by ImagePage\openShowImage().

◆ normaliseSpecialPage()

static Linker::normaliseSpecialPage ( Title  $title)
static
Parameters
$titleTitle
Returns
Title

Definition at line 447 of file Linker.php.

References $name, $ret, $title, SpecialPage\getTitleFor(), list, and SpecialPageFactory\resolveAlias().

Referenced by getImageLinkMTOParams(), and link().

◆ normalizeSubpageLink()

static Linker::normalizeSubpageLink (   $contextTitle,
  $target,
$text 
)
static
Parameters
$contextTitleTitle
$target
$text
Returns
string

Definition at line 1474 of file Linker.php.

References $hash, $ret, array(), below, change, MWNamespace\hasSubpages(), is(), page, reasons, wfProfileIn(), and wfProfileOut().

Referenced by formatLinksInCommentCallback().

◆ processResponsiveImages()

static Linker::processResponsiveImages (   $file,
  $thumb,
  $hp 
)
static

Process responsive images: add 1.5x and 2x subimages to the thumbnail, where applicable.

Parameters
File$file
MediaTransformOutput$thumb
array$hpimage parameters

Definition at line 879 of file Linker.php.

References $file, and global.

Referenced by makeImageLink(), makeThumbLink2(), and ImagePage\openShowImage().

◆ revComment()

static Linker::revComment ( Revision  $rev,
  $local = false,
  $isPublic = false 
)
static

Wrap and format the given revision's comment block, if the current user is allowed to view it.

Parameters
Revision$rev
bool$localWhether section links should refer to local page
bool$isPublicShow only if all users can see it
Returns
string HTML fragment

Definition at line 1578 of file Linker.php.

References $rev, commentBlock(), Revision\DELETED_COMMENT, Revision\FOR_THIS_USER, and wfMessage().

Referenced by SpecialUndelete\diffHeader(), SpecialMergeHistory\formatRevisionRow(), SpecialUndelete\formatRevisionRow(), DeletedContribsPager\formatRow(), SpecialNewpages\formatRow(), ContribsPager\formatRow(), RevDel_RevisionItem\getHTML(), RevisionItem\getHTML(), HistoryPager\historyLine(), and DifferenceEngine\showDiffPage().

◆ revDeleteLink()

static Linker::revDeleteLink (   $query = array(),
  $restricted = false,
  $delete = true 
)
static

Creates a (show/hide) link for deleting revisions/log entries.

Parameters
array$queryQuery parameters to be passed to link()
bool$restrictedSet to true to use a "<strong>" instead of a "<span>"
bool$deleteSet to true to use (show/hide) rather than (show)
Returns
string HTML "<a>" link to Special:Revisiondelete, wrapped in a span to allow for customization of appearance with CSS

Definition at line 2196 of file Linker.php.

References $html, $link, $query, array(), SpecialPage\getTitleFor(), link(), Xml\tags(), and wfMessage().

Referenced by SpecialUndelete\formatFileRow(), LogEventsList\getShowHideLinks(), and HistoryPager\historyLine().

◆ revDeleteLinkDisabled()

static Linker::revDeleteLinkDisabled (   $delete = true)
static

Creates a dead (show/hide) link for deleting revisions/log entries.

Parameters
bool$deleteSet to true to use (show/hide) rather than (show)
Returns
string HTML text wrapped in a span to allow for customization of appearance with CSS

Definition at line 2213 of file Linker.php.

References $html, array(), Xml\tags(), and wfMessage().

Referenced by SpecialUndelete\formatFileRow(), LogEventsList\getShowHideLinks(), and HistoryPager\historyLine().

◆ revUserLink()

static Linker::revUserLink (   $rev,
  $isPublic = false 
)
static

Generate a user link if the current user is allowed to view it.

Parameters
Revision$rev
bool$isPublicShow only if all users can see it
Returns
String HTML fragment

Definition at line 1198 of file Linker.php.

References $link, $rev, Revision\DELETED_USER, Revision\FOR_THIS_USER, userLink(), and wfMessage().

Referenced by RevDel_RevisionItem\getHTML(), and RevisionItem\getHTML().

◆ revUserTools()

static Linker::revUserTools (   $rev,
  $isPublic = false 
)
static

◆ specialLink()

static Linker::specialLink (   $name,
  $key = '' 
)
static

Make a link to a special page given its name and, optionally, a message key from the link text.

Usage example: Linker::specialLink( 'Recentchanges' )

Returns
string

Definition at line 1016 of file Linker.php.

References $name, SpecialPage\getTitleFor(), linkKnown(), text, and wfMessage().

◆ splitTrail()

static Linker::splitTrail (   $trail)
static

Split a link trail, return the "inside" portion and the remainder of the trail as a two-element array.

Returns
array

Definition at line 1731 of file Linker.php.

References $wgContLang, array(), and global.

Referenced by formatLinksInCommentCallback(), LinkHolderArray\makeHolder(), makeKnownLinkObj(), makeLinkObj(), and makeSelfLinkObj().

◆ titleAttrib()

static Linker::titleAttrib (   $name,
  $options = null 
)
static

Given the id of an interface element, constructs the appropriate title attribute from the system messages.

(Note, this is usually the id but isn't always, because sometimes the accesskey needs to go on a different element than the id, for reverse-compatibility, etc.)

Parameters
string$nameId of the element, minus prefixes.
string | null$optionsnull or the string 'withaccess' to add an access- key hint
Returns
string Contents of the title attribute (which you must HTML- escape), or false for no title attribute

Definition at line 2072 of file Linker.php.

Referenced by MonoBookTemplate\customBox(), BaseTemplate\makeLink(), DifferenceEngine\showDiffPage(), and tooltip().

◆ tocIndent()

static Linker::tocIndent ( )
static

Add another level to the Table of Contents.

Returns
string

Definition at line 1615 of file Linker.php.

Referenced by generateTOC(), and SpecialEditWatchlist\getNormalForm().

◆ tocLine()

static Linker::tocLine (   $anchor,
  $tocline,
  $tocnumber,
  $level,
  $sectionIndex = false 
)
static

parameter level defines if we are on an indentation level

Returns
string

Definition at line 1633 of file Linker.php.

Referenced by generateTOC(), and SpecialEditWatchlist\getNormalForm().

◆ tocLineEnd()

static Linker::tocLineEnd ( )
static

End a Table Of Contents line.

tocUnindent() will be used instead if we're ending a line below the new level.

Returns
string

Definition at line 1650 of file Linker.php.

Referenced by generateTOC(), and SpecialEditWatchlist\getNormalForm().

◆ tocList()

static Linker::tocList (   $toc,
  $lang = false 
)
static

Wraps the TOC in a table and provides the hide/collapse javascript.

Parameters
string$tocHtml of the Table Of Contents
string | Language | false$langLanguage for the toc title, defaults to user language
Returns
string Full html of the TOC

Definition at line 1661 of file Linker.php.

References $title, wfGetLangObj(), and wfMessage().

Referenced by generateTOC(), and SpecialEditWatchlist\getNormalForm().

◆ tocUnindent()

static Linker::tocUnindent (   $level)
static

Finish one or more sublevels on the Table of Contents.

Returns
string

Definition at line 1624 of file Linker.php.

Referenced by generateTOC().

◆ tooltip()

static Linker::tooltip (   $name,
  $options = null 
)
static

Returns raw bits of HTML, use titleAttrib()

Returns
null|string

Definition at line 2319 of file Linker.php.

References $name, $options, array(), Xml\expandAttributes(), and titleAttrib().

Referenced by VectorTemplate\execute(), and VectorTemplate\renderPortal().

◆ tooltipAndAccesskeyAttribs()

static Linker::tooltipAndAccesskeyAttribs (   $name)
static

◆ userLink()

static Linker::userLink (   $userId,
  $userName,
  $altUserName = false 
)
static

Make user link (or user contributions for unregistered users)

Parameters
int$userIdUser id in database.
string$userNameUser name in database.
string$altUserNameText to display instead of the user name (optional)
Returns
string HTML fragment
Since
1.19 Method exists for a long time. $altUserName was added in 1.19.

Definition at line 1072 of file Linker.php.

References array(), SpecialPage\getTitleFor(), link(), Title\makeTitle(), NS_USER, and IP\prettifyIP().

Referenced by FileDuplicateSearchPage\formatResult(), ActiveUsersPager\formatRow(), UsersPager\formatRow(), ContribsPager\formatRow(), BlockListPager\formatValue(), ProtectedPagesPager\formatValue(), SpecialUndelete\getFileUser(), LogPage\getTitleLink(), RCCacheEntryFactory\getUserLink(), RevDel_FileItem\getUserTools(), ChangesList\insertUserRelatedLinks(), LogFormatter\makeUserLink(), revUserLink(), revUserTools(), LogFormatterTest\testLogParamsTypeUserLink(), LogFormatterTest\testNormalLogParams(), and LinkerTest\testUserLink().

◆ userTalkLink()

static Linker::userTalkLink (   $userId,
  $userText 
)
static
Parameters
int$userIdUser id in database.
string$userTextUser name in database.
Returns
string HTML fragment with user talk link

Definition at line 1164 of file Linker.php.

References link(), Title\makeTitle(), NS_USER_TALK, and wfMessage().

Referenced by ContribsPager\formatRow(), and userToolLinks().

◆ userToolLinks()

static Linker::userToolLinks (   $userId,
  $userText,
  $redContribsWhenNoEdits = false,
  $flags = 0,
  $edits = null 
)
static

Generate standard user tool links (talk, contributions, block link, etc.)

Parameters
int$userIdUser identifier
string$userTextUser name or IP address
bool$redContribsWhenNoEditsShould the contributions link be red if the user has no edits?
int$flagsCustomisation flags (e.g. Linker::TOOL_LINKS_NOBLOCK and Linker::TOOL_LINKS_EMAIL)
int$editsUser edit count (optional, for performance)
Returns
string HTML fragment

Definition at line 1100 of file Linker.php.

References $attribs, $flags, $user, $wgLang, $wgUser, array(), blockLink(), emailLink(), SpecialPage\getTitleFor(), global, link(), User\newFromId(), TOOL_LINKS_NOBLOCK, userTalkLink(), wfMessage(), and wfRunHooks().

Referenced by FileDuplicateSearchPage\formatResult(), ActiveUsersPager\formatRow(), BlockListPager\formatValue(), ProtectedPagesPager\formatValue(), SpecialUndelete\getFileUser(), LogPage\getTitleLink(), RevDel_FileItem\getUserTools(), ChangesList\insertUserRelatedLinks(), RCCacheEntryFactory\newFromRecentChange(), revUserTools(), UserrightsPage\showEditUserGroupsForm(), and userToolLinksRedContribs().

◆ userToolLinksRedContribs()

static Linker::userToolLinksRedContribs (   $userId,
  $userText,
  $edits = null 
)
static

Alias for userToolLinks( $userId, $userText, true );.

Parameters
int$userIdUser identifier
string$userTextUser name or IP address
int$editsUser edit count (optional, for performance)
Returns
string

Definition at line 1155 of file Linker.php.

References userToolLinks().

Referenced by UsersPager\formatRow(), LogFormatter\makeUserLink(), and LogFormatterTest\testNormalLogParams().

Member Data Documentation

◆ $accesskeycache

Linker::$accesskeycache
static

Definition at line 2105 of file Linker.php.

◆ $autocommentLocal

Linker::$autocommentLocal
static

Definition at line 1274 of file Linker.php.

Referenced by formatAutocommentsCallback().

◆ $autocommentTitle

Linker::$autocommentTitle
static

Definition at line 1273 of file Linker.php.

Referenced by formatAutocommentsCallback().

◆ $commentContextTitle

Linker::$commentContextTitle
static

Definition at line 1360 of file Linker.php.

Referenced by formatLinksInCommentCallback().

◆ $commentLocal

Linker::$commentLocal
static

Definition at line 1361 of file Linker.php.

◆ TOOL_LINKS_EMAIL

const Linker::TOOL_LINKS_EMAIL = 2

Definition at line 38 of file Linker.php.

Referenced by UserrightsPage\showEditUserGroupsForm().

◆ TOOL_LINKS_NOBLOCK

const Linker::TOOL_LINKS_NOBLOCK = 1

Flags for userToolLinks()

Definition at line 37 of file Linker.php.

Referenced by BlockListPager\formatValue(), LogPage\getTitleLink(), and userToolLinks().


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