Index: trunk/phase3/includes/api/ApiLogin.php |
— | — | @@ -68,7 +68,10 @@ |
69 | 69 | wfSetupSession(); |
70 | 70 | } |
71 | 71 | |
72 | | - $loginForm = new LoginForm( $req ); |
| 72 | + $context = $this->createContext(); |
| 73 | + $context->setRequest( $req ); |
| 74 | + $loginForm = new LoginForm(); |
| 75 | + $loginForm->setContext( $context ); |
73 | 76 | |
74 | 77 | global $wgCookiePrefix, $wgUser, $wgPasswordAttemptThrottle; |
75 | 78 | |
Index: trunk/phase3/includes/specials/SpecialUserlogin.php |
— | — | @@ -49,6 +49,7 @@ |
50 | 50 | var $mSkipCookieCheck, $mReturnToQuery, $mToken, $mStickHTTPS; |
51 | 51 | var $mType, $mReason, $mRealName; |
52 | 52 | var $mAbortLoginErrorMsg = 'login-abort-generic'; |
| 53 | + private $mLoaded = false; |
53 | 54 | |
54 | 55 | /** |
55 | 56 | * @var ExternalUser |
— | — | @@ -74,9 +75,20 @@ |
75 | 76 | * |
76 | 77 | * @param $request WebRequest object |
77 | 78 | */ |
78 | | - function load( $request ) { |
| 79 | + function load() { |
79 | 80 | global $wgAuth, $wgHiddenPrefs, $wgEnableEmail, $wgRedirectOnLogin; |
80 | 81 | |
| 82 | + if ( $this->mLoaded ) { |
| 83 | + return; |
| 84 | + } |
| 85 | + $this->mLoaded = true; |
| 86 | + |
| 87 | + if ( $this->mOverrideRequest === null ) { |
| 88 | + $request = $this->getRequest(); |
| 89 | + } else { |
| 90 | + $request = $this->mOverrideRequest; |
| 91 | + } |
| 92 | + |
81 | 93 | $this->mType = $request->getText( 'type' ); |
82 | 94 | $this->mUsername = $request->getText( 'wpName' ); |
83 | 95 | $this->mPassword = $request->getText( 'wpPassword' ); |
— | — | @@ -132,12 +144,7 @@ |
133 | 145 | wfSetupSession(); |
134 | 146 | } |
135 | 147 | |
136 | | - if ( $this->mOverrideRequest === null ) { |
137 | | - $request = $this->getRequest(); |
138 | | - } else { |
139 | | - $request = $this->mOverrideRequest; |
140 | | - } |
141 | | - $this->load( $request ); |
| 148 | + $this->load(); |
142 | 149 | |
143 | 150 | if ( $par == 'signup' ) { # Check for [[Special:Userlogin/signup]] |
144 | 151 | $this->mType = 'signup'; |
— | — | @@ -459,6 +466,8 @@ |
460 | 467 | public function authenticateUserData() { |
461 | 468 | global $wgUser, $wgAuth; |
462 | 469 | |
| 470 | + $this->load(); |
| 471 | + |
463 | 472 | if ( $this->mUsername == '' ) { |
464 | 473 | return self::NO_NAME; |
465 | 474 | } |