Merge branch 'master' into maint/hostapd-refactor

This commit is contained in:
billz
2025-07-28 09:09:40 -07:00
7 changed files with 97 additions and 26 deletions

View File

@@ -12,6 +12,23 @@ function DisplaySystem(&$extraFooterScripts)
$dashboard = new \RaspAP\UI\Dashboard;
$pluginInstaller = \RaspAP\Plugins\PluginInstaller::getInstance();
// set defaults
$optAutoclose = true;
$alertTimeout = 5000;
$good_input = true;
$config_port = false;
// set alert_timeout from cookie if valid
if (isset($_COOKIE['alert_timeout']) && is_numeric($_COOKIE['alert_timeout'])) {
$cookieTimeout = (int) $_COOKIE['alert_timeout'];
if ($cookieTimeout > 0) {
$alertTimeout = $cookieTimeout;
} else {
// A value of 0 means auto-close is disabled
$optAutoclose = false;
}
}
if (isset($_POST['SaveLanguage'])) {
if (isset($_POST['locale'])) {
$_SESSION['locale'] = $_POST['locale'];
@@ -21,7 +38,6 @@ function DisplaySystem(&$extraFooterScripts)
if (!RASPI_MONITOR_ENABLED) {
if (isset($_POST['SaveServerSettings'])) {
$good_input = true;
// Validate server port
if (isset($_POST['serverPort'])) {
if (strlen($_POST['serverPort']) > 4 || !is_numeric($_POST['serverPort'])) {
@@ -32,13 +48,13 @@ function DisplaySystem(&$extraFooterScripts)
}
}
// Validate server bind address
$serverBind = escapeshellarg('');
if ($_POST['serverBind'] && $_POST['serverBind'] !== null ) {
if (!filter_var($_POST['serverBind'], FILTER_VALIDATE_IP)) {
if (isset($_POST['serverBind']) && $_POST['serverBind'] !== '') {
$inputBind = trim($_POST['serverBind']);
if (!filter_var($inputBind, FILTER_VALIDATE_IP)) {
$status->addMessage('Invalid value for bind address', 'danger');
$good_input = false;
} else {
$serverBind = escapeshellarg($_POST['serverBind']);
$serverBind = escapeshellarg($inputBind);
}
}
// Validate log limit
@@ -58,6 +74,21 @@ function DisplaySystem(&$extraFooterScripts)
$status->addMessage($line, 'info');
}
}
} elseif (isset($_POST['savethemeSettings'])) {
// Validate alert timout
if (isset($_POST['autoClose'])) {
$alertTimeout = trim($_POST['alertTimeout'] ?? '');
if (strlen($alertTimeout) > 7 || !is_numeric($alertTimeout)) {
$status->addMessage('Invalid value for alert close timeout', 'danger');
$good_input = false;
} else {
setcookie('alert_timeout', (int) $alertTimeout);
$status->addMessage(sprintf(_('Changing alert close timeout to %s ms'), $alertTimeout), 'info');
}
} else {
setcookie('alert_timeout', '', time() - 3600, '/');
$optAutoclose = false;
}
}
}
@@ -155,7 +186,9 @@ function DisplaySystem(&$extraFooterScripts)
"themes",
"selectedTheme",
"logLimit",
"pluginsTable"
"pluginsTable",
"optAutoclose",
"alertTimeout"
));
}