2011-08-15 22:10:46 +02:00
|
|
|
<?php
|
|
|
|
class Application_Model_StreamSetting {
|
2011-09-27 21:26:40 +02:00
|
|
|
|
|
|
|
/* Returns the id's of all streams that are enabled in an array. An
|
|
|
|
* example of the array returned in JSON notation is ["s1", "s2", "s3"] */
|
|
|
|
public static function getEnabledStreamIds(){
|
|
|
|
global $CC_DBC;
|
|
|
|
$sql = "SELECT * "
|
|
|
|
."FROM cc_stream_setting "
|
|
|
|
."WHERE keyname LIKE '%_output' "
|
|
|
|
."AND value != 'disabled'";
|
|
|
|
|
|
|
|
$rows = $CC_DBC->getAll($sql);
|
|
|
|
$ids = array();
|
|
|
|
|
|
|
|
foreach ($rows as $row){
|
|
|
|
$ids[] = substr($row["keyname"], 0, strpos($row["keyname"], "_"));
|
|
|
|
}
|
|
|
|
|
|
|
|
//Logging::log(print_r($ids, true));
|
|
|
|
|
|
|
|
return $ids;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Returns all information related to a specific stream. An example
|
|
|
|
* of a stream id is 's1' or 's2'. */
|
|
|
|
public static function getStreamData($p_streamId){
|
|
|
|
global $CC_DBC;
|
|
|
|
$sql = "SELECT * "
|
|
|
|
."FROM cc_stream_setting "
|
|
|
|
."WHERE keyname LIKE '${p_streamId}_%'";
|
|
|
|
|
|
|
|
$rows = $CC_DBC->getAll($sql);
|
|
|
|
$data = array();
|
|
|
|
|
|
|
|
foreach($rows as $row){
|
|
|
|
$data[$row["keyname"]] = $row["value"];
|
|
|
|
}
|
|
|
|
|
|
|
|
return $data;
|
2011-08-15 22:10:46 +02:00
|
|
|
}
|
2011-08-18 19:53:12 +02:00
|
|
|
|
2011-08-15 22:10:46 +02:00
|
|
|
public static function getStreamSetting(){
|
|
|
|
global $CC_DBC;
|
|
|
|
$sql = "SELECT *"
|
2011-10-11 02:14:27 +02:00
|
|
|
." FROM cc_stream_setting"
|
|
|
|
." WHERE keyname not like '%_error'";
|
2011-08-15 22:10:46 +02:00
|
|
|
|
|
|
|
$rows = $CC_DBC->getAll($sql);
|
|
|
|
return $rows;
|
|
|
|
}
|
2011-09-27 21:26:40 +02:00
|
|
|
|
2011-08-18 19:53:12 +02:00
|
|
|
public static function setStreamSetting($data){
|
|
|
|
global $CC_DBC;
|
|
|
|
foreach($data as $key=>$d){
|
|
|
|
if($key == "output_sound_device"){
|
|
|
|
$v = $d == 1?"true":"false";
|
|
|
|
$sql = "UPDATE cc_stream_setting SET value='$v' WHERE keyname='$key'";
|
|
|
|
$CC_DBC->query($sql);
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
$temp = explode('_', $key);
|
|
|
|
$prefix = $temp[0];
|
|
|
|
foreach($d as $k=>$v){
|
|
|
|
$keyname = $prefix."_".$k;
|
|
|
|
if( $k == 'output'){
|
|
|
|
if( $d["enable"] == 0){
|
|
|
|
$v = 'disabled';
|
|
|
|
}
|
|
|
|
}
|
2011-09-01 22:02:06 +02:00
|
|
|
$v = trim($v);
|
2011-08-18 19:53:12 +02:00
|
|
|
$sql = "UPDATE cc_stream_setting SET value='$v' WHERE keyname='$keyname'";
|
|
|
|
$CC_DBC->query($sql);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2011-10-11 02:14:27 +02:00
|
|
|
|
|
|
|
public static function setLiquidsoapError($stream_id, $msg){
|
|
|
|
global $CC_DBC;
|
|
|
|
|
|
|
|
$keyname = "s".$stream_id."_liquidsoap_error";
|
|
|
|
$sql = "SELECT COUNT(*) FROM cc_stream_setting"
|
|
|
|
." WHERE keyname = '$keyname'";
|
|
|
|
$result = $CC_DBC->GetOne($sql);
|
|
|
|
if ($result == 1){
|
|
|
|
$sql = "UPDATE cc_stream_setting"
|
2011-10-11 20:40:30 +02:00
|
|
|
." SET value = '$msg'"
|
2011-10-11 02:14:27 +02:00
|
|
|
." WHERE keyname = '$keyname'";
|
|
|
|
}else{
|
|
|
|
$sql = "INSERT INTO cc_stream_setting (keyname, value, type)"
|
2011-10-11 20:40:30 +02:00
|
|
|
." VALUES ('$keyname', '$msg', 'string')";
|
2011-10-11 02:14:27 +02:00
|
|
|
}
|
2011-10-11 20:40:30 +02:00
|
|
|
$res = $CC_DBC->query($sql);
|
2011-10-11 02:14:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public static function getLiquidsoapError($stream_id){
|
|
|
|
global $CC_DBC;
|
|
|
|
|
|
|
|
$keyname = "s".$stream_id."_liquidsoap_error";
|
|
|
|
$sql = "SELECT value FROM cc_stream_setting"
|
|
|
|
." WHERE keyname = '$key'";
|
|
|
|
$result = $CC_DBC->GetOne($sql);
|
|
|
|
|
|
|
|
return $result;
|
|
|
|
}
|
2011-09-27 21:26:40 +02:00
|
|
|
}
|