<?php
// Beállítások
$debug_mode = true;
$use_password_protection = !$debug_mode;
$valid_password = 'LLpbGvGT0Zw27JwNsy5799crretw0WmZdR';
$update_directory = './updates/';
$log_file = 'debuglog.txt';

function log_debug_info($message) {
    global $log_file;
    $timestamp = date("Y-m-d H:i:s");
    file_put_contents($log_file, "$timestamp - $message\n", FILE_APPEND);
}

log_debug_info("Incoming request: " . $_SERVER['REQUEST_METHOD'] . " " . $_SERVER['REQUEST_URI']);

if ($_SERVER['REQUEST_METHOD'] === 'POST' || $debug_mode) {

    if ($use_password_protection) {
        $received_password = $_POST['password'] ?? '';
        if ($received_password !== $valid_password) {
            log_debug_info("Invalid password attempt.");
            header('Content-Type: application/json');
            echo json_encode(['error' => 'Invalid password']);
            exit;
        }
    } else {
        log_debug_info("Password check bypassed (debug mode).");
    }

    $updates = [];
    foreach (glob($update_directory . '*', GLOB_ONLYDIR) as $dir) {
        $folderName = basename($dir);
        $files = array_diff(scandir($dir), array('.', '..'));

        // Prioritize main.js if it exists
        usort($files, function($a, $b) {
            if ($a === 'main.js') return -1;
            if ($b === 'main.js') return 1;
            return 0;
        });

        $updates[] = [
            'version' => $folderName,
            'download_url' => 'https://update.kajexmonitor.kajex.hu/updates/' . $folderName . '/',
            'files' => $files
        ];
    }

    log_debug_info("Update list generated: " . json_encode($updates));

    header('Content-Type: application/json');
    echo json_encode($updates);

} else {
    log_debug_info("Invalid request method, POST required.");
    
    header('Content-Type: application/json');
    echo json_encode(['error' => 'Invalid request method']);
}
?>
