- Модуль: rest
- Путь к файлу: ~/bitrix/modules/rest/lib/configuration/appconfiguration.php
- Класс: BitrixRestConfigurationAppConfiguration
- Вызов: AppConfiguration::clearApp
static function clearApp($option)
{
$result = [
'NEXT' => false
];
if ($option['CLEAR_FULL'])
{
$dbRes = AppTable::getList(
[
'order' => [
'ID' => 'ASC'
],
'filter' => [
'=ACTIVE' => AppTable::ACTIVE,
"!=STATUS" => AppTable::STATUS_LOCAL,
'>ID' => $option['NEXT']
],
'limit' => 5
]
);
while ($appInfo = $dbRes->Fetch())
{
$result['NEXT'] = $appInfo['ID'];
$currentApp = Helper::getInstance()->getContextAction($appInfo['ID']);
if (!empty($option['CONTEXT']) && $option['CONTEXT'] === $currentApp)
{
continue;
}
$checkResult = AppTable::checkUninstallAvailability($appInfo['ID']);
if ($checkResult->isEmpty())
{
AppTable::uninstall($appInfo['ID']);
$appFields = [
'ACTIVE' => 'N',
'INSTALLED' => 'N',
];
AppTable::update($appInfo['ID'], $appFields);
AppLogTable::log($appInfo['ID'], AppLogTable::ACTION_TYPE_UNINSTALL);
}
}
}
return $result;
}