2 include_once('config.php');
3 include_once( INSTALL_PATH . '/DBRecord.class.php' );
4 include_once( INSTALL_PATH . '/Smarty/Smarty.class.php' );
5 include_once( INSTALL_PATH . '/Settings.class.php' );
7 $settings = Settings::factory();
9 $options = " WHERE starttime > '".date("Y-m-d H:i:s", time() + 300 )."'";
13 array( "name" => "月", "id" => 0, "selected" => "" ),
14 array( "name" => "火", "id" => 1, "selected" => "" ),
15 array( "name" => "水", "id" => 2, "selected" => "" ),
16 array( "name" => "木", "id" => 3, "selected" => "" ),
17 array( "name" => "金", "id" => 4, "selected" => "" ),
18 array( "name" => "土", "id" => 5, "selected" => "" ),
19 array( "name" => "日", "id" => 6, "selected" => "" ),
20 array( "name" => "なし", "id" => 7, "selected" => "" ),
24 $autorec_modes = $RECORD_MODE;
25 $autorec_modes[(int)($settings->autorec_mode)]['selected'] = "selected";
36 // mysql_real_escape_stringより先に接続しておく必要がある
37 $dbh = @mysql_connect($settings->db_host, $settings->db_user, $settings->db_pass );
40 if(isset( $_POST['do_search'] )) {
41 if( isset($_POST['search'])){
42 if( $_POST['search'] != "" ) {
43 $search = $_POST['search'];
44 if( isset($_POST['use_regexp']) && ($_POST['use_regexp']) ) {
45 $use_regexp = $_POST['use_regexp'];
46 $options .= " AND CONCAT(title,description) REGEXP '".mysql_real_escape_string($search)."'";
49 $options .= " AND CONCAT(title,description) like '%".mysql_real_escape_string($search)."%'";
53 if( isset($_POST['type'])){
54 if( $_POST['type'] != "*" ) {
55 $type = $_POST['type'];
56 $options .= " AND type = '".$_POST['type']."'";
59 if( isset($_POST['category_id'])) {
60 if( $_POST['category_id'] != 0 ) {
61 $category_id = $_POST['category_id'];
62 $options .= " AND category_id = '".$_POST['category_id']."'";
65 if( isset($_POST['station'])) {
66 if( $_POST['station'] != 0 ) {
67 $station = $_POST['station'];
68 $options .= " AND channel_id = '".$_POST['station']."'";
71 if( isset($_POST['weekofday']) ) {
72 $weekofday = $_POST['weekofday'];
73 if( $weekofday != 7 ) {
74 $options .= " AND WEEKDAY(starttime) = '".$weekofday."'";
77 if( isset($_POST['prgtime']) ) {
78 $prgtime = (int)($_POST['prgtime']);
79 if( $prgtime != 24 ) {
80 $options .= " AND time(starttime) BETWEEN cast('".sprintf( "%02d:00:00", $prgtime)."' as time) AND cast('".sprintf("%02d:59:59", $prgtime)."' as time)";
84 $options .= " ORDER BY starttime ASC LIMIT 300";
88 if( ($search != "") || ($type != "*") || ($category_id != 0) || ($station != 0) )
92 $precs = DBRecord::createRecords(PROGRAM_TBL, $options );
95 foreach( $precs as $p ) {
96 $ch = new DBRecord(CHANNEL_TBL, "id", $p->channel_id );
97 $cat = new DBRecord(CATEGORY_TBL, "id", $p->category_id );
99 $arr['type'] = $p->type;
100 $arr['station_name'] = $ch->name;
101 $arr['starttime'] = $p->starttime;
102 $arr['endtime'] = $p->endtime;
103 $arr['title'] = $p->title;
104 $arr['description'] = $p->description;
106 $arr['cat'] = $cat->name_en;
107 $arr['rec'] = DBRecord::countRecords(RESERVE_TBL, "WHERE program_id='".$p->id."'");
109 array_push( $programs, $arr );
112 $k_category_name = "";
113 $crecs = DBRecord::createRecords(CATEGORY_TBL);
116 $cats[0]['name'] = "すべて";
117 $cats[0]['selected'] = $category_id == 0 ? "selected" : "";
118 foreach( $crecs as $c ) {
121 $arr['name'] = $c->name_jp;
122 $arr['selected'] = $c->id == $category_id ? "selected" : "";
123 if( $c->id == $category_id ) $k_category_name = $c->name_jp;
124 array_push( $cats, $arr );
128 $types[0]['name'] = "すべて";
129 $types[0]['value'] = "*";
130 $types[0]['selected'] = $type == "*" ? "selected" : "";
131 if( $settings->gr_tuners != 0 ) {
134 $arr['value'] = "GR";
135 $arr['selected'] = $type == "GR" ? "selected" : "";
136 array_push( $types, $arr );
138 if( $settings->bs_tuners != 0 ) {
141 $arr['value'] = "BS";
142 $arr['selected'] = $type == "BS" ? "selected" : "";
143 array_push( $types, $arr );
146 if ($settings->cs_rec_flg != 0) {
149 $arr['value'] = "CS";
150 $arr['selected'] = $type == "CS" ? "selected" : "";
151 array_push( $types, $arr );
155 $k_station_name = "";
156 $crecs = DBRecord::createRecords(CHANNEL_TBL);
158 $stations[0]['id'] = 0;
159 $stations[0]['name'] = "すべて";
160 $stations[0]['selected'] = (! $station) ? "selected" : "";
161 foreach( $crecs as $c ) {
164 $arr['name'] = $c->name;
165 $arr['selected'] = $station == $c->id ? "selected" : "";
166 if( $station == $c->id ) $k_station_name = $c->name;
167 array_push( $stations, $arr );
169 $weekofdays["$weekofday"]["selected"] = "selected" ;
173 for( $i=0; $i < 25; $i++ ) {
174 array_push( $prgtimes,
175 array( "name" => ( $i == 24 ? "なし" : sprintf("%0d時~",$i) ),
177 "selected" => ( $i == $prgtime ? "selected" : "" ) )
183 $smarty = new Smarty();
184 $smarty->assign("sitetitle","番組検索");
185 $smarty->assign("do_keyword", $do_keyword );
186 $smarty->assign( "programs", $programs );
187 $smarty->assign( "cats", $cats );
188 $smarty->assign( "k_category", $category_id );
189 $smarty->assign( "k_category_name", $k_category_name );
190 $smarty->assign( "types", $types );
191 $smarty->assign( "k_type", $type );
192 $smarty->assign( "search" , $search );
193 $smarty->assign( "use_regexp", $use_regexp );
194 $smarty->assign( "stations", $stations );
195 $smarty->assign( "k_station", $station );
196 $smarty->assign( "k_station_name", $k_station_name );
197 $smarty->assign( "weekofday", $weekofday );
198 $smarty->assign( "k_weekofday", $weekofdays["$weekofday"]["name"] );
199 $smarty->assign( "weekofday", $weekofday );
200 $smarty->assign( "weekofdays", $weekofdays );
201 $smarty->assign( "autorec_modes", $autorec_modes );
202 $smarty->assign( "prgtimes", $prgtimes );
203 $smarty->assign( "prgtime", $prgtime );
204 $smarty->display("programTable.html");
206 catch( exception $e ) {
207 exit( $e->getMessage() );