summaryrefslogtreecommitdiff
path: root/app/frontend/controls/LoginBox.php
blob: 8ab0c949abcd1823779bea6dec8b256de6c3e96c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php

Prado::using('Application.web.TemplateControl');

class LoginBox extends TemplateControl {

    public function onInit($param) {
        parent::onInit($param);
        if (!$this->Page->IsPostBack && !$this->User->IsGuest) {
            $this->_afterLoginRedirect();
        }
    }

    private function _afterLoginRedirect() {
        $authModule = $this->Application->getModule('auth');
        $redirUrl = $authModule->ReturnUrl;
        if (!$redirUrl
            || $redirUrl == $this->Service->constructUrl($authModule->LoginPage)) {
            $redirUrl = $this->Service->constructUrl(NULL);
        }
        $this->Response->redirect($redirUrl);
    }

    public function loginUser($sender, $param) {
        if ($this->Page->IsValid) {
            $this->_afterLoginRedirect();
        }
    }

    public function validatePassword($sender, $param) {
        $param->IsValid = $this->Application->getModule('auth')->login(
            $this->Login->Text,
            $this->Password->Text,
            $this->Remember->Checked ? PHP_INT_MAX : 0
        );
    }

}

?>