[ 'latitude' => 48.8566, 'longitude' => 2.3522 ], 'screensaver' => [ 'enabled' => true, 'start' => '19:30', 'end' => '06:00', 'qrCode' => 'https://imators.com/about/screen-saver' ], 'weather' => [ 'enabled' => false ], 'serial' => '', 'status' => 'active' ]; $showSetup = false; $stopMessage = ''; if (isset($_POST['saveConfig'])) { $latitude = filter_input(INPUT_POST, 'latitude', FILTER_VALIDATE_FLOAT); $longitude = filter_input(INPUT_POST, 'longitude', FILTER_VALIDATE_FLOAT); $serialNumber = filter_input(INPUT_POST, 'serial', FILTER_SANITIZE_STRING); $stmt = $pdo->prepare("SELECT * FROM `imators-systems-billboard` WHERE serial = ?"); $stmt->execute([$serialNumber]); $existing = $stmt->fetch(); if ($existing) { $_SESSION['config'] = json_decode($existing['config'], true); $_SESSION['serial'] = $serialNumber; $_SESSION['status'] = $existing['status']; } else { $config['location']['latitude'] = $latitude; $config['location']['longitude'] = $longitude; $config['serial'] = $serialNumber; $stmt = $pdo->prepare("INSERT INTO `imators-systems-billboard` (serial, config, status, last_seen) VALUES (?, ?, 'active', NOW())"); $stmt->execute([$serialNumber, json_encode($config)]); $_SESSION['config'] = $config; $_SESSION['serial'] = $serialNumber; $_SESSION['status'] = 'active'; } header('Location: index.php'); exit; } if (!isset($_SESSION['config']) || !isset($_SESSION['serial'])) { $showSetup = true; } else { $config = $_SESSION['config']; $serialNumber = $_SESSION['serial']; $stmt = $pdo->prepare("UPDATE `imators-systems-billboard` SET last_seen = NOW() WHERE serial = ?"); $stmt->execute([$serialNumber]); $stmt = $pdo->prepare("SELECT * FROM `imators-systems-billboard` WHERE serial = ?"); $stmt->execute([$serialNumber]); $billboard = $stmt->fetch(); if ($billboard && $billboard['status'] === 'stopped') { $stopMessage = $billboard['stop_message'] ?? 'Ce panneau a été arrêté par l\'administrateur.'; } } $videos = [ [ 'src' => 'https://cdn.imators.com/imators_systems_ads2.mp4', 'link' => 'https://academ.my', 'showElements' => true, 'showQR' => true, 'showHour' => ['show' => true, 'color' => 'white'], 'showDate' => ['show' => true, 'color' => 'white'], 'showWeather' => true, 'timeSlot' => ['start' => '00:00', 'end' => '00:00'], 'loop' => true ], [ 'src' => 'https://cdn.imators.com/imators_systems_ads1.mp4', 'link' => 'https://imators.com/about/daywithimators', 'showElements' => true, 'showQR' => true, 'showHour' => ['show' => true, 'color' => 'black'], 'showDate' => ['show' => true, 'color' => 'black'], 'showWeather' => false, 'timeSlot' => ['start' => '00:00', 'end' => '00:00'], 'loop' => true ], [ 'src' => 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/TearsOfSteel.mp4', 'link' => 'https://example.com/link3', 'showElements' => true, 'showQR' => true, 'showHour' => ['show' => true, 'color' => 'white'], 'showDate' => ['show' => true, 'color' => 'white'], 'showWeather' => true, 'timeSlot' => ['start' => '00:00', 'end' => '00:00'], 'loop' => true ], [ 'src' => 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/Sintel.mp4', 'link' => 'https://example.com/link4', 'showElements' => true, 'showQR' => false, 'showHour' => ['show' => true, 'color' => 'white'], 'showDate' => ['show' => true, 'color' => 'white'], 'showWeather' => false, 'timeSlot' => ['start' => '00:00', 'end' => '00:00'], 'loop' => true ] ]; ?>
Nous vous souhaitons une bonne soirée et à demain !