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

Changeset 7355


Ignore:
Timestamp:
May 23, 2008, 11:30:38 PM (11 years ago)
Author:
ebihara
Message:

#2285:ログインに必要な情報が登録されているかどうかの判定が、pneidモードの場合不十分だったのを修正

Location:
OpenPNE/branches/stable-2.12.x
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/stable-2.12.x/webapp/lib/auth.inc

    r5568 r7355  
    4040$GLOBALS['AUTH'] = $auth;
    4141
    42 if (OPENPNE_AUTH_MODE != 'email' && (empty($_SESSION['regist_step']) || !$_SESSION['regist_step'])) {
    43     $check_param = db_member_check_param_inputed($u);
    44     $_SESSION['regist_step'] = ($check_param == 0);
     42// ログインモードが email でない場合、ログインに必要な情報が入力されているかどうかをチェックする
     43if (OPENPNE_AUTH_MODE != 'email' && empty($_SESSION['regist_step'])) {
    4544    $current_page = $GLOBALS['__Framework']['current_type'] . '_' . $GLOBALS['__Framework']['current_action'];
    4645
    47     // プロフィールが未登録の場合はリダイレクト
     46    // プロフィールが未登録の場合でもアクセスすることのできるアクション
    4847    $prof_ext_page = array(
    49         'do_h_regist_prof' => true,
    50         'page_h_regist_prof' => true,
    51         'do_inc_page_header_logout' => true,
    52         'page_h_regist_intro' => true,
     48        'do_h_regist_prof',
     49        'page_h_regist_prof',
     50        'do_inc_page_header_logout',
     51        'page_h_regist_intro',
    5352    );
    5453
    55     if (OPENPNE_AUTH_MODE == 'slavepne' && ($check_param == 1) && !$prof_ext_page[$current_page]) {
     54    // メールアドレスが未登録の場合でもアクセスすることのできるアクション
     55    $mail_ext_page = array(
     56        'do_h_regist_address',
     57        'page_h_regist_address',
     58        'do_inc_page_header_logout',
     59    );
     60
     61    $is_registered_profile = db_member_is_registered_nickname_birth_day($u);
     62    $is_registered_profile_action = in_array($current_page, $prof_ext_page);
     63
     64    $is_registered_address = db_member_is_pc_address_registered($u);
     65    $is_registered_address_action = in_array($current_page, $mail_ext_page);
     66
     67    if ($is_registered_profile && $is_registered_address) {
     68        $_SESSION['regist_step'] = true;
     69    } elseif ($is_registered_address && OPENPNE_AUTH_MODE == 'pneid') {
     70        $_SESSION['regist_step'] = true;
     71    } else {
     72        $_SESSION['regist_step'] = false;
     73    }
     74
     75    // プロフィールが未登録
     76    if (!$is_registered_profile && !$is_registered_profile_action && OPENPNE_AUTH_MODE == 'slavepne') {
    5677        openpne_redirect('pc', 'page_h_regist_intro');
    5778    }
    5879
    59     // メールアドレスが未登録の場合はリダイレクト
    60     $mail_ext_page = array(
    61         'do_h_regist_address' => true,
    62         'page_h_regist_address' => true,
    63         'do_inc_page_header_logout' => true,
    64     );
    65 
    66     if (($check_param == 2) && !$mail_ext_page[$current_page]) {
     80    // メールアドレスが未登録
     81    if (!$is_registered_address && !$is_registered_address_action) {
    6782        openpne_redirect('pc', 'page_h_regist_address');
    6883    }
    6984}
    70 
    7185?>
  • OpenPNE/branches/stable-2.12.x/webapp/lib/db/member.php

    r7297 r7355  
    19331933function db_member_check_param_inputed($c_member_id, $is_ktai = false)
    19341934{
    1935     $c_member = db_member_c_member4c_member_id($c_member_id, true, false, 'private');
    1936 
     1935    if (!db_member_is_regist_nickname_birth_day($c_member_id)) {
     1936        return 1;
     1937    }
     1938
     1939    if ($is_ktai && !db_member_is_ktai_id_registed($c_member_id)) {
     1940        return 2;
     1941    }
     1942    if (!$is_ktai && !db_member_is_pc_address_registed($c_member_id)) {
     1943        return 2;
     1944    }
     1945
     1946    return 0;
     1947}
     1948
     1949function db_member_is_registered_nickname_birth_day($c_member_id)
     1950{
     1951    $c_member = db_member_c_member4c_member_id($c_member_id, false, false, 'private');
     1952   
    19371953    if (($c_member['nickname'] === '')
    19381954     || !$c_member['birth_year']
     
    19401956     || !$c_member['birth_day']
    19411957    ) {
    1942         return 1;
    1943     }
    1944 
    1945     if ($c_member['secure']['pc_address'] === '' && !$is_ktai) {
    1946         return 2;
    1947     }
    1948     if ($c_member['secure']['ktai_address'] === '' && $is_ktai) {
    1949         return 2;
    1950     }
    1951 
    1952     return 0;
     1958        return false;
     1959    }
     1960
     1961    return true;
     1962}
     1963
     1964function db_member_is_pc_address_registered($c_member_id)
     1965{
     1966    $sql = 'SELECT pc_address FROM c_member_secure WHERE c_member_id = ?';
     1967    $params = array(intval($c_member_id));
     1968    return (bool)db_get_one($sql, $params);
     1969}
     1970
     1971function db_member_is_ktai_address_registered($c_member_id)
     1972{
     1973    $sql = 'SELECT ktai_address FROM c_member_secure WHERE c_member_id = ?';
     1974    $params = array(intval($c_member_id));
     1975    return (bool)db_get_one($sql, $params);
    19531976}
    19541977
  • OpenPNE/branches/stable-2.12.x/webapp/modules/ktai/auth.inc

    r6527 r7355  
    3535$GLOBALS['KTAI_URL_TAIL'] = "ksid=" . session_id();
    3636
     37// ログインモードが email でない場合、ログインに必要な情報が入力されているかどうかをチェックする
     38if (OPENPNE_AUTH_MODE != 'email' && empty($_SESSION['regist_step'])) {
     39    $current_page = $GLOBALS['__Framework']['current_type'] . '_' . $GLOBALS['__Framework']['current_action'];
    3740
    38 if (OPENPNE_AUTH_MODE != 'email' && (empty($_SESSION['regist_step']) || !$_SESSION['regist_step'])) {
    39     $check_param = db_member_check_param_inputed($u, true);
    40     $_SESSION['regist_step'] = ($check_param == 0);
    41     $current_page = $GLOBALS['__Framework']['current_type']."_".$GLOBALS['__Framework']['current_action'];
    42 
    43     //プロフィールが未登録の場合はリダイレクト
     41    // プロフィールが未登録の場合でもアクセスすることのできるアクション
    4442    $prof_ext_page = array(
    45         'page_h_regist_pre' => true,
    46         'do_h_regist_prof' => true,
    47         'page_h_regist_prof' => true,
     43        'page_h_regist_pre',
     44        'do_h_regist_prof',
     45        'page_h_regist_prof',
    4846    );
    4947
    50     if (OPENPNE_AUTH_MODE == 'slavepne' && ($check_param == 1) && !$prof_ext_page[$current_page]) {
     48    // メールアドレスが未登録の場合でもアクセスすることのできるアクション
     49    $mail_ext_page = array(
     50        'do_h_regist_address',
     51        'page_h_regist_address',
     52    );
     53
     54    $is_registered_profile = db_member_is_registered_nickname_birth_day($u);
     55    $is_registered_profile_action = in_array($current_page, $prof_ext_page);
     56
     57    $is_registered_address = db_member_is_ktai_address_registered($u);
     58    $is_registered_address_action = in_array($current_page, $mail_ext_page);
     59
     60    if ($is_registered_profile && $is_registered_address) {
     61        $_SESSION['regist_step'] = true;
     62    } elseif ($is_registered_address && OPENPNE_AUTH_MODE == 'pneid') {
     63        $_SESSION['regist_step'] = true;
     64    } else {
     65        $_SESSION['regist_step'] = false;
     66    }
     67
     68    // プロフィールが未登録
     69    if (!$is_registered_profile && !$is_registered_profile_action && OPENPNE_AUTH_MODE == 'slavepne') {
    5170        openpne_redirect('ktai', 'page_h_regist_pre');
    5271    }
    5372
    54     //メールアドレスが未登録の場合はリダイレクト
    55     $mail_ext_page = array(
    56         'do_h_regist_address' => true,
    57         'page_h_regist_address' => true,
    58     );
    59 
    60     if (($check_param == 2) && !$mail_ext_page[$current_page]) {
     73    // メールアドレスが未登録
     74    if (!$is_registered_address && !$is_registered_address_action) {
    6175        openpne_redirect('ktai', 'page_h_regist_address');
    6276    }
     77
     78    $_SESSION['regist_step'] = false;
    6379}
    6480
  • OpenPNE/branches/stable-2.12.x/webapp_biz/modules/ktai_biz/auth.inc

    r6527 r7355  
    3131$GLOBALS['KTAI_URL_TAIL'] = "ksid=" . session_id();
    3232
     33// ログインモードが email でない場合、ログインに必要な情報が入力されているかどうかをチェックする
     34if (OPENPNE_AUTH_MODE != 'email' && empty($_SESSION['regist_step'])) {
     35    $current_page = $GLOBALS['__Framework']['current_type'] . '_' . $GLOBALS['__Framework']['current_action'];
    3336
    34 if (IS_SLAVEPNE && (empty($_SESSION['regist_step']) || !$_SESSION['regist_step'])) {
    35     $check_param = db_member_check_param_inputed($u, true);
    36     $_SESSION['regist_step'] = ($check_param == 0);
    37     $current_page = $GLOBALS['__Framework']['current_type']."_".$GLOBALS['__Framework']['current_action'];
     37    $is_registered_profile = db_member_is_registered_nickname_birth_day($u);
     38    $is_registered_profile_action = in_array($current_page, $prof_ext_page);
    3839
    39     //プロフィールが未登録の場合はリダイレクト
    40     $prof_ext_page=array(
    41     'do_h_regist_prof'=>true,
    42     'page_h_regist_prof'=>true,
    43     );
     40    $is_registered_address = db_member_is_ktai_address_registered($u);
     41    $is_registered_address_action = in_array($current_page, $mail_ext_page);
    4442
    45     if (($check_param==1) && !$prof_ext_page[$current_page]) {
    46         openpne_redirect('ktai', 'page_h_regist_prof');
     43    if ($is_registered_profile && $is_registered_address) {
     44        $_SESSION['regist_step'] = true;
     45    } elseif ($is_registered_address && OPENPNE_AUTH_MODE == 'pneid') {
     46        $_SESSION['regist_step'] = true;
     47    } else {
     48        $_SESSION['regist_step'] = false;
    4749    }
    4850
    49     //メールアドレスが未登録の場合はリダイレクト
    50     $mail_ext_page=array(
    51     'do_h_regist_address'=>true,
    52     'page_h_regist_address'=>true,
    53     );
     51    // プロフィールが未登録
     52    if (!$is_registered_profile && OPENPNE_AUTH_MODE == 'slavepne') {
     53        openpne_redirect('ktai', 'page_h_regist_pre');
     54    }
    5455
    55     if (($check_param==2) && !$mail_ext_page[$current_page]) {
     56    // メールアドレスが未登録
     57    if (!$is_registered_address) {
    5658        openpne_redirect('ktai', 'page_h_regist_address');
    5759    }
     60
     61    $_SESSION['regist_step'] = false;
    5862}
    5963
Note: See TracChangeset for help on using the changeset viewer.