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

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

Last change on this file since 4917 was 4917, checked in by ogawa, 15 years ago

#1766:OpenPNE_Authインスタンス作成処理の共通化

File size: 2.7 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        $config = get_auth_config(true);
29        $auth = new OpenPNE_Auth($config);
30        $auth->setExpire($GLOBALS['OpenPNE']['ktai']['session_lifetime']);
31        $auth->setIdle($GLOBALS['OpenPNE']['ktai']['session_idletime']);
32        $this->_auth =& $auth;
33       
34        if (LOGIN_CHECK_ENABLE) {
35            // 不正ログインチェック
36            include_once 'OpenPNE/LoginChecker.php';
37            $options = array(
38                'check_num'   => LOGIN_CHECK_NUM,
39                'check_time'  => LOGIN_CHECK_TIME,
40                'reject_time' => LOGIN_REJECT_TIME,
41            );
42            $lc = new OpenPNE_LoginChecker($options);
43            if ($lc->is_rejected() || !$auth->login(false, true, true)) {
44                // 認証エラー
45                $lc->fail_login();
46                $p = array('msg' => '0', 'kad' => t_encrypt($ktai_address), 'login_params' => $requests['login_params']);
47                openpne_redirect('ktai', 'page_o_login', $p);
48            }
49        } else {
50            if (!$auth->login(false, true, true)) {
51                $p = array('msg' => '0', 'kad' => t_encrypt($ktai_address), 'login_params' => $requests['login_params']);
52                openpne_redirect('ktai', 'page_o_login', $p);
53            }
54        }
55
56        $c_member_id = db_member_c_member_id4username_encrypted($auth->getUsername(), true);
57        if (!$c_member_id) {
58            if (IS_SLAVEPNE) {
59                db_member_create_member($_POST['username']);
60            } else {
61                $p = array('msg' => '0', 'kad' => t_encrypt($ktai_address), 'login_params' => $requests['login_params']);
62                openpne_redirect('ktai', 'page_o_login', $p);
63            }
64        }
65
66        db_member_do_access($c_member_id);
67
68        $p = array();
69        if ($requests['login_params']) {
70            parse_str($requests['login_params'], $p);
71        }
72        $p['ksid'] = session_id();
73        if (!empty($p['a']) && $p['a'] != 'page_o_login') {
74            $a = $p['a'];
75            unset($p['a']);
76        } else {
77            $a = 'page_h_home';
78        }
79        openpne_redirect('ktai', $a, $p);
80    }
81}
82
83?>
Note: See TracBrowser for help on using the repository browser.