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 ?>