156 lines
5.5 KiB
PHP
156 lines
5.5 KiB
PHP
<?php
|
|
|
|
class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm
|
|
{
|
|
private $prefix;
|
|
private $setting;
|
|
|
|
public static $customizable;
|
|
|
|
public function init() {}
|
|
|
|
public function setPrefix($prefix)
|
|
{
|
|
$this->prefix = $prefix;
|
|
}
|
|
|
|
public function setSetting($setting)
|
|
{
|
|
$this->setting = $setting;
|
|
}
|
|
|
|
public function startForm()
|
|
{
|
|
$prefix = 's' . $this->prefix;
|
|
$stream_number = $this->prefix;
|
|
$setting = $this->setting;
|
|
|
|
$this->setIsArray(true);
|
|
$this->setElementsBelongTo($prefix . '_data');
|
|
|
|
$enable = new Zend_Form_Element_Checkbox('enable');
|
|
$enable
|
|
->setLabel(_('Enabled:'))
|
|
->setAttrib('disabled', true)
|
|
->setValue($setting[$prefix . '_enable'] == 'true' ? 1 : 0)
|
|
->setDecorators(['ViewHelper']);
|
|
$this->addElement($enable);
|
|
|
|
$mobile = new Zend_Form_Element_Checkbox('mobile');
|
|
$mobile
|
|
->setLabel(_('Mobile:'))
|
|
->setAttrib('disabled', true)
|
|
->setValue($setting[$prefix . '_mobile'])
|
|
->setDecorators(['ViewHelper']);
|
|
$this->addElement($mobile);
|
|
|
|
$type = new Zend_Form_Element_Text('type');
|
|
$type
|
|
->setLabel(_('Stream Type:'))
|
|
->setAttrib('readonly', true)
|
|
->setValue(isset($setting[$prefix . '_type']) ? $setting[$prefix . '_type'] : 0)
|
|
->setDecorators(['ViewHelper']);
|
|
$this->addElement($type);
|
|
|
|
$bitrate = new Zend_Form_Element_Text('bitrate');
|
|
$bitrate
|
|
->setLabel(_('Bit Rate:'))
|
|
->setAttrib('readonly', true)
|
|
->setValue(isset($setting[$prefix . '_bitrate']) ? $setting[$prefix . '_bitrate'] : 0)
|
|
->setDecorators(['ViewHelper']);
|
|
$this->addElement($bitrate);
|
|
|
|
$output = new Zend_Form_Element_Text('output');
|
|
$output
|
|
->setLabel(_('Service Type:'))
|
|
->setAttrib('readonly', true)
|
|
->setValue(isset($setting[$prefix . '_output']) ? $setting[$prefix . '_output'] : 'icecast')
|
|
->setDecorators(['ViewHelper']);
|
|
$this->addElement($output);
|
|
|
|
$channels = new Zend_Form_Element_Text('channels');
|
|
$channels
|
|
->setLabel(_('Channels:'))
|
|
->setAttrib('readonly', true)
|
|
->setValue(isset($setting[$prefix . '_channels']) ? $setting[$prefix . '_channels'] : 'stereo')
|
|
->setDecorators(['ViewHelper']);
|
|
$this->addElement($channels);
|
|
|
|
$host = new Zend_Form_Element_Text('host');
|
|
$host
|
|
->setLabel(_('Server'))
|
|
->setAttrib('readonly', true)
|
|
->setValue(isset($setting[$prefix . '_host']) ? $setting[$prefix . '_host'] : '')
|
|
->setDecorators(['ViewHelper']);
|
|
$host->setAttrib('alt', 'domain');
|
|
$this->addElement($host);
|
|
|
|
$port = new Zend_Form_Element_Text('port');
|
|
$port
|
|
->setLabel(_('Port'))
|
|
->setAttrib('readonly', true)
|
|
->setValue(isset($setting[$prefix . '_port']) ? $setting[$prefix . '_port'] : '')
|
|
->setDecorators(['ViewHelper']);
|
|
$this->addElement($port);
|
|
|
|
$mount = new Zend_Form_Element_Text('mount');
|
|
$mount
|
|
->setLabel(_('Mount Point'))
|
|
->setAttrib('readonly', true)
|
|
->setValue(isset($setting[$prefix . '_mount']) ? $setting[$prefix . '_mount'] : '')
|
|
->setDecorators(['ViewHelper']);
|
|
$mount->setAttrib('alt', 'regular_text');
|
|
$this->addElement($mount);
|
|
|
|
$name = new Zend_Form_Element_Text('name');
|
|
$name
|
|
->setLabel(_('Name'))
|
|
->setAttrib('readonly', true)
|
|
->setValue(isset($setting[$prefix . '_name']) ? $setting[$prefix . '_name'] : '')
|
|
->setDecorators(['ViewHelper']);
|
|
$this->addElement($name);
|
|
|
|
$genre = new Zend_Form_Element_Text('genre');
|
|
$genre
|
|
->setAttrib('readonly', true)
|
|
->setLabel(_('Genre'))
|
|
->setValue(isset($setting[$prefix . '_genre']) ? $setting[$prefix . '_genre'] : '')
|
|
->setDecorators(['ViewHelper']);
|
|
$this->addElement($genre);
|
|
|
|
$url = new Zend_Form_Element_Text('url');
|
|
$url
|
|
->setLabel(_('URL'))
|
|
->setAttrib('readonly', true)
|
|
->setValue(isset($setting[$prefix . '_url']) ? $setting[$prefix . '_url'] : '')
|
|
->setDecorators(['ViewHelper']);
|
|
$url->setAttrib('alt', 'url');
|
|
$this->addElement($url);
|
|
|
|
$description = new Zend_Form_Element_Text('description');
|
|
$description
|
|
->setLabel(_('Description'))
|
|
->setAttrib('readonly', true)
|
|
->setValue(isset($setting[$prefix . '_description']) ? $setting[$prefix . '_description'] : '')
|
|
->setDecorators(['ViewHelper']);
|
|
$this->addElement($description);
|
|
|
|
$public_url = new Zend_Form_Element_Text('public_url');
|
|
$public_url
|
|
->setLabel(_('Stream URL'))
|
|
->setValue($setting[$prefix . '_public_url'] ?? '');
|
|
$this->addElement($public_url);
|
|
|
|
$liquidsoap_error_msg = '<div class="stream-status status-info"><p>' . _('Getting information from the server...') . '</p></div>';
|
|
|
|
$this->setDecorators([
|
|
['ViewScript', [
|
|
'viewScript' => 'form/stream-setting-form.phtml',
|
|
'stream_number' => $stream_number,
|
|
'enabled' => $enable->getValue(),
|
|
'liquidsoap_error_msg' => $liquidsoap_error_msg,
|
|
]],
|
|
]);
|
|
}
|
|
}
|