X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Fspecials%2FSpecialRedirect.php;h=50867dd87916f768798e6ab576cef06abd0c73ae;hp=49f1b3cd6ab38f2c8c81292db5b1175715edd32c;hb=3e49b37b689a58d9eb475eb0a4ae2d2aa8f5300a;hpb=0bb36bf5aaa72e3af0d7e47177895184f315fbb6 diff --git a/includes/specials/SpecialRedirect.php b/includes/specials/SpecialRedirect.php index 49f1b3cd6a..50867dd879 100644 --- a/includes/specials/SpecialRedirect.php +++ b/includes/specials/SpecialRedirect.php @@ -21,6 +21,8 @@ * @ingroup SpecialPage */ +use MediaWiki\MediaWikiServices; + /** * A special page that redirects to: the user for a numeric user id, * the file for a given filename, or the page for a given revision id. @@ -81,6 +83,11 @@ class SpecialRedirect extends FormSpecialPage { // Message: redirect-not-exists return Status::newFatal( $this->getMessagePrefix() . '-not-exists' ); } + if ( $user->isHidden() && !MediaWikiServices::getInstance()->getPermissionManager() + ->userHasRight( $this->getUser(), 'hideuser' ) + ) { + throw new PermissionsError( null, [ 'badaccess-group0' ] ); + } $userpage = Title::makeTitle( NS_USER, $username ); return Status::newGood( $userpage->getFullURL( '', false, PROTO_CURRENT ) ); @@ -101,7 +108,7 @@ class SpecialRedirect extends FormSpecialPage { } catch ( MalformedTitleException $e ) { return Status::newFatal( $e->getMessageObject() ); } - $file = wfFindFile( $title ); + $file = MediaWikiServices::getInstance()->getRepoGroup()->findFile( $title ); if ( !$file || !$file->exists() ) { // Message: redirect-not-exists