MediaWiki
REL1_22
|
Factory for handling the special page list and generating SpecialPage objects. More...
Static Public Member Functions | |
static | capturePath (Title $title, IContextSource $context) |
Just like executePath() but will override global variables and execute the page in "inclusion" mode. | |
static | executePath (Title &$title, IContextSource &$context, $including=false) |
Execute a special page path. | |
static | exists ($name) |
Check if a given name exist as a special page or as a special page alias. | |
static | getAliasList () |
Initialise and return the list of special page aliases. | |
static | getGroup (&$page) |
Get the group that the special page belongs in on Special:SpecialPage. | |
static | getList () |
Initialise the special page list This must be called before accessing SpecialPage::$mList. | |
static | getLocalNameFor ($name, $subpage=false) |
Get the local name for a specified canonical name. | |
static | getPage ($name) |
Find the object with a given name and return it (or NULL) | |
static | getRegularPages () |
Return categorised listable special pages for all users. | |
static | getRestrictedPages () |
Return categorised listable special pages which are available for the current user, but not for everyone. | |
static | getTitleForAlias ($alias) |
Get a title for a given alias. | |
static | getUsablePages (User $user=null) |
Return categorised listable special pages which are available for the current user, and everyone. | |
static | resolveAlias ($alias) |
Given a special page name with a possible subpage, return an array where the first element is the special page name and the second is the subpage. | |
static | setGroup ($page, $group) |
Add a page to a certain display group for Special:SpecialPages. | |
Static Private Attributes | |
static | $mAliases |
static | $mList |
List of special page names to the subclass of SpecialPage which handles them. |
Factory for handling the special page list and generating SpecialPage objects.
To add a special page in an extension, add to $wgSpecialPages either an object instance or an array containing the name and constructor parameters. The latter is preferred for performance reasons.
The object instantiated must be either an instance of SpecialPage or a sub-class thereof. It must have an execute() method, which sends the HTML for the special page to $wgOut. The parent class has an execute() method which distributes the call to the historical global functions. Additionally, execute() also checks if the user has the necessary access privileges and bails out if not.
To add a core special page, use the similar static list in SpecialPage::$mList. To remove a core static special page at runtime, use a SpecialPage_initList hook.
Definition at line 46 of file SpecialPageFactory.php.
static SpecialPageFactory::capturePath | ( | Title $ | title, |
IContextSource $ | context | ||
) | [static] |
Just like executePath() but will override global variables and execute the page in "inclusion" mode.
Returns true if the execution was successful or false if there was no such special page, or a title object if it was a redirect.
Also saves the current $wgTitle, $wgOut, $wgRequest, $wgUser and $wgLang variables so that the special page will get the context it'd expect on a normal request, and then restores them to their previous values after.
$title | Title |
$context | IContextSource |
Definition at line 509 of file SpecialPageFactory.php.
References $oldTitle, $ret, $title, $wgLang, $wgOut, $wgTitle, $wgUser, executePath(), IContextSource\getLanguage(), IContextSource\getOutput(), IContextSource\getRequest(), IContextSource\getUser(), and global.
static SpecialPageFactory::executePath | ( | Title &$ | title, |
IContextSource &$ | context, | ||
$ | including = false |
||
) | [static] |
Execute a special page path.
The path may contain parameters, e.g. Special:Name/Params Extracts the special page name and call the execute method, passing the parameters
Returns a title object if the page is redirected, false if there was no such special page, and true if it was successful.
$title | Title object |
$context | IContextSource |
$including | Bool output is being captured for use in {{special:whatever}} |
Definition at line 430 of file SpecialPageFactory.php.
References $name, $query, $title, Title\getDBkey(), Title\getFullURL(), IContextSource\getOutput(), getPage(), IContextSource\getRequest(), global, wfProfileIn(), and wfProfileOut().
Referenced by capturePath().
static SpecialPageFactory::exists | ( | $ | name | ) | [static] |
Check if a given name exist as a special page or as a special page alias.
string | $name | name of a special page |
Definition at line 320 of file SpecialPageFactory.php.
References $name, $title, list, and resolveAlias().
static SpecialPageFactory::getAliasList | ( | ) | [static] |
Initialise and return the list of special page aliases.
Returns an object with properties which can be accessed $obj->pagename - each property is an array of aliases; the first in the array is the canonical alias. All registered special pages are guaranteed to have a property entry, and for that property array to contain at least one entry (English fallbacks will be added if necessary).
Definition at line 232 of file SpecialPageFactory.php.
References $mAliases, $name, $wgContLang, array(), as, getList(), global, and object.
Referenced by resolveAlias().
static SpecialPageFactory::getGroup | ( | &$ | page | ) | [static] |
Get the group that the special page belongs in on Special:SpecialPage.
$page | SpecialPage |
Definition at line 308 of file SpecialPageFactory.php.
References wfDeprecated().
static SpecialPageFactory::getList | ( | ) | [static] |
Initialise the special page list This must be called before accessing SpecialPage::$mList.
Definition at line 180 of file SpecialPageFactory.php.
References $mList, $wgDisableCounters, array(), global, wfProfileIn(), wfProfileOut(), and wfRunHooks().
Referenced by ApiQuerySiteinfo\appendSpecialPageAliases(), getAliasList(), getPage(), and PrefixSearch\specialSearch().
static SpecialPageFactory::getLocalNameFor | ( | $ | name, |
$ | subpage = false |
||
) | [static] |
Get the local name for a specified canonical name.
$name | String |
$subpage | String|Bool |
Definition at line 547 of file SpecialPageFactory.php.
References $n, $name, $wgContLang, as, global, and wfWarn().
Referenced by Title\fixSpecialName().
static SpecialPageFactory::getPage | ( | $ | name | ) | [static] |
Find the object with a given name and return it (or NULL)
string | $name | Special page name, may be localised and/or an alias |
Definition at line 331 of file SpecialPageFactory.php.
References $name, getList(), list, MWFunction\newObj(), resolveAlias(), and wfDebug().
Referenced by UpdateSpecialPages\execute(), executePath(), getRegularPages(), getRestrictedPages(), getUsablePages(), and RevisiondeleteAction\show().
static SpecialPageFactory::getRegularPages | ( | ) | [static] |
static SpecialPageFactory::getRestrictedPages | ( | ) | [static] |
static SpecialPageFactory::getTitleForAlias | ( | $ | alias | ) | [static] |
Get a title for a given alias.
$alias | String |
Definition at line 583 of file SpecialPageFactory.php.
References $name, SpecialPage\getTitleFor(), and resolveAlias().
static SpecialPageFactory::getUsablePages | ( | User $ | user = null | ) | [static] |
Return categorised listable special pages which are available for the current user, and everyone.
$user | User object to check permissions, $wgUser will be used if not provided |
Definition at line 358 of file SpecialPageFactory.php.
References $name, $user, $wgUser, array(), as, RequestContext\getMain(), getPage(), and global.
static SpecialPageFactory::resolveAlias | ( | $ | alias | ) | [static] |
Given a special page name with a possible subpage, return an array where the first element is the special page name and the second is the subpage.
$alias | String |
Definition at line 265 of file SpecialPageFactory.php.
References $name, $wgContLang, array(), getAliasList(), and global.
Referenced by SkinTemplate\buildPersonalUrls(), Title\checkReadPermissions(), exists(), Title\fixSpecialName(), getPage(), Skin\getPageClasses(), getTitleForAlias(), Title\isSpecial(), Linker\normaliseSpecialPage(), OldChangesList\recentChangesLine(), and CoreParserFunctions\special().
static SpecialPageFactory::setGroup | ( | $ | page, |
$ | group | ||
) | [static] |
Add a page to a certain display group for Special:SpecialPages.
$page | Mixed: SpecialPage or string |
$group | String |
Definition at line 293 of file SpecialPageFactory.php.
References $name, global, and wfDeprecated().
SpecialPageFactory::$mAliases [static, private] |
Definition at line 172 of file SpecialPageFactory.php.
Referenced by getAliasList().
SpecialPageFactory::$mList [static, private] |
List of special page names to the subclass of SpecialPage which handles them.
Definition at line 51 of file SpecialPageFactory.php.
Referenced by getList().