<?php
// validation_functions.php

require_once __DIR__ . '/logging_functions.php';

function isValidDatabaseRequest($logFile) {
    internal_debug_log("Validierungs-Check gestartet.", $logFile);

    // Erlaubte Parameter-Namen
    $allowedParams = ['start_id', 'end_id', 'p'];

    // Holen Sie alle tatsächlichen Parameter aus der URL
    $actualParams = array_keys($_GET);

    // Fall 1: Keine Parameter. Anfrage ist gültig.
    if (empty($actualParams)) {
        internal_debug_log("Keine URL-Parameter. Anfrage ist gültig.", $logFile);
        return true;
    }

    // Fall 2: Prüfen, ob ALLE gefundenen Parameter in der Liste der erlaubten Parameter sind.
    $valid = true;
    foreach ($actualParams as $param) {
        if (!in_array($param, $allowedParams)) {
            // Ein unerlaubter Parameter wurde gefunden.
            $valid = false;
            break; 
        }
    }

    if ($valid) {
        internal_debug_log("Nur erlaubte Parameter ('" . implode(', ', $actualParams) . "') gefunden. Anfrage ist gültig.", $logFile);
        return true;
    }

    // Alle anderen Fälle sind ungültig.
    $queryString = $_SERVER['QUERY_STRING'];
    internal_debug_log("Ungültige Parameter in der URL gefunden: '" . $queryString . "'. Anfrage ist ungültig.", $logFile);
    return false;
}
?>