* @copyright 2019 MyAAC * @link https://my-aac.org */ defined('MYAAC') or die('Direct access not allowed!'); $title = 'Settings'; require_once SYSTEM . 'clients.conf.php'; if (!isset($_GET['plugin']) || empty($_GET['plugin'])) { error('Please select plugin name from left Panel.'); return; } $plugin = $_GET['plugin']; if($plugin != 'core') { $pluginSettings = Plugins::getPluginSettings($plugin); if (!$pluginSettings) { error('This plugin does not exist or does not have options defined.'); return; } } if($plugin === 'core') { $settingsFile = require SYSTEM . 'settings.php'; } else { $settingsFile = require BASE . $pluginSettings; } if (!is_array($settingsFile)) { return; } if (isset($_POST['save'])) { $db->query('DELETE FROM `' . TABLE_PREFIX . 'settings` WHERE `plugin_name` = ' . $db->quote($plugin) . ';'); foreach ($_POST['settings'] as $key => $value) { try { $db->insert(TABLE_PREFIX . 'settings', ['plugin_name' => $plugin, 'key' => $key, 'value' => $value]); } catch (PDOException $error) { warning('Error while saving setting (' . $plugin . ' - ' . $key . '): ' . $error->getMessage()); } } $cache = Cache::getInstance(); if ($cache->enabled()) { $cache->delete('settings'); } success('Saved at ' . date('H:i')); } $title = ($plugin == 'core' ? 'MyAAC Settings' : 'Plugin Settings - ' . $plugin); $query = 'SELECT `key`, `value` FROM `' . TABLE_PREFIX . 'settings` WHERE `plugin_name` = ' . $db->quote($plugin) . ';'; $query = $db->query($query); $settingsDb = []; if($query->rowCount() > 0) { foreach($query->fetchAll(PDO::FETCH_ASSOC) as $value) { $settingsDb[$value['key']] = $value['value']; } } ?>
' . ($type ? 'Yes' : 'No') . ' '; }; foreach($settingsFile as $key => $setting) { ?>
Name Value Description
'; } else if($setting['type'] === 'textarea') { echo ''; } if ($setting['type'] === 'options') { if ($setting['options'] === '$templates') { $templates = array(); foreach (get_templates() as $value) { $templates[$value] = $value; } $setting['options'] = $templates; } else if($setting['options'] === '$clients') { $clients = array(); foreach((array)config('clients') as $client) { $client_version = (string)($client / 100); if(strpos($client_version, '.') === false) $client_version .= '.0'; $clients[$client] = $client_version; } $setting['options'] = $clients; } echo ''; } ?>