X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecialpage%2FSpecialPage.php;h=4edd87adba32b7657336965722fed563d3bafeb3;hb=3b07da886220352c3e393ec09b0c674b3968d5ad;hp=0070c74b046dd477074321c7d9df5603c4d475a8;hpb=969ddb49dafd636657701141910be31ff9e2ad8b;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specialpage/SpecialPage.php b/includes/specialpage/SpecialPage.php index 0070c74b04..4edd87adba 100644 --- a/includes/specialpage/SpecialPage.php +++ b/includes/specialpage/SpecialPage.php @@ -27,7 +27,6 @@ * Includes some static functions for handling the special page list deprecated * in favor of SpecialPageFactory. * - * @todo Turn this into a real ContextSource * @ingroup SpecialPage */ class SpecialPage { @@ -274,44 +273,20 @@ class SpecialPage { } /** - * If the user is not logged in, throws UserNotLoggedIn error. + * If the user is not logged in, throws UserNotLoggedIn error * - * Default error message includes a link to Special:Userlogin with properly set 'returnto' query - * parameter. + * The user will be redirected to Special:Userlogin with the given message as an error on + * the form. * * @since 1.23 - * @param string|Message $reasonMsg [optional] Passed on to UserNotLoggedIn constructor. Strings - * will be used as message keys. If a string is given, the message will also receive a - * formatted login link (generated using the 'loginreqlink' message) as first parameter. If a - * Message is given, it will be passed on verbatim. - * @param string|Message $titleMsg [optional] Passed on to UserNotLoggedIn constructor. Strings - * will be used as message keys. + * @param string $reasonMsg [optional] Message key to be displayed on login page + * @param string $titleMsg [optional] Passed on to UserNotLoggedIn constructor * @throws UserNotLoggedIn */ - public function requireLogin( $reasonMsg = null, $titleMsg = null ) { + public function requireLogin( + $reasonMsg = 'exception-nologin-text', $titleMsg = 'exception-nologin' + ) { if ( $this->getUser()->isAnon() ) { - // Use default messages if not given or explicit null passed - if ( !$reasonMsg ) { - $reasonMsg = 'exception-nologin-text-manual'; - } - if ( !$titleMsg ) { - $titleMsg = 'exception-nologin'; - } - - // Convert to Messages with current context - if ( is_string( $reasonMsg ) ) { - $loginreqlink = Linker::linkKnown( - SpecialPage::getTitleFor( 'Userlogin' ), - $this->msg( 'loginreqlink' )->escaped(), - array(), - array( 'returnto' => $this->getPageTitle()->getPrefixedText() ) - ); - $reasonMsg = $this->msg( $reasonMsg )->rawParams( $loginreqlink ); - } - if ( is_string( $titleMsg ) ) { - $titleMsg = $this->msg( $titleMsg ); - } - throw new UserNotLoggedIn( $reasonMsg, $titleMsg ); } } @@ -621,11 +596,9 @@ class SpecialPage { * @param array $params */ protected function addFeedLinks( $params ) { - global $wgFeedClasses; - $feedTemplate = wfScript( 'api' ); - foreach ( $wgFeedClasses as $format => $class ) { + foreach ( $this->getConfig()->get( 'FeedClasses' ) as $format => $class ) { $theseParams = $params + array( 'feedformat' => $format ); $url = wfAppendQuery( $feedTemplate, $theseParams ); $this->getOutput()->addFeedLink( $format, $url ); @@ -641,8 +614,8 @@ class SpecialPage { * @since 1.21 */ public function getFinalGroupName() { - global $wgSpecialPageGroups; $name = $this->getName(); + $specialPageGroups = $this->getConfig()->get( 'SpecialPageGroups' ); // Allow overbidding the group from the wiki side $msg = $this->msg( 'specialpages-specialpagegroup-' . strtolower( $name ) )->inContentLanguage(); @@ -655,8 +628,8 @@ class SpecialPage { // Group '-' is used as default to have the chance to determine, // if the special pages overrides this method, // if not overridden, $wgSpecialPageGroups is checked for b/c - if ( $group === '-' && isset( $wgSpecialPageGroups[$name] ) ) { - $group = $wgSpecialPageGroups[$name]; + if ( $group === '-' && isset( $specialPageGroups[$name] ) ) { + $group = $specialPageGroups[$name]; } }