예제 #1
0
 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);
 }
예제 #2
0
 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);
 }