diff storeProgram.inc.php @ 165:3d4df1fe4166

merged with upstream
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Thu, 08 Apr 2010 04:22:20 +0900
parents b3095425e613
children e379552d084c
line wrap: on
line diff
--- a/storeProgram.inc.php	Fri Apr 02 20:40:55 2010 +0900
+++ b/storeProgram.inc.php	Thu Apr 08 04:22:20 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 ) {