Added a User parameter to SpecialPageFactory::getUsablePages() so that it does not...
[lhc/web/wiklou.git] / includes / SpecialPage.php
index 77fecd9..7548200 100644 (file)
@@ -189,11 +189,13 @@ class SpecialPage {
         * Return categorised listable special pages which are available
         * for the current user, and everyone.
         *
+        * @param $user User object to check permissions, $wgUser will be used
+        *              if not provided
         * @return Associative array mapping page's name to its SpecialPage object
         * @deprecated since 1.18 call SpecialPageFactory method directly
         */
-       static function getUsablePages() {
-               return SpecialPageFactory::getUsablePages();
+       static function getUsablePages( User $user = null ) {
+               return SpecialPageFactory::getUsablePages( $user );
        }
 
        /**
@@ -558,7 +560,7 @@ class SpecialPage {
                } else {
                        $msg = $summaryMessageKey;
                }
-               if ( !wfMessage( $msg )->isBlank() and ! $this->including() ) {
+               if ( !$this->msg( $msg )->isBlank() && !$this->including() ) {
                        $this->getOutput()->wrapWikiMsg(
                                "<div class='mw-specialpage-summary'>\n$1\n</div>", $msg );
                }
@@ -576,7 +578,7 @@ class SpecialPage {
         * @return String
         */
        function getDescription() {
-               return wfMsg( strtolower( $this->mName ) );
+               return $this->msg( strtolower( $this->mName ) )->text();
        }
 
        /**
@@ -742,9 +744,9 @@ abstract class FormSpecialPage extends SpecialPage {
 
                $form = new HTMLForm( $this->fields, $this->getContext() );
                $form->setSubmitCallback( array( $this, 'onSubmit' ) );
-               $form->setWrapperLegend( wfMessage( strtolower( $this->getName() ) . '-legend' ) );
+               $form->setWrapperLegend( $this->msg( strtolower( $this->getName() ) . '-legend' ) );
                $form->addHeaderText(
-                       wfMessage( strtolower( $this->getName() ) . '-text' )->parseAsBlock() );
+                       $this->msg( strtolower( $this->getName() ) . '-text' )->parseAsBlock() );
 
                // Retain query parameters (uselang etc)
                $params = array_diff_key(
@@ -1005,7 +1007,9 @@ class SpecialMypage extends RedirectSpecialPage {
        function __construct() {
                parent::__construct( 'Mypage' );
                $this->mAllowedRedirectParams = array( 'action' , 'preload' , 'editintro',
-                       'section', 'oldid', 'diff', 'dir' );
+                       'section', 'oldid', 'diff', 'dir',
+                       // Options for action=raw; missing ctype can break JS or CSS in some browsers
+                       'ctype', 'maxage', 'smaxage' );
        }
 
        function getRedirect( $subpage ) {