Пример #1
0
 public function validityCheck($form)
 {
     $values = $form->getValues();
     if ($values->password != $values->password2) {
         $form->addError('Obě varianty hesla musí být stejné.');
     }
     $bdate = new \Nette\DateTime($values->birthdate);
     $diff = $bdate->diff(new \Nette\DateTime());
     $diff = $diff->format('%d');
     if ($diff < 7) {
         $form->addError('Uživatelé by měli být starší než jeden týden. ' . $diff . ' dní je příliš málo.');
     }
     $data = $this->model->getSelection()->where(array("email" => $values->email))->fetch();
     if ($data) {
         $form->addError('Email ' . $values->email . ' je již používán.');
     }
 }
Пример #2
0
 /**
  * verify token in database and delete it
  *
  * @param $token
  * @param int $userId
  * @return bool
  */
 public function verifyToken($token, $userId)
 {
     $request = $this->database->table('users_password_reset')->where('userId', $userId)->fetch();
     $now = new Nette\DateTime();
     if ($request) {
         $dateDiff = $now->diff($request->created);
         $totalHours = $dateDiff->d * 24 + $dateDiff->h;
         // remove token older than 2h
         if ($totalHours > 2) {
             $this->database->table('users_password_reset')->where('userId', $userId)->delete();
             return FALSE;
         }
     }
     if ($request && $request->id > 0) {
         if ($request->token == SELF::calculateHash($token, $request->salt)) {
             $this->database->table('users_password_reset')->where('userId', $userId)->delete();
             return TRUE;
         }
     }
     return FALSE;
 }