changeset 163:b3095425e613

fix: Ï¿²èÃæ¤ËEPG¤ÎÊѹ¹¤¬¤¢¤Ã¤¿¤È¤­¤Ë¥­¥ã¥ó¥»¥ë¤µ¤ì¤Ê¤¤¤è¤¦Êѹ¹
author [email protected] <[email protected]>
date Sun, 04 Apr 2010 22:49:13 +0900
parents c6c6bd734f18
children 254d8a21bf36
files recorder.php storeProgram.inc.php
diffstat 2 files changed, 12 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- 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() );
 	}
--- 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 @@
 <?php
+include_once( INSTALL_PATH . "/reclib.php" );
 
 function garbageClean() {
 	// 不要なプログラムの削除
@@ -25,7 +26,6 @@
 	foreach( $arr as $val ) {
 		try {
 			$val->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 ) {