From f3720a8e2e533037550fe65acf1bacfcde963452 Mon Sep 17 00:00:00 2001 From: Sushi-k Date: Wed, 21 Oct 2009 16:51:24 +0900 Subject: [PATCH] add: CS support (thanks to dakku) --- Settings.class.php | 3 +++ getepg.php | 22 +++++++++++++++++++++- index.php | 9 +++++++++ programTable.php | 9 +++++++++ templates/envSetting.html | 9 +++++++++ 5 files changed, 51 insertions(+), 1 deletion(-) diff --git a/Settings.class.php b/Settings.class.php index 2eb00df..96c17f5 100755 --- a/Settings.class.php +++ b/Settings.class.php @@ -31,6 +31,9 @@ class Settings extends SimpleXMLElement { if(defined("GR_TUNERS")) $xml->gr_tuners = GR_TUNERS; else $xml->gr_tuners = 1; + + if(defined("CS_REC_FLG")) $xml->cs_rec_flg = CS_REC_FLG; + else $xml->cs_rec_flg = 0; if(defined("USE_KUROBON")) $xml->use_kurobon = USE_KUROBON ? 1 : 0; else $xml->use_kurobon = 0; diff --git a/getepg.php b/getepg.php index a38fc2f..0dfa515 100755 --- a/getepg.php +++ b/getepg.php @@ -23,6 +23,25 @@ storeProgram( "BS", $settings->temp_xml ); if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); if( file_exists( $settings->temp_xml ) ) @unlink( $settings->temp_xml ); + + // CS + if ($settings->cs_rec_flg != 0) { + $cmdline = "CHANNEL=CS8 DURATION=120 TYPE=CS TUNER=0 MODE=0 OUTPUT=".$settings->temp_data." ".DO_RECORD . " >/dev/null 2>&1"; + exec( $cmdline ); + $cmdline = $settings->epgdump." /CS ".$settings->temp_data." ".$settings->temp_xml; + exec( $cmdline ); + storeProgram( "CS", $settings->temp_xml ); + if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); + if( file_exists( $settings->temp_xml ) ) @unlink( $settings->temp_xml ); + + $cmdline = "CHANNEL=CS24 DURATION=120 TYPE=CS TUNER=0 MODE=0 OUTPUT=".$settings->temp_data." ".DO_RECORD . " >/dev/null 2>&1"; + exec( $cmdline ); + $cmdline = $settings->epgdump." /CS ".$settings->temp_data." ".$settings->temp_xml; + exec( $cmdline ); + storeProgram( "CS", $settings->temp_xml ); + if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); + if( file_exists( $settings->temp_xml ) ) @unlink( $settings->temp_xml ); + } } } @@ -69,11 +88,12 @@ exit(); function storeProgram( $type, $xmlfile ) { - global $BS_CHANNEL_MAP, $GR_CHANNEL_MAP; + global $BS_CHANNEL_MAP, $GR_CHANNEL_MAP, $CS_CHANNEL_MAP; // チャンネルマップファイルの準備 $map = array(); if( $type == "BS" ) $map = $BS_CHANNEL_MAP; else if( $type == "GR") $map = $GR_CHANNEL_MAP; + else if( $type == "CS") $map = $CS_CHANNEL_MAP; // XML parse $xml = @simplexml_load_file( $xmlfile ); diff --git a/index.php b/index.php index 0188ce3..f707eb0 100755 --- a/index.php +++ b/index.php @@ -47,6 +47,7 @@ $last_time = $top_time + 3600 * $program_length; $programs = array(); if( $type == "BS" ) $channel_map = $BS_CHANNEL_MAP; else if( $type == "GR" ) $channel_map = $GR_CHANNEL_MAP; + else if( $type == "CS" ) $channel_map = $CS_CHANNEL_MAP; $st = 0; $prec = new DBRecord(PROGRAM_TBL); foreach( $channel_map as $channel_disc => $channel ) { @@ -151,6 +152,14 @@ $last_time = $top_time + 3600 * $program_length; $types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=BS&length=".$program_length."&time=".date( "YmdH", $top_time); $types[$i]['name'] = "BS"; $i++; + + // CS + if ($settings->cs_rec_flg != 0) { + $types[$i]['selected'] = $type == "CS" ? 'class="selected"' : ""; + $types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=CS&length=".$program_length."&time=".date( "YmdH", $top_time); + $types[$i]['name'] = "CS"; + $i++; + } } if( $settings->gr_tuners != 0 ) { $types[$i]['selected'] = $type == "GR" ? 'class="selected"' : ""; diff --git a/programTable.php b/programTable.php index ebab485..286cb9f 100755 --- a/programTable.php +++ b/programTable.php @@ -110,6 +110,15 @@ try{ $arr['value'] = "BS"; $arr['selected'] = $type == "BS" ? "selected" : ""; array_push( $types, $arr ); + + // CS + if ($settings->cs_rec_flg != 0) { + $arr = array(); + $arr['name'] = "CS"; + $arr['value'] = "CS"; + $arr['selected'] = $type == "CS" ? "selected" : ""; + array_push( $types, $arr ); + } } $k_station_name = ""; diff --git a/templates/envSetting.html b/templates/envSetting.html index de06aaf..8784168 100755 --- a/templates/envSetting.html +++ b/templates/envSetting.html @@ -74,6 +74,15 @@ div.setting { padding: 0px; margin-left: 20px; margin-bottom: 20px;} +

CS録画の有無

+
+
この設定を「行う」にするとCS放送を加味した動作となります。CS放送を使用しない方は「使わない」に設定してください。
+ +
+

録画関連設定

-- 2.11.0