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