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

source: OpenPNE/trunk/webapp/modules/ktai/do/o_regist_ktai.php @ 4230

Last change on this file since 4230 was 4230, checked in by ebihara, 13 years ago

デバッグ用出力の削除漏れを修正

File size: 6.4 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
7require_once 'OpenPNE/KtaiID.php';
8
9class ktai_do_o_regist_ktai extends OpenPNE_Action
10{
11    function isSecure()
12    {
13        return false;
14    }
15
16    function execute($requests)
17    {
18        // --- リクエスト変数
19        $ses = $requests['ses'];
20        $password = $requests['password'];
21        $c_member_id = intval($requests['id']);
22        $c_member_pre_id = intval($requests['pre_id']);
23        // ----------
24
25        $pre = array();
26
27        // セッションが有効かどうか
28        if ((!$pre = db_member_c_ktai_address_pre4session($ses)) && !empty($c_member_id)) {
29            // 無効の場合、login へリダイレクト
30            openpne_redirect('ktai', 'page_o_login');
31        } elseif (!empty($c_member_id)) {
32        } elseif ((!$pre = db_member_c_member_pre4session($ses)) && !empty($c_member_pre_id)) {
33            openpne_redirect('ktai', 'page_o_login');
34        }
35
36        // メールアドレスが登録できるかどうか
37        if (!util_is_regist_mail_address($pre['ktai_address'])) {
38            openpne_redirect('ktai', 'page_o_login', array('msg' => 42));
39        }
40
41        $c_member_id = $pre['c_member_id'];
42        $c_member_pre_id = $pre['c_member_pre_id'];
43        $ktai_address = $pre['ktai_address'];
44
45        // パスワードチェック
46        if (!empty($c_member_id) && !db_common_authenticate_password($c_member_id, $password, true)) {
47            $p = array('msg' => 18, 'ses' => $ses);
48            openpne_redirect('ktai', 'page_o_login2', $p);
49        } elseif (!empty($c_member_pre_id) && (md5($password) !== $pre['password'])) {
50            $p = array('msg' => 18, 'ses' => $ses);
51            openpne_redirect('ktai', 'page_o_login2', $p);
52        }
53
54        if ((!$easy_access_id = OpenPNE_KtaiID::getID()) && (!$pre['is_disabled_regist_easy_access_id'])) {
55            if (!empty($c_member_id)) {
56                $p = array('ses' => $ses, 'id' => $c_member_id);
57            } elseif (!empty($c_member_pre_id)) {
58                $p = array('ses' => $ses, 'pre_id' => $c_member_pre_id);
59            }
60            openpne_redirect('ktai', 'page_o_regist_ktai_uid_err', $p);
61        }
62       
63        $id = db_member_c_member_id4easy_access_id($easy_access_id);
64        if (!$pre['is_disabled_regist_easy_access_id']) {
65            if (!empty($c_member_id) && $id && $c_member_id != $id) {
66                $p = array('msg' => 39, 'ses' => $ses, 'id' => $c_member_id);
67                openpne_redirect('ktai', 'page_o_regist_ktai', $p);
68            } elseif (!empty($c_member_pre_id) && !empty($id)) {
69                $p = array('msg' => 39, 'ses' => $ses, 'pre_id' => $c_member_pre_id);
70                openpne_redirect('ktai', 'page_o_regist_ktai', $p);
71            }
72        }
73
74        if (db_member_easy_access_id_is_blacklist(md5($easy_access_id))) {
75            if (!empty($c_member_id)) {
76                $p = array('msg' => 44, 'ses' => $ses, 'c_member_id' => $c_member_id);
77            } elseif (!empty($c_member_pre_id)) {
78                $p = array('msg' => 44, 'ses' => $ses, 'c_member_pre_id' => $c_member_pre_id);
79            }
80            openpne_redirect('ktai', 'page_o_regist_ktai', $p);
81        }
82       
83        if (!empty($c_member_id)) {
84            // 既存ユーザの場合は個体識別番号を登録するだけ
85            db_member_update_easy_access_id($c_member_id, $easy_access_id);
86            db_member_update_ktai_address($c_member_id, $ktai_address);
87            db_member_delete_ktai_address_pre($pre['c_ktai_address_pre_id']);
88        } elseif (!empty($c_member_pre_id)) {
89            // 新規ユーザの場合、PC版で行わなかったメンバー登録処理をここで行う
90            $c_member = $pre;
91            $c_member['c_member_id_invite'] = $pre['c_member_id_invite'];
92            $c_member['is_receive_mail'] = 1;
93            $c_member['is_receive_ktai_mail'] = 1;
94            $c_member['is_receive_daily_news'] = 1;
95            $c_member_secure = array(
96                'password' => $pre['password'],
97                'c_password_query_id' => $pre['c_password_query_id'],
98                'password_query_answer' => $pre['c_password_query_answer'],
99                'pc_address' => $pre['pc_address'],
100                'ktai_address' => $pre['ktai_address'],
101                'regist_address' => $pre['pc_address'],
102            );
103
104            $u = db_member_insert_c_member($c_member, $c_member_secure);
105   
106            if (OPENPNE_USE_POINT_RANK) {
107                //入会者にポイント加算
108                $point = db_action_get_point4c_action_id(1);
109                db_point_add_point($u, $point);
110   
111                //メンバー招待をした人にポイント付与
112                $point = db_action_get_point4c_action_id(7);
113                db_point_add_point($pre['c_member_id_invite'], $point);
114            }
115   
116            // c_member_profile
117            $c_member_pre_profile = db_member_c_member_pre_profile4c_member_pre_id($pre['c_member_pre_id']);
118            foreach ($c_member_pre_profile as $item) {
119                db_member_insert_c_member_profile($u, $item['c_profile_id'], $item['c_profile_option_id'], $item['value'], $item['public_flag']);
120            }
121   
122            // 招待者とフレンドリンク
123            db_friend_insert_c_friend($u, $pre['c_member_id_invite']);
124   
125            //管理画面で指定したコミュニティに強制参加
126            $c_commu_id_list = db_commu_regist_join_list();
127            foreach ($c_commu_id_list as $c_commu_id) {
128                db_commu_join_c_commu($c_commu_id, $u);
129            }
130
131            db_member_update_easy_access_id($u, $easy_access_id);
132            db_member_update_ktai_address($u, $ktai_address);
133            db_member_delete_ktai_address_pre($pre['c_ktai_address_pre_id']);
134        }
135        // pre の内容を削除
136        db_member_delete_c_member_pre4sid($ses);
137        db_member_delete_c_member_pre4ktai_session($ses);
138        db_member_delete_c_member_pre_profile4c_member_pre_id($pre['c_member_pre_id']);
139
140        // 登録完了メール送信
141        do_regist_prof_do_regist2_mail_send($u);
142
143        if (!empty($c_member_id)) {
144            $p = array('ses' => $ses, 'id' => $c_member_id);
145        } elseif (!empty($c_member_pre_id)) {
146            $p = array('ses' => $ses, 'pre_id' => $c_member_pre_id);
147        }
148
149        openpne_redirect('ktai', 'page_o_regist_ktai_end', $p);
150    }
151}
152
153?>
Note: See TracBrowser for help on using the repository browser.