function AdminExtensionsChangeStatus() { if ($_GET['type'] == EXT_MODULE) { $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('modules', "`id`='{$id}'"); $mod = System::database()->FetchRow(); if ($mod['enabled'] == '1') { $en = '0'; } else { $en = '1'; } System::database()->Update('modules', "enabled='{$en}'", "`id`='{$id}'"); Audit('Расширения: Изменение статуса модуля "' . $mod['folder'] . '"'); } elseif ($_GET['type'] == EXT_PLUGIN) { $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('plugins', "`id`='{$id}'"); $mod = System::database()->FetchRow(); if ($mod['enabled'] == '1') { $en = '0'; } else { $en = '1'; } if ($en == '1' && $mod['type'] == PLUG_MANUAL_ONE) { // Оключаем все плагины этой группы перед активацией плагина $mod_group = SafeEnv($mod['group'], 255, str); System::database()->Update('plugins', "`enabled`='0'", "`group`='{$mod_group}'"); } System::database()->Update('plugins', "`enabled`='{$en}'", "`id`='{$id}'"); PluginsClearCache(); Audit('Расширения: Изменение статуса плагина "' . $mod['name'] . '"'); } echo 'OK'; exit; }
/** * Удаляет регистрацию плагина из базы данных. * @param string $Group Имя группы плагина (если есть) * @param string $Name Имя плагина * @return void */ function ExtRemovePlugin($Group, $Name) { $Group = SafeEnv($Group, 250, str); $Name = SafeEnv($Name, 255, str); System::database()->Delete('plugins', "`name`='{$Name}' and `group`='{$Group}'"); PluginsClearCache(); }