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

source: OpenPNE/branches/work/yamaji/OpenPNE-2.10.1/webapp/modules/pc/page/c_event_add_confirm.php @ 4857

Last change on this file since 4857 was 4857, checked in by yamaji, 12 years ago

#1650 イベントの「募集人数」の数値入力に"-"(マイナス)を入力しても登録が可能となっている

File size: 5.3 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_page_c_event_add_confirm extends OpenPNE_Action
8{
9    function execute($requests)
10    {
11        $u = $GLOBALS['AUTH']->uid();
12
13        // --- リクエスト変数
14        $target_c_commu_id = $requests['target_c_commu_id'];
15        // ----------
16
17        //--- 権限チェック
18        //コミュニティメンバー
19        if (!db_commu_is_c_commu_member($target_c_commu_id, $u)) {
20            $_REQUEST['target_c_commu_id'] = $target_c_commu_id;
21            $_REQUEST['msg'] = "イベント作成をおこなうにはコミュニティに参加する必要があります";
22            openpne_forward('pc', 'page', "c_home");
23            exit;
24        }
25
26        $c_commu = db_commu_c_commu4c_commu_id2($target_c_commu_id);
27
28        //トピック作成権限チェック
29        if ($c_commu['topic_authority'] == 'admin_only' && !db_commu_is_c_commu_admin($target_c_commu_id, $u)) {
30            $_REQUEST['target_c_commu_id'] = $target_c_commu_id;
31            $_REQUEST['msg'] = "イベントは管理者だけが作成できます";
32            openpne_forward('pc', 'page', "c_home");
33            exit;
34        }
35        //---
36
37        list($event, $errors) = p_c_event_add_confirm_event4request(true);
38        $upfile_obj1 = $_FILES['image_filename1'];
39        $upfile_obj2 = $_FILES['image_filename2'];
40        $upfile_obj3 = $_FILES['image_filename3'];
41
42        // エラーチェック
43        $err_msg = $errors;
44
45        if (!$event['open_date_month'] || !$event['open_date_day'] || !$event['open_date_year']) {
46            $err_msg[] = "開催日時を入力してください";
47        } elseif (!t_checkdate($event['open_date_month'], $event['open_date_day'], $event['open_date_year'])) {
48            $err_msg[] = "開催日時は存在しません";
49        } elseif (mktime(0, 0, 0, $event['open_date_month'], $event['open_date_day'], $event['open_date_year']) < mktime(0, 0, 0)) {
50            $err_msg[] = "開催日時は過去に指定できません";
51        }
52
53        if ($event['invite_period_month'].$event['invite_period_day'].$event['invite_period_year'] != "") {
54            if (!$event['invite_period_month'] || !$event['invite_period_day'] || !$event['invite_period_year']) {
55                $err_msg[] = "募集期限は存在しません";
56            } elseif (!t_checkdate($event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year'])) {
57                $err_msg[] = "募集期限は存在しません";
58            } elseif (mktime(0, 0, 0, $event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year']) < mktime(0, 0, 0)) {
59                $err_msg[] = "募集期限は過去に指定できません";
60            } elseif (mktime(0, 0, 0, $event['open_date_month'], $event['open_date_day'], $event['open_date_year'])
61                    < mktime(0, 0, 0, $event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year'])) {
62                $err_msg[] = "募集期限は開催日時より未来に指定できません";
63            }
64        }
65        if ( $event['capacity'] != "" && 1*$event['capacity'] < 1 )
66                $err_msg[] = "募集人数は1以上の数値を指定してください";
67       
68        if ($upfile_obj1['error'] !== UPLOAD_ERR_NO_FILE) {
69            if (!($image = t_check_image($upfile_obj1))) {
70                $err_msg[] = '画像1は'.IMAGE_MAX_FILESIZE.'KB以内のGIF・JPEG・PNGにしてください';
71            }
72        }
73        if ($upfile_obj2['error'] !== UPLOAD_ERR_NO_FILE) {
74            if (!($image = t_check_image($upfile_obj2))) {
75                $err_msg[] = '画像2は'.IMAGE_MAX_FILESIZE.'KB以内のGIF・JPEG・PNGにしてください';
76            }
77        }
78        if ($upfile_obj3['error'] !== UPLOAD_ERR_NO_FILE) {
79            if (!($image = t_check_image($upfile_obj3))) {
80                $err_msg[] = '画像3は'.IMAGE_MAX_FILESIZE.'KB以内のGIF・JPEG・PNGにしてください';
81            }
82        }
83
84        if ($err_msg) {
85            $_REQUEST = $event;
86            $_REQUEST['target_c_commu_id'] = $event['c_commu_id'];
87            $_REQUEST['err_msg'] = $err_msg;
88            openpne_forward('pc', 'page', "c_event_add");
89            exit;
90        }
91
92        //画像をvar/tmpフォルダにコピー
93        $sessid = session_id();
94        t_image_clear_tmp($sessid);
95        $tmpfile1 = t_image_save2tmp($upfile_obj1, $sessid, "t_1");
96        $tmpfile2 = t_image_save2tmp($upfile_obj2, $sessid, "t_2");
97        $tmpfile3 = t_image_save2tmp($upfile_obj3, $sessid, "t_3");
98
99        $this->set('inc_navi', fetch_inc_navi("c", $target_c_commu_id));
100
101        $pref_list = p_regist_prof_c_profile_pref_list4null();
102        $event = p_c_event_add_confirm_event4request();
103        $event['open_pref_value'] = $pref_list[$event['open_pref_id']];
104        $event['image_filename1_tmpfile'] = $tmpfile1;
105        $event['image_filename2_tmpfile'] = $tmpfile2;
106        $event['image_filename3_tmpfile'] = $tmpfile3;
107        $event['image_filename1'] = $upfile_obj1['name'];
108        $event['image_filename2'] = $upfile_obj2['name'];
109        $event['image_filename3'] = $upfile_obj3['name'];
110        $this->set('event', $event);
111
112        return 'success';
113    }
114}
115
116?>
Note: See TracBrowser for help on using the repository browser.