function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     $start = $requests['start_date'];
     $text = $requests['title'];
     //書式チェック
     preg_match("/([0-2][0-9]:{0,1}[0-5][0-9]){0,1}(-{0,1})([0-2][0-9]:{0,1}[0-5][0-9]){0,1}\\s*(.*)/", $text, $matches);
     if ($matches) {
         //クイック入力に対応した書式
         $begin = $matches[1];
         $delim = $matches[2];
         $finish = $matches[3];
         $title = $matches[4];
         $begin_date = $finish_date = $start;
         //書式パターンは以下の通り
         //  [開始時刻][時刻デリミタ][終了時刻][予定内容]
         //  [開始時刻][終了時刻][予定内容]
         //  [開始時刻][時刻デリミタ][予定内容]
         //  [時刻デリミタ][終了時刻][予定内容]
         //  [予定内容]
         if (!empty($begin) && !empty($finish)) {
             //開始時刻と終了時刻が存在する
             $begin_time = date("H:i", strtotime($begin));
             $finish_time = date("H:i", strtotime($finish));
         } elseif (!empty($begin) && !empty($delim)) {
             $begin_time = date("H:i", strtotime($begin));
             $finish_time = null;
         } elseif (!empty($finish) && !empty($delim)) {
             $begin_time = null;
             $finish_time = date("H:i", strtotime($finish));
         } else {
             $title = $text;
             $begin_date = $finish_date = $start;
             $begin_time = $finish_time = null;
         }
     } else {
         //通常の予定入力
         $title = $text;
         $begin_date = $finish_date = $start;
         $begin_time = $finish_time = null;
     }
     if (empty($title)) {
         $p = array('msg' => 'タイトルを入力してください。');
         openpne_redirect('pc', 'page_h_home', $p);
     }
     $join_members = array($u);
     biz_insertSchedule($title, $u, $begin_date, $finish_date, $begin_time, $finish_time, '', 0, 0, 0, 'public', $join_members);
     //予定の登録
     biz_readSchedule($u, biz_getScheduleMax());
     //既読に
     $p = array();
     openpne_redirect('pc', 'page_h_home', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     $start = $requests['start_date'];
     $target_id = $requests['target_id'];
     $text = $requests['title'];
     //書式チェック
     preg_match("/([0-2][0-9].*?[0-5][0-9]).*?([0-2][0-9].*?[0-5][0-9])\\s*(.*)/", $text, $matches);
     if ($matches) {
         //クイック入力に対応した書式
         $title = $matches[3];
         $begin_date = $finish_date = $start;
         $begin_time = date("H:i", strtotime($matches[1]));
         if (empty($matches[2])) {
             $finish_time = null;
         } else {
             $finish_time = date("H:i", strtotime($matches[2]));
         }
     } else {
         //通常の予定入力
         $title = $text;
         $begin_date = $finish_date = $start;
         $begin_time = $finish_time = null;
     }
     $members = biz_getGroupMember($target_id);
     $members_id = array();
     foreach ($members as $key => $values) {
         array_push($members_id, $values['c_member_id']);
     }
     if (empty($text)) {
         $p = array('target_c_commu_id' => $target_id, 'msg' => 'タイトルを入力してください。');
         openpne_redirect('biz', 'page_g_home', $p);
         exit;
         //強制的にスクリプトを終了しなければいけない
     }
     biz_insertSchedule($title, $u, $begin_date, $finish_date, $begin_time, $finish_time, '', 0, 0, $target_id, 'group', $members_id);
     //予定の登録
     biz_readSchedule($u, biz_getScheduleMax());
     //既読済みに
     $p = array('target_c_commu_id' => $target_id);
     openpne_redirect('biz', 'page_g_home', $p);
 }
 function execute($requests)
 {
     $u = $GLOBALS['KTAI_C_MEMBER_ID'];
     $this->set('tail', $GLOBALS['KTAI_URL_TAIL']);
     if (!biz_isPermissionSchedule($u, $requests['id'])) {
         handle_kengen_error();
     }
     if (empty($requests['target_id']) || $requests['target_id'] == $u) {
         //自分自身
         $target_id = $u;
         $this->set('is_h', true);
         //判別フラグ
     } else {
         //他人
         $target_id = $requests['target_id'];
         $this->set('is_f', true);
         //判別フラグ
     }
     $this->set('inc_navi', fetch_inc_navi("h"));
     //プロフィール
     $target_member = db_member_c_member4c_member_id($u);
     $this->set("target_member", $target_member);
     //カレンダー関係
     //カレンダー開始用変数
     $year = date("Y");
     $month = date("n");
     //カレンダー用変数
     $date_val = array('year' => $year, 'month' => $month, 'day' => null);
     $this->set("date_val", $date_val);
     //日記のカレンダー
     $calendar = db_common_diary_monthly_calendar($year, $month, $u);
     $this->set("calendar", $calendar['days']);
     $this->set("ym", $calendar['ym']);
     $list = biz_getScheduleInfo($requests['id']);
     //繰り返しフラグのチェック
     $dayofweek = array('日', '月', '火', '水', '木', '金', '土');
     foreach ($dayofweek as $key => $value) {
         if ($list['rep_type'] & 1 << $key) {
             $tmp .= $value;
         }
     }
     $list += array('rep_type_loc' => $tmp);
     $list += array('writer_name' => biz_getMemberNickname($list['c_member_id']));
     $list['begin_time'] = substr($list['begin_time'], 0, 5);
     $list['finish_time'] = substr($list['finish_time'], 0, 5);
     $jmembers = biz_getJoinMemberSchedule($requests['id']);
     if (array_search($target_member['nickname'], $jmembers)) {
         $jmembers[$target_member['c_member_id']] = $target_member['nickname'];
         $jmembers = array_unique($jmembers);
     }
     //参加者は10人目まで表示
     if (count($jmembers) > 10) {
         $jam = count($jmembers);
         while ($jam != 10) {
             array_pop($jmembers);
             $jam--;
         }
     }
     $this->set('jam', $jam);
     $this->set('schedule', $list);
     $this->set('jmembers', $jmembers);
     $this->set('jmembers_enc', serialize($jmembers));
     $this->set('schedule_id', $requests['id']);
     $this->set('w', $requests['w']);
     $this->set('is_h', true);
     $this->set('t_id', $target_id);
     if ($list['rep_type']) {
         //繰り返し予定の場合は開始日と期間をセット
         $repeat_begin = biz_getRepeatBegin($requests['id']);
         $repeat_finish = biz_getRepeatFinish($requests['id']);
         $repeat_term = strtotime($repeat_finish) - strtotime($repeat_begin);
         $daycount = $repeat_term / (24 * 60 * 60) / 7;
         $this->set('repeat_begin_date', $repeat_begin);
         $this->set('repeat_term', intval($daycount));
     }
     if ($list['rep_type']) {
         //繰り返し予定の場合はまとめて既読済みに
         $rep_schedule = biz_getRepeatScheduleID($requests['id']);
         foreach ($rep_schedule as $value) {
             biz_readSchedule($u, $value);
         }
     } else {
         biz_readSchedule($u, $requests['id']);
     }
     return 'success';
 }
 function execute($requests)
 {
     $u = $GLOBALS['AUTH']->uid();
     if (!biz_isPermissionSchedule($u, $requests['id'])) {
         handle_kengen_error();
     }
     $form_val['subject'] = $requests['subject'];
     $form_val['body'] = $requests['body'];
     $sessid = session_id();
     if (empty($requests['target_id']) || $requests['target_id'] == $u) {
         //自分自身
         $target_id = $u;
         $this->set('is_h', true);
         //判別フラグ
         $this->set('inc_navi', fetch_inc_navi('h'));
     } else {
         //他人
         $target_id = $requests['target_id'];
         $this->set('is_f', true);
         //判別フラグ
         $this->set('inc_navi', fetch_inc_navi('f', $requests['target_id']));
     }
     //プロフィール
     $target_member = db_member_c_member4c_member_id($u);
     $this->set("target_member", $target_member);
     $this->set("form_val", $form_val);
     $this->set("target_c_member_id", $requests['target_id']);
     //カレンダー関係
     //カレンダー開始用変数
     $year = date("Y");
     $month = date("n");
     //カレンダー用変数
     $date_val = array('year' => $year, 'month' => $month, 'day' => null);
     $this->set("date_val", $date_val);
     //日記のカレンダー
     $calendar = db_common_diary_monthly_calendar($year, $month, $u);
     $this->set("calendar", $calendar['days']);
     $this->set("ym", $calendar['ym']);
     $list = biz_getScheduleInfo($requests['id']);
     //繰り返しフラグのチェック
     $dayofweek = array('日', '月', '火', '水', '木', '金', '土');
     foreach ($dayofweek as $key => $value) {
         if ($list['rep_type'] & 1 << $key) {
             $tmp .= $value;
         }
     }
     $list['rep_type_loc'] = $tmp;
     $list['writer_name'] = biz_getMemberNickname($list['c_member_id']);
     $list['begin_time'] = substr($list['begin_time'], 0, 5);
     $list['finish_time'] = substr($list['finish_time'], 0, 5);
     $jmembers = biz_getJoinMemberSchedule($requests['id']);
     if (array_search($target_member['nickname'], $jmembers)) {
         $jmembers[$target_member['c_member_id']] = $target_member['nickname'];
     } else {
         $list['target_c_member_nickname'] = biz_getMemberNickname($requests['target_id']);
     }
     $this->set('jmembers', $jmembers);
     $this->set('schedule', $list);
     $this->set('jmembers', $jmembers);
     $this->set('jmembers_enc', serialize($jmembers));
     $this->set('schedule_id', $requests['id']);
     $this->set('w', $requests['w']);
     $this->set('is_h', true);
     if ($list['rep_type']) {
         //繰り返し予定の場合は開始日と期間をセット
         $repeat_begin = biz_getRepeatBegin($requests['id']);
         $repeat_finish = biz_getRepeatFinish($requests['id']);
         $repeat_term = strtotime($repeat_finish) - strtotime($repeat_begin);
         $daycount = ceil($repeat_term / (24 * 60 * 60) / 6);
         if ($repeat_finish == $repeat_begin) {
             $daycount = 1;
         }
         $this->set('repeat_begin_date', $repeat_begin);
         $this->set('repeat_term', ceil($daycount));
     } else {
         // 繰り返さない予定の場合、日数をセット
         $term = strtotime($list["finish_date"]) - strtotime($list["begin_date"]);
         $daycount = ceil($term / (24 * 60 * 60)) + 1;
         $this->set('sc_bn', $daycount);
     }
     if ($list['rep_type']) {
         //繰り返し予定の場合はまとめて既読済みに
         $rep_schedule = biz_getRepeatScheduleID($requests['id']);
         foreach ($rep_schedule as $value) {
             biz_readSchedule($u, $value);
         }
     } else {
         biz_readSchedule($u, $requests['id']);
     }
     return 'success';
 }