X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FSpecialPage.php;h=20571d7135a1377d331166eb01ac6f079120946d;hb=ca209473d1e94196a8f9d454bb6f6ab40841f9c8;hp=d87f9107ac0d1b040fca449f654f88fa2ddc4e29;hpb=5c5fb511c70346a660cb6aa388cc677e11d3bdab;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/SpecialPage.php b/includes/SpecialPage.php index d87f9107ac..20571d7135 100644 --- a/includes/SpecialPage.php +++ b/includes/SpecialPage.php @@ -259,11 +259,7 @@ class SpecialPage { */ public static function getTitleFor( $name, $subpage = false, $fragment = '' ) { $name = SpecialPageFactory::getLocalNameFor( $name, $subpage ); - if ( $name ) { - return Title::makeTitle( NS_SPECIAL, $name, $fragment ); - } else { - throw new MWException( "Invalid special page name \"$name\"" ); - } + return Title::makeTitle( NS_SPECIAL, $name, $fragment ); } /** @@ -982,7 +978,13 @@ abstract class FormSpecialPage extends SpecialPage { $form = new HTMLForm( $this->fields, $this->getContext(), $this->getMessagePrefix() ); $form->setSubmitCallback( array( $this, 'onSubmit' ) ); - $form->setWrapperLegendMsg( $this->getMessagePrefix() . '-legend' ); + // If the form is a compact vertical form, then don't output this ugly + // fieldset surrounding it. + // XXX Special pages can setDisplayFormat to 'vform' in alterForm(), but that + // is called after this. + if ( !$form->isVForm() ) { + $form->setWrapperLegendMsg( $this->getMessagePrefix() . '-legend' ); + } $headerMsg = $this->msg( $this->getMessagePrefix() . '-text' ); if ( !$headerMsg->isDisabled() ) { @@ -1227,7 +1229,16 @@ class SpecialListBots extends SpecialRedirectToSpecial { */ class SpecialCreateAccount extends SpecialRedirectToSpecial { function __construct() { - parent::__construct( 'CreateAccount', 'Userlogin', 'signup', array( 'uselang' ) ); + parent::__construct( 'CreateAccount', 'Userlogin', 'signup', array( 'returnto', 'returntoquery', 'uselang' ) ); + } + + // No reason to hide this link on Special:Specialpages + public function isListed() { + return true; + } + + protected function getGroupName() { + return 'login'; } } /** @@ -1386,7 +1397,7 @@ class SpecialMycontributions extends RedirectSpecialPage { class SpecialMyuploads extends RedirectSpecialPage { function __construct() { parent::__construct( 'Myuploads' ); - $this->mAllowedRedirectParams = array( 'limit' ); + $this->mAllowedRedirectParams = array( 'limit', 'ilshowall', 'ilsearch' ); } function getRedirect( $subpage ) { @@ -1394,6 +1405,22 @@ class SpecialMyuploads extends RedirectSpecialPage { } } +/** + * Redirect Special:Listfiles?user=$wgUser&ilshowall=true + */ +class SpecialAllMyUploads extends RedirectSpecialPage { + function __construct() { + parent::__construct( 'AllMyUploads' ); + $this->mAllowedRedirectParams = array( 'limit', 'ilsearch' ); + } + + function getRedirect( $subpage ) { + $this->mAddedRedirectParams['ilshowall'] = 1; + return SpecialPage::getTitleFor( 'Listfiles', $this->getUser()->getName() ); + } +} + + /** * Redirect from Special:PermanentLink/### to index.php?oldid=### */