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'; }