From 2da4e264e56b9a57df5a6c998ecface1735d7edf Mon Sep 17 00:00:00 2001 From: drigato Date: Tue, 19 May 2015 15:42:07 -0400 Subject: [PATCH] SAAS-772: Send metadata to Tunein Update metadata when station goes offline --- airtime_mvc/application/common/TuneIn.php | 34 ++++++++++++++----- .../controllers/ScheduleController.php | 8 +++++ 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/airtime_mvc/application/common/TuneIn.php b/airtime_mvc/application/common/TuneIn.php index 46f81a2bd..6040fb184 100644 --- a/airtime_mvc/application/common/TuneIn.php +++ b/airtime_mvc/application/common/TuneIn.php @@ -4,15 +4,11 @@ class Application_Common_TuneIn { public static function sendMetadataToTunein($title, $artist) { - $tuneInStationID = Application_Model_Preference::getTuneinStationId(); - $tuneInPartnerID = Application_Model_Preference::getTuneinPartnerId(); - $tuneInPartnerKey = Application_Model_Preference::getTuneinPartnerKey(); - - $qry_str = "?partnerId=".$tuneInPartnerID."&partnerKey=".$tuneInPartnerKey."&id=".$tuneInStationID - ."&title=".$title."&artist=".$artist."&commercial=false"; + $credQryStr = self::getCredentialsQueryString(); + $metadataQryStr = "&title=".$title."&artist=".$artist."&commercial=false"; $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, TUNEIN_API_URL . $qry_str); + curl_setopt($ch, CURLOPT_URL, TUNEIN_API_URL . $credQryStr . $metadataQryStr); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); @@ -25,6 +21,28 @@ class Application_Common_TuneIn } - public static function updateOfflineMetadata() + private static function getCredentialsQueryString() { + $tuneInStationID = Application_Model_Preference::getTuneinStationId(); + $tuneInPartnerID = Application_Model_Preference::getTuneinPartnerId(); + $tuneInPartnerKey = Application_Model_Preference::getTuneinPartnerKey(); + + return "?partnerId=".$tuneInPartnerID."&partnerKey=".$tuneInPartnerKey."&id=".$tuneInStationID; + } + + public static function updateOfflineMetadata() { + $credQryStr = self::getCredentialsQueryString(); + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, TUNEIN_API_URL . $credQryStr . "&commercial=true"); + curl_setopt($ch, CURLOPT_FAILONERROR, 1); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_TIMEOUT, 30); + + curl_exec($ch); + if (curl_error($ch)) { + Logging::error("Failed to reach TuneIn: ". curl_errno($ch)." - ". curl_error($ch) . " - " . curl_getinfo($ch, CURLINFO_EFFECTIVE_URL)); + } + curl_close($ch); + } } diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php index 452788b23..0df1c389c 100644 --- a/airtime_mvc/application/controllers/ScheduleController.php +++ b/airtime_mvc/application/controllers/ScheduleController.php @@ -1,4 +1,5 @@