getUser()->getName() . '/' . $subpage ); } else { return Title::makeTitle( NS_USER, $this->getUser()->getName() ); } } } /** * Special page pointing to current user's talk page. * * @ingroup SpecialPage */ class SpecialMytalk extends RedirectSpecialArticle { function __construct() { parent::__construct( 'Mytalk' ); } function getRedirect( $subpage ) { if ( strval( $subpage ) !== '' ) { return Title::makeTitle( NS_USER_TALK, $this->getUser()->getName() . '/' . $subpage ); } else { return Title::makeTitle( NS_USER_TALK, $this->getUser()->getName() ); } } } /** * Special page pointing to current user's contributions. * * @ingroup SpecialPage */ class SpecialMycontributions extends RedirectSpecialPage { function __construct() { parent::__construct( 'Mycontributions' ); $this->mAllowedRedirectParams = array( 'limit', 'namespace', 'tagfilter', 'offset', 'dir', 'year', 'month', 'feed' ); } function getRedirect( $subpage ) { return SpecialPage::getTitleFor( 'Contributions', $this->getUser()->getName() ); } } /** * Special page pointing to current user's uploaded files. * * @ingroup SpecialPage */ class SpecialMyuploads extends RedirectSpecialPage { function __construct() { parent::__construct( 'Myuploads' ); $this->mAllowedRedirectParams = array( 'limit', 'ilshowall', 'ilsearch' ); } function getRedirect( $subpage ) { return SpecialPage::getTitleFor( 'Listfiles', $this->getUser()->getName() ); } } /** * Special page pointing to current user's uploaded files (including old versions). * * @ingroup SpecialPage */ class SpecialAllMyUploads extends RedirectSpecialPage { function __construct() { parent::__construct( 'AllMyUploads' ); $this->mAllowedRedirectParams = array( 'limit', 'ilsearch' ); } function getRedirect( $subpage ) { $this->mAddedRedirectParams['ilshowall'] = 1; return SpecialPage::getTitleFor( 'Listfiles', $this->getUser()->getName() ); } }