CC-2357:Tweak to show date end

- fixed
This commit is contained in:
james 2011-06-27 15:59:29 -04:00
parent 4eea4f11b0
commit 52dc267670
4 changed files with 105 additions and 102 deletions

View file

@ -108,8 +108,8 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm
if( $formData["add_show_duration"] == "0m" ) { if( $formData["add_show_duration"] == "0m" ) {
$this->getElement('add_show_duration')->setErrors(array('Cannot have duration 0m')); $this->getElement('add_show_duration')->setErrors(array('Cannot have duration 0m'));
$valid = false; $valid = false;
}elseif(strpos($formData["add_show_duration"], 'h') !== false && intval(substr($formData["add_show_duration"], 0, strpos($formData["add_show_duration"], 'h'))) > 23) { }elseif(strpos($formData["add_show_duration"], 'h') !== false && intval(substr($formData["add_show_duration"], 0, strpos($formData["add_show_duration"], 'h'))) > 24) {
$this->getElement('add_show_duration')->setErrors(array('Cannot have duration > 24h')); $this->getElement('add_show_duration')->setErrors(array('Cannot have duration greater than 24h'));
$valid = false; $valid = false;
}elseif( strstr($formData["add_show_duration"], '-') ){ }elseif( strstr($formData["add_show_duration"], '-') ){
$this->getElement('add_show_duration')->setErrors(array('Cannot have duration < 0m')); $this->getElement('add_show_duration')->setErrors(array('Cannot have duration < 0m'));

View file

@ -8,13 +8,11 @@ class Application_Model_Nowplaying
} }
public static function CreateDatatableRows($p_dbRows){ public static function CreateDatatableRows($p_dbRows){
$dataTablesRows = array(); $dataTablesRows = array();
$date = new DateHelper; $date = new DateHelper;
$timeNow = $date->getTimestamp(); $timeNow = $date->getTimestamp();
foreach ($p_dbRows as $dbRow){ foreach ($p_dbRows as $dbRow){
$status = ($dbRow['show_ends'] < $dbRow['item_ends']) ? "x" : ""; $status = ($dbRow['show_ends'] < $dbRow['item_ends']) ? "x" : "";
@ -27,34 +25,9 @@ class Application_Model_Nowplaying
//format duration //format duration
$duration = explode('.', $dbRow['clip_length']); $duration = explode('.', $dbRow['clip_length']);
$duration = explode(':', $duration[0]); $formated = Application_Model_Nowplaying::FormatDuration($duration[0]);
if($duration[2] == 0){
$duration[2] = '';
}else{
$duration[2] = intval($duration[2],10).'s';
}
if($duration[1] == 0){
if($duration[2] == ''){
$duration[1] = '';
}else{
$duration[1] = intval($duration[1],10).'m';
}
}else{
$duration[1] = intval($duration[1],10).'m';
}
if($duration[0] == 0){
$duration[0] = '';
}else{
$duration[0] = intval($duration[0],10).'h';
}
$duration = $duration[0].$duration[1].$duration[2];
$dataTablesRows[] = array($type, $dbRow['show_starts'], $itemStart[0], $itemEnd[0], $dataTablesRows[] = array($type, $dbRow['show_starts'], $itemStart[0], $itemEnd[0],
$duration, $dbRow['track_title'], $dbRow['artist_name'], $dbRow['album_title'], $formated, $dbRow['track_title'], $dbRow['artist_name'], $dbRow['album_title'],
$dbRow['playlist_name'], $dbRow['show_name'], $status); $dbRow['playlist_name'], $dbRow['show_name'], $status);
} }
@ -108,7 +81,7 @@ class Application_Model_Nowplaying
$data = array_merge($data, $dataTablesRows); $data = array_merge($data, $dataTablesRows);
//append show gap time row //append show gap time row
$gapTime = $si->getShowEndGapTime(); $gapTime = Application_Model_Nowplaying::FormatDuration($si->getShowEndGapTime(), true);
if ($si->isRecorded()) if ($si->isRecorded())
$data[] = Application_Model_Nowplaying::CreateRecordingRow($si); $data[] = Application_Model_Nowplaying::CreateRecordingRow($si);
else if ($gapTime > 0) else if ($gapTime > 0)
@ -125,4 +98,43 @@ class Application_Model_Nowplaying
return true; return true;
} }
} }
/*
* default $time format should be in format of 00:00:00
* if $inSecond = true, then $time should be in seconds
*/
public static function FormatDuration($time, $inSecond=false){
if($inSecond == false){
$duration = explode(':', $time);
}else{
$duration = array();
$duration[0] = intval(($time/3600)%24);
$duration[1] = intval(($time/60)%60);
$duration[2] = $time%60;
}
if($duration[2] == 0){
$duration[2] = '';
}else{
$duration[2] = intval($duration[2],10).'s';
}
if($duration[1] == 0){
if($duration[2] == ''){
$duration[1] = '';
}else{
$duration[1] = intval($duration[1],10).'m ';
}
}else{
$duration[1] = intval($duration[1],10).'m ';
}
if($duration[0] == 0){
$duration[0] = '';
}else{
$duration[0] = intval($duration[0],10).'h ';
}
$out = $duration[0].$duration[1].$duration[2];
return $out;
}
} }

View file

@ -113,16 +113,16 @@ label.wrapp-label input[type="checkbox"] {
} }
#add_show_start_time, #add_show_end_time { #add_show_start_time, #add_show_end_time {
width: 70px; width: 60px;
margin-left:10px; margin-left:10px;
} }
#add_show_end_date_no_repeat, #add_show_start_date { #add_show_end_date_no_repeat, #add_show_start_date {
width: 100px; width: 95px;
} }
#add_show_duration { #add_show_duration {
background: #AAAAAA; background: #AAAAAA;
cursor: default; cursor: default;
width: 100px; width: 50px;
} }

View file

@ -168,25 +168,16 @@ function createDataGrid(){
nTrs[i].parentNode.replaceChild(nGroup, nTrs[i]); nTrs[i].parentNode.replaceChild(nGroup, nTrs[i]);
} else if ( sType.indexOf("g") != -1 ){ } else if ( sType.indexOf("g") != -1 ){
//gap row found //gap row found
var gapTime = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex]]._aData[4]; var gapTime = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex]]._aData[4];
var hours = parseInt( gapTime / 3600 ) % 24;
var minutes = parseInt( gapTime / 60 ) % 60;
var seconds = gapTime % 60;
var gapTimeFormat = (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds);
var nGroup = document.createElement('tr'); var nGroup = document.createElement('tr');
var nCell = document.createElement('td'); var nCell = document.createElement('td');
nCell.colSpan = iColspan; nCell.colSpan = iColspan;
nCell.className = "gap"; nCell.className = "gap";
nCell.innerHTML = "Gap until show end: " + gapTimeFormat; nCell.innerHTML = "Gap until show end: " + gapTime;
nGroup.appendChild(nCell); nGroup.appendChild(nCell);
nTrs[i].parentNode.replaceChild(nGroup, nTrs[i]); nTrs[i].parentNode.replaceChild(nGroup, nTrs[i]);
} else if ( sType.indexOf("r") != -1 ){ } else if ( sType.indexOf("r") != -1 ){
//gap row found //gap row found
var showName = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex]]._aData[4]; var showName = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex]]._aData[4];
var nGroup = document.createElement('tr'); var nGroup = document.createElement('tr');