Beispiel #1
0
 function dologin()
 {
     $rememberme = @$_POST['rememberme'];
     $username = stripslashes($_POST['name']);
     $password = stripslashes($_POST['passwd']);
     if ($rememberme) {
         $this->auth->setCookie($username);
     } else {
         $this->auth->deleteCookie();
     }
     // najprv sa vykona autentifikacia voci LDAP (korektny login + heslo)
     try {
         $this->auth->login($username, $password);
     } catch (LoginException $ex) {
         $this->log("Neplatné meno `{$username}` alebo heslo");
         $this->flash("Bolo zadané neplatné heslo alebo meno.", "error");
         $this->redirect('auth/login');
         return;
     }
     $user = $this->user->findByLogin($username);
     if (empty($user)) {
         $this->log("Pokus o prihlásenie neevidovanej osoby `{$username}`");
         $this->flash("Ľutujeme, nemáte prístup do tejto aplikácie. Kontaktujte prosím <a href='mailto:galbavy@fiit.stuba.sk' title='Poslať mail administratorovi'>administrátora aplikácie</a>", "error");
         $this->redirect('auth/login');
         return;
     }
     // nastavi aktivny semester
     // TODO: uchovavat v DB pre usera jeho poslednu hodnotu
     $periods = new Periods();
     $lastSemID = $periods->getLastSemesterID();
     $user["semester"] = $lastSemID;
     $this->session->writeUser($user);
     $this->log("Prihlásenie používateľa");
     $redirect = $this->session->read("redirect");
     if ($redirect) {
         // zmaze presmerovanie a presmetuje
         $this->session->delete("redirect");
         $this->redirect($redirect);
     } else {
         $this->redirect('user/home');
     }
 }