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

Changeset 4030


Ignore:
Timestamp:
Sep 15, 2007, 8:45:57 PM (14 years ago)
Author:
ebihara
Message:

#1129:個体識別番号を登録しないとSNSを使えなくする機能の修正

・新規ユーザは携帯登録が完了するまでc_memberではなくc_member_preを使うようにした

・その他文言修正

・問い合わせフォーム追加(実装途中)

Location:
OpenPNE/branches/work/ebihara/prj_regist_ktai_uid_okurairi
Files:
18 added
10 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid_okurairi/webapp/lib/db/member.php

    r3959 r4030  
    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
     
    14061453}
    14071454
     1455function db_member_delete_c_member_profile_pre4c_member_pre_id($c_member_pre_id)
     1456{
     1457    $sql = 'DELETE FROM c_member_profile_pre WHERE c_member_pre_id = ?';
     1458    $params = array($c_member_pre_id);
     1459    return db_query($sql, $params);
     1460}
     1461
    14081462//--- c_member_ktai_pre
    14091463
     
    15041558    );
    15051559    return db_insert('c_member_profile', $data);
     1560}
     1561
     1562/***
     1563 * 一時的に c_member_profile_pre にプロフィール情報をインサートする
     1564 *
     1565 * 個体識別番号登録必須制が「必須にする」である場合など、c_member ではなく c_member_pre を使うのが望ましい場面で使用する。
     1566 *
     1567 * @param int $c_member_pre_id
     1568 * @param int $c_profile_id
     1569 * @param int $c_profile_option_id
     1570 * @param int $value
     1571 * @param string $public_flag
     1572 * @return mixed
     1573 */
     1574function db_member_insert_c_member_profile_pre($c_member_pre_id, $c_profile_id, $c_profile_option_id, $value, $public_flag)
     1575{
     1576    $data = array(
     1577        'c_member_pre_id' => intval($c_member_pre_id),
     1578        'c_profile_id' => intval($c_profile_id),
     1579        'c_profile_option_id' => intval($c_profile_option_id),
     1580        'value' => $value,
     1581        'public_flag' => $public_flag,
     1582    );
     1583    return db_insert('c_member_profile_pre', $data);
     1584}
     1585
     1586/***
     1587 * c_member_profile_pre のプロフィール情報を更新する
     1588 *
     1589 * @param int $c_member_pre_id
     1590 * @param array $c_member_profile_list
     1591 * @return mixed
     1592 */
     1593function db_member_update_c_member_profile_pre($c_member_pre_id, $c_member_profile_list)
     1594{
     1595    foreach ($c_member_profile_list as $item) {
     1596        $sql = 'DELETE FROM c_member_profile_pre' .
     1597                ' WHERE c_member_pre_id = ? AND c_profile_id = ?';
     1598        $params = array(intval($c_member_pre_id), intval($item['c_profile_id']));
     1599        db_query($sql, $params);
     1600   
     1601        if (!(is_null($item['value']) || $item['value'] === '')) {
     1602            if (is_array($item['value'])) {
     1603                foreach ($item['value'] as $key => $value) {
     1604                    db_member_insert_c_member_profile_pre($c_member_pre_id, $item['c_profile_id'], $key, $value, $item['public_flag']);
     1605                }
     1606            } else {
     1607                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']);
     1608            }
     1609        }
     1610    }
     1611}
     1612
     1613/***
     1614 * c_member_profile_pre のプロフィール情報を取得する
     1615 *
     1616 * @param int $c_member_pre_id
     1617 * @return array
     1618 */
     1619function db_member_c_member_profile_pre4c_member_pre_id($c_member_pre_id)
     1620{
     1621    $sql = 'SELECT * FROM c_member_profile_pre WHERE c_member_pre_id = ?';
     1622    $params = array(intval($c_member_pre_id));
     1623    return db_get_all($sql, $params);
    15061624}
    15071625
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid_okurairi/webapp/lib/util/mail_send.php

    r3930 r4030  
    839839}
    840840
     841//携帯個体識別番号を登録する必要がある場合に送られるメール(新規登録用)
     842function do_mail_sns_regist_ktai_id_mail_send_pre($c_member_pre_id, $session, $ktai_address)
     843{
     844    $params['SNS_NAME'] = SNS_NAME;
     845    $p = array('pre_id' => $c_member_pre_id, 'ses' => $session);
     846    $params['url'] = openpne_gen_url('ktai', 'page_o_regist_ktai_id', $p);
     847    return fetch_send_mail($ktai_address, 'm_ktai_regist_ktai_id', $params);
     848}
     849
     850// 個体識別番号のお問い合わせフォームから管理者にメール送信
     851function send_mail_sns_regist_ktai_uid_inquiry($ktai_address, $body)
     852{
     853    $c_member = db_member_c_member4c_member_id_LIGHT($c_member_id);
     854
     855    $params = array(
     856        'SNS_NAME' => SNS_NAME,
     857        'SNS_URL' => OPENPNE_URL,
     858        'ktai_address' => $ktai_address,
     859        'body' => $body,
     860        'date' => date('Y. m. d'),
     861        'datetime' => date('Y/m/d H:i:s')
     862    );
     863    return fetch_send_mail(ADMIN_EMAIL, 'm_ktai_regist_uid_inquiry', $params);
     864}
     865
    841866?>
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid_okurairi/webapp/modules/admin/templates/edit_c_admin_config.tpl

    r3811 r4030  
    7272</tr>
    7373<tr class="cell07">
    74 <th colspan="2">携帯固有番号</th>
    75 <td>
     74<th colspan="2">個体識別番号登録必須制</th>
     75<td>
     76<span class="info">SNSを使う際に個体識別番号の取得を必須にするかどうか設定します</span><br />
    7677<select class="basic" name="OPENPNE_KTAI_ID_REQUIRED">
    77 <option value="1"({if $smarty.const.OPENPNE_KTAI_ID_REQUIRED}) selected="selected"({/if})>必須</option>
    78 <option value="0"({if !$smarty.const.OPENPNE_KTAI_ID_REQUIRED}) selected="selected"({/if})>不要</option>
     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>
    7980</select><br />
    80 <span class="caution">※携帯版を使用可にしなければ必須にできません</span>
     81<span class="caution">※携帯版使用設定を「使用可にする」にしなければ設定できません</span><br />
     82<span class="caution">※必須にした場合、個体識別番号の取得設定は反映されません</span>
    8183</td>
    8284</tr>
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid_okurairi/webapp/modules/ktai/do/o_regist_ktai_id.php

    r3918 r4030  
    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_okurairi/webapp/modules/ktai/page/o_regist_ktai_id.php

    r3811 r4030  
    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_okurairi/webapp/modules/ktai/templates/o_regist_ktai_id.tpl

    r3832 r4030  
    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_okurairi/webapp/modules/ktai/validate/do/o_regist_ktai_id.ini

    r3811 r4030  
    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_okurairi/webapp/modules/ktai/validate/page/o_regist_ktai_id.ini

    r3811 r4030  
    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_okurairi/webapp/modules/pc/do/o_regist_prof.php

    r3811 r4030  
    150150            $pre = db_member_c_member_pre4sid($sid);
    151151
    152             // c_member, c_member_secure
    153             $c_member = $prof;
    154             $c_member['c_member_id_invite'] = $pre['c_member_id_invite'];
    155             $c_member['is_receive_mail'] = 1;
    156             $c_member['is_receive_ktai_mail'] = 1;
    157             $c_member['is_receive_daily_news'] = 1;
    158             $c_member_secure = array(
    159                 'password' => $prof['password'],
    160                 'password_query_answer' => $prof['c_password_query_answer'],
    161                 'pc_address' => $pre['pc_address'],
    162                 'ktai_address' => '',
    163                 'regist_address' => $pre['pc_address'],
    164             );
    165             $u = db_member_insert_c_member($c_member, $c_member_secure);
    166 
    167             if (OPENPNE_USE_POINT_RANK) {
    168                 //入会者にポイント加算
    169                 $point = db_action_get_point4c_action_id(1);
    170                 db_point_add_point($u, $point);
    171 
    172                 //メンバー招待をした人にポイント付与
    173                 $point = db_action_get_point4c_action_id(7);
    174                 db_point_add_point($pre['c_member_id_invite'], $point);
    175             }
    176 
    177             // c_member_profile
    178             db_member_update_c_member_profile($u, $c_member_profile_list);
    179 
    180             // 招待者とフレンドリンク
    181             db_friend_insert_c_friend($u, $pre['c_member_id_invite']);
    182 
    183             //管理画面で指定したコミュニティに強制参加
    184             $c_commu_id_list = db_commu_regist_join_list();
    185             foreach ($c_commu_id_list as $c_commu_id) {
    186                 db_commu_join_c_commu($c_commu_id, $u);
    187             }
    188 
    189             // pre の内容を削除
    190             db_member_delete_c_member_pre4sid($sid);
    191 
    192             // 登録完了メール送信
    193             do_regist_prof_do_regist2_mail_send($u);
    194            
    195             // 携帯登録
    196             if (OPENPNE_KTAI_ID_REQUIRED) {
    197                 db_member_delete_c_member_ktai_pre4ktai_address($prof['ktai_address']);
    198                 db_member_delete_c_ktai_address_pre4ktai_address($prof['ktai_address']);
     152            if (!OPENPNE_KTAI_ID_REQUIRED) {
     153                // 個体識別番号登録必須制が「必須にしない」である場合、メンバー登録処理をおこなう
     154                $c_member = $prof;
     155                $c_member['c_member_id_invite'] = $pre['c_member_id_invite'];
     156                $c_member['is_receive_mail'] = 1;
     157                $c_member['is_receive_ktai_mail'] = 1;
     158                $c_member['is_receive_daily_news'] = 1;
     159                $c_member_secure = array(
     160                    'password' => $prof['password'],
     161                    'password_query_answer' => $prof['c_password_query_answer'],
     162                    'pc_address' => $pre['pc_address'],
     163                    'ktai_address' => '',
     164                    'regist_address' => $pre['pc_address'],
     165                );
     166                $u = db_member_insert_c_member($c_member, $c_member_secure);
     167       
     168                if (OPENPNE_USE_POINT_RANK) {
     169                    //入会者にポイント加算
     170                    $point = db_action_get_point4c_action_id(1);
     171                    db_point_add_point($u, $point);
     172       
     173                    //メンバー招待をした人にポイント付与
     174                    $point = db_action_get_point4c_action_id(7);
     175                    db_point_add_point($pre['c_member_id_invite'], $point);
     176                }
     177       
     178                // c_member_profile
     179                db_member_update_c_member_profile($u, $c_member_profile_list);
     180       
     181                // 招待者とフレンドリンク
     182                db_friend_insert_c_friend($u, $pre['c_member_id_invite']);
     183       
     184                //管理画面で指定したコミュニティに強制参加
     185                $c_commu_id_list = db_commu_regist_join_list();
     186                foreach ($c_commu_id_list as $c_commu_id) {
     187                    db_commu_join_c_commu($c_commu_id, $u);
     188                }
     189       
     190                // pre の内容を削除
     191                db_member_delete_c_member_pre4sid($sid);
     192       
     193                // 登録完了メール送信
     194                do_regist_prof_do_regist2_mail_send($u);
     195            } else {
     196                // 個体識別番号登録必須制が「必須にする」である場合、ここでのメンバー登録は
     197                // すべてスキップする。入力した項目は c_member_pre とc_member_profile_pre に
     198                // 保持しておき、携帯の登録が完了した場合に、メンバー登録も完了する
     199
     200                // c_member_profile_pre にデータ挿入
     201                db_member_update_c_member_profile_pre($pre['c_member_pre_id'], $c_member_profile_list);
     202
     203                $session = create_hash();
     204
     205                // c_member_pre にデータ挿入
     206                $c_member_pre_secure = array(
     207                    'session' => $session,
     208                    'nickname' => $prof['nickname'],
     209                    'birth_year' => $prof['birth_year'],
     210                    'birth_month' => $prof['birth_month'],
     211                    'birth_day' => $prof['birth_day'],
     212                    'public_flag_birth_year' => $prof['public_flag_birth_year'],
     213                    'password' => $prof['password'],
     214                    'public_flag_birth_year' => $prof['public_flag_birth_year'],
     215                    'c_password_query_id' => $prof['c_password_query_id'],
     216                    'password_query_answer' => $prof['c_password_query_answer'],
     217                    'pc_address' => $pre['pc_address'],
     218                    'ktai_address' => $prof['ktai_address'],
     219                    'regist_address' => $pre['pc_address'],
     220                );
     221
     222                db_member_update_c_member_pre_secure($pre['c_member_pre_id'], $c_member_pre_secure);
    199223               
    200                 $session = create_hash();
    201                 db_member_insert_c_ktai_address_pre($u, $session, $prof['ktai_address']);
    202        
    203                 do_mail_sns_regist_ktai_id_mail_send($u, $session, $prof['ktai_address']);
     224                do_mail_sns_regist_ktai_id_mail_send_pre($pre['c_member_pre_id'], $session, $prof['ktai_address']);
    204225            }
    205226
  • OpenPNE/branches/work/ebihara/prj_regist_ktai_uid_okurairi/webapp/modules/pc/templates/o_regist_end.tpl

    r3875 r4030  
    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>
     
    4854
    4955<div class="padding_w_m">
    50 
    51 ({*入力されたメールアドレスにメールを送信しました。メール内のURLをクリックすると登録が完了します。*})
    5256
    5357({if $smarty.const.OPENPNE_KTAI_ID_REQUIRED})
Note: See TracChangeset for help on using the changeset viewer.