0) { $nrow = mysqli_fetch_assoc($nqueue); $ntrackID = mysqli_real_escape_string($db_conx, $nrow['trackID']); $nartist = stripslashes(mysqli_real_escape_string($db_conx, $nrow['artist'])); $ntitle = stripslashes(mysqli_real_escape_string($db_conx, $nrow['title'])); // Zoek naar artiestenfoto if (!empty($nartist) && file_exists('pictures/'.$nartist.'.jpg')) { $nartist_pic = 'pictures/'.$nartist.'.jpg'; } // Zoek naar verzoekbericht $sqlreqch = "SELECT `username`, `message` FROM `requests` WHERE `songID`='".$ntrackID."' AND `requested` > NOW() - INTERVAL 2 HOUR LIMIT 1"; $result = mysqli_query($db_conx, $sqlreqch); if ($result && mysqli_num_rows($result) > 0) { $rinfo = mysqli_fetch_assoc($result); $requsername = mysqli_real_escape_string($db_conx, $rinfo['username']); $msg = stripslashes(mysqli_real_escape_string($db_conx, $rinfo['message'])); $reqmsg = 'Requested by ' . $requsername . ' - ' . $msg; } else { $reqmsg = 'Vraag een nummer aan en draag het op met je boodschap hier...'; } } // --- Deel 2: Aankomende Nummers (Upcoming) --- $upcoming_data = []; $shuffleQuery = SHUFFCUP ? " ORDER BY RAND()" : ""; $sqlque = "SELECT songs.ID, songs.artist, queuelist.songID FROM songs, queuelist WHERE songs.song_type=0 AND songs.ID=queuelist.songID" . $shuffleQuery . " LIMIT 0,4"; $lqueue = mysqli_query($db_conx, $sqlque); if ($lqueue) { while($qlrow = mysqli_fetch_assoc($lqueue)) { $lid = mysqli_real_escape_string($db_conx, $qlrow['ID']); $lartist = stripslashes(mysqli_real_escape_string($db_conx, $qlrow['artist'])); $unartist_pic = 'assets/img/noimg.jpg'; // Standaard $is_requested = false; // Zoek naar artiestenfoto (kleine) if (!empty($lartist) && file_exists('pictures/'.$lartist.'.jpg')) { $unartist_pic = 'pictures/'.$lartist.'.jpg'; } // Zoek naar verzoek (alleen aanwezigheid, niet de boodschap) $sqlreqch = "SELECT `songID` FROM `requests` WHERE `songID`='".$lid."' AND `requested` > NOW() - INTERVAL 3 HOUR LIMIT 1"; $result = mysqli_query($db_conx, $sqlreqch); if ($result && mysqli_num_rows($result) > 0) { $is_requested = true; } $upcoming_data[] = [ 'artist' => $lartist, 'picture' => $unartist_pic, 'is_requested' => $is_requested, ]; } } // --- Deel 3: JSON Opslag --- $data = [ 'now_playing' => [ 'title' => $ntitle, 'artist' => $nartist, 'picture' => $nartist_pic, 'request_message' => $reqmsg, ], 'upcoming' => $upcoming_data ]; $json_data = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); // Schrijf de JSON data naar het bestand. // BELANGRIJK: Zorg dat de map 'assets/' schrijfpermissies heeft (CHMOD 755 of 777) if (!file_put_contents($json_file, $json_data)) { // Voor foutopsporing: error_log("Fout: Kon $json_file niet schrijven. Controleer permissies."); } // Sluit database connectie (belangrijk voor Cronjobs) if (isset($db_conx)) { mysqli_close($db_conx); } ?>