• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/registry.php
  • Класс: BitrixDocumentGeneratorRegistry
  • Вызов: Registry::getFromPath
protected function getFromPath($path, $subPath = '\')
{
	$result = [];

	$fullBaseClassName = $this->getBaseClassName();

	if(Directory::isDirectoryExists($path))
	{
		$baseDirectory = scandir($path);
		foreach($baseDirectory as $fileName)
		{
			if($fileName == '.' || $fileName == '..')
			{
				continue;
			}
			$subdir = Path::combine($path, $fileName);
			if(Directory::isDirectoryExists($subdir))
			{
				$result = array_merge($result, $this->getFromPath($subdir, $subPath.$fileName.'\'));
			}
			elseif(GetFileExtension($fileName) == 'php')
			{
				$fullClassName = mb_strtolower($fullBaseClassName.$subPath.GetFileNameWithoutExtension($fileName));
				if($this->checkClassName($fullClassName))
				{
					$result[$fullClassName] = [
						'NAME' => $fullClassName::getLangName(),
						'CLASS' => $fullClassName,
						'MODULE' => Driver::MODULE_ID,
					];
				}
			}
		}
	}

	return $result;
}