Ejemplo n.º 1
0
 /**
  * ルーム指定
  *
  * @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;
 }
Ejemplo n.º 2
0
 /**
  * ルーム選択の配列生成
  *
  * @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;
 }