Mercurial > epgrec.yaz
comparison programTable.php @ 115:7a64d5e3baee
mod: ??????????
| author | yoneda <epgrec@park.mda.or.jp> |
|---|---|
| date | Sat, 13 Mar 2010 23:00:51 +0900 |
| parents | 57676bb30f64 |
| children | f5d58cf2842f |
comparison
equal
deleted
inserted
replaced
| 114:f854f6606fa5 | 115:7a64d5e3baee |
|---|---|
| 1 <?php | 1 <?php |
| 2 include_once('config.php'); | 2 include_once('config.php'); |
| 3 include_once( INSTALL_PATH . '/DBRecord.class.php' ); | 3 include_once( INSTALL_PATH . '/DBRecord.class.php' ); |
| 4 include_once( INSTALL_PATH . '/Smarty/Smarty.class.php' ); | 4 include_once( INSTALL_PATH . '/Smarty/Smarty.class.php' ); |
| 5 include_once( INSTALL_PATH . '/Settings.class.php' ); | 5 include_once( INSTALL_PATH . '/Settings.class.php' ); |
| 6 include_once( INSTALL_PATH . '/Keyword.class.php' ); | |
| 6 | 7 |
| 7 $settings = Settings::factory(); | 8 $settings = Settings::factory(); |
| 8 | 9 |
| 9 $options = " WHERE starttime > '".date("Y-m-d H:i:s", time() + 300 )."'"; | 10 $options = " WHERE starttime > '".date("Y-m-d H:i:s", time() + 300 )."'"; |
| 10 | 11 |
| 22 | 23 |
| 23 | 24 |
| 24 $autorec_modes = $RECORD_MODE; | 25 $autorec_modes = $RECORD_MODE; |
| 25 $autorec_modes[(int)($settings->autorec_mode)]['selected'] = "selected"; | 26 $autorec_modes[(int)($settings->autorec_mode)]['selected'] = "selected"; |
| 26 | 27 |
| 27 $weekofday = 7; | |
| 28 $search = ""; | 28 $search = ""; |
| 29 $use_regexp = 0; | 29 $use_regexp = 0; |
| 30 $type = "*"; | 30 $type = "*"; |
| 31 $category_id = 0; | 31 $category_id = 0; |
| 32 $station = 0; | 32 $channel_id = 0; |
| 33 $weekofday = 7; | |
| 33 $prgtime = 24; | 34 $prgtime = 24; |
| 34 | 35 |
| 35 | 36 // パラメータの処理 |
| 36 // mysql_real_escape_stringより先に接続しておく必要がある | |
| 37 $dbh = @mysql_connect($settings->db_host, $settings->db_user, $settings->db_pass ); | |
| 38 | |
| 39 // パラメータの処理 | |
| 40 if(isset( $_POST['do_search'] )) { | 37 if(isset( $_POST['do_search'] )) { |
| 41 if( isset($_POST['search'])){ | 38 if( isset($_POST['search'])){ |
| 42 if( $_POST['search'] != "" ) { | 39 $search = $_POST['search']; |
| 43 $search = $_POST['search']; | 40 if( isset($_POST['use_regexp']) && ($_POST['use_regexp']) ) { |
| 44 if( isset($_POST['use_regexp']) && ($_POST['use_regexp']) ) { | 41 $use_regexp = (int)($_POST['use_regexp']); |
| 45 $use_regexp = $_POST['use_regexp']; | |
| 46 $options .= " AND CONCAT(title,description) REGEXP '".mysql_real_escape_string($search)."'"; | |
| 47 } | |
| 48 else { | |
| 49 $options .= " AND CONCAT(title,description) like '%".mysql_real_escape_string($search)."%'"; | |
| 50 } | |
| 51 } | 42 } |
| 52 } | 43 } |
| 53 if( isset($_POST['type'])){ | 44 if( isset($_POST['type'])){ |
| 54 if( $_POST['type'] != "*" ) { | 45 $type = $_POST['type']; |
| 55 $type = $_POST['type']; | |
| 56 $options .= " AND type = '".$_POST['type']."'"; | |
| 57 } | |
| 58 } | 46 } |
| 59 if( isset($_POST['category_id'])) { | 47 if( isset($_POST['category_id'])) { |
| 60 if( $_POST['category_id'] != 0 ) { | 48 $category_id = (int)($_POST['category_id']); |
| 61 $category_id = $_POST['category_id']; | |
| 62 $options .= " AND category_id = '".$_POST['category_id']."'"; | |
| 63 } | |
| 64 } | 49 } |
| 65 if( isset($_POST['station'])) { | 50 if( isset($_POST['station'])) { |
| 66 if( $_POST['station'] != 0 ) { | 51 $channel_id = (int)($_POST['station']); |
| 67 $station = $_POST['station']; | |
| 68 $options .= " AND channel_id = '".$_POST['station']."'"; | |
| 69 } | |
| 70 } | 52 } |
| 71 if( isset($_POST['weekofday']) ) { | 53 if( isset($_POST['weekofday']) ) { |
| 72 $weekofday = $_POST['weekofday']; | 54 $weekofday = (int)($_POST['weekofday']); |
| 73 if( $weekofday != 7 ) { | |
| 74 $options .= " AND WEEKDAY(starttime) = '".$weekofday."'"; | |
| 75 } | |
| 76 } | 55 } |
| 77 if( isset($_POST['prgtime']) ) { | 56 if( isset($_POST['prgtime']) ) { |
| 78 $prgtime = (int)($_POST['prgtime']); | 57 $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)"; | |
| 81 } | |
| 82 } | 58 } |
| 83 } | 59 } |
| 84 $options .= " ORDER BY starttime ASC LIMIT 300"; | |
| 85 | |
| 86 | 60 |
| 87 $do_keyword = 0; | 61 $do_keyword = 0; |
| 88 if( ($search != "") || ($type != "*") || ($category_id != 0) || ($station != 0) ) | 62 if( ($search != "") || ($type != "*") || ($category_id != 0) || ($channel_id != 0) ) |
| 89 $do_keyword = 1; | 63 $do_keyword = 1; |
| 90 | 64 |
| 91 try{ | 65 try{ |
| 92 $precs = DBRecord::createRecords(PROGRAM_TBL, $options ); | 66 $precs = Keyword::search( $search, $use_regexp, $type, $category_id, $channel_id, $weekofday, $prgtime ); |
| 93 | 67 |
| 94 $programs = array(); | 68 $programs = array(); |
| 95 foreach( $precs as $p ) { | 69 foreach( $precs as $p ) { |
| 96 $ch = new DBRecord(CHANNEL_TBL, "id", $p->channel_id ); | 70 $ch = new DBRecord(CHANNEL_TBL, "id", $p->channel_id ); |
| 97 $cat = new DBRecord(CATEGORY_TBL, "id", $p->category_id ); | 71 $cat = new DBRecord(CATEGORY_TBL, "id", $p->category_id ); |
| 155 $k_station_name = ""; | 129 $k_station_name = ""; |
| 156 $crecs = DBRecord::createRecords(CHANNEL_TBL); | 130 $crecs = DBRecord::createRecords(CHANNEL_TBL); |
| 157 $stations = array(); | 131 $stations = array(); |
| 158 $stations[0]['id'] = 0; | 132 $stations[0]['id'] = 0; |
| 159 $stations[0]['name'] = "すべて"; | 133 $stations[0]['name'] = "すべて"; |
| 160 $stations[0]['selected'] = (! $station) ? "selected" : ""; | 134 $stations[0]['selected'] = (! $channel_id) ? "selected" : ""; |
| 161 foreach( $crecs as $c ) { | 135 foreach( $crecs as $c ) { |
| 162 $arr = array(); | 136 $arr = array(); |
| 163 $arr['id'] = $c->id; | 137 $arr['id'] = $c->id; |
| 164 $arr['name'] = $c->name; | 138 $arr['name'] = $c->name; |
| 165 $arr['selected'] = $station == $c->id ? "selected" : ""; | 139 $arr['selected'] = $channel_id == $c->id ? "selected" : ""; |
| 166 if( $station == $c->id ) $k_station_name = $c->name; | 140 if( $channel_id == $c->id ) $k_station_name = $c->name; |
| 167 array_push( $stations, $arr ); | 141 array_push( $stations, $arr ); |
| 168 } | 142 } |
| 169 $weekofdays["$weekofday"]["selected"] = "selected" ; | 143 $weekofdays["$weekofday"]["selected"] = "selected" ; |
| 170 | 144 |
| 171 // 時間帯 | 145 // 時間帯 |
| 190 $smarty->assign( "types", $types ); | 164 $smarty->assign( "types", $types ); |
| 191 $smarty->assign( "k_type", $type ); | 165 $smarty->assign( "k_type", $type ); |
| 192 $smarty->assign( "search" , $search ); | 166 $smarty->assign( "search" , $search ); |
| 193 $smarty->assign( "use_regexp", $use_regexp ); | 167 $smarty->assign( "use_regexp", $use_regexp ); |
| 194 $smarty->assign( "stations", $stations ); | 168 $smarty->assign( "stations", $stations ); |
| 195 $smarty->assign( "k_station", $station ); | 169 $smarty->assign( "k_station", $channel_id ); |
| 196 $smarty->assign( "k_station_name", $k_station_name ); | 170 $smarty->assign( "k_station_name", $k_station_name ); |
| 197 $smarty->assign( "weekofday", $weekofday ); | 171 $smarty->assign( "weekofday", $weekofday ); |
| 198 $smarty->assign( "k_weekofday", $weekofdays["$weekofday"]["name"] ); | 172 $smarty->assign( "k_weekofday", $weekofdays["$weekofday"]["name"] ); |
| 199 $smarty->assign( "weekofday", $weekofday ); | 173 $smarty->assign( "weekofday", $weekofday ); |
| 200 $smarty->assign( "weekofdays", $weekofdays ); | 174 $smarty->assign( "weekofdays", $weekofdays ); |
