break; } $result = $result . json_encode($searchResults) . "]"; } else { $result = $result . "\"result\":\"error\", \"message\":\"Query not set\""; } break; case "queue-add": if (isset($id)) { $added = addSongToQueue($id); unset($_POST['id']); if ($added == R_SUCCESS) { $result = $result . "\"result\":\"success\", \"message\":\"Song added\""; } else { if ($added == R_SONG_REQUEST_TOO_SOON) { $timeSince = time() - getSongRequestTime($id); $t = ceil((SONG_REQUEST_LIMIT - $timeSince) / 60); $s = $t != 1 ? 's' : ''; $result = $result . "\"result\":\"error\", \"message\":\"Song requested too soon. It can be requested again in {$t} minute{$s}\""; } } } else { $result = $result . "\"result\":\"error\", \"message\":\"ID not set\""; } break; case "queue-list": $currentQueue = getQueue(); $result = $result . "[" . json_encode($currentQueue) . "]"; } $result = $result . "}}"; echo $result;
function removeSongAtPosition($pos) { $q = getQueue(); if (count($q) > $pos) { $toDelete = $q[$pos]; $id = $toDelete->id; removeSongFromQueue($id); } }
function addUser($conn, $user) { $array = ['queue_id' => $user->getQueueId(), "queue" => getQueue($conn, $user->getQueueId())->getName(), "position" => addUserDB($conn, $user), "serving" => getfirstInLine($conn, $user->getQueueId())]; return $array; }
<?php require_once 'config.php'; $session_code = $_POST['session_code']; $hosting = $_POST['hosting']; getQueue($session_code); function getQueue($session_code) { global $connection; $query = "SELECT * FROM Tracks WHERE session_code='" . $session_code . "' AND status='queued' ORDER BY votes DESC, id"; $tracks = mysqli_query($connection, $query); $numTracks = mysqli_num_rows($tracks); while ($track = mysqli_fetch_array($tracks)) { echo '<button class="queue-item text-left" onclick="promoteTrack(' . $track['id'] . ')">'; echo '<span class="title">' . $track['title'] . '</span>'; echo '<span class="length">' . secondsToMinutes($track['length']) . '</span>'; echo '<span class="artist">' . $track['artist'] . '</span>'; echo '<span class=divider">-</span>'; echo '<span class="album">' . $track['album'] . '</span>'; echo '<span class="votes">' . $track['votes'] . '</span>'; //echo '<a class="remove" onclick="removeTrack(' . $track['id'] . ')"><i class="icon-remove-sign"></i></a>'; echo '</button>'; } return true; } function secondsToMinutes($seconds) { $minutes = ''; $minutes .= (int) ($seconds / 60); $minutes .= ':'; if ($seconds % 60 < 10) {
} else { // Always Show user Position echo '<div id="position">'; echo '<h3>Your current position is:</h3>'; echo '<h1 class="cover-heading"> ' . $_SESSION['position'] . '</h1>'; echo '<h3 > In Queue "' . $_SESSION['curr_queue'] . '"</h3>'; echo '</div>'; } } if (isset($_GET['id']) || isset($_SESSION['queue_id'])) { if (isset($_GET['id'])) { $pgqid = $_GET['id']; } else { $pgqid = $_SESSION['queue_id']; } $queue_sel = getQueue($conn, intval($pgqid)); echo '<h1 class="que-heading">"' . $queue_sel->getName() . '"</h1>'; $firstInLine = getfirstInLine($conn, $pgqid); if (!empty($firstInLine)) { $lastInLine = getLastInLine($conn, $pgqid); $length = intval($lastInLine) - intval($firstInLine); for ($i = 0; $i < $length; $i++) { echo '<i class="que-circle"></i>'; } if ($length > 1) { echo '<h2>There are ' . $length . ' people ahead of you</h2>'; } elseif ($length == 1) { echo '<h2>There is ' . $length . ' person ahead of you</h2>'; } } else { echo '<h1 class="cover-heading">Queue is Empty!!</h1>';