ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/trunk/webapp/modules/pc/do/o_login.php @ 1856

Last change on this file since 1856 was 1856, checked in by takanashi, 13 years ago

copyright表記修正

File size: 2.0 KB
Line 
1<?php
2/**
3 * @copyright 2005-2007 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7class pc_do_o_login extends OpenPNE_Action
8{
9    var $_auth;
10    var $_lc;
11    var $_login_params;
12
13    function isSecure()
14    {
15        return false;
16    }
17
18    function execute($requests)
19    {
20        $this->_login_params = $requests['login_params'];
21        $auth_config = get_auth_config();
22        $auth = new OpenPNE_Auth($auth_config['storage'], $auth_config['options']);
23        $this->_auth =& $auth;
24        $auth->setExpire($GLOBALS['OpenPNE']['common']['session_lifetime']);
25        $auth->setIdle($GLOBALS['OpenPNE']['common']['session_idletime']);
26
27        // 現在のセッションを削除
28        $auth->logout();
29
30        if (LOGIN_CHECK_ENABLE) {
31            include_once 'OpenPNE/LoginChecker.php';
32            $options = array(
33                'check_num'   => LOGIN_CHECK_NUM,
34                'check_time'  => LOGIN_CHECK_TIME,
35                'reject_time' => LOGIN_REJECT_TIME,
36            );
37            $this->_lc =& new OpenPNE_LoginChecker($options);
38        }
39
40        if (!$auth->login($requests['is_save'], true)) {
41            $this->_fail_login();
42        }
43
44        if (LOGIN_CHECK_ENABLE && $this->_lc->is_rejected()) {
45            $this->_fail_login();
46        }
47       
48        if (IS_SLAVEPNE && !($c_member_id = db_member_c_member_id4username_encrypted($auth->getUsername(), false))) {
49            db_member_create_member($_POST['username']);
50        }
51
52        db_api_update_token($auth->uid());
53        $url = OPENPNE_URL;
54        if ($this->_login_params) {
55            $url .= '?' . $this->_login_params;
56        }
57        client_redirect_absolute($url);
58    }
59
60    function _fail_login()
61    {
62        if (LOGIN_CHECK_ENABLE) {
63            $this->_lc->fail_login();
64        }
65        $this->_auth->logout();
66        $p = array('msg_code' => 'login_failed', 'login_params' => $this->_login_params);
67        openpne_redirect('pc', 'page_o_tologin', $p);
68    }
69}
70
71?>
Note: See TracBrowser for help on using the repository browser.