- // カテゴリを処理する
- $category_disc = md5( $cat_ja . $cat_en );
- $num = DBRecord::countRecords(CATEGORY_TBL, "WHERE category_disc = '".$category_disc."'" );
- $cat_rec = null;
- if( $num == 0 ) {
- // 新規カテゴリの追加
- $cat_rec = new DBRecord( CATEGORY_TBL );
- $cat_rec->name_jp = $cat_ja;
- $cat_rec->name_en = $cat_en;
- $cat_rec->category_disc = $category_disc;
- }
- else
- $cat_rec = new DBRecord(CATEGORY_TBL, "category_disc" , $category_disc );
- //
- $num = DBRecord::countRecords(PROGRAM_TBL, "WHERE program_disc = '".$program_disc."'" );
- if( $num == 0 ) {
- // 新規番組
- // 重複チェック 同時間帯にある番組
- $options = "WHERE channel_disc = '".$channel_disc."' ".
- "AND starttime < '". $endtime ."' AND endtime > '".$starttime."'";
- $battings = DBRecord::countRecords(PROGRAM_TBL, $options );
- if( $battings > 0 ) {
- // 重複発生=おそらく放映時間の変更
- $records = DBRecord::createRecords(PROGRAM_TBL, $options );
- foreach( $records as $rec ) {
- // 自動録画予約された番組は放映時間変更と同時にいったん削除する
- try {
- $reserve = new DBRecord(RESERVE_TBL, "program_id", $rec->id );
- if( $reserve->autorec ) {
- reclog( "getepg::録画ID".$reserve->id."は時間変更の可能性あり予約を取り消し");
- Reservation::cancel( $reserve->id );
+ // カテゴリを処理する
+ $category_disc = md5( $cat_ja . $cat_en );
+ $num = DBRecord::countRecords(CATEGORY_TBL, "WHERE category_disc = '".$category_disc."'" );
+ if( $num == 0 ) {
+ // 新規カテゴリの追加
+ $cat_rec = new DBRecord( CATEGORY_TBL );
+ $cat_rec->name_jp = $cat_ja;
+ $cat_rec->name_en = $cat_en;
+ $cat_rec->category_disc = $category_disc;
+ reclog("getepg:: 新規カテゴリ".$cat_ja."を追加" );
+ }
+ else
+ $cat_rec = new DBRecord(CATEGORY_TBL, "category_disc" , $category_disc );
+ }
+ catch( Exception $e ) {
+ reclog("getepg:: カテゴリテーブルのアクセスに失敗した模様", E_ERROR );
+ reclog("getepg:: ".$e->getMessage()."" ,E_ERROR );
+ exit( $e->getMessage() );
+ }
+
+ // プログラム登録
+
+ try {
+ //
+ $num = DBRecord::countRecords(PROGRAM_TBL, "WHERE program_disc = '".$program_disc."'" );
+ if( $num == 0 ) {
+ // 新規番組
+ // 重複チェック 同時間帯にある番組
+ $options = "WHERE channel_disc = '".$channel_disc."' ".
+ "AND starttime < '". $endtime ."' AND endtime > '".$starttime."'";
+ $battings = DBRecord::countRecords(PROGRAM_TBL, $options );
+ if( $battings > 0 ) {
+ // 重複発生=おそらく放映時間の変更
+ $records = DBRecord::createRecords(PROGRAM_TBL, $options);
+ foreach( $records as $rec ) {
+ // 自動録画予約された番組は放映時間変更と同時にいったん削除する
+ 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 );
+ }