Exemplo n.º 1
0
 /**
  * モジュールのデータを取得
  *
  * @access	private
  */
 function _callbackModules(&$recordSet, &$params)
 {
     $request = $actionChain =& $this->_container->getComponent("Request");
     $block_id = $request->getParameter("block_id");
     $target_modules = $this->_session->getParameter(array("search_select", $block_id, "target_modules"));
     $actionChain =& $this->_container->getComponent("ActionChain");
     $actionName = $actionChain->getCurActionName();
     $search_blocks_obj = $params[0];
     $ret = array();
     while ($row = $recordSet->fetchRow()) {
         if ($row["search_action"] == "") {
             continue;
         }
         $pathList = explode("_", $row["action_name"]);
         $row["dir_name"] = $pathList[0];
         if ($actionName == "search_view_main_init" && $search_blocks_obj["show_mode"] == SEARCH_SHOW_MODE_SIMPLE && !in_array($row["dir_name"], $search_blocks_obj["default_target_module_arr"])) {
             continue;
         }
         $row["module_name"] = $this->_modulesView->loadModuleName($row["dir_name"]);
         if (isset($search_blocks_obj)) {
             if (isset($target_modules) && in_array($row["module_id"], $target_modules) || !isset($target_modules) && in_array($row["dir_name"], $search_blocks_obj["default_target_module_arr"])) {
                 $row["target_module_flag"] = true;
             } else {
                 $row["target_module_flag"] = false;
             }
         }
         $ret[] = $row;
     }
     return $ret;
 }
Exemplo n.º 2
0
 function _getSearchResults(&$recordSet)
 {
     $result = array();
     while ($row = $recordSet->fetchRow()) {
         $ret_row = array();
         if ($row["room_id"] == 0) {
             $ret_row["room_name"] = RESERVATION_NO_RESERVE_FLAG;
         } else {
             $ret_row["room_name"] = $row["page_name"];
         }
         $ret_row["pubDate"] = $row["start_time_full"];
         $ret_row["title_icon"] = $row["title_icon"];
         $ret_row["title"] = $row["title"];
         $ret_row["url"] = "?action=" . DEFAULT_ACTION . "&page_id=" . $this->_session->getParameter("_main_page_id") . "&active_center=reservation_view_main_init" . "&reserve_id=" . $row["reserve_id"];
         $ret_row["description"] = "";
         $ret_row["description"] .= sprintf(RESERVATION_WHATSNEW_LOCATION, $row["location_name"]);
         if (!empty($row["contact"])) {
             $ret_row["description"] .= sprintf(RESERVATION_WHATSNEW_CONTACT, $row["contact"]);
         }
         if (!empty($row["description"])) {
             $ret_row["description"] .= sprintf(RESERVATION_WHATSNEW_DESCRIPTION, $row["description"]);
         }
         $ret_row["user_id"] = $row["insert_user_id"];
         $ret_row["user_name"] = $row["insert_user_name"];
         $result[] = $ret_row;
     }
     return $result;
 }
Exemplo n.º 3
0
 /**
  * 投票権限を取得する
  *
  * @param	array	$post	記事ID、状態、投稿者ID、動作の配列
  * @return boolean	true:権限有り、false:権限無し
  * @access	public
  */
 function _hasVoteAuthority($post)
 {
     if ($post["status"] != BBS_STATUS_RELEASED_VALUE) {
         return false;
     }
     if ($post["activity"] != _ON) {
         return false;
     }
     if ($post["vote_flag"] != _ON) {
         return false;
     }
     $votes = $this->_session->getParameter("bbs_votes");
     if (!empty($votes) && in_array($post["post_id"], $votes)) {
         return false;
     }
     $userID = $this->_session->getParameter("_user_id");
     if (empty($userID)) {
         return true;
     }
     $params = array($userID, $post["post_id"]);
     $sql = "SELECT vote_flag " . "FROM {bbs_user_post} " . "WHERE user_id = ? " . "AND post_id = ?";
     $voteFlags = $this->_db->execute($sql, $params, null, null, false);
     if ($voteFlags === false) {
         $this->_db->addError();
         return false;
     }
     if (empty($voteFlags) || $voteFlags[0][0] != _ON) {
         return true;
     }
     return false;
 }
