getUser()->getName() ); } return Title::makeTitle( NS_USER, $this->getUser()->getName() . '/' . $subpage ); } /** * Target identifies a specific User. See T109724. * * @since 1.27 * @return bool */ public function personallyIdentifiableTarget() { return true; } } /** * Special page pointing to current user's talk page. * * @ingroup SpecialPage */ class SpecialMytalk extends RedirectSpecialArticle { public function __construct() { parent::__construct( 'Mytalk' ); } /** * @param string|null $subpage * @return Title */ public function getRedirect( $subpage ) { if ( $subpage === null || $subpage === '' ) { return Title::makeTitle( NS_USER_TALK, $this->getUser()->getName() ); } return Title::makeTitle( NS_USER_TALK, $this->getUser()->getName() . '/' . $subpage ); } /** * Target identifies a specific User. See T109724. * * @since 1.27 * @return bool */ public function personallyIdentifiableTarget() { return true; } } /** * Special page pointing to current user's contributions. * * @ingroup SpecialPage */ class SpecialMycontributions extends RedirectSpecialPage { public function __construct() { parent::__construct( 'Mycontributions' ); $this->mAllowedRedirectParams = [ 'limit', 'namespace', 'tagfilter', 'offset', 'dir', 'year', 'month', 'feed', 'deletedOnly', 'nsInvert', 'associated', 'newOnly', 'topOnly' ]; } /** * @param string|null $subpage * @return Title */ public function getRedirect( $subpage ) { return SpecialPage::getTitleFor( 'Contributions', $this->getUser()->getName() ); } /** * Target identifies a specific User. See T109724. * * @since 1.27 * @return bool */ public function personallyIdentifiableTarget() { return true; } } /** * Special page pointing to current user's uploaded files. * * @ingroup SpecialPage */ class SpecialMyuploads extends RedirectSpecialPage { public function __construct() { parent::__construct( 'Myuploads' ); $this->mAllowedRedirectParams = [ 'limit', 'ilshowall', 'ilsearch' ]; } /** * @param string|null $subpage * @return Title */ public function getRedirect( $subpage ) { return SpecialPage::getTitleFor( 'Listfiles', $this->getUser()->getName() ); } /** * Target identifies a specific User. See T109724. * * @since 1.27 * @return bool */ public function personallyIdentifiableTarget() { return true; } } /** * Special page pointing to current user's uploaded files (including old versions). * * @ingroup SpecialPage */ class SpecialAllMyUploads extends RedirectSpecialPage { public function __construct() { parent::__construct( 'AllMyUploads' ); $this->mAllowedRedirectParams = [ 'limit', 'ilsearch' ]; } /** * @param string|null $subpage * @return Title */ public function getRedirect( $subpage ) { $this->mAddedRedirectParams['ilshowall'] = 1; return SpecialPage::getTitleFor( 'Listfiles', $this->getUser()->getName() ); } /** * Target identifies a specific User. See T109724. * * @since 1.27 * @return bool */ public function personallyIdentifiableTarget() { return true; } }