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

Changeset 2468


Ignore:
Timestamp:
Apr 6, 2007, 4:25:03 PM (13 years ago)
Author:
takanashi
Message:

#580 コミュニティメンバーに重複登録できてしまうバグ修正のマージ

Location:
OpenPNE/branches/2_8/webapp
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/2_8/webapp/lib/db/commu.php

    r2296 r2468  
    21972197    db_insert('c_commu_member', $data);
    21982198
     2199    // 非公開コミュニティに管理者から招待されている場合は招待フラグ削除
     2200    $admin_invite = db_commu_c_commu4c_admin_invite_id($confirm['c_commu_id'], $confirm['c_member_id']);
     2201    if ($admin_invite) {
     2202        db_commu_delete_c_commu_admin_invite($admin_invite);
     2203    }
     2204
    21992205    return db_commu_delete_c_commu_member_confirm($c_commu_member_confirm_id);
    22002206}
     
    26692675}
    26702676
    2671 //トピックとトピックコメントの混在したリストを取得
    2672 //keywordで検索
    2673 //イベントはトピックと同列
     2677/**
     2678 * トピックとトピックコメントの混在したリストを取得
     2679 * keywordで検索
     2680 * イベントはトピックと同列
     2681 */
    26742682function db_commu_search_c_commu_topic($search_word, $category_id, $page, $page_size)
    26752683{
     
    27572765{
    27582766
    2759         // 相手のコミュニティリスト
     2767    // 相手のコミュニティリスト
    27602768    $sql = 'SELECT c_commu_id FROM c_commu_member ' .
    2761                 ' WHERE c_member_id = ?' .
    2762                 ' ORDER BY c_commu_id DESC ' ;
     2769            ' WHERE c_member_id = ?' .
     2770            ' ORDER BY c_commu_id DESC ' ;
    27632771   
    27642772    $params = array(intval($target_c_member_id));
     
    27662774   
    27672775    if(is_null($f_commu_id_list)){
    2768         return null;
     2776        return null;
    27692777    }
    27702778 
    27712779    // 自分のコミュニティリスト
    27722780    $sql = 'SELECT c_commu_id FROM c_commu_member ' .
    2773                 ' WHERE c_member_id = ?' .
    2774                 ' ORDER BY c_commu_id DESC ' ;                 
     2781            ' WHERE c_member_id = ?' .
     2782            ' ORDER BY c_commu_id DESC ' ;           
    27752783
    27762784    $params = array(intval($u));
     
    27782786   
    27792787    if(is_null($h_commu_id_list)){
    2780         return null;
    2781     }
    2782 
    2783         //共通コミュニティリスト
    2784         $common_commu_id_list = array_intersect($f_commu_id_list, $h_commu_id_list);
     2788        return null;
     2789    }
     2790
     2791    //共通コミュニティリスト
     2792    $common_commu_id_list = array_intersect($f_commu_id_list, $h_commu_id_list);
    27852793
    27862794    if(is_null($common_commu_id_list)){
    2787         return null;
     2795        return null;
    27882796    }
    27892797
    27902798    return $common_commu_id_list;
    2791        
    2792 }
    2793 
    2794 // 共通参加コミュニティリスト
     2799   
     2800}
     2801
     2802/**
     2803 * 共通参加コミュニティリスト
     2804 */
    27952805function db_common_commu_common_commu_list4c_member_id($target_c_member_id, $u, $page, $page_size)
    27962806{
    27972807
    2798         $common_commu_id_list = db_common_commu_common_commu_id4c_member_id($target_c_member_id, $u);
     2808    $common_commu_id_list = db_common_commu_common_commu_id4c_member_id($target_c_member_id, $u);
    27992809
    28002810    if(is_null($common_commu_id_list)){
    2801         return null;
    2802     }
    2803 
    2804         $common_commu_id_str_list = implode(",", $common_commu_id_list);
     2811        return null;
     2812    }
     2813
     2814    $common_commu_id_str_list = implode(",", $common_commu_id_list);
    28052815
    28062816    $sql = "SELECT *" .
    28072817            " FROM c_commu" .
    2808                 " WHERE c_commu_id in (".$common_commu_id_str_list.")" .
    2809                 " ORDER BY c_commu_id DESC ";
    2810        
    2811         $common_commu_list = db_get_all_page($sql, $page, $page_size);
    2812        
     2818            " WHERE c_commu_id in (".$common_commu_id_str_list.")" .
     2819            " ORDER BY c_commu_id DESC ";
     2820   
     2821    $common_commu_list = db_get_all_page($sql, $page, $page_size);
     2822   
    28132823    foreach ($common_commu_list as $key => $value) {
    28142824        $common_commu_list[$key]['count_members'] =
     
    28462856}
    28472857
     2858/**
     2859 * コミュニティ参加要請IDを取得
     2860 */
     2861function db_commu_get_c_commu_member_confirm_id($c_member_id, $c_commu_id)
     2862{
     2863    $sql = 'SELECT c_commu_member_confirm_id FROM c_commu_member_confirm WHERE c_commu_id = ? AND  c_member_id = ?';
     2864    $params = array(intval($c_commu_id), intval($c_member_id));
     2865    return db_get_one($sql, $params);
     2866}
    28482867
    28492868?>
  • OpenPNE/branches/2_8/webapp/modules/ktai/do/inc_join_c_commu.php

    r2465 r2468  
    3939        //承認必要なし
    4040        case STATUS_C_JOIN_REQUEST_FREE:
     41            // 承認依頼があれば削除
     42            if ($c_commu_member_confirm_id = db_commu_get_c_commu_member_confirm_id($u, $target_c_commu_id)) {
     43                db_commu_delete_c_commu_member_confirm($c_commu_member_confirm_id);
     44            }
    4145            db_commu_join_c_commu($target_c_commu_id, $u);
    4246            do_inc_join_c_commu_send_mail($target_c_commu_id, $u);
  • OpenPNE/branches/2_8/webapp/modules/pc/do/h_confirm_list_insert_c_commu_member.php

    r1856 r2468  
    2828        // -----
    2929
     30        $status = do_common_get_c_join_status($cmc['c_member_id'], $cmc['c_commu_id']);
    3031
    31         db_commu_insert_c_commu_member($target_c_commu_member_confirm_id);
     32        if ($status != STATUS_C_JOIN_ALREADY) {
     33            db_commu_insert_c_commu_member($target_c_commu_member_confirm_id);
     34            $msg = '承認が完了しました';
     35        } else {
     36            db_commu_delete_c_commu_member_confirm($target_c_commu_member_confirm_id);
     37            $msg = '既にこのコミュニティに参加しています。';
     38        }
    3239
    33         $msg = '承認が完了しました';
    3440        $p = array('msg' => $msg);
    3541        openpne_redirect('pc', 'page_h_confirm_list', $p);
  • OpenPNE/branches/2_8/webapp/modules/pc/do/inc_join_c_commu.php

    r2465 r2468  
    3636        //承認必要なし
    3737        case STATUS_C_JOIN_REQUEST_FREE:
     38            // 承認依頼があれば削除
     39            if ($c_commu_member_confirm_id = db_commu_get_c_commu_member_confirm_id($u, $target_c_commu_id)) {
     40                db_commu_delete_c_commu_member_confirm($c_commu_member_confirm_id);
     41            }
    3842            db_commu_join_c_commu($target_c_commu_id, $u);
    3943            do_inc_join_c_commu_send_mail($target_c_commu_id, $u);
  • OpenPNE/branches/2_8/webapp/modules/pc/page/c_join_commu.php

    r2465 r2468  
    2727        //非公開コミュニティに管理者から招待されている場合は強制的に承認を回避
    2828        $admin_invite = db_commu_c_commu4c_admin_invite_id($target_c_commu_id, $u);
    29         if ($admin_invite) {
     29        if ($admin_invite && $status != STATUS_C_JOIN_ALREADY) {
    3030            $status = STATUS_C_JOIN_REQUEST_FREE;
    3131        }
Note: See TracChangeset for help on using the changeset viewer.