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.'); } }
/** * 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; }