diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index 1d3376350..bf81e44af 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -165,10 +165,10 @@ class PreferenceController extends Zend_Controller_Action $num_of_stream = intval(Application_Model_Preference::GetNumOfStreams()); $form = new Application_Form_StreamSetting(); - if(Application_Model_Preference::GetPlanLevel() == 'disabled'){ - $form->setSetting($setting); - $form->startFrom(); - } + + $form->setSetting($setting); + $form->startFrom(); + for($i=1; $i<=$num_of_stream; $i++){ $subform = new Application_Form_StreamSettingSubForm(); $subform->setPrefix($i); @@ -192,9 +192,14 @@ class PreferenceController extends Zend_Controller_Action } } } - if(Application_Model_Preference::GetPlanLevel() == 'disabled' && $form->isValid($post_data['output_sound_device'])){ - $values['output_sound_device'] = $form->getValue('output_sound_device'); + if($form->isValid($post_data)){ + if(Application_Model_Preference::GetPlanLevel() == 'disabled'){// && $form->isValid($post_data['output_sound_device'])){ + $values['output_sound_device'] = $form->getValue('output_sound_device'); + } + + $values['icecast_vorbis_metadata'] = $form->getValue('icecast_vorbis_metadata'); } + var_dump($form->getValue('icecast_vorbis_metadata')); if(!$error){ Application_Model_StreamSetting::setStreamSetting($values); $data = array(); diff --git a/airtime_mvc/application/forms/StreamSetting.php b/airtime_mvc/application/forms/StreamSetting.php index cb7735cb5..fc07544a5 100644 --- a/airtime_mvc/application/forms/StreamSetting.php +++ b/airtime_mvc/application/forms/StreamSetting.php @@ -15,19 +15,31 @@ class Application_Form_StreamSetting extends Zend_Form public function startFrom() { $setting = $this->setting; - $output_sound_device = new Zend_Form_Element_Checkbox('output_sound_device'); - $output_sound_device->setLabel('Enabled') - ->setRequired(false) - ->setValue(($setting['output_sound_device'] == "true")?1:0) - ->setDecorators(array('ViewHelper')); - if (Application_Model_Preference::GetEnableStreamConf() == "false"){ - $output_sound_device->setAttrib("readonly", true); + if(Application_Model_Preference::GetPlanLevel() == 'disabled'){ + $output_sound_device = new Zend_Form_Element_Checkbox('output_sound_device'); + $output_sound_device->setLabel('Hardware Audio Ouput') + ->setRequired(false) + ->setValue(($setting['output_sound_device'] == "true")?1:0) + ->setDecorators(array('ViewHelper')); + if (Application_Model_Preference::GetEnableStreamConf() == "false"){ + $output_sound_device->setAttrib("readonly", true); + } + $this->addElement($output_sound_device); } - $this->addElement($output_sound_device); + + $icecast_vorbis_metadata = new Zend_Form_Element_Checkbox('icecast_vorbis_metadata'); + $icecast_vorbis_metadata->setLabel('Icecast Vorbis Meatadata') + ->setRequired(false) + ->setValue(($setting['icecast_vorbis_metadata'] == "true")?1:0) + ->setDecorators(array('ViewHelper')); + if (Application_Model_Preference::GetEnableStreamConf() == "false"){ + $icecast_vorbis_metadata->setAttrib("readonly", true); + } + $this->addElement($icecast_vorbis_metadata); } public function isValid($data){ - $this->populate(array("output_sound_device"=>$data)); + $this->populate(array("output_sound_device"=>$data['output_sound_device'], "icecast_vorbis_metadata"=>$data['icecast_vorbis_metadata'])); return true; } } diff --git a/airtime_mvc/application/models/StreamSetting.php b/airtime_mvc/application/models/StreamSetting.php index 4486178ae..577bab05c 100644 --- a/airtime_mvc/application/models/StreamSetting.php +++ b/airtime_mvc/application/models/StreamSetting.php @@ -60,12 +60,13 @@ class Application_Model_StreamSetting { public static function setStreamSetting($data){ global $CC_DBC; foreach($data as $key=>$d){ - if($key == "output_sound_device"){ + if($key == "output_sound_device" || $key == "icecast_vorbis_metadata"){ $v = $d == 1?"true":"false"; $sql = "UPDATE cc_stream_setting SET value='$v' WHERE keyname='$key'"; $CC_DBC->query($sql); } else{ + var_dump($key); $temp = explode('_', $key); $prefix = $temp[0]; foreach($d as $k=>$v){ diff --git a/airtime_mvc/application/views/scripts/preference/stream-setting.phtml b/airtime_mvc/application/views/scripts/preference/stream-setting.phtml index d250be0cd..e2e49af59 100644 --- a/airtime_mvc/application/views/scripts/preference/stream-setting.phtml +++ b/airtime_mvc/application/views/scripts/preference/stream-setting.phtml @@ -8,21 +8,29 @@
statusMsg;?> -form->getElement('output_sound_device') != null){?> -