/** * ルームIDの日誌件数を取得する * * @return string 日誌件数 * @access public */ function getJournalCount() { $request =& $this->_container->getComponent("Request"); $params["room_id"] = $request->getParameter("room_id"); $count = $this->_db->countExecute("journal", $params); return $count; }
/** * キャビネット用ブロックデータを登録する * * @return boolean true or false * @access public */ function setBlock() { $block_id = $this->_request->getParameter("block_id"); $actionChain =& $this->_container->getComponent("ActionChain"); $actionName = $actionChain->getCurActionName(); $count = $this->_db->countExecute("cabinet_block", array("block_id" => $block_id)); $params = array("block_id" => $block_id, "cabinet_id" => $this->_request->getParameter("cabinet_id")); if ($count == 0) { $default = $this->_cabinetView->getDefaultBlock(true); $params = array_merge($params, $default); } if ($actionName == "cabinet_action_edit_style") { $params["disp_standard_btn"] = _ON; $params["disp_address"] = intval($this->_request->getParameter("disp_address")); $params["disp_folder"] = intval($this->_request->getParameter("disp_folder")); $params["disp_size"] = intval($this->_request->getParameter("disp_size")); $params["disp_download_num"] = intval($this->_request->getParameter("disp_download_num")); $params["disp_comment"] = intval($this->_request->getParameter("disp_comment")); $params["disp_insert_user"] = intval($this->_request->getParameter("disp_insert_user")); $params["disp_insert_date"] = intval($this->_request->getParameter("disp_insert_date")); $params["disp_update_user"] = intval($this->_request->getParameter("disp_update_user")); $params["disp_update_date"] = intval($this->_request->getParameter("disp_update_date")); } if ($count > 0) { $result = $this->_db->updateExecute("cabinet_block", $params, "block_id", true); } else { $result = $this->_db->insertExecute("cabinet_block", $params, true); } if (!$result) { return false; } return true; }
/** * 集計データを変更する * * @param string $summaryID 集計ID * @return boolean true or false * @access public */ function updateSummary($summaryID) { $params = array($summaryID); $updateParams["summary_id"] = $summaryID; $sql = "SELECT insert_time " . "FROM {questionnaire_answer} " . "WHERE summary_id = ? " . "ORDER BY answer_id DESC"; $insertTimes = $this->_db->execute($sql, $params, 1, null, false); if ($insertTimes === false) { $this->_db->addError(); return false; } $updateParams["answer_time"] = $insertTimes[0][0]; $sql = "SELECT MIN(questionnaire_id), COUNT(answer_id) " . "FROM {questionnaire_answer} " . "WHERE summary_id = ?"; $answers = $this->_db->execute($sql, $params, 1, null, false); if ($answers === false) { $this->_db->addError(); return false; } list($questionnaireID, $answerCount) = $answers[0]; $params = array("questionnaire_id" => $questionnaireID); $questionCount = $this->_db->countExecute("questionnaire_question", $params); $updateParams["answer_flag"] = QUESTIONNAIRE_ANSWER_DONE_VALUE; if ($answerCount < $questionCount) { $updateParams["answer_flag"] = QUESTIONNAIRE_ANSWER_NONE_VALUE; } if (!$this->_db->updateExecute("questionnaire_summary", $updateParams, "summary_id", true)) { return false; } return true; }
/** * 新着情報にセットする(コメント) * * @return bool * @access public */ function setCommentWhatsnew($comment_id) { $params = array("post_id" => $comment_id); $comment = $this->_db->selectExecute("journal_post", $params); if (empty($comment)) { return false; } $whatsnewAction =& $this->_container->getComponent("whatsnewAction"); $count = $this->_db->countExecute("journal_post", array("parent_id" => $comment[0]['parent_id'], "direction_flag != " . JOURNAL_TRACKBACK_TRANSMIT => null)); if ($count === false) { return false; } if ($comment[0]["agree_flag"] == JOURNAL_STATUS_AGREE_VALUE) { $journal_post = $this->_db->selectExecute("journal_post", array("post_id" => $comment[0]['parent_id'])); if ($journal_post === false && !isset($journal_post[0])) { return false; } $time = timezone_date(); if (intval($time) < intval($journal_post[0]['journal_date'])) { // 未来ならば、日誌の記事の時間をセット $time = $journal_post[0]['journal_date']; } $whatsnew = array("unique_id" => $comment[0]['parent_id'], "title" => $journal_post[0]['title'], "description" => $journal_post[0]['content'], "action_name" => "journal_view_main_detail", "parameters" => "post_id=" . $comment[0]['parent_id'] . "&comment_flag=1", "count_num" => $count, "child_flag" => _ON, "child_update_time" => $time, "insert_time" => $journal_post[0]['journal_date'], "insert_user_id" => $journal_post[0]['insert_user_id'], "insert_user_name" => $journal_post[0]['insert_user_name']); $result = $whatsnewAction->auto($whatsnew); if ($result === false) { return false; } } else { if ($count == 0) { $result = $whatsnewAction->delete($comment[0]['parent_id'], _ON); } } return true; }
/** * 項目データを登録する * * @return boolean true or false * @access public */ function setItem() { $itemID = $this->_request->getParameter("item_id"); if (empty($itemID)) { $params = array("registration_id" => $this->_request->getParameter("registration_id")); $count = $this->_db->countExecute("registration_item", $params); $params["item_sequence"] = $count + 1; } $params["item_name"] = $this->_request->getParameter("item_name"); $params["item_type"] = intval($this->_request->getParameter("item_type")); $params["option_value"] = $this->_request->getParameter("option_value"); $params["require_flag"] = intval($this->_request->getParameter("require_flag")); $params["list_flag"] = intval($this->_request->getParameter("list_flag")); $params["sort_flag"] = intval($this->_request->getParameter("sort_flag")); $params["description"] = $this->_request->getParameter("description"); $itemID = $this->_request->getParameter("item_id"); if (empty($itemID)) { $result = $this->_db->insertExecute("registration_item", $params, true, "item_id"); } else { $params["item_id"] = $itemID; $result = $this->_db->updateExecute("registration_item", $params, "item_id", true); } if (!$result) { return false; } return true; }
/** * タグ設定操作 * * @return boolean true or false * @access public */ function applyTag($tagOperation, $tagID) { $receiver_id = $this->_request->getParameter("receiver_id"); if (!is_array($receiver_id)) { $receivers = explode(" ", $receiver_id); } else { $receivers = $receiver_id; } if (!is_array($receivers)) { return false; } foreach ($receivers as $receiver_id) { if ($tagOperation == PM_ACTION_ADDTAG) { // タグを付ける $params = array("tag_id" => intval($tagID), "receiver_id" => intval($receiver_id)); $count = $this->_db->countExecute("pm_message_tag_link", $params); if ($count == 0) { // タグを付ける $params["message_id"] = $this->_pmView->getMessageID($receiver_id); $result = $this->_db->insertExecute("pm_message_tag_link", $params); if (!$result) { return false; } } } elseif ($tagOperation == PM_ACTION_REMOVETAG) { // タグをはずす $params = array("tag_id" => intval($tagID), "receiver_id" => intval($receiver_id)); $result = $this->_db->deleteExecute("pm_message_tag_link", $params); if (!$result) { return false; } } } return true; }
/** * 集計データを変更する * * @param string $summaryID 集計ID * @return boolean true or false * @access public */ function updateSummary($summaryID) { $params = array($summaryID); $updateParams["summary_id"] = $summaryID; $sql = "SELECT insert_time " . "FROM {quiz_answer} " . "WHERE summary_id = ? " . "ORDER BY answer_id DESC"; $insertTimes = $this->_db->execute($sql, $params, 1, null, false); if ($insertTimes === false) { $this->_db->addError(); return $insertTimes; } $updateParams["answer_time"] = $insertTimes[0][0]; $sql = "SELECT MIN(quiz_id), COUNT(answer_id), MIN(answer_flag), SUM(score) " . "FROM {quiz_answer} " . "WHERE summary_id = ?"; $answers = $this->_db->execute($sql, $params, 1, null, false); if ($answers === false) { $this->_db->addError(); return $answers; } list($quizID, $answerCount, $answerFlag, $updateParams["summary_score"]) = $answers[0]; $params = array("quiz_id" => $quizID); $questionCount = $this->_db->countExecute("quiz_question", $params); $updateParams["answer_flag"] = QUIZ_ANSWER_NOT_MARK_VALUE; if ($answerCount < $questionCount) { $updateParams["answer_flag"] = QUIZ_ANSWER_NONE_VALUE; } elseif ($answerFlag > QUIZ_ANSWER_SCORED_VALUE) { $updateParams["answer_flag"] = QUIZ_ANSWER_SCORED_VALUE; } if (!$this->_db->updateExecute("quiz_summary", $updateParams, "summary_id", true)) { return false; } return true; }
/** * レポートデータ削除処理 * * @return boolean * @access public */ function deleteReport() { $params = array("report_id" => $this->_request->getParameter("report_id")); $result = $this->_db->deleteExecute("assignment_report", $params); if ($result === false) { return false; } $result = $this->_db->deleteExecute("assignment_body", $params); if ($result === false) { return false; } $result = $this->_db->deleteExecute("assignment_comment", $params); if ($result === false) { return false; } $params = array("submit_id" => $this->_request->getParameter("submit_id")); $count = $this->_db->countExecute("assignment_report", $params); if ($count <= 0) { $result = $this->_db->deleteExecute("assignment_submitter", $params); if ($result === false) { return false; } $this->_request->setParameter("submit_id", null); } $this->_request->setParameter("report_id", null); return true; }
/** * 時間枠数取得 * * @access public */ function getTimeframesCount() { $result = $this->_db->countExecute('reservation_timeframe'); if ($result === false) { $this->_db->addError(); return false; } return $result; }
/** * タスク件数を取得する * * @return array タスク件数 * @access public */ function &getTaskCount() { $params = array("todo_id" => $this->_request->getParameter("todo_id")); $targetState = $this->_request->getParameter("target_state"); if (isset($targetState) || $this->_mobile_flag == _ON) { $params["state"] = intval($targetState); } $count = $this->_db->countExecute("todo_task", $params); return $count; }
/** * フォルダが空かどうかするか判断する * * @param string $folde_id フォルダID * @return boolean true:存在する、false:存在しない * @access public */ function childExists($folde_id) { $params["room_id"] = $this->_request->getParameter("room_id"); $params["cabinet_id"] = $this->_request->getParameter("cabinet_id"); $params["parent_id"] = $folde_id; $count = $this->_db->countExecute("cabinet_file", $params); if ($count > 0) { return true; } return false; }
/** * ブロックIDからチャットテキストデータ取得 * @param int block_id,chat_id * @access public */ function &getChatText($block_id, $line_num, $chat_id = "") { $params = array("block_id" => $block_id); $sql = "SELECT * " . "FROM {chat_contents} " . "WHERE {chat_contents}.block_id=?"; if ($chat_id) { $now_chat_id = $this->_db->countExecute("chat_contents", $params); if ($now_chat_id < $chat_id) { $chat_arr = array("chat_id" => 0); } else { $chat_arr = array("chat_id" => $chat_id); } $params = array_merge($params, $chat_arr); $sql .= " AND {chat_contents}.chat_id>?"; } $sql .= " ORDER BY {chat_contents}.chat_id DESC"; if (!$chat_id && $line_num) { $sql .= " LIMIT " . $line_num; } $result = $this->_db->execute($sql, $params); return $result; }
function addTag($ids = array(), $parameter = '', $options = array()) { $pmView =& $this->_container->getComponent("pmView"); if (is_array($ids)) { foreach ($ids as $id) { $tag_id = intval($parameter); $receiver_id = intval($id); if ($tag_id > 0) { $params = array("tag_id" => $tag_id, "receiver_id" => $receiver_id); $count = $this->_db->countExecute("pm_message_tag_link", $params); if ($count == 0) { $params["message_id"] = $pmView->getMessageID($receiver_id); if (!$this->_db->insertExecute("pm_message_tag_link", $params)) { return false; } } } } } return true; }
/** * 既読にする * * @access public */ function setRead() { $_user_id = $this->_session->getParameter("_user_id"); if (empty($_user_id)) { return true; } $whatsnew = $this->_request->getParameter("whatsnew"); if (empty($whatsnew)) { return false; } $params = array("whatsnew_id" => $whatsnew["whatsnew_id"], "user_id" => $_user_id, 'room_id' => $whatsnew['room_id']); $count = $this->_db->countExecute("whatsnew_user", $params); if ($count > 0) { return true; } $result = $this->_db->insertExecute("whatsnew_user", $params, false); if (!$result) { return false; } return true; }
/** * 質問用デフォルトデータを取得する * * @return array 質問用デフォルトデータ配列 * @access public */ function &getDefaultQuestion() { $config = $this->getConfig(); if ($config === false) { return $config; } $question = array("questionnaire_id" => $this->_request->getParameter("questionnaire_id"), "question_type" => constant($config["question_type"]["conf_value"]), "require_flag" => constant($config["require_flag"]["conf_value"])); $choiceCount = $config["choice_count"]["conf_value"]; $choiceLabel = $config["choice_label"]["conf_value"]; $graphColor = $config["graph_color"]["conf_value"]; $question["choices"] = $this->getDefaultChoiceLists($choiceCount, $choiceLabel, $graphColor); $params = array("questionnaire_id" => $this->_request->getParameter("questionnaire_id")); $question["question_sequence"] = $this->_db->countExecute("questionnaire_question", $params); if ($question["question_sequence"] === false) { return $question["question_sequence"]; } $question["question_sequence"]++; return $question; }
/** * 新着情報の更新 * * @access public */ function setWhatsnew($plan_params) { $actionChain =& $this->_container->getComponent("ActionChain"); $actionName = $actionChain->getCurActionName(); //--新着情報関連 Start-- $whatsnewAction =& $this->_container->getComponent("whatsnewAction"); $result = true; if ($actionName == "calendar_action_main_plan_add" || $actionName == "calendar_action_main_plan_modify") { $description = ""; if ($plan_params["location"] != "") { $description .= sprintf(CALENDAR_LOCATION, $plan_params["location"]); } if ($plan_params["contact"] != "") { $description .= sprintf(CALENDAR_CONTACT, $plan_params["contact"]); } if ($plan_params["description"] != "") { $description .= sprintf(CALENDAR_DESCRIPTION, $plan_params["description"]); } if (!empty($plan_params["rrule"])) { $rrule_str = $this->_calendarView->stringRRule($plan_params["rrule"]); $description .= sprintf(CALENDAR_RRULE, $rrule_str); } $block_id = $this->_calendarView->getBlockIdByWhatsnew(); $whatsnew = array("room_id" => $plan_params["room_id"], "unique_id" => $plan_params["plan_id"], "title" => $plan_params["title"], "description" => $description, "action_name" => "calendar_view_main_init", "parameters" => "plan_id=" . $plan_params["plan_id"] . "&block_id=" . $block_id . "#_" . $block_id); if ($actionName == "calendar_action_main_plan_modify") { $plan = $this->_db->selectExecute("calendar_plan", array("plan_id" => $plan_params["plan_id"])); $whatsnew["insert_time"] = $plan[0]["insert_time"]; $whatsnew["insert_user_id"] = $plan[0]["insert_user_id"]; $whatsnew["insert_user_name"] = $plan[0]["insert_user_name"]; } $result = $whatsnewAction->auto($whatsnew, _ON); } elseif ($actionName == "calendar_action_main_plan_delete" || "calendar_action_edit_ical_import") { $params = array("plan_id" => $plan_params["plan_id"]); $count = $this->_db->countExecute("calendar_plan", $params); if ($count == 0) { $result = $whatsnewAction->delete($plan_params["plan_id"]); } } return $result; //--新着情報関連 End-- }
/** * 表示できないページID配列を取得する * * @return array 表示されないページのIDの配列 * @access private */ function getInvisiblePageIds($display_type, $each_room, $roomIds) { $request =& $this->_container->getComponent('Request'); // もしもmobile_menu_detailにて非表示メニューが選ばれているなら、そちらを優先 if ($this->_db->countExecute("mobile_menu_detail") > 0) { $sql = "SELECT page_id FROM {mobile_menu_detail} "; $invisiblePageIds = $this->_db->execute($sql, null, null, null, true, array($this, '_fetchInvisiblePage')); } else { $params = array('module_id' => $request->getParameter('module_id')); $menuCount = $this->_db->countExecute('blocks', $params); if ($each_room == _ON) { $roomIds = array($request->getParameter('room_id')); } $params = array(_OFF); $sql = "SELECT page_id, COUNT(block_id) AS pageCount " . "FROM {menu_detail} " . "WHERE room_id in (" . implode(",", $roomIds) . " )" . "AND visibility_flag = ? " . "GROUP BY page_id"; $invisiblePageIds = $this->_db->execute($sql, $params, null, null, true, array($this, '_fetchInvisiblePage'), $menuCount); } if ($invisiblePageIds === false) { $this->_db->addError(); } return $invisiblePageIds; }
/** * 入力データ件数を取得する * * @return string 項目件数 * @access public */ function getDataCount() { $params["registration_id"] = $this->_request->getParameter("registration_id"); $count = $this->_db->countExecute("registration_data", $params); return $count; }
/** * fetch時コールバックメソッド * @param result adodb object * @return array * @access private */ function &_getMDBDetailFetchcallback($result) { $session =& $this->_container->getComponent("Session"); $request =& $this->_container->getComponent("Request"); $metadatas = $request->getParameter("metadatas"); $data = array(); while ($row = $result->fetchRow()) { $layout = array(); $items = array(); foreach ($metadatas as $metadata) { if ($metadata['detail_flag'] == _ON) { $layout[$metadata['display_pos']][$metadata['metadata_id']] = $metadata; } if ($metadata['type'] == MULTIDATABASE_META_TYPE_IMAGE || $metadata['type'] == MULTIDATABASE_META_TYPE_FILE) { $items[$metadata['metadata_id']] = $this->getFileLink($row['content' . $metadata['metadata_id']], $row['file_name' . $metadata['metadata_id']], $row['physical_file_name' . $metadata['metadata_id']], $metadata, null, $row['insert_user_id'], $row['file_password' . $metadata['metadata_id']]); unset($row['file_name' . $metadata['metadata_id']]); unset($row['physical_file_name' . $metadata['metadata_id']]); } elseif ($metadata['type'] == MULTIDATABASE_META_TYPE_MULTIPLE) { $itemArr = explode("|", $row['content' . $metadata['metadata_id']]); $multiple = array(); foreach ($itemArr as $val) { $multiple[] = $val; } $items[$metadata['metadata_id']] = $multiple; } else { $items[$metadata['metadata_id']] = $row['content' . $metadata['metadata_id']]; } unset($row['content' . $metadata['metadata_id']]); } $voted = false; $comment_count = 0; $comments = ""; foreach ($row as $key => $val) { $items[$key] = $val; } $items['has_edit_auth'] = $this->_hasEditAuthority($items['insert_user_id']); $items['has_confirm_auth'] = $this->_hasConfirmAuthority(); $comment_count = $this->_db->countExecute("multidatabase_comment", array("content_id" => $items['content_id'])); $order_params = array("insert_time" => "ASC"); $comments = $this->_db->selectExecute("multidatabase_comment", array("content_id" => $items['content_id']), $order_params); if ($comments === false) { return 'error'; } foreach ($comments as $key => $val) { $edit_auth = $this->_hasEditAuthority($val['insert_user_id']); $comments[$key]['edit_auth'] = $edit_auth; } $items['comment_count'] = $comment_count; $items['comments'] = $comments; if ($items['vote'] != "") { $who_voted = explode(",", $items['vote']); $user_id = $session->getParameter("_user_id"); if (empty($user_id)) { $votes = $session->getParameter("multidatabase_votes"); if (!empty($votes)) { if (in_array($items['content_id'], $votes)) { $voted = true; } } } else { if (in_array($user_id, $who_voted)) { $voted = true; } } } $items['voted'] = $voted; $data['metadata'] = $layout; $data['value'] = $items; } return $data; }
/** * ルームIDの掲示板件数を取得する * * @return string 掲示板件数 * @access public */ function getBbsCount() { $params["room_id"] = $this->_request->getParameter("room_id"); $count = $this->_db->countExecute("bbs", $params); return $count; }
/** * ルームIDの課題件数を取得する * * @return string 課題件数 * @access public */ function getAssignmentCount() { $params = array("room_id" => $this->_request->getParameter("room_id")); $count = $this->_db->countExecute("assignment", $params); return $count; }
/** * コメント件数を取得する * * @return string フォトアルバム件数 * @access public */ function getCommentCount() { $params["photo_id"] = $this->_request->getParameter("photo_id"); $count = $this->_db->countExecute("photoalbum_comment", $params); return $count; }
/** * フィルタ編集権限判定 * * @return boolean true or false * @access public */ function checkFilterAuth() { $params = array("filter_id" => $this->_request->getParameter("filter_id"), "insert_user_id" => $this->_session->getParameter("_user_id")); $count = $this->_db->countExecute("pm_filter", $params); return $count; }
/** * リンク件数を取得する * * @return string リンクリスト件数 * @access public */ function getLinkCount() { $params["category_id"] = $this->_request->getParameter("category_id"); $count = $this->_db->countExecute("linklist_link", $params); return $count; }
/** * アルバムデータを登録する * * @return boolean true or false * @access public */ function setAlbum() { $albumID = $this->_request->getParameter("album_id"); if (empty($albumID)) { $params = array("photoalbum_id" => $this->_request->getParameter("photoalbum_id")); $count = $this->_db->countExecute("photoalbum_album", $params); $albumSequence = $count + 1; } else { $params["album_id"] = $albumID; $modifier_album = $this->_db->selectExecute("photoalbum_album", $params); if (!isset($modifier_album[0])) { return false; } } $container =& DIContainerFactory::getContainer(); $photoalbumView =& $container->getComponent("photoalbumView"); $uploadID = intval($this->_request->getParameter("upload_id")); $albumJacket = $this->_request->getParameter("album_jacket"); if (empty($uploadID)) { $imageSize = $photoalbumView->getImageSize($albumJacket); } else { $imageSize = $photoalbumView->getImageSize($uploadID); } $params = array("album_name" => $this->_request->getParameter("album_name"), "upload_id" => $uploadID, "album_jacket" => $albumJacket, "width" => $imageSize[0], "height" => $imageSize[1], "album_description" => $this->_request->getParameter("album_description"), "photo_new_period" => intval($this->_request->getParameter("photo_new_period")), "vote_flag" => intval($this->_request->getParameter("vote_flag")), "comment_flag" => intval($this->_request->getParameter("comment_flag")), "public_flag" => intval($this->_request->getParameter("public_flag"))); $blockID = $this->_request->getParameter("block_id"); if (empty($albumID)) { $container =& DIContainerFactory::getContainer(); $session =& $container->getComponent("Session"); $session->setParameter("photoalbum_album_sort" . $blockID, PHOTOALBUM_ALBUM_SORT_NEW); $session->removeParameter("photoalbum_page_number" . $blockID); } $insertFlag = false; if (empty($albumID)) { $params["photoalbum_id"] = $this->_request->getParameter("photoalbum_id"); $params["photo_upload_time"] = timezone_date(); $params["album_sequence"] = $albumSequence; $result = $this->_db->insertExecute("photoalbum_album", $params, true, "album_id"); $albumID = $result; $insertFlag = true; } else { $params["album_id"] = $albumID; $result = $this->_db->updateExecute("photoalbum_album", $params, "album_id", true); //--新着情報関連 Start-- // 非公開から公開した場合を考え、既に写真があった場合 // 新着に登録 // アルバム登録時は、写真が一枚もないので // 新着には登録しない $whatsnewAction =& $container->getComponent("whatsnewAction"); if ($modifier_album[0]['photo_count'] != 0 && $modifier_album[0]['public_flag'] == _OFF && $params['public_flag'] == _ON) { $commonMain =& $container->getComponent("commonMain"); $id = $commonMain->getTopId($blockID, $this->_request->getParameter("module_id"), ""); $photoalbum_photo_params = array("album_id" => $albumID, "photoalbum_id" => $this->_request->getParameter("photoalbum_id")); $photoalbum_photo_order_params = array("insert_time" => "DESC"); $photoalbum_photo = $this->_db->selectExecute("photoalbum_photo", $photoalbum_photo_params, null, 1); if (!isset($photoalbum_photo[0])) { return false; } $whatsnew = array("unique_id" => $albumID, "title" => $params["album_name"], "description" => $params["album_description"], "action_name" => "photoalbum_view_main_init", "parameters" => "album_id=" . $albumID . "&block_id=" . $blockID . "#photoalbum_album" . $id . "_" . $albumID, "count_num" => $modifier_album[0]['photo_count'], "insert_time" => $photoalbum_photo[0]["insert_time"], "insert_user_id" => $photoalbum_photo[0]["insert_user_id"], "insert_user_name" => $photoalbum_photo[0]["insert_user_name"]); $result = $whatsnewAction->auto($whatsnew, _ON); if ($result === false) { return false; } } else { if ($modifier_album[0]['photo_count'] != 0 && $modifier_album[0]['public_flag'] == _ON && $params['public_flag'] == _OFF) { $result = $whatsnewAction->delete($albumID); if ($result === false) { return false; } } } //--新着情報関連 End-- } if (!$result) { return false; } return true; }
/** * abbreviate_urlへ登録処理 * * @param string $dir_name * @param string $contents_id * @param string $unique_id * @param string $url * @param string $room_id * * @return boolean * @access public */ function setAbbreviateUrl($contents_id, $unique_id, $dir_name = null, $module_id = null, $room_id = null) { //dir_nameが省略されている場合、実行アクションから取得 if (!isset($dir_name)) { $dir_name = $this->_abbreviateurlView->getDefaultUniqueKey(); } //module_idが省略されている場合、module_nameから取得 $dirnameArray = explode("_", $dir_name); $module_name = $dirnameArray[0]; if (empty($module_id)) { $module_id = $this->_abbreviateurlView->getDefaultModuleId($module_name); } //URL短縮形の重複チェック $params = array('dir_name' => $dir_name, 'unique_id' => $unique_id); $abbreviate = $this->_db->selectExecute('abbreviate_url', $params, null, 1); if ($abbreviate === false) { return $abbreviate; } if (empty($abbreviate)) { //登録する短縮URLの重複チェック $prefix = count($dirnameArray) > 1 ? substr($dirnameArray[0], 0, 1) . substr($dirnameArray[1], 0, 1) : substr($dirnameArray[0], 0, 2); for ($length = _ABBREVIATE_URL_LENGTH; $length < 17; $length++) { for ($j = 0; $j < 50; $j++) { $short_url = $this->_abbreviateurlView->randString($length, $prefix); $params = array("short_url" => $short_url); $countUrl = $this->_db->countExecute('abbreviate_url', $params); if ($countUrl === false) { return $countUrl; } if ($countUrl > 0) { continue; } $params = array("permalink" => $short_url); $countPage = $this->_db->countExecute('pages', $params); if ($countPage === false) { return $countPage; } if ($countPage > 0) { continue; } break; } if ($countUrl == 0 && $countPage == 0) { break; } } if ($countUrl > 0 || $countPage > 0) { $result = false; return $result; } //URL短縮形の登録 $setParams = array('short_url' => $short_url, 'dir_name' => $dir_name, 'module_id' => $module_id, 'contents_id' => $contents_id, 'unique_id' => $unique_id); if (isset($room_id)) { $setParams['room_id'] = $room_id; } $result = $this->_db->insertExecute('abbreviate_url', $setParams, true); if ($result === false) { return $result; } } $result = true; return $result; }