- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/task.php
- Класс: CTasks
- Вызов: CTasks::UpdateForumTopicIndex
static function UpdateForumTopicIndex(
$topicId,
$entityType,
$entityId,
$feature,
$operation,
$path,
$permissions,
$siteId
)
{
global $DB;
if (!CModule::IncludeModule('forum'))
{
return;
}
$topicId = (int)$topicId;
$forumTopicResult = $DB->Query("SELECT FORUM_ID FROM b_forum_topic WHERE ID = {$topicId}");
if (!($forumTopic = $forumTopicResult->Fetch()))
{
return;
}
CSearch::ChangePermission('forum', $permissions, false, $forumTopic['FORUM_ID'], $topicId);
$forumMessageResult = $DB->Query("SELECT ID FROM b_forum_message WHERE TOPIC_ID = {$topicId}");
while ($message = $forumMessageResult->Fetch())
{
CSearch::ChangeSite('forum', [$siteId => $path], $message['ID']);
}
$params = [
'feature_id' => "S{$entityType}_{$entityId}_{$feature}_{$operation}",
'socnet_user' => $entityId,
];
CSearch::ChangeIndex(
'forum',
['PARAMS' => $params],
false,
$forumTopic['FORUM_ID'],
$topicId
);
}