CC-4100: Make number of shows displayed in widget customizable

-fixed
This commit is contained in:
Martin Konecny 2012-07-11 19:31:24 -04:00
parent b782b9a9b6
commit bd51b4db02
6 changed files with 23 additions and 21 deletions

View File

@ -2,7 +2,7 @@
define('AIRTIME_COPYRIGHT_DATE', '2010-2012'); define('AIRTIME_COPYRIGHT_DATE', '2010-2012');
define('AIRTIME_REST_VERSION', '1.1'); define('AIRTIME_REST_VERSION', '1.1');
define('AIRTIME_API_VERSION', '1.0'); define('AIRTIME_API_VERSION', '1.1');
// Metadata Keys for files // Metadata Keys for files
define('MDATA_KEY_FILEPATH', 'filepath'); define('MDATA_KEY_FILEPATH', 'filepath');

View File

@ -271,31 +271,31 @@ class ApiController extends Zend_Controller_Action
$request = $this->getRequest(); $request = $this->getRequest();
$type = $request->getParam('type'); $type = $request->getParam('type');
if($type == "endofday") { if ($type == "endofday") {
$limit = $request->getParam('limit');
Logging::log($limit);
if($limit == "" || !is_numeric($limit)) {
$limit = "5";
}
// make GetNextShows use end of day // make GetNextShows use end of day
$utcTimeEnd = Application_Common_DateHelper::GetDayEndTimestampInUtc(); $utcTimeEnd = Application_Common_DateHelper::GetDayEndTimestampInUtc();
$result = array("env"=>APPLICATION_ENV, $result = array("env"=>APPLICATION_ENV,
"schedulerTime"=>gmdate("Y-m-d H:i:s"), "schedulerTime"=>gmdate("Y-m-d H:i:s"),
"nextShow"=>Application_Model_Show::GetNextShows($utcTimeNow, 5, $utcTimeEnd)); "nextShow"=>Application_Model_Show::GetNextShows($utcTimeNow, $limit, $utcTimeEnd));
Application_Model_Show::ConvertToLocalTimeZone($result["nextShow"], array("starts", "ends", "start_timestamp", "end_timestamp")); Application_Model_Show::ConvertToLocalTimeZone($result["nextShow"], array("starts", "ends", "start_timestamp", "end_timestamp"));
}else{ } else {
$limit = $request->getParam('limit');
if($limit == "" || !is_numeric($limit)) {
$limit = "5";
}
$result = Application_Model_Schedule::GetPlayOrderRange(); $result = Application_Model_Schedule::GetPlayOrderRange();
//Convert from UTC to localtime for user. //Convert from UTC to localtime for Web Browser.
Application_Model_Show::ConvertToLocalTimeZone($result["currentShow"], array("starts", "ends", "start_timestamp", "end_timestamp")); Application_Model_Show::ConvertToLocalTimeZone($result["currentShow"], array("starts", "ends", "start_timestamp", "end_timestamp"));
Application_Model_Show::ConvertToLocalTimeZone($result["nextShow"], array("starts", "ends", "start_timestamp", "end_timestamp")); Application_Model_Show::ConvertToLocalTimeZone($result["nextShow"], array("starts", "ends", "start_timestamp", "end_timestamp"));
} }
$result['AIRTIME_API_VERSION'] = AIRTIME_API_VERSION; //used by caller to determine if the airtime they are running or widgets in use is out of date. $result['AIRTIME_API_VERSION'] = AIRTIME_API_VERSION; //used by caller to determine if the airtime they are running or widgets in use is out of date.
//echo json_encode($result);
header("Content-type: text/javascript"); header("Content-type: text/javascript");
echo $_GET['callback'].'('.json_encode($result).')'; echo $_GET['callback'].'('.json_encode($result).')';
} else { } else {

View File

@ -32,6 +32,7 @@ class Application_Model_Schedule {
{ {
if (!is_int($p_prev) || !is_int($p_next)){ if (!is_int($p_prev) || !is_int($p_next)){
//must enter integers to specify ranges //must enter integers to specify ranges
Logging::log("Invalid range parameters: $p_prev or $p_next");
return array(); return array();
} }
@ -49,7 +50,6 @@ class Application_Model_Schedule {
"schedulerTime"=>$timeNow, "schedulerTime"=>$timeNow,
"previous"=>$results['previous'] !=null?$results['previous']:(count($shows['previousShow'])>0?$shows['previousShow'][0]:null), "previous"=>$results['previous'] !=null?$results['previous']:(count($shows['previousShow'])>0?$shows['previousShow'][0]:null),
"current"=>$results['current'] !=null?$results['current']:((count($shows['currentShow'])>0 && $shows['currentShow'][0]['record'] == 1)?$shows['currentShow'][0]:null), "current"=>$results['current'] !=null?$results['current']:((count($shows['currentShow'])>0 && $shows['currentShow'][0]['record'] == 1)?$shows['currentShow'][0]:null),
//"current"=>$results['current'] !=null?$results['current']:(count($shows['currentShow'])>0?$shows['currentShow'][0]:null),
"next"=> $results['next'] !=null?$results['next']:(count($shows['nextShow'])>0?$shows['nextShow'][0]:null), "next"=> $results['next'] !=null?$results['next']:(count($shows['nextShow'])>0?$shows['nextShow'][0]:null),
"currentShow"=>$shows['currentShow'], "currentShow"=>$shows['currentShow'],
"nextShow"=>$shows['nextShow'], "nextShow"=>$shows['nextShow'],

View File

@ -1845,9 +1845,9 @@ class Application_Model_Show {
/** /**
* Given a start time $timeStart and end time $timeEnd, returns the next $limit * Given a start time $timeStart and end time $timeEnd, returns the next $limit
* number of shows within the time interval; * number of shows within the time interval
* If $timeEnd not given, shows within next 48 hours from $timeStart are returned; * If $timeEnd not given, shows within next 48 hours from $timeStart are returned
* If $limit not given, all shows within the intervals are returns; * If $limit not given, all shows within the intervals are returned
* Times are all in UTC time. * Times are all in UTC time.
* *
* @param String $timeStart - interval start time (in UTC) * @param String $timeStart - interval start time (in UTC)

View File

@ -1,4 +1,4 @@
var AIRTIME_API_VERSION = "1.0"; var AIRTIME_API_VERSION = "1.1";
(function($){ (function($){
$.fn.airtimeShowSchedule = function(options) { $.fn.airtimeShowSchedule = function(options) {
@ -6,7 +6,8 @@
var defaults = { var defaults = {
updatePeriod: 20, //seconds updatePeriod: 20, //seconds
sourceDomain: "http://localhost/", //where to get show status from sourceDomain: "http://localhost/", //where to get show status from
text: {onAirToday:"On air today"} text: {onAirToday:"On air today"},
showLimit: 5
}; };
options = $.extend(true, defaults, options); options = $.extend(true, defaults, options);
options.sourceDomain = addEndingBackslash(options.sourceDomain); options.sourceDomain = addEndingBackslash(options.sourceDomain);
@ -56,7 +57,7 @@
function getServerData(){ function getServerData(){
$.ajax({url: options.sourceDomain + "api/live-info/", $.ajax({url: options.sourceDomain + "api/live-info/",
data: {type:"endofday",limit:"5"}, data: {type:"endofday",limit: options.showLimit},
dataType: "jsonp", dataType: "jsonp",
success:function(data) { success:function(data) {
processData(data); processData(data);

View File

@ -17,7 +17,8 @@ $(document).ready(function() {
$("#onAirToday").airtimeShowSchedule({ $("#onAirToday").airtimeShowSchedule({
sourceDomain: "http://localhost", sourceDomain: "http://localhost",
text: {onAirToday:"On air today"}, text: {onAirToday:"On air today"},
updatePeriod: 5 //seconds updatePeriod: 5, //seconds
showLimit: 10
}); });
$("#scheduleTabs").airtimeWeekSchedule({ $("#scheduleTabs").airtimeWeekSchedule({
sourceDomain:"http://localhost", sourceDomain:"http://localhost",