public function UpdateField($fieldAlias, $newValue, &$pkVal = NULL) { if ($fieldAlias == 'role' && isset($_SESSION['current_user']) && $pkVal == $_SESSION['current_user']) { uNotices::AddNotice('You cannot edit your own role', NOTICE_TYPE_ERROR); return; } if ($fieldAlias == '_validate_user') { return $this->UpdateField('email_confirm_code', true, $pkVal); } if ($fieldAlias == '_validate_send') { uVerifyEmail::VerifyAccount($pkVal); return; } parent::UpdateField($fieldAlias, $newValue, $pkVal); }
public function UpdatedEmail($o, $e, $f, $v, $pk) { if ($f !== 'username') { return; } uVerifyEmail::VerifyAccount($pk); }
public function ResetPW($user) { $rec = $this->LookupRecord(array('username' => $user)); if (!$rec) { return FALSE; } // user not found. // account has not yet been validated. if ($rec['username'] == $rec['email_confirm']) { uVerifyEmail::VerifyAccount($rec['user_id']); return; } $randKey = uCrypt::GetRandom(20); $this->SetFieldOptions('email_confirm_code', ALLOW_EDIT); $this->UpdateField('email_confirm_code', $randKey, $rec['user_id']); $this->SetFieldOptions('email_confirm_code', NULL); //email out verification $name = $rec['username'] ? ' ' . $rec['username'] : ''; $url = $this->GetURL(array('e' => $user, 'c' => $randKey)); $url = preg_replace('/^' . preg_quote(PATH_REL_ROOT, '/') . '/', '', $url); if (empty($rec['password'])) { uEmailer::SendEmailTemplate('account_activate', array('email' => $user, 'contact_name' => $name, 'activate_link' => $url), 'email'); } else { uEmailer::SendEmailTemplate('account_resetpw', array('email' => $user, 'contact_name' => $name, 'activate_link' => $url), 'email'); } }