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();
10 $options = " WHERE starttime > '".date("Y-m-d H:i:s", time() + 300 )."'";
18 // mysql_real_escape_stringより先に接続しておく必要がある
19 $dbh = @mysql_connect($settings->db_host, $settings->db_user, $settings->db_pass );
22 if(isset( $_POST['do_search'] )) {
23 if( isset($_POST['search'])){
24 if( $_POST['search'] != "" ) {
25 $search = $_POST['search'];
26 if( isset($_POST['use_regexp']) && ($_POST['use_regexp']) ) {
27 $use_regexp = $_POST['use_regexp'];
28 $options .= " AND CONCAT(title,description) REGEXP '".mysql_real_escape_string($search)."'";
31 $options .= " AND CONCAT(title,description) like '%".mysql_real_escape_string($search)."%'";
35 if( isset($_POST['type'])){
36 if( $_POST['type'] != "*" ) {
37 $type = $_POST['type'];
38 $options .= " AND type = '".$_POST['type']."'";
41 if( isset($_POST['category_id'])) {
42 if( $_POST['category_id'] != 0 ) {
43 $category_id = $_POST['category_id'];
44 $options .= " AND category_id = '".$_POST['category_id']."'";
47 if( isset($_POST['station'])) {
48 if( $_POST['station'] != 0 ) {
49 $station = $_POST['station'];
50 $options .= " AND channel_id = '".$_POST['station']."'";
54 $options .= " ORDER BY starttime ASC LIMIT 300";
56 if( ($search != "") || ($type != "*") || ($category_id != 0) || ($station != 0) )
61 $precs = DBRecord::createRecords(PROGRAM_TBL, $options );
64 foreach( $precs as $p ) {
65 $ch = new DBRecord(CHANNEL_TBL, "id", $p->channel_id );
66 $cat = new DBRecord(CATEGORY_TBL, "id", $p->category_id );
68 $arr['type'] = $p->type;
69 $arr['station_name'] = $ch->name;
70 $arr['starttime'] = $p->starttime;
71 $arr['endtime'] = $p->endtime;
72 $arr['title'] = $p->title;
73 $arr['description'] = $p->description;
75 $arr['cat'] = $cat->name_en;
76 $arr['rec'] = DBRecord::countRecords(RESERVE_TBL, "WHERE program_id='".$p->id."'");
78 array_push( $programs, $arr );
81 $k_category_name = "";
82 $crecs = DBRecord::createRecords(CATEGORY_TBL );
85 $cats[0]['name'] = "すべて";
86 $cats[0]['selected'] = $category_id == 0 ? "selected" : "";
87 foreach( $crecs as $c ) {
90 $arr['name'] = $c->name_jp;
91 $arr['selected'] = $c->id == $category_id ? "selected" : "";
92 if( $c->id == $category_id ) $k_category_name = $c->name_jp;
93 array_push( $cats, $arr );
97 $types[0]['name'] = "すべて";
98 $types[0]['value'] = "*";
99 $types[0]['selected'] = $type == "*" ? "selected" : "";
100 if( $settings->gr_tuners ) {
103 $arr['value'] = "GR";
104 $arr['selected'] = $type == "GR" ? "selected" : "";
105 array_push( $types, $arr );
107 if( $settings->bs_tuners ) {
110 $arr['value'] = "BS";
111 $arr['selected'] = $type == "BS" ? "selected" : "";
112 array_push( $types, $arr );
115 $k_station_name = "";
116 $crecs = DBRecord::createRecords(CHANNEL_TBL);
118 $stations[0]['id'] = 0;
119 $stations[0]['name'] = "すべて";
120 $stations[0]['selected'] = (! $station) ? "selected" : "";
121 foreach( $crecs as $c ) {
124 $arr['name'] = $c->name;
125 $arr['selected'] = $station == $c->id ? "selected" : "";
126 if( $station == $c->id ) $k_station_name = $c->name;
127 array_push( $stations, $arr );
130 $smarty = new Smarty();
131 $smarty->assign("sitetitle","番組検索");
132 $smarty->assign("do_keyword", $do_keyword );
133 $smarty->assign( "programs", $programs );
134 $smarty->assign( "cats", $cats );
135 $smarty->assign( "k_category", $category_id );
136 $smarty->assign( "k_category_name", $k_category_name );
137 $smarty->assign( "types", $types );
138 $smarty->assign( "k_type", $type );
139 $smarty->assign( "search" , $search );
140 $smarty->assign( "use_regexp", $use_regexp );
141 $smarty->assign( "stations", $stations );
142 $smarty->assign( "k_station", $station );
143 $smarty->assign( "k_station_name", $k_station_name );
144 $smarty->display("programTable.html");
146 catch( exception $e ) {
147 exit( $e->getMessage() );