public function init() { global $CC_CONFIG; $isDemo = isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1; $isStreamConfigable = Application_Model_Preference::GetEnableStreamConf() == "true"; $isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled' ? false : true; $defaultFade = Application_Model_Preference::GetDefaultTransitionFade(); if ($defaultFade == "") { $defaultFade = '00.000000'; } // automatic trasition on source disconnection $auto_transition = new Zend_Form_Element_Checkbox("auto_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)")->setFilters(array('StringTrim'))->addValidator('regex', false, array('/^[0-9]{1,2}(\\.\\d{1,6})?$/', 'messages' => 'enter a time in seconds 00{.000000}'))->setValue($defaultFade)->setDecorators(array('ViewHelper')); $this->addElement($transition_fade); //Master username $master_username = new Zend_Form_Element_Text('master_username'); $master_username->setAttrib('autocomplete', 'off')->setAllowEmpty(true)->setLabel('Master Username')->setFilters(array('StringTrim'))->setValue(Application_Model_Preference::GetLiveStreamMasterUsername())->setDecorators(array('ViewHelper')); $this->addElement($master_username); //Master password if ($isDemo) { $master_password = new Zend_Form_Element_Text('master_password'); } else { $master_password = new Zend_Form_Element_Password('master_password'); $master_password->setAttrib('renderPassword', 'true'); } $master_password->setAttrib('autocomplete', 'off')->setAttrib('renderPassword', 'true')->setAllowEmpty(true)->setValue(Application_Model_Preference::GetLiveStreamMasterPassword())->setLabel('Master Password')->setFilters(array('StringTrim'))->setDecorators(array('ViewHelper')); $this->addElement($master_password); //Master source connection url $master_dj_connection_url = new Zend_Form_Element_Text('master_dj_connection_url'); $master_dj_connection_url->setAttrib('readonly', true)->setLabel('Master Source Connection URL')->setValue(Application_Model_Preference::GetMasterDJSourceConnectionURL())->setDecorators(array('ViewHelper')); $this->addElement($master_dj_connection_url); //Show source connection url $live_dj_connection_url = new Zend_Form_Element_Text('live_dj_connection_url'); $live_dj_connection_url->setAttrib('readonly', true)->setLabel('Show Source Connection URL')->setValue(Application_Model_Preference::GetLiveDJSourceConnectionURL())->setDecorators(array('ViewHelper')); $this->addElement($live_dj_connection_url); //liquidsoap harbor.input port if (!$isSaas) { $m_port = Application_Model_StreamSetting::getMasterLiveStreamPort(); $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::getMasterLiveStreamMountPoint(); $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::getDjLiveStreamPort(); $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::getDjLiveStreamMountPoint(); $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); } // demo only code if (!$isStreamConfigable) { $elements = $this->getElements(); foreach ($elements as $element) { if ($element->getType() != 'Zend_Form_Element_Hidden') { $element->setAttrib("disabled", "disabled"); } } } }
public function checkLiveStreamAuthAction() { $request = $this->getRequest(); $username = $request->getParam('username'); $password = $request->getParam('password'); $djtype = $request->getParam('djtype'); if ($djtype == 'master') { //check against master if ($username == Application_Model_Preference::GetLiveStreamMasterUsername() && $password == Application_Model_Preference::GetLiveStreamMasterPassword()) { $this->view->msg = true; } else { $this->view->msg = false; } } elseif ($djtype == "dj") { //check against show dj auth $showInfo = Application_Model_Show::getCurrentShow(); // there is current playing show if (isset($showInfo[0]['id'])) { $current_show_id = $showInfo[0]['id']; $CcShow = CcShowQuery::create()->findPK($current_show_id); // get custom pass info from the show $custom_user = $CcShow->getDbLiveStreamUser(); $custom_pass = $CcShow->getDbLiveStreamPass(); // get hosts ids $show = new Application_Model_Show($current_show_id); $hosts_ids = $show->getHostsIds(); // check against hosts auth if ($CcShow->getDbLiveStreamUsingAirtimeAuth()) { foreach ($hosts_ids as $host) { $h = new Application_Model_User($host['subjs_id']); if ($username == $h->getLogin() && md5($password) == $h->getPassword()) { $this->view->msg = true; return; } } } // check against custom auth if ($CcShow->getDbLiveStreamUsingCustomAuth()) { if ($username == $custom_user && $password == $custom_pass) { $this->view->msg = true; } else { $this->view->msg = false; } } else { $this->view->msg = false; } } else { // no show is currently playing $this->view->msg = false; } } }