Index: trunk/extensions/OpenID/SpecialOpenIDLogin.body.php |
— | — | @@ -344,7 +344,7 @@ |
345 | 345 | |
346 | 346 | wfSuppressWarnings(); |
347 | 347 | $consumer = $this->getConsumer(); |
348 | | - $response = $consumer->complete( $this->getTitle( 'Finish' )->getFullUrl() ); |
| 348 | + $response = $consumer->complete( $this->scriptUrl( 'Finish' ) ); |
349 | 349 | wfRestoreWarnings(); |
350 | 350 | |
351 | 351 | if ( is_null( $response ) ) { |
Index: trunk/extensions/OpenID/SpecialOpenID.body.php |
— | — | @@ -225,7 +225,7 @@ |
226 | 226 | $auth_request->addExtension( $sreg_request ); |
227 | 227 | } |
228 | 228 | |
229 | | - $process_url = $finish_page->getFullUrl(); |
| 229 | + $process_url = $this->scriptUrl( $finish_page ); |
230 | 230 | |
231 | 231 | if ( $auth_request->shouldSendRedirect() ) { |
232 | 232 | $redirect_url = $auth_request->redirectURL( $trust_root, |
— | — | @@ -256,6 +256,22 @@ |
257 | 257 | wfRestoreWarnings(); |
258 | 258 | } |
259 | 259 | |
| 260 | + function scriptUrl( $par = false ) { |
| 261 | + global $wgServer, $wgScript; |
| 262 | + |
| 263 | + if ( !is_object( $par ) ) |
| 264 | + $nt = $this->getTitle( $par ); |
| 265 | + else |
| 266 | + $nt = $par; |
| 267 | + |
| 268 | + if ( !is_null( $nt ) ) { |
| 269 | + $dbkey = wfUrlencode( $nt->getPrefixedDBkey() ); |
| 270 | + return "{$wgServer}{$wgScript}?title={$dbkey}"; |
| 271 | + } else { |
| 272 | + return ''; |
| 273 | + } |
| 274 | + } |
| 275 | + |
260 | 276 | protected function setupSession() { |
261 | 277 | global $wgSessionStarted; |
262 | 278 | |
Index: trunk/extensions/OpenID/SpecialOpenIDConvert.body.php |
— | — | @@ -146,7 +146,7 @@ |
147 | 147 | |
148 | 148 | wfSuppressWarnings(); |
149 | 149 | $consumer = $this->getConsumer(); |
150 | | - $response = $consumer->complete( $this->getTitle( 'Finish' )->getFullUrl() ); |
| 150 | + $response = $consumer->complete( $this->scriptUrl( 'Finish' ) ); |
151 | 151 | wfRestoreWarnings(); |
152 | 152 | |
153 | 153 | if ( is_null( $response ) ) { |