/** * 新着情報の新規 * * @access public */ function _default(&$whatsnew, $noblock = 0) { if (!isset($whatsnew["module_id"])) { $whatsnew["module_id"] = $this->_request->getParameter("module_id"); } if (!isset($whatsnew["user_id"])) { $whatsnew["user_id"] = 0; } if (!isset($whatsnew["authority_id"])) { $whatsnew["authority_id"] = _AUTH_GUEST; } if (!isset($whatsnew["unique_id"])) { $whatsnew["unique_id"] = 0; } if (!isset($whatsnew["action_name"])) { $whatsnew["action_name"] = DEFAULT_ACTION; } if (isset($whatsnew["description"])) { $convertHtml =& $this->_commonMain->registerClass(WEBAPP_DIR . '/components/convert/Html.class.php', "Convert_Html", "convertHtml"); $description = $convertHtml->convertHtmlToText($whatsnew["description"]); $whatsnew["description"] = trim(preg_replace("/\\\n/", " ", $description)); } if (!empty($whatsnew["title"])) { } elseif (!empty($whatsnew["description"])) { $whatsnew["title"] = mb_substr($whatsnew["description"], 0, _SEARCH_SUBJECT_LEN, INTERNAL_CODE); } else { $whatsnew["title"] = _SEARCH_SUBJECT_NONEXISTS; } if (!isset($whatsnew["count_num"])) { $whatsnew["count_num"] = 0; } if (isset($whatsnew["child_update_time"])) { $time = $whatsnew['child_update_time']; } else { $time = timezone_date(); } if (isset($whatsnew["insert_time"])) { $whatsnew["update_time"] = $whatsnew["insert_time"]; } else { $whatsnew["update_time"] = $time; } ////$whatsnew["child_update_time"] = $time; if (isset($whatsnew["child_flag"])) { unset($whatsnew["child_flag"]); } if (empty($whatsnew["parameters"])) { $whatsnew["parameters"] = ""; } elseif ($noblock == _OFF) { $whatsnew["parameters"] .= "&"; } if ($noblock == _OFF) { $block_id = $this->_request->getParameter("block_id"); $_id = $this->_session->getParameter("_id"); $id = $this->_commonMain->getTopId($block_id, $whatsnew["module_id"], ""); $this->_session->setParameter("_id", $_id); $whatsnew["parameters"] .= "block_id=" . $block_id . "#" . $id; } return true; }
/** * 予約を登録する * * @access public */ function updateReserve() { $calendarAction =& $this->_container->getComponent("calendarAction"); $user_id = $this->_session->getParameter("_user_id"); $user_name = $this->_session->getParameter("_handle"); $edit_rrule = intval($this->_request->getParameter("edit_rrule")); $reserve = $this->_request->getParameter("reserve"); $location = $this->_request->getParameter("location"); $description = $this->_request->getParameter("description"); $reserve_room_id = $this->_request->getParameter("reserve_room_id"); $allday_flag = intval($this->_request->getParameter("allday_flag")); $entry_calendar = intval($this->_request->getParameter("entry_calendar")); $reserve_details_id = $reserve["reserve_details_id"]; $calendar_id = $reserve["calendar_id"]; $rrule = $this->_request->getParameter("rrule"); $rrule_str = $calendarAction->concatRRule($rrule); $timezone_offset = $this->_request->getParameter("timezone_offset"); $start_time_full = $this->_request->getParameter("start_time_full"); $start_time_full = $this->_reservationView->dateFormat($start_time_full, $timezone_offset, true); $end_time_full = $this->_request->getParameter("end_time_full"); $end_time_full = $this->_reservationView->dateFormat($end_time_full, $timezone_offset, true); $block_id = $this->_reservationView->getBlockIdByWhatsnew(); $details_params = array("contact" => $this->_request->getParameter("contact"), "description" => $description, "rrule" => $rrule_str, 'room_id' => $reserve_room_id); if ($edit_rrule == RESERVATION_RESERVE_EDIT_ALL) { $result = $this->_updateReserveByAll($reserve_details_id, $details_params); if ($result === false) { return false; } } elseif ($edit_rrule == RESERVATION_RESERVE_EDIT_AFTER) { $result = $this->_updateReserveByAfter($reserve_details_id, $start_time_full, $details_params); if ($result === false) { return false; } } else { $reserve_details_id = $this->_db->insertExecute("reservation_reserve_details", $details_params, false, "reserve_details_id"); if ($reserve_details_id === false) { return false; } } $this->_request->setParameter("reserve_details_id", $reserve_details_id); $time = timezone_date(); $reserve_params = array("reserve_details_id" => $reserve_details_id, "location_id" => $this->_request->getParameter("location_id"), "room_id" => $reserve_room_id, "user_id" => $reserve["user_id"], "user_name" => $reserve["user_name"], "title" => $this->_request->getParameter("title"), "title_icon" => $this->_request->getParameter("icon_name"), "allday_flag" => $allday_flag, "start_date" => substr($start_time_full, 0, 8), "start_time" => substr($start_time_full, 8), "start_time_full" => $start_time_full, "end_date" => substr($end_time_full, 0, 8), "end_time" => substr($end_time_full, 8), "end_time_full" => $end_time_full, "timezone_offset" => $this->_request->getParameter("timezone_offset"), "insert_time" => $reserve["insert_time"], "insert_site_id" => $reserve["insert_site_id"], "insert_user_id" => $reserve["insert_user_id"], "insert_user_name" => $reserve["insert_user_name"], "update_time" => timezone_date(), "update_site_id" => $this->_session->getParameter("_site_id"), "update_user_id" => $user_id, "update_user_name" => $user_name); $where_params = array("reserve_id" => $reserve["reserve_id"]); $result = $this->_db->updateExecute("reservation_reserve", $reserve_params, $where_params, false); if ($result === false) { return false; } if ($edit_rrule != RESERVATION_RESERVE_EDIT_THIS) { $sql = "DELETE FROM {reservation_reserve} " . "WHERE reserve_details_id = ? " . "AND reserve_id <> ?"; $params = array("reserve_details_id" => $reserve_details_id, "reserve_id" => $reserve["reserve_id"]); $result = $this->_db->execute($sql, $params); if ($result === false) { $this->_db->addError(); return false; } $repeat_time = $this->_request->getParameter("repeat_time"); if (!empty($repeat_time)) { foreach ($repeat_time as $i => $time) { $start_time_full = $this->_reservationView->dateFormat($time["start_time_full"], $timezone_offset, true); $end_time_full = $this->_reservationView->dateFormat($time["end_time_full"], $timezone_offset, true); $params = array("start_date" => substr($start_time_full, 0, 8), "start_time" => substr($start_time_full, 8), "start_time_full" => $start_time_full, "end_date" => substr($end_time_full, 0, 8), "end_time" => substr($end_time_full, 8), "end_time_full" => $end_time_full); $params = array_merge($reserve_params, $params); $result = $this->_db->insertExecute("reservation_reserve", $params, false, "reserve_id"); if ($result === false) { return false; } } } } if ($entry_calendar == _ON) { $link_params = array("location_name" => $location["location_name"], "link_module" => CALENDAR_LINK_RESERVATION, "link_id" => $reserve_details_id, "link_action_name" => "action=" . DEFAULT_ACTION . "&active_action=reservation_view_main_init" . "&view_date=" . substr($start_time_full, 0, 8) . "&reserve_id=" . $reserve["reserve_id"] . "&display_type=" . RESERVATION_DEF_LOCATION . "&block_id=" . $block_id . "#_" . $block_id); $params = array_merge($reserve_params, $details_params, $link_params); if ($calendar_id != 0) { $result = $calendarAction->updatePlan($calendar_id, $params, $edit_rrule); } else { $result = $calendarAction->insertPlan($params); } if ($result === false) { return false; } } elseif ($calendar_id != 0) { $result = $calendarAction->deletePlan($calendar_id); if ($result === false) { return false; } $params = array("reserve_id" => $reserve["reserve_id"], "calendar_id" => 0); if (!$this->_db->updateExecute("reservation_reserve", $params, "reserve_id", false)) { return false; } } $commonMain =& $this->_container->getComponent("commonMain"); $uploadsAction =& $commonMain->registerClass(WEBAPP_DIR . '/components/uploads/Action.class.php', "Uploads_Action", "uploadsAction"); $upload_id_arr = $uploadsAction->getUploadId($description); if (!empty($upload_id_arr)) { $params = array("room_id" => $reserve_room_id); $where_params = array("upload_id IN (" . implode(",", $upload_id_arr) . ")" => null); $result = $uploadsAction->updUploads($params, $where_params); if ($result === false) { return false; } } //--新着情報関連 Start-- $result = $this->setWhatsnew(); if ($result === false) { return false; } //--新着情報関連 End-- $notification_mail = intval($this->_request->getParameter("notification_mail")); if ($notification_mail == _ON) { $this->_session->setParameter("reservation_mail_reserve_id", $reserve["reserve_id"]); } else { $this->_session->setParameter("reservation_mail_reserve_id", 0); } return true; }
/** * 提出データを登録処理 * * @return boolean true or false * @access public */ function submitReport($update = false) { $submit_id = $this->_request->getParameter("submit_id"); if (empty($submit_id)) { $params = array("assignment_id" => $this->_request->getParameter("assignment_id"), "user_id" => $this->_session->getParameter("_user_id")); $sql = "SELECT submit_id" . " FROM {assignment_submitter}" . " WHERE assignment_id = ?" . " AND insert_user_id = ?"; $submit_ids = $this->_db->execute($sql, $params); if ($submit_ids === false) { $this->_db->addError(); return false; } if (!empty($submit_ids)) { $submit_id = $submit_ids[0]["submit_id"]; } } $submitterInsert = false; $temporary = intval($this->_request->getParameter("temporary")); $update_time = timezone_date(); if (empty($submit_id)) { $params = array("assignment_id" => $this->_request->getParameter("assignment_id"), "submit_flag" => $temporary == _ON ? ASSIGNMENT_SUBMIT_FLAG_YET_REREASED : ASSIGNMENT_SUBMIT_FLAG_SUBMITTED, "grade_value" => "", "insert_time" => $update_time, "update_time" => $update_time); $result = $this->_db->insertExecute("assignment_submitter", $params, true, "submit_id"); if (!$result) { return false; } $submit_id = $result; $submitterInsert = true; } else { $params = array("submit_id" => $submit_id, "grade_value" => ""); if ($temporary != _ON) { $params["submit_flag"] = ASSIGNMENT_SUBMIT_FLAG_SUBMITTED; $params["update_time"] = $update_time; } $result = $this->_db->updateExecute("assignment_submitter", $params, "submit_id", false); if (!$result) { return false; } } if (!$update) { $params = array("assignment_id" => $this->_request->getParameter("assignment_id"), "body" => $this->_request->getParameter("report_body")); $result = $this->_db->insertExecute("assignment_body", $params, true, "body_id"); if (!$result) { return false; } $body_id = $result; $params = array("assignment_id" => $this->_request->getParameter("assignment_id"), "submit_id" => $submit_id, "body_id" => $body_id, "status" => $temporary == _ON ? ASSIGNMENT_STATUS_BEFORE_REREASED : ASSIGNMENT_STATUS_REREASED, "insert_time" => $update_time, "update_time" => $update_time); $result = $this->_db->insertExecute("assignment_report", $params, true, "report_id"); $status = $params["status"]; if (!$result) { return false; } $report_id = $result; $this->_request->setParameter("report_id", $report_id); $params = array("report_id" => $report_id, "body_id" => $body_id); $result = $this->_db->updateExecute("assignment_body", $params, "body_id", true); $insertFlag = true; } else { $report = $this->_request->getParameter("report"); $body_id = $report["body_id"]; $params = array("body_id" => $body_id, "body" => $this->_request->getParameter("report_body")); $result = $this->_db->updateExecute("assignment_body", $params, "body_id", true); if (!$result) { return false; } $report_id = $this->_request->getParameter("report_id"); $params = array("report_id" => $report["report_id"], "status" => $temporary == _ON ? ASSIGNMENT_STATUS_TEMPORARY : ASSIGNMENT_STATUS_REREASED, "update_time" => $update_time); if ($report["status"] == ASSIGNMENT_STATUS_BEFORE_REREASED && $temporary == _ON) { $params["status"] = ASSIGNMENT_STATUS_BEFORE_REREASED; } if ($report["status"] == ASSIGNMENT_STATUS_BEFORE_REREASED && $temporary == _OFF) { $params["insert_time"] = $update_time; } $result = $this->_db->updateExecute("assignment_report", $params, "report_id", true); $status = $params["status"]; $insertFlag = false; if (!$submitterInsert && $temporary != _ON) { $params = array("submit_id" => $submit_id, "update_time" => $update_time); $result = $this->_db->updateExecute("assignment_submitter", $params, "submit_id", true); } } if (!$result) { return false; } $assignment = $this->_request->getParameter("assignment"); if ($assignment["mail_send"] == _ON && $status == ASSIGNMENT_STATUS_REREASED && ($insertFlag || $report["status"] == ASSIGNMENT_STATUS_BEFORE_REREASED)) { $this->_session->setParameter("assignment_mail_report_id", $report_id); } return true; }