/**
 * updateNowPlaying - sets the currently playing song in the database, affecting
 * `logbook` immediately (time-played is offset +20s to account for delay,
 * `now_playing` (after 20 seconds)
 * and sends to the RDS (immediately; we don't worry about 20s delay here.)
 * @param int $logbookID the logbookID of the song to be set as now playing
 */
function setNowPlaying($logbookID)
{
    // set time to 20 seconds in advance (because of delay)
    $time = date('Y-m-d H:i:s', strtotime('+20 seconds'));
    $q = sprintf("UPDATE `logbook` SET played=1, time_played='%s' WHERE logbookID = %d", $time, $logbookID);
    mysql_query($q) or die("MySQL error [" . __FILE__ . "] near line " . __LINE__ . ": " . mysql_error());
    // get the name/artist of the current list
    $query = sprintf("SELECT lb_track_name, lb_artist FROM `logbook` WHERE logbookID = %d LIMIT 1", $logbookID);
    $result = mysql_query($query) or die("MySQL error [" . __FILE__ . "] near line " . __LINE__ . ": " . mysql_error());
    $row = mysql_fetch_array($result, MYSQL_ASSOC);
    // sanitize
    $artist = mysql_real_escape_string($row['lb_artist']);
    $song = mysql_real_escape_string($row['lb_track_name']);
    // send RDS info here; the delay is already set with that.
    sendRDS($row['lb_artist'], $row['lb_track_name']);
    // wait 20 seconds to change now playing on for the stream, because it's
    // post-delay
    //s		sleep(20);
    $query = sprintf("UPDATE `now_playing` SET logbookID = '%d', lb_artist_name = '%s', lb_track_name = '%s'", $logbookID, $artist, $song);
    $result = mysql_query($query) or die("MySQL error [" . __FILE__ . "] near line " . __LINE__ . ": " . mysql_error());
}
示例#2
0
    $qu = sprintf("SELECT * FROM `libalbum`, `libtrack`, `liblabel`, `libartist`, `def_rotations` WHERE libalbum.artistID = libartist.artistID AND libalbum.labelID = liblabel.labelID AND libalbum.albumID = libtrack.albumID AND libtrack.track_num = '%s' AND libalbum.album_code = '%s' AND def_rotations.rotationID = libalbum.rotationID LIMIT 1", $trackNo, $albumNo);
    $rs = mysql_query($qu) or die("MySQL error near line " . __LINE__ . ": " . mysql_error());
    if (mysql_num_rows($rs) != 1) {
        echo "\n\n\n" . "ERROR: Not 1 row returned!\n";
        die;
    }
    $row = mysql_fetch_array($rs, MYSQL_ASSOC);
    /** the sanitize function is in ../utils_ccl.php **/
    sanitize($row);
    $genre = $row['genre'];
    $rotation = substr($row['rotation_bin'], 0, 1);
    $artist = $row['artist_name'];
    $track = $row['track_name'];
    $album = $row['album_name'];
    $label = $row['label'];
    $query = sprintf("INSERT INTO `%s` \n\t\t(showID, lb_album_code, lb_track_num, lb_rotation, lb_artist, lb_track_name, lb_album, lb_label, time_played, played) VALUES \n\t\t('%d', '%s', '%d', '%s', '%s', '%s', '%s', '%s', '%s', 1)", $tablename, $showid, $albumNo, $trackNo, $rotation, $artist, $track, $album, $label, $time);
    $update_now_playing = sprintf("UPDATE now_playing SET logbookID = LAST_INSERT_ID(), lb_track_name = '%s', lb_artist_name = '%s'", $track, $artist);
    sendRDS($artist, $track);
}
//echo "Hello! You are logging number $cartid\n";
//echo "Show ID is $showid\n";
if (mysql_query($query)) {
    if (!empty($update_now_playing)) {
        mysql_query($update_now_playing) or die("MySQL error near line " . __LINE__ . ": " . mysql_error());
    }
    echo "Logged " . $_GET['cartid'] . " successfully.";
} else {
    echo "MySQL error near line " . __LINE__ . ": " . mysql_error();
}
//lbplaylist: p_sID, pNumInShow, pAlbumNo, pTrackNo, pGenre, pRotation,
//pArtistName, pSongTitle, pAlbumTitle, pRecordLabel, pCurrentlyPlaying