/**
  * キャビネットを登録する
  *
  * @return boolean	true or false
  * @access	public
  */
 function setCabinet()
 {
     $getdata =& $this->_container->getComponent("GetData");
     $pages = $getdata->getParameter("pages");
     $page_id = $this->_request->getParameter("page_id");
     $private_flag = $pages[$page_id]["private_flag"];
     if ($private_flag == _ON) {
         $params = array("cabinet_name" => $this->_request->getParameter("cabinet_name"), "add_authority_id" => intval($this->_request->getParameter("add_authority")));
     } else {
         $params = array("cabinet_name" => $this->_request->getParameter("cabinet_name"), "add_authority_id" => intval($this->_request->getParameter("add_authority")), "upload_max_size" => intval($this->_request->getParameter("upload_max_size")));
     }
     $actionChain =& $this->_container->getComponent("ActionChain");
     $actionName = $actionChain->getCurActionName();
     if ($actionName == "cabinet_action_edit_create") {
         $default = $this->_cabinetView->getDefaultCabinet();
         $params = array_merge($default, $params);
         $result = $this->_db->insertExecute("cabinet_manage", $params, true, "cabinet_id");
     } else {
         $cabinet_id = $this->_request->getParameter("cabinet_id");
         $result = $this->_db->updateExecute("cabinet_manage", $params, array("cabinet_id" => $cabinet_id), true);
     }
     if (!$result) {
         return false;
     }
     if (empty($cabinet_id)) {
         $this->_request->setParameter("cabinet_id", $result);
         if (!$this->setBlock()) {
             return false;
         }
     }
     return true;
 }
 /**
  * 受信情報に、フイルタ応用する
  *
  * @return boolean	true or false
  * @access	public
  */
 function applyReceiverFiltering($receiver_user_id, $receiver_user_name, $receiver_auth_id, $receiver_id, $sender_id, $subject, $body)
 {
     $this->_request->setParameter("insert_user_id", $receiver_user_id);
     $filters = $this->_pmView->getFiltersInfoByInsertUserId();
     $options = array("receiver_user_id" => $receiver_user_id, "receiver_user_name" => $receiver_user_name, "receiver_auth_id" => $receiver_auth_id);
     $result = array();
     if (is_array($filters) && sizeof($filters) > 0) {
         $receivers = array($receiver_id);
         foreach ($filters as $filter) {
             if ($this->_checkFilterMatched($sender_id, $subject, $body, $filter)) {
                 for ($i = 0; $i < sizeof($filter["actions"]); $i++) {
                     $handle_func = $filter["actions"][$i]["func"];
                     $ret = $this->_pmFilterOperation->{$handle_func}($receivers, $filter["actions"][$i]["param"], $options);
                     if (is_array($ret)) {
                         $result = array_merge($result, $ret);
                     }
                 }
             }
         }
     }
     if (sizeof($result) > 0) {
         return $result;
     } else {
         return true;
     }
 }
 /**
  * コメントデータ削除処理
  *
  * @return boolean
  * @access public
  */
 function deleteComment()
 {
     $params = array("comment_id" => $this->_request->getParameter("comment_id"));
     $result = $this->_db->deleteExecute("assignment_comment", $params);
     if ($result === false) {
         return false;
     }
     $this->_request->setParameter("comment_id", null);
     return true;
 }
 /**
  * リンクリスト用ブロックデータを登録する
  *
  * @return boolean	true or false
  * @access	public
  */
 function setBlock()
 {
     $blockID = $this->_request->getParameter("block_id");
     $params = array($blockID);
     $sql = "SELECT block_id " . "FROM {linklist_block} " . "WHERE block_id = ?";
     $blockIDs = $this->_db->execute($sql, $params);
     if ($blockIDs === false) {
         $this->_db->addError();
         return false;
     }
     $params = array("block_id" => $blockID, "linklist_id" => $this->_request->getParameter("linklist_id"));
     $container =& DIContainerFactory::getContainer();
     $actionChain =& $container->getComponent("ActionChain");
     $actionName = $actionChain->getCurActionName();
     if (!empty($blockIDs) && $actionName == "linklist_action_edit_current") {
         if (!$this->_db->updateExecute("linklist_block", $params, "block_id", true)) {
             return false;
         }
         return true;
     }
     if ($actionName == "linklist_action_edit_current") {
         $linklistView =& $container->getComponent("linklistView");
         $linklist = $linklistView->getDefaultLinklist();
     }
     if ($actionName == "linklist_action_edit_entry") {
         $linklist = $this->_request->getParameter("linklist");
     }
     if (!empty($linklist)) {
         $this->_request->setParameter("display", $linklist["display"]);
         $this->_request->setParameter("target_blank_flag", $linklist["target_blank_flag"]);
         $this->_request->setParameter("view_count_flag", $linklist["view_count_flag"]);
         $this->_request->setParameter("line", $linklist["line"]);
         $this->_request->setParameter("mark", $linklist["mark"]);
     } else {
         $display = intval($this->_request->getParameter("display"));
         if ($display == LINKLIST_DISPLAY_LIST && $this->_request->getParameter("display_description") == _ON) {
             $display = LINKLIST_DISPLAY_DESCRIPTION;
         }
         $this->_request->setParameter("display", $display);
     }
     $params["display"] = intval($this->_request->getParameter("display"));
     $params["target_blank_flag"] = intval($this->_request->getParameter("target_blank_flag"));
     $params["view_count_flag"] = intval($this->_request->getParameter("view_count_flag"));
     $params["line"] = $this->_request->getParameter("line");
     $params["mark"] = $this->_request->getParameter("mark");
     if (!empty($blockIDs)) {
         $result = $this->_db->updateExecute("linklist_block", $params, "block_id", true);
     } else {
         $result = $this->_db->insertExecute("linklist_block", $params, true);
     }
     if (!$result) {
         return false;
     }
     return true;
 }
 /**
  * 入力項目データを登録する
  *
  * @return boolean	true or false
  * @access	public
  */
 function setData()
 {
     $registrationID = $this->_request->getParameter("registration_id");
     $params = array("registration_id" => $registrationID);
     $dataID = $this->_db->insertExecute("registration_data", $params, true, "data_id");
     if (empty($dataID)) {
         return false;
     }
     $this->_request->setParameter('dataID', $dataID);
     $container =& DIContainerFactory::getContainer();
     $commonMain =& $container->getComponent("commonMain");
     $uploadsAction =& $commonMain->registerClass(WEBAPP_DIR . '/components/uploads/Action.class.php', "Uploads_Action", "uploadsAction");
     $session =& $container->getComponent("Session");
     $entryDatas =& $session->getParameter("registration_entry_datas" . $this->_request->getParameter("block_id"));
     foreach ($entryDatas as $entryData) {
         $itemID = $entryData["item_id"];
         if ($entryData["item_type"] == REGISTRATION_TYPE_FILE) {
             if (!empty($entryData["item_data_value"]["upload_id"])) {
                 $uploadID = $entryData["item_data_value"]["upload_id"];
                 $itemDataValue = "?" . ACTION_KEY . "=" . $entryData["item_data_value"]["action_name"] . "&upload_id=" . $uploadID;
                 if (!$uploadsAction->updGarbageFlag($uploadID)) {
                     return false;
                 }
             } else {
                 $itemDataValue = "";
             }
         } elseif ($entryData["item_type"] == REGISTRATION_TYPE_CHECKBOX && is_array($entryData["item_data_value"])) {
             $itemDataValue = implode(REGISTRATION_OPTION_SEPARATOR, $entryData["item_data_value"]);
         } elseif ($entryData["item_type"] == REGISTRATION_TYPE_EMAIL) {
             $itemDataValue = $entryData["item_data_value"]["first"];
         } else {
             $itemDataValue = $entryData["item_data_value"];
         }
         $params = array("registration_id" => $registrationID, "item_id" => $entryData["item_id"], "data_id" => $dataID, "item_data_value" => $itemDataValue);
         $itemDataID = $this->_db->insertExecute("registration_item_data", $params, true, "item_data_id");
         if (empty($itemDataID)) {
             return false;
         }
         if ($entryData["item_type"] != REGISTRATION_TYPE_FILE || empty($entryData["item_data_value"]["upload_id"])) {
             continue;
         }
         $params = array("item_data_id" => $itemDataID, "upload_id" => $entryData["item_data_value"]["upload_id"], "file_name" => $entryData["item_data_value"]["file_name"], "room_id" => $this->_request->getParameter("room_id"));
         if (!$this->_db->insertExecute("registration_file", $params)) {
             return false;
         }
     }
     $registration = $this->_request->getParameter("registration");
     if ($registration["mail_send"] == _ON) {
         $session->setParameter("registration_mail_data_id", $dataID);
     }
     return true;
 }
