# HG changeset patch # User epgrec@park.mda.or.jp # Date 1270388953 -32400 # Node ID b3095425e6133f80a3aa56310e42f66058edff88 # Parent c6c6bd734f18715ae4bb1ab987945db019c8369f fix: ????EPG??????????????????????? diff -r c6c6bd734f18 -r b3095425e613 recorder.php --- a/recorder.php Sun Apr 04 18:14:47 2010 +0900 +++ b/recorder.php Sun Apr 04 22:49:13 2010 +0900 @@ -156,6 +156,7 @@ $proch = false; if( ( $proch = epgrec_exec(DO_RECORD) ) !== false ) { + reclog("recorder:: 録画ID".$rrec->id .":".$rrec->type.$rrec->channel.$rrec->title."の録画開始" ); // 録画完了待ち $rec_cont = true; while( $rec_cont ){ @@ -195,7 +196,6 @@ } // 予定より短いようなら終了時間を現在に書き換える - if( time() < $endtime ) { $rrec->endtime = toDatetime( time() ); } diff -r c6c6bd734f18 -r b3095425e613 storeProgram.inc.php --- a/storeProgram.inc.php Sun Apr 04 18:14:47 2010 +0900 +++ b/storeProgram.inc.php Sun Apr 04 22:49:13 2010 +0900 @@ -1,4 +1,5 @@ reservation(); -// reclog( "getepg::キーワードID".$val->id."の録画が予約された"); } catch( Exception $e ) { // 無視 @@ -35,6 +35,7 @@ function storeProgram( $type, $xmlfile ) { global $BS_CHANNEL_MAP, $GR_CHANNEL_MAP, $CS_CHANNEL_MAP; + global $settings; // チャンネルマップファイルの準備 $map = array(); @@ -149,9 +150,15 @@ // 自動録画予約された番組は放映時間変更と同時にいったん削除する try { $reserve = new DBRecord(RESERVE_TBL, "program_id", $rec->id ); - if( $reserve->autorec ) { - reclog( "getepg::録画ID".$reserve->id.":".$reserve->type.$reserve->channel.$reserve->title."は時間変更の可能性があり予約取り消し" ); - Reservation::cancel( $reserve->id ); + // すでに開始されている録画は無視する + if( time() > (toTimestamp($reserve->starttime) - PADDING_TIME - $settings->former_time) ) { + reclog( "getepg::録画ID".$reserve->id.":".$reserve->type.$reserve->channel.$reserve->title."は録画開始後に時間変更が発生した可能性がある", EPGREC_WARN ); + } + else { + if( $reserve->autorec ) { + reclog( "getepg::録画ID".$reserve->id.":".$reserve->type.$reserve->channel.$reserve->title."は時間変更の可能性があり予約取り消し" ); + Reservation::cancel( $reserve->id ); + } } } catch( Exception $e ) {