From 1077417d717cbd601bdff82ab3dfbb61402c3640 Mon Sep 17 00:00:00 2001 From: Nikita Kiselev Date: Sun, 2 Nov 2025 15:05:52 +0300 Subject: [PATCH] feat(admin): remove legacy setting keys that not defined in defaults --- Makefile | 2 ++ .../controller/extension/module/tgshop.php | 21 +++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 64b9196..6d7736f 100644 --- a/Makefile +++ b/Makefile @@ -31,11 +31,13 @@ link: docker compose exec web bash -c "php ./scripts/link.php" dev: + rm -rf module/oc_telegram_shop/upload/system/library/oc_telegram_shop && \ $(MAKE) link && \ cd frontend/spa && bun run dev dev-admin: rm -rf module/oc_telegram_shop/upload/admin/view/javascript && \ + rm -rf module/oc_telegram_shop/upload/system/library/oc_telegram_shop && \ $(MAKE) link && \ cd frontend/admin && bun run dev cd frontend/spa && bun run dev diff --git a/module/oc_telegram_shop/upload/admin/controller/extension/module/tgshop.php b/module/oc_telegram_shop/upload/admin/controller/extension/module/tgshop.php index f4063f3..047d8be 100755 --- a/module/oc_telegram_shop/upload/admin/controller/extension/module/tgshop.php +++ b/module/oc_telegram_shop/upload/admin/controller/extension/module/tgshop.php @@ -93,7 +93,6 @@ class ControllerExtensionModuleTgshop extends Controller $hasConfig = $this->config->get('module_tgshop_app_name') !== null; if ($hasConfig) { - $this->cleanUpConfigs(); $this->updateConfigFromDefaults(); $this->cleanUpOldAssets(); $this->injectVueJs(); @@ -639,6 +638,21 @@ HTML, $this->config->set($key, $value); } } + + $diffToDelete = []; + foreach ($settings as $key => $value) { + if (! array_key_exists($key, $defaults)) { + $diffToDelete[] = $key; + } + } + + if ($diffToDelete) { + $keys = implode(', ', array_map(function ($key) { + return "'{$key}'"; + }, $diffToDelete)); + $this->db->query("DELETE FROM " . DB_PREFIX . "setting WHERE `key` IN ($keys)"); + $this->log->write('[TELECART] Удалены старые конфиги: ' . $keys); + } } private function cleanUpOldAssets(): void @@ -716,9 +730,4 @@ HTML, throw new RuntimeException('Unable to load Vuejs frontend.'); } } - - private function cleanUpConfigs(): void - { - // - } }