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