diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php index 1e9ea7313..296cfcdaf 100644 --- a/airtime_mvc/application/controllers/ApiController.php +++ b/airtime_mvc/application/controllers/ApiController.php @@ -814,6 +814,12 @@ class ApiController extends Zend_Controller_Action Application_Model_Preference::SetSourceSwitchStatus($sourcename, "off"); Application_Model_LiveLog::SetEndTime($sourcename == 'scheduled_play'?'S':'L', new DateTime("now", new DateTimeZone('UTC'))); + }elseif($status == "true" && Application_Model_Preference::GetAutoSwitch()){ + $data = array("sourcename"=>$sourcename, "status"=>"on"); + Application_Model_RabbitMq::SendMessageToPypo("switch_source", $data); + Application_Model_Preference::SetSourceSwitchStatus($sourcename, "on"); + Application_Model_LiveLog::SetNewLogTime($sourcename == 'scheduled_play'?'S':'L', + new DateTime("now", new DateTimeZone('UTC'))); } Application_Model_Preference::SetSourceStatus($sourcename, $status); } diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index 0e0972cc7..512c5c30d 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -215,6 +215,7 @@ class PreferenceController extends Zend_Controller_Action Application_Model_Preference::SetLiveSteamMasterPassword($values["master_password"]); Application_Model_Preference::SetDefaultTransitionFade($values["transition_fade"]); Application_Model_Preference::SetAutoTransition($values["auto_transition"]); + Application_Model_Preference::SetAutoSwitch($values["auto_switch"]); if (!$isSaas) { if (!Application_Model_Preference::GetMasterDjConnectionUrlOverride()) { diff --git a/airtime_mvc/application/forms/LiveStreamingPreferences.php b/airtime_mvc/application/forms/LiveStreamingPreferences.php index cbedf9547..8a4e1a674 100644 --- a/airtime_mvc/application/forms/LiveStreamingPreferences.php +++ b/airtime_mvc/application/forms/LiveStreamingPreferences.php @@ -15,13 +15,20 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm $defaultFade = '00.000000'; } - // automatic switch off + // automatic trasition on source disconnection $auto_transition = new Zend_Form_Element_Checkbox("auto_transition"); - $auto_transition->setLabel("Auto Source Transition") + $auto_transition->setLabel("Auto Switch Off") ->setValue(Application_Model_Preference::GetAutoTransition()) ->setDecorators(array('ViewHelper')); $this->addElement($auto_transition); + // automatic switch on upon source connection + $auto_switch = new Zend_Form_Element_Checkbox("auto_switch"); + $auto_switch->setLabel("Auto Switch On") + ->setValue(Application_Model_Preference::GetAutoSwitch()) + ->setDecorators(array('ViewHelper')); + $this->addElement($auto_switch); + // Default transition fade $transition_fade = new Zend_Form_Element_Text("transition_fade"); $transition_fade->setLabel("Switch Transition Fade (s)") diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php index 6dd902807..81d449ee6 100644 --- a/airtime_mvc/application/models/Preference.php +++ b/airtime_mvc/application/models/Preference.php @@ -877,6 +877,14 @@ class Application_Model_Preference return self::GetValue("auto_transition"); } + public static function SetAutoSwitch($value){ + self::SetValue("auto_switch", $value, false); + } + + public static function GetAutoSwitch(){ + return self::GetValue("auto_switch"); + } + public static function SetEnableSystemEmail($upload) { self::SetValue("enable_system_email", $upload); } diff --git a/airtime_mvc/application/views/scripts/form/preferences_livestream.phtml b/airtime_mvc/application/views/scripts/form/preferences_livestream.phtml index dcd56fee5..00221bf4e 100644 --- a/airtime_mvc/application/views/scripts/form/preferences_livestream.phtml +++ b/airtime_mvc/application/views/scripts/form/preferences_livestream.phtml @@ -17,6 +17,22 @@ +