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

source: OpenPNE/branches/ebihara/prj_pnebiz/webapp_biz/modules/biz/page/fh_biz_schedule_edit.php @ 557

Last change on this file since 557 was 557, checked in by ebihara, 14 years ago

create prj_pnebiz

File size: 6.5 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 biz_page_fh_biz_schedule_edit extends OpenPNE_Action
8{
9    function execute($requests)
10    {
11
12        $u = $GLOBALS['AUTH']->uid();
13
14        $form_val['subject'] = $requests['subject'];
15        $form_val['body'] = $requests['body'];
16
17        $sessid = session_id();
18
19        if (empty($requests['target_id']) || ($requests['target_id'] == $u)) {
20            //自分自身
21            $target_id = $u;
22            $this->set('is_h', true);  //判別フラグ
23            $this->set('inc_navi',fetch_inc_navi('h'));
24        } else {
25            //他人
26            $target_id = $requests['target_id'];
27            $this->set('is_f', true);  //判別フラグ
28            $this->set('inc_navi',fetch_inc_navi('f'));
29        }
30
31        //プロフィール
32        $this->set("target_member", db_common_c_member4c_member_id($u));
33        $this->set("form_val", $form_val);
34
35        //カレンダー関係
36        //カレンダー開始用変数
37        $year = date("Y");
38        $month= date("n");
39        //カレンダー用変数
40        $date_val=  array(
41            'year' => $year,
42            'month' => $month,
43            'day' => null,
44        );
45        $this->set("date_val", $date_val);
46
47        //日記のカレンダー
48        $calendar = db_common_diary_monthly_calendar($year, $month, $u);
49
50        $this->set("calendar", $calendar['days']);
51        $this->set("ym", $calendar['ym']);
52
53        //日付関連
54        if ($requests['rep_type']) {
55            $begin_date = biz_getRepeatBegin($requests['schedule_id']);
56        } else {
57            $begin_date = $requests['begin_date'];
58        }
59
60        $nowyear = date("Y", strtotime($begin_date));
61        $nowmonth = date("m", strtotime($begin_date));
62        $nowday = date("d", strtotime($begin_date));
63
64        for ($i = $nowyear; $i <= $nowyear+10; $i++) {
65            if ($i == $nowyear) {
66                $years = '<option value="'.$i.'" selected>';
67            } else {
68                $years .= '<option value="'.$i.'">';
69            }
70            $years .= $i.'年';
71        }
72
73        for ($i = 1; $i <= 12; $i++) {
74            $i_f = sprintf("%02d",$i);  //月は常に二桁
75            if ($i == $nowmonth) { 
76                $monthes .= '<option value="'.$i_f.'" selected>';
77            } else {
78                $monthes .= '<option value="'.$i_f.'">';
79            }
80            $monthes .= $i.'月';
81        }
82
83        for ($i = 1; $i <= 31; $i++) {
84            $i_f = sprintf("%02d",$i);  //日は常に二桁
85            if ($i == $nowday) {
86                $days .= '<option value="'.$i_f.'" selected>';
87            } else {
88                $days .= '<option value="'.$i_f.'">';
89            }
90            $days .= $i.'日';
91        }
92
93        $hours = biz_makeSerialArray(23);  //時
94        $mins = biz_makeSerialArray(55, 0, 5);  //分
95        $wk = array('日', '月', '火', '水', '木', '金', '土');  //週
96        $rp_count = biz_makeSerialArray(12, 1);  //繰り返し回数
97        $bn_num = biz_makeSerialArray(31, 1);  //日数
98
99        $this->set('years', $years);
100        $this->set('monthes', $monthes);
101        $this->set('days', $days);
102        $this->set('hours', $hours);
103        $this->set('mins', $mins);
104        $this->set('wk', $wk);
105        $this->set('rp_count', $rp_count);
106        $this->set('bn_num', $bn_num);
107
108        $this->set('title', $requests['title']);
109        $this->set('value', $requests['value']);
110        if (!is_null($requests['begin_time'])) {
111            $this->set('begin_hour', date("G", strtotime($requests['begin_time'])));
112        }
113
114        if (!is_null($requests['begin_time'])) {
115            $begin_min = date("i", strtotime($requests['begin_time']));
116            if (substr($begin_min, 0, 1) == '0') {
117                $begin_min = substr($begin_min, 1,1);
118            }
119        }
120
121        if (!is_null($requests['begin_time'])) {
122            $this->set('begin_min', $begin_min);
123        }
124        if (!is_null($requests['finish_time'])) {
125            $this->set('finish_hour', date("G", strtotime($requests['finish_time'])));
126        } else {
127            $this->set('finish_hour', null);
128        }
129
130        if (!is_null($requests['finish_time'])) {
131            $finish_min = date("i", strtotime($requests['finish_time']));
132        }
133        if (substr($begin_min, 0, 1) == '0') {
134            $finish_min = substr($finish_min, 1,1);
135        }
136
137        if (!is_null($requests['begin_time'])) {
138            $this->set('finish_min', $finish_min);
139        } else {
140            $this->set('finish_min', null);
141        }
142
143        if ($requests['rep_type']) {
144            $is_rep = true;
145        } else {
146            $is_rep = false;
147        }
148
149        $dayofweek = array();
150
151        for ($i = 0; $i <= 6; $i++) {
152            if ($requests['rep_type'] & (1 << $i)) {
153                array_push($dayofweek, 1);
154            } else {
155                array_push($dayofweek, 0);
156            }
157        }
158
159        $this->set('rep_type', $dayofweek);
160        $this->set('is_rep', $is_rep);
161
162        $j_members = array_keys(unserialize($requests['members']));
163        sort($j_members);
164
165        $this->set('j_members', $j_members);
166
167        $this->set('schedule_id', $requests['schedule_id']);
168
169        //追加
170        $members = array();
171
172        $sql = 'SELECT c_member_id, nickname FROM c_member WHERE c_member_id <> ?';
173
174        $params = array(
175            intval($target_id),
176        );
177        $members = db_get_all($sql, $params);
178
179        $sql = 'SELECT c_member_id, nickname FROM c_member WHERE c_member_id = ?';
180        $params = array(
181            intval($target_id),
182        );
183        $my_info = db_get_row($sql, $params);
184        array_unshift($members, $my_info);
185        $i = 0;
186
187        foreach ($members as $key => $value) {
188            if ($j_members[$i] == $value['c_member_id']) {
189                $members[$key]['checkflag'] = 1;
190                $i++;
191            }
192
193            if (count($j_members) < $i) {
194                break;
195            }
196        }
197
198        $members[0]['checkflag'] = 1;
199        $this->set('members', $members);
200
201        $repeat_begin = biz_getRepeatBegin($requests['schedule_id']);
202        $repeat_finish = biz_getRepeatFinish($requests['schedule_id']);
203        $repeat_term = strtotime($repeat_finish) - strtotime($repeat_begin);
204
205        $daycount = $repeat_term / (24 * 60 * 60) / 7;
206
207        $this->set('repeat_begin_date', $repeat_begin);
208        $this->set('repeat_term', intval($daycount));
209
210        return 'success';
211    }
212}
213
214?>
Note: See TracBrowser for help on using the repository browser.