/** * Pokud je v session validni uzivatel a neni to anonymnous vraci true. * * @return boolean */ public static function isLoged() { $userValidator = new Bobr_User_UserValidator(); $user = Bobr_Session::getInstance()->user; if (TRUE === $userValidator->validate() && self::ANONYMOUS_USER_ID != $user->id) { return TRUE; } else { return FALSE; } }
/** * Zaloguje uzivatele. * Pokud nejsou shodne hesla vyhodi False o nezdaru. * Pokud neexistuje uzivatelske jemno vyhodi vyjimku. * * @return boolean * @throws UserNotExistException Pokud uzivatelske jemno neexistuje. */ public function logIn() { try { $user = new Bobr_User_User(); $user->loadByNick($this->nick); } catch (Bobr_User_UserNotExistException $e) { // Vyjimku zde odchytavame protoze dalsi kus kodu by nefungoval // a zaroven ji vyvarime aby se odchytila vejs. throw new Bobr_User_UserNotExistException($e->getMessage()); } $pass = Bobr_User_UserValidator::generatePassword($this->pass); if ($pass === $user->getPass()) { $this->unsetUserFromSession()->setUserToSession($user); return TRUE; } else { return FALSE; } }
/** * Zvaliduje session a nastavi uzivatele. * * @return Bobr */ private function setUser() { // Zvalidujem platnost Session new Bobr_SessionValidator(); $validator = new Bobr_User_UserValidator(); // Zvalidujem uzivatele v session if (FALSE === $validator->validate()) { // Uzivatel nebyl validni nastavime anonymouse $user = Bobr_Session::getInstance()->user = new Bobr_User_User(2); echo '<p>Nastavil jsem <b>' . $user->nick . '</b>.</p>'; } else { $user = Bobr_Session::getInstance()->user; echo '<p>Uzivatel <b>' . $user->nick . '</b> mel j*z vytvorenou session.</p>'; } $user = Bobr_Session::getInstance()->user; $webInstanceValidatdor = new Bobr_WebInstanceValidator(); if (TRUE === $webInstanceValidatdor->validate(Lib_Tools::getWebInstance())) { echo '<p>Uzivatel ma pristup na tuto web instanci</p>'; } else { Lib_Messanger::addError('Nemate pristup na tuto stranku.'); //@todo tato hlaska se pri presmerovani vymaze!! Bobr_Request_HttpRequest::redirect('/'); } return $this; }