Mercurial > epgrec.yaz
comparison index.php @ 137:a18df712fc7e
merged with upstream
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Sun, 21 Mar 2010 03:15:00 +0900 |
parents | 709bc9c69318 |
children | 47a3acf19870 |
comparison
equal
deleted
inserted
replaced
119:b172a0b1ea48 | 137:a18df712fc7e |
---|---|
35 $top_time = $tmp_time; | 35 $top_time = $tmp_time; |
36 } | 36 } |
37 } | 37 } |
38 $last_time = $top_time + 3600 * $program_length; | 38 $last_time = $top_time + 3600 * $program_length; |
39 | 39 |
40 // 時刻欄 | 40 // 時刻欄 |
41 for( $i = 0 ; $i < $program_length; $i++ ) { | 41 for( $i = 0 ; $i < $program_length; $i++ ) { |
42 $tvtimes[$i] = date("H", $top_time + 3600 * $i ); | 42 $tvtimes[$i] = date("H", $top_time + 3600 * $i ); |
43 } | 43 } |
44 | 44 |
45 | 45 |
46 // 番組表 | 46 // 番組表 |
47 $programs = array(); | 47 $programs = array(); |
48 if( $type == "BS" ) $channel_map = $BS_CHANNEL_MAP; | 48 if( $type == "BS" ) $channel_map = $BS_CHANNEL_MAP; |
49 else if( $type == "GR" ) $channel_map = $GR_CHANNEL_MAP; | 49 else if( $type == "GR" ) $channel_map = $GR_CHANNEL_MAP; |
50 else if( $type == "CS" ) $channel_map = $CS_CHANNEL_MAP; | 50 else if( $type == "CS" ) $channel_map = $CS_CHANNEL_MAP; |
51 $st = 0; | 51 $st = 0; |
52 $prec = null; | 52 $prec = null; |
53 try { | 53 try { |
54 $prec = new DBRecord(PROGRAM_TBL); | 54 $prec = new DBRecord(PROGRAM_TBL); |
55 } | 55 } |
56 catch( Exception $e ) { | 56 catch( Exception $e ) { |
57 exit('プログラムテーブルが存在しないようです。インストールをやり直してください.'); | 57 exit('プログラムテーブルが存在しないようです。インストールをやり直してください.'); |
58 } | 58 } |
59 foreach( $channel_map as $channel_disc => $channel ) { | 59 $num_ch = 0; |
60 foreach( $channel_map as $channel_disc => $channel ) { | |
60 $prev_end = $top_time; | 61 $prev_end = $top_time; |
61 try { | 62 try { |
62 $crec = new DBRecord( CHANNEL_TBL, "channel_disc", $channel_disc ); | 63 $crec = new DBRecord( CHANNEL_TBL, "channel_disc", $channel_disc ); |
64 $programs[$st]["skip"] = $crec->skip; | |
65 if( $crec->skip == 0 ) $num_ch++; | |
66 $programs[$st]["channel_disc"] = $channel_disc; | |
63 $programs[$st]["station_name"] = $crec->name; | 67 $programs[$st]["station_name"] = $crec->name; |
64 $programs[$st]["channel_disc"] = $crec->channel_disc; | 68 $programs[$st]["sid"] = $crec->sid; |
69 $programs[$st]["ch_hash"] = md5($channel_disc); | |
65 | 70 |
66 $reca = $prec->fetch_array( "channel_disc", $channel_disc, | 71 $reca = $prec->fetch_array( "channel_disc", $channel_disc, |
67 "endtime > '".toDatetime($top_time)."' ". | 72 "endtime > '".toDatetime($top_time)."' ". |
68 "AND starttime < '". toDatetime($last_time)."' ". | 73 "AND starttime < '". toDatetime($last_time)."' ". |
69 "ORDER BY starttime ASC " | 74 "ORDER BY starttime ASC " |
124 $programs[$st]['list'][$num]['starttime'] = ""; | 129 $programs[$st]['list'][$num]['starttime'] = ""; |
125 $programs[$st]['list'][$num]['description'] = ""; | 130 $programs[$st]['list'][$num]['description'] = ""; |
126 $num++; | 131 $num++; |
127 } | 132 } |
128 $st++; | 133 $st++; |
129 } | 134 } |
130 $prec = null; | 135 $prec = null; |
131 | 136 |
132 // 局の幅 | 137 // 局の幅 |
133 $ch_set_width = $settings->ch_set_width; | 138 $ch_set_width = (int)($settings->ch_set_width); |
134 // 全体の幅 | 139 // 全体の幅 |
135 $chs_width = $ch_set_width * count( $channel_map ); | 140 $chs_width = $ch_set_width * $num_ch; |
136 | 141 |
137 // GETパラメタ | 142 // GETパラメタ |
138 $get_param = $_SERVER['SCRIPT_NAME'] . "?type=".$type."&length=".$program_length.""; | 143 $get_param = $_SERVER['SCRIPT_NAME'] . "?type=".$type."&length=".$program_length.""; |
139 | 144 |
140 $smarty = new Smarty(); | 145 $smarty = new Smarty(); |
141 | 146 |
142 // カテゴリ一覧 | 147 // カテゴリ一覧 |
143 $crec = DBRecord::createRecords( CATEGORY_TBL ); | 148 $crec = DBRecord::createRecords( CATEGORY_TBL ); |
144 $cats = array(); | 149 $cats = array(); |
145 $num = 0; | 150 $num = 0; |
146 foreach( $crec as $val ) { | 151 foreach( $crec as $val ) { |
147 $cats[$num]['name_en'] = $val->name_en; | 152 $cats[$num]['name_en'] = $val->name_en; |
148 $cats[$num]['name_jp'] = $val->name_jp; | 153 $cats[$num]['name_jp'] = $val->name_jp; |
149 $num++; | 154 $num++; |
150 } | 155 } |
151 $smarty->assign( "cats", $cats ); | 156 $smarty->assign( "cats", $cats ); |
152 | 157 |
153 | 158 |
154 | 159 // タイプ選択 |
155 // タイプ選択 | 160 $types = array(); |
156 $types = array(); | 161 $i = 0; |
157 $i = 0; | 162 if( $settings->bs_tuners != 0 ) { |
158 if( $settings->bs_tuners != 0 ) { | |
159 $types[$i]['selected'] = $type == "BS" ? 'class="selected"' : ""; | 163 $types[$i]['selected'] = $type == "BS" ? 'class="selected"' : ""; |
160 $types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=BS&length=".$program_length."&time=".date( "YmdH", $top_time); | 164 $types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=BS&length=".$program_length."&time=".date( "YmdH", $top_time); |
161 $types[$i]['name'] = "BS"; | 165 $types[$i]['name'] = "BS"; |
162 $i++; | 166 $i++; |
163 | 167 |
166 $types[$i]['selected'] = $type == "CS" ? 'class="selected"' : ""; | 170 $types[$i]['selected'] = $type == "CS" ? 'class="selected"' : ""; |
167 $types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=CS&length=".$program_length."&time=".date( "YmdH", $top_time); | 171 $types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=CS&length=".$program_length."&time=".date( "YmdH", $top_time); |
168 $types[$i]['name'] = "CS"; | 172 $types[$i]['name'] = "CS"; |
169 $i++; | 173 $i++; |
170 } | 174 } |
171 } | 175 } |
172 if( $settings->gr_tuners != 0 ) { | 176 if( $settings->gr_tuners != 0 ) { |
173 $types[$i]['selected'] = $type == "GR" ? 'class="selected"' : ""; | 177 $types[$i]['selected'] = $type == "GR" ? 'class="selected"' : ""; |
174 $types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=GR&length=".$program_length."&time=".date( "YmdH", $top_time); | 178 $types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=GR&length=".$program_length."&time=".date( "YmdH", $top_time); |
175 $types[$i]['name'] = "地上デジタル"; | 179 $types[$i]['name'] = "地上デジタル"; |
176 $i++; | 180 $i++; |
177 } | 181 } |
178 $smarty->assign( "types", $types ); | 182 $smarty->assign( "types", $types ); |
179 | 183 |
180 // 日付選択 | 184 // 日付選択 |
181 $days = array(); | 185 $days = array(); |
182 $day = array(); | 186 $day = array(); |
183 $day['d'] = "昨日"; | 187 $day['d'] = "昨日"; |
184 $day['link'] = $get_param . "&time=". date( "YmdH", time() - 3600 *24 ); | 188 $day['link'] = $get_param . "&time=". date( "YmdH", time() - 3600 *24 ); |
185 $day['ofweek'] = ""; | 189 $day['ofweek'] = ""; |
186 $day['selected'] = $top_time < mktime( 0, 0 , 0) ? 'class="selected"' : ''; | 190 $day['selected'] = $top_time < mktime( 0, 0 , 0) ? 'class="selected"' : ''; |
187 | 191 |
188 array_push( $days , $day ); | 192 array_push( $days , $day ); |
189 $day['d'] = "現在"; | 193 $day['d'] = "現在"; |
190 $day['link'] = $get_param; | 194 $day['link'] = $get_param; |
191 $day['ofweek'] = ""; | 195 $day['ofweek'] = ""; |
192 $day['selected'] = ""; | 196 $day['selected'] = ""; |
193 array_push( $days, $day ); | 197 array_push( $days, $day ); |
194 for( $i = 0 ; $i < 8 ; $i++ ) { | 198 for( $i = 0 ; $i < 8 ; $i++ ) { |
195 $day['d'] = "".date("d", time() + 24 * 3600 * $i ) . "日"; | 199 $day['d'] = "".date("d", time() + 24 * 3600 * $i ) . "日"; |
196 $day['link'] = $get_param . "&time=".date( "Ymd", time() + 24 * 3600 * $i) . date("H" , $top_time ); | 200 $day['link'] = $get_param . "&time=".date( "Ymd", time() + 24 * 3600 * $i) . date("H" , $top_time ); |
197 $day['ofweek'] = $DAY_OF_WEEK[(int)date( "w", time() + 24 * 3600 * $i )]; | 201 $day['ofweek'] = $DAY_OF_WEEK[(int)date( "w", time() + 24 * 3600 * $i )]; |
198 $day['selected'] = date("d", $top_time) == date("d", time() + 24 * 3600 * $i ) ? 'class="selected"' : ''; | 202 $day['selected'] = date("d", $top_time) == date("d", time() + 24 * 3600 * $i ) ? 'class="selected"' : ''; |
199 array_push( $days, $day ); | 203 array_push( $days, $day ); |
200 } | 204 } |
201 $smarty->assign( "days" , $days ); | 205 $smarty->assign( "days" , $days ); |
202 | 206 |
203 // 時間選択 | 207 // 時間選択 |
204 $toptimes = array(); | 208 $toptimes = array(); |
205 for( $i = 0 ; $i < 24; $i+=4 ) { | 209 for( $i = 0 ; $i < 24; $i+=4 ) { |
206 $tmp = array(); | 210 $tmp = array(); |
207 $tmp['hour'] = sprintf( "%02d:00", $i ); | 211 $tmp['hour'] = sprintf( "%02d:00", $i ); |
208 $tmp['link'] = $get_param . "&time=".date("Ymd", $top_time ) . sprintf("%02d", $i ); | 212 $tmp['link'] = $get_param . "&time=".date("Ymd", $top_time ) . sprintf("%02d", $i ); |
209 array_push( $toptimes, $tmp ); | 213 array_push( $toptimes, $tmp ); |
210 } | 214 } |
211 $smarty->assign( "toptimes" , $toptimes ); | 215 $smarty->assign( "toptimes" , $toptimes ); |
212 | 216 |
213 $smarty->assign( "tvtimes", $tvtimes ); | 217 $smarty->assign( "tvtimes", $tvtimes ); |
214 $smarty->assign( "programs", $programs ); | 218 $smarty->assign( "programs", $programs ); |
215 $smarty->assign( "ch_set_width", $settings->ch_set_width ); | 219 $smarty->assign( "ch_set_width", (int)($settings->ch_set_width) ); |
216 $smarty->assign( "chs_width", $chs_width ); | 220 $smarty->assign( "chs_width", $chs_width ); |
217 $smarty->assign( "height_per_hour", $settings->height_per_hour ); | 221 $smarty->assign( "height_per_hour", $settings->height_per_hour ); |
218 $smarty->assign( "height_per_min", $settings->height_per_hour / 60 ); | 222 $smarty->assign( "height_per_min", $settings->height_per_hour / 60 ); |
223 $smarty->assign( "num_ch", $num_ch ); | |
224 $smarty->assign( "num_all_ch" , count( $channel_map ) ); | |
219 | 225 |
220 // date("Y-m-d H:i:s", $timestamp); | 226 // date("Y-m-d H:i:s", $timestamp); |
221 | 227 |
222 $sitetitle = date( "Y", $top_time ) . "年" . date( "m", $top_time ) . "月" . date( "d", $top_time ) . "日". date( "H", $top_time ) . | 228 $sitetitle = date( "Y", $top_time ) . "年" . date( "m", $top_time ) . "月" . date( "d", $top_time ) . "日". date( "H", $top_time ) . |
223 "時~".( $type == "GR" ? "地上デジタル" : "BSデジタル" )."番組表"; | 229 "時~".( $type == "GR" ? "地上デジタル" : "BSデジタル" )."番組表"; |
224 | 230 |
225 $smarty->assign("sitetitle", $sitetitle ); | 231 $smarty->assign("sitetitle", $sitetitle ); |
226 | 232 |
227 $smarty->assign("top_time", str_replace( "-", "/" ,toDatetime($top_time)) ); | 233 $smarty->assign("top_time", str_replace( "-", "/" ,toDatetime($top_time)) ); |
228 $smarty->assign("last_time", str_replace( "-", "/" ,toDatetime($last_time)) ); | 234 $smarty->assign("last_time", str_replace( "-", "/" ,toDatetime($last_time)) ); |
229 | 235 |
230 | 236 |
231 $smarty->display("index.html"); | 237 $smarty->display("index.html"); |
232 ?> | 238 ?> |