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

source: OpenPNE/trunk/webapp/modules/pc/do/o_password_query.php @ 11972

Last change on this file since 11972 was 11972, checked in by nagasawa, 11 years ago

#3776:パスワード再発行ページにキャプチャを追加

File size: 2.5 KB
Line 
1<?php
2/**
3 * @copyright 2005-2008 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7class pc_do_o_password_query extends OpenPNE_Action
8{
9    function isSecure()
10    {
11        return false;
12    }
13
14    function execute($requests)
15    {
16        //外部認証の場合はリダイレクト
17        check_action4pne_slave(false);
18
19        // --- リクエスト変数
20        $pc_address = $requests['pc_address'];
21        $q_id = $requests['c_password_query_id'];
22        $q_answer = $requests['c_password_query_answer'];
23        // ----------
24
25        if (OPENPNE_USE_CAPTCHA) {
26            @session_start();
27            if ($_SESSION['captcha_keystring'] !== $requests['captcha']) {
28                unset($_SESSION['captcha']);
29                $p = array('msg' => "確認キーワードが誤っています");
30                openpne_redirect('pc', 'page_o_password_query', $p);
31            }
32            unset($_SESSION['captcha']);
33        }
34
35        if (!$pc_address) {
36            $p = array('msg' => "メールアドレスを入力してください");
37            openpne_redirect('pc', 'page_o_password_query', $p);
38        }
39        if (IS_PASSWORD_QUERY_ANSWER) {
40            if (!$q_id) {
41                $p = array('msg' => "秘密の質問を選択してください");
42                openpne_redirect('pc', 'page_o_password_query', $p);
43            }
44            if (!$q_answer) {
45                $p = array('msg' => "秘密の質問の答えを入力してください");
46                openpne_redirect('pc', 'page_o_password_query', $p);
47            }
48        }
49
50        //--- 権限チェック
51        if (IS_PASSWORD_QUERY_ANSWER) {
52            $c_member_id = db_member_is_password_query_complete($pc_address, $q_id, $q_answer);
53            $msg = '正しい値を入力してください';
54        } else {
55            $c_member_id = db_member_c_member_id4pc_address($pc_address);
56            $msg = '登録したメールアドレスを入力してください';
57        }
58
59        if (!$c_member_id) {
60            $p = array('msg' => $msg);
61            openpne_redirect('pc', 'page_o_password_query', $p);
62        }
63        //---
64
65        // パスワード再発行
66        $new_password = do_common_create_password();
67        db_member_update_password($c_member_id, $new_password);
68        do_password_query_mail_send($c_member_id, $pc_address, $new_password);
69
70        $p = array('msg_code' => 'password_query');
71        openpne_redirect('pc', 'page_o_tologin', $p);
72    }
73}
74
75?>
Note: See TracBrowser for help on using the repository browser.