MediaWiki REL1_32
|
The main skin class which provides methods and properties for all other skins. More...
Public Member Functions | |
__construct ( $skinname=null) | |
aboutLink () | |
Gets the link to the wiki's about page. | |
addToBodyAttributes ( $out, &$bodyAttrs) | |
This will be called by OutputPage::headElement when it is creating the "<body>" tag, skins can override it if they have a need to add in any body attributes or classes of their own. | |
addToSidebar (&$bar, $message) | |
Add content from a sidebar system message Currently only used for MediaWiki:Sidebar (but may be used by Extensions) | |
addToSidebarPlain (&$bar, $text) | |
Add content from plain text. | |
bottomScripts () | |
This gets called shortly before the "</body>" tag. | |
buildSidebar () | |
Build an array that represents the sidebar(s), the navigation bar among them. | |
disclaimerLink () | |
Gets the link to the wiki's general disclaimers page. | |
doEditSectionLink (Title $nt, $section, $tooltip=null, $lang=false) | |
Create a section edit link. | |
drawCategoryBrowser ( $tree) | |
Render the array as a series of links. | |
editUrlOptions () | |
Return URL options for the 'edit page' link. | |
escapeSearchLink () | |
footerLink ( $desc, $page) | |
Returns an HTML link for use in the footer. | |
getCategories () | |
getCategoryLinks () | |
getCopyright ( $type='detect') | |
getCopyrightIcon () | |
getDefaultModules () | |
Defines the ResourceLoader modules that should be added to the skin It is recommended that skins wishing to override call parent::getDefaultModules() and substitute out any modules they wish to change by using a key to look them up. | |
getHtmlElementAttributes () | |
Return values for <html> element. | |
getLogo () | |
URL to the logo. | |
getNewtalks () | |
Gets new talk page messages for the current user and returns an appropriate alert message (or an empty string if there are no messages) | |
getPageClasses ( $title) | |
TODO: document. | |
getPoweredBy () | |
Gets the powered by MediaWiki icon. | |
getRelevantTitle () | |
Return the "relevant" title. | |
getRelevantUser () | |
Return the "relevant" user. | |
getRevisionId () | |
Get the current revision ID. | |
getSearchLink () | |
getSiteNotice () | |
Get the site notice. | |
getSkinName () | |
getSkinStylePath ( $name) | |
Return a fully resolved style path URL to images or styles stored in the current skin's folder. | |
getUndeleteLink () | |
initPage (OutputPage $out) | |
isRevisionCurrent () | |
Whether the revision displayed is the latest revision of the page. | |
logoText ( $align='') | |
mainPageLink () | |
Gets the link to the wiki's main page. | |
makeFooterIcon ( $icon, $withImage='withImage') | |
Renders a $wgFooterIcons icon according to the method's arguments. | |
outputPage (OutputPage $out=null) | |
Outputs the HTML generated by other functions. | |
printSource () | |
Text with the permalink to the source page, usually shown on the footer of a printed page. | |
privacyLink () | |
Gets the link to the wiki's privacy policy page. | |
setRelevantTitle ( $t) | |
Set the "relevant" title. | |
setRelevantUser ( $u) | |
Set the "relevant" user. | |
setupSkinUserCss (OutputPage $out) | |
Hook point for adding style modules to OutputPage. | |
shouldPreloadLogo () | |
Whether the logo should be preloaded with an HTTP link header or not. | |
showEmailUser ( $id) | |
subPageSubtitle ( $out=null) | |
Public Member Functions inherited from ContextSource | |
canUseWikiPage () | |
Check whether a WikiPage object can be get with getWikiPage(). | |
exportSession () | |
Export the resolved user IP, HTTP headers, user ID, and session ID. | |
getConfig () | |
getContext () | |
Get the base IContextSource object. | |
getLanguage () | |
getOutput () | |
getRequest () | |
getSkin () | |
getStats () | |
getTiming () | |
getTitle () | |
getUser () | |
getWikiPage () | |
Get the WikiPage object. | |
msg ( $key) | |
Get a Message object with context set Parameters are the same as wfMessage() | |
setContext (IContextSource $context) | |
Static Public Member Functions | |
static | checkTitle (&$title, $name) |
make sure we have some title to operate on | |
static | getAllowedSkins () |
Fetch the list of user-selectable skins in regards to $wgSkipSkins. | |
static | getDynamicStylesheetQuery () |
Get the query to generate a dynamic stylesheet. | |
static | getSkinNameMessages () |
Fetch the skinname messages for available skins. | |
static | getSkinNames () |
Fetch the set of available skins. | |
static | makeI18nUrl ( $name, $urlaction='') |
static | makeInternalOrExternalUrl ( $name) |
If url string starts with http, consider as external URL, else internal. | |
static | makeKnownUrlDetails ( $name, $urlaction='') |
Make URL details where the article exists (or at least it's convenient to think so) | |
static | makeMainPageUrl ( $urlaction='') |
static | makeNSUrl ( $name, $urlaction='', $namespace=NS_MAIN) |
this can be passed the NS number as defined in Language.php | |
static | makeSpecialUrl ( $name, $urlaction='', $proto=null) |
Make a URL for a Special Page using the given query and protocol. | |
static | makeSpecialUrlSubpage ( $name, $subpage, $urlaction='') |
static | makeUrl ( $name, $urlaction='') |
static | makeUrlDetails ( $name, $urlaction='') |
these return an array with the 'href' and boolean 'exists' | |
static | makeVariablesScript ( $data, $nonce=null) |
static | normalizeKey ( $key) |
Normalize a skin preference value to a form that can be loaded. | |
Public Attributes | |
string | $stylename = null |
Stylesheets set to use. | |
Protected Member Functions | |
afterContentHook () | |
This runs a hook to allow extensions placing their stuff after content and article metadata (e.g. | |
generateDebugHTML () | |
Generate debug data HTML for displaying at the bottom of the main content area. | |
lastModified () | |
Get the timestamp of the latest revision, formatted in user language. | |
preloadExistence () | |
Preload the existence of three commonly-requested pages in a single query. | |
Protected Attributes | |
$mRelevantTitle = null | |
$mRelevantUser = null | |
string null | $skinname = null |
Private Member Functions | |
footerLinkTitle ( $desc, $page) | |
getCachedNotice ( $name) | |
Get a cached notice. | |
The main skin class which provides methods and properties for all other skins.
See docs/skin.txt for more information.
Skin::__construct | ( | $skinname = null | ) |
Skin::aboutLink | ( | ) |
Gets the link to the wiki's about page.
Definition at line 1054 of file Skin.php.
References footerLink().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::addToBodyAttributes | ( | $out, | |
& | $bodyAttrs | ||
) |
This will be called by OutputPage::headElement when it is creating the "<body>" tag, skins can override it if they have a need to add in any body attributes or classes of their own.
OutputPage | $out | |
array | &$bodyAttrs |
Definition at line 487 of file Skin.php.
Referenced by OutputPage\headElement().
Skin::addToSidebar | ( | & | $bar, |
$message | |||
) |
Add content from a sidebar system message Currently only used for MediaWiki:Sidebar (but may be used by Extensions)
This is just a wrapper around addToSidebarPlain() for backwards compatibility
array | &$bar | |
string | $message |
Definition at line 1333 of file Skin.php.
References addToSidebarPlain(), ContextSource\msg(), and plain.
Referenced by buildSidebar().
Skin::addToSidebarPlain | ( | & | $bar, |
$text | |||
) |
Add content from plain text.
array | &$bar | |
string | $text |
Definition at line 1344 of file Skin.php.
References $line, $lines, $link, $title, $wgExternalLinkTarget, $wgNoFollowDomainExceptions, $wgNoFollowLinks, as, ContextSource\getConfig(), ContextSource\getTitle(), ContextSource\msg(), wfMatchesDomainList(), and wfUrlProtocols().
Referenced by addToSidebar().
|
protected |
This runs a hook to allow extensions placing their stuff after content and article metadata (e.g.
categories). Note: This function has nothing to do with afterContent().
This hook is placed here in order to allow using the same hook for all skins, both the SkinTemplate based ones and the older ones, which directly use this class to get their data.
The output of this function gets processed in SkinTemplate::outputPage() for the SkinTemplate based skins, all other skins should directly echo it.
Definition at line 642 of file Skin.php.
References wfDebug().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::bottomScripts | ( | ) |
This gets called shortly before the "</body>" tag.
</body>
Definition at line 677 of file Skin.php.
References ContextSource\getOutput().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::buildSidebar | ( | ) |
Build an array that represents the sidebar(s), the navigation bar among them.
BaseTemplate::getSidebar can be used to simplify the format and id generation in new skins.
The format of the returned array is [ heading => content, ... ], where:
Note that extensions can control the sidebar contents using the SkinBuildSidebar hook and can technically insert anything in here; skin creators are expected to handle values described above.
Reimplemented in SkinApi.
Definition at line 1285 of file Skin.php.
References $wgEnableSidebarCache, $wgSidebarCacheExpiry, and addToSidebar().
Referenced by SkinTemplate\prepareQuickTemplate().
|
static |
make sure we have some title to operate on
Title | &$title | |
string | $name |
Definition at line 1255 of file Skin.php.
Referenced by SkinTemplate\makeArticleUrlDetails(), and SkinTemplate\makeTalkUrlDetails().
Skin::disclaimerLink | ( | ) |
Gets the link to the wiki's general disclaimers page.
Definition at line 1062 of file Skin.php.
References footerLink().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::doEditSectionLink | ( | Title | $nt, |
$section, | |||
$tooltip = null , |
|||
$lang = false |
|||
) |
Create a section edit link.
@suppress SecurityCheck-XSS $links has keys of different taint types
Title | $nt | The title being linked to (may not be the same as the current page, if the section is included from a template) |
string | $section | The designation of the section being pointed to, to be included in the link, like "§ion=$section" |
string | null | $tooltip | The tooltip to use for the link: will be escaped and wrapped in the 'editsectionhint' message. Not setting this parameter is deprecated. |
Language | string | $lang | Language object or language code string. Type string is deprecated. Not setting this parameter is deprecated. |
Definition at line 1619 of file Skin.php.
References $attribs, $lang, $section, as, Linker\link(), ContextSource\msg(), wfDeprecated(), and wfGetLangObj().
Skin::drawCategoryBrowser | ( | $tree | ) |
Render the array as a series of links.
array | $tree | Categories tree returned by Title::getParentCategoryTree |
Definition at line 584 of file Skin.php.
References $parent, as, drawCategoryBrowser(), and Linker\link().
Referenced by drawCategoryBrowser(), and getCategoryLinks().
Skin::editUrlOptions | ( | ) |
Return URL options for the 'edit page' link.
This may include an 'oldid' specifier, if the current page view is such.
Definition at line 1073 of file Skin.php.
References $options, getRevisionId(), and isRevisionCurrent().
Referenced by SkinTemplate\buildContentNavigationUrls().
Skin::escapeSearchLink | ( | ) |
Definition at line 810 of file Skin.php.
References getSearchLink().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::footerLink | ( | $desc, | |
$page | |||
) |
Returns an HTML link for use in the footer.
string | $desc | The i18n message key for the link text |
string | $page | The i18n message key for the page to link to |
Definition at line 1011 of file Skin.php.
References $title, footerLinkTitle(), Linker\linkKnown(), and ContextSource\msg().
Referenced by aboutLink(), disclaimerLink(), and privacyLink().
|
private |
string | $desc | |
string | $page |
Definition at line 1028 of file Skin.php.
References $title, ContextSource\msg(), and text.
Referenced by footerLink(), and preloadExistence().
|
protected |
Generate debug data HTML for displaying at the bottom of the main content area.
Definition at line 668 of file Skin.php.
Referenced by SkinTemplate\prepareQuickTemplate().
|
static |
Fetch the list of user-selectable skins in regards to $wgSkipSkins.
Useful for Special:Preferences and other places where you only want to show skins users can use.
Definition at line 80 of file Skin.php.
References $wgSkipSkins, and as.
Referenced by MediaWiki\Preferences\DefaultPreferencesFactory\generateSkinOptions().
|
private |
Get a cached notice.
string | $name | Message name, or 'default' for $wgSiteNotice |
Definition at line 1529 of file Skin.php.
References $cache, $name, $services, $wgRenderHashAppend, $wgSiteNotice, ContextSource\getOutput(), ContextSource\msg(), and use.
Referenced by getSiteNotice().
Skin::getCategories | ( | ) |
Definition at line 607 of file Skin.php.
References $out, getCategoryLinks(), ContextSource\getOutput(), ContextSource\getTitle(), ContextSource\getUser(), and NS_CATEGORY.
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::getCategoryLinks | ( | ) |
Definition at line 516 of file Skin.php.
References $link, $out, $s, $t, $title, $wgUseCategoryBrowser, drawCategoryBrowser(), ContextSource\getOutput(), ContextSource\getTitle(), ContextSource\getUser(), Linker\link(), ContextSource\msg(), and NS_CATEGORY.
Referenced by getCategories().
Skin::getCopyright | ( | $type = 'detect' | ) |
string | $type |
Definition at line 818 of file Skin.php.
References $link, $title, $type, $wgRightsPage, $wgRightsText, $wgRightsUrl, ContextSource\getTitle(), isRevisionCurrent(), Linker\linkKnown(), Linker\makeExternalLink(), and ContextSource\msg().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::getCopyrightIcon | ( | ) |
Definition at line 864 of file Skin.php.
References $out, $wgFooterIcons, $wgRightsIcon, $wgRightsText, and $wgRightsUrl.
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::getDefaultModules | ( | ) |
Defines the ResourceLoader modules that should be added to the skin It is recommended that skins wishing to override call parent::getDefaultModules() and substitute out any modules they wish to change by using a key to look them up.
Any modules defined with the 'styles' key will be added as render blocking CSS via Output::addModuleStyles. Similarly, each key should refer to a list of modules
Reimplemented in SkinApi, and SkinFallback.
Definition at line 176 of file Skin.php.
References $modules, $out, $user, ContextSource\getConfig(), ContextSource\getOutput(), and ContextSource\getUser().
|
static |
Get the query to generate a dynamic stylesheet.
Skin::getHtmlElementAttributes | ( | ) |
Return values for <html> element.
Definition at line 471 of file Skin.php.
References $lang, and ContextSource\getLanguage().
Referenced by OutputPage\headElement().
Skin::getLogo | ( | ) |
URL to the logo.
Definition at line 495 of file Skin.php.
References $wgLogo.
Referenced by logoText().
Skin::getNewtalks | ( | ) |
Gets new talk page messages for the current user and returns an appropriate alert message (or an empty string if there are no messages)
Reimplemented in SkinApi.
Definition at line 1436 of file Skin.php.
References $newtalks, $out, $user, as, ContextSource\getOutput(), ContextSource\getUser(), Linker\linkKnown(), ContextSource\msg(), Revision\newFromTitle(), and wfWikiID().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::getPageClasses | ( | $title | ) |
Skin::getPoweredBy | ( | ) |
Gets the powered by MediaWiki icon.
Definition at line 894 of file Skin.php.
References $wgResourceBasePath.
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::getRelevantTitle | ( | ) |
Return the "relevant" title.
A "relevant" title is not necessarily the actual title of the page. Special pages like Special:MovePage use set the page they are acting on as their "relevant" title, this allows the skin system to display things such as content tabs which belong to to that page instead of displaying a basic special page tab which has almost no meaning.
Definition at line 344 of file Skin.php.
References ContextSource\getTitle().
Referenced by SkinTemplate\buildContentNavigationUrls(), getRelevantUser(), and preloadExistence().
Skin::getRelevantUser | ( | ) |
Return the "relevant" user.
A "relevant" user is similar to a relevant title. Special pages like Special:Contributions mark the user which they are relevant to so that things like the toolbox can display the information they usually are only able to display on a user's userpage and talkpage.
Definition at line 368 of file Skin.php.
References $title, $user, getRelevantTitle(), User\isIP(), User\newFromName(), and NS_USER.
Referenced by SkinTemplate\buildNavUrls().
Skin::getRevisionId | ( | ) |
Get the current revision ID.
Definition at line 311 of file Skin.php.
References ContextSource\getOutput().
Referenced by SkinTemplate\buildNavUrls(), editUrlOptions(), isRevisionCurrent(), lastModified(), and printSource().
Skin::getSearchLink | ( | ) |
Definition at line 802 of file Skin.php.
References $searchPage.
Referenced by escapeSearchLink().
Skin::getSiteNotice | ( | ) |
Get the site notice.
Reimplemented in SkinApi.
Definition at line 1581 of file Skin.php.
References getCachedNotice(), and ContextSource\getUser().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::getSkinName | ( | ) |
Definition at line 155 of file Skin.php.
Referenced by OutputPage\headElement().
|
static |
|
static |
Skin::getSkinStylePath | ( | $name | ) |
Return a fully resolved style path URL to images or styles stored in the current skin's folder.
This method returns a URL resolved using the configured skin style path.
Requires $stylename to be set, otherwise throws MWException.
string | $name | The name or path of a skin resource file |
MWException |
Definition at line 1111 of file Skin.php.
References $wgStylePath.
Skin::getUndeleteLink | ( | ) |
Definition at line 717 of file Skin.php.
References ContextSource\getRequest(), ContextSource\getTitle(), ContextSource\getUser(), Linker\linkKnown(), and ContextSource\msg().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::initPage | ( | OutputPage | $out | ) |
OutputPage | $out |
Reimplemented in SkinFallback.
Definition at line 162 of file Skin.php.
References preloadExistence().
Referenced by SkinTemplate\outputPage().
Skin::isRevisionCurrent | ( | ) |
Whether the revision displayed is the latest revision of the page.
Definition at line 320 of file Skin.php.
References getRevisionId(), and ContextSource\getTitle().
Referenced by SkinTemplate\buildContentNavigationUrls(), editUrlOptions(), getCopyright(), and SkinTemplate\prepareQuickTemplate().
|
protected |
Get the timestamp of the latest revision, formatted in user language.
Definition at line 918 of file Skin.php.
References $s, $t, ContextSource\getLanguage(), ContextSource\getOutput(), getRevisionId(), Revision\getTimestampFromId(), ContextSource\getTitle(), ContextSource\getUser(), and ContextSource\msg().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::logoText | ( | $align = '' | ) |
string | $align |
Definition at line 945 of file Skin.php.
References $s, getLogo(), and ContextSource\msg().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::mainPageLink | ( | ) |
Gets the link to the wiki's main page.
Definition at line 996 of file Skin.php.
References $s, Linker\linkKnown(), and ContextSource\msg().
Skin::makeFooterIcon | ( | $icon, | |
$withImage = 'withImage' |
|||
) |
Renders a $wgFooterIcons icon according to the method's arguments.
array | $icon | The icon to build the html for, see $wgFooterIcons for the format of this array. |
bool | string | $withImage | Whether to use the icon's image or output a text-only footericon. |
Definition at line 970 of file Skin.php.
References $html, and $wgExternalLinkTarget.
|
static |
|
static |
If url string starts with http, consider as external URL, else internal.
string | $name |
Definition at line 1195 of file Skin.php.
References $name, and wfUrlProtocols().
|
static |
|
static |
string | string[] | $urlaction |
Definition at line 1128 of file Skin.php.
References $title.
Referenced by SkinTemplate\buildNavUrls().
|
static |
this can be passed the NS number as defined in Language.php
string | $name | |
string | string[] | $urlaction | |
int | $namespace |
|
static |
Make a URL for a Special Page using the given query and protocol.
If $proto is set to null, make a local URL. Otherwise, make a full URL with the protocol specified.
string | $name | Name of the Special page |
string | string[] | $urlaction | Query to append |
string | null | $proto | Protocol to use or null for a local URL |
Definition at line 1146 of file Skin.php.
Referenced by SkinTemplate\buildNavUrls(), and SkinTemplate\buildPersonalUrls().
|
static |
string | $name | |
string | $subpage | |
string | string[] | $urlaction |
Definition at line 1161 of file Skin.php.
Referenced by SkinTemplate\buildNavUrls(), and SkinTemplate\buildPersonalUrls().
|
static |
|
static |
these return an array with the 'href' and boolean 'exists'
string | $name | |
string | string[] | $urlaction |
Definition at line 1223 of file Skin.php.
Referenced by SkinTemplate\setupTemplateForOutput().
|
static |
array | $data | |
string | null | $nonce | OutputPage::getCSPNonce() |
Definition at line 404 of file Skin.php.
References ResourceLoader\makeConfigSetScript(), and ResourceLoader\makeInlineScript().
|
static |
Normalize a skin preference value to a form that can be loaded.
If a skin can't be found, it will fall back to the configured default ($wgDefaultSkin), or the hardcoded default ($wgFallbackSkin) if the default skin is unavailable too.
string | $key | 'monobook', 'vector', etc. |
Definition at line 101 of file Skin.php.
References $fallback, $wgDefaultSkin, and $wgFallbackSkin.
|
abstract |
Outputs the HTML generated by other functions.
OutputPage | null | $out |
Reimplemented in SkinTemplate.
|
protected |
Preload the existence of three commonly-requested pages in a single query.
Definition at line 266 of file Skin.php.
References $title, $titles, $user, as, footerLinkTitle(), getRelevantTitle(), and ContextSource\getUser().
Referenced by initPage().
Skin::printSource | ( | ) |
Text with the permalink to the source page, usually shown on the footer of a printed page.
Definition at line 699 of file Skin.php.
References getRevisionId(), ContextSource\getTitle(), ContextSource\msg(), and wfExpandIRI().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::privacyLink | ( | ) |
Gets the link to the wiki's privacy policy page.
Definition at line 1046 of file Skin.php.
References footerLink().
Referenced by SkinTemplate\prepareQuickTemplate().
Skin::setRelevantTitle | ( | $t | ) |
Skin::setRelevantUser | ( | $u | ) |
Skin::setupSkinUserCss | ( | OutputPage | $out | ) |
Hook point for adding style modules to OutputPage.
OutputPage | $out | Legacy parameter, identical to $this->getOutput() |
Skin::shouldPreloadLogo | ( | ) |
Whether the logo should be preloaded with an HTTP link header or not.
Skin::showEmailUser | ( | $id | ) |
User | int | $id |
Definition at line 1087 of file Skin.php.
References ContextSource\getUser(), User\newFromId(), and SpecialEmailUser\validateTarget().
Referenced by SkinTemplate\buildNavUrls().
Skin::subPageSubtitle | ( | $out = null | ) |
OutputPage | null | $out | Defaults to $this->getOutput() if left as null |
Definition at line 746 of file Skin.php.
References $lang, $link, $out, $title, as, ContextSource\getLanguage(), ContextSource\getOutput(), Linker\linkKnown(), and ContextSource\msg().
Referenced by SkinTemplate\prepareQuickTemplate().
|
protected |
Definition at line 42 of file Skin.php.
Referenced by __construct().
string Skin::$stylename = null |