- Модуль: rest
- Путь к файлу: ~/bitrix/modules/rest/lib/app.php
- Класс: BitrixRestAppTable
- Вызов: AppTable::install
static function install($appId)
{
$appInfo = static::getByClientId($appId);
if($appInfo)
{
$eventFields = array(
'APP_ID' => $appId,
'VERSION' => $appInfo['VERSION'],
'ACTIVE' => $appInfo['ACTIVE'],
'INSTALLED' => $appInfo['INSTALLED'],
);
if ($appInfo['ACTIVE'] === self::ACTIVE && $appInfo['INSTALLED'] === self::INSTALLED)
{
$res = PlacementTable::getList(
[
'filter' => [
'=APP_ID' => $appInfo['ID'],
],
'select' => [
'ID',
'PLACEMENT',
'USER_ID',
],
]
);
while ($item = $res->fetch())
{
$event = new Event(
'rest',
PlacementTable::PREFIX_EVENT_ON_AFTER_ADD . $item['PLACEMENT'],
[
'ID' => $item['ID'],
'PLACEMENT' => $item['PLACEMENT'],
'USER_ID' => $item['USER_ID'],
]
);
EventManager::getInstance()->send($event);
}
}
foreach(GetModuleEvents("rest", "OnRestAppInstall", true) as $eventHandler)
{
ExecuteModuleEventEx($eventHandler, array($eventFields));
}
}
}