Пример #1
0
 /**
  * 新着情報の新規
  *
  * @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;
 }
Пример #2
0
 /**
  * 予約を登録する
  *
  * @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;
 }
Пример #3
0
 /**
  * 提出データを登録処理
  *
  * @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;
 }