From 7aff4557a641997877d1612cfb2bb926f95ce140 Mon Sep 17 00:00:00 2001 From: slawkens Date: Tue, 16 May 2023 14:17:21 +0200 Subject: [PATCH] Lets call it settings.name instead --- admin/pages/settings.php | 8 +++++--- install/includes/schema.sql | 2 +- system/libs/Settings.php | 10 +++++----- system/migrations/36.php | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/admin/pages/settings.php b/admin/pages/settings.php index ccbffa15..16ceab82 100644 --- a/admin/pages/settings.php +++ b/admin/pages/settings.php @@ -42,11 +42,13 @@ if (!is_array($settingsFile)) { return; } +$settingsKeyName = ($plugin == 'core' ? $plugin : $settingsFile['key']); + if (isset($_POST['save'])) { - $db->query('DELETE FROM `' . TABLE_PREFIX . 'settings` WHERE `plugin_name` = ' . $db->quote($plugin) . ';'); + $db->query('DELETE FROM `' . TABLE_PREFIX . 'settings` WHERE `name` = ' . $db->quote($settingsKeyName) . ';'); foreach ($_POST['settings'] as $key => $value) { try { - $db->insert(TABLE_PREFIX . 'settings', ['plugin_name' => $plugin, 'key' => $key, 'value' => $value]); + $db->insert(TABLE_PREFIX . 'settings', ['name' => $settingsKeyName, 'key' => $key, 'value' => $value]); } catch (PDOException $error) { warning('Error while saving setting (' . $plugin . ' - ' . $key . '): ' . $error->getMessage()); } @@ -62,7 +64,7 @@ if (isset($_POST['save'])) { $title = ($plugin == 'core' ? 'Settings' : 'Plugin Settings - ' . $plugin); -$settings = Settings::display($plugin, $settingsFile['settings']); +$settings = Settings::display($settingsKeyName, $settingsFile['settings']); $twig->display('admin.settings.html.twig', [ 'settings' => $settings, diff --git a/install/includes/schema.sql b/install/includes/schema.sql index ba90c7f2..21776dc8 100644 --- a/install/includes/schema.sql +++ b/install/includes/schema.sql @@ -306,7 +306,7 @@ INSERT INTO `myaac_gallery` (`id`, `ordering`, `comment`, `image`, `thumb`, `aut CREATE TABLE `myaac_settings` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `plugin_name` VARCHAR(255) NOT NULL DEFAULT '', + `name` VARCHAR(255) NOT NULL DEFAULT '', `key` VARCHAR(255) NOT NULL DEFAULT '', `value` TEXT NOT NULL, PRIMARY KEY (`id`), diff --git a/system/libs/Settings.php b/system/libs/Settings.php index 1851fbc0..a4475fc2 100644 --- a/system/libs/Settings.php +++ b/system/libs/Settings.php @@ -44,7 +44,7 @@ class Settings implements ArrayAccess if($settings->rowCount() > 0) { foreach ($settings->fetchAll(PDO::FETCH_ASSOC) as $setting) { - $this->settings[$setting['plugin_name']][$setting['key']] = $setting['value']; + $this->settings[$setting['name']][$setting['key']] = $setting['value']; } } @@ -56,7 +56,7 @@ class Settings implements ArrayAccess public function updateInDatabase($pluginName, $key, $value) { global $db; - $db->update(TABLE_PREFIX . 'settings', ['value' => $value], ['plugin_name' => $pluginName, 'key' => $key]); + $db->update(TABLE_PREFIX . 'settings', ['value' => $value], ['name' => $pluginName, 'key' => $key]); } public function deleteFromDatabase($pluginName, $key = null) @@ -64,10 +64,10 @@ class Settings implements ArrayAccess global $db; if (!isset($key)) { - $db->delete(TABLE_PREFIX . 'settings', ['plugin_name' => $pluginName], -1); + $db->delete(TABLE_PREFIX . 'settings', ['name' => $pluginName], -1); } else { - $db->delete(TABLE_PREFIX . 'settings', ['plugin_name' => $pluginName, 'key' => $key]); + $db->delete(TABLE_PREFIX . 'settings', ['name' => $pluginName, 'key' => $key]); } } @@ -75,7 +75,7 @@ class Settings implements ArrayAccess { global $db; - $query = 'SELECT `key`, `value` FROM `' . TABLE_PREFIX . 'settings` WHERE `plugin_name` = ' . $db->quote($plugin) . ';'; + $query = 'SELECT `key`, `value` FROM `' . TABLE_PREFIX . 'settings` WHERE `name` = ' . $db->quote($plugin) . ';'; $query = $db->query($query); $settingsDb = []; diff --git a/system/migrations/36.php b/system/migrations/36.php index 1e22a5a8..d88e9d28 100644 --- a/system/migrations/36.php +++ b/system/migrations/36.php @@ -5,7 +5,7 @@ if(!$db->hasTable(TABLE_PREFIX . 'settings')) { $db->exec("CREATE TABLE `" . TABLE_PREFIX . "settings` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `plugin_name` VARCHAR(255) NOT NULL DEFAULT '', + `name` VARCHAR(255) NOT NULL DEFAULT '', `key` VARCHAR(255) NOT NULL DEFAULT '', `value` TEXT NOT NULL, PRIMARY KEY (`id`),