OSDN Git Service

fix: $*_CHANNEL_MAPに存在しないチャンネルの番組を取得する際のエラーを修正
authorepgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
Tue, 2 Mar 2010 14:21:17 +0000 (23:21 +0900)
committerepgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
Tue, 2 Mar 2010 14:21:17 +0000 (23:21 +0900)
getepg.old.php
storeProgram.php

index 922a6b0..608adb3 100755 (executable)
                // チャンネルデータを探す
                $num = DBRecord::countRecords( CHANNEL_TBL , "WHERE channel_disc = '" . $disc ."'" );
                if( $num == 0 ) {
-                       // チャンネルデータがないなら新規作成
-                       $rec = new DBRecord( CHANNEL_TBL );
-                       $rec->type = $type;
-                       $rec->channel = $map["$disc"];
-                       $rec->channel_disc = $disc;
-                       $rec->name = $ch->{'display-name'};
+                       // channel discがないようなら飛ばす
+                       if( array_key_exists( $disc, $map ) ) {
+                               // チャンネルデータがないなら新規作成
+                               $rec = new DBRecord( CHANNEL_TBL );
+                               $rec->type = $type;
+                               $rec->channel = $map["$disc"];
+                               $rec->channel_disc = $disc;
+                               $rec->name = $ch->{'display-name'};
+                       }
                }
                else {
                        // 存在した場合も、とりあえずチャンネル名は更新する
        // programme 取得
        
        foreach( $xml->programme as $program ) {
-               $channel_disc = $program['channel']; 
+               $channel_disc = $program['channel'];
+               if( ! array_key_exists( $channel_disc, $map ) ) continue;
+               
                $channel = $map["$channel_disc"];
                $starttime = str_replace(" +0900", '', $program['start'] );
                $endtime = str_replace( " +0900", '', $program['stop'] );
index 58a3724..12a1944 100755 (executable)
                // チャンネルデータを探す
                $num = DBRecord::countRecords( CHANNEL_TBL , "WHERE channel_disc = '" . $disc ."'" );
                if( $num == 0 ) {
-                       // チャンネルデータがないなら新規作成
-                       $rec = new DBRecord( CHANNEL_TBL );
-                       $rec->type = $type;
-                       $rec->channel = $map["$disc"];
-                       $rec->channel_disc = $disc;
-                       $rec->name = $ch->{'display-name'};
+                       if( array_key_exists( $disc, $map ) ) {
+                               // チャンネルデータがないなら新規作成
+                               $rec = new DBRecord( CHANNEL_TBL );
+                               $rec->type = $type;
+                               $rec->channel = $map["$disc"];
+                               $rec->channel_disc = $disc;
+                               $rec->name = $ch->{'display-name'};
+                       }
                }
                else {
                        // 存在した場合も、とりあえずチャンネル名は更新する
        
        foreach( $xml->programme as $program ) {
                $channel_disc = $program['channel']; 
+               if( ! array_key_exists( $channel_disc, $map ) ) continue;
+               
                $channel = $map["$channel_disc"];
                $starttime = str_replace(" +0900", '', $program['start'] );
                $endtime = str_replace( " +0900", '', $program['stop'] );