move update_user function to openid.php
darcs-hash:20080619135148-84dde-6caaa7f97d2405bc318bfa818c4ac9cbc31cab33.gz
This commit is contained in:
parent
171b4f72ee
commit
0ba9948603
@ -57,7 +57,7 @@ class FinishaddopenidAction extends Action {
|
||||
}
|
||||
|
||||
$cur =& common_current_user();
|
||||
$other = $this->get_user($canonical);
|
||||
$other = oid_get_user($canonical);
|
||||
|
||||
if ($other) {
|
||||
if ($other->id == $cur->id) {
|
||||
@ -79,7 +79,7 @@ class FinishaddopenidAction extends Action {
|
||||
return;
|
||||
}
|
||||
if ($sreg) {
|
||||
if (!$this->update_user($cur, $sreg)) {
|
||||
if (!oid_update_user($cur, $sreg)) {
|
||||
$this->message(_t('Error updating profile'));
|
||||
return;
|
||||
}
|
||||
@ -100,55 +100,4 @@ class FinishaddopenidAction extends Action {
|
||||
common_element('p', NULL, $msg);
|
||||
common_show_footer();
|
||||
}
|
||||
|
||||
function get_user($canonical) {
|
||||
$user = NULL;
|
||||
$oid = User_openid::staticGet('canonical', $canonical);
|
||||
if ($oid) {
|
||||
$user = User::staticGet('id', $oid->user_id);
|
||||
}
|
||||
return $user;
|
||||
}
|
||||
|
||||
function update_user(&$user, $sreg) {
|
||||
|
||||
$profile =& $user->getProfile();
|
||||
|
||||
$orig_profile = clone($profile);
|
||||
|
||||
if ($sreg['fullname'] && strlen($sreg['fullname']) <= 255) {
|
||||
$profile->fullname = $sreg['fullname'];
|
||||
}
|
||||
|
||||
if ($sreg['country']) {
|
||||
if ($sreg['postcode']) {
|
||||
# XXX: use postcode to get city and region
|
||||
# XXX: also, store postcode somewhere -- it's valuable!
|
||||
$profile->location = $sreg['postcode'] . ', ' . $sreg['country'];
|
||||
} else {
|
||||
$profile->location = $sreg['country'];
|
||||
}
|
||||
}
|
||||
|
||||
# XXX save language if it's passed
|
||||
# XXX save timezone if it's passed
|
||||
|
||||
if (!$profile->update($orig_profile)) {
|
||||
common_server_error(_t('Error saving the profile.'));
|
||||
return false;
|
||||
}
|
||||
|
||||
$orig_user = clone($user);
|
||||
|
||||
if ($sreg['email'] && Validate::email($sreg['email'], true)) {
|
||||
$user->email = $sreg['email'];
|
||||
}
|
||||
|
||||
if (!$user->update($orig_user)) {
|
||||
common_server_error(_t('Error saving the user.'));
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ class FinishopenidloginAction extends Action {
|
||||
|
||||
if ($user) {
|
||||
oid_set_last($display);
|
||||
$this->update_user($user, $sreg);
|
||||
oid_update_user($user, $sreg);
|
||||
common_set_user($user->nickname);
|
||||
$this->go_home($user->nickname);
|
||||
} else {
|
||||
@ -124,46 +124,6 @@ class FinishopenidloginAction extends Action {
|
||||
common_show_footer();
|
||||
}
|
||||
|
||||
function update_user($user, $sreg) {
|
||||
|
||||
$profile = $user->getProfile();
|
||||
|
||||
$orig_profile = clone($profile);
|
||||
|
||||
if ($sreg['fullname'] && strlen($sreg['fullname']) <= 255) {
|
||||
$profile->fullname = $sreg['fullname'];
|
||||
}
|
||||
|
||||
if ($sreg['country']) {
|
||||
if ($sreg['postcode']) {
|
||||
# XXX: use postcode to get city and region
|
||||
# XXX: also, store postcode somewhere -- it's valuable!
|
||||
$profile->location = $sreg['postcode'] . ', ' . $sreg['country'];
|
||||
} else {
|
||||
$profile->location = $sreg['country'];
|
||||
}
|
||||
}
|
||||
|
||||
# XXX save language if it's passed
|
||||
# XXX save timezone if it's passed
|
||||
|
||||
if (!$profile->update($orig_profile)) {
|
||||
common_server_error(_t('Error saving the profile.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$orig_user = clone($user);
|
||||
|
||||
if ($sreg['email'] && Validate::email($sreg['email'], true)) {
|
||||
$user->email = $sreg['email'];
|
||||
}
|
||||
|
||||
if (!$user->update($orig_user)) {
|
||||
common_server_error(_t('Error saving the user.'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function save_values($display, $canonical, $sreg) {
|
||||
common_ensure_session();
|
||||
$_SESSION['openid_display'] = $display;
|
||||
@ -297,7 +257,7 @@ class FinishopenidloginAction extends Action {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->update_user($user, $sreg);
|
||||
oid_update_user($user, $sreg);
|
||||
oid_set_last($display);
|
||||
common_set_user($user->nickname);
|
||||
$this->go_home($user->nickname);
|
||||
|
@ -181,3 +181,45 @@ function oid_authenticate($openid_url, $returnto, $immediate=false) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# update a user from sreg parameters
|
||||
|
||||
function oid_update_user(&$user, &$sreg) {
|
||||
|
||||
$profile = $user->getProfile();
|
||||
|
||||
$orig_profile = clone($profile);
|
||||
|
||||
if ($sreg['fullname'] && strlen($sreg['fullname']) <= 255) {
|
||||
$profile->fullname = $sreg['fullname'];
|
||||
}
|
||||
|
||||
if ($sreg['country']) {
|
||||
if ($sreg['postcode']) {
|
||||
# XXX: use postcode to get city and region
|
||||
# XXX: also, store postcode somewhere -- it's valuable!
|
||||
$profile->location = $sreg['postcode'] . ', ' . $sreg['country'];
|
||||
} else {
|
||||
$profile->location = $sreg['country'];
|
||||
}
|
||||
}
|
||||
|
||||
# XXX save language if it's passed
|
||||
# XXX save timezone if it's passed
|
||||
|
||||
if (!$profile->update($orig_profile)) {
|
||||
common_server_error(_t('Error saving the profile.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$orig_user = clone($user);
|
||||
|
||||
if ($sreg['email'] && Validate::email($sreg['email'], true)) {
|
||||
$user->email = $sreg['email'];
|
||||
}
|
||||
|
||||
if (!$user->update($orig_user)) {
|
||||
common_server_error(_t('Error saving the user.'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user