- Модуль: rest
- Путь к файлу: ~/bitrix/modules/rest/lib/preset/data/webhook.php
- Класс: BitrixRestPresetDataWebhook
- Вызов: Webhook::getList
static function getList() : array
{
$result = [];
$cache = Cache::createInstance();
if ($cache->initCache(static::CACHE_TIME, 'all' . LANGUAGE_ID, static::CACHE_DIR))
{
$result = $cache->getVars();
}
elseif ($cache->startDataCache())
{
$eventDictionary = new DictionaryWebHook();
$eventDictionaryResult = [];
foreach ($eventDictionary as $event)
{
$eventDictionaryResult[mb_strtoupper($event['code'])] = $event;
}
$eventList = CRestUtil::getEventList();
$eventDistinctId = [];
foreach ($eventList as $type => $events)
{
foreach ($events as $event)
{
if (array_key_exists($event, $eventDictionaryResult) && !in_array(mb_strtoupper($event), $eventDistinctId))
{
$event = mb_strtoupper($event);
$eventDistinctId[] = $event;
$result[] = [
'id' => $event,
'name' => !empty($eventDictionaryResult[$event]['name'])
? $eventDictionaryResult[$event]['name'] . ' (' . $event . ')' : $event,
'descr' => !empty($eventDictionaryResult[$event]['descr'])
? $eventDictionaryResult[$event]['descr'] : '',
];
}
}
}
$cache->endDataCache($result);
}
return $result;
}