X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecialpage%2FSpecialPageFactory.php;h=81e2b7ef2c1cc25db28c0b23b6638e179e64dbb2;hb=802c199d0bd80ff0f4d730c61fd58cbf08a52d8d;hp=84d3b08095d3da12b915d1404b0742db8c199a26;hpb=d42d6bd868fd5b579080639995e6a7e23851fcf3;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specialpage/SpecialPageFactory.php b/includes/specialpage/SpecialPageFactory.php index 84d3b08095..4433ddb7d6 100644 --- a/includes/specialpage/SpecialPageFactory.php +++ b/includes/specialpage/SpecialPageFactory.php @@ -186,6 +186,7 @@ class SpecialPageFactory { 'Revisiondelete' => 'SpecialRevisionDelete', 'RunJobs' => 'SpecialRunJobs', 'Specialpages' => 'SpecialSpecialpages', + 'PageData' => 'SpecialPageData' ]; private static $list; @@ -233,7 +234,6 @@ class SpecialPageFactory { global $wgPageLanguageUseDB, $wgContentHandlerUseDB; if ( !is_array( self::$list ) ) { - self::$list = self::$coreList; if ( !$wgDisableInternalSearch ) { @@ -458,7 +458,7 @@ class SpecialPageFactory { $pages = []; foreach ( self::getPageList() as $name => $rec ) { $page = self::getPage( $name ); - if ( $page->isListed() && !$page->isRestricted() ) { + if ( $page && $page->isListed() && !$page->isRestricted() ) { $pages[$name] = $page; } } @@ -481,8 +481,8 @@ class SpecialPageFactory { } foreach ( self::getPageList() as $name => $rec ) { $page = self::getPage( $name ); - if ( - $page->isListed() + if ( $page + && $page->isListed() && $page->isRestricted() && $page->userCanExecute( $user ) ) { @@ -501,8 +501,8 @@ class SpecialPageFactory { * 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 - * @param IContextSource $context + * @param Title &$title + * @param IContextSource &$context * @param bool $including Bool output is being captured for use in {{special:whatever}} * @param LinkRenderer|null $linkRenderer (since 1.28) *