- Модуль: translate
- Путь к файлу: ~/bitrix/modules/translate/lib/index/phraseindexcollection.php
- Класс: BitrixTranslateIndexPhraseIndexCollection
- Вызов: PhraseIndexCollection::countItemsToProcess
public function countItemsToProcess(TranslateFilter $filter = null): int
{
if (isset($filter, $filter->path))
{
$relPath = '/'. trim($filter->path, '/');
$relPath = TranslateIOPath::replaceLangId($relPath, '#LANG_ID#');
$topPathRes = IndexInternalsPathIndexTable::getList([
'select' => ['ID'],
'filter' => ['=PATH' => $relPath]
]);
if (!($topPath = $topPathRes->fetch()))
{
return 0;
}
$checkLanguages = TranslateConfig::getEnabledLanguages();
if (isset($filter, $filter->langId))
{
$checkLanguages = array_intersect($filter->langId, $checkLanguages);
}
$fileFilter = [
'=PATH.DESCENDANTS.PARENT_ID' => $topPath['ID'],//ancestor
'=LANG_ID' => $checkLanguages,
//todo: add filter by INDEXED_TIME
];
$totalItems = (int)IndexInternalsFileIndexTable::getCount($fileFilter);
}
else
{
$totalItems = (int)IndexInternalsFileIndexTable::getCount();
}
return $totalItems;
}