/**
* Set the default cookies for this session on the user's client.
+ *
+ * @param $request WebRequest object to use; $wgRequest will be used if null
+ * is passed.
*/
- function setCookies() {
- global $wgRequest;
+ function setCookies( $request = null ) {
+ if ( $request === null ) {
+ global $wgRequest;
+ $request = $wgRequest;
+ }
$this->load();
if ( 0 == $this->mId ) return;
wfRunHooks( 'UserSetCookies', array( $this, &$session, &$cookies ) );
foreach ( $session as $name => $value ) {
- $wgRequest->setSessionData( $name, $value );
+ $request->setSessionData( $name, $value );
}
foreach ( $cookies as $name => $value ) {
if ( $value === false ) {
switch ( $authRes = $loginForm->authenticateUserData() ) {
case LoginForm::SUCCESS:
$wgUser->setOption( 'rememberpassword', 1 );
- $wgUser->setCookies();
+ $wgUser->setCookies( $this->getMain()->getRequest() );
// Run hooks. FIXME: split back and frontend from this hook.
// FIXME: This hook should be placed in the backend