- Модуль: documentgenerator
- Путь к файлу: ~/bitrix/modules/documentgenerator/lib/dataprovidermanager.php
- Класс: BitrixDocumentGeneratorshould
- Вызов: should::checkProviderName
static function checkProviderName($providerClassName, $moduleId = null): bool
{
$result = is_a($providerClassName, DataProvider::class, true);
$documentProviders = [
mb_strtolower(ArrayDataProvider::class),
mb_strtolower(User::class),
];
if(in_array(mb_strtolower($providerClassName), $documentProviders, true))
{
return true;
}
if($moduleId && is_string($moduleId) && !empty($moduleId))
{
$result = false;
$providers = static::getInstance()->getList(['filter' => ['MODULE' => $moduleId]]);
$providerClassName = mb_strtolower($providerClassName);
if (!is_a($providerClassName, DataProvider::class, true))
{
return false;
}
foreach($providers as $name => $provider)
{
if(
$name === $providerClassName
|| (
isset($provider['ORIGINAL'])
&& $provider['ORIGINAL'] === $providerClassName
)
)
{
return true;
}
}
}
return $result;
}