# HG changeset patch # User Yoshiki Yazawa # Date 1264510974 -32400 # Node ID 605d327bddcc50eece908aa7a54c93a3c86781aa # Parent 29131bd8dea34a48b547b82d5b1eb7295ed5ec54 - tuner occupation check was too strict - removed trailing whitespace diff -r 29131bd8dea3 -r 605d327bddcc getepg.php --- a/getepg.php Sun Jan 17 01:31:14 2010 +0900 +++ b/getepg.php Tue Jan 26 22:02:54 2010 +0900 @@ -5,9 +5,9 @@ include_once( INSTALL_PATH . '/Reservation.class.php' ); include_once( INSTALL_PATH . '/Keyword.class.php' ); include_once( INSTALL_PATH . '/Settings.class.php' ); - + $settings = Settings::factory(); - + if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); if( file_exists( $settings->temp_xml ) ) @unlink( $settings->temp_xml ); @@ -15,7 +15,7 @@ if( $settings->bs_tuners != 0 ) { // 録画重複チェック $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND (type = 'BS' OR type = 'CS') AND endtime > now() AND starttime < addtime( now(), '00:03:05')" ); - if( $num == 0 ) { + if( $num < $settings->bs_tuners ) { $cmdline = "CHANNEL=211 DURATION=180 TYPE=BS TUNER=0 MODE=0 OUTPUT=".$settings->temp_data." ".DO_RECORD . " >/dev/null 2>&1"; exec( $cmdline ); $cmdline = $settings->epgdump." /BS ".$settings->temp_data." ".$settings->temp_xml; @@ -44,13 +44,13 @@ } } } - + // 地上波を処理する if( $settings->gr_tuners != 0 ) { foreach( $GR_CHANNEL_MAP as $key=>$value ){ // 録画重複チェック $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND type = 'GR' AND endtime > now() AND starttime < addtime( now(), '00:01:10')" ); - if( $num == 0 ) { + if( $num < $settings->gr_tuners ) { $cmdline = "CHANNEL=".$value." DURATION=60 TYPE=GR TUNER=0 MODE=0 OUTPUT=".$settings->temp_data." ".DO_RECORD . " >/dev/null 2>&1"; exec( $cmdline ); $cmdline = $settings->epgdump." ".$key." ".$settings->temp_data." ".$settings->temp_xml; @@ -61,18 +61,18 @@ } } } - + // 不要なプログラムの削除 // 8日以上前のプログラムを消す $arr = array(); $arr = DBRecord::createRecords( PROGRAM_TBL, "WHERE endtime < subdate( now(), 8 )" ); foreach( $arr as $val ) $val->delete(); - + // 8日以上先のデータがあれば消す $arr = array(); $arr = DBRecord::createRecords( PROGRAM_TBL, "WHERE starttime > adddate( now(), 8 )" ); foreach( $arr as $val ) $val->delete(); - + // キーワード自動録画予約 $arr = array(); $arr = Keyword::createKeywords(); @@ -84,9 +84,9 @@ // 無視 } } - + exit(); - + function storeProgram( $type, $xmlfile ) { global $BS_CHANNEL_MAP, $GR_CHANNEL_MAP, $CS_CHANNEL_MAP; // チャンネルマップファイルの準備 @@ -94,7 +94,7 @@ 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 ); if( $xml === false ) { @@ -125,11 +125,11 @@ } } // channel 終了 - + // programme 取得 - + foreach( $xml->programme as $program ) { - $channel_disc = $program['channel']; + $channel_disc = $program['channel']; $channel = $map["$channel_disc"]; $starttime = str_replace(" +0900", '', $program['start'] ); $endtime = str_replace( " +0900", '', $program['stop'] );