Option to disable settings saving with hooks

for next.my-aac.org
This commit is contained in:
slawkens
2023-08-23 11:57:37 +02:00
parent 43353b4f53
commit f43a5d1221
4 changed files with 21 additions and 3 deletions

View File

@@ -68,6 +68,7 @@ define('HOOK_ADMIN_LOGIN_AFTER_ACCOUNT', ++$i);
define('HOOK_ADMIN_LOGIN_AFTER_PASSWORD', ++$i);
define('HOOK_ADMIN_LOGIN_AFTER_SIGN_IN', ++$i);
define('HOOK_ADMIN_ACCOUNTS_SAVE_POST', ++$i);
define('HOOK_ADMIN_SETTINGS_BEFORE_SAVE', ++$i);
define('HOOK_EMAIL_CONFIRMED', ++$i);
define('HOOK_GUILDS_BEFORE_GUILD_HEADER', ++$i);
define('HOOK_GUILDS_AFTER_GUILD_HEADER', ++$i);

View File

@@ -60,6 +60,16 @@ class Settings implements ArrayAccess
}
$settings = $this->settingsFile[$pluginName];
global $hooks;
if (!$hooks->trigger(HOOK_ADMIN_SETTINGS_BEFORE_SAVE, [
'name' => $pluginName,
'values' => $values,
'settings' => $settings,
])) {
return false;
}
if (isset($settings['callbacks']['beforeSave'])) {
if (!$settings['callbacks']['beforeSave']($settings, $values)) {
return false;

View File

@@ -1602,7 +1602,7 @@ Sent by MyAAC,<br/>
if ($key == 'server_path') {
$server_path = $values[$key];
}
elseif (strpos($key, 'database_') !== false) {
elseif (str_contains($key, 'database_')) {
$database[$key] = $values[$key];
}