false, 'message' => 'Invalid JSON data received: ' . $error ]); exit; } // Try to update config file $result = $configObject->editConfigFile($postData, $config_file); if ($result === true) { $messageData = Feedback::getMessageData('NOTICE', 'DEFAULT', 'Config file updated successfully', true); echo json_encode([ 'success' => true, 'message' => 'Config file updated successfully', 'messageData' => $messageData ]); } else { $messageData = Feedback::getMessageData('ERROR', 'DEFAULT', "Error updating config file: $result", true); echo json_encode([ 'success' => false, 'message' => "Error updating config file: $result", 'messageData' => $messageData ]); } exit; } // Handle non-AJAX POST $result = $configObject->editConfigFile($_POST, $config_file); if ($result === true) { Feedback::flash('NOTICE', 'DEFAULT', 'Config file updated successfully', true); } else { Feedback::flash('ERROR', 'DEFAULT', "Error updating config file: $result", true); } header('Location: ' . htmlspecialchars($app_root) . '?page=config'); exit; } // Only include template for non-AJAX requests if (!$isAjax) { /** * Handles GET requests to display templates. */ if ($userObject->hasRight($user_id, 'view config file')) { include '../app/templates/config.php'; } else { $logObject->insertLog($user_id, "Unauthorized: User \"$currentUser\" tried to access \"config\" page. IP: $user_IP", 'system'); include '../app/templates/error-unauthorized.php'; } } ?>