CC-2745: Show status of liquidsoap/icecast connection on

Stream Settings page

- commit w/o design
This commit is contained in:
james 2011-10-13 14:20:08 -04:00
parent 2e4b8d82ee
commit faba5aec57
5 changed files with 66 additions and 4 deletions

View file

@ -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));
}
}

View file

@ -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))
));
}

View file

@ -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;
}
}

View file

@ -5,6 +5,12 @@
<div class="stream-setting-content" <?php echo $this->stream_number != '1'?'style="display: none;':''?> id="<?=$s_name?>-config">
<fieldset class="padded">
<dl class="zend_form clearfix">
<dt id="<?=$s_name?>Liquidsoap-error-msg-label">
<label>Liquidsoap Status: </label>
</dt>
<dd id="<?=$s_name?>Liquidsoap-error-msg-element">
<?php echo $this->liquidsoap_error_msg?>
</dd>
<dt id="<?=$s_name?>Enabled-label">
<label for="<?=$s_name?>Enabled"><?php echo $this->element->getElement('enable')->getLabel() ?></label>
</dt>