CC-5902: Linked Shows -> Replace content check assumes content of shows have the same number of tracks

Conflicts:
	airtime_mvc/application/services/SchedulerService.php
This commit is contained in:
drigato 2014-08-18 12:59:43 -04:00
parent afc3d981e8
commit ee52c7692c
1 changed files with 24 additions and 14 deletions

View File

@ -333,23 +333,33 @@ class Application_Service_SchedulerService
} }
} }
private static function replaceInstanceContentCheck($currentShowStamp, $showStamp) private static function replaceInstanceContentCheck($currentShowStamp, $showStamp, $instance_id)
{ {
$counter = 0; $counter = 0;
$erraseShow = false;
if (count($currentShowStamp) != count($showStamp)) {
$erraseShow = true;
} else {
foreach ($showStamp as $item) { foreach ($showStamp as $item) {
if ($item["file_id"] != $currentShowStamp[$counter]["file_id"] || if ($item["file_id"] != $currentShowStamp[$counter]["file_id"] ||
$item["stream_id"] != $currentShowStamp[$counter]["stream_id"]) { $item["stream_id"] != $currentShowStamp[$counter]["stream_id"]) {
$erraseShow = true;
break;
/*CcScheduleQuery::create() /*CcScheduleQuery::create()
->filterByDbInstanceId($ccShowInstance->getDbId()) ->filterByDbInstanceId($ccShowInstance->getDbId())
->delete();*/ ->delete();*/
}
$counter += 1;
}
}
if ($erraseShow) {
$delete_sql = "DELETE FROM cc_schedule ". $delete_sql = "DELETE FROM cc_schedule ".
"WHERE instance_id = {$currentShowStamp[$counter]["instance_id"]}"; "WHERE instance_id = {$instance_id}";
Application_Common_Database::prepareAndExecute( Application_Common_Database::prepareAndExecute(
$delete_sql, array(), Application_Common_Database::EXECUTE); $delete_sql, array(), Application_Common_Database::EXECUTE);
return true; return true;
} }
$counter += 1;
}
/* If we get here, the content in the show instance is the same /* If we get here, the content in the show instance is the same
* as what we want to replace it with, so we can leave as is * as what we want to replace it with, so we can leave as is