- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/internals/searchindex.php
- Класс: BitrixTasksInternalsSearchIndex
- Вызов: SearchIndex::buildTaskSearchIndex
static function buildTaskSearchIndex($task, array $fields = [])
{
$searchIndex = '';
if (empty($fields))
{
$fields = static::$fields;
}
else
{
$fields = array_intersect($fields, static::$fields);
$fields = array_unique($fields);
if (empty($fields))
{
return $searchIndex;
}
}
$taskData = static::getTaskData($task, $fields);
if (!is_array($taskData) || empty($taskData))
{
return $searchIndex;
}
$fieldValues = [];
foreach ($fields as $field)
{
$fieldValue = static::getFieldValue($field, $taskData);
$fieldValues = array_merge($fieldValues, $fieldValue);
}
if (!empty($fieldValues))
{
$searchIndex = implode(' ', $fieldValues);
$searchIndex = array_unique(explode(' ', $searchIndex));
$searchIndex = implode(' ', $searchIndex);
$searchIndex = static::prepareSearchIndex($searchIndex);
}
return $searchIndex;
}