- Модуль: rest
- Путь к файлу: ~/bitrix/modules/rest/lib/marketplace/application.php
- Класс: BitrixRestMarketplaceApplication
- Вызов: Application::reinstall
static function reinstall($id) : array
{
$result = [];
if (CRestUtil::isAdmin(self::$contextUserId))
{
$appInfo = AppTable::getByClientId($id);
if (
!Access::isAvailable($id)
|| !Access::isAvailableCount(Access::ENTITY_TYPE_APP, $id)
)
{
$result = [
'error' => Loc::getMessage('RMP_ERROR_ACCESS_DENIED'),
'helperCode' => Access::getHelperCode(Access::ACTION_INSTALL, Access::ENTITY_TYPE_APP, $appInfo)
];
}
elseif ($appInfo && $appInfo['STATUS'] === AppTable::STATUS_LOCAL)
{
if (empty($appInfo['MENU_NAME']) && empty($appInfo['MENU_NAME_DEFAULT']))
{
AppTable::install($appInfo['ID']);
$result = ['success' => 1];
}
elseif (!empty($appInfo['URL_INSTALL']))
{
$appFields = [
'INSTALLED' => 'N',
];
AppTable::update($appInfo['ID'], $appFields);
$result = [
'success' => 1,
'redirect' => CRestUtil::getApplicationPage($appInfo['ID']),
];
}
}
else
{
$result = ['error' => Loc::getMessage('RMP_NOT_FOUND')];
}
}
else
{
$result = ['error' => Loc::getMessage('RMP_ACCESS_DENIED')];
}
return $result;
}