function setWgUser() { global $wgUser; LoginForm::renewSessionId(); $dbw = wfGetDB(DB_MASTER); $wh_userid = $dbw->selectField('facebook_connect', array('wh_user'), array('fb_user' => $this->userid)); // Never here before? create a new user and log them in if ($wh_userid == null) { $u = User::createNew('FB_' . $this->userid); if (!$u) { $u = User::newFromName('FB_' . $this->userid); } $dbw->insert('facebook_connect', array('wh_user' => $u->getID(), 'fb_user' => $this->userid)); } else { $u = User::newFromID($wh_userid); $dbw->update('facebook_connect', array('num_login = num_login + 1'), array('wh_user' => $wh_userid)); } $wgUser = $u; $wgUser->setCookies(); }
function setWgUser() { global $wgUser, $wgOut, $wgDBname; LoginForm::renewSessionId(); $bNew = true; $dbw = wfGetDB(DB_MASTER); $dbw->selectDB(WH_DATABASE_NAME_SHARED); $wh_userid = $dbw->selectField('gplus_connect', array('wh_user'), array('gplus_user' => $this->userid)); $dbw->selectDB($wgDBname); // Never here before? create a new user and log them in if ($wh_userid == null) { $u = User::createNew('GP_' . $this->userid); if (!$u) { $u = User::newFromName('GP_' . $this->userid); } $dbw->selectDB(WH_DATABASE_NAME_SHARED); $dbw->insert('gplus_connect', array('wh_user' => $u->getID(), 'gplus_user' => $this->userid)); $dbw->selectDB($wgDBname); } else { $u = User::newFromID($wh_userid); $dbw->selectDB(WH_DATABASE_NAME_SHARED); $dbw->update('gplus_connect', array('num_login = num_login + 1'), array('wh_user' => $wh_userid)); $dbw->selectDB($wgDBname); $bNew = false; } $wgUser = $u; $wgUser->setCookies(); if (!$bNew) { $dbw->selectDB(WH_DATABASE_NAME_SHARED); $registered = $dbw->selectField('user', array('user_email'), array('user_id' => $wh_userid)); $dbw->selectDB($wgDBname); //pass them to our start page if they're logging in again... if ($registered) { $wgOut->redirect($this->returnto); } } }