function UpdateForumTopicIndex($topic_id, $entity_type, $entity_id, $feature, $operation, $path_template) { global $DB; if (!CModule::IncludeModule("forum")) { return; } $topic_id = intval($topic_id); $rsForumTopic = $DB->Query("SELECT FORUM_ID FROM b_forum_topic WHERE ID = " . $topic_id); $arForumTopic = $rsForumTopic->Fetch(); if (!$arForumTopic) { return; } $arGroups = $this->GetSearchGroups($entity_type, $entity_id, $feature, $operation); CSearch::ChangePermission("forum", $arGroups, false, $arForumTopic["FORUM_ID"], $topic_id); $rsForumMessages = $DB->Query("\n\t\t\tSELECT ID\n\t\t\tFROM b_forum_message\n\t\t\tWHERE TOPIC_ID = " . intval($topic_id) . "\n\t\t"); while ($arMessage = $rsForumMessages->Fetch()) { $url = str_replace(array("#topic_id#", "#message_id#", "#action#"), array($arTopic["ID"], $arMessage["ID"], ""), $path_template); CSearch::ChangeSite("forum", array(SITE_ID => $url), $arMessage["ID"]); $this->_counter++; } $arParams = $this->GetSearchParams($entity_type, $entity_id, $feature, $operation); CSearch::ChangeIndex("forum", array("UPD" => $this->_sess_id, "PARAMS" => $arParams), false, $arForumTopic["FORUM_ID"], $topic_id); }
function UpdateForumTopicIndex($topic_id, $entity_type, $entity_id, $feature, $operation, $path, $arPermissions, $siteID) { global $DB; if (!CModule::IncludeModule("forum")) { return; } $topic_id = intval($topic_id); $rsForumTopic = $DB->Query("SELECT FORUM_ID FROM b_forum_topic WHERE ID = " . $topic_id); $arForumTopic = $rsForumTopic->Fetch(); if (!$arForumTopic) { return; } CSearch::ChangePermission("forum", $arPermissions, false, $arForumTopic["FORUM_ID"], $topic_id); $rsForumMessages = $DB->Query("\n\t\t\tSELECT ID\n\t\t\tFROM b_forum_message\n\t\t\tWHERE TOPIC_ID = " . $topic_id . "\n\t\t"); while ($arMessage = $rsForumMessages->Fetch()) { CSearch::ChangeSite("forum", array($siteID => $path), $arMessage["ID"]); } $arParams = array("feature_id" => "S" . $entity_type . "_" . $entity_id . "_" . $feature . "_" . $operation, "socnet_user" => $entity_id); CSearch::ChangeIndex("forum", array("PARAMS" => $arParams), false, $arForumTopic["FORUM_ID"], $topic_id); }