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

Changeset 4190


Ignore:
Timestamp:
Sep 28, 2007, 9:50:50 PM (12 years ago)
Author:
ebihara
Message:

#1129:trunkのコードを元に作業用ブランチ作成。r4032,r4034,r4091の変更を取り消し、r4030を取り込み

Location:
OpenPNE/branches/work/ebihara/prj_regist_ktai_uid
Files:
13 edited
34 copied

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/lib/OpenPNE/Config.php

    r4032 r4190  
    2323            'CATCH_COPY', 'OPERATION_COMPANY', 'COPYRIGHT',
    2424            'IS_CLOSED_SNS', 'IS_USER_INVITE', 'IS_GET_EASY_ACCESS_ID',
    25             'OPENPNE_ENABLE_PC', 'OPENPNE_ENABLE_KTAI',
     25            'OPENPNE_ENABLE_PC', 'OPENPNE_ENABLE_KTAI', 'OPENPNE_KTAI_ID_REQUIRED',
    2626            'OPENPNE_REGIST_FROM',
    2727            'LOGIN_CHECK_ENABLE','LOGIN_CHECK_TIME','LOGIN_CHECK_NUM','LOGIN_REJECT_TIME',
     
    101101            'OPENPNE_ENABLE_PC' => true,
    102102            'OPENPNE_ENABLE_KTAI' => true,
     103            'OPENPNE_KTAI_ID_REQUIRED' => false,
    103104            'OPENPNE_REGIST_FROM' => 3,
    104105            'AMAZON_AFFID'   => 'snsoftjp-22',
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/lib/auth.inc

    r4032 r4190  
    6868}
    6969
     70if (OPENPNE_KTAI_ID_REQUIRED && (!IS_SLAVEPNE || $_SESSION['regist_step'])) {
     71    if (!db_member_is_ktai_id_registed($u)) {
     72        $current_page = $GLOBALS['__Framework']['current_type']."_".$GLOBALS['__Framework']['current_action'];
     73        //携帯個体識別番号が未登録の場合はリダイレクト
     74        $ktai_id_ext_page=array(
     75        'page_h_regist_ktai_id'=>true,
     76        'page_h_regist_ktai_id_end'=>true,
     77        'do_h_regist_ktai_id'=>true,
     78        'do_inc_page_header_logout'=>true,
     79        );
     80       
     81        if (!$ktai_id_ext_page[$current_page]) {
     82                openpne_redirect('pc', 'page_h_regist_ktai_id');
     83        }
     84    }
     85}
     86
    7087?>
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/lib/db/member.php

    r4160 r4190  
    753753}
    754754
     755function db_member_c_member_pre4session($session)
     756{
     757    $sql = 'SELECT * FROM c_member_pre WHERE session = ?';
     758    $params = array($session);
     759    return db_get_row($sql, $params);
     760}
     761
    755762/**
    756763 * メンバーIDからハッシュ化されたパスワードを取得
     
    10271034//--- c_member_secure
    10281035
    1029 function db_member_insert_c_member($c_member, $c_member_secure)
    1030 {
    1031     if ($c_member_secure['pc_address'] && !util_is_regist_mail_address($c_member_secure['pc_address'])) {
     1036function db_member_insert_c_member($c_member, $c_member_secure, $is_encrypted = false)
     1037{
     1038    // 以降の処理のために、メールアドレスが暗号化されている場合は復号化する
     1039    if ($is_encrypted) {
     1040        $c_member_secure['pc_address'] =t_decrypt($c_member_secure['pc_address']);
     1041        $c_member_secure['ktai_address'] = t_decrypt($c_member_secure['ktai_address']);
     1042        $c_member_secure['regist_address'] = t_decrypt($c_member_secure['regist_address']);
     1043    }
     1044
     1045    if (!is_encrypted && $c_member_secure['pc_address'] && !util_is_regist_mail_address($c_member_secure['pc_address'])) {
    10321046        return false;
    10331047    }
    1034     if ($c_member_secure['ktai_address'] && !util_is_regist_mail_address($c_member_secure['ktai_address'])) {
     1048
     1049    if (!is_encrypted && $c_member_secure['ktai_address'] && !util_is_regist_mail_address($c_member_secure['ktai_address'])) {
    10351050        return false;
    10361051    }
    1037     if (!util_is_regist_mail_address($c_member_secure['regist_address'])) {
     1052
     1053    if (!is_encrypted && !util_is_regist_mail_address($c_member_secure['regist_address'])) {
    10381054        return false;
    10391055    }
     
    10631079    cache_drop_c_member_profile($c_member_id);
    10641080
    1065     $data = array(
    1066         'c_member_id' => intval($c_member_id),
    1067         'hashed_password' => md5($c_member_secure['password']),
    1068         'hashed_password_query_answer' => md5($c_member_secure['password_query_answer']),
    1069         'pc_address'     => t_encrypt($c_member_secure['pc_address']),
    1070         'ktai_address'   => t_encrypt($c_member_secure['ktai_address']),
    1071         'regist_address' => t_encrypt($c_member_secure['regist_address']),
    1072         'easy_access_id' => '',
    1073     );
     1081    if ($is_encrypted === false) {
     1082        $data = array(
     1083            'c_member_id' => intval($c_member_id),
     1084            'hashed_password' => md5($c_member_secure['password']),
     1085            'hashed_password_query_answer' => md5($c_member_secure['password_query_answer']),
     1086            'pc_address'     => t_encrypt($c_member_secure['pc_address']),
     1087            'ktai_address'   => t_encrypt($c_member_secure['ktai_address']),
     1088            'regist_address' => t_encrypt($c_member_secure['regist_address']),
     1089            'easy_access_id' => '',
     1090        );
     1091    } else {
     1092        $data = array(
     1093            'c_member_id' => intval($c_member_id),
     1094            'hashed_password' => $c_member_secure['password'],
     1095            'hashed_password_query_answer' => $c_member_secure['password_query_answer'],
     1096            'pc_address'     => t_encrypt($c_member_secure['pc_address']),
     1097            'ktai_address'   => t_encrypt($c_member_secure['ktai_address']),
     1098            'regist_address' => t_encrypt($c_member_secure['regist_address']),
     1099            'easy_access_id' => '',
     1100        );
     1101    }
    10741102    db_insert('c_member_secure', $data);
    10751103
     
    11131141
    11141142    return $c_member_id_new;
     1143}
     1144
     1145function db_member_update_c_member_pre_secure($c_member_pre_id, $c_member_pre_secure)
     1146{
     1147    $data = array(
     1148        'session' => $c_member_pre_secure['session'],
     1149        'nickname'    => $c_member_pre_secure['nickname'],
     1150        'birth_year'  => $c_member_pre_secure['birth_year'],
     1151        'birth_month' => $c_member_pre_secure['birth_month'],
     1152        'birth_day'   => $c_member_pre_secure['birth_day'],
     1153        'public_flag_birth_year' => $c_member_pre_secure['public_flag_birth_year'],
     1154        'c_password_query_id' => intval($c_member_pre_secure['c_password_query_id']),
     1155        'password' => md5($c_member_pre_secure['password']),
     1156        'c_password_query_answer' => md5($c_member_pre_secure['password_query_answer']),
     1157        'pc_address'     => t_encrypt($c_member_pre_secure['pc_address']),
     1158        'ktai_address'     => t_encrypt($c_member_pre_secure['ktai_address']),
     1159        'regist_address' => t_encrypt($c_member_pre_secure['regist_address']),
     1160    );
     1161    return db_update('c_member_pre', $data, array('c_member_pre_id' => $c_member_pre_id));
    11151162}
    11161163
     
    14241471}
    14251472
     1473function db_member_delete_c_member_profile_pre4c_member_pre_id($c_member_pre_id)
     1474{
     1475    $sql = 'DELETE FROM c_member_profile_pre WHERE c_member_pre_id = ?';
     1476    $params = array($c_member_pre_id);
     1477    return db_query($sql, $params);
     1478}
     1479
    14261480//--- c_member_ktai_pre
    14271481
     
    15221576    );
    15231577    return db_insert('c_member_profile', $data);
     1578}
     1579
     1580/***
     1581 * 一時的に c_member_profile_pre にプロフィール情報をインサートする
     1582 *
     1583 * 個体識別番号登録必須制が「必須にする」である場合など、c_member ではなく c_member_pre を使うのが望ましい場面で使用する。
     1584 *
     1585 * @param int $c_member_pre_id
     1586 * @param int $c_profile_id
     1587 * @param int $c_profile_option_id
     1588 * @param int $value
     1589 * @param string $public_flag
     1590 * @return mixed
     1591 */
     1592function db_member_insert_c_member_profile_pre($c_member_pre_id, $c_profile_id, $c_profile_option_id, $value, $public_flag)
     1593{
     1594    $data = array(
     1595        'c_member_pre_id' => intval($c_member_pre_id),
     1596        'c_profile_id' => intval($c_profile_id),
     1597        'c_profile_option_id' => intval($c_profile_option_id),
     1598        'value' => $value,
     1599        'public_flag' => $public_flag,
     1600    );
     1601    return db_insert('c_member_profile_pre', $data);
     1602}
     1603
     1604/***
     1605 * c_member_profile_pre のプロフィール情報を更新する
     1606 *
     1607 * @param int $c_member_pre_id
     1608 * @param array $c_member_profile_list
     1609 * @return mixed
     1610 */
     1611function db_member_update_c_member_profile_pre($c_member_pre_id, $c_member_profile_list)
     1612{
     1613    foreach ($c_member_profile_list as $item) {
     1614        $sql = 'DELETE FROM c_member_profile_pre' .
     1615                ' WHERE c_member_pre_id = ? AND c_profile_id = ?';
     1616        $params = array(intval($c_member_pre_id), intval($item['c_profile_id']));
     1617        db_query($sql, $params);
     1618   
     1619        if (!(is_null($item['value']) || $item['value'] === '')) {
     1620            if (is_array($item['value'])) {
     1621                foreach ($item['value'] as $key => $value) {
     1622                    db_member_insert_c_member_profile_pre($c_member_pre_id, $item['c_profile_id'], $key, $value, $item['public_flag']);
     1623                }
     1624            } else {
     1625                db_member_insert_c_member_profile_pre($c_member_pre_id, $item['c_profile_id'], $item['c_profile_option_id'], $item['value'], $item['public_flag']);
     1626            }
     1627        }
     1628    }
     1629}
     1630
     1631/***
     1632 * c_member_profile_pre のプロフィール情報を取得する
     1633 *
     1634 * @param int $c_member_pre_id
     1635 * @return array
     1636 */
     1637function db_member_c_member_profile_pre4c_member_pre_id($c_member_pre_id)
     1638{
     1639    $sql = 'SELECT * FROM c_member_profile_pre WHERE c_member_pre_id = ?';
     1640    $params = array(intval($c_member_pre_id));
     1641    return db_get_all($sql, $params);
    15241642}
    15251643
     
    17221840}
    17231841
     1842function db_member_is_ktai_id_registed($c_member_id)
     1843{
     1844    $sql = 'SELECT easy_access_id FROM c_member_secure WHERE c_member_id = ?';
     1845    $params = array(intval($c_member_id));
     1846    return (db_get_one($sql, $params) != '');
     1847}
     1848
    17241849function db_member_is_blacklist($c_member_id)
    17251850{
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/lib/util/mail_send.php

    r4164 r4190  
    849849    }
    850850}
     851
     852//携帯個体識別番号を登録する必要がある場合に送られるメール
     853function do_mail_sns_regist_ktai_id_mail_send($c_member_id, $session, $ktai_address)
     854{
     855    $params['SNS_NAME'] = SNS_NAME;
     856    $p = array('id' => $c_member_id, 'ses' => $session);
     857    $params['url'] = openpne_gen_url('ktai', 'page_o_regist_ktai_id', $p);
     858    return fetch_send_mail($ktai_address, 'm_ktai_regist_ktai_id', $params);
     859}
     860//携帯個体識別番号を登録する必要がある場合に送られるメール(新規登録用)
     861function do_mail_sns_regist_ktai_id_mail_send_pre($c_member_pre_id, $session, $ktai_address)
     862{
     863    $params['SNS_NAME'] = SNS_NAME;
     864    $p = array('pre_id' => $c_member_pre_id, 'ses' => $session);
     865    $params['url'] = openpne_gen_url('ktai', 'page_o_regist_ktai_id', $p);
     866    return fetch_send_mail($ktai_address, 'm_ktai_regist_ktai_id', $params);
     867}
     868
     869// 個体識別番号のお問い合わせフォームから管理者にメール送信
     870function send_mail_sns_regist_ktai_uid_inquiry($ktai_address, $body)
     871{
     872    $c_member = db_member_c_member4c_member_id_LIGHT($c_member_id);
     873
     874    $params = array(
     875        'SNS_NAME' => SNS_NAME,
     876        'SNS_URL' => OPENPNE_URL,
     877        'ktai_address' => $ktai_address,
     878        'body' => $body,
     879        'date' => date('Y. m. d'),
     880        'datetime' => date('Y/m/d H:i:s')
     881    );
     882    return fetch_send_mail(ADMIN_EMAIL, 'm_ktai_regist_uid_inquiry', $params);
     883}
     884
    851885?>
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/admin/do/update_c_admin_config.php

    r4032 r4190  
    1616        $config =& OpenPNE_Config::getInstance();
    1717
     18        if (!$requests['OPENPNE_ENABLE_KTAI'] && $requests['OPENPNE_KTAI_ID_REQUIRED']) {
     19                admin_client_redirect('edit_c_admin_config', '携帯版が使用可でなければ携帯固有番号は必須にできません');
     20        }
    1821        foreach ($requests as $name => $value) {
    1922            if (!$config->is_allowed($name)) continue;
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/admin/templates/edit_c_admin_config.tpl

    r4032 r4190  
    6969</select><br />
    7070<span class="caution">※使用不可にすると携帯で表示できなくなります</span>
     71</td>
     72</tr>
     73<tr class="cell07">
     74<th colspan="2">個体識別番号登録必須制</th>
     75<td>
     76<span class="info">SNSを使う際に個体識別番号の取得を必須にするかどうか設定します</span><br />
     77<select class="basic" name="OPENPNE_KTAI_ID_REQUIRED">
     78<option value="1"({if $smarty.const.OPENPNE_KTAI_ID_REQUIRED}) selected="selected"({/if})>必須にする</option>
     79<option value="0"({if !$smarty.const.OPENPNE_KTAI_ID_REQUIRED}) selected="selected"({/if})>必須にしない</option>
     80</select><br />
     81<span class="caution">※携帯版使用設定を「使用可にする」にしなければ設定できません</span><br />
     82<span class="caution">※必須にした場合、個体識別番号の取得設定は反映されません</span>
    7183</td>
    7284</tr>
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/admin/validate/do/update_c_admin_config.ini

    r4032 r4190  
    5151type = "bool"
    5252default = "1"
     53
     54[OPENPNE_KTAI_ID_REQUIRED]
     55type = "bool"
     56default = "0"
    5357
    5458[OPENPNE_REGIST_FROM]
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/ktai/auth.inc

    r4096 r4190  
    6464    }
    6565}
     66if (OPENPNE_KTAI_ID_REQUIRED && (!IS_SLAVEPNE || $_SESSION['regist_step'])) {
     67    if (!db_member_is_ktai_id_registed($u)) {
     68        $current_page = $GLOBALS['__Framework']['current_type']."_".$GLOBALS['__Framework']['current_action'];
     69        //携帯個体識別番号が未登録の場合はリダイレクト
     70        $ktai_id_ext_page=array(
     71        'page_h_regist_ktai_id'=>true,
     72        'do_h_regist_ktai_id'=>true,
     73        );
     74       
     75        if (!$ktai_id_ext_page[$current_page]) {
     76            openpne_redirect('ktai', 'page_h_regist_ktai_id');
     77        }
     78    }
     79}
    6680
    6781function __logout($msg = 0, $c_member_id = 0)
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/ktai/do/o_insert_c_member.php

    r4096 r4190  
    8383        }
    8484
    85         if (IS_GET_EASY_ACCESS_ID != 0) {
     85        if (IS_GET_EASY_ACCESS_ID != 0 || OPENPNE_KTAI_ID_REQUIRED) {
    8686            $easy_access_id = OpenPNE_KtaiID::getID();
    87             if (!$easy_access_id && (IS_GET_EASY_ACCESS_ID == 2)) {
     87            if (!$easy_access_id && (IS_GET_EASY_ACCESS_ID == 2 || OPENPNE_KTAI_ID_REQUIRED)) {
    8888                $errors[] = '携帯の個体識別番号を取得できませんでした';
    8989            }
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/ktai/do/o_regist_ktai_id.php

    r4031 r4190  
    1919        $ses = $requests['ses'];
    2020        $password = $requests['password'];
     21        $c_member_id = intval($requests['id']);
     22        $c_member_pre_id = intval($requests['pre_id']);
    2123        // ----------
    2224
     25        $pre = array();
     26
    2327        // セッションが有効かどうか
    24         if (!$pre = db_member_c_ktai_address_pre4session($ses)) {
     28        if ((!$pre = db_member_c_ktai_address_pre4session($ses)) && !empty($c_member_id)) {
    2529            // 無効の場合、login へリダイレクト
    2630            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        } elseif (!empty($c_member_pre_id)) {
     35                $pre['ktai_address'] = t_decrypt($pre['ktai_address']);
    2736        }
    2837
    2938        // メールアドレスが登録できるかどうか
    30         if (!util_is_regist_mail_address($pre['ktai_address'], $pre['c_member_id'])) {
     39        if (!util_is_regist_mail_address($pre['ktai_address'])) {
    3140            openpne_redirect('ktai', 'page_o_login', array('msg' => 42));
    3241        }
    3342
    3443        $c_member_id = $pre['c_member_id'];
     44        $c_member_pre_id = $pre['c_member_pre_id'];
    3545        $ktai_address = $pre['ktai_address'];
    3646
    3747        // パスワードチェック
    38         if (!db_common_authenticate_password($c_member_id, $password, true)) {
     48        if (!empty($c_member_id) && !db_common_authenticate_password($c_member_id, $password, true)) {
     49            $p = array('msg' => 18, 'ses' => $ses);
     50            openpne_redirect('ktai', 'page_o_login2', $p);
     51        } elseif (!empty($c_member_pre_id) && (md5($password) !== $pre['password'])) {
    3952            $p = array('msg' => 18, 'ses' => $ses);
    4053            openpne_redirect('ktai', 'page_o_login2', $p);
     
    4255
    4356        if (!$easy_access_id = OpenPNE_KtaiID::getID()) {
    44             // 携帯の個体識別番号を取得できませんでした
    45             $p = array('msg' => 27, 'ses' => $ses);
     57            if (!empty($c_member_id)) {
     58                $p = array('ses' => $ses, 'id' => $c_member_id);
     59            } elseif (!empty($c_member_pre_id)) {
     60                $p = array('ses' => $ses, 'pre_id' => $c_member_pre_id);
     61            }
     62            openpne_redirect('ktai', 'page_o_regist_ktai_uid_err', $p);
     63        }
     64
     65        $id = db_member_c_member_id4easy_access_id($easy_access_id);
     66        if (!empty($c_member_id) && $id && $c_member_id != $id) {
     67            $p = array('msg' => 39, 'ses' => $ses, 'id' => $c_member_id);
     68            openpne_redirect('ktai', 'page_o_regist_ktai_id', $p);
     69        } elseif (!empty($c_member_pre_id) && !empty($id)) {
     70            $p = array('msg' => 39, 'ses' => $ses, 'pre_id' => $c_member_pre_id);
    4671            openpne_redirect('ktai', 'page_o_regist_ktai_id', $p);
    4772        }
    4873
    49         $id = db_member_c_member_id4easy_access_id($easy_access_id);
    50         if ($id && $c_member_id != $id) {
    51             $p = array('msg' => 39, 'ses' => $ses);
     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            }
    5280            openpne_redirect('ktai', 'page_o_regist_ktai_id', $p);
    5381        }
    54         if (db_member_easy_access_id_is_blacklist(md5($easy_access_id))) {
    55             $p = array('msg' => 44, 'ses' => $ses);
    56             openpne_redirect('ktai', 'page_o_regist_ktai_id', $p);
     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, true);
     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_profile_pre = db_member_c_member_profile_pre4c_member_pre_id($pre['c_member_pre_id']);
     118            foreach ($c_member_profile_pre 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']);
    57134        }
    58         // update
    59         db_member_update_easy_access_id($c_member_id, $easy_access_id);
    60         db_member_update_ktai_address($c_member_id, $ktai_address);
    61         db_member_delete_ktai_address_pre($pre['c_ktai_address_pre_id']);
    62         openpne_redirect('ktai', 'do_o_easy_login');
     135        // pre の内容を削除
     136        db_member_delete_c_member_pre4sid($ses);
     137        db_member_delete_c_member_profile_pre4c_member_pre_id($pre['c_member_pre_id']);
     138
     139        // 登録完了メール送信
     140        do_regist_prof_do_regist2_mail_send($u);
     141
     142        if (!empty($c_member_id)) {
     143            $p = array('ses' => $ses, 'id' => $c_member_id);
     144        } elseif (!empty($c_member_pre_id)) {
     145            $p = array('ses' => $ses, 'pre_id' => $c_member_pre_id);
     146        }
     147
     148        openpne_redirect('ktai', 'page_o_regist_ktai_uid_end', $p);
    63149    }
    64150}
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/ktai/page/o_regist_ktai_id.php

    r4031 r4190  
    1717        $ses = $requests['ses'];
    1818        $c_member_id = intval($requests['id']);
     19        $c_member_pre_id = intval($requests['pre_id']);
    1920        // ----------
    2021
     22        $pre = array();
     23
    2124        // セッションが有効かどうか
    22         if (!$pre = db_member_c_ktai_address_pre4session($ses)) {
     25        if ((!$pre = db_member_c_ktai_address_pre4session($ses)) && !empty($c_member_id)) {  // 既存メンバー
    2326            // 無効の場合、login へリダイレクト
    2427            $c_member_secure = db_member_c_member_secure4c_member_id($c_member_id);
    2528            $p = array('kad' => t_encrypt($c_member_secure['ktai_address']));
    2629            openpne_redirect('ktai', 'page_o_login', $p);
     30        } elseif (!empty($c_member_id)) {
     31        } elseif ((!$pre = db_member_c_member_pre4session($ses)) && !empty($c_member_pre_id)) {  // 新規登録
     32            openpne_redirect('ktai', 'page_o_login');
    2733        }
    2834
     35        if (!empty($c_member_id) && ($c_member_id == $pre['c_member_id'])) {
     36            $this->set('c_member_id', $c_member_id);
     37        } elseif (!empty($c_member_pre_id) && ($c_member_pre_id == $pre['c_member_pre_id'])) {
     38            $pre['ktai_address'] = t_decrypt($pre['ktai_address']);
     39            $this->set('c_member_pre_id', $c_member_pre_id);
     40        } else {
     41            openpne_redirect('ktai', 'page_o_login');
     42        }
    2943        $this->set('ses', $ses);
    3044        $this->set('pre', $pre);
     45
    3146        return 'success';
    3247    }
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/ktai/templates/o_regist_ktai_id.tpl

    r4031 r4190  
    22
    33<table width="100%"><tr><td align="center" bgcolor="#({$ktai_color_config.bg_01})">
    4 <font color="#({$ktai_color_config.font_01})"><a name="top">携帯登録</a></font><br>
     4<font color="#({$ktai_color_config.font_01})"><a name="top">携帯情報登録</a></font><br>
    55</td></tr></table>
    66
     
    1313({t_form _attr='utn' m=ktai a=do_o_regist_ktai_id})
    1414<input type="hidden" name="ses" value="({$ses})">
     15({if $c_member_id_pre})
     16<input type="hidden" name="id_pre" value="({$c_member_id_pre})">
     17({elseif $c_member_id})
     18<input type="hidden" name="id" value="({$c_member_id})">
     19({/if})
    1520<font color="#({$ktai_color_config.font_02})">携帯メールアドレス:</font><br>
    1621({$pre.ktai_address})<br>
     
    1823<input name="password" type="text" istyle="3" mode="alphabet" value=""><br>
    1924<hr>
    20 メンバー登録の際に携帯電話の個体識別番号を登録します。<br>
     25個体識別番号を登録します。<br>
    2126個体識別番号に電話番号などの個人情報は含まれません。<br>
    2227<hr>
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/ktai/validate/do/o_regist_ktai_id.ini

    r4031 r4190  
    55[password]
    66type = "string"
     7
     8[id]
     9type = "string"
     10required = 0
     11
     12[pre_id]
     13type = "string"
     14required = 0
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/ktai/validate/page/o_regist_ktai_id.ini

    r4031 r4190  
    11[ses]
    22type = "string"
     3required = 0
    34
    45[id]
    56type = "string"
     7required = 0
     8
     9[pre_id]
     10type = "string"
     11required = 0
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/pc/do/o_regist_prof.php

    r4056 r4190  
    101101            $errors[] = '生年月日を未来に設定することはできません';
    102102        }
     103       
     104        if (OPENPNE_KTAI_ID_REQUIRED) {
     105            //携帯アドレスチェック
     106            if (!db_common_is_mailaddress($prof['ktai_address'])) {
     107                $errors[] = "メールアドレスを正しく入力してください";
     108            } elseif (db_member_is_sns_join4mail_address($prof['ktai_address'])) {
     109                $errors[] = "そのアドレスは既に登録済みです";
     110            } elseif (!db_member_is_limit_domain4mail_address($prof['ktai_address'])) {
     111                $errors[] = "そのアドレスは登録できません";
     112            } elseif (!is_ktai_mail_address($prof['ktai_address'])) {
     113                $errors[] = "携帯アドレスを入力してください";
     114            }
     115        }
     116       
    103117
    104118        if ($mode != 'input' && $errors) {
     
    134148            $pre = db_member_c_member_pre4sid($sid);
    135149
    136             // c_member, c_member_secure
    137             $c_member = $prof;
    138             $c_member['c_member_id_invite'] = $pre['c_member_id_invite'];
    139             $c_member['is_receive_mail'] = 1;
    140             $c_member['is_receive_ktai_mail'] = 1;
    141             $c_member['is_receive_daily_news'] = 1;
    142             $c_member_secure = array(
    143                 'password' => $prof['password'],
    144                 'password_query_answer' => $prof['c_password_query_answer'],
    145                 'pc_address' => $pre['pc_address'],
    146                 'ktai_address' => '',
    147                 'regist_address' => $pre['pc_address'],
    148             );
    149             $u = db_member_insert_c_member($c_member, $c_member_secure);
    150 
    151             if (OPENPNE_USE_POINT_RANK) {
    152                 //入会者にポイント加算
    153                 $point = db_action_get_point4c_action_id(1);
    154                 db_point_add_point($u, $point);
    155 
    156                 //メンバー招待をした人にポイント付与
    157                 $point = db_action_get_point4c_action_id(7);
    158                 db_point_add_point($pre['c_member_id_invite'], $point);
     150            if (!OPENPNE_KTAI_ID_REQUIRED) {
     151                // 個体識別番号登録必須制が「必須にしない」である場合、メンバー登録処理をおこなう
     152                $c_member = $prof;
     153                $c_member['c_member_id_invite'] = $pre['c_member_id_invite'];
     154                $c_member['is_receive_mail'] = 1;
     155                $c_member['is_receive_ktai_mail'] = 1;
     156                $c_member['is_receive_daily_news'] = 1;
     157                $c_member_secure = array(
     158                    'password' => $prof['password'],
     159                    'password_query_answer' => $prof['c_password_query_answer'],
     160                    'pc_address' => $pre['pc_address'],
     161                    'ktai_address' => '',
     162                    'regist_address' => $pre['pc_address'],
     163                );
     164                $u = db_member_insert_c_member($c_member, $c_member_secure);
     165       
     166                if (OPENPNE_USE_POINT_RANK) {
     167                    //入会者にポイント加算
     168                    $point = db_action_get_point4c_action_id(1);
     169                    db_point_add_point($u, $point);
     170       
     171                    //メンバー招待をした人にポイント付与
     172                    $point = db_action_get_point4c_action_id(7);
     173                    db_point_add_point($pre['c_member_id_invite'], $point);
     174                }
     175       
     176                // c_member_profile
     177                db_member_update_c_member_profile($u, $c_member_profile_list);
     178       
     179                // 招待者とフレンドリンク
     180                db_friend_insert_c_friend($u, $pre['c_member_id_invite']);
     181       
     182                //管理画面で指定したコミュニティに強制参加
     183                $c_commu_id_list = db_commu_regist_join_list();
     184                foreach ($c_commu_id_list as $c_commu_id) {
     185                    db_commu_join_c_commu($c_commu_id, $u);
     186                }
     187       
     188                // pre の内容を削除
     189                db_member_delete_c_member_pre4sid($sid);
     190       
     191                // 登録完了メール送信
     192                do_regist_prof_do_regist2_mail_send($u);
     193            } else {
     194                // 個体識別番号登録必須制が「必須にする」である場合、ここでのメンバー登録は
     195                // すべてスキップする。入力した項目は c_member_pre とc_member_profile_pre に
     196                // 保持しておき、携帯の登録が完了した場合に、メンバー登録も完了する
     197
     198                // c_member_profile_pre にデータ挿入
     199                db_member_update_c_member_profile_pre($pre['c_member_pre_id'], $c_member_profile_list);
     200
     201                $session = create_hash();
     202
     203                // c_member_pre にデータ挿入
     204                $c_member_pre_secure = array(
     205                    'session' => $session,
     206                    'nickname' => $prof['nickname'],
     207                    'birth_year' => $prof['birth_year'],
     208                    'birth_month' => $prof['birth_month'],
     209                    'birth_day' => $prof['birth_day'],
     210                    'public_flag_birth_year' => $prof['public_flag_birth_year'],
     211                    'password' => $prof['password'],
     212                    'public_flag_birth_year' => $prof['public_flag_birth_year'],
     213                    'c_password_query_id' => $prof['c_password_query_id'],
     214                    'password_query_answer' => $prof['c_password_query_answer'],
     215                    'pc_address' => $pre['pc_address'],
     216                    'ktai_address' => $prof['ktai_address'],
     217                    'regist_address' => $pre['pc_address'],
     218                );
     219
     220                db_member_update_c_member_pre_secure($pre['c_member_pre_id'], $c_member_pre_secure);
     221               
     222                do_mail_sns_regist_ktai_id_mail_send_pre($pre['c_member_pre_id'], $session, $prof['ktai_address']);
    159223            }
    160 
    161             // c_member_profile
    162             db_member_update_c_member_profile($u, $c_member_profile_list);
    163 
    164             // 招待者とフレンドリンク
    165             db_friend_insert_c_friend($u, $pre['c_member_id_invite']);
    166 
    167             //管理画面で指定したコミュニティに強制参加
    168             $c_commu_id_list = db_commu_regist_join_list();
    169             foreach ($c_commu_id_list as $c_commu_id) {
    170                 db_commu_join_c_commu($c_commu_id, $u);
    171             }
    172 
    173             // pre の内容を削除
    174             db_member_delete_c_member_pre4sid($sid);
    175 
    176             // 登録完了メール送信
    177             do_regist_prof_do_regist2_mail_send($u);
    178224
    179225            openpne_redirect('pc', 'page_o_regist_end', array('c_member_id' => $u));
     
    211257            ),
    212258            'public_flag_birth_year' => array(
     259                'type' => 'string',
     260            ),
     261            'ktai_address' => array(
    213262                'type' => 'string',
    214263            ),
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/pc/templates/o_regist_end.tpl

    r4117 r4190  
    2525<tr>
    2626<td style="width:36px;" class="bg_06"><img src="({t_img_url_skin filename=content_header_1})" style="width:30px;height:20px;" class="dummy"></td>
    27 <td style="width:528px;padding:2px 0px;" class="bg_06"><span class="b_b c_00">登録完了</span></td>
     27<td style="width:528px;padding:2px 0px;" class="bg_06"><span class="b_b c_00">
     28({if $smarty.const.OPENPNE_KTAI_ID_REQUIRED})
     29メンバー情報登録完了
     30({else})
     31登録完了
     32({/if})
     33</span></td>
    2834</tr>
    2935</table>
     
    4955<div class="padding_w_m">
    5056
     57({if $smarty.const.OPENPNE_KTAI_ID_REQUIRED})
     58次に、携帯電話からの登録を行うことで登録が完了します。<br>
     59入力された携帯アドレスに確認メールを送信いたしましたので、登録を行ってください。
     60({else})
    5161登録が完了しました。<br>
    5262以下のページからログインしてください。<br>
     63({/if})
    5364<br>
    5465<a href="({$login_url})">ログインページへ</a>
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/pc/templates/o_regist_prof.tpl

    r4117 r4190  
    328328<td style="height:1px;" class="bg_01" colspan="5"><img src="./skin/dummy.gif" alt="dot" class="dot"></td>
    329329</tr>
    330 ({*********})
     330({if $smarty.const.OPENPNE_KTAI_ID_REQUIRED})
     331({*********})
     332<tr>
     333<td class="bg_01" align="center"><img src="./skin/dummy.gif" alt="dot" class="dot"></td>
     334<td class="bg_05" align="left" valign="middle">
     335
     336<div class="padding_s">
     337
     338携帯アドレス <span class="caution">※</span>
     339
     340</div>
     341
     342</td>
     343<td class="bg_01" align="center"><img src="./skin/dummy.gif" alt="dot" class="dot"></td>
     344<td class="bg_02" align="left" valign="middle">
     345
     346<div class="padding_s">
     347
     348<input type="text" class="text" name="ktai_address" type="text" value="({$profs.ktai_address})" size="30">
     349<br>※他のメンバーには公開されません
     350
     351</div>
     352
     353</td>
     354<td class="bg_01" align="center"><img src="./skin/dummy.gif" alt="dot" class="dot"></td>
     355</tr>
     356({*********})
     357<tr>
     358<td style="height:1px;" class="bg_01" colspan="5"><img src="./skin/dummy.gif" alt="dot" class="dot"></td>
     359</tr>
     360({*********})
     361({/if})
    331362<tr>
    332363<td class="bg_01" align="center"><img src="./skin/dummy.gif" alt="dot" class="dot"></td>
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid/webapp/modules/pc/templates/o_regist_prof_confirm.tpl

    r4117 r4190  
    252252<td style="height:1px;" class="bg_01" colspan="5"><img src="./skin/dummy.gif" alt="dot" class="dot"></td>
    253253</tr>
     254({if $smarty.const.OPENPNE_KTAI_ID_REQUIRED})
     255({*********})
     256<tr>
     257<td class="bg_01" align="center"><img src="./skin/dummy.gif" alt="dot" class="dot"></td>
     258<td class="bg_05" align="left" valign="middle">
     259
     260<div class="padding_s">
     261
     262携帯アドレス <span class="caution">※</span>
     263
     264</div>
     265
     266</td>
     267<td class="bg_01" align="center"><img src="./skin/dummy.gif" alt="dot" class="dot"></td>
     268<td class="bg_02" align="left" valign="middle">
     269
     270<div class="padding_s">
     271
     272({$prof.ktai_address})
     273
     274</div>
     275
     276</td>
     277<td class="bg_01" align="center"><img src="./skin/dummy.gif" alt="dot" class="dot"></td>
     278</tr>
     279({*********})
     280<tr>
     281<td style="height:1px;" class="bg_01" colspan="5"><img src="./skin/dummy.gif" alt="dot" class="dot"></td>
     282</tr>
     283({*********})
     284({/if})
    254285<tr>
    255286<td class="bg_01" align="center"><img src="./skin/dummy.gif" alt="dot" class="dot"></td>
Note: See TracChangeset for help on using the changeset viewer.