- Модуль: search
- Путь к файлу: ~/bitrix/modules/search/classes/mysql/search.php
- Класс: CSearch
- Вызов: CSearch::TagsIndex
static function TagsIndex($arLID, $ID, $sContent)
{
$DB = CDatabase::GetModuleConnection('search');
$ID = intval($ID);
if (!is_array($arLID))
$arLID = Array();
$sContent = str_replace("x00", "", $sContent);
foreach ($arLID as $site_id => $url)
{
$sql_site_id = $DB->ForSQL($site_id);
$arTags = tags_prepare($sContent, $site_id);
if (!empty($arTags))
{
$strSqlPrefix = "
insert ignore into b_search_tags
(SEARCH_CONTENT_ID, SITE_ID, NAME)
values
";
$maxValuesLen = 2048;
$strSqlValues = "";
CSearchTags::CleanCache($arTags);
foreach ($arTags as $tag)
{
$strSqlValues .= ",n(".$ID.", '".$sql_site_id."', '".$DB->ForSql($tag, 255)."')";
if (mb_strlen($strSqlValues) > $maxValuesLen)
{
$DB->Query($strSqlPrefix.mb_substr($strSqlValues, 2), false, "File: ".__FILE__."
Line: ".__LINE__);
$strSqlValues = "";
}
}
if ($strSqlValues <> '')
{
$DB->Query($strSqlPrefix.mb_substr($strSqlValues, 2), false, "File: ".__FILE__."
Line: ".__LINE__);
$strSqlValues = "";
}
}
}
}