Exemplo n.º 4
0
 /**
  * conf_nameよりConfig情報取得
  *
  * @param   int      $conf_modid  モジュールID
  * @param   string   $conf_name   conf名
  * @return array
  * @access	public
  */
 function &getConfigByConfname($conf_modid, $conf_name)
 {
     if (!$this->isMultiLanguage) {
         $where_params = array("conf_modid" => $conf_modid, "conf_name" => $conf_name);
         $configs =& $this->_db->selectExecute("config", $where_params);
         if ($configs === false) {
             return $configs;
         }
     } else {
         $params = array($this->_session->getParameter('_lang'), $conf_modid, $conf_name);
         $sql = $this->_getConfigSQL() . "AND C.conf_name = ?";
         $configs = $this->_db->execute($sql, $params);
         if ($configs === false) {
             $this->_db->addError();
             return $configs;
         }
     }
     if (empty($configs)) {
         $configs = null;
         return $configs;
     }
     $config = $configs[0];
     if (isset($config['CLValue'])) {
         $config['conf_value'] = $config['CLValue'];
     }
     return $config;
 }
Exemplo n.º 5
0
 /**
  * コメント権限を取得する
  *
  * @return boolean	true:権限有り、false:権限無し
  * @access	public
  */
 function _hasCommentAuthority()
 {
     $authID = $this->_session->getParameter("_auth_id");
     if ($authID <= _AUTH_GUEST) {
         return false;
     }
     $album = $this->_request->getParameter("album");
     if ($album["comment_flag"] != _ON) {
         return false;
     }
     return true;
 }
Exemplo n.º 6
0
 /**
  * 編集権限チェック
  *
  * @access	public
  */
 function _hasEditAuthority(&$file)
 {
     $_user_id = $this->_session->getParameter("_user_id");
     $_auth_id = $this->_session->getParameter("_auth_id");
     $_hierarchy = $this->_session->getParameter("_hierarchy");
     if ($_auth_id >= _AUTH_CHIEF) {
         return true;
     }
     if ($file["file_type"] == CABINET_FILETYPE_FOLDER && $this->childExists($file["file_id"])) {
         return false;
     }
     $authCheck =& $this->_container->getComponent("authCheck");
     $file_hierarchy = $authCheck->getPageHierarchy($file["insert_user_id"], $this->_request->getParameter("room_id"));
     if ($file["insert_user_id"] == $_user_id || $_hierarchy > $file_hierarchy) {
         return true;
     } else {
         return false;
     }
 }
Exemplo n.º 7
0
 /**
  * 個人情報データを取得する
  *
  * @return array	個人情報データ配列
  * @access	public
  */
 function &getPersonalAssignments()
 {
     $ownUserID = $this->_session->getParameter("_user_id");
     $otherUserID = $this->_request->getParameter("user_id");
     $pagesView =& $this->_container->getComponent("pagesView");
     if ($ownUserID != $otherUserID) {
         $ownRoomIDs = $pagesView->getRoomIdByUserId($ownUserID);
         $otherRoomIDs = $pagesView->getRoomIdByUserId($otherUserID, _AUTH_GENERAL);
         $roomIDs = array_intersect($otherRoomIDs, $ownRoomIDs);
     } else {
         $roomIDs = $pagesView->getRoomIdByUserId($ownUserID, _AUTH_GENERAL);
     }
     if (empty($roomIDs)) {
         return $roomIDs;
     }
     $sql = "SELECT Assign.room_id, Assign.assignment_name, Assign.icon_name, " . "Assign.activity, Assign.period, Assign.grade_authority, " . "Assign.insert_time, Assign.insert_user_id, " . "Submitter.submit_flag, Submitter.grade_value, " . "Submitter.insert_user_id AS submit_user_id, Submitter.update_time AS submit_update_time," . "Page.page_name, AssignBlock.block_id" . " FROM {assignment_block} AssignBlock" . " INNER JOIN {blocks} Block ON (AssignBlock.block_id = Block.block_id)" . " INNER JOIN {assignment} Assign ON (AssignBlock.assignment_id = Assign.assignment_id)" . " INNER JOIN {pages} Page ON (Assign.room_id = Page.page_id)" . " LEFT JOIN {assignment_submitter} Submitter" . " ON (Assign.assignment_id = Submitter.assignment_id AND Submitter.insert_user_id = ?)" . " WHERE Assign.room_id IN (" . implode(",", $roomIDs) . ")" . " GROUP BY Assign.assignment_id" . " ORDER BY Assign.room_id, Assign.assignment_id DESC";
     $params = array("insert_user_id" => $otherUserID);
     $personalAssignments = $this->_db->execute($sql, $params, null, null, true, array($this, "_makePersonalAssignments"), $roomIDs);
     if ($personalAssignments === false) {
         $this->_db->addError();
         return $personalAssignments;
     }
     return $personalAssignments;
 }
Exemplo n.º 8
0
 /**
  * 新着情報の更新
  *
  * @access	public
  */
 function setWhatsnew()
 {
     //--新着情報関連 Start--
     $whatsnewAction =& $this->_container->getComponent("whatsnewAction");
     $user_id = $this->_session->getParameter("_user_id");
     $user_name = $this->_session->getParameter("_handle");
     $block_id = $this->_reservationView->getBlockIdByWhatsnew();
     $reserve_id = $this->_request->getParameter("reserve_id");
     $reserve = $this->_reservationView->getReserve($reserve_id);
     if ($reserve === false) {
         return false;
     }
     $location = $this->_request->getParameter("location");
     $result = $whatsnewAction->delete($reserve["reserve_details_id"]);
     if ($result === false) {
         return false;
     }
     $whatsnew_description = "";
     $whatsnew_description .= sprintf(RESERVATION_WHATSNEW_LOCATION, $location["location_name"]);
     if ($reserve["start_date_view"] == $reserve["end_date_view"]) {
         $whatsnew_description .= sprintf(RESERVATION_WHATSNEW_TIME_FMTO, $reserve["start_date_str"] . " " . $reserve["start_time_str"], $reserve["end_time_str"]);
     } else {
         $whatsnew_description .= sprintf(RESERVATION_WHATSNEW_TIME_FMTO, $reserve["start_date_str"] . " " . $reserve["start_time_str"], $reserve["end_date_str"] . " " . $reserve["end_time_str"]);
     }
     if (!empty($reserve["contact"])) {
         $whatsnew_description .= sprintf(RESERVATION_WHATSNEW_CONTACT, $reserve["contact"]);
     }
     if (!empty($reserve["description"])) {
         $whatsnew_description .= sprintf(RESERVATION_WHATSNEW_DESCRIPTION, $reserve["description"]);
     }
     if (!empty($reserve["rrule_str"])) {
         $whatsnew_description .= sprintf(RESERVATION_WHATSNEW_RRULE, $reserve["rrule_str"]);
     }
     $whatsnew = array("room_id" => $reserve["room_id"], "unique_id" => $reserve["reserve_details_id"], "title" => $reserve["title"] . " ", "description" => $whatsnew_description, "action_name" => "reservation_view_main_init", "parameters" => "reserve_details_id=" . $reserve["reserve_details_id"] . "&block_id=" . $block_id . "#_" . $block_id);
     $actionChain =& $this->_container->getComponent("ActionChain");
     $actionName = $actionChain->getCurActionName();
     if ($actionName == "reservation_action_main_reserve_modify") {
         $whatsnew["insert_time"] = $reserve["insert_time"];
         $whatsnew["insert_user_id"] = $reserve["insert_user_id"];
         $whatsnew["insert_user_name"] = $reserve["insert_user_name"];
     }
     if ($reserve["room_id"] == 0 && $location["allroom_flag"] == _OFF) {
         if ($location["use_private_flag"] == _ON) {
             $whatsnew["user_id"] = $user_id;
             $whatsnew["authority_id"] = _AUTH_ADMIN;
             $result = $whatsnewAction->insert($whatsnew, _ON);
             if ($result === false) {
                 return false;
             }
         }
         $whatsnew["authority_id"] = _AUTH_GUEST;
         $select_rooms = $this->_reservationView->getLocationRoom($location["location_id"]);
         if (empty($select_rooms)) {
             $select_rooms = array();
         }
         $whatsnew["user_id"] = 0;
         $whatsnew["room_id"] = $select_rooms;
     }
     $result = $whatsnewAction->insert($whatsnew, _ON);
     if ($result === false) {
         return false;
     }
     //--新着情報関連 End--
     return true;
 }
Exemplo n.º 9
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;
 }
Exemplo n.º 10
0
 /**
  * 新着情報の変更
  *
  * @access	public
  */
 function update(&$whatsnew, $noblock = 0)
 {
     $module_whatsnew =& $this->_modulesView->getModuleByDirname("whatsnew");
     if (!$module_whatsnew) {
         return true;
     }
     $site_id = $this->_session->getParameter("_site_id");
     $user_id = $this->_session->getParameter("_user_id");
     $user_name = $this->_session->getParameter("_handle");
     if (!isset($user_name)) {
         $user_name = "";
     }
     if (!isset($whatsnew["update_user_id"])) {
         $whatsnew["update_user_id"] = $user_id;
     }
     if (!isset($whatsnew["update_user_name"])) {
         $whatsnew["update_user_name"] = $user_name;
     }
     $default = array_merge(array(), $whatsnew);
     $result = $this->_default($default, $noblock);
     if ($result === false) {
         return false;
     }
     $params = array();
     $params["room_id"] = 0;
     if (!empty($whatsnew["module_id"])) {
         $params["module_id"] = $whatsnew["module_id"];
     }
     if (!empty($whatsnew["user_id"])) {
         $params["user_id"] = $whatsnew["user_id"];
     }
     if (!empty($whatsnew["authority_id"])) {
         $params["authority_id"] = $whatsnew["authority_id"];
     }
     if (isset($whatsnew["title"])) {
         if (!empty($whatsnew["title"])) {
             $params["title"] = $default["title"];
         } elseif (!empty($whatsnew["description"])) {
             $params["title"] = mb_substr($default["description"], 0, _SEARCH_SUBJECT_LEN, INTERNAL_CODE);
         } else {
             $params["title"] = _SEARCH_SUBJECT_NONEXISTS;
         }
     }
     if (isset($whatsnew["description"])) {
         $params["description"] = $default["description"];
     }
     if (isset($whatsnew["action_name"])) {
         $params["action_name"] = $default["action_name"];
     }
     if (isset($whatsnew["parameters"])) {
         $params["parameters"] = $default["parameters"];
     }
     if (isset($whatsnew["count_num"])) {
         $params["count_num"] = $whatsnew["count_num"];
     }
     if (isset($whatsnew["insert_time"])) {
         $params["insert_time"] = $whatsnew["insert_time"];
     }
     if (isset($whatsnew["insert_user_id"])) {
         $params["insert_user_id"] = $whatsnew["insert_user_id"];
     }
     if (isset($whatsnew["insert_user_name"])) {
         $params["insert_user_name"] = $whatsnew["insert_user_name"];
     }
     if (isset($default["child_update_time"])) {
         $params["child_update_time"] = $default["child_update_time"];
     }
     $params["update_time"] = $default["update_time"];
     $params["update_site_id"] = $site_id;
     $params["update_user_id"] = $default["update_user_id"];
     $params["update_user_name"] = $default["update_user_name"];
     if (isset($whatsnew["room_id"]) && is_array($whatsnew["room_id"])) {
         foreach ($whatsnew["room_id"] as $i => $room_id) {
             $params["room_id"] = $room_id;
             $result = $this->_db->updateExecute("whatsnew", $params, array("module_id" => $this->_request->getParameter("module_id"), "unique_id" => $whatsnew["unique_id"]));
             if ($result === false) {
                 return false;
             }
         }
     } else {
         if (!isset($whatsnew["room_id"])) {
             $whatsnew["room_id"] = $this->_request->getParameter("room_id");
         }
         $params["room_id"] = $whatsnew["room_id"];
         $result = $this->_db->updateExecute("whatsnew", $params, array("module_id" => $this->_request->getParameter("module_id"), "unique_id" => $whatsnew["unique_id"]));
         if ($result === false) {
             return false;
         }
     }
     return $this->_deletePeriod($this->_request->getParameter("module_id"), $whatsnew["room_id"]);
 }