From 84231f811a61b27bb5e62c7fbd09f3b99afe744a Mon Sep 17 00:00:00 2001 From: drigato Date: Thu, 9 Apr 2015 12:25:27 -0400 Subject: [PATCH] SAAS-720: Player can't be accessed unless a user has a valid session --- .../controllers/EmbedController.php | 56 +++++++++++++++++++ .../controllers/PlayerController.php | 51 +---------------- .../controllers/plugins/Acl_plugin.php | 3 +- airtime_mvc/application/forms/Player.php | 4 +- .../index.phtml => embed/player.phtml} | 0 5 files changed, 61 insertions(+), 53 deletions(-) create mode 100644 airtime_mvc/application/controllers/EmbedController.php rename airtime_mvc/application/views/scripts/{player/index.phtml => embed/player.phtml} (100%) diff --git a/airtime_mvc/application/controllers/EmbedController.php b/airtime_mvc/application/controllers/EmbedController.php new file mode 100644 index 000000000..11f2cc68e --- /dev/null +++ b/airtime_mvc/application/controllers/EmbedController.php @@ -0,0 +1,56 @@ +view->layout()->disableLayout(); + + $CC_CONFIG = Config::getConfig(); + + $request = $this->getRequest(); + + $this->view->css = Application_Common_HTTPHelper::getStationUrl() . "css/player.css?".$CC_CONFIG['airtime_version']; + $this->view->mrp_js = Application_Common_HTTPHelper::getStationUrl() . "js/airtime/player/mrp.js?".$CC_CONFIG['airtime_version']; + $this->view->jquery = Application_Common_HTTPHelper::getStationUrl() . "js/libs/jquery-1.10.2.js"; + $this->view->muses_swf = Application_Common_HTTPHelper::getStationUrl() . "js/airtime/player/muses.swf"; + $this->view->metadata_api_url = Application_Common_HTTPHelper::getStationUrl() . "api/live-info"; + $this->view->player_title = json_encode($request->getParam('title')); + + $stream = $request->getParam('stream'); + $streamData = Application_Model_StreamSetting::getEnabledStreamData(); + $availableMobileStreams = array(); + $availableDesktopStreams = array(); + + if ($stream == "auto") { + $this->view->playerMode = "auto"; + foreach ($streamData as $s) { + if ($s["mobile"]) { + array_push($availableMobileStreams, $s); + } else if (!$s["mobile"]) { + array_push($availableDesktopStreams, $s); + } + } + } else { + $this->view->playerMode = "manual"; + $selectedStreamData = $streamData[$stream]; + $this->view->streamURL = json_encode($selectedStreamData["url"]); + $this->view->codec = $selectedStreamData["codec"]; + } + $this->view->availableMobileStreams = json_encode($availableMobileStreams); + $this->view->availableDesktopStreams = json_encode($availableDesktopStreams); + } +} diff --git a/airtime_mvc/application/controllers/PlayerController.php b/airtime_mvc/application/controllers/PlayerController.php index 8d51219fe..bb3fbc2d3 100644 --- a/airtime_mvc/application/controllers/PlayerController.php +++ b/airtime_mvc/application/controllers/PlayerController.php @@ -28,53 +28,4 @@ class PlayerController extends Zend_Controller_Action } } - - /** - * This is the action that is called to insert the player onto a web page. - * It passes all the js and css files to the view, as well as all the - * stream customization information. - * - * The view for this action contains all the inline javascript needed to - * create the player. - */ - public function indexAction() - { - $this->view->layout()->disableLayout(); - - $CC_CONFIG = Config::getConfig(); - - - $request = $this->getRequest(); - - $this->view->css = Application_Common_HTTPHelper::getStationUrl() . "css/player.css?".$CC_CONFIG['airtime_version']; - $this->view->mrp_js = Application_Common_HTTPHelper::getStationUrl() . "js/airtime/player/mrp.js?".$CC_CONFIG['airtime_version']; - $this->view->jquery = Application_Common_HTTPHelper::getStationUrl() . "js/libs/jquery-1.10.2.js"; - $this->view->muses_swf = Application_Common_HTTPHelper::getStationUrl() . "js/airtime/player/muses.swf"; - $this->view->metadata_api_url = Application_Common_HTTPHelper::getStationUrl() . "api/live-info"; - $this->view->player_title = json_encode($request->getParam('title')); - - $stream = $request->getParam('stream'); - $streamData = Application_Model_StreamSetting::getEnabledStreamData(); - $availableMobileStreams = array(); - $availableDesktopStreams = array(); - - if ($stream == "auto") { - $this->view->playerMode = "auto"; - foreach ($streamData as $s) { - if ($s["mobile"]) { - array_push($availableMobileStreams, $s); - } else if (!$s["mobile"]) { - array_push($availableDesktopStreams, $s); - } - } - } else { - $this->view->playerMode = "manual"; - $selectedStreamData = $streamData[$stream]; - $this->view->streamURL = json_encode($selectedStreamData["url"]); - $this->view->codec = $selectedStreamData["codec"]; - } - $this->view->availableMobileStreams = json_encode($availableMobileStreams); - $this->view->availableDesktopStreams = json_encode($availableDesktopStreams); - //$this->view->displayMetadata = $request->getParam('display_metadata'); - } -} \ No newline at end of file +} diff --git a/airtime_mvc/application/controllers/plugins/Acl_plugin.php b/airtime_mvc/application/controllers/plugins/Acl_plugin.php index 7ea1336d0..9eef38fdb 100644 --- a/airtime_mvc/application/controllers/plugins/Acl_plugin.php +++ b/airtime_mvc/application/controllers/plugins/Acl_plugin.php @@ -118,7 +118,8 @@ class Zend_Controller_Plugin_Acl extends Zend_Controller_Plugin_Abstract "locale", "upgrade", 'whmcs-login', - "provisioning" + "provisioning", + "embed" ))) { $this->setRoleName("G"); diff --git a/airtime_mvc/application/forms/Player.php b/airtime_mvc/application/forms/Player.php index 01fc62d75..5e1ac4009 100644 --- a/airtime_mvc/application/forms/Player.php +++ b/airtime_mvc/application/forms/Player.php @@ -76,7 +76,7 @@ class Application_Form_Player extends Zend_Form_SubForm $embedSrc->setAttrib('cols', '40') ->setAttrib('rows', '4'); $embedSrc->setLabel(_("Embeddable code:")); - $embedSrc->setValue(''); + $embedSrc->setValue(''); $this->addElement($embedSrc); $previewLabel = new Zend_Form_Element_Text('player_preview_label'); @@ -84,4 +84,4 @@ class Application_Form_Player extends Zend_Form_SubForm $this->addElement($previewLabel); } -} \ No newline at end of file +} diff --git a/airtime_mvc/application/views/scripts/player/index.phtml b/airtime_mvc/application/views/scripts/embed/player.phtml similarity index 100% rename from airtime_mvc/application/views/scripts/player/index.phtml rename to airtime_mvc/application/views/scripts/embed/player.phtml