diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php
index 41c752872..49ce2a4a1 100644
--- a/airtime_mvc/application/controllers/PreferenceController.php
+++ b/airtime_mvc/application/controllers/PreferenceController.php
@@ -163,7 +163,6 @@ class PreferenceController extends Zend_Controller_Action
foreach ($temp as $t) {
$setting[$t['keyname']] = $t['value'];
}
-
// get predefined type and bitrate from pref table
$temp_types = Application_Model_Preference::GetStreamType();
$stream_types = array();
@@ -204,12 +203,11 @@ class PreferenceController extends Zend_Controller_Action
$form->addSubForm($subform, "s".$i."_subform");
}
if ($request->isPost()) {
- $post_data = $request->getPost();
+ $values = $request->getPost();
$error = false;
- $values = $post_data;
- if ($form->isValid($post_data)) {
+ if ($form->isValid($values)) {
if (!$isSaas) {
$values['output_sound_device'] = $form->getValue('output_sound_device');
$values['output_sound_device_type'] = $form->getValue('output_sound_device_type');
@@ -264,7 +262,7 @@ class PreferenceController extends Zend_Controller_Action
$data = array();
$info = Application_Model_StreamSetting::getStreamSetting();
$data['setting'] = $info;
- for ($i=1;$i<=$num_of_stream;$i++) {
+ for ($i=1; $i<=$num_of_stream; $i++) {
Application_Model_StreamSetting::setLiquidsoapError($i, "waiting");
}
diff --git a/airtime_mvc/application/forms/EditAudioMD.php b/airtime_mvc/application/forms/EditAudioMD.php
index 92ddcdf0d..39ec7af3b 100644
--- a/airtime_mvc/application/forms/EditAudioMD.php
+++ b/airtime_mvc/application/forms/EditAudioMD.php
@@ -137,7 +137,7 @@ class Application_Form_EditAudioMD extends Zend_Form
'ignore' => true,
'class' => 'ui-button ui-state-default ui-button-text-only md-cancel',
'label' => 'Cancel',
- 'onclick' => 'javascript:document.location.href = "/Playlist"',
+ 'onclick' => 'javascript:document.location.href = "/Library"',
'decorators' => array(
'ViewHelper'
)
diff --git a/airtime_mvc/application/forms/StreamSettingSubForm.php b/airtime_mvc/application/forms/StreamSettingSubForm.php
index dbdc41fba..6a243d12f 100644
--- a/airtime_mvc/application/forms/StreamSettingSubForm.php
+++ b/airtime_mvc/application/forms/StreamSettingSubForm.php
@@ -83,6 +83,16 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm
}
$this->addElement($output);
+ $channels = new Zend_Form_Element_Select('channels');
+ $channels->setLabel("Channels:")
+ ->setMultiOptions(array("mono"=>"1 - Mono", "stereo"=>"2 - Stereo"))
+ ->setValue(isset($setting[$prefix.'_channels']) ? $setting[$prefix.'_channels'] : "stereo")
+ ->setDecorators(array('ViewHelper'));
+ if ($disable_all) {
+ $channels->setAttrib("disabled", "disabled");
+ }
+ $this->addElement($channels);
+
$host = new Zend_Form_Element_Text('host');
$host->setLabel("Server")
->setValue(isset($setting[$prefix.'_host'])?$setting[$prefix.'_host']:"")
diff --git a/airtime_mvc/application/models/Datatables.php b/airtime_mvc/application/models/Datatables.php
index c20bd7260..993c17516 100644
--- a/airtime_mvc/application/models/Datatables.php
+++ b/airtime_mvc/application/models/Datatables.php
@@ -9,8 +9,8 @@ class Application_Model_Datatables
$isRange = false;
if (strstr($term, '~')) {
$info = explode('~', $term);
- $input1 = isset($info[0])?$info[0]:null;
- $input2 = isset($info[1])?$info[1]:null;
+ $input1 = isset($info[0])?Application_Common_DateHelper::ConvertToUtcDateTimeString($info[0]):null;
+ $input2 = isset($info[1])?Application_Common_DateHelper::ConvertToUtcDateTimeString($info[1]):null;
$isRange = true;
} else {
$input1 = $term;
diff --git a/airtime_mvc/application/models/StreamSetting.php b/airtime_mvc/application/models/StreamSetting.php
index f1d5362c5..2ffe7b829 100644
--- a/airtime_mvc/application/models/StreamSetting.php
+++ b/airtime_mvc/application/models/StreamSetting.php
@@ -154,6 +154,18 @@ class Application_Model_StreamSetting
return $rows;
}
+
+ private static function saveStreamSetting($key, $value)
+ {
+ $stream_setting = CcStreamSettingQuery::create()->filterByDbKeyName($key)->findOne();
+ if (is_null($stream_setting)) {
+ throw new Exception("Keyname $key does not exist!");
+ }
+
+ $stream_setting->setDbValue($value);
+ $stream_setting->save();
+ }
+
/*
* function that take all the information of stream and sets them.
* This is used by stream setting via UI.
@@ -168,11 +180,10 @@ class Application_Model_StreamSetting
foreach ($data as $key => $d) {
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'";
- $con->exec($sql);
+
+ self::saveStreamSetting($key, $v);
} elseif ($key == "output_sound_device_type") {
- $sql = "UPDATE cc_stream_setting SET value='$d' WHERE keyname='$key'";
- $con->exec($sql);
+ self::saveStreamSetting($key, $v);
} elseif (is_array($d)) {
$temp = explode('_', $key);
$prefix = $temp[0];
@@ -182,12 +193,7 @@ class Application_Model_StreamSetting
$v = $d['enable'] == 1 ? 'true' : 'false';
}
$v = trim($v);
-
- #escape double single quotes CC-3926
- $v = str_replace("'", "''", $v);
- $sql = "UPDATE cc_stream_setting SET value='$v' WHERE keyname='$keyname'";
-
- $con->exec($sql);
+ self::saveStreamSetting($keyname, $v);
}
}
}
diff --git a/airtime_mvc/application/views/scripts/form/stream-setting-form.phtml b/airtime_mvc/application/views/scripts/form/stream-setting-form.phtml
index 0f746d4c3..63e19a400 100644
--- a/airtime_mvc/application/views/scripts/form/stream-setting-form.phtml
+++ b/airtime_mvc/application/views/scripts/form/stream-setting-form.phtml
@@ -60,7 +60,14 @@
element->getElement('output')?>
-
+
+
+
+
+
+ element->getElement('channels')?>
+
+