- Модуль: imopenlines
- Путь к файлу: ~/bitrix/modules/imopenlines/lib/update/agent.php
- Класс: BitrixImopenlinesUpdateAgent
- Вызов: Agent::updateQuick
static function updateQuick(): string
{
if (
Loader::IncludeModule("im")
&& class_exists('BitrixImModelAppTable')
&& class_exists('BitrixImApp')
)
{
$imagePath = BX_ROOT.'/modules/imopenlines/install/icon/icon_quick.png';
$result = BitrixImModelAppTable::getList([
'filter' => ['=MODULE_ID' => 'imopenlines', '=CODE' => 'quick']
])->fetch();
if (!$result)
{
$iconId = CFile::SaveFile(CFile::MakeFileArray($imagePath), 'imopenlines');
BitrixImApp::register(Array(
'MODULE_ID' => 'imopenlines',
'BOT_ID' => 0,
'CODE' => 'quick',
'REGISTERED' => 'Y',
'ICON_ID' => $iconId,
'IFRAME' => '/desktop_app/iframe/imopenlines_quick.php',
'IFRAME_WIDTH' => '512',
'IFRAME_HEIGHT' => '234',
'CONTEXT' => 'lines',
'CLASS' => 'BitrixImOpenLinesChat',
'METHOD_LANG_GET' => 'onAppLang',
));
}
else
{
$iconFileOk = false;
$appId = (int)$result['ID'];
$iconId = (int)$result['ICON_FILE_ID'];
if ($iconId)
{
$file = CFile::getByID($iconId)->fetch();
$iconFileOk = BitrixMainIOFile::isFileExists(
BitrixMainApplication::getDocumentRoot()
.$file['SRC']
);
}
if (
$iconFileOk !== true
&& ($iconId = CFile::SaveFile(CFile::MakeFileArray($imagePath), 'imopenlines'))
)
{
BitrixImModelAppTable::update($appId, ['ICON_FILE_ID' => $iconId])->isSuccess();
}
}
return '';
}
else
{
return __METHOD__. '();';
}
}