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

source: OpenPNE/trunk/webapp/modules/ktai/do/o_login.php @ 4554

Last change on this file since 4554 was 4554, checked in by ebihara, 15 years ago

#967:ログイン時に最終ログイン時間を更新するようにした

File size: 2.9 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 ktai_do_o_login extends OpenPNE_Action
8{
9    var $_auth;
10   
11    function isSecure()
12    {
13        return false;
14    }
15
16    function execute($requests)
17    {
18        // --- リクエスト変数
19        $c_member_id = $requests['c_member_id'];
20        $ktai_address = $requests['ktai_address'];
21        $password = $requests['password'];
22        // ----------
23       
24        @session_name('OpenPNEktai');
25        @session_start();
26        @session_regenerate_id();
27       
28        $auth_config = get_auth_config(true);
29        $auth_config['options']['advancedsecurity'] = false;
30        $auth = new OpenPNE_Auth($auth_config['storage'], $auth_config['options'],true);
31        $this->_auth =& $auth;
32        $auth->setExpire($GLOBALS['OpenPNE']['ktai']['session_lifetime']);
33        $auth->setIdle($GLOBALS['OpenPNE']['ktai']['session_idletime']);
34       
35        if (LOGIN_CHECK_ENABLE) {
36            // 不正ログインチェック
37            include_once 'OpenPNE/LoginChecker.php';
38            $options = array(
39                'check_num'   => LOGIN_CHECK_NUM,
40                'check_time'  => LOGIN_CHECK_TIME,
41                'reject_time' => LOGIN_REJECT_TIME,
42            );
43            $lc = new OpenPNE_LoginChecker($options);
44            if ($lc->is_rejected() || !$auth->login(false, true, true)) {
45                // 認証エラー
46                $lc->fail_login();
47                $p = array('msg' => '0', 'kad' => t_encrypt($ktai_address), 'login_params' => $requests['login_params']);
48                openpne_redirect('ktai', 'page_o_login', $p);
49            }
50        } else {
51            if (!$auth->login(false, true, true)) {
52                $p = array('msg' => '0', 'kad' => t_encrypt($ktai_address), 'login_params' => $requests['login_params']);
53                openpne_redirect('ktai', 'page_o_login', $p);
54            }
55        }
56
57        $c_member_id = db_member_c_member_id4username_encrypted($auth->getUsername(), true);
58        if (!$c_member_id) {
59            if (IS_SLAVEPNE) {
60                db_member_create_member($_POST['username']);
61            } else {
62                $p = array('msg' => '0', 'kad' => t_encrypt($ktai_address), 'login_params' => $requests['login_params']);
63                openpne_redirect('ktai', 'page_o_login', $p);
64            }
65        }
66
67        $_SESSION['c_member_id'] = $c_member_id;
68        db_member_do_access($c_member_id);
69
70        $p = array();
71        if ($requests['login_params']) {
72            parse_str($requests['login_params'], $p);
73        }
74        $p['ksid'] = session_id();
75        if (!empty($p['a']) && $p['a'] != 'page_o_login') {
76            $a = $p['a'];
77            unset($p['a']);
78        } else {
79            $a = 'page_h_home';
80        }
81        openpne_redirect('ktai', $a, $p);
82    }
83}
84
85?>
Note: See TracBrowser for help on using the repository browser.