1 <?php
2
3 namespace Objednavky;
4
5 use Nette\Application\UI;
6
7 8 9
10 class SignPresenter extends BasePresenter {
11
12
13 public $backlink = '';
14
15 16 17 18
19 protected function checkLogin() {
20
21 }
22
23 public function actionOut($param) {
24 $this->getUser()->logout();
25
26 $this->redirect('Sign:in');
27 }
28
29 protected function createComponentSignInForm() {
30 $form = new UI\Form;
31 $form->addProtection();
32 $form->getElementPrototype()->role = 'form';
33
34 $form->addText('username', 'Uživatelské jméno:')
35 ->setAttribute('class', 'form-control')
36 ->setAttribute('placeholder', 'Uživatelské jméno')
37 ->setRequired('Zadejte prosím uživatelské jméno');
38
39 $form->addPassword('password', 'Heslo:', 30)
40 ->setAttribute('class', 'form-control')
41 ->setAttribute('placeholder', 'Heslo')
42 ->setRequired('Zadejte prosím heslo');
43
44 $form->addSubmit('login', 'Přihlásit se')
45 ->setAttribute('class', 'btn btn-inverse');
46
47
48 $form->onSuccess[] = $this->signInFormSucceeded;
49 return $form;
50 }
51
52 public function signInFormSucceeded($form) {
53
54 $credentials = $form->getValues();
55
56 try {
57 $this->getUser()->login($credentials->username, $credentials->password);
58 $this->getUser()->setExpiration('30 minutes', TRUE);
59 $this->restoreRequest($this->backlink);
60 $this->redirect('Homepage:');
61 }
62 catch (\Nette\Security\AuthenticationException $e) {
63 $this->flashMessage('Přihlášení nebylo úspěšné.', 'error');
64
65 $form->addError($e->getMessage());
66 }
67 }
68
69 }
70