function get_prev_next_songs($setID, $songID) { $songs = get_set_contents($setID); $first = null; $last = null; $prev = null; $passed = false; $next = null; $position = 1; $count = count($songs); foreach ($songs as $key => $val) { if (!$first) { $first = $key; } if ($key == $songID || $passed) { if ($passed && !$next) { $next = $key; } $passed = true; } else { $prev = $key; $position++; } $last = $key; } if (!$prev) { $prev = $last; } if (!$next) { $next = $first; } return array('prev' => $prev, 'next' => $next, 'position' => $position, 'count' => $count); }
<?php require_once "resources/core.php"; if (!(isset($_POST) && $_POST || isset($_FILES) && $_FILES)) { echo "this file can only be accessed by valid AJAX requests"; die; } // Process SetList Request if (isset($_POST['setID']) && isset($_POST['reorder']) && $_POST['setID'] && $_POST['reorder']) { $setID = $_POST['setID']; $query = "SELECT * FROM sets WHERE setID='" . $db->escape($setID) . "'"; $results = $db->get_row($query); if ($results) { //json request $newOrder = json_decode($_POST['reorder']); $oldOrder = get_set_contents($setID); if (count($oldOrder) != count($newOrder)) { die; } $position = 1; $newID = null; foreach ($oldOrder as $oldID => $val) { $newID = array_shift($newOrder); if ($oldID != $newID) { break; } $position++; } move_song_in_set($newID, $setID, $position); } die;
<?php require_once "resources/core.php"; $setID = ""; $set = null; $songs = array(); if (isset($_GET['setID']) && $_GET['setID']) { $setID = $_GET['setID']; $query = "SELECT * FROM sets WHERE setID='" . $db->escape($setID) . "'"; $results = $db->get_row($query); if ($results) { if (isset($_GET['addSong']) && $_GET['addSong']) { add_song_to_set($_GET['addSong'], $setID); } $set = $results; $songs = get_set_contents($setID); } else { //unknown set $message = array('type' => 'error', 'text' => "Unknown SetID. Please go back and select again.", 'destructs' => false); } } else { // no set given $message = array('type' => 'error', 'text' => "This page can only be used when a setID is specified", 'destructs' => false); header('Location: setlists.php'); } include 'resources/templates/head.php'; include 'resources/templates/set.php'; include 'resources/templates/foot.php';