Example #6
0
 /**
  * CSVデータを作成する
  *
  * @return boolean	true:正常、false:異常
  * @access	public
  */
 function setCSV()
 {
     $questions = $this->getQuestions();
     if ($questions === false) {
         return false;
     }
     $this->_request->setParameter("chiefItemShow", true);
     $summaries = $this->getSummaries();
     if ($summaries === false) {
         return false;
     }
     $params = array($this->_request->getParameter("questionnaire_id"));
     $sql = $this->_getAnswerSQL("questionnaire_id");
     $result = $this->_db->execute($sql, $params, null, null, true, array($this, "_makeCSV"), array($questions, $summaries));
     if ($result === false) {
         $this->_db->addError();
         return false;
     }
     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 setPost()
 {
     // --- 記事テーブルに登録 ---
     $params = array("bbs_id" => $this->_request->getParameter("bbs_id"), "subject" => $this->_request->getParameter("subject"));
     $container =& DIContainerFactory::getContainer();
     $session =& $container->getComponent("Session");
     $mobile_flag = $session->getParameter('_mobile_flag');
     if ($mobile_flag == _OFF) {
         $params['icon_name'] = $this->_request->getParameter('icon_name');
     }
     $container =& DIContainerFactory::getContainer();
     $bbsView =& $container->getComponent("bbsView");
     $postID = $this->_request->getParameter("post_id");
     $bbs = $this->_request->getParameter("bbs");
     $insertFlag = false;
     if (empty($postID)) {
         $postID = $this->_db->nextSeq("bbs_post");
         $parentID = $this->_request->getParameter("parent_id");
         if (empty($parentID)) {
             $params["topic_id"] = $postID;
             $params["parent_id"] = 0;
         } else {
             $params["parent_id"] = $parentID;
             $params["topic_id"] = $bbsView->getTopicID($parentID);
             if ($params["topic_id"] === false) {
                 return false;
             }
         }
         $insertFlag = true;
         $this->_request->setParameter("post_id", $postID);
     } else {
         $params["topic_id"] = $bbsView->getTopicID($postID);
     }
     $params["post_id"] = $postID;
     $temporary = intval($this->_request->getParameter("temporary"));
     if (!$insertFlag) {
         $post = $this->_request->getParameter("post");
         if (empty($post)) {
             return false;
         }
         if ($temporary == _ON && $post["status"] != BBS_STATUS_BEFORE_RELEASED_VALUE) {
             $params["status"] = BBS_STATUS_TEMPORARY_VALUE;
         }
     }
     if (!isset($params["status"])) {
         if ($temporary == _ON) {
             $params["status"] = BBS_STATUS_BEFORE_RELEASED_VALUE;
         } else {
             $params["status"] = BBS_STATUS_RELEASED_VALUE;
         }
     }
     $body = $this->_request->getParameter("body");
     if ($mobile_flag == _ON) {
         $mobile_images = $this->_request->getParameter('bbs_mobile_images');
         $current_mobile_image = $session->getParameter('bbs_current_mobile_image');
         $br = '';
         if (substr(rtrim($body), -6) != '<br />') {
             $br = '<br />';
         }
         if (!empty($mobile_images)) {
             foreach ($mobile_images as $image) {
                 $body .= $br . $image;
             }
         } elseif (!empty($current_mobile_image)) {
             $body .= $br . $current_mobile_image;
         }
     }
     $params["contained_sign"] = $this->getContainedSignString($body);
     if ($insertFlag) {
         $result = $this->_db->insertExecute("bbs_post", $params, true);
     } else {
         if ($params["status"] == BBS_STATUS_RELEASED_VALUE && $post["status"] == BBS_STATUS_BEFORE_RELEASED_VALUE) {
             $params["insert_time"] = timezone_date();
             $post["insert_time"] = $params["insert_time"];
         }
         $result = $this->_db->updateExecute("bbs_post", $params, "post_id", true);
     }
     if ($result === false) {
         return false;
     }
     // --- 本文テーブルに登録 ---
     $status = $params["status"];
     $topicID = $params["topic_id"];
     $subject = $params["subject"];
     $room_id = $this->_request->getParameter("room_id");
     $params = array("post_id" => $postID, "body" => $body, "room_id" => $room_id);
     if ($insertFlag) {
         $result = $this->_db->insertExecute("bbs_post_body", $params);
     } else {
         $result = $this->_db->updateExecute("bbs_post_body", $params, "post_id");
     }
     if ($result === false) {
         return false;
     }
     // --- 根記事テーブルに登録 ---
     $child_flag = $topicID == $postID ? _OFF : _ON;
     if ($topicID == $postID && $insertFlag) {
         $params = array("topic_id" => $postID, "newest_time" => timezone_date(), "child_num" => "0", "room_id" => $room_id);
         $result = $this->_db->insertExecute("bbs_topic", $params);
     } else {
         $countSQL = "";
         if ($topicID != $postID) {
             $count = 0;
             if ($status == BBS_STATUS_TEMPORARY_VALUE && $post["status"] == BBS_STATUS_RELEASED_VALUE) {
                 $count = -1;
             } elseif ($status == BBS_STATUS_RELEASED_VALUE && (!isset($post) || $post["status"] != BBS_STATUS_RELEASED_VALUE)) {
                 $count = 1;
             }
             $countSQL = ", child_num = child_num + (" . $count . ") ";
         }
         $params = array(timezone_date(), $topicID);
         $sql = "UPDATE {bbs_topic} " . "SET newest_time = ? " . $countSQL . "WHERE topic_id = ?";
         $result = $this->_db->execute($sql, $params);
     }
     if ($result === false) {
         return false;
     }
     // --- メール送信データ登録 ---
     if ($bbs["mail_send"] == _ON && $status == BBS_STATUS_RELEASED_VALUE && ($insertFlag || $post["status"] == BBS_STATUS_BEFORE_RELEASED_VALUE)) {
         $session->setParameter("bbs_mail_post_id", $postID);
     }
     //--URL短縮形関連 Start--
     if ($insertFlag) {
         $container =& DIContainerFactory::getContainer();
         $abbreviateurlAction =& $container->getComponent("abbreviateurlAction");
         $result = $abbreviateurlAction->setAbbreviateUrl($this->_request->getParameter("bbs_id"), $postID);
         if ($result === false) {
             return false;
         }
     }
     //--URL短縮形関連 End--
     //--新着情報関連 Start--
     $whatsnewAction =& $container->getComponent("whatsnewAction");
     if ($temporary != _ON) {
         $whatsnew = array("unique_id" => $postID, "title" => $subject, "description" => $body, "action_name" => "bbs_view_main_post", "parameters" => "post_id=" . $postID, "child_flag" => $child_flag);
         if (!empty($post)) {
             $whatsnew["insert_time"] = $post["insert_time"];
             $whatsnew["insert_user_id"] = $post["insert_user_id"];
             $whatsnew["insert_user_name"] = $post["insert_user_name"];
         }
         $result = $whatsnewAction->auto($whatsnew);
     } else {
         $result = $whatsnewAction->delete($postID);
     }
     if ($result === false) {
         return false;
     }
     //--新着情報関連 End--
     // --- 投稿回数更新 ---
     if ($status == BBS_STATUS_RELEASED_VALUE && ($insertFlag || $post["status"] == BBS_STATUS_BEFORE_RELEASED_VALUE)) {
         $monthlynumberAction =& $container->getComponent("monthlynumberAction");
         if ($insertFlag) {
             $params = array("user_id" => $session->getParameter("_user_id"));
         } else {
             $params = array("user_id" => $post["insert_user_id"]);
         }
         if (!$monthlynumberAction->incrementMonthlynumber($params)) {
             return false;
         }
     }
     $session->removeParameter('bbs_current_mobile_image');
     if (!$insertFlag) {
         return true;
     }
     // --- 既読、投票テーブルに登録 ---
     if (!$this->read($postID)) {
         return false;
     }
     return true;
 }
 /**
  * フォトアルバム用ブロックデータを登録する
  *
  * @return boolean	true or false
  * @access	public
  */
 function setBlock()
 {
     $blockID = $this->_request->getParameter("block_id");
     $params = array($blockID);
     $sql = "SELECT block_id " . "FROM {photoalbum_block} " . "WHERE block_id = ?";
     $blockIDs = $this->_db->execute($sql, $params);
     if ($blockIDs === false) {
         $this->_db->addError();
         return false;
     }
     $params = array("block_id" => $blockID, "photoalbum_id" => $this->_request->getParameter("photoalbum_id"));
     $container =& DIContainerFactory::getContainer();
     $actionChain =& $container->getComponent("ActionChain");
     $actionName = $actionChain->getCurActionName();
     if (!empty($blockIDs) && $actionName == "photoalbum_action_edit_current") {
         if (!$this->_db->updateExecute("photoalbum_block", $params, "block_id", true)) {
             return false;
         }
         return true;
     }
     if ($actionName == "photoalbum_action_edit_current") {
         $photoalbumView =& $container->getComponent("photoalbumView");
         $photoalbum = $photoalbumView->getDefaultPhotoalbum();
     }
     if ($actionName == "photoalbum_action_edit_entry") {
         $this->_request->setParameter("photoalbum_id", null);
         $photoalbum = $this->_request->getParameter("photoalbum");
     }
     if (!empty($photoalbum)) {
         $this->_request->setParameter("display", $photoalbum["display"]);
         $this->_request->setParameter("slide_type", $photoalbum["slide_type"]);
         $this->_request->setParameter("slide_time", $photoalbum["slide_time"]);
         $this->_request->setParameter("size_flag", $photoalbum["size_flag"]);
         $this->_request->setParameter("width", $photoalbum["width"]);
         $this->_request->setParameter("height", $photoalbum["height"]);
         $this->_request->setParameter("album_visible_row", $photoalbum["album_visible_row"]);
     }
     $params["display"] = intval($this->_request->getParameter("display"));
     $params["slide_type"] = intval($this->_request->getParameter("slide_type"));
     $params["slide_time"] = intval($this->_request->getParameter("slide_time"));
     $params["size_flag"] = intval($this->_request->getParameter("size_flag"));
     $params["album_visible_row"] = intval($this->_request->getParameter("album_visible_row"));
     if ($params["display"] == PHOTOALBUM_DISPLAY_SLIDE) {
         $params["display_album_id"] = intval($this->_request->getParameter("display_album_id"));
     } else {
         $params["display_album_id"] = 0;
     }
     if ($params["size_flag"] == _ON || empty($blockIDs)) {
         $params["width"] = intval($this->_request->getParameter("width"));
         $params["height"] = intval($this->_request->getParameter("height"));
     }
     if (!empty($blockIDs)) {
         $result = $this->_db->updateExecute("photoalbum_block", $params, "block_id", true);
     } else {
         $result = $this->_db->insertExecute("photoalbum_block", $params, true);
     }
     if (!$result) {
         return false;
     }
     $session =& $container->getComponent("Session");
     $session->removeParameter("photoalbum_visible_row" . $blockID);
     return true;
 }
Example #10
0
 /**
  * アンケートデータを登録する
  *
  * @return	boolean	true or false
  * @access	public
  */
 function setQuestionnaire()
 {
     $questionnaireType = intval($this->_request->getParameter("questionnaire_type"));
     if ($questionnaireType == QUESTIONNAIRE_TYPE_SEQUENCE_VALUE && $this->_request->getParameter("questionnaire_type_random") == _ON) {
         $questionnaireType = QUESTIONNAIRE_TYPE_RANDOM_VALUE;
     }
     $this->_request->setParameter("questionnaire_type", $questionnaireType);
     $container =& DIContainerFactory::getContainer();
     $session =& $container->getComponent("Session");
     $page = $session->getParameter('_main_room_page');
     if ($session->getParameter("_space_type") != _SPACE_TYPE_PUBLIC && ($page['private_flag'] == _OFF || $page['default_entry_flag'] == _OFF)) {
         $this->_request->setParameter("nonmember_flag", _OFF);
     } else {
         if ($this->_request->getParameter("nonmember_flag") == _ON) {
             $this->_request->setParameter("repeat_flag", _ON);
         }
     }
     if (!function_exists("gd_info") || $session->getParameter("_space_type") != _SPACE_TYPE_PUBLIC && ($page['private_flag'] == _OFF || $page['default_entry_flag'] == _OFF)) {
         $this->_request->setParameter("image_authentication", _OFF);
     }
     if ($this->_request->getParameter("anonymity_flag") == _ON) {
         $this->_request->setParameter("mail_send", _OFF);
     }
     $params = array("image_authentication" => intval($this->_request->getParameter("image_authentication")), 'keypass_use_flag' => intval($this->_request->getParameter('keypass_use_flag')), 'keypass_phrase' => $this->_request->getParameter('keypass_phrase'), "total_flag" => intval($this->_request->getParameter("total_flag")), "answer_show_flag" => intval($this->_request->getParameter("answer_show_flag")), "mail_send" => intval($this->_request->getParameter("mail_send")), "mail_subject" => $this->_request->getParameter("mail_subject"), "mail_body" => $this->_request->getParameter("mail_body"));
     $questionnaire = $this->_request->getParameter("questionnaire");
     if (empty($questionnaire) || $questionnaire["status"] == QUESTIONNAIRE_STATUS_INACTIVE_VALUE) {
         $params["questionnaire_name"] = $this->_request->getParameter("questionnaire_name");
         $params["icon_name"] = $this->_request->getParameter("icon_name");
         $params["questionnaire_type"] = $this->_request->getParameter("questionnaire_type");
         $params["nonmember_flag"] = intval($this->_request->getParameter("nonmember_flag"));
         $params["anonymity_flag"] = intval($this->_request->getParameter("anonymity_flag"));
         $params["repeat_flag"] = intval($this->_request->getParameter("repeat_flag"));
     }
     if ($questionnaire["status"] != QUESTIONNAIRE_STATUS_END_VALUE) {
         $params["period"] = $this->_request->getParameter("period");
     }
     $questionnaireID = $this->_request->getParameter("questionnaire_id");
     if (empty($questionnaireID)) {
         $params["room_id"] = $this->_request->getParameter("room_id");
         $params["status"] = QUESTIONNAIRE_STATUS_INACTIVE_VALUE;
         $result = $this->_db->insertExecute("questionnaire", $params, true, "questionnaire_id");
     } else {
         $params["questionnaire_id"] = $questionnaireID;
         $result = $this->_db->updateExecute("questionnaire", $params, "questionnaire_id", true);
     }
     if (!$result) {
         return false;
     }
     if (!empty($questionnaireID)) {
         return true;
     }
     $questionnaireID = $result;
     $this->_request->setParameter("questionnaire_id", $questionnaireID);
     if ($this->_request->getParameter("old_use") != _ON) {
         return true;
     }
     $params = array($this->_request->getParameter("old_questionnaire_id"));
     $sql = "SELECT question_id, question_sequence, question_value, question_type, " . "require_flag, description " . "FROM {questionnaire_question} " . "WHERE questionnaire_id = ? " . "ORDER BY question_id";
     $questions = $this->_db->execute($sql, $params);
     if ($questions === false) {
         $this->_db->addError();
         return false;
     }
     $sql = "SELECT question_id, choice_sequence, choice_value, graph " . "FROM {questionnaire_choice} " . "WHERE questionnaire_id = ? " . "ORDER BY question_id, choice_sequence";
     $choices = $this->_db->execute($sql, $params);
     if ($choices === false) {
         $this->_db->addError();
         return false;
     }
     foreach ($questions as $question) {
         $oldQuestionID = $question["question_id"];
         unset($question["question_id"]);
         $question["questionnaire_id"] = $questionnaireID;
         $questionID = $this->_db->insertExecute("questionnaire_question", $question, true, "question_id");
         if (!$questionID) {
             return false;
         }
         reset($choices);
         $index = key($choices);
         foreach ($choices as $choice) {
             if ($choice["question_id"] != $oldQuestionID) {
                 break;
             }
             $choice["question_id"] = $questionID;
             $choice["questionnaire_id"] = $questionnaireID;
             if (!$this->_db->insertExecute("questionnaire_choice", $choice, true, "choice_id")) {
                 return false;
             }
             unset($choices[$index]);
             $index++;
         }
     }
     return true;
 }
Example #11
0
 /**
  * タスクデータを登録する
  *
  * @return boolean	true or false
  * @access	public
  */
 function setTask()
 {
     $taskID = $this->_request->getParameter("task_id");
     $todoID = $this->_request->getParameter("todo_id");
     $priority = $this->_request->getParameter("priority");
     $state = $this->_request->getParameter("state");
     $period = $this->_request->getParameter("period");
     $task_value = $this->_request->getParameter("task_value");
     $progress = $this->_request->getParameter("progress");
     $category_id = $this->_request->getParameter("category_id");
     if ($state == _ON) {
         $progress = '100';
     }
     if ($progress == '100') {
         $state = _ON;
     } else {
         $state = _OFF;
     }
     $whatsnewFlag = false;
     $calendarFlag = false;
     $session =& $this->_container->getComponent("Session");
     if (empty($taskID)) {
         $params = array($todoID);
         $sql = "SELECT MAX(task_sequence) " . "FROM {todo_task} " . "WHERE todo_id = ?";
         $sequences = $this->_db->execute($sql, $params, null, null, false);
         if ($sequences === false) {
             $this->_db->addError();
             return false;
         }
         $params = array("todo_id" => $todoID, "task_sequence" => $sequences[0][0] + 1, "priority" => intval($priority), "state" => intval($state), "period" => $period, "progress" => intval($progress), "category_id" => intval($category_id), "task_value" => $task_value);
         $result = $this->_db->insertExecute("todo_task", $params, true, "task_id");
         $whatsnewFlag = true;
         $calendarFlag = true;
     } else {
         $params = array("task_id" => $taskID);
         if (isset($priority)) {
             $params["priority"] = intval($priority);
         }
         if (isset($state) || $session->getParameter("_mobile_flag") == _ON) {
             $params["state"] = intval($state);
         }
         if (isset($period)) {
             $params["period"] = $period;
         }
         if (isset($progress)) {
             $params["progress"] = intval($progress);
         }
         if (isset($category_id)) {
             $params["category_id"] = intval($category_id);
         }
         if (isset($task_value)) {
             $params["task_value"] = $task_value;
             $whatsnewFlag = true;
             $calendarFlag = true;
         }
         $result = $this->_db->updateExecute("todo_task", $params, "task_id", true);
     }
     if (!$result) {
         return false;
     }
     $insertFlag = false;
     if (empty($taskID)) {
         $taskID = $result;
         $this->_request->setParameter("task_id", $taskID);
         $insertFlag = true;
     }
     if ($session->getParameter("_mobile_flag") == _ON) {
         $this->_request->setParameter("target_state", intval($state));
     }
     // -- 新着情報関連 Start --
     if ($whatsnewFlag) {
         $whatsnewAction =& $this->_container->getComponent("whatsnewAction");
         $todo = $this->_request->getParameter("todo");
         $value = $todo["todo_name"] . _SEARCH_SUBJECT_SEPARATOR . $task_value;
         $whatsnew = array("unique_id" => $taskID, "title" => $value, "description" => $value, "action_name" => "todo_view_main_init", "parameters" => "todo_id=" . $todo["todo_id"]);
         if ($insertFlag) {
             $result = $whatsnewAction->insert($whatsnew);
         } else {
             $result = $whatsnewAction->update($whatsnew);
         }
         if ($result === false) {
             return false;
         }
     }
     // -- 新着情報関連 End --
     // -- カレンダ情報関連 Start --
     if ($calendarFlag) {
         $task = $this->_request->getParameter("task");
         $calendarAction =& $this->_container->getComponent("calendarAction");
         $calendar = $this->_request->getParameter("calendar");
         if ($calendar == _ON) {
             $params = array("room_id" => $this->_request->getParameter("room_id"));
             if (!empty($task["task_value"])) {
                 $params["title"] = $task["task_value"];
             }
             if (isset($task_value)) {
                 $params["title"] = $task_value;
             }
             if (isset($period)) {
                 $params["start_time_full"] = date("YmdHis", mktime(intval(substr($period, 8, 2)), intval(substr($period, 10, 2)), intval(substr($period, 12, 2)), intval(substr($period, 4, 2)), intval(substr($period, 6, 2)) - 1, intval(substr($period, 0, 4))));
                 $params["end_time_full"] = $period;
                 $params["allday_flag"] = _ON;
             }
             $params["link_module"] = CALENDAR_LINK_TODO;
             $params["link_id"] = $taskID;
             $params["link_action_name"] = "todo_view_main_init&todo_id=" . $todoID . "&block_id=" . $this->_request->getParameter("block_id");
             if (empty($task["calendar_id"])) {
                 $result = $calendarAction->insertPlan($params);
             } else {
                 $result = $calendarAction->updatePlan($task["calendar_id"], $params);
             }
         } elseif (!empty($task["calendar_id"])) {
             $result = $calendarAction->deletePlan($task["calendar_id"]);
         }
         if ($result === false) {
             return false;
         }
         if ($calendar == _ON && !empty($task["calendar_id"])) {
             return true;
         }
         if ($calendar == _ON) {
             $params = array("task_id" => $taskID, "calendar_id" => $result);
         }
         if ($calendar != _ON) {
             $params = array("task_id" => $taskID, "calendar_id" => 0);
         }
         if (!$this->_db->updateExecute("todo_task", $params, "task_id", true)) {
             return false;
         }
     }
     // -- カレンダ情報関連 End --
     return true;
 }