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

Changeset 11103


Ignore:
Timestamp:
Mar 23, 2009, 1:19:10 PM (10 years ago)
Author:
nagasawa
Message:

#3670:ポイントがセットされていないメンバーにポイントクリアが反映されない問題を修正

File:
1 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/trunk/webapp/modules/admin/lib/db_admin.php

    r10993 r11103  
    36873687function db_admin_update_c_point_clear($value)
    36883688{
    3689     $sql = 'SELECT c_profile_id FROM c_profile where name = ?';
     3689    $sql = 'SELECT c_profile_id, public_flag_default FROM c_profile where name = ?';
    36903690    $params = array('PNE_POINT');
    3691     $c_profile_id =  db_get_one($sql, $params);
     3691    $c_profile = db_get_row($sql, $params);
     3692    $c_profile_id = $c_profile['c_profile_id'];
     3693    $public_flag_default = $c_profile['public_flag_default'];
     3694    // プロフィールにポイント情報が存在するメンバーのIDを取得
     3695    $sql = 'SELECT c_member_id FROM c_member_profile where c_profile_id = ?';
     3696    $params = array($c_profile_id);
     3697    $c_member_ids = db_get_col($sql, $params);
     3698    // プロフィールにポイント情報が存在しないメンバーのIDを取得
     3699    $c_member_id_str = implode(',', array_map('intval', $c_member_ids));
     3700    $sql = 'SELECT c_member_id FROM c_member WHERE c_member_id NOT IN (' . $c_member_id_str . ')';
     3701    $c_member_ids = db_get_col($sql);
     3702    // プロフィールにポイント情報が存在しない場合はテーブルを追加
     3703    foreach ($c_member_ids as $c_member_id) {
     3704        $data = array(
     3705            'c_member_id' => intval($c_member_id),
     3706            'c_profile_id' => intval($c_profile_id),
     3707            'c_profile_option_id' => 0,
     3708            'value' => '0',
     3709            'public_flag' => $public_flag_default,
     3710        );
     3711        db_insert('c_member_profile', $data);
     3712    }
    36923713    $data = array('value' => $value);
    36933714    $where = array('c_profile_id' => intval($c_profile_id));
Note: See TracChangeset for help on using the changeset viewer.