From 2f8ee7a7ebb070a7d3641bec9867f67baebd641f Mon Sep 17 00:00:00 2001 From: slawkens Date: Wed, 17 May 2023 06:07:52 +0200 Subject: [PATCH] Add new function: only_if, to hide fields when they are not enabled [WIP] Not fully finished yet --- admin/pages/settings.php | 6 +- system/libs/Settings.php | 15 +++-- system/settings.php | 69 ++++++++++++++++++++++- system/templates/admin.settings.html.twig | 42 +++++++++++++- 4 files changed, 121 insertions(+), 11 deletions(-) diff --git a/admin/pages/settings.php b/admin/pages/settings.php index 16ceab82..00f3e003 100644 --- a/admin/pages/settings.php +++ b/admin/pages/settings.php @@ -64,8 +64,10 @@ if (isset($_POST['save'])) { $title = ($plugin == 'core' ? 'Settings' : 'Plugin Settings - ' . $plugin); -$settings = Settings::display($settingsKeyName, $settingsFile['settings']); +$settingsParsed = Settings::display($settingsKeyName, $settingsFile['settings']); $twig->display('admin.settings.html.twig', [ - 'settings' => $settings, + 'settingsParsed' => $settingsParsed['content'], + 'settings' => $settingsFile['settings'], + //'script' => $settingsParsed['script'], ]); diff --git a/system/libs/Settings.php b/system/libs/Settings.php index a4475fc2..325c9928 100644 --- a/system/libs/Settings.php +++ b/system/libs/Settings.php @@ -71,7 +71,7 @@ class Settings implements ArrayAccess } } - public static function display($plugin, $settings): string + public static function display($plugin, $settings): array { global $db; @@ -85,12 +85,17 @@ class Settings implements ArrayAccess } } + $javascript = ''; ob_start(); ?>