Mercurial > epgrec.yaz
comparison index.php @ 18:19cd7816b2c1
change: draw main program table too fast.
author | Sushi-k <epgrec@park.mda.or.jp> |
---|---|
date | Thu, 16 Jul 2009 11:54:24 +0900 |
parents | f5a9f0eb4858 |
children | 18df04305501 |
comparison
equal
deleted
inserted
replaced
17:d3ee3927eb3a | 18:19cd7816b2c1 |
---|---|
34 // 番組表 | 34 // 番組表 |
35 $programs = array(); | 35 $programs = array(); |
36 if( $type == "BS" ) $channel_map = $BS_CHANNEL_MAP; | 36 if( $type == "BS" ) $channel_map = $BS_CHANNEL_MAP; |
37 else if( $type == "GR" ) $channel_map = $GR_CHANNEL_MAP; | 37 else if( $type == "GR" ) $channel_map = $GR_CHANNEL_MAP; |
38 $st = 0; | 38 $st = 0; |
39 $prec = new DBRecord(TBL_PREFIX.PROGRAM_TBL); | |
39 foreach( $channel_map as $channel_disc => $channel ) { | 40 foreach( $channel_map as $channel_disc => $channel ) { |
40 $prev_end = $top_time; | 41 $prev_end = $top_time; |
41 try { | 42 try { |
42 $crec = new DBRecord( TBL_PREFIX . CHANNEL_TBL, "channel_disc", $channel_disc ); | 43 $crec = new DBRecord( TBL_PREFIX . CHANNEL_TBL, "channel_disc", $channel_disc ); |
43 $programs[$st]["station_name"] = $crec->name; | 44 $programs[$st]["station_name"] = $crec->name; |
44 $prec = DBRecord::createRecords( TBL_PREFIX . PROGRAM_TBL, "". | 45 |
45 "WHERE channel_disc = '".$channel_disc."' ". | 46 $reca = $prec->fetch_array( "channel_disc", $channel_disc, |
46 "AND endtime > '".toDatetime($top_time)."' ". | 47 "endtime > '".toDatetime($top_time)."' ". |
47 "AND starttime < '". toDatetime($last_time)."' ". | 48 "AND starttime < '". toDatetime($last_time)."' ". |
48 "ORDER BY starttime ASC " | 49 "ORDER BY starttime ASC " |
49 ); | 50 ); |
50 $programs[$st]['list'] = array(); | 51 $programs[$st]['list'] = array(); |
51 $num = 0; | 52 $num = 0; |
52 foreach( $prec as $prg ) { | 53 foreach( $reca as $prg ) { |
53 // 前プログラムとの空きを調べる | 54 // 前プログラムとの空きを調べる |
54 $start = toTimestamp( $prg->starttime ); | 55 $start = toTimestamp( $prg['starttime'] ); |
55 if( $start - $prev_end ) { | 56 if( $start - $prev_end ) { |
56 $height = ($start-$prev_end) / 60; | 57 $height = ($start-$prev_end) / 60; |
57 if( $height > 0.5 ) { | 58 if( $height > 0.5 ) { |
58 $height = (int)($height * 2); | 59 $height = (int)($height * 2); |
59 $programs[$st]['list'][$num]['category_none'] = "none"; | 60 $programs[$st]['list'][$num]['category_none'] = "none"; |
62 $programs[$st]['list'][$num]['starttime'] = ""; | 63 $programs[$st]['list'][$num]['starttime'] = ""; |
63 $programs[$st]['list'][$num]['description'] = ""; | 64 $programs[$st]['list'][$num]['description'] = ""; |
64 $num++; | 65 $num++; |
65 } | 66 } |
66 } | 67 } |
67 $prev_end = toTimestamp( $prg->endtime ); | 68 $prev_end = toTimestamp( $prg['endtime'] ); |
68 | 69 |
69 $height = (int)((toTimestamp($prg->endtime) - toTimestamp($prg->starttime)) / 30); | 70 $height = (int)((toTimestamp($prg['endtime']) - toTimestamp($prg['starttime'])) / 30); |
70 // $top_time より早く始まっている番組 | 71 // $top_time より早く始まっている番組 |
71 if( toTimestamp($prg->starttime) <$top_time ) { | 72 if( toTimestamp($prg['starttime']) <$top_time ) { |
72 $height = (int)((toTimestamp($prg->endtime) - $top_time ) / 30); | 73 $height = (int)((toTimestamp($prg['endtime']) - $top_time ) / 30); |
73 } | 74 } |
74 // $last_time より遅く終わる番組 | 75 // $last_time より遅く終わる番組 |
75 if( toTimestamp($prg->endtime) > $last_time ) { | 76 if( toTimestamp($prg['endtime']) > $last_time ) { |
76 $height = (int)(($last_time - toTimestamp($prg->starttime)) / 30); | 77 $height = (int)(($last_time - toTimestamp($prg['starttime'])) / 30); |
77 } | 78 } |
78 | 79 |
79 // プログラムを埋める | 80 // プログラムを埋める |
80 $cat = new DBRecord( TBL_PREFIX . CATEGORY_TBL, "id", $prg->category_id ); | 81 $cat = new DBRecord( TBL_PREFIX . CATEGORY_TBL, "id", $prg['category_id'] ); |
81 $programs[$st]['list'][$num]['category_name'] = $cat->name_en; | 82 $programs[$st]['list'][$num]['category_name'] = $cat->name_en; |
82 $programs[$st]['list'][$num]['height'] = $height; | 83 $programs[$st]['list'][$num]['height'] = $height; |
83 $programs[$st]['list'][$num]['title'] = $prg->title; | 84 $programs[$st]['list'][$num]['title'] = $prg['title']; |
84 $programs[$st]['list'][$num]['starttime'] = date("H:i", $start )."" ; | 85 $programs[$st]['list'][$num]['starttime'] = date("H:i", $start )."" ; |
85 $programs[$st]['list'][$num]['description'] = $prg->description; | 86 $programs[$st]['list'][$num]['description'] = $prg['description']; |
86 $programs[$st]['list'][$num]['prg_start'] = str_replace( "-", "/", $prg->starttime); | 87 $programs[$st]['list'][$num]['prg_start'] = str_replace( "-", "/", $prg['starttime']); |
87 $programs[$st]['list'][$num]['duration'] = "" . (toTimestamp($prg->endtime) - toTimestamp($prg->starttime)); | 88 $programs[$st]['list'][$num]['duration'] = "" . (toTimestamp($prg['endtime']) - toTimestamp($prg['starttime'])); |
88 $programs[$st]['list'][$num]['channel'] = ($prg->type == "GR" ? "地上D" : "BS" ) . ":". $prg->channel . "ch"; | 89 $programs[$st]['list'][$num]['channel'] = ($prg['type'] == "GR" ? "地上D" : "BS" ) . ":". $prg['channel'] . "ch"; |
89 $programs[$st]['list'][$num]['id'] = "" . ($prg->id); | 90 $programs[$st]['list'][$num]['id'] = "" . ($prg['id']); |
90 $programs[$st]['list'][$num]['rec'] = DBRecord::countRecords( TBL_PREFIX.RESERVE_TBL, "WHERE complete = '0' AND program_id = '".$prg->id."'" ); | 91 $programs[$st]['list'][$num]['rec'] = DBRecord::countRecords( TBL_PREFIX.RESERVE_TBL, "WHERE complete = '0' AND program_id = '".$prg['id']."'" ); |
91 $num++; | 92 $num++; |
92 } | 93 } |
93 } | 94 } |
94 catch( exception $e ) { | 95 catch( exception $e ) { |
95 exit( $e->getMessage() ); | 96 exit( $e->getMessage() ); |
107 $num++; | 108 $num++; |
108 } | 109 } |
109 } | 110 } |
110 $st++; | 111 $st++; |
111 } | 112 } |
113 $prec = null; | |
112 | 114 |
113 // 局の幅 | 115 // 局の幅 |
114 $ch_set_width = 150; | 116 $ch_set_width = 150; |
115 // 全体の幅 | 117 // 全体の幅 |
116 $chs_width = $ch_set_width * count( $channel_map ); | 118 $chs_width = $ch_set_width * count( $channel_map ); |