comparison 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
comparison
equal deleted inserted replaced
160:47a3acf19870 165:3d4df1fe4166
1 <?php 1 <?php
2 include_once( INSTALL_PATH . "/reclib.php" );
2 3
3 function garbageClean() { 4 function garbageClean() {
4 // 不要なプログラムの削除 5 // 不要なプログラムの削除
5 // 8日以上前のプログラムを消す 6 // 8日以上前のプログラムを消す
6 $arr = array(); 7 $arr = array();
23 $arr = array(); 24 $arr = array();
24 $arr = Keyword::createKeywords(); 25 $arr = Keyword::createKeywords();
25 foreach( $arr as $val ) { 26 foreach( $arr as $val ) {
26 try { 27 try {
27 $val->reservation(); 28 $val->reservation();
28 // reclog( "getepg::キーワードID".$val->id."の録画が予約された");
29 } 29 }
30 catch( Exception $e ) { 30 catch( Exception $e ) {
31 // 無視 31 // 無視
32 } 32 }
33 } 33 }
34 } 34 }
35 35
36 function storeProgram( $type, $xmlfile ) { 36 function storeProgram( $type, $xmlfile ) {
37 global $BS_CHANNEL_MAP, $GR_CHANNEL_MAP, $CS_CHANNEL_MAP; 37 global $BS_CHANNEL_MAP, $GR_CHANNEL_MAP, $CS_CHANNEL_MAP;
38 global $settings;
38 39
39 // チャンネルマップファイルの準備 40 // チャンネルマップファイルの準備
40 $map = array(); 41 $map = array();
41 if( $type == "BS" ) $map = $BS_CHANNEL_MAP; 42 if( $type == "BS" ) $map = $BS_CHANNEL_MAP;
42 else if( $type == "GR") $map = $GR_CHANNEL_MAP; 43 else if( $type == "GR") $map = $GR_CHANNEL_MAP;
147 $records = DBRecord::createRecords(PROGRAM_TBL, $options); 148 $records = DBRecord::createRecords(PROGRAM_TBL, $options);
148 foreach( $records as $rec ) { 149 foreach( $records as $rec ) {
149 // 自動録画予約された番組は放映時間変更と同時にいったん削除する 150 // 自動録画予約された番組は放映時間変更と同時にいったん削除する
150 try { 151 try {
151 $reserve = new DBRecord(RESERVE_TBL, "program_id", $rec->id ); 152 $reserve = new DBRecord(RESERVE_TBL, "program_id", $rec->id );
152 if( $reserve->autorec ) { 153 // すでに開始されている録画は無視する
153 reclog( "getepg::録画ID".$reserve->id.":".$reserve->type.$reserve->channel.$reserve->title."は時間変更の可能性があり予約取り消し" ); 154 if( time() > (toTimestamp($reserve->starttime) - PADDING_TIME - $settings->former_time) ) {
154 Reservation::cancel( $reserve->id ); 155 reclog( "getepg::録画ID".$reserve->id.":".$reserve->type.$reserve->channel.$reserve->title."は録画開始後に時間変更が発生した可能性がある", EPGREC_WARN );
156 }
157 else {
158 if( $reserve->autorec ) {
159 reclog( "getepg::録画ID".$reserve->id.":".$reserve->type.$reserve->channel.$reserve->title."は時間変更の可能性があり予約取り消し" );
160 Reservation::cancel( $reserve->id );
161 }
155 } 162 }
156 } 163 }
157 catch( Exception $e ) { 164 catch( Exception $e ) {
158 // 無視 165 // 無視
159 } 166 }