diff --git a/airtime_mvc/application/models/Nowplaying.php b/airtime_mvc/application/models/Nowplaying.php index 94abd3e62..c831cda6e 100644 --- a/airtime_mvc/application/models/Nowplaying.php +++ b/airtime_mvc/application/models/Nowplaying.php @@ -11,10 +11,19 @@ class Application_Model_Nowplaying $dataTablesRows = array(); + $date = new DateHelper; + $timeNow = $date->getTimestamp(); + + foreach ($p_dbRows as $dbRow){ - $dataTablesRows[] = array('a', $dbRow['show_starts'], $dbRow['show_starts'], $dbRow['show_ends'], + $status = ($dbRow['show_ends'] < $dbRow['item_ends']) ? "x" : ""; + + $type = "a"; + $type .= ($dbRow['item_ends'] > $timeNow && $dbRow['item_starts'] <= $timeNow) ? "c" : ""; + + $dataTablesRows[] = array($type, $dbRow['show_starts'], $dbRow['item_starts'], $dbRow['item_ends'], $dbRow['clip_length'], $dbRow['track_title'], $dbRow['artist_name'], $dbRow['album_title'], - $dbRow['playlist_name'], $dbRow['playlist_name'], $dbRow['show_name']); + $dbRow['playlist_name'], $dbRow['show_name'], $status); } return $dataTablesRows; diff --git a/airtime_mvc/application/models/Shows.php b/airtime_mvc/application/models/Shows.php index f6ca916b2..088b8b49f 100644 --- a/airtime_mvc/application/models/Shows.php +++ b/airtime_mvc/application/models/Shows.php @@ -1649,7 +1649,8 @@ class ShowInstance { ."AND si.ends < TIMESTAMP '$p_timeNow' + INTERVAL '$p_end seconds') " ."OR (si.starts < TIMESTAMP '$p_timeNow' + INTERVAL '$p_end seconds' " ."AND si.ends > TIMESTAMP '$p_timeNow' + INTERVAL '$p_end seconds') " - .")"; + .") " + ." ORDER BY si.starts"; $rows = $CC_DBC->GetAll($sql); return $rows; diff --git a/airtime_mvc/public/js/airtime/nowplaying/nowplayingdatagrid.js b/airtime_mvc/public/js/airtime/nowplaying/nowplayingdatagrid.js index 1b041482d..005dcb45b 100644 --- a/airtime_mvc/public/js/airtime/nowplaying/nowplayingdatagrid.js +++ b/airtime_mvc/public/js/airtime/nowplaying/nowplayingdatagrid.js @@ -55,6 +55,7 @@ function statusColumn(obj) { if ( sReturn == "x" ) { sReturn = ''; } + return sReturn; } @@ -132,13 +133,10 @@ function createDataGrid(){ "bPaginate": false, "aoColumns": columns, "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) { - if (aData[aData.length-2] == currentShowInstanceID) - $(nRow).addClass("playing-list"); - if (aData[0] == "c") + //if (aData[aData.length-2] == currentShowInstanceID) + // $(nRow).addClass("playing-list"); + if (aData[0].indexOf("c") != -1) $(nRow).attr("class", "playing-song"); - else if (aData[0] == "over"){ - //$(nRow).attr("class", "over-booked-song"); - } return nRow; }, "fnDrawCallback": function(oSettings){ @@ -154,7 +152,7 @@ function createDataGrid(){ var iDisplayIndex = oSettings._iDisplayStart + i; var sType = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex]]._aData[0]; - if ( sType == "h" ){ + if ( sType.indexOf("h") != -1 ){ //show header row found var showName = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex]]._aData[1]; @@ -168,7 +166,7 @@ function createDataGrid(){ nCell.innerHTML = showName + ": " + startTime + " - " + endTime; nGroup.appendChild(nCell); nTrs[i].parentNode.replaceChild(nGroup, nTrs[i]); - } else if ( sType == "g" ){ + } else if ( sType.indexOf("g") != -1 ){ //gap row found var gapTime = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex]]._aData[1];