(bug 11897) Add alias [[Special:CreateAccount]] & [[Special:Userlogin/signup]] for...
authorRaimond Spekking <raymond@users.mediawiki.org>
Wed, 23 Jan 2008 15:16:06 +0000 (15:16 +0000)
committerRaimond Spekking <raymond@users.mediawiki.org>
Wed, 23 Jan 2008 15:16:06 +0000 (15:16 +0000)
RELEASE-NOTES
includes/SpecialPage.php
includes/SpecialUserlogin.php
languages/messages/MessagesEn.php

index f8b88c6..ec17326 100644 (file)
@@ -140,6 +140,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
   address in Reply-To instead of From for user-to-user emails.
   This protects against SPF problems and privacy-leaking bounce messages
   when using mailers that set the envelope sender to the From header value.
+* (bug 11897) Add alias [[Special:CreateAccount]] & [[Special:Userlogin/signup]]
+  for Special:Userlogin?type=signup
 
 === Bug fixes in 1.12 ===
 
index f5a43b4..8b7e0c5 100644 (file)
@@ -80,6 +80,7 @@ class SpecialPage
 
                'Userlogin'                 => array( 'SpecialPage', 'Userlogin' ),
                'Userlogout'                => array( 'UnlistedSpecialPage', 'Userlogout' ),
+               'CreateAccount'             => array( 'SpecialCreateAccount' ),
                'Preferences'               => array( 'SpecialPage', 'Preferences' ),
                'Watchlist'                 => array( 'SpecialPage', 'Watchlist' ),
 
@@ -846,3 +847,17 @@ class SpecialMycontributions extends UnlistedSpecialPage {
                return SpecialPage::getTitleFor( 'Contributions', $wgUser->getName() );
        }
 }
+/**
+ * Shortcut to construct a special page pointing to create account form.
+ * @addtogroup SpecialPage
+ */
+class SpecialCreateAccount extends SpecialPage {
+       function __construct() {
+               parent::__construct( 'CreateAccount' );
+               $this->mAllowedRedirectParams = array( 'uselang' );
+       }
+
+               function getRedirect() {
+                       return SpecialPage::getTitleFor( 'Userlogin', 'signup' );
+       }
+}
index f131dde..8ee0f36 100644 (file)
@@ -7,13 +7,13 @@
 /**
  * constructor
  */
-function wfSpecialUserlogin() {
+function wfSpecialUserlogin( $par = '' ) {
        global $wgRequest;
        if( session_id() == '' ) {
                wfSetupSession();
        }
 
-       $form = new LoginForm( $wgRequest );
+       $form = new LoginForm( $wgRequest, $par );
        $form->execute();
 }
 
@@ -41,11 +41,11 @@ class LoginForm {
         * Constructor
         * @param WebRequest $request A WebRequest object passed by reference
         */
-       function LoginForm( &$request ) {
+       function LoginForm( &$request, $par = '' ) {
                global $wgLang, $wgAllowRealName, $wgEnableEmail;
                global $wgAuth;
 
-               $this->mType = $request->getText( 'type' );
+               $this->mType = ( $par == 'signup' ) ? $par : $request->getText( 'type' ); # Check for [[Special:Userlogin/signup]]
                $this->mName = $request->getText( 'wpName' );
                $this->mPassword = $request->getText( 'wpPassword' );
                $this->mRetype = $request->getText( 'wpRetype' );
index b83045f..235107d 100644 (file)
@@ -353,6 +353,7 @@ $specialPageAliases = array(
        'Disambiguations'           => array( 'Disambiguations' ),
        'Userlogin'                 => array( 'Userlogin' ),
        'Userlogout'                => array( 'Userlogout' ),
+       'CreateAccount'             => array( 'CreateAccount' ),
        'Preferences'               => array( 'Preferences' ),
        'Watchlist'                 => array( 'Watchlist' ),
        'Recentchanges'             => array( 'Recentchanges' ),