changeset 34:18df04305501

modified: index.php
author Sushi-k <epgrec@park.mda.or.jp>
date Mon, 27 Jul 2009 19:43:45 +0900
parents 1fc71046946c
children 7d1f7e4cac82
files index.php templates/index.html
diffstat 2 files changed, 36 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/index.php	Mon Jul 27 18:55:14 2009 +0900
+++ b/index.php	Mon Jul 27 19:43:45 2009 +0900
@@ -4,12 +4,24 @@
 include_once( INSTALL_PATH . "/DBRecord.class.php" );
 include_once( INSTALL_PATH . "/Smarty/Smarty.class.php" );
 include_once( INSTALL_PATH . "/reclib.php" );
+include_once( INSTALL_PATH . "/Settings.class.php" );
+
+// 設定ファイルの有無を検査する
+if( ! file_exists( INSTALL_PATH."/settings/config.xml") ) {
+    header( "Content-Type: text/html;charset=utf-8" );
+    exit( "<script type=\"text/javascript\">\n" .
+          "<!--\n".
+         "window.open(\"".$url."\",\"_self\");".
+         "// -->\n</script>" );
+}
+
+$settings = Settings::factory();
 
 $DAY_OF_WEEK = array( "(日)","(月)","(火)","(水)","(木)","(金)","(土)" );
 
 // パラメータの処理
 // 表示する長さ(時間)
-$program_length = 8;
+$program_length = $settings->program_length;
 if( isset( $_GET['length']) ) $program_length = (int) $_GET['length'];
 // 地上=GR/BS=BS
 $type = "GR";
@@ -36,11 +48,11 @@
  if( $type == "BS" ) $channel_map = $BS_CHANNEL_MAP;
  else if( $type == "GR" ) $channel_map = $GR_CHANNEL_MAP;
  $st = 0;
- $prec = new DBRecord(TBL_PREFIX.PROGRAM_TBL);
+ $prec = new DBRecord($settings->tbl_prefix.PROGRAM_TBL);
  foreach( $channel_map as $channel_disc => $channel ) {
 	$prev_end = $top_time;
  	try {
-		$crec = new DBRecord( TBL_PREFIX . CHANNEL_TBL, "channel_disc", $channel_disc );
+		$crec = new DBRecord( $settings->tbl_prefix . CHANNEL_TBL, "channel_disc", $channel_disc );
 		$programs[$st]["station_name"]  = $crec->name;
 		
 		$reca = $prec->fetch_array( "channel_disc", $channel_disc,
@@ -54,9 +66,9 @@
 			// 前プログラムとの空きを調べる
 			$start = toTimestamp( $prg['starttime'] );
 			if( $start - $prev_end ) {
-				$height = ($start-$prev_end) / 60;
+				$height = ($start-$prev_end) * $settings->height_per_hour / 3600;
 				if( $height > 0.5 ) {
-					$height = (int)($height * 2);
+					$height = (int)$height;
 					$programs[$st]['list'][$num]['category_none'] = "none";
 					$programs[$st]['list'][$num]['height'] = $height;
 					$programs[$st]['list'][$num]['title'] = "";
@@ -67,18 +79,18 @@
 			}
 			$prev_end = toTimestamp( $prg['endtime'] );
 			
-			$height = (int)((toTimestamp($prg['endtime']) - toTimestamp($prg['starttime'])) / 30);
+			$height = (int)((toTimestamp($prg['endtime']) - toTimestamp($prg['starttime'])) * $settings->height_per_hour / 3600);
 			// $top_time より早く始まっている番組
 			if( toTimestamp($prg['starttime']) <$top_time ) {
-				$height = (int)((toTimestamp($prg['endtime']) - $top_time ) / 30);
+				$height = (int)((toTimestamp($prg['endtime']) - $top_time ) * $settings->height_per_hour / 3600);
 			}
 			// $last_time より遅く終わる番組
 			if( toTimestamp($prg['endtime']) > $last_time ) {
-				$height = (int)(($last_time - toTimestamp($prg['starttime'])) / 30);
+				$height = (int)(($last_time - toTimestamp($prg['starttime'])) * $settings->height_per_hour / 3600);
 			}
 			
 			// プログラムを埋める
-			$cat = new DBRecord( TBL_PREFIX . CATEGORY_TBL, "id", $prg['category_id'] );
+			$cat = new DBRecord( $settings->tbl_prefix . CATEGORY_TBL, "id", $prg['category_id'] );
 			$programs[$st]['list'][$num]['category_name'] = $cat->name_en;
 			$programs[$st]['list'][$num]['height'] = $height;
 			$programs[$st]['list'][$num]['title'] = $prg['title'];
@@ -88,7 +100,7 @@
 			$programs[$st]['list'][$num]['duration'] = "" . (toTimestamp($prg['endtime']) - toTimestamp($prg['starttime']));
 			$programs[$st]['list'][$num]['channel'] = ($prg['type'] == "GR" ? "地上D" : "BS" ) . ":". $prg['channel'] . "ch";
 			$programs[$st]['list'][$num]['id'] = "" . ($prg['id']);
-			$programs[$st]['list'][$num]['rec'] = DBRecord::countRecords( TBL_PREFIX.RESERVE_TBL, "WHERE complete = '0' AND program_id = '".$prg['id']."'" );
+			$programs[$st]['list'][$num]['rec'] = DBRecord::countRecords( $settings->tbl_prefix.RESERVE_TBL, "WHERE complete = '0' AND program_id = '".$prg['id']."'" );
 			$num++;
 		}
 	}
@@ -97,9 +109,9 @@
  	}
  	// 空きを埋める
 	if( $last_time - $prev_end ) {
-		$height = ($last_time - $prev_end) / 60;
+		$height = ($last_time - $prev_end) * $settings->height_per_hour / 3600;
 		if( $height > 0.5 ) {
-			$height = (int)($height * 2);
+			$height = (int)$height;
 			$programs[$st]['list'][$num]['category_name'] = "none";
 			$programs[$st]['list'][$num]['height'] = $height;
 			$programs[$st]['list'][$num]['title'] = "";
@@ -113,7 +125,7 @@
  $prec = null;
  
  // 局の幅
- $ch_set_width = 150;
+ $ch_set_width = $settings->ch_set_width;
  // 全体の幅
  $chs_width = $ch_set_width * count( $channel_map );
  
@@ -123,7 +135,7 @@
  $smarty = new Smarty();
  
  // カテゴリ一覧
- $crec = DBRecord::createRecords( TBL_PREFIX . CATEGORY_TBL );
+ $crec = DBRecord::createRecords( $settings->tbl_prefix . CATEGORY_TBL );
  $cats = array();
  $num = 0;
  foreach( $crec as $val ) {
@@ -138,13 +150,13 @@
  // タイプ選択
  $types = array();
  $i = 0;
- if( BS_TUNERS ) {
+ if( $settings->bs_tuners ) {
 	$types[$i]['selected'] = $type == "BS" ? 'class="selected"' : "";
 	$types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=BS&length=".$program_length."&time=".date( "YmdH", $top_time);
 	$types[$i]['name'] = "BS";
 	$i++;
  }
- if( GR_TUNERS ) {
+ if( $settings->gr_tuers ) {
 	$types[$i]['selected'] = $type == "GR" ? 'class="selected"' : "";
 	$types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=GR&length=".$program_length."&time=".date( "YmdH", $top_time);
 	$types[$i]['name'] = "地上デジタル";
@@ -187,8 +199,9 @@
  
  $smarty->assign( "tvtimes", $tvtimes );
  $smarty->assign( "programs", $programs );
- $smarty->assign( "ch_set_width", $ch_set_width );
+ $smarty->assign( "ch_set_width", $settings->ch_set_width );
  $smarty->assign( "chs_width", $chs_width );
+ $smarty->assign( "height_per_hour", $settings->height_per_hour );
 
 // date("Y-m-d H:i:s", $timestamp);
  
--- a/templates/index.html	Mon Jul 27 18:55:14 2009 +0900
+++ b/templates/index.html	Mon Jul 27 19:43:45 2009 +0900
@@ -326,7 +326,7 @@
 #tvtimes,#tvtimes2, .tvtimeDM {width:40px;}
 #tv_chs {padding-left:40px;padding-right:40px;}
 .tvtime {
-	height:120px;
+	height:{/literal}{$height_per_hour}{literal}px;
 	color:#EEE;
 	text-align:center;
 	font-weight:bold;
@@ -336,7 +336,10 @@
 	background-position: left bottom;
 }
 #tvtable div.tvtimetop {padding:8px 0px;}
-#tvtable div.ch_set {width:150px;float:left;background-color:#BBB;}
+
+#tvtable div.ch_set {width:{/literal}{$ch_set_width}{literal}px;float:left;background-color:#BBB;}
+
+
 #tvtable div.ch_title, #tvtable div.prg {margin-right:2px;}
 #tvtable div.ch_title {padding:8px 0px;background-color:#333;color:#DDD;font-weight:bold;text-align:center}
 #tvtable div.prg {
@@ -376,7 +379,7 @@
 #tvtable div.prg_hover  {background-color: #28D;color:#EFF}
 
 #float_titles { z-index:100}
-#float_titles div.ch_title {width:150px;float:left;color:#FFF;font-weight:bold;text-align:center}
+#float_titles div.ch_title {width:{/literal}{$ch_set_width}{literal}px;float:left;color:#FFF;font-weight:bold;text-align:center}
 #float_titles div.ch_title div{padding:8px 0px;margin:0 6px 0 4px;background-image: url(imgs/trancBG50.png);}
 
 #float_follows {position:absolute;}