From 3cd11c696f54e0d7f9c9401fad65f0f424c06ef8 Mon Sep 17 00:00:00 2001 From: Naomi Aro Date: Tue, 13 Dec 2011 12:10:25 +0100 Subject: [PATCH] CC-3184 : Preferences: "Stream Label" needs to be moved to "Stream Settings"->"Global" --- .../controllers/PreferenceController.php | 14 +++++----- .../application/forms/GeneralPreferences.php | 27 +++++++------------ .../application/forms/StreamSetting.php | 27 ++++++++++++------- .../scripts/form/preferences_general.phtml | 27 ++----------------- .../scripts/preference/stream-setting.phtml | 25 ++++++++++++++++- 5 files changed, 61 insertions(+), 59 deletions(-) diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index 54a5ef8f4..88ceca045 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -33,7 +33,6 @@ class PreferenceController extends Zend_Controller_Action Application_Model_Preference::SetHeadTitle($values["preferences_general"]["stationName"], $this->view); Application_Model_Preference::SetDefaultFade($values["preferences_general"]["stationDefaultFade"]); - Application_Model_Preference::SetStreamLabelFormat($values["preferences_general"]["streamFormat"]); Application_Model_Preference::SetAllow3rdPartyApi($values["preferences_general"]["thirdPartyApi"]); Application_Model_Preference::SetTimezone($values["preferences_general"]["timezone"]); Application_Model_Preference::SetWeekStartDay($values["preferences_general"]["weekStartDay"]); @@ -64,9 +63,9 @@ class PreferenceController extends Zend_Controller_Action $this->view->statusMsg = ""; $isSass = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true; - + $form = new Application_Form_SupportSettings(); - + if ($request->isPost()) { $values = $request->getPost(); if ($form->isValid($values)) { @@ -165,10 +164,10 @@ class PreferenceController extends Zend_Controller_Action $num_of_stream = intval(Application_Model_Preference::GetNumOfStreams()); $form = new Application_Form_StreamSetting(); - + $form->setSetting($setting); $form->startFrom(); - + for($i=1; $i<=$num_of_stream; $i++){ $subform = new Application_Form_StreamSettingSubForm(); $subform->setPrefix($i); @@ -180,6 +179,7 @@ class PreferenceController extends Zend_Controller_Action } if ($request->isPost()) { $post_data = $request->getPost(); + $error = false; $values = array(); for($i=1; $i<=$num_of_stream; $i++){ @@ -196,9 +196,11 @@ 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'); } + $values['icecast_vorbis_metadata'] = $form->getValue('icecast_vorbis_metadata'); $values['output_sound_device_type'] = $form->getValue('output_sound_device_type'); + } if(!$error){ Application_Model_StreamSetting::setStreamSetting($values); @@ -303,7 +305,7 @@ class PreferenceController extends Zend_Controller_Action } die(json_encode($res)); } - + public function getLiquidsoapStatusAction(){ $out = array(); $num_of_stream = intval(Application_Model_Preference::GetNumOfStreams()); diff --git a/airtime_mvc/application/forms/GeneralPreferences.php b/airtime_mvc/application/forms/GeneralPreferences.php index 61b79dbc8..1514e1460 100644 --- a/airtime_mvc/application/forms/GeneralPreferences.php +++ b/airtime_mvc/application/forms/GeneralPreferences.php @@ -13,7 +13,7 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm if($defaultFade == ""){ $defaultFade = '00:00:00.000000'; } - + //Station name $this->addElement('text', 'stationName', array( 'class' => 'input_text', @@ -25,7 +25,7 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm 'ViewHelper' ) )); - + //Default station fade $this->addElement('text', 'stationDefaultFade', array( 'class' => 'input_text', @@ -41,15 +41,6 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm ) )); - $stream_format = new Zend_Form_Element_Radio('streamFormat'); - $stream_format->setLabel('Stream Label:'); - $stream_format->setMultiOptions(array("Artist - Title", - "Show - Artist - Title", - "Station name - Show name")); - $stream_format->setValue(Application_Model_Preference::GetStreamLabelFormat()); - $stream_format->setDecorators(array('ViewHelper')); - $this->addElement($stream_format); - $third_party_api = new Zend_Form_Element_Radio('thirdPartyApi'); $third_party_api->setLabel('Allow Remote Websites To Access "Schedule" Info?
(Enable this to make front-end widgets work.)'); $third_party_api->setMultiOptions(array("Disabled", @@ -57,7 +48,7 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm $third_party_api->setValue(Application_Model_Preference::GetAllow3rdPartyApi()); $third_party_api->setDecorators(array('ViewHelper')); $this->addElement($third_party_api); - + /* Form Element for setting the Timezone */ $timezone = new Zend_Form_Element_Select("timezone"); $timezone->setLabel("Timezone"); @@ -65,7 +56,7 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm $timezone->setValue(Application_Model_Preference::GetTimezone()); $timezone->setDecorators(array('ViewHelper')); $this->addElement($timezone); - + /* Form Element for setting which day is the start of the week */ $week_start_day = new Zend_Form_Element_Select("weekStartDay"); $week_start_day->setLabel("Week Starts On"); @@ -74,7 +65,7 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm $week_start_day->setDecorators(array('ViewHelper')); $this->addElement($week_start_day); } - + private function getTimezones(){ $regions = array( 'Africa' => DateTimeZone::AFRICA, @@ -86,9 +77,9 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm 'Indian' => DateTimeZone::INDIAN, 'Pacific' => DateTimeZone::PACIFIC ); - + $tzlist = array(); - + foreach ($regions as $name => $mask){ $ids = DateTimeZone::listIdentifiers($mask); foreach ($ids as $id){ @@ -98,7 +89,7 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm return $tzlist; } - + private function getWeekStartDays() { $days = array( @@ -110,7 +101,7 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm 'Friday', 'Saturday' ); - return $days; + return $days; } } diff --git a/airtime_mvc/application/forms/StreamSetting.php b/airtime_mvc/application/forms/StreamSetting.php index b54a36393..9d5289ebf 100644 --- a/airtime_mvc/application/forms/StreamSetting.php +++ b/airtime_mvc/application/forms/StreamSetting.php @@ -25,7 +25,7 @@ class Application_Form_StreamSetting extends Zend_Form $output_sound_device->setAttrib("readonly", true); } $this->addElement($output_sound_device); - + $output_types = array("ALSA"=>"ALSA", "AO"=>"AO", "OSS"=>"OSS", "Portaudio"=>"Portaudio", "Pulseaudio"=>"Pulseaudio"); $output_type = new Zend_Form_Element_Select('output_sound_device_type'); $output_type->setLabel("Output Type") @@ -37,15 +37,15 @@ class Application_Form_StreamSetting extends Zend_Form } $this->addElement($output_type); } - + # tooltip - $description = 'VLC and mplayer have a serious bug when playing an OGG/VORBIS - stream that has metadata information enabled (stream metadata is the - track title, show name, etc displayed in the audio player): they will - disconnect from the stream after every song if this option is enabled. - If your listeners do not require support for these audio players, + $description = 'VLC and mplayer have a serious bug when playing an OGG/VORBIS + stream that has metadata information enabled (stream metadata is the + track title, show name, etc displayed in the audio player): they will + disconnect from the stream after every song if this option is enabled. + If your listeners do not require support for these audio players, then you should enable this option.'; - + $icecast_vorbis_metadata = new Zend_Form_Element_Checkbox('icecast_vorbis_metadata'); $icecast_vorbis_metadata->setLabel('Icecast Vorbis Metadata') ->setDescription($description) @@ -56,11 +56,20 @@ class Application_Form_StreamSetting extends Zend_Form $icecast_vorbis_metadata->setAttrib("readonly", true); } $this->addElement($icecast_vorbis_metadata); + + $stream_format = new Zend_Form_Element_Radio('streamFormat'); + $stream_format->setLabel('Stream Label:'); + $stream_format->setMultiOptions(array("Artist - Title", + "Show - Artist - Title", + "Station name - Show name")); + $stream_format->setValue(Application_Model_Preference::GetStreamLabelFormat()); + $stream_format->setDecorators(array('ViewHelper')); + $this->addElement($stream_format); } public function isValid($data){ $this->populate(array("output_sound_device"=>$data['output_sound_device'], "icecast_vorbis_metadata"=>$data['icecast_vorbis_metadata'], - "output_sound_device_type"=>$data['output_sound_device_type'])); + "output_sound_device_type"=>$data['output_sound_device_type'], "streamFormat"=>$data['streamFormat'])); return true; } } diff --git a/airtime_mvc/application/views/scripts/form/preferences_general.phtml b/airtime_mvc/application/views/scripts/form/preferences_general.phtml index f8d7b23f7..12ec92df2 100644 --- a/airtime_mvc/application/views/scripts/form/preferences_general.phtml +++ b/airtime_mvc/application/views/scripts/form/preferences_general.phtml @@ -27,29 +27,6 @@ -
- -
-
- element->getElement('streamFormat')->getValue(); - ?> - element->getElement('streamFormat')->getMultiOptions() as $radio) : ?> - - - - element->getElement('streamFormat')->hasErrors()) : ?> - - -
@@ -88,7 +65,7 @@ - +