/** * ルーム指定 * * @access public */ function setSelectRoom() { $block_id = $this->_request->getParameter("block_id"); $select_room = intval($this->_request->getParameter("select_room")); if ($select_room == _ON) { $not_enroll_room = $this->_session->getParameter(array("calendar", "not_enroll_room", $block_id)); $enroll_room = $this->_session->getParameter(array("calendar", "enroll_room", $block_id)); if (!isset($not_enroll_room) && !isset($enroll_room)) { $enroll_room = array($this->_session->getParameter("_main_room_id")); } $calendar_block = $this->_calendarView->getBlock(); if (!$calendar_block) { return false; } if (!empty($calendar_block["select_room_list"]) && !empty($not_enroll_room)) { foreach ($not_enroll_room as $i => $room_id) { if (in_array($room_id, $calendar_block["select_room_list"])) { $params = array("block_id" => $block_id, "room_id" => $room_id); $result = $this->_db->deleteExecute("calendar_select_room", $params); if (!$result) { return false; } } } } if (!empty($enroll_room)) { foreach ($enroll_room as $i => $room_id) { if (empty($calendar_block["select_room_list"]) || !in_array($room_id, $calendar_block["select_room_list"])) { $params = array("block_id" => $block_id, "room_id" => $room_id); $result = $this->_db->insertExecute("calendar_select_room", $params); if (!$result) { return false; } } } } } else { $params = array("block_id" => $block_id); $result = $this->_db->deleteExecute("calendar_select_room", $params); if (!$result) { return false; } } return true; }
/** * ルーム選択の配列生成 * * @access public */ function &getSelectRoomList() { $calendarView =& $this->_container->getComponent("calendarView"); $calendar_block = $calendarView->getBlock(); if ($calendar_block === false) { return $calendar_block; } $sess_myroom_flag = $this->_session->getParameter(array("calendar", "myroom_flag", $calendar_block["block_id"])); if (isset($sess_myroom_flag)) { $calendar_block["myroom_flag"] = intval($sess_myroom_flag); } $user_id = $this->_session->getParameter("_user_id"); $room_arr = $this->_request->getParameter("room_arr"); if (!empty($user_id)) { $room_arr[0][0][0] = array("page_id" => CALENDAR_ALL_MEMBERS_ID, "parent_id" => 0, "page_name" => CALENDAR_ALL_MEMBERS_LANG, "thread_num" => 0, "space_type" => _SPACE_TYPE_UNDEFINED, "private_flag" => _OFF, "authority_id" => $this->_session->getParameter("_user_auth_id")); } $thread_num = 0; $parent_id = 0; $getdata =& $this->_container->getComponent("GetData"); $pages = $getdata->getParameter("pages"); $actionChain =& $this->_container->getComponent("ActionChain"); $result_params = array("enroll_room_arr" => array(), "not_enroll_room_arr" => array(), "room_arr" => $room_arr, "calendar_block" => $calendar_block, "private_room_id_arr" => array(), "action_name" => $actionChain->getCurActionName()); $sess_enroll_room = $this->_session->getParameter(array("calendar", "enroll_room", $calendar_block["block_id"])); foreach ($result_params["room_arr"][$thread_num][$parent_id] as $disp => $room) { if ($room["space_type"] == _SPACE_TYPE_GROUP && $room["private_flag"] == _ON) { if ($result_params["calendar_block"]["myroom_flag"] == _ON) { $result_params["calendar_block"]["select_room_list"][] = $room["page_id"]; } if ($result_params["calendar_block"]["myroom_flag"] == _ON && strpos(strtolower($result_params["action_name"]), "calendar_view_main") !== false) { $result_params["enroll_room_arr"][] = $room; } continue; } if (!isset($sess_enroll_room) && in_array($room["page_id"], $result_params["calendar_block"]["select_room_list"]) || !empty($sess_enroll_room) && in_array($room["page_id"], $sess_enroll_room)) { $result_params["enroll_room_arr"][] = $room; } else { $result_params["not_enroll_room_arr"][] = $room; } $this->_makeRoomArray($result_params, 1, $room["page_id"], $room); } $this->_request->setParameter("calendar_block", $result_params["calendar_block"]); $result = array("enroll_room_arr" => $result_params["enroll_room_arr"], "not_enroll_room_arr" => $result_params["not_enroll_room_arr"]); return $result; }