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

source: OpenPNE/trunk/webapp_biz/modules/ktai_biz/do/fhg_biz_schedule_add.php @ 276

Last change on this file since 276 was 276, checked in by ogawa, 16 years ago

remove extra spaces

File size: 8.2 KB
Line 
1<?php
2/**
3 * @copyright 2005-2006 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7class ktai_biz_do_fhg_biz_schedule_add extends OpenPNE_Action
8{
9    function execute($requests)
10    {
11        $u  = $GLOBALS['KTAI_C_MEMBER_ID'];
12        $tail = $GLOBALS['KTAI_URL_TAIL'];
13
14        //target_idの指定
15        if(!$requests['target_id'])
16                $requests['target_id'] = $u;
17
18        //ERROR----------------
19        //存在しない日付
20        if(!checkdate($requests['sc_b_month'], $requests['sc_b_date'], $requests['sc_b_year']))
21        {
22            $redirect_script = '?m=ktai_biz&a=page_fh_biz_schedule_add&'.$tail;
23            $msg = '存在しない日付が指定されました。';
24
25            //日付関連の引数は返さなくてもよい
26            $url = $redirect_script.
27                        '&msg='.$msg.
28                        '&title='.$requests['sc_title'].
29                        '&sc_rp='.$requests['sc_rp'].
30                        '&sc_memo='.$requests['sc_memo'].
31                        '&sc_j_mem_enc='.serialize($requests['sc_j_mem']).
32                        '&sc_rwk_enc='.serialize($requests['sc_rwk_enc']).
33                        '&sc_rcount='.$requests['sc_rcount'].
34                        '&target_id='.$requests['target_id'];
35
36            $_REQUEST['sc_title'] = $requests['sc_title'];
37            $_REQUEST['sc_rp'] = $requests['sc_rp'];
38            $_REQUEST['sc_memo'] = $requests['sc_memo'];
39            $_REQUEST['sc_j_mem_enc'] = serialize($requests['sc_j_mem']);
40            $_REQUEST['sc_rwk_enc'] = serialize($requests['sc_rwk_enc']);
41            $_REQUEST['sc_rcount'] = $requests['sc_rcount'];
42            $_REQUEST['target_id'] = $requests['target_id'];
43
44
45            $_REQUEST['msg'] = '存在しない日付が指定されました。';
46            openpne_forward('ktai_biz', 'page', "fh_biz_schedule_add");
47            exit;
48        }
49        //---------------------
50
51        //ERROR----------------
52        //タイトル未入力
53        if(empty($requests['sc_title']))
54        {
55            $redirect_script = '?m=ktai_biz&a=page_fh_biz_schedule_add&'.$tail;
56            $msg = 'タイトルを入力してください。';
57            $begin_date = $requests['sc_b_year'].'-'.$requests['sc_b_month'].'-'.$requests['sc_b_date'];
58            $begin_time = $requests['sc_b_hour'].':'.$requests['sc_b_minute'];
59            $finish_time = $requests['sc_f_hour'].':'.$requests['sc_f_minute'];
60            $url = $redirect_script.
61                        '&msg='.$msg.
62                        '&begin_date='.$begin_date.
63                        '&begin_time='.$begin_time.
64                        '&finish_time='.$finish_time.
65                        '&sc_rp='.$requests['sc_rp'].
66                        '&sc_memo='.$requests['sc_memo'].
67                        '&sc_j_mem_enc='.serialize($requests['sc_j_mem']).
68                        '&sc_rwk_enc='.serialize($requests['sc_rwk_enc']).
69                        '&sc_rcount='.$requests['sc_rcount'].
70                        '&target_id='.$requests['target_id'];
71
72            $_REQUEST['begin_date'] = $begin_date;
73            $_REQUEST['begin_time'] = $begin_time;
74            $_REQUEST['finish_time'] = $finish_time;
75            $_REQUEST['sc_rp'] = $requests['sc_rp'];
76            $_REQUEST['sc_memo'] = $requests['sc_memo'];
77            $_REQUEST['sc_j_mem_enc'] = serialize($requests['sc_j_mem']);
78            $_REQUEST['sc_rwk_enc'] = serialize($requests['sc_rwk_enc']);
79            $_REQUEST['sc_rcount'] = $requests['sc_rcount'];
80            $_REQUEST['target_id'] = $requests['target_id'];
81            $_REQUEST['msg'] = 'タイトルを入力してください。';
82            openpne_forward('ktai_biz', 'page', "fh_biz_schedule_add");
83            exit;
84        }   
85        //---------------------
86
87        //施設、参加者のチェック
88
89        if(!$requests['sc_j_mem']){     //「全員」が含まれている場合は、配列を空に
90                $requests['sc_j_mem'] = array();
91
92        }elseif($requests['sc_j_mem'] == "my"){     //本人またはフレンドのみの場合
93                $requests['sc_j_mem']=array($requests['target_id']);
94
95        }else{
96            $join_group = biz_getGroupMember($requests['sc_j_mem']);
97            $i = 0;
98
99            $requests['sc_j_mem'] = array();
100            foreach($join_group as $key){
101                    $requests['sc_j_mem'][$i] = $key['c_member_id'];
102                    $i++;
103            }
104
105        }
106
107        //日付のフォーマットを設定
108        $begin_date = $requests['sc_b_year'].'-'.$requests['sc_b_month'].'-'.$requests['sc_b_date'];
109
110        $begin_time = $requests['sc_b_hour'].':'.$requests['sc_b_minute'];
111        $finish_time = $requests['sc_f_hour'].':'.$requests['sc_f_minute'];
112
113        //ERROR---------------
114        if((strtotime($finish_time) < strtotime($begin_time))&&($finish_time != ':'))  //終了時間と開始時間が変
115        {
116            $redirect_script = '?m=ktai_biz&a=page_fh_biz_schedule_add&'.$tail;
117            $msg = '終了時刻が開始時刻より先です。';
118            $begin_date = $requests['sc_b_year'].'-'.$requests['sc_b_month'].'-'.$requests['sc_b_date'];
119            $begin_time = $requests['sc_b_hour'].':'.$requests['sc_b_minute'];
120            $finish_time = $requests['sc_f_hour'].':'.$requests['sc_f_minute'];
121            $url = $redirect_script.
122                        '&msg='.$msg.
123                        '&begin_date='.$begin_date.
124                        '&sc_title='.$requests['sc_title'].
125                        '&sc_rp='.$requests['sc_rp'].
126                        '&sc_memo='.$requests['sc_memo'].
127                        '&sc_j_mem_enc='.serialize($requests['sc_j_mem']).
128                        '&sc_rwk_enc='.serialize($requests['sc_rwk_enc']).
129                        '&sc_rcount='.$requests['sc_rcount'].
130                        '&target_id='.$requests['target_id'];
131
132            $_REQUEST['begin_date'] = $begin_date;
133            $_REQUEST['sc_title'] = $requests['sc_title'];
134            $_REQUEST['sc_rp'] = $requests['sc_rp'];
135            $_REQUEST['sc_memo'] = $requests['sc_memo'];
136            $_REQUEST['sc_j_mem_enc'] = serialize($requests['sc_j_mem']);
137            $_REQUEST['sc_rwk_enc'] = serialize($requests['sc_rwk_enc']);
138            $_REQUEST['sc_rcount'] = $requests['sc_rcount'];
139            $_REQUEST['target_id'] = $requests['target_id'];
140
141            $_REQUEST['msg'] = '終了時刻が開始時刻より先です。';
142            openpne_forward('ktai_biz', 'page', "fh_biz_schedule_add");
143            exit;
144
145        }
146        //--------------------
147
148        $finish_date = $begin_date;
149
150        if(!($requests['sc_b_hour']||$requests['sc_b_minute']||$requests['sc_f_hour']||$requests['sc_f_minute']))  //時刻指定なし
151            $begin_time = $finish_time = null;
152        elseif(!($requests['sc_f_hour']||$requests['sc_f_minute']))
153            $finish_time = null;
154
155        if(!$requests['sc_rp'])  //繰り返しをしない予定登録
156            biz_insertSchedule($requests['sc_title'], $u, $begin_date, $finish_date, $begin_time, $finish_time, $requests['sc_memo'], $rp_rule, 0, $requests['sc_j_mem'], $requests['sc_j_plc']);
157        else  //繰り返し予定
158        {
159            $tmp = $begin_date;  //処理中の日付
160
161            for($i=0; date("Ymd", strtotime($tmp)) < date("Ymd", strtotime($finish_date)); $i++)
162            {
163                $nowday = strtotime($requests['sc_b_year'].'-'.$requests['sc_b_month'].'-'.($requests['sc_b_date']+$i));
164                $tmp = date("Ymd", $nowday);
165                if($rp_rule & (1 << date("w",$nowday)))
166                    biz_insertSchedule($requests['sc_title'], $u, $tmp, $tmp, $begin_time, $finish_time, $requests['sc_memo'], $rp_rule, $first_id, $requests['sc_j_mem'], $requests['sc_j_plc']);
167            }
168        }
169
170        $week = date("W", abs(strtotime($begin_date)-strtotime(date("Y-m-d"))))-1;
171        $target_id = $requests['target_id'];
172        $_REQUEST['msg'] = '予定を追加しました。';
173        $_REQUEST['w'] = $week;
174        $_REQUEST['target_id'] = $target_id;
175        $_REQUEST['id'] = biz_getScheduleMax();
176        openpne_forward('ktai_biz', 'page', "fh_calendar_week");
177        exit;
178
179    }
180}
181?>
Note: See TracBrowser for help on using the repository browser.