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

source: OpenPNE/branches/stable-2.12.x/webapp/modules/pc/do/c_event_join_c_commu_event.php @ 7221

Last change on this file since 7221 was 7221, checked in by ebihara, 11 years ago

#2318:コメントが1000番を超えていない場合、コメントを入力することなしにイベントの参加・キャンセルをおこなえないようにした

File size: 2.0 KB
Line 
1<?php
2/**
3 * @copyright 2005-2008 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7class pc_do_c_event_join_c_commu_event 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        // ----------
16
17        //-- 権限チェック
18        $err_msg = array();
19        $c_topic = db_commu_c_topic4c_commu_topic_id_2($c_commu_topic_id);
20        $c_commu_id = $c_topic['c_commu_id'];
21
22        $status = db_common_commu_status($u, $c_commu_id);
23        if (!$status['is_commu_member']) {
24            handle_kengen_error();
25        }
26
27        if (!$c_topic['event_flag']) {
28            handle_kengen_error();
29        }
30
31        if (db_commu_is_writable_c_commu_topic_comment4c_commu_topic_id($c_commu_topic_id)) {
32            handle_kengen_error();
33        }
34
35        $is_c_event_member = db_commu_is_c_event_member($c_commu_topic_id, $u);
36        if ($is_c_event_member) {
37            $err_msg[] = 'すでにイベントに参加しています。';
38            $_REQUEST['err_msg'] = $err_msg;
39            openpne_forward('pc', 'page', 'c_event_detail');
40            exit;
41        }
42
43        if (!db_commu_is_event_join_capacity($c_commu_topic_id)) {
44            $err_msg[] = 'イベントの参加者数制限を超えています';
45            $_REQUEST['err_msg'] = $err_msg;
46            openpne_forward('pc', 'page', "c_event_detail");
47            exit;
48        }
49
50        if (!db_commu_is_event_join_date($c_commu_topic_id)) {
51            $err_msg[] = 'イベントの募集期限が過ぎています';
52            $_REQUEST['err_msg'] = $err_msg;
53            openpne_forward('pc', 'page', "c_event_detail");
54            exit;
55        }
56
57        db_commu_insert_c_event_member($c_commu_topic_id, $u);
58
59        $p = array('target_c_commu_topic_id' => $c_commu_topic_id);
60        openpne_redirect('pc', 'page_c_event_detail', $p);
61    }
62}
63
64?>
Note: See TracBrowser for help on using the repository browser.