add confirm email to profile settings
darcs-hash:20080622142015-34904-00feabce7fe73360319d8a9c1372478879bb203a.gz
This commit is contained in:
parent
745a145f0d
commit
e69f28faab
|
@ -117,15 +117,35 @@ class ProfilesettingsAction extends SettingsAction {
|
|||
$original = clone($user);
|
||||
|
||||
$user->nickname = $nickname;
|
||||
$user->email = $email;
|
||||
|
||||
$result = $user->update($original);
|
||||
|
||||
if (!$result) {
|
||||
common_log_db_error($user, 'UPDATE', __FILE__);
|
||||
common_server_error(_t('Couldnt update user.'));
|
||||
return;
|
||||
}
|
||||
|
||||
if ($email != $original->email) {
|
||||
|
||||
$confirm = new Confirm_email();
|
||||
$confirm->code = common_good_rand(16);
|
||||
$confirm->user_id = $user->id;
|
||||
$confirm->email = $email;
|
||||
|
||||
$result = $confirm->insert();
|
||||
if (!$result) {
|
||||
common_log_db_error($confirm, 'INSERT', __FILE__);
|
||||
common_server_error(_t('Couldnt confirm email.'));
|
||||
return FALSE;
|
||||
}
|
||||
# XXX: try not to do this in the middle of a transaction
|
||||
|
||||
mail_confirm_address($confirm->code,
|
||||
$profile->nickname,
|
||||
$email);
|
||||
}
|
||||
|
||||
$profile = $user->getProfile();
|
||||
|
||||
$orig_profile = clone($profile);
|
||||
|
@ -140,14 +160,15 @@ class ProfilesettingsAction extends SettingsAction {
|
|||
$result = $profile->update($orig_profile);
|
||||
|
||||
if (!$result) {
|
||||
common_log_db_error($profile, 'UPDATE', __FILE__);
|
||||
common_server_error(_t('Couldnt save profile.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$user->query('COMMIT');
|
||||
|
||||
common_broadcast_profile($profile);
|
||||
|
||||
$user->query('COMMIT');
|
||||
|
||||
$this->show_form(_t('Settings saved.'), TRUE);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user