*/
protected $mContext;
- /**
- * Initialise the special page list
- * This must be called before accessing SpecialPage::$mList
- * @deprecated since 1.18
- */
- static function initList() {
- wfDeprecated( __METHOD__, '1.18' );
- // Noop
- }
-
- /**
- * @deprecated since 1.18
- */
- static function initAliasList() {
- wfDeprecated( __METHOD__, '1.18' );
- // Noop
- }
-
- /**
- * Given a special page alias, return the special page name.
- * Returns false if there is no such alias.
- *
- * @param $alias String
- * @return String or false
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function resolveAlias( $alias ) {
- wfDeprecated( __METHOD__, '1.18' );
- list( $name, /*...*/ ) = SpecialPageFactory::resolveAlias( $alias );
- return $name;
- }
-
- /**
- * 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.
- *
- * @param $alias String
- * @return Array
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function resolveAliasWithSubpage( $alias ) {
- return SpecialPageFactory::resolveAlias( $alias );
- }
-
- /**
- * Add a page to a certain display group for Special:SpecialPages
- *
- * @param $page Mixed: SpecialPage or string
- * @param $group String
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function setGroup( $page, $group ) {
- wfDeprecated( __METHOD__, '1.18' );
- SpecialPageFactory::setGroup( $page, $group );
- }
-
- /**
- * Get the group that the special page belongs in on Special:SpecialPage
- *
- * @param $page SpecialPage
- * @return string
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getGroup( &$page ) {
- wfDeprecated( __METHOD__, '1.18' );
- return $page->getFinalGroupName();
- }
-
- /**
- * Remove a special page from the list
- * Formerly used to disable expensive or dangerous special pages. The
- * preferred method is now to add a SpecialPage_initList hook.
- * @deprecated since 1.18
- *
- * @param string $name the page to remove
- */
- static function removePage( $name ) {
- wfDeprecated( __METHOD__, '1.18' );
- unset( SpecialPageFactory::getList()->$name );
- }
-
- /**
- * Check if a given name exist as a special page or as a special page alias
- *
- * @param string $name name of a special page
- * @return Boolean: true if a special page exists with this name
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function exists( $name ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::exists( $name );
- }
-
- /**
- * Find the object with a given name and return it (or NULL)
- *
- * @param $name String
- * @return SpecialPage object or null if the page doesn't exist
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getPage( $name ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getPage( $name );
- }
-
- /**
- * Get a special page with a given localised name, or NULL if there
- * is no such special page.
- *
- * @param $alias String
- * @return SpecialPage object or null if the page doesn't exist
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getPageByAlias( $alias ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getPage( $alias );
- }
-
- /**
- * Return categorised listable special pages which are available
- * for the current user, and everyone.
- *
- * @param $user User object to check permissions, $wgUser will be used
- * if not provided
- * @return array Associative array mapping page's name to its SpecialPage object
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getUsablePages( User $user = null ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getUsablePages( $user );
- }
-
- /**
- * Return categorised listable special pages for all users
- *
- * @return array Associative array mapping page's name to its SpecialPage object
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getRegularPages() {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getRegularPages();
- }
-
- /**
- * Return categorised listable special pages which are available
- * for the current user, but not for everyone
- *
- * @return array Associative array mapping page's name to its SpecialPage object
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getRestrictedPages() {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getRestrictedPages();
- }
-
- /**
- * 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.
- *
- * @param $title Title object
- * @param $context IContextSource
- * @param $including Bool output is being captured for use in {{special:whatever}}
- * @return Bool
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- public static function executePath( &$title, IContextSource &$context, $including = false ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::executePath( $title, $context, $including );
- }
-
- /**
- * Get the local name for a specified canonical name
- *
- * @param $name String
- * @param $subpage Mixed: boolean false, or string
- *
- * @return String
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getLocalNameFor( $name, $subpage = false ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getLocalNameFor( $name, $subpage );
- }
-
/**
* Get a localised Title object for a specified special page name
*
}
}
- /**
- * Get a title for a given alias
- *
- * @param $alias String
- * @return Title or null if there is no such alias
- * @deprecated since 1.18 call SpecialPageFactory method directly
- */
- static function getTitleForAlias( $alias ) {
- wfDeprecated( __METHOD__, '1.18' );
- return SpecialPageFactory::getTitleForAlias( $alias );
- }
-
/**
* Default constructor for special pages
* Derivative classes should call this from their constructor
$name = '', $restriction = '', $listed = true,
$function = false, $file = 'default', $includable = false
) {
- $this->init( $name, $restriction, $listed, $function, $file, $includable );
- }
-
- /**
- * Do the real work for the constructor, mainly so __call() can intercept
- * calls to SpecialPage()
- * @param string $name Name of the special page, as seen in links and URLs
- * @param string $restriction User right required, e.g. "block" or "delete"
- * @param bool $listed Whether the page is listed in Special:Specialpages
- * @param callable|bool $function Function called by execute(). By default
- * it is constructed from $name
- * @param string $file File which is included by execute(). It is also
- * constructed from $name by default
- * @param bool $includable Whether the page can be included in normal pages
- */
- private function init( $name, $restriction, $listed, $function, $file, $includable ) {
$this->mName = $name;
$this->mRestriction = $restriction;
$this->mListed = $listed;
}
}
- /**
- * Use PHP's magic __call handler to get calls to the old PHP4 constructor
- * because PHP E_STRICT yells at you for having __construct() and SpecialPage()
- *
- * @param string $fName Name of called method
- * @param array $a Arguments to the method
- * @throws MWException
- * @deprecated since 1.17, call parent::__construct()
- */
- public function __call( $fName, $a ) {
- // Deprecated messages now, remove in 1.19 or 1.20?
- wfDeprecated( __METHOD__, '1.17' );
-
- // Sometimes $fName is SpecialPage, sometimes it's specialpage. <3 PHP
- if ( strtolower( $fName ) == 'specialpage' ) {
- $name = isset( $a[0] ) ? $a[0] : '';
- $restriction = isset( $a[1] ) ? $a[1] : '';
- $listed = isset( $a[2] ) ? $a[2] : true;
- $function = isset( $a[3] ) ? $a[3] : false;
- $file = isset( $a[4] ) ? $a[4] : 'default';
- $includable = isset( $a[5] ) ? $a[5] : false;
- $this->init( $name, $restriction, $listed, $function, $file, $includable );
- } else {
- $className = get_class( $this );
- throw new MWException( "Call to undefined method $className::$fName" );
- }
- }
-
/**
* Get the name of this Special Page.
* @return string
return $this->mIncludable;
}
- /**
- * These mutators are very evil, as the relevant variables should not mutate. So
- * don't use them.
- * @param $x Mixed
- * @return Mixed
- * @deprecated since 1.18
- */
- function name( $x = null ) {
- wfDeprecated( __METHOD__, '1.18' );
- return wfSetVar( $this->mName, $x );
- }
-
- /**
- * These mutators are very evil, as the relevant variables should not mutate. So
- * don't use them.
- * @param $x Mixed
- * @return Mixed
- * @deprecated since 1.18
- */
- function restriction( $x = null ) {
- wfDeprecated( __METHOD__, '1.18' );
- return wfSetVar( $this->mRestriction, $x );
- }
-
- /**
- * These mutators are very evil, as the relevant variables should not mutate. So
- * don't use them.
- * @param $x Mixed
- * @return Mixed
- * @deprecated since 1.18
- */
- function func( $x = null ) {
- wfDeprecated( __METHOD__, '1.18' );
- return wfSetVar( $this->mFunction, $x );
- }
-
- /**
- * These mutators are very evil, as the relevant variables should not mutate. So
- * don't use them.
- * @param $x Mixed
- * @return Mixed
- * @deprecated since 1.18
- */
- function file( $x = null ) {
- wfDeprecated( __METHOD__, '1.18' );
- return wfSetVar( $this->mFile, $x );
- }
-
- /**
- * These mutators are very evil, as the relevant variables should not mutate. So
- * don't use them.
- * @param $x Mixed
- * @return Mixed
- * @deprecated since 1.18
- */
- function includable( $x = null ) {
- wfDeprecated( __METHOD__, '1.18' );
- return wfSetVar( $this->mIncludable, $x );
- }
-
/**
* Whether the special page is being evaluated via transclusion
* @param bool $x