consolidate linking a user to an OpenID
darcs-hash:20080618114310-84dde-15b224bb16d434150af457bc3b08de58e3833abd.gz
This commit is contained in:
parent
dc2e7f4225
commit
4a0b1a9ea9
|
@ -64,7 +64,8 @@ class FinishaddopenidAction extends Action {
|
|||
$this->message(_t('This OpenID is already associated with user "') . $user->nickname . _t('"'));
|
||||
} else {
|
||||
$cur = common_current_user();
|
||||
if (!$this->connect_user($cur, $display, $canonical)) {
|
||||
$result = oid_link_user($cur->id, $display, $canonical);
|
||||
if (!$result) {
|
||||
$this->message(_t('Error connecting user'));
|
||||
return;
|
||||
}
|
||||
|
@ -136,24 +137,4 @@ class FinishaddopenidAction extends Action {
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
function connect_user($user, $display, $canonical) {
|
||||
|
||||
$id = $user->id;
|
||||
|
||||
$oid = new User_openid();
|
||||
$oid->display = $display;
|
||||
$oid->canonical = $canonical;
|
||||
$oid->user_id = $id;
|
||||
$oid->created = DB_DataObject_Cast::dateTime();
|
||||
|
||||
$result = $oid->insert();
|
||||
|
||||
if (!$result) {
|
||||
$err = PEAR::getStaticProperty('DB_DataObject','lastError');
|
||||
common_debug('DB error ' . $err->code . ': ' . $err->message, __FILE__);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -264,15 +264,8 @@ class FinishopenidloginAction extends Action {
|
|||
$profile->delete();
|
||||
}
|
||||
|
||||
$oid = new User_openid();
|
||||
$oid->display = $display;
|
||||
$oid->canonical = $canonical;
|
||||
$oid->user_id = $id;
|
||||
$oid->created = DB_DataObject_Cast::dateTime();
|
||||
|
||||
$result = $oid->insert();
|
||||
|
||||
if (!$result) {
|
||||
if (!oid_link_user($user->id, $canonical, $display) {
|
||||
# Try to clean up...
|
||||
$user->delete();
|
||||
$profile->delete();
|
||||
|
@ -303,14 +296,10 @@ class FinishopenidloginAction extends Action {
|
|||
return;
|
||||
}
|
||||
|
||||
$oid = new User_openid();
|
||||
$oid->display = $display;
|
||||
$oid->canonical = $canonical;
|
||||
$oid->user_id = $user->id;
|
||||
$oid->created = DB_DataObject_Cast::dateTime();
|
||||
$result = oid_link_user($user->id, $canonical, $display);
|
||||
|
||||
if (!$oid->insert()) {
|
||||
common_server_error(_t('Error connecting OpenID.'));
|
||||
if (!$result) {
|
||||
common_server_error(_t('Error connecting user to OpenID.'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -41,4 +41,21 @@ function oid_consumer() {
|
|||
$store = oid_store();
|
||||
$consumer = new Auth_OpenID_Consumer($store);
|
||||
return $consumer;
|
||||
}
|
||||
}
|
||||
|
||||
function oid_link_user($id, $canonical, $display) {
|
||||
|
||||
$oid = new User_openid();
|
||||
$oid->user_id = $id;
|
||||
$oid->canonical = $canonical;
|
||||
$oid->display = $display;
|
||||
$oid->created = DB_DataObject_Cast::dateTime();
|
||||
|
||||
if (!$oid->insert()) {
|
||||
$err = PEAR::getStaticProperty('DB_DataObject','lastError');
|
||||
common_debug('DB error ' . $err->code . ': ' . $err->message, __FILE__);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user