SAAS-908 - Break source URL strings into host/port/mount fields

This commit is contained in:
Duncan Sommerville 2015-06-30 12:14:33 -04:00
parent 04fe265538
commit f87fe11a24
4 changed files with 143 additions and 202 deletions

View file

@ -11,38 +11,38 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm
$defaultFade = Application_Model_Preference::GetDefaultTransitionFade();
$this->setDecorators(array(
array('ViewScript', array('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())
->setDecorators(array('ViewHelper'));
$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())
->setDecorators(array('ViewHelper'));
$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)"))
$transition_fade->setLabel(_("Switch Transition Fade (s):"))
->setFilters(array('StringTrim'))
->addValidator('regex', false, array('/^\d*(\.\d+)?$/',
'messages' => _('Please enter a time in seconds (eg. 0.5)')))
->setValue($defaultFade)
->setDecorators(array('ViewHelper'));
->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(_('Master Username'))
->setLabel(_('Username:'))
->setFilters(array('StringTrim'))
->setValue(Application_Model_Preference::GetLiveStreamMasterUsername())
->setDecorators(array('ViewHelper'));
->setValue(Application_Model_Preference::GetLiveStreamMasterUsername());
$this->addElement($master_username);
//Master password
@ -56,26 +56,51 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm
->setAttrib('renderPassword','true')
->setAllowEmpty(true)
->setValue(Application_Model_Preference::GetLiveStreamMasterPassword())
->setLabel(_('Master Password'))
->setFilters(array('StringTrim'))
->setDecorators(array('ViewHelper'));
->setLabel(_('Password:'))
->setFilters(array('StringTrim'));
$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);
$masterSourceParams = parse_url(Application_Model_Preference::GetMasterDJSourceConnectionURL());
//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);
// Master source connection url parameters
$masterSourceHost = new Zend_Form_Element_Text('master_source_host');
$masterSourceHost->setAttrib('readonly', true)
->setLabel(_('Host:'))
->setValue(isset($masterSourceParams["host"])?$masterSourceParams["host"]:"");
$this->addElement($masterSourceHost);
$masterSourcePort = new Zend_Form_Element_Text('master_source_port');
$masterSourcePort->setAttrib('readonly', true)
->setLabel(_('Port:'))
->setValue(isset($masterSourceParams["port"])?$masterSourceParams["port"]:"");
$this->addElement($masterSourcePort);
$masterSourceMount = new Zend_Form_Element_Text('master_source_mount');
$masterSourceMount->setAttrib('readonly', true)
->setLabel(_('Mount:'))
->setValue(isset($masterSourceParams["path"])?$masterSourceParams["path"]:"");
$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->setAttrib('readonly', true)
->setLabel(_('Host:'))
->setValue(isset($showSourceParams["host"])?$showSourceParams["host"]:"");
$this->addElement($showSourceHost);
$showSourcePort = new Zend_Form_Element_Text('show_source_port');
$showSourcePort->setAttrib('readonly', true)
->setLabel(_('Port:'))
->setValue(isset($showSourceParams["port"])?$showSourceParams["port"]:"");
$this->addElement($showSourcePort);
$showSourceMount = new Zend_Form_Element_Text('show_source_mount');
$showSourceMount->setAttrib('readonly', true)
->setLabel(_('Mount:'))
->setValue(isset($showSourceParams["mount"])?$showSourceParams["mount"]:"");
$this->addElement($showSourceMount);
// demo only code
if (!$isStreamConfigable) {
@ -93,19 +118,30 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm
$CC_CONFIG = Config::getConfig();
$isDemo = isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1;
$master_dj_connection_url = Application_Model_Preference::GetMasterDJSourceConnectionURL();
$live_dj_connection_url = Application_Model_Preference::GetLiveDJSourceConnectionURL();
$masterSourceParams = parse_url(Application_Model_Preference::GetMasterDJSourceConnectionURL());
$showSourceParams = parse_url(Application_Model_Preference::GetLiveDJSourceConnectionURL());
$this->setDecorators(array(
array('ViewScript', array('viewScript' => 'form/preferences_livestream.phtml', 'master_dj_connection_url'=>$master_dj_connection_url, 'live_dj_connection_url'=>$live_dj_connection_url, 'isDemo' => $isDemo))
));
$this->setDecorators(
array (
array ('ViewScript',
array (
'viewScript' => 'form/preferences_livestream.phtml',
'master_source_host' => isset($masterSourceParams["host"])?$masterSourceParams["host"]:"",
'master_source_port' => isset($masterSourceParams["port"])?$masterSourceParams["port"]:"",
'master_source_mount' => isset($masterSourceParams["mount"])?$masterSourceParams["mount"]:"",
'show_source_host' => isset($showSourceParams["host"])?$showSourceParams["host"]:"",
'show_source_port' => isset($showSourceParams["port"])?$showSourceParams["port"]:"",
'show_source_mount' => isset($showSourceParams["mount"])?$showSourceParams["mount"]:"",
'isDemo' => $isDemo,
)
)
)
);
}
public function isValid($data)
{
$isValid = parent::isValid($data);
return $isValid;
return parent::isValid($data);
}
}