diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php
index d1d134218..cc9080e53 100644
--- a/airtime_mvc/application/controllers/PreferenceController.php
+++ b/airtime_mvc/application/controllers/PreferenceController.php
@@ -13,6 +13,7 @@ class PreferenceController extends Zend_Controller_Action
->addActionContext('remove-watch-directory', 'json')
->addActionContext('is-import-in-progress', 'json')
->addActionContext('change-stream-setting', 'json')
+ ->addActionContext('get-liquidsoap-status', 'json')
->initContext();
}
@@ -284,6 +285,20 @@ class PreferenceController extends Zend_Controller_Action
}
die(json_encode($res));
}
+
+ public function getLiquidsoapStatusAction(){
+ $out = array();
+ $num_of_stream = intval(Application_Model_Preference::GetNumOfStreams());
+ for($i=1; $i<=$num_of_stream; $i++){
+ $status = Application_Model_StreamSetting::getLiquidsoapError($i);
+ $status = $status == ''?"OK":$status;
+ if(!Application_Model_StreamSetting::getStreamEnabled($i)){
+ $status = "N/A";
+ }
+ $out[] = array("id"=>$i, "status"=>$status);
+ }
+ die(json_encode($out));
+ }
}
diff --git a/airtime_mvc/application/forms/StreamSettingSubForm.php b/airtime_mvc/application/forms/StreamSettingSubForm.php
index c8398d806..70e28a7ba 100644
--- a/airtime_mvc/application/forms/StreamSettingSubForm.php
+++ b/airtime_mvc/application/forms/StreamSettingSubForm.php
@@ -154,9 +154,11 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm{
$user->setAttrib("disabled", "disabled");
}
$this->addElement($user);
-
+
+ $liquidsopa_error_msg = "Getting infomation from the server..";
+
$this->setDecorators(array(
- array('ViewScript', array('viewScript' => 'form/stream-setting-form.phtml', "stream_number"=>$stream_number))
+ array('ViewScript', array('viewScript' => 'form/stream-setting-form.phtml', "stream_number"=>$stream_number, "liquidsoap_error_msg"=>$liquidsopa_error_msg))
));
}
diff --git a/airtime_mvc/application/models/StreamSetting.php b/airtime_mvc/application/models/StreamSetting.php
index 7d5c20cdd..aeedeb0c7 100644
--- a/airtime_mvc/application/models/StreamSetting.php
+++ b/airtime_mvc/application/models/StreamSetting.php
@@ -99,9 +99,25 @@ class Application_Model_StreamSetting {
$keyname = "s".$stream_id."_liquidsoap_error";
$sql = "SELECT value FROM cc_stream_setting"
- ." WHERE keyname = '$key'";
+ ." WHERE keyname = '$keyname'";
$result = $CC_DBC->GetOne($sql);
return $result;
}
+
+ public static function getStreamEnabled($stream_id){
+ global $CC_DBC;
+
+ $keyname = "s".$stream_id."_ouput";
+ $sql = "SELECT value FROM cc_stream_setting"
+ ." WHERE keyname = '$keyname'";
+ $result = $CC_DBC->GetOne($sql);
+ if($result == 'disabled'){
+ $result = false;
+ }else{
+ $result = true;
+ }
+
+ return $result;
+ }
}
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 66c12949b..07f8bf9bc 100644
--- a/airtime_mvc/application/views/scripts/form/stream-setting-form.phtml
+++ b/airtime_mvc/application/views/scripts/form/stream-setting-form.phtml
@@ -5,6 +5,12 @@
stream_number != '1'?'style="display: none;':''?> id="=$s_name?>-config">