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; } public static function getStreamSetting(){ global $CC_DBC; $sql = "SELECT *" ." FROM cc_stream_setting" ." WHERE keyname not like '%_error'"; $rows = $CC_DBC->getAll($sql); return $rows; } 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'; } } $v = trim($v); $sql = "UPDATE cc_stream_setting SET value='$v' WHERE keyname='$keyname'"; $CC_DBC->query($sql); } } } } 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" ." SET value = '$value'" ." WHERE keyname = '$keyname'"; }else{ $sql = "INSERT INTO cc_stream_setting (keyname, value, type)" ." VALUES ($keyname, '$msg', 'string')"; } } 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; } }