diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index cbb056f72..81564d135 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -1,5 +1,8 @@ getResource('view'); @@ -84,7 +85,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap protected function _initHeadScript() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $view = $this->getResource('view'); @@ -127,8 +128,9 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap } if (Application_Model_Preference::GetPlanLevel() != "disabled" - && !($_SERVER['REQUEST_URI'] == $baseUrl.'Dashboard/stream-player' || + && !($_SERVER['REQUEST_URI'] == $baseUrl.'Dashboard/stream-player' || strncmp($_SERVER['REQUEST_URI'], $baseUrl.'audiopreview/audio-preview', strlen($baseUrl.'audiopreview/audio-preview'))==0)) { + $client_id = Application_Model_Preference::GetClientId(); $view->headScript()->appendScript("var livechat_client_id = '$client_id';"); $view->headScript()->appendFile($baseUrl . 'js/airtime/common/livechat.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); @@ -151,7 +153,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap protected function _initZFDebug() { - Zend_Controller_Front::getInstance()->throwExceptions(true); + Zend_Controller_Front::getInstance()->throwExceptions(true); /* if (APPLICATION_ENV == "development") { diff --git a/airtime_mvc/application/configs/airtime-conf-production.php b/airtime_mvc/application/configs/airtime-conf-production.php index c880f6342..aaef0e371 100644 --- a/airtime_mvc/application/configs/airtime-conf-production.php +++ b/airtime_mvc/application/configs/airtime-conf-production.php @@ -8,7 +8,7 @@ * that the user can customize these. */ -global $CC_CONFIG; +$CC_CONFIG = Config::getConfig(); $dbhost = $CC_CONFIG['dsn']['hostspec']; $dbname = $CC_CONFIG['dsn']['database']; diff --git a/airtime_mvc/application/configs/conf.php b/airtime_mvc/application/configs/conf.php index acaa94ac7..76b94f429 100644 --- a/airtime_mvc/application/configs/conf.php +++ b/airtime_mvc/application/configs/conf.php @@ -6,53 +6,20 @@ * /etc/airtime/recorder.cfg */ -global $CC_CONFIG; - -$CC_CONFIG = array( - // prefix for table names in the database - 'tblNamePrefix' => 'cc_', - - /* ================================================ storage configuration */ - - 'soundcloud-client-id' => '2CLCxcSXYzx7QhhPVHN4A', - 'soundcloud-client-secret' => 'pZ7beWmF06epXLHVUP1ufOg2oEnIt9XhE8l8xt0bBs', - - "rootDir" => __DIR__."/../.." -); - - -$configFile = isset($_SERVER['AIRTIME_CONF']) ? $_SERVER['AIRTIME_CONF'] : "/etc/airtime/airtime.conf"; -Config::loadConfig($configFile); - -// Add database table names -$CC_CONFIG['playListTable'] = $CC_CONFIG['tblNamePrefix'].'playlist'; -$CC_CONFIG['playListContentsTable'] = $CC_CONFIG['tblNamePrefix'].'playlistcontents'; -$CC_CONFIG['filesTable'] = $CC_CONFIG['tblNamePrefix'].'files'; -$CC_CONFIG['accessTable'] = $CC_CONFIG['tblNamePrefix'].'access'; -$CC_CONFIG['permTable'] = $CC_CONFIG['tblNamePrefix'].'perms'; -$CC_CONFIG['sessTable'] = $CC_CONFIG['tblNamePrefix'].'sess'; -$CC_CONFIG['subjTable'] = $CC_CONFIG['tblNamePrefix'].'subjs'; -$CC_CONFIG['smembTable'] = $CC_CONFIG['tblNamePrefix'].'smemb'; -$CC_CONFIG['prefTable'] = $CC_CONFIG['tblNamePrefix'].'pref'; -$CC_CONFIG['scheduleTable'] = $CC_CONFIG['tblNamePrefix'].'schedule'; -$CC_CONFIG['playListTimeView'] = $CC_CONFIG['tblNamePrefix'].'playlisttimes'; -$CC_CONFIG['showSchedule'] = $CC_CONFIG['tblNamePrefix'].'show_schedule'; -$CC_CONFIG['showDays'] = $CC_CONFIG['tblNamePrefix'].'show_days'; -$CC_CONFIG['showTable'] = $CC_CONFIG['tblNamePrefix'].'show'; -$CC_CONFIG['showInstances'] = $CC_CONFIG['tblNamePrefix'].'show_instances'; - -$CC_CONFIG['playListSequence'] = $CC_CONFIG['playListTable'].'_id'; -$CC_CONFIG['filesSequence'] = $CC_CONFIG['filesTable'].'_id'; -$CC_CONFIG['prefSequence'] = $CC_CONFIG['prefTable'].'_id'; -$CC_CONFIG['permSequence'] = $CC_CONFIG['permTable'].'_id'; -$CC_CONFIG['subjSequence'] = $CC_CONFIG['subjTable'].'_id'; -$CC_CONFIG['smembSequence'] = $CC_CONFIG['smembTable'].'_id'; - class Config { - public static function loadConfig($p_path) { - global $CC_CONFIG; + private static $CC_CONFIG; + public static function loadConfig() { + $CC_CONFIG = array( + /* ================================================ storage configuration */ - $filename = $p_path; + 'soundcloud-client-id' => '2CLCxcSXYzx7QhhPVHN4A', + 'soundcloud-client-secret' => 'pZ7beWmF06epXLHVUP1ufOg2oEnIt9XhE8l8xt0bBs', + + "rootDir" => __DIR__."/../.." + ); + + $filename = isset($_SERVER['AIRTIME_CONF']) ? $_SERVER['AIRTIME_CONF'] : "/etc/airtime/airtime.conf"; + $values = parse_ini_file($filename, true); // Name of the web server user @@ -61,6 +28,7 @@ class Config { $CC_CONFIG['baseUrl'] = $values['general']['base_url']; $CC_CONFIG['basePort'] = $values['general']['base_port']; + $CC_CONFIG['phpDir'] = $values['general']['airtime_dir']; $CC_CONFIG['cache_ahead_hours'] = $values['general']['cache_ahead_hours']; @@ -85,6 +53,17 @@ class Config { if(isset($values['demo']['demo'])){ $CC_CONFIG['demo'] = $values['demo']['demo']; - } + } + self::$CC_CONFIG = $CC_CONFIG; + } + + public static function setAirtimeVersion() { + $airtime_version = Application_Model_Preference::GetAirtimeVersion(); + $uniqueid = Application_Model_Preference::GetUniqueId(); + self::$CC_CONFIG['airtime_version'] = md5($airtime_version.$uniqueid); + } + + public static function getConfig() { + return self::$CC_CONFIG; } } diff --git a/airtime_mvc/application/configs/db-conf.php b/airtime_mvc/application/configs/db-conf.php index 493d8e9b0..05d3d938e 100644 --- a/airtime_mvc/application/configs/db-conf.php +++ b/airtime_mvc/application/configs/db-conf.php @@ -5,14 +5,6 @@ * yet available because airtime.conf hasn't been updated yet. This situation ends up throwing a lot of errors to stdout. * airtime*/ -global $CC_CONFIG; +require_once("conf.php"); -$filename = "/etc/airtime/airtime.conf"; -$values = parse_ini_file($filename, true); - -// Database config -$CC_CONFIG['dsn']['username'] = $values['database']['dbuser']; -$CC_CONFIG['dsn']['password'] = $values['database']['dbpass']; -$CC_CONFIG['dsn']['hostspec'] = $values['database']['host']; -$CC_CONFIG['dsn']['phptype'] = 'pgsql'; -$CC_CONFIG['dsn']['database'] = $values['database']['dbname']; +$CC_CONFIG = Config::getConfig(); diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php index 97f1e8d77..b3a8d8229 100644 --- a/airtime_mvc/application/controllers/ApiController.php +++ b/airtime_mvc/application/controllers/ApiController.php @@ -48,7 +48,7 @@ class ApiController extends Zend_Controller_Action public function checkAuth() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $api_key = $this->_getParam('api_key'); if (!in_array($api_key, $CC_CONFIG["apiKey"]) && diff --git a/airtime_mvc/application/controllers/AudiopreviewController.php b/airtime_mvc/application/controllers/AudiopreviewController.php index 003a1a68a..36069a33d 100644 --- a/airtime_mvc/application/controllers/AudiopreviewController.php +++ b/airtime_mvc/application/controllers/AudiopreviewController.php @@ -19,7 +19,7 @@ class AudiopreviewController extends Zend_Controller_Action */ public function audioPreviewAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $audioFileID = $this->_getParam('audioFileID'); $audioFileArtist = $this->_getParam('audioFileArtist'); @@ -73,7 +73,7 @@ class AudiopreviewController extends Zend_Controller_Action */ public function playlistPreviewAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $playlistIndex = $this->_getParam('playlistIndex'); $playlistID = $this->_getParam('playlistID'); @@ -99,7 +99,7 @@ class AudiopreviewController extends Zend_Controller_Action public function blockPreviewAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $blockIndex = $this->_getParam('blockIndex'); $blockId = $this->_getParam('blockId'); @@ -226,7 +226,7 @@ class AudiopreviewController extends Zend_Controller_Action */ public function showPreviewAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $showID = $this->_getParam('showID'); $showIndex = $this->_getParam('showIndex'); diff --git a/airtime_mvc/application/controllers/DashboardController.php b/airtime_mvc/application/controllers/DashboardController.php index cf3b9bc59..80fd56000 100644 --- a/airtime_mvc/application/controllers/DashboardController.php +++ b/airtime_mvc/application/controllers/DashboardController.php @@ -96,7 +96,7 @@ class DashboardController extends Zend_Controller_Action public function streamPlayerAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $baseUrl = Application_Common_OsPath::getBaseDir(); diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index 896b74672..68575f308 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -25,7 +25,7 @@ class LibraryController extends Zend_Controller_Action public function indexAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $request = $this->getRequest(); $baseUrl = Application_Common_OsPath::getBaseDir(); diff --git a/airtime_mvc/application/controllers/ListenerstatController.php b/airtime_mvc/application/controllers/ListenerstatController.php index 0027bcdb6..817f6ca11 100644 --- a/airtime_mvc/application/controllers/ListenerstatController.php +++ b/airtime_mvc/application/controllers/ListenerstatController.php @@ -12,7 +12,7 @@ class ListenerstatController extends Zend_Controller_Action public function indexAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $request = $this->getRequest(); $baseUrl = Application_Common_OsPath::getBaseDir(); diff --git a/airtime_mvc/application/controllers/LoginController.php b/airtime_mvc/application/controllers/LoginController.php index c9f69309a..c95a12f0a 100644 --- a/airtime_mvc/application/controllers/LoginController.php +++ b/airtime_mvc/application/controllers/LoginController.php @@ -9,7 +9,7 @@ class LoginController extends Zend_Controller_Action public function indexAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $request = $this->getRequest(); @@ -102,7 +102,7 @@ class LoginController extends Zend_Controller_Action public function passwordRestoreAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $baseUrl = Application_Common_OsPath::getBaseDir(); diff --git a/airtime_mvc/application/controllers/PlayouthistoryController.php b/airtime_mvc/application/controllers/PlayouthistoryController.php index aeb9e08eb..3269fcd46 100644 --- a/airtime_mvc/application/controllers/PlayouthistoryController.php +++ b/airtime_mvc/application/controllers/PlayouthistoryController.php @@ -12,7 +12,7 @@ class PlayouthistoryController extends Zend_Controller_Action public function indexAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $request = $this->getRequest(); diff --git a/airtime_mvc/application/controllers/PluploadController.php b/airtime_mvc/application/controllers/PluploadController.php index 902da6154..ed7403693 100644 --- a/airtime_mvc/application/controllers/PluploadController.php +++ b/airtime_mvc/application/controllers/PluploadController.php @@ -13,7 +13,7 @@ class PluploadController extends Zend_Controller_Action public function indexAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $baseUrl = Application_Common_OsPath::getBaseDir(); $locale = Application_Model_Preference::GetLocale(); diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index 6e4075bff..a6b32419f 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -20,7 +20,7 @@ class PreferenceController extends Zend_Controller_Action public function indexAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $request = $this->getRequest(); $isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true; @@ -80,7 +80,7 @@ class PreferenceController extends Zend_Controller_Action public function supportSettingAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $request = $this->getRequest(); @@ -136,7 +136,7 @@ class PreferenceController extends Zend_Controller_Action public function directoryConfigAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); if(Application_Model_Preference::GetPlanLevel() == 'disabled'){ @@ -153,7 +153,7 @@ class PreferenceController extends Zend_Controller_Action public function streamSettingAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $request = $this->getRequest(); diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php index 870822270..15dca0621 100644 --- a/airtime_mvc/application/controllers/ScheduleController.php +++ b/airtime_mvc/application/controllers/ScheduleController.php @@ -40,7 +40,7 @@ class ScheduleController extends Zend_Controller_Action public function indexAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $baseUrl = Application_Common_OsPath::getBaseDir(); @@ -879,8 +879,6 @@ class ScheduleController extends Zend_Controller_Action public function contentContextMenuAction() { - global $CC_CONFIG; - $id = $this->_getParam('id'); $params = '/format/json/id/#id#/'; @@ -922,8 +920,6 @@ class ScheduleController extends Zend_Controller_Action public function calculateDurationAction() { - global $CC_CONFIG; - $startParam = $this->_getParam('startTime'); $endParam = $this->_getParam('endTime'); diff --git a/airtime_mvc/application/controllers/ShowbuilderController.php b/airtime_mvc/application/controllers/ShowbuilderController.php index c38c4b852..2c4fd4b16 100644 --- a/airtime_mvc/application/controllers/ShowbuilderController.php +++ b/airtime_mvc/application/controllers/ShowbuilderController.php @@ -19,7 +19,7 @@ class ShowbuilderController extends Zend_Controller_Action public function indexAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $request = $this->getRequest(); diff --git a/airtime_mvc/application/controllers/SystemstatusController.php b/airtime_mvc/application/controllers/SystemstatusController.php index 6915a4538..c84a23f9e 100644 --- a/airtime_mvc/application/controllers/SystemstatusController.php +++ b/airtime_mvc/application/controllers/SystemstatusController.php @@ -4,7 +4,7 @@ class SystemstatusController extends Zend_Controller_Action { public function init() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $baseUrl = Application_Common_OsPath::getBaseDir(); diff --git a/airtime_mvc/application/controllers/UserController.php b/airtime_mvc/application/controllers/UserController.php index 14a0f59ed..395156f97 100644 --- a/airtime_mvc/application/controllers/UserController.php +++ b/airtime_mvc/application/controllers/UserController.php @@ -16,7 +16,7 @@ class UserController extends Zend_Controller_Action public function addUserAction() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $request = $this->getRequest(); $baseUrl = Application_Common_OsPath::getBaseDir(); @@ -48,8 +48,8 @@ class UserController extends Zend_Controller_Action if ($form->isValid($formData)) { - if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1 - && $formData['login'] == 'admin' + if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1 + && $formData['login'] == 'admin' && $formData['user_id'] != 0) { $this->view->form = $form; $this->view->successMessage = "
"._("Specific action is not allowed in demo version!")."
"; @@ -131,12 +131,12 @@ class UserController extends Zend_Controller_Action if ($request->isPost()) { $formData = $request->getPost(); - if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1 + if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1 && $formData['cu_login'] == 'admin') { $this->view->form = $form; $this->view->successMessage = "
"._("Specific action is not allowed in demo version!")."
"; die(json_encode(array("html"=>$this->view->render('user/edit-user.phtml')))); - } else if ($form->isValid($formData) && + } else if ($form->isValid($formData) && $form->validateLogin($formData['cu_login'], $formData['cu_user_id'])) { $user = new Application_Model_User($formData['cu_user_id']); $user->setFirstName($formData['cu_first_name']); @@ -186,7 +186,7 @@ class UserController extends Zend_Controller_Action # only delete when valid action is selected for the owned files if (! in_array($files_action, $valid_actions) ) { return; - } + } $userInfo = Zend_Auth::getInstance()->getStorage()->read(); $userId = $userInfo->id; diff --git a/airtime_mvc/application/forms/LiveStreamingPreferences.php b/airtime_mvc/application/forms/LiveStreamingPreferences.php index 975ee3516..c8c9afed3 100644 --- a/airtime_mvc/application/forms/LiveStreamingPreferences.php +++ b/airtime_mvc/application/forms/LiveStreamingPreferences.php @@ -5,7 +5,7 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm public function init() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $isDemo = isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1; $isStreamConfigable = Application_Model_Preference::GetEnableStreamConf() == "true"; @@ -131,7 +131,7 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm public function updateVariables() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $isDemo = isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1; $master_dj_connection_url = Application_Model_Preference::GetMasterDJSourceConnectionURL(); diff --git a/airtime_mvc/application/forms/Login.php b/airtime_mvc/application/forms/Login.php index 2d7795235..302a06ac0 100644 --- a/airtime_mvc/application/forms/Login.php +++ b/airtime_mvc/application/forms/Login.php @@ -5,7 +5,7 @@ class Application_Form_Login extends Zend_Form public function init() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); // Set the method for the display form to POST $this->setMethod('post'); diff --git a/airtime_mvc/application/models/Block.php b/airtime_mvc/application/models/Block.php index ffd4c36c2..8f285e86a 100644 --- a/airtime_mvc/application/models/Block.php +++ b/airtime_mvc/application/models/Block.php @@ -940,9 +940,8 @@ SQL; public static function getBlockCount() { - global $CC_CONFIG; $con = Propel::getConnection(); - $sql = 'SELECT count(*) as cnt FROM '.$CC_CONFIG["playListTable"]; + $sql = 'SELECT count(*) as cnt FROM cc_playlist'; return $con->query($sql)->fetchColumn(0); } diff --git a/airtime_mvc/application/models/Playlist.php b/airtime_mvc/application/models/Playlist.php index 6b97de97e..2cd0050ab 100644 --- a/airtime_mvc/application/models/Playlist.php +++ b/airtime_mvc/application/models/Playlist.php @@ -869,9 +869,8 @@ SQL; public static function getPlaylistCount() { - global $CC_CONFIG; $con = Propel::getConnection(); - $sql = 'SELECT count(*) as cnt FROM '.$CC_CONFIG["playListTable"]; + $sql = 'SELECT count(*) as cnt FROM cc_playlist'; return $con->query($sql)->fetchColumn(0); } diff --git a/airtime_mvc/application/models/RabbitMq.php b/airtime_mvc/application/models/RabbitMq.php index d92975413..af20d473e 100644 --- a/airtime_mvc/application/models/RabbitMq.php +++ b/airtime_mvc/application/models/RabbitMq.php @@ -15,7 +15,7 @@ class Application_Model_RabbitMq private static function sendMessage($exchange, $data) { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $conn = new AMQPConnection($CC_CONFIG["rabbitmq"]["host"], $CC_CONFIG["rabbitmq"]["port"], diff --git a/airtime_mvc/application/models/Schedule.php b/airtime_mvc/application/models/Schedule.php index 81a5db90c..481f22b2d 100644 --- a/airtime_mvc/application/models/Schedule.php +++ b/airtime_mvc/application/models/Schedule.php @@ -181,15 +181,14 @@ SQL; public static function GetLastScheduleItem($p_timeNow) { - global $CC_CONFIG; $sql = << TIMESTAMP :timeNow" ." AND st.starts >= sit.starts" //this and the next line are necessary since we can overbook shows. @@ -260,7 +257,6 @@ SQL; */ public static function GetScheduleDetailItems($p_start, $p_end, $p_shows) { - global $CC_CONFIG; $con = Propel::getConnection(); $p_start_str = $p_start->format("Y-m-d H:i:s"); @@ -386,9 +382,8 @@ SQL; public static function UpdateMediaPlayedStatus($p_id) { - global $CC_CONFIG; $con = Propel::getConnection(); - $sql = "UPDATE ".$CC_CONFIG['scheduleTable'] + $sql = "UPDATE cc_schedule" ." SET media_item_played=TRUE"; // we need to update 'broadcasted' column as well // check the current switch status @@ -427,9 +422,8 @@ SQL; public static function getSchduledPlaylistCount() { - global $CC_CONFIG; $con = Propel::getConnection(); - $sql = "SELECT count(*) as cnt FROM ".$CC_CONFIG['scheduleTable']; + $sql = "SELECT count(*) as cnt FROM cc_schedule"; return $con->query($sql)->fetchColumn(0); } @@ -769,7 +763,7 @@ SQL; private static function getRangeStartAndEnd($p_fromDateTime, $p_toDateTime) { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); /* if $p_fromDateTime and $p_toDateTime function parameters are null, then set range * from "now" to "now + 24 hours". */ @@ -918,15 +912,13 @@ SQL; public static function deleteAll() { - global $CC_CONFIG; $con = Propel::getConnection(); - $con->exec("TRUNCATE TABLE ".$CC_CONFIG["scheduleTable"]); + $con->exec("TRUNCATE TABLE cc_schedule"); } public static function deleteWithFileId($fileId) { - global $CC_CONFIG; - $sql = "DELETE FROM ".$CC_CONFIG["scheduleTable"]." WHERE file_id=:file_id"; + $sql = "DELETE FROM cc_schedule WHERE file_id=:file_id"; Application_Common_Database::prepareAndExecute($sql, array(':file_id'=>$fileId), 'execute'); } diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php index 827ccf7a7..9db5e5f0b 100644 --- a/airtime_mvc/application/models/Show.php +++ b/airtime_mvc/application/models/Show.php @@ -189,7 +189,7 @@ SQL; ->find($con); /* Check two things: - 1. If the show being resized and any of its repeats end in the past + 1. If the show being resized and any of its repeats end in the past 2. If the show being resized and any of its repeats overlap with other scheduled shows */ @@ -321,7 +321,7 @@ SQL; } catch (Exception $e) { Logging::info($e->getMessage()); } - } + } Application_Model_RabbitMq::PushSchedule(); } @@ -467,7 +467,7 @@ SQL; $startDateTime = new DateTime($show["starts"], $utc); $startDateTime->setTimezone($dtz); - $rebroadcastsLocal[$i]["start_date"] = + $rebroadcastsLocal[$i]["start_date"] = $startDateTime->format("Y-m-d"); $rebroadcastsLocal[$i]["start_time"] = $startDateTime->format("H:i"); @@ -533,7 +533,7 @@ SQL; ->filterByDbShowId($this->_showId) ->findOne(); - if (!is_null($showDaysRow)) + if (!is_null($showDaysRow)) return $showDaysRow->getDbRepeatType(); else return -1; @@ -582,7 +582,7 @@ WHERE starts > :timestamp::TIMESTAMP AND show_id = :showId SQL; Application_Common_Database::prepareAndExecute( $sql, - array( ':timestamp' => gmdate("Y-m-d H:i:s"), + array( ':timestamp' => gmdate("Y-m-d H:i:s"), ':showId' => $this->getId()), 'execute'); } @@ -838,7 +838,7 @@ WHERE show_id = :show_id AND ends > :timestamp::TIMESTAMP SQL; - Application_Common_Database::prepareAndExecute( $sql, array( + Application_Common_Database::prepareAndExecute( $sql, array( ':add_show_duration' => $p_data['add_show_duration'], ':show_id' => $p_data['add_show_id'], ':timestamp' => $timestamp), "execute"); @@ -1222,12 +1222,12 @@ SQL; SELECT :rebroadcast::date - :start::date SQL; - $offset_days = + $offset_days = Application_Common_Database::prepareAndExecute($sql, array( - 'rebroadcast' => + 'rebroadcast' => $data["add_show_rebroadcast_date_absolute_$i"], - 'start' => + 'start' => $data['add_show_start_date']), "column" ); //$r = $con->query($sql); @@ -1770,7 +1770,7 @@ SQL; $parentStartsEpoch = intval($parentStartsDT->format("U")); } - $startsDT = DateTime::createFromFormat("Y-m-d G:i:s", + $startsDT = DateTime::createFromFormat("Y-m-d G:i:s", $show["starts"],$utc); $endsDT = DateTime::createFromFormat("Y-m-d G:i:s", $show["ends"], $utc); @@ -1907,7 +1907,7 @@ SQL; */ public static function getCurrentShow($timeNow=null) { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $con = Propel::getConnection(); if ($timeNow == null) { $date = new Application_Common_DateHelper; @@ -1953,7 +1953,7 @@ SQL; */ public static function getPrevCurrentNext($p_timeNow) { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $con = Propel::getConnection(); // //TODO, returning starts + ends twice (once with an alias). Unify this after the 2.0 release. --Martin diff --git a/airtime_mvc/application/models/Soundcloud.php b/airtime_mvc/application/models/Soundcloud.php index 70148c05c..6c7b181d7 100644 --- a/airtime_mvc/application/models/Soundcloud.php +++ b/airtime_mvc/application/models/Soundcloud.php @@ -7,7 +7,7 @@ class Application_Model_Soundcloud public function __construct() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $this->_soundcloud = new Services_Soundcloud( $CC_CONFIG['soundcloud-client-id'], $CC_CONFIG['soundcloud-client-secret']); @@ -25,11 +25,11 @@ class Application_Model_Soundcloud public function uploadTrack($filepath, $filename, $description, $tags=array(), $release=null, $genre=null) - { + { if (!$this->getToken()) { throw new NoSoundCloundToken(); - } + } if (count($tags)) { $tags = join(" ", $tags); $tags = $tags." ".Application_Model_Preference::GetSoundCloudTags(); @@ -88,7 +88,7 @@ class Application_Model_Soundcloud } - public static function uploadSoundcloud($id) + public static function uploadSoundcloud($id) { $cmd = "/usr/lib/airtime/utils/soundcloud-uploader $id > /dev/null &"; Logging::info("Uploading soundcloud with command: $cmd"); diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php index 8677e7fa3..bbeacdfe3 100644 --- a/airtime_mvc/application/models/StoredFile.php +++ b/airtime_mvc/application/models/StoredFile.php @@ -504,7 +504,7 @@ SQL; */ public function getFileUrlUsingConfigAddress() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); if (isset($CC_CONFIG['baseUrl'])) { $serverName = $CC_CONFIG['baseUrl']; @@ -1218,7 +1218,7 @@ SQL; // note: never call this method from controllers because it does a sleep public function uploadToSoundCloud() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $file = $this->_file; if (is_null($file)) { diff --git a/airtime_mvc/application/models/Subjects.php b/airtime_mvc/application/models/Subjects.php index 6aa2708a2..8977bcd12 100644 --- a/airtime_mvc/application/models/Subjects.php +++ b/airtime_mvc/application/models/Subjects.php @@ -20,9 +20,8 @@ class Application_Model_Subjects public static function increaseLoginAttempts($login) { - global $CC_CONFIG; $con = Propel::getConnection(); - $sql = "UPDATE ".$CC_CONFIG['subjTable']." SET login_attempts = login_attempts+1" + $sql = "UPDATE cc_subjs SET login_attempts = login_attempts+1" ." WHERE login='$login'"; $res = $con->exec($sql); @@ -31,9 +30,8 @@ class Application_Model_Subjects public static function resetLoginAttempts($login) { - global $CC_CONFIG; $con = Propel::getConnection(); - $sql = "UPDATE ".$CC_CONFIG['subjTable']." SET login_attempts = '0'" + $sql = "UPDATE cc_subjs SET login_attempts = '0'" ." WHERE login='$login'"; $res = $con->exec($sql); @@ -42,9 +40,8 @@ class Application_Model_Subjects public static function getLoginAttempts($login) { - global $CC_CONFIG; $con = Propel::getConnection(); - $sql = "SELECT login_attempts FROM ".$CC_CONFIG['subjTable']." WHERE login='$login'"; + $sql = "SELECT login_attempts FROM cc_subjs WHERE login='$login'"; $res = $con->query($sql)->fetchColumn(0); return ($res !== false) ? $res : 0; diff --git a/airtime_mvc/application/models/Systemstatus.php b/airtime_mvc/application/models/Systemstatus.php index d62ad7110..ef694ccf2 100644 --- a/airtime_mvc/application/models/Systemstatus.php +++ b/airtime_mvc/application/models/Systemstatus.php @@ -5,7 +5,7 @@ class Application_Model_Systemstatus public static function GetMonitStatus($p_ip) { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $monit_user = $CC_CONFIG['monit_user']; $monit_password = $CC_CONFIG['monit_password']; diff --git a/install_full/ubuntu/airtime-full-install-nginx b/install_full/ubuntu/airtime-full-install-nginx index de3a5b81e..58a7f2af4 100755 --- a/install_full/ubuntu/airtime-full-install-nginx +++ b/install_full/ubuntu/airtime-full-install-nginx @@ -78,6 +78,10 @@ else echo "NGINX config for Airtime already exists..." fi +#Install Sourcefabric's custom Liquidsoap debian package +apt-get -y --force-yes install sourcefabric-keyring +apt-get -y --force-yes install liquidsoap + # php-fpm Airtime pool file echo "----------------------------------------------------" echo "2.2 Airtime php pool file" diff --git a/install_minimal/include/AirtimeInstall.php b/install_minimal/include/AirtimeInstall.php index 891ea1acb..6e8f4a0fa 100644 --- a/install_minimal/include/AirtimeInstall.php +++ b/install_minimal/include/AirtimeInstall.php @@ -126,7 +126,7 @@ class AirtimeInstall */ public static function DbConnect($p_exitOnError = true) { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); try { $con = Propel::getConnection(); } catch (Exception $e) { @@ -147,7 +147,7 @@ class AirtimeInstall * install script. */ public static function InstallStorageDirectory() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); echo "* Storage directory setup".PHP_EOL; $ini = parse_ini_file(__DIR__."/airtime-install.ini"); @@ -183,7 +183,7 @@ class AirtimeInstall public static function CreateDatabaseUser() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); echo " * Creating Airtime database user".PHP_EOL; @@ -208,7 +208,7 @@ class AirtimeInstall public static function CreateDatabase() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); echo " * Creating Airtime database".PHP_EOL; @@ -412,7 +412,7 @@ class AirtimeInstall public static function InstallPhpCode() { - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); echo "* Installing PHP code to ".AirtimeInstall::CONF_DIR_WWW.PHP_EOL; exec("mkdir -p ".AirtimeInstall::CONF_DIR_WWW); exec("cp -R ".AirtimeInstall::GetAirtimeSrcDir()."/* ".AirtimeInstall::CONF_DIR_WWW); @@ -461,7 +461,7 @@ class AirtimeInstall } public static function CreateZendPhpLogFile(){ - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $path = AirtimeInstall::CONF_DIR_LOG; $file = $path.'/zendphp.log'; diff --git a/install_minimal/include/airtime-db-install.php b/install_minimal/include/airtime-db-install.php index 3d9a80ed3..f99bb1cb3 100644 --- a/install_minimal/include/airtime-db-install.php +++ b/install_minimal/include/airtime-db-install.php @@ -10,6 +10,8 @@ require_once(__DIR__.'/AirtimeInstall.php'); require_once(__DIR__.'/airtime-constants.php'); require_once(AirtimeInstall::GetAirtimeSrcDir().'/application/configs/conf.php'); +Config::loadConfig(); +$CC_CONFIG = Config::getConfig(); require_once 'propel/runtime/lib/Propel.php'; Propel::init(AirtimeInstall::GetAirtimeSrcDir()."/application/configs/airtime-conf-production.php"); @@ -24,7 +26,6 @@ AirtimeInstall::DbConnect(true); AirtimeInstall::InstallPostgresScriptingLanguage(); //Load Database parameters -global $CC_CONFIG; $dbuser = $CC_CONFIG['dsn']['username']; $dbpasswd = $CC_CONFIG['dsn']['password']; $dbname = $CC_CONFIG['dsn']['database']; diff --git a/install_minimal/include/airtime-install.php b/install_minimal/include/airtime-install.php index 6fddb7bfa..e67c3f6f2 100644 --- a/install_minimal/include/airtime-install.php +++ b/install_minimal/include/airtime-install.php @@ -16,6 +16,8 @@ $iniExists = file_exists("/etc/airtime/airtime.conf"); if ($iniExists){ //reinstall, Will ask if we should rewrite config files. require_once(AirtimeInstall::GetAirtimeSrcDir().'/application/configs/conf.php'); + Config::loadConfig(); + $CC_CONFIG = Config::getConfig(); require_once 'propel/runtime/lib/Propel.php'; Propel::init(AirtimeInstall::GetAirtimeSrcDir()."/application/configs/airtime-conf-production.php"); $version = AirtimeInstall::GetVersionInstalled(); @@ -51,6 +53,8 @@ if ($overwrite) { } if (!$iniExists){ require_once(AirtimeInstall::GetAirtimeSrcDir().'/application/configs/conf.php'); + Config::loadConfig(); + $CC_CONFIG = Config::getConfig(); require_once 'propel/runtime/lib/Propel.php'; Propel::init(AirtimeInstall::GetAirtimeSrcDir()."/application/configs/airtime-conf-production.php"); } diff --git a/install_minimal/include/airtime-uninstall.php b/install_minimal/include/airtime-uninstall.php index 88cbbeb40..f6a2f959f 100644 --- a/install_minimal/include/airtime-uninstall.php +++ b/install_minimal/include/airtime-uninstall.php @@ -17,6 +17,8 @@ if (!file_exists(AirtimeIni::CONF_FILE_AIRTIME)) { } require_once(__DIR__.'/airtime-constants.php'); require_once(AirtimeInstall::GetAirtimeSrcDir().'/application/configs/conf.php'); +Config::loadConfig(); +$CC_CONFIG = Config::getConfig(); require_once 'propel/runtime/lib/Propel.php'; @@ -37,6 +39,7 @@ $sql = "SELECT pg_cancel_backend(procpid) FROM pg_stat_activity WHERE datname = $command = "echo \"$sql\" | su postgres -c psql"; @exec($command, $output); +$CC_CONFIG = Config::getConfig(); echo " * Dropping the database '".$CC_CONFIG["dsn"]["database"]."'...".PHP_EOL; //dropdb returns 1 if other sessions are using the database, otherwise returns 0 diff --git a/install_minimal/include/airtime-upgrade.php b/install_minimal/include/airtime-upgrade.php index 55fe33f30..fa01c9e47 100644 --- a/install_minimal/include/airtime-upgrade.php +++ b/install_minimal/include/airtime-upgrade.php @@ -36,7 +36,7 @@ $version = AirtimeInstall::GetVersionInstalled(); echo "******************************** Upgrade Begin *********************************".PHP_EOL; -global $CC_CONFIG; +$CC_CONFIG = Config::getConfig(); $user = $CC_CONFIG['dsn']['username']; $password = $CC_CONFIG['dsn']['password']; $host = $CC_CONFIG['dsn']['hostspec']; @@ -83,11 +83,11 @@ if (strcmp($version, "2.0.3") < 0) { if (strcmp($version, "2.1.0") < 0) { passthru("php --php-ini $SCRIPTPATH/../airtime-php.ini $SCRIPTPATH/../upgrades/airtime-2.1.0/airtime-upgrade.php"); pause(); -} +} if (strcmp($version, "2.1.1") < 0) { passthru("php --php-ini $SCRIPTPATH/../airtime-php.ini $SCRIPTPATH/../upgrades/airtime-2.1.1/airtime-upgrade.php"); pause(); -} +} if (strcmp($version, "2.1.2") < 0) { passthru("php --php-ini $SCRIPTPATH/../airtime-php.ini $SCRIPTPATH/../upgrades/airtime-2.1.2/airtime-upgrade.php"); pause(); @@ -95,13 +95,13 @@ if (strcmp($version, "2.1.2") < 0) { if (strcmp($version, "2.1.3") < 0) { passthru("php --php-ini $SCRIPTPATH/../airtime-php.ini $SCRIPTPATH/../upgrades/airtime-2.1.3/airtime-upgrade.php"); pause(); -} +} if (strcmp($version, "2.2.0") < 0) { passthru("php --php-ini $SCRIPTPATH/../airtime-php.ini $SCRIPTPATH/../upgrades/airtime-2.2.0/airtime-upgrade.php"); pause(); -} +} if (strcmp($version, "2.2.1") < 0) { passthru("php --php-ini $SCRIPTPATH/../airtime-php.ini $SCRIPTPATH/../upgrades/airtime-2.2.1/airtime-upgrade.php"); pause(); -} +} echo "******************************* Upgrade Complete *******************************".PHP_EOL; diff --git a/utils/phone_home_stat.php b/utils/phone_home_stat.php index d25c546f7..2f9ae6c42 100644 --- a/utils/phone_home_stat.php +++ b/utils/phone_home_stat.php @@ -5,7 +5,12 @@ exitIfNotRoot(); date_default_timezone_set("UTC"); $values = parse_ini_file('/etc/airtime/airtime.conf', true); +$CC_CONFIG['phpDir'] = $values['general']['airtime_dir']; +require_once($CC_CONFIG['phpDir'].'/application/configs/conf.php'); +Config::loadConfig(); +$CC_CONFIG = Config::getConfig(); +/* // Name of the web server user $CC_CONFIG['webServerUser'] = $values['general']['web_server_user']; $CC_CONFIG['phpDir'] = $values['general']['airtime_dir']; @@ -25,11 +30,11 @@ $CC_CONFIG['apiKey'] = array($values['general']['api_key']); $CC_CONFIG['soundcloud-connection-retries'] = $values['soundcloud']['connection_retries']; $CC_CONFIG['soundcloud-connection-wait'] = $values['soundcloud']['time_between_retries']; - +*/ require_once($CC_CONFIG['phpDir'].'/application/configs/constants.php'); -require_once($CC_CONFIG['phpDir'].'/application/configs/conf.php'); +//require_once($CC_CONFIG['phpDir'].'/application/configs/conf.php'); -$CC_CONFIG['phpDir'] = $values['general']['airtime_dir']; +//$CC_CONFIG['phpDir'] = $values['general']['airtime_dir']; // Ensure library/ is on include_path set_include_path(implode(PATH_SEPARATOR, array( @@ -38,7 +43,7 @@ realpath($CC_CONFIG['phpDir'] . '/library') ))); function my_autoload($classname){ - global $CC_CONFIG; + $CC_CONFIG = Config::getConfig(); $info = explode('_', $classname); if (isset($info[1]) && isset($info[2])) { $filename = $info[2].".php";