• Модуль: 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;
}