diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index 7f8e13a3a..49c31af07 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -6,7 +6,7 @@ class PreferenceController extends Zend_Controller_Action public function init() { /* Initialize action controller here */ - $ajaxContext = $this->_helper->getHelper('AjaxContext'); + $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('server-browse', 'json') ->addActionContext('change-stor-directory', 'json') ->addActionContext('reload-watch-directory', 'json') @@ -143,6 +143,8 @@ class PreferenceController extends Zend_Controller_Action $baseUrl = $request->getBaseUrl(); $this->view->headScript()->appendFile($baseUrl.'/js/airtime/preferences/streamsetting.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + + $isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true; // get current settings $temp = Application_Model_StreamSetting::getStreamSetting(); @@ -197,13 +199,12 @@ class PreferenceController extends Zend_Controller_Action $values = $post_data; if($form->isValid($post_data)){ - if(Application_Model_Preference::GetPlanLevel() == 'disabled'){ + if (!$isSaas) { $values['output_sound_device'] = $form->getValue('output_sound_device'); + $values['output_sound_device_type'] = $form->getValue('output_sound_device_type'); } - $values['icecast_vorbis_metadata'] = $form->getValue('icecast_vorbis_metadata'); - $values['output_sound_device_type'] = $form->getValue('output_sound_device_type'); $values['streamFormat'] = $form->getValue('streamFormat'); Application_Model_StreamSetting::setStreamSetting($values); @@ -214,17 +215,19 @@ class PreferenceController extends Zend_Controller_Action Application_Model_Preference::SetLiveSteamMasterPassword($values["master_password"]); Application_Model_Preference::SetDefaultTransitionFade($values["transition_fade"]); - $master_connection_url = "http://".$_SERVER['SERVER_NAME'].":".$values["master_harbor_input_port"]."/".$values["master_harbor_input_mount_point"]; - $live_connection_url = "http://".$_SERVER['SERVER_NAME'].":".$values["dj_harbor_input_port"]."/".$values["dj_harbor_input_mount_point"]; + if (!$isSaas) { + $master_connection_url = "http://".$_SERVER['SERVER_NAME'].":".$values["master_harbor_input_port"]."/".$values["master_harbor_input_mount_point"]; + $live_connection_url = "http://".$_SERVER['SERVER_NAME'].":".$values["dj_harbor_input_port"]."/".$values["dj_harbor_input_mount_point"]; - Application_Model_Preference::SetMasterDJSourceConnectionURL($master_connection_url); - Application_Model_Preference::SetLiveDJSourceConnectionURL($live_connection_url); + Application_Model_Preference::SetMasterDJSourceConnectionURL($master_connection_url); + Application_Model_Preference::SetLiveDJSourceConnectionURL($live_connection_url); - // extra info that goes into cc_stream_setting - Application_Model_StreamSetting::SetMasterLiveSteamPort($values["master_harbor_input_port"]); - Application_Model_StreamSetting::SetMasterLiveSteamMountPoint($values["master_harbor_input_mount_point"]); - Application_Model_StreamSetting::SetDJLiveSteamPort($values["dj_harbor_input_port"]); - Application_Model_StreamSetting::SetDJLiveSteamMountPoint($values["dj_harbor_input_mount_point"]); + // extra info that goes into cc_stream_setting + Application_Model_StreamSetting::SetMasterLiveSteamPort($values["master_harbor_input_port"]); + Application_Model_StreamSetting::SetMasterLiveSteamMountPoint($values["master_harbor_input_mount_point"]); + Application_Model_StreamSetting::SetDJLiveSteamPort($values["dj_harbor_input_port"]); + Application_Model_StreamSetting::SetDJLiveSteamMountPoint($values["dj_harbor_input_mount_point"]); + } // store stream update timestamp Application_Model_Preference::SetStreamUpdateTimestamp(); diff --git a/airtime_mvc/application/forms/LiveStreamingPreferences.php b/airtime_mvc/application/forms/LiveStreamingPreferences.php index 54e934284..b922bc8fe 100644 --- a/airtime_mvc/application/forms/LiveStreamingPreferences.php +++ b/airtime_mvc/application/forms/LiveStreamingPreferences.php @@ -2,9 +2,10 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm { - + public function init() { + $isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true; $defaultFade = Application_Model_Preference::GetDefaultTransitionFade(); if($defaultFade == ""){ $defaultFade = '00.000000'; @@ -42,42 +43,44 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm $this->addElement($master_password); //liquidsoap harbor.input port - $m_port = Application_Model_StreamSetting::GetMasterLiveSteamPort(); - $master_dj_port = new Zend_Form_Element_Text('master_harbor_input_port'); - $master_dj_port->setLabel("Master Source Port") - ->setValue($m_port) - ->setValidators(array(new Zend_Validate_Between(array('min'=>1024, 'max'=>49151)))) - ->addValidator('regex', false, array('pattern'=>'/^[0-9]+$/', 'messages'=>array('regexNotMatch'=>'Only numbers are allowed.'))) - ->setDecorators(array('ViewHelper')); - $this->addElement($master_dj_port); - - $m_mount = Application_Model_StreamSetting::GetMasterLiveSteamMountPoint(); - $master_dj_mount = new Zend_Form_Element_Text('master_harbor_input_mount_point'); - $master_dj_mount->setLabel("Master Source Mount Point") - ->setValue($m_mount) - ->setValidators(array( - array('regex', false, array('/^[^ &<>]+$/', 'messages' => 'Invalid character entered')))) - ->setDecorators(array('ViewHelper')); - $this->addElement($master_dj_mount); - - //liquidsoap harbor.input port - $l_port = Application_Model_StreamSetting::GetDJLiveSteamPort(); - $live_dj_port = new Zend_Form_Element_Text('dj_harbor_input_port'); - $live_dj_port->setLabel("Show Source Port") - ->setValue($l_port) - ->setValidators(array(new Zend_Validate_Between(array('min'=>1024, 'max'=>49151)))) - ->addValidator('regex', false, array('pattern'=>'/^[0-9]+$/', 'messages'=>array('regexNotMatch'=>'Only numbers are allowed.'))) - ->setDecorators(array('ViewHelper')); - $this->addElement($live_dj_port); - - $l_mount = Application_Model_StreamSetting::GetDJLiveSteamMountPoint(); - $live_dj_mount = new Zend_Form_Element_Text('dj_harbor_input_mount_point'); - $live_dj_mount->setLabel("Show Source Mount Point") - ->setValue($l_mount) - ->setValidators(array( - array('regex', false, array('/^[^ &<>]+$/', 'messages' => 'Invalid character entered')))) - ->setDecorators(array('ViewHelper')); - $this->addElement($live_dj_mount); + if (!$isSaas) { + $m_port = Application_Model_StreamSetting::GetMasterLiveSteamPort(); + $master_dj_port = new Zend_Form_Element_Text('master_harbor_input_port'); + $master_dj_port->setLabel("Master Source Port") + ->setValue($m_port) + ->setValidators(array(new Zend_Validate_Between(array('min'=>1024, 'max'=>49151)))) + ->addValidator('regex', false, array('pattern'=>'/^[0-9]+$/', 'messages'=>array('regexNotMatch'=>'Only numbers are allowed.'))) + ->setDecorators(array('ViewHelper')); + $this->addElement($master_dj_port); + + $m_mount = Application_Model_StreamSetting::GetMasterLiveSteamMountPoint(); + $master_dj_mount = new Zend_Form_Element_Text('master_harbor_input_mount_point'); + $master_dj_mount->setLabel("Master Source Mount Point") + ->setValue($m_mount) + ->setValidators(array( + array('regex', false, array('/^[^ &<>]+$/', 'messages' => 'Invalid character entered')))) + ->setDecorators(array('ViewHelper')); + $this->addElement($master_dj_mount); + + //liquidsoap harbor.input port + $l_port = Application_Model_StreamSetting::GetDJLiveSteamPort(); + $live_dj_port = new Zend_Form_Element_Text('dj_harbor_input_port'); + $live_dj_port->setLabel("Show Source Port") + ->setValue($l_port) + ->setValidators(array(new Zend_Validate_Between(array('min'=>1024, 'max'=>49151)))) + ->addValidator('regex', false, array('pattern'=>'/^[0-9]+$/', 'messages'=>array('regexNotMatch'=>'Only numbers are allowed.'))) + ->setDecorators(array('ViewHelper')); + $this->addElement($live_dj_port); + + $l_mount = Application_Model_StreamSetting::GetDJLiveSteamMountPoint(); + $live_dj_mount = new Zend_Form_Element_Text('dj_harbor_input_mount_point'); + $live_dj_mount->setLabel("Show Source Mount Point") + ->setValue($l_mount) + ->setValidators(array( + array('regex', false, array('/^[^ &<>]+$/', 'messages' => 'Invalid character entered')))) + ->setDecorators(array('ViewHelper')); + $this->addElement($live_dj_mount); + } } public function updateVariables(){ @@ -106,45 +109,47 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm } public function isValid($data){ + $isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true; $isValid = parent::isValid($data); - - $master_harbor_input_port = $data['master_harbor_input_port']; - $dj_harbor_input_port = $data['dj_harbor_input_port']; - - if($master_harbor_input_port == $dj_harbor_input_port && $master_harbor_input_port != ""){ - $element = $this->getElement("dj_harbor_input_port"); - $element->addError("You cannot use same port as Master DJ port."); - } - if($master_harbor_input_port != ""){ - if(is_numeric($master_harbor_input_port)){ - if($master_harbor_input_port != Application_Model_StreamSetting::GetMasterLiveSteamPort()){ - $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); - $res = socket_bind($sock, 0, $master_harbor_input_port); - if(!$res){ - $element = $this->getElement("master_harbor_input_port"); - $element->addError("Port '$master_harbor_input_port' is not available."); - $isValid = false; - } - socket_close($sock); - } - }else{ - $isValid = false; + if (!$isSaas) { + $master_harbor_input_port = $data['master_harbor_input_port']; + $dj_harbor_input_port = $data['dj_harbor_input_port']; + + if($master_harbor_input_port == $dj_harbor_input_port && $master_harbor_input_port != ""){ + $element = $this->getElement("dj_harbor_input_port"); + $element->addError("You cannot use same port as Master DJ port."); } - } - if($dj_harbor_input_port != ""){ - if(is_numeric($dj_harbor_input_port)){ - if($dj_harbor_input_port != Application_Model_StreamSetting::GetDJLiveSteamPort()){ - $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); - $res = socket_bind($sock, 0, $dj_harbor_input_port); - if(!$res){ - $element = $this->getElement("dj_harbor_input_port"); - $element->addError("Port '$dj_harbor_input_port' is not available."); - $isValid = false; + if($master_harbor_input_port != ""){ + if(is_numeric($master_harbor_input_port)){ + if($master_harbor_input_port != Application_Model_StreamSetting::GetMasterLiveSteamPort()){ + $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); + $res = socket_bind($sock, 0, $master_harbor_input_port); + if(!$res){ + $element = $this->getElement("master_harbor_input_port"); + $element->addError("Port '$master_harbor_input_port' is not available."); + $isValid = false; + } + socket_close($sock); } - socket_close($sock); + }else{ + $isValid = false; + } + } + if($dj_harbor_input_port != ""){ + if(is_numeric($dj_harbor_input_port)){ + if($dj_harbor_input_port != Application_Model_StreamSetting::GetDJLiveSteamPort()){ + $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); + $res = socket_bind($sock, 0, $dj_harbor_input_port); + if(!$res){ + $element = $this->getElement("dj_harbor_input_port"); + $element->addError("Port '$dj_harbor_input_port' is not available."); + $isValid = false; + } + socket_close($sock); + } + }else{ + $isValid = false; } - }else{ - $isValid = false; } } return $isValid;