setDecorators([ ['ViewScript', ['viewScript' => 'form/preferences_livestream.phtml']], ]); // 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()); $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()); $this->addElement($auto_switch); // Default transition fade $transition_fade = new Zend_Form_Element_Text('transition_fade'); $transition_fade->setLabel(_('Switch Transition Fade (s):')) ->setFilters(['StringTrim']) ->addValidator('regex', false, ['/^\d*(\.\d+)?$/', 'messages' => _('Please enter a time in seconds (eg. 0.5)'), ]) ->setValue($defaultFade); $this->addElement($transition_fade); //Master username $master_username = new Zend_Form_Element_Text('master_username'); $master_username->setAttrib('autocomplete', 'off') ->setAllowEmpty(true) ->setLabel(_('Username:')) ->setFilters(['StringTrim']) ->setValue(Application_Model_Preference::GetLiveStreamMasterUsername()); $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(_('Password:')) ->setFilters(['StringTrim']); $this->addElement($master_password); $masterSourceParams = parse_url(Application_Model_Preference::GetMasterDJSourceConnectionURL()); // Master source connection url parameters $masterSourceHost = new Zend_Form_Element_Text('master_source_host'); $masterSourceHost->setLabel(_('Master Source Host:')) ->setAttrib('readonly', true) ->setValue(Application_Model_Preference::GetMasterDJSourceConnectionURL()); $this->addElement($masterSourceHost); //liquidsoap harbor.input port $betweenValidator = Application_Form_Helper_ValidationTypes::overrideBetweenValidator(1024, 49151); $m_port = Application_Model_StreamSetting::getMasterLiveStreamPort(); $masterSourcePort = new Zend_Form_Element_Text('master_source_port'); $masterSourcePort->setLabel(_('Master Source Port:')) ->setValue($m_port) ->setValidators([$betweenValidator]) ->addValidator('regex', false, ['pattern' => '/^[0-9]+$/', 'messages' => ['regexNotMatch' => _('Only numbers are allowed.')]]); $this->addElement($masterSourcePort); $m_mount = Application_Model_StreamSetting::getMasterLiveStreamMountPoint(); $masterSourceMount = new Zend_Form_Element_Text('master_source_mount'); $masterSourceMount->setLabel(_('Master Source Mount:')) ->setValue($m_mount) ->setValidators([ ['regex', false, ['/^[^ &<>]+$/', 'messages' => _('Invalid character entered')]], ]); $this->addElement($masterSourceMount); $showSourceParams = parse_url(Application_Model_Preference::GetLiveDJSourceConnectionURL()); // Show source connection url parameters $showSourceHost = new Zend_Form_Element_Text('show_source_host'); $showSourceHost->setLabel(_('Show Source Host:')) ->setAttrib('readonly', true) ->setValue(Application_Model_Preference::GetLiveDJSourceConnectionURL()); $this->addElement($showSourceHost); //liquidsoap harbor.input port $l_port = Application_Model_StreamSetting::getDjLiveStreamPort(); $showSourcePort = new Zend_Form_Element_Text('show_source_port'); $showSourcePort->setLabel(_('Show Source Port:')) ->setValue($l_port) ->setValidators([$betweenValidator]) ->addValidator('regex', false, ['pattern' => '/^[0-9]+$/', 'messages' => ['regexNotMatch' => _('Only numbers are allowed.')]]); $this->addElement($showSourcePort); $l_mount = Application_Model_StreamSetting::getDjLiveStreamMountPoint(); $showSourceMount = new Zend_Form_Element_Text('show_source_mount'); $showSourceMount->setLabel(_('Show Source Mount:')) ->setValue($l_mount) ->setValidators([ ['regex', false, ['/^[^ &<>]+$/', 'messages' => _('Invalid character entered')]], ]); $this->addElement($showSourceMount); } public function updateVariables() { $CC_CONFIG = Config::getConfig(); $isDemo = isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1; $masterSourceParams = parse_url(Application_Model_Preference::GetMasterDJSourceConnectionURL()); $showSourceParams = parse_url(Application_Model_Preference::GetLiveDJSourceConnectionURL()); $this->setDecorators( [ ['ViewScript', [ 'viewScript' => 'form/preferences_livestream.phtml', 'master_source_host' => isset($masterSourceHost) ? Application_Model_Preference::GetMasterDJSourceConnectionURL() : '', 'master_source_port' => isset($masterSourcePort) ? Application_Model_StreamSetting::getMasterLiveStreamPort() : '', 'master_source_mount' => isset($masterSourceMount) ? Application_Model_StreamSetting::getMasterLiveStreamMountPoint() : '', 'show_source_host' => isset($showSourceHost) ? Application_Model_Preference::GetLiveDJSourceConnectionURL() : '', 'show_source_port' => isset($showSourcePort) ? Application_Model_StreamSetting::getDjLiveStreamPort() : '', 'show_source_mount' => isset($showSourceMount) ? Application_Model_StreamSetting::getDjLiveStreamMountPoint() : '', 'isDemo' => $isDemo, ], ], ] ); } }