Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 public function UpdatedEmail($o, $e, $f, $v, $pk)
 {
     if ($f !== 'username') {
         return;
     }
     uVerifyEmail::VerifyAccount($pk);
 }
Esempio n. 3
0
 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');
     }
 }