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

source: OpenPNE/branches/2.8.x/webapp/modules/pc/do/c_event_write_insert_c_commu_topic_comment.php @ 2918

Last change on this file since 2918 was 2918, checked in by ogawa, 12 years ago

#763:募集期限を過ぎたイベントの参加、およびキャンセルが有効になっている

File size: 3.2 KB
Line 
1<?php
2/**
3 * @copyright 2005-2007 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7class pc_do_c_event_write_insert_c_commu_topic_comment extends OpenPNE_Action
8{
9    function execute($requests)
10    {
11        $u = $GLOBALS['AUTH']->uid();
12
13        // --- リクエスト変数
14        $c_commu_topic_id = $requests['target_c_commu_topic_id'];
15        $body = $requests['body'];
16        $tmpfile1 = $requests['image_filename1_tmpfile'];
17        $tmpfile2 = $requests['image_filename2_tmpfile'];
18        $tmpfile3 = $requests['image_filename3_tmpfile'];
19        $add_event_member = $requests['add_event_member'];
20        // ----------
21
22        //-- 権限チェック
23        //コミュニティ参加者
24
25        $c_topic = db_commu_c_topic4c_commu_topic_id_2($c_commu_topic_id);
26        $c_commu_id = $c_topic['c_commu_id'];
27
28        $status = db_common_commu_status($u, $c_commu_id);
29        if (!$status['is_commu_member']) {
30            handle_kengen_error();
31        }
32        //---
33
34        if ($add_event_member == 1 && $c_topic['capacity'] && $c_topic['capacity'] <= $c_topic['member_num'] ) {
35            $err_msg[] = 'イベントの参加者数制限を超えています';
36            $_REQUEST['err_msg'] = $err_msg;
37            openpne_forward('pc', 'page', "c_event_detail");
38            exit;
39        }
40
41        if ($add_event_member) {
42            if (!db_commu_is_event_join_date($c_commu_topic_id)) {
43                handle_kengen_error();
44            }
45        }
46
47        //イベントのメンバーに追加
48        if ($add_event_member == 1) {
49            do_c_event_add_insert_c_event_member($c_commu_topic_id, $u);
50        } elseif ($add_event_member == -1) {
51            db_commu_delete_c_event_member($c_commu_topic_id, $u);
52        }
53
54        $number = db_commu_c_commu_topic_comment_number4c_commu_topic_id($c_commu_topic_id);
55        $insert_c_commu_topic_comment = array(
56            "c_commu_id"       => $c_commu_id,
57            "c_member_id"      => $u,
58            "body"             => $body,
59            "number"           => $number,
60            "c_commu_topic_id" => $c_commu_topic_id,
61        );
62        $tc_id = db_commu_insert_c_commu_topic_comment_3($insert_c_commu_topic_comment);
63
64        if ($tmpfile1) {
65            $filename1 = image_insert_c_image4tmp("tc_{$tc_id}_1", $tmpfile1);
66        }
67        if ($tmpfile2) {
68            $filename2 = image_insert_c_image4tmp("tc_{$tc_id}_2", $tmpfile2);
69        }
70        if ($tmpfile3) {
71            $filename3 = image_insert_c_image4tmp("tc_{$tc_id}_3", $tmpfile3);
72        }
73        t_image_clear_tmp(session_id());
74
75        db_commu_update_c_commu_topic_comment_images($tc_id,
76                $filename1, $filename2, $filename3);
77
78        //お知らせメール送信(携帯へ)
79        send_bbs_info_mail($tc_id, $u);
80        //お知らせメール送信(PCへ)
81        send_bbs_info_mail_pc($tc_id, $u);
82
83        if (OPENPNE_USE_POINT_RANK) {
84            //トピック・イベントにコメントした人にポイント付与
85            $point = db_action_get_point4c_action_id(11);
86            db_point_add_point($u, $point);
87        }
88
89        $p = array('target_c_commu_topic_id' => $c_commu_topic_id);
90        openpne_redirect('pc', 'page_c_event_detail', $p);
91    }
92}
93
94?>
Note: See TracBrowser for help on using the repository browser.