Advertisement
Guest User

epgrock patch v.0.0.5

a guest
Jul 22nd, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 104.29 KB | None | 0 0
  1. epgrec STZ版の画面と操作性をtvrockっぽくするパッチ
  2.  
  3. 1. epgrecの設定ページを開き、"ページに表示する番組表の長さ(時間)"、"1局あたりの幅"、"1時間あたりの高さ" の値をそれぞれ、24、175、700 に設定。
  4. 2. http://mobiledetect.net/ から Mobile_detect.php をダウンロードして /var/www/epgrec に格納。
  5. 3. tvrock の予約ボタン画像を保存(reserve.gif)して、/var/www/epgrec/imgs に格納。
  6. 4. /var/www/epgrec で、patch -p1 < epgrock.diff を実行。
  7. 5. できあがり。
  8.  
  9.  
  10.  
  11. diff -urN epgrec.org/Keyword.class.php epgrec/Keyword.class.php
  12. --- epgrec.org/Keyword.class.php 2017-07-22 02:33:25.000000000 +0900
  13. +++ epgrec/Keyword.class.php 2017-07-21 16:17:54.000000000 +0900
  14. @@ -24,7 +24,7 @@
  15. $channel_id = 0,
  16. $weekofday = 7,
  17. $prgtime = 24,
  18. - $limit = 300 ) {
  19. + $limit = 3000 ) {
  20. $sts = Settings::factory();
  21.  
  22. $dbh = @mysql_connect($sts->db_host, $sts->db_user, $sts->db_pass );
  23. @@ -45,7 +45,11 @@
  24. $options .= " AND type = '".$type."'";
  25. }
  26.  
  27. - if( $category_id != 0 ) {
  28. +// 映画の場合は、予備カテゴリーも含める
  29. + if( $category_id == 13 ) {
  30. + $options .= " AND (category_id = '13' OR category_id = '14')";
  31. + }
  32. + else if( $category_id != 0 ) {
  33. $options .= " AND category_id = '".$category_id."'";
  34. }
  35.  
  36. diff -urN epgrec.org/Reservation.class.php epgrec/Reservation.class.php
  37. --- epgrec.org/Reservation.class.php 2017-07-22 02:33:25.000000000 +0900
  38. +++ epgrec/Reservation.class.php 2017-07-23 02:14:46.000000000 +0900
  39. @@ -212,7 +212,8 @@
  40. %SID% サービスID
  41. %DOW% 曜日(Sun-Mon)
  42. %DOWJ% 曜日(日-土)
  43. - %YEAR% 開始年
  44. + %YEAR% 開始年(YYYY)
  45. + %YEAR2% 開始年(YY) ←追加
  46. %MONTH% 開始月
  47. %DAY% 開始日
  48. %HOUR% 開始時
  49. @@ -242,6 +243,8 @@
  50. $filename = mb_str_replace("%DOWJ%",$day_of_week[(int)date("w", $start_time)], $filename );
  51. // %YEAR% 開始年
  52. $filename = mb_str_replace("%YEAR%",date("Y", $start_time), $filename );
  53. + // %YEAR% 開始年
  54. + $filename = mb_str_replace("%YEAR2%",date("y", $start_time), $filename );
  55. // %MONTH% 開始月
  56. $filename = mb_str_replace("%MONTH%",date("m", $start_time), $filename );
  57. // %DAY% 開始日
  58. diff -urN epgrec.org/Rock.inc.php epgrec/Rock.inc.php
  59. --- epgrec.org/Rock.inc.php 1970-01-01 09:00:00.000000000 +0900
  60. +++ epgrec/Rock.inc.php 2017-07-23 10:39:45.000000000 +0900
  61. @@ -0,0 +1,73 @@
  62. +<?php
  63. +
  64. +function getSimpleTitle($title) {
  65. + $title = mb_convert_kana($title, "rn");
  66. + $title = str_replace("【", "[", $title);
  67. + $title = str_replace("】", "]", $title);
  68. + $title = str_replace("[字]", "", $title);
  69. + $title = str_replace("[解]", "", $title);
  70. + $title = str_replace("[再]", "", $title);
  71. + $title = str_replace("[デ]", "", $title);
  72. + $title = str_replace("[二]", "", $title);
  73. + $title = str_replace("[SS]", "", $title);
  74. + $title = str_replace("[無]", "", $title);
  75. + $title = str_replace("[無料]", "", $title);
  76. + $title = str_replace("[多]", "", $title);
  77. + $title = str_replace("[5.1]", "", $title);
  78. + $title = str_replace("[テニス]", "", $title);
  79. + $title = str_replace("[HV]", "", $title);
  80. + $title = str_replace("[HD完全版]", "", $title);
  81. + $title = str_replace("[HDリマスター版]", "", $title);
  82. + $title = str_replace("[完全版]", "", $title);
  83. + $title = str_replace("(無料)", "", $title);
  84. + $title = str_replace("(字幕版)", "(字幕)", $title);
  85. + $title = str_replace("(吹替版)", "(吹替)", $title);
  86. + $title = str_replace("[吹]", "(吹替)", $title);
  87. +
  88. + return $title;
  89. +}
  90. +
  91. +function getSearchKey($search_key, $category_id) {
  92. + if ($r->category_id == 13 || $r->category_id == 14) {
  93. + return "";
  94. + }
  95. + $search_key = str_replace("【", "[", $search_key);
  96. + $search_key = str_replace("】", "]", $search_key);
  97. + $search_key = str_replace("[", "[", $search_key);
  98. + $search_key = str_replace("]", "]", $search_key);
  99. + $search_key = str_replace("<", "<", $search_key);
  100. + $search_key = str_replace(">", ">", $search_key);
  101. + $search_key = str_replace("(", "(", $search_key);
  102. + $search_key = str_replace(")", ")", $search_key);
  103. + $search_key = preg_replace("/◆.*$/", "", $search_key);
  104. + $search_key = preg_replace("/「/", "", $search_key, 5);
  105. + $search_key = preg_replace("/」/", "", $search_key, 5);
  106. + $search_key = preg_replace("/([^)]*)/", "", $search_key, 5);
  107. + $search_key = preg_replace("/\([^\)]*\)/", "", $search_key, 5);
  108. + $search_key = preg_replace("/\<[^\>]*\>/", "", $search_key, 5);
  109. + $search_key = preg_replace("/\[[^\]]*\]/", "", $search_key, 5);
  110. + $search_key = preg_replace("/\[.*\]/", "", $search_key, 5);
  111. + $search_key = str_replace("プレミアムシネマ", "", $search_key);
  112. +
  113. + return $search_key;
  114. +}
  115. +
  116. +function getStartDateTime($starttime) {
  117. + $date_and_time = split(" ", $starttime);
  118. + $start_date = split("-", $date_and_time[0]);
  119. + $start_time = split(":", $date_and_time[1]);
  120. + $datetime = new DateTime($date_and_time[0]);
  121. + $week = array("(日)", "(月)", "(火)", "(水)", "(木)", "(金)", "(土)");
  122. + $w = (int)$datetime->format('w');
  123. + $day_of_week = $week[$w];
  124. + return intval($start_date[1]) . "月" . $start_date[2] . "日" . $day_of_week . "<br>" . $start_time[0] . ":" . $start_time[1];
  125. +}
  126. +
  127. +function getEndTime($endtime) {
  128. + $date_and_time = split(" ", $endtime);
  129. + $end_date = split("-", $date_and_time[0]);
  130. + $end_time = split(":", $date_and_time[1]);
  131. + return $end_time[0] . ":" . $end_time[1];
  132. +}
  133. +
  134. +?>
  135. diff -urN epgrec.org/Rock_define.inc.php epgrec/Rock_define.inc.php
  136. --- epgrec.org/Rock_define.inc.php 1970-01-01 09:00:00.000000000 +0900
  137. +++ epgrec/Rock_define.inc.php 2017-07-23 11:12:39.000000000 +0900
  138. @@ -0,0 +1,9 @@
  139. +<?php
  140. +
  141. +define("PC_BASE_FONT_SIZE" , 12);
  142. +define("PC_FLOAT_FOLLOWS_FONT_SIZE" , 16);
  143. +define("MOBILE_BASE_FONT_SIZE" , 13); //13.5
  144. +define("MOBILE_FLOAT_FOLLOWS_FONT_SIZE", 18);
  145. +
  146. +?>
  147. +
  148. diff -urN epgrec.org/envSetting.php epgrec/envSetting.php
  149. --- epgrec.org/envSetting.php 2017-07-22 02:33:25.000000000 +0900
  150. +++ epgrec/envSetting.php 2017-07-18 01:30:40.000000000 +0900
  151. @@ -11,7 +11,7 @@
  152. $smarty->assign( "install_path", INSTALL_PATH );
  153. $smarty->assign( "post_to", "postsettings.php" );
  154. $smarty->assign( "sitetitle", "環境設定設定" );
  155. -$smarty->assign( "message", '<a href="index.php">設定せずに番組表に戻る</a>/<a href="systemSetting.php">システム設定へ</a>/<a href="logViewer.php">動作ログを見る</a>' );
  156. +$smarty->assign( "message", '<a href="index.php">設定せずに番組表に戻る</a>/<a href="systemSetting.php">システム設定へ</a>' );
  157.  
  158. $smarty->display("envSetting.html");
  159. ?>
  160. diff -urN epgrec.org/getepg.php epgrec/getepg.php
  161. --- epgrec.org/getepg.php 2017-07-22 02:33:25.000000000 +0900
  162. +++ epgrec/getepg.php 2017-07-17 18:09:57.000000000 +0900
  163. @@ -119,7 +119,7 @@
  164. $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND (type = 'BS' OR type = 'CS') AND endtime > now() AND starttime < addtime( now(), '00:03:05')" );
  165. if($num < $settings->bs_tuners && check_file($temp_data_cs1)) {
  166.  
  167. - $cmdline = "CHANNEL=".CS1_EPG_CHANNEL." DURATION=120 TYPE=CS TUNER=0 MODE=0 OUTPUT=".$temp_data_cs1." ".DO_RECORD . " >/dev/null 2>&1";
  168. + $cmdline = "CHANNEL=".CS1_EPG_CHANNEL." DURATION=180 TYPE=CS TUNER=0 MODE=0 OUTPUT=".$temp_data_cs1." ".DO_RECORD . " >/dev/null 2>&1";
  169. exec( $cmdline );
  170. $cmdline = INSTALL_PATH."/storeProgram.php CS1 ".$temp_data_cs1;
  171. $cs1_proc = epgrec_exec($cmdline);
  172. @@ -127,7 +127,7 @@
  173.  
  174. $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND (type = 'BS' OR type = 'CS') AND endtime > now() AND starttime < addtime( now(), '00:03:05')" );
  175. if( ($num < $settings->bs_tuners) && check_file($temp_data_cs2) ) {
  176. - $cmdline = "CHANNEL=".CS2_EPG_CHANNEL." DURATION=120 TYPE=CS TUNER=0 MODE=0 OUTPUT=".$temp_data_cs2." ".DO_RECORD . " >/dev/null 2>&1";
  177. + $cmdline = "CHANNEL=".CS2_EPG_CHANNEL." DURATION=180 TYPE=CS TUNER=0 MODE=0 OUTPUT=".$temp_data_cs2." ".DO_RECORD . " >/dev/null 2>&1";
  178. exec( $cmdline );
  179. $cmdline = INSTALL_PATH."/storeProgram.php CS2 ".$temp_data_cs2;
  180. $cs2_proc = epgrec_exec( $cmdline );
  181. diff -urN epgrec.org/index.php epgrec/index.php
  182. --- epgrec.org/index.php 2017-07-22 02:33:25.000000000 +0900
  183. +++ epgrec/index.php 2017-07-23 11:30:24.000000000 +0900
  184. @@ -5,6 +5,10 @@
  185. include_once( INSTALL_PATH . "/Smarty/Smarty.class.php" );
  186. include_once( INSTALL_PATH . "/reclib.php" );
  187. include_once( INSTALL_PATH . "/Settings.class.php" );
  188. +include_once( INSTALL_PATH . "/Rock.inc.php" );
  189. +include_once( INSTALL_PATH . "/Rock_define.inc.php" );
  190. +require_once 'Mobile_Detect.php';
  191. +$detect = new Mobile_Detect;
  192.  
  193. // 設定ファイルの有無を検査する
  194. if( ! file_exists( INSTALL_PATH."/settings/config.xml") ) {
  195. @@ -89,6 +93,7 @@
  196. $programs[$st]['list'][$num]['title'] = "";
  197. $programs[$st]['list'][$num]['starttime'] = "";
  198. $programs[$st]['list'][$num]['description'] = "";
  199. + $programs[$st]['list'][$num]['station_name'] = "";
  200. $num++;
  201. }
  202. $prev_end = $prg_endtime;
  203. @@ -108,21 +113,29 @@
  204. $cat = new DBRecord( CATEGORY_TBL, "id", $prg['category_id'] );
  205. $programs[$st]['list'][$num]['category_name'] = $cat->name_en;
  206. $programs[$st]['list'][$num]['height'] = $height;
  207. - $programs[$st]['list'][$num]['title'] = $prg['title'];
  208. + $programs[$st]['list'][$num]['title'] = getSimpleTitle($prg['title']);
  209. $programs[$st]['list'][$num]['starttime'] = date("H:i", $start )."" ;
  210. - $programs[$st]['list'][$num]['description'] = $prg['description'];
  211. + $programs[$st]['list'][$num]['ut_now'] = time();
  212. + $programs[$st]['list'][$num]['ut_start'] = strtotime($prg['starttime']);
  213. + $programs[$st]['list'][$num]['ut_end'] = strtotime($prg['endtime']);
  214. + $programs[$st]['list'][$num]['description'] = mb_convert_kana($prg['description'], "rn");
  215. $programs[$st]['list'][$num]['prg_start'] = str_replace( "-", "/", $prg['starttime']);
  216. $programs[$st]['list'][$num]['duration'] = "" . (toTimestamp($prg['endtime']) - toTimestamp($prg['starttime']));
  217. $programs[$st]['list'][$num]['channel'] = ($prg['type'] == "GR" ? "地上D" : "BS" ) . ":". $prg['channel'] . "ch";
  218. $programs[$st]['list'][$num]['id'] = "" . ($prg['id']);
  219. $programs[$st]['list'][$num]['rec'] = DBRecord::countRecords(RESERVE_TBL, "WHERE complete = '0' AND program_id = '".$prg['id']."'" );
  220. + $programs[$st]['list'][$num]['complate'] = DBRecord::countRecords(RESERVE_TBL, "WHERE complete = '1' AND program_id = '".$prg['id']."'" );
  221. +// 終了済?
  222. + $programs[$st]['list'][$num]['over'] = 0;
  223. + if ($programs[$st]['list'][$num]['ut_end']<$programs[$st]['list'][$num]['ut_now']) {
  224. + $programs[$st]['list'][$num]['over'] = 1;
  225. + }
  226. + $programs[$st]['list'][$num]['station_name'] = $crec->name;
  227. $num++;
  228. }
  229. }
  230. catch( exception $e ) {
  231. $num_ch++; // epgの無いチャンネル対応
  232. -// exit( $e->getMessage() );
  233. -// 何もしない
  234. }
  235. // 空きを埋める
  236. if( ($last_time - $prev_end) > 0 ) {
  237. @@ -164,61 +177,44 @@
  238. // タイプ選択
  239. $types = array();
  240. $i = 0;
  241. +if( $settings->gr_tuners != 0 ) {
  242. + $types[$i]['selected'] = $type == "GR" ? 'class="selected2"' : 'class="non_selected"';
  243. + $types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=GR&length=".$program_length."&time=".date( "YmdH", $top_time);
  244. + $types[$i]['name'] = "&nbsp;地デジ&nbsp;";
  245. + $i++;
  246. +}
  247. if( $settings->bs_tuners != 0 ) {
  248. - $types[$i]['selected'] = $type == "BS" ? 'class="selected"' : "";
  249. + $types[$i]['selected'] = $type == "BS" ? 'class="selected2"' : 'class="non_selected"';
  250. $types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=BS&length=".$program_length."&time=".date( "YmdH", $top_time);
  251. - $types[$i]['name'] = "BS";
  252. + $types[$i]['name'] = "&nbsp;&nbsp;BS&nbsp;&nbsp;";
  253. $i++;
  254.  
  255. // CS
  256. if ($settings->cs_rec_flg != 0) {
  257. - $types[$i]['selected'] = $type == "CS" ? 'class="selected"' : "";
  258. + $types[$i]['selected'] = $type == "CS" ? 'class="selected2"' : 'class="non_selected"';
  259. $types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=CS&length=".$program_length."&time=".date( "YmdH", $top_time);
  260. - $types[$i]['name'] = "CS";
  261. + $types[$i]['name'] = "&nbsp;&nbsp;CS&nbsp;&nbsp;";
  262. $i++;
  263. }
  264. }
  265. -if( $settings->gr_tuners != 0 ) {
  266. - $types[$i]['selected'] = $type == "GR" ? 'class="selected"' : "";
  267. - $types[$i]['link'] = $_SERVER['SCRIPT_NAME'] . "?type=GR&length=".$program_length."&time=".date( "YmdH", $top_time);
  268. - $types[$i]['name'] = "地上デジタル";
  269. - $i++;
  270. -}
  271. $smarty->assign( "types", $types );
  272.  
  273. // 日付選択
  274. $days = array();
  275. $day = array();
  276. -$day['d'] = "昨日";
  277. -$day['link'] = $get_param . "&time=". date( "YmdH", time() - 3600 *24 );
  278. -$day['ofweek'] = "";
  279. -$day['selected'] = $top_time < mktime( 0, 0 , 0) ? 'class="selected"' : '';
  280. -
  281. -array_push( $days , $day );
  282. -$day['d'] = "現在";
  283. +$day['d'] = "今の時間";
  284. $day['link'] = $get_param;
  285. $day['ofweek'] = "";
  286. -$day['selected'] = "";
  287. +$day['selected'] = 'class="non_selected"';
  288. array_push( $days, $day );
  289. for( $i = 0 ; $i < 8 ; $i++ ) {
  290. $day['d'] = "".date("d", time() + 24 * 3600 * $i ) . "日";
  291. - $day['link'] = $get_param . "&time=".date( "Ymd", time() + 24 * 3600 * $i) . date("H" , $top_time );
  292. + $day['link'] = $get_param . "&time=".date( "Ymd", time() + 24 * 3600 * $i) . "00";
  293. $day['ofweek'] = $DAY_OF_WEEK[(int)date( "w", time() + 24 * 3600 * $i )];
  294. - $day['selected'] = date("d", $top_time) == date("d", time() + 24 * 3600 * $i ) ? 'class="selected"' : '';
  295. + $day['selected'] = date("d", $top_time) == date("d", time() + 24 * 3600 * $i ) ? 'class="selected2"' : 'class="non_selected"';
  296. array_push( $days, $day );
  297. }
  298. $smarty->assign( "days" , $days );
  299. -
  300. -// 時間選択
  301. -$toptimes = array();
  302. -for( $i = 0 ; $i < 24; $i+=4 ) {
  303. - $tmp = array();
  304. - $tmp['hour'] = sprintf( "%02d:00", $i );
  305. - $tmp['link'] = $get_param . "&time=".date("Ymd", $top_time ) . sprintf("%02d", $i );
  306. - array_push( $toptimes, $tmp );
  307. -}
  308. -$smarty->assign( "toptimes" , $toptimes );
  309. -
  310. $smarty->assign( "tvtimes", $tvtimes );
  311. $smarty->assign( "programs", $programs );
  312. $smarty->assign( "ch_set_width", (int)($settings->ch_set_width) );
  313. @@ -228,14 +224,19 @@
  314. $smarty->assign( "num_ch", $num_ch );
  315. $smarty->assign( "num_all_ch" , count( $channel_map ) );
  316.  
  317. -// date("Y-m-d H:i:s", $timestamp);
  318. +// 端末種(PC/MOBILE)ごとにフォントサイズ設定
  319. +if ($detect->isMobile()) {
  320. + $smarty->assign("base_font_size", MOBILE_BASE_FONT_SIZE);
  321. + $smarty->assign("float_follows_font_size", MOBILE_FLOAT_FOLLOWS_FONT_SIZE);
  322. +} else {
  323. + $smarty->assign("base_font_size", PC_BASE_FONT_SIZE);
  324. + $smarty->assign("float_follows_font_size", PC_FLOAT_FOLLOWS_FONT_SIZE);
  325. +}
  326.  
  327. -$sat_type = array('GR' => '地上デジタル', 'BS' => 'BSデジタル', 'CS' => 'CSデジタル');
  328. +$sat_type = array('GR' => '地上デジ', 'BS' => 'BS', 'CS' => 'CS');
  329. $sitetitle = date( "Y", $top_time ) . "年" . date( "m", $top_time ) . "月" . date( "d", $top_time ) . "日". date( "H", $top_time ) .
  330. "時~".$sat_type[$type]."番組表";
  331. -
  332. $smarty->assign("sitetitle", $sitetitle );
  333. -
  334. $smarty->assign("top_time", str_replace( "-", "/" ,toDatetime($top_time)) );
  335. $smarty->assign("last_time", str_replace( "-", "/" ,toDatetime($last_time)) );
  336.  
  337. diff -urN epgrec.org/js/mdabasic.js epgrec/js/mdabasic.js
  338. --- epgrec.org/js/mdabasic.js 2017-07-22 02:33:25.000000000 +0900
  339. +++ epgrec/js/mdabasic.js 2017-07-20 17:14:40.000000000 +0900
  340. @@ -8,12 +8,12 @@
  341. return n;
  342. },
  343. time4Disp:function(T){
  344. - return '<span class="bold">' + parseInt(T.getMonth() + 1) + '</span><span class="small">月</span>' +
  345. - '<span class="bold">' + T.getDate() + '</span><span class="small">日</span>' +
  346. - '(<span class="bold">' + this.dayStr[T.getDay()] + '</span>) ' + this.time4DispH(T);
  347. + return '<span class="bold2">' + parseInt(T.getMonth() + 1) + '</span><span class="small">月</span>' +
  348. + '<span class="bold2">' + T.getDate() + '</span><span class="small">日</span>' +
  349. + '(<span class="bold2">' + this.dayStr[T.getDay()] + '</span>) ' + this.time4DispH(T);
  350. },
  351. time4DispH:function(T){
  352. - return '<span class="bold">' + this.num2str(T.getHours(),2) + ':' + this.num2str(T.getMinutes(),2) + '</span>'
  353. + return '<span class="bold2">' + this.num2str(T.getHours(),2) + ':' + this.num2str(T.getMinutes(),2) + '</span>'
  354. }
  355. }
  356.  
  357. diff -urN epgrec.org/keywordTable.php epgrec/keywordTable.php
  358. --- epgrec.org/keywordTable.php 2017-07-22 02:33:25.000000000 +0900
  359. +++ epgrec/keywordTable.php 2017-07-23 10:46:45.000000000 +0900
  360. @@ -5,7 +5,9 @@
  361. include_once( INSTALL_PATH . "/reclib.php" );
  362. include_once( INSTALL_PATH . "/Reservation.class.php" );
  363. include_once( INSTALL_PATH . "/Keyword.class.php" );
  364. -// include_once( INSTALL_PATH . "/Settings.class.php" );
  365. +include_once( INSTALL_PATH . "/Rock_define.inc.php" );
  366. +require_once 'Mobile_Detect.php';
  367. +$detect = new Mobile_Detect;
  368.  
  369.  
  370. $weekofdays = array( "月", "火", "水", "木", "金", "土", "日", "なし" );
  371. @@ -42,8 +44,8 @@
  372. $keywords = array();
  373. try {
  374. $recs = Keyword::createRecords(KEYWORD_TBL);
  375. + $arr = array();
  376. foreach( $recs as $rec ) {
  377. - $arr = array();
  378. $arr['id'] = $rec->id;
  379. $arr['keyword'] = $rec->keyword;
  380. $arr['type'] = $rec->type == "*" ? "すべて" : $rec->type;
  381. @@ -61,13 +63,31 @@
  382. else $arr['category'] = 'すべて';
  383.  
  384. $arr['use_regexp'] = $rec->use_regexp;
  385. -
  386. $arr['weekofday'] = $weekofdays["$rec->weekofday"];
  387. -
  388. $arr['prgtime'] = $prgtimes["$rec->prgtime"];
  389. -
  390. $arr['autorec_mode'] = $RECORD_MODE[(int)$rec->autorec_mode]['name'];
  391.  
  392. + if ($arr['keyword'] == "*") {
  393. + $arr['keyword'] = $_POST['k_search'];
  394. + $arr['type'] = $_POST['k_type'] == "*" ? "すべて" : $_POST['k_type'];
  395. +
  396. + if( $_POST['k_station'] ) {
  397. + $crec = new DBRecord(CHANNEL_TBL, "id", $_POST['k_station'] );
  398. + $arr['channel'] = $crec->name;
  399. + }
  400. + else $arr['channel'] = 'すべて';
  401. +
  402. + if( $_POST['k_category'] ) {
  403. + $crec = new DBRecord(CATEGORY_TBL, "id", $_POST['k_category'] );
  404. + $arr['category'] = $crec->name_jp;
  405. + }
  406. + else $arr['category'] = 'すべて';
  407. +
  408. + $arr['use_regext'] = $_POST['k_use_regexp'];
  409. + $arr['weekofday'] = $weekofdays[$_POST['k_weekofday']];
  410. + $arr['prgtime'] = $prgtimes[$_POST['k_prgtime']];
  411. + $arr['autorec_mode'] = $RECORD_MODE[(int)$_POST['autorec_mode']]['name'];
  412. + }
  413. array_push( $keywords, $arr );
  414. }
  415. }
  416. @@ -78,6 +98,16 @@
  417. $smarty = new Smarty();
  418.  
  419. $smarty->assign( "keywords", $keywords );
  420. -$smarty->assign( "sitetitle", "自動録画キーワードの管理" );
  421. +$smarty->assign( "sitetitle", "自動検索予約リスト" );
  422. +
  423. +// 端末種(PC/MOBILE)ごとにフォントサイズ設定
  424. +if ($detect->isMobile()) {
  425. + $smarty->assign("base_font_size", MOBILE_BASE_FONT_SIZE);
  426. + $smarty->assign("float_follows_font_size", MOBILE_FLOAT_FOLLOWS_FONT_SIZE);
  427. +} else {
  428. + $smarty->assign("base_font_size", PC_BASE_FONT_SIZE);
  429. + $smarty->assign("float_follows_font_size", PC_FLOAT_FOLLOWS_FONT_SIZE);
  430. +}
  431. +
  432. $smarty->display( "keywordTable.html" );
  433. -?>
  434. \ No newline at end of file
  435. +?>
  436. diff -urN epgrec.org/logViewer.php epgrec/logViewer.php
  437. --- epgrec.org/logViewer.php 2017-07-22 02:33:25.000000000 +0900
  438. +++ epgrec/logViewer.php 2017-07-23 11:04:09.000000000 +0900
  439. @@ -2,14 +2,26 @@
  440. include_once('config.php');
  441. include_once( INSTALL_PATH . '/DBRecord.class.php' );
  442. include_once( INSTALL_PATH . '/Smarty/Smarty.class.php' );
  443. +include_once( INSTALL_PATH . '/Rock_define.inc.php' );
  444. +require_once 'Mobile_Detect.php';
  445. +$detect = new Mobile_Detect;
  446.  
  447.  
  448. $arr = DBRecord::createRecords( LOG_TBL, " ORDER BY logtime DESC" );
  449.  
  450. $smarty = new Smarty();
  451.  
  452. -$smarty->assign( "sitetitle" , "epgrec動作ログ" );
  453. +$smarty->assign( "sitetitle" , "ログ" );
  454. $smarty->assign( "logs", $arr );
  455.  
  456. +// 端末種(PC/MOBILE)ごとにフォントサイズ設定
  457. +if ($detect->isMobile()) {
  458. + $smarty->assign("base_font_size", MOBILE_BASE_FONT_SIZE);
  459. + $smarty->assign("float_follows_font_size", MOBILE_FLOAT_FOLLOWS_FONT_SIZE);
  460. +}else{
  461. + $smarty->assign("base_font_size", PC_BASE_FONT_SIZE);
  462. + $smarty->assign("float_follows_font_size", PC_FLOAT_FOLLOWS_FONT_SIZE);
  463. +}
  464. +
  465. $smarty->display( "logTable.html" );
  466. -?>
  467. \ No newline at end of file
  468. +?>
  469. diff -urN epgrec.org/programTable.php epgrec/programTable.php
  470. --- epgrec.org/programTable.php 2017-07-22 02:33:25.000000000 +0900
  471. +++ epgrec/programTable.php 2017-07-23 10:40:27.000000000 +0900
  472. @@ -4,6 +4,10 @@
  473. include_once( INSTALL_PATH . '/Smarty/Smarty.class.php' );
  474. include_once( INSTALL_PATH . '/Settings.class.php' );
  475. include_once( INSTALL_PATH . '/Keyword.class.php' );
  476. +include_once( INSTALL_PATH . '/Rock.inc.php' );
  477. +include_once( INSTALL_PATH . '/Rock_define.inc.php' );
  478. +require_once 'Mobile_Detect.php';
  479. +$detect = new Mobile_Detect;
  480.  
  481. $settings = Settings::factory();
  482.  
  483. @@ -63,7 +67,12 @@
  484. $do_keyword = 1;
  485.  
  486. try{
  487. +$no_condition = 0;
  488. +if ($search == "" && $use_regexp == 0 && $type == "*" && $category_id == 0 && $channel_id == 0 && $weekofday == 7 && $prgtime == 24) {
  489. + $no_condition = 1;
  490. +} else {
  491. $precs = Keyword::search( $search, $use_regexp, $type, $category_id, $channel_id, $weekofday, $prgtime );
  492. +}
  493.  
  494. $programs = array();
  495. foreach( $precs as $p ) {
  496. @@ -72,13 +81,17 @@
  497. $arr = array();
  498. $arr['type'] = $p->type;
  499. $arr['station_name'] = $ch->name;
  500. - $arr['starttime'] = $p->starttime;
  501. - $arr['endtime'] = $p->endtime;
  502. - $arr['title'] = $p->title;
  503. + $arr['starttime'] = getStartDateTime($p->starttime);
  504. + $arr['endtime'] = getEndTime($p->endtime);
  505. $arr['description'] = $p->description;
  506. $arr['id'] = $p->id;
  507. $arr['cat'] = $cat->name_en;
  508. $arr['rec'] = DBRecord::countRecords(RESERVE_TBL, "WHERE program_id='".$p->id."'");
  509. + $arr['ut_now'] = time();
  510. + $arr['ut_start'] = strtotime($p->starttime);
  511. + $arr['ut_end'] = strtotime($p->endtime);
  512. + $arr['search_key'] = getSearchKey($p->title);
  513. + $arr['title'] = getSimpleTitle($p->title);
  514.  
  515. array_push( $programs, $arr );
  516. }
  517. @@ -104,7 +117,7 @@
  518. $types[0]['selected'] = $type == "*" ? "selected" : "";
  519. if( $settings->gr_tuners != 0 ) {
  520. $arr = array();
  521. - $arr['name'] = "GR";
  522. + $arr['name'] = "地デジ";
  523. $arr['value'] = "GR";
  524. $arr['selected'] = $type == "GR" ? "selected" : "";
  525. array_push( $types, $arr );
  526. @@ -155,7 +168,7 @@
  527.  
  528.  
  529. $smarty = new Smarty();
  530. - $smarty->assign("sitetitle","番組検索");
  531. + $smarty->assign( "sitetitle","キーワード検索");
  532. $smarty->assign("do_keyword", $do_keyword );
  533. $smarty->assign( "programs", $programs );
  534. $smarty->assign( "cats", $cats );
  535. @@ -175,9 +188,20 @@
  536. $smarty->assign( "autorec_modes", $autorec_modes );
  537. $smarty->assign( "prgtimes", $prgtimes );
  538. $smarty->assign( "prgtime", $prgtime );
  539. + $smarty->assign( "no_condition", $no_condition );
  540. +
  541. + // 端末種(PC/MOBILE)ごとにフォントサイズ設定
  542. + if ($detect->isMobile()) {
  543. + $smarty->assign("base_font_size", MOBILE_BASE_FONT_SIZE);
  544. + $smarty->assign("float_follows_font_size", MOBILE_FLOAT_FOLLOWS_FONT_SIZE);
  545. + } else {
  546. + $smarty->assign("base_font_size", PC_BASE_FONT_SIZE);
  547. + $smarty->assign("float_follows_font_size", PC_FLOAT_FOLLOWS_FONT_SIZE);
  548. + }
  549. +
  550. $smarty->display("programTable.html");
  551. }
  552. catch( exception $e ) {
  553. exit( $e->getMessage() );
  554. }
  555. -?>
  556. \ No newline at end of file
  557. +?>
  558. diff -urN epgrec.org/recordedTable.php epgrec/recordedTable.php
  559. --- epgrec.org/recordedTable.php 2017-07-22 02:33:25.000000000 +0900
  560. +++ epgrec/recordedTable.php 2017-07-23 11:03:01.000000000 +0900
  561. @@ -3,6 +3,10 @@
  562. include_once( INSTALL_PATH . '/DBRecord.class.php' );
  563. include_once( INSTALL_PATH . '/Smarty/Smarty.class.php' );
  564. include_once( INSTALL_PATH . '/Settings.class.php' );
  565. +include_once( INSTALL_PATH . '/Rock.inc.php' );
  566. +include_once( INSTALL_PATH . '/Rock_define.inc.php' );
  567. +require_once 'Mobile_Detect.php';
  568. +$detect = new Mobile_Detect;
  569.  
  570. $settings = Settings::factory();
  571.  
  572. @@ -30,7 +34,11 @@
  573. }
  574. }
  575. if( isset($_POST['category_id'])) {
  576. - if( $_POST['category_id'] != 0 ) {
  577. + if( $_POST['category_id'] == 13 ) {
  578. + $category_id = $_POST['category_id'];
  579. + $options .= " AND (category_id = '13' OR category_id = '14')";
  580. + }
  581. + else if( $_POST['category_id'] != 0 ) {
  582. $category_id = $_POST['category_id'];
  583. $options .= " AND category_id = '".$_POST['category_id']."'";
  584. }
  585. @@ -55,10 +63,16 @@
  586. $arr = array();
  587. $arr['id'] = $r->id;
  588. $arr['station_name'] = $ch->name;
  589. - $arr['starttime'] = $r->starttime;
  590. - $arr['endtime'] = $r->endtime;
  591. +// 開始時間取得
  592. + $arr['starttime'] = getStartDateTime($r->starttime);
  593. + $arr['ut_now'] = time();
  594. + $arr['ut_start'] = strtotime($r->starttime);
  595. + $arr['ut_end'] = strtotime($r->endtime);
  596. + $arr['endtime'] = getEndTime($r->endtime);
  597. $arr['asf'] = "".$settings->install_url."/viewer.php?reserve_id=".$r->id;
  598. - $arr['title'] = htmlspecialchars($r->title,ENT_QUOTES);
  599. + $arr['title'] = getSimpleTitle(htmlspecialchars($r->title,ENT_QUOTES));
  600. +
  601. +
  602. $arr['description'] = htmlspecialchars($r->description,ENT_QUOTES);
  603. $arr['thumb'] = "<img src=\"".$settings->install_url.$settings->thumbs."/".htmlentities($r->path, ENT_QUOTES,"UTF-8").".jpg\" />";
  604. $arr['cat'] = $cat->name_en;
  605. @@ -99,12 +113,21 @@
  606.  
  607.  
  608. $smarty = new Smarty();
  609. - $smarty->assign("sitetitle","録画済一覧");
  610. + $smarty->assign("sitetitle","録画済リスト");
  611. $smarty->assign( "records", $records );
  612. $smarty->assign( "search", $search );
  613. $smarty->assign( "stations", $stations );
  614. $smarty->assign( "cats", $cats );
  615. $smarty->assign( "use_thumbs", $settings->use_thumbs );
  616. +
  617. + // 端末種(PC/MOBILE)ごとにフォントサイズ設定
  618. + if ($detect->isMobile()) {
  619. + $smarty->assign("base_font_size", MOBILE_BASE_FONT_SIZE);
  620. + $smarty->assign("float_follows_font_size", MOBILE_FLOAT_FOLLOWS_FONT_SIZE);
  621. + } else {
  622. + $smarty->assign("base_font_size", PC_BASE_FONT_SIZE);
  623. + $smarty->assign("float_follows_font_size", PC_FLOAT_FOLLOWS_FONT_SIZE);
  624. + }
  625.  
  626. $smarty->display("recordedTable.html");
  627.  
  628. @@ -131,4 +154,4 @@
  629. return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$sz[$factor];
  630. }
  631.  
  632. -?>
  633. \ No newline at end of file
  634. +?>
  635. diff -urN epgrec.org/redirect.php epgrec/redirect.php
  636. --- epgrec.org/redirect.php 1970-01-01 09:00:00.000000000 +0900
  637. +++ epgrec/redirect.php 2017-07-18 21:06:49.000000000 +0900
  638. @@ -0,0 +1,8 @@
  639. +<?php
  640. +$link = "https://movies.yahoo.co.jp/search/?query=";
  641. +if ($_SERVER["QUERY_STRING"] !== "") {
  642. + $link = $link.$_SERVER["QUERY_STRING"];
  643. +}
  644. +header("Location: {$link}");
  645. +exit;
  646. +?>
  647. diff -urN epgrec.org/reservationTable.php epgrec/reservationTable.php
  648. --- epgrec.org/reservationTable.php 2017-07-22 02:33:25.000000000 +0900
  649. +++ epgrec/reservationTable.php 2017-07-23 10:41:16.000000000 +0900
  650. @@ -2,34 +2,72 @@
  651. include_once('config.php');
  652. include_once( INSTALL_PATH . '/DBRecord.class.php' );
  653. include_once( INSTALL_PATH . '/Smarty/Smarty.class.php' );
  654. +include_once( INSTALL_PATH . "/Rock.inc.php" );
  655. +include_once( INSTALL_PATH . "/Rock_define.inc.php" );
  656. +require_once 'Mobile_Detect.php';
  657. +$detect = new Mobile_Detect;
  658.  
  659. try{
  660. $rvs = DBRecord::createRecords(RESERVE_TBL, "WHERE complete='0' ORDER BY starttime ASC" );
  661.  
  662. + $month = 0;
  663. + $day = 0;
  664. + $first_flg = 1;
  665. $reservations = array();
  666. foreach( $rvs as $r ) {
  667. $cat = new DBRecord(CATEGORY_TBL, "id", $r->category_id );
  668. $arr = array();
  669. $arr['id'] = $r->id;
  670. $arr['type'] = $r->type;
  671. - $arr['channel'] = $r->channel;
  672. - $arr['starttime'] = $r->starttime;
  673. - $arr['endtime'] = $r->endtime;
  674. + $ch_tbl = new DBRecord( CHANNEL_TBL, "channel_disc", $r->channel_disc );
  675. + $arr['channel'] = $ch_tbl->name;
  676. + $arr['starttime'] = getStartDateTime($r->starttime);
  677. + $arr['endtime'] = getEndTime($r->endtime);
  678. + $arr['ut_now'] = time();
  679. + $arr['ut_start'] = strtotime($r->starttime);
  680. + $arr['ut_end'] = strtotime($r->endtime);
  681. $arr['mode'] = $RECORD_MODE[$r->mode]['name'];
  682. - $arr['title'] = $r->title;
  683. + $arr['title'] = getSimpleTitle($r->title);
  684. + $arr['search_key'] = getSearchKey($r->title, $r->category_id);
  685. $arr['description'] = $r->description;
  686. $arr['cat'] = $cat->name_en;
  687. $arr['autorec'] = $r->autorec;
  688. +
  689. + // 日付変更チェック
  690. + $arr['change_day'] = 0;
  691. + $date_and_time = split(" ", $r->starttime);
  692. + $start_date = split("-", $date_and_time[0]);
  693. + if ($month != intval($start_date[1]) || $day != intval($start_date[2])) {
  694. + $month = intval($start_date[1]);
  695. + $day = intval($start_date[2]);
  696. + $arr['change_day'] = 1;
  697. + }
  698. + $arr['first_flg'] = $first_flg;
  699. + $arr['month'] = $month;
  700. + $arr['day'] = $day;
  701. + if ($first_flg == 1) {
  702. + $first_flg = 0;
  703. + }
  704.  
  705. array_push( $reservations, $arr );
  706. }
  707.  
  708. $smarty = new Smarty();
  709. - $smarty->assign("sitetitle","録画予約一覧");
  710. + $smarty->assign("sitetitle","予約リスト");
  711. $smarty->assign( "reservations", $reservations );
  712. +
  713. + // 端末種(PC/MOBILE)ごとにフォントサイズ設定
  714. + if ($detect->isMobile()) {
  715. + $smarty->assign("base_font_size", MOBILE_BASE_FONT_SIZE);
  716. + $smarty->assign("float_follows_font_size", MOBILE_FLOAT_FOLLOWS_FONT_SIZE);
  717. + } else {
  718. + $smarty->assign("base_font_size", PC_BASE_FONT_SIZE);
  719. + $smarty->assign("float_follows_font_size", PC_FLOAT_FOLLOWS_FONT_SIZE);
  720. + }
  721. +
  722. $smarty->display("reservationTable.html");
  723. }
  724. catch( exception $e ) {
  725. exit( $e->getMessage() );
  726. }
  727. -?>
  728. \ No newline at end of file
  729. +?>
  730. diff -urN epgrec.org/storeProgram.inc.php epgrec/storeProgram.inc.php
  731. --- epgrec.org/storeProgram.inc.php 2017-07-22 02:33:25.000000000 +0900
  732. +++ epgrec/storeProgram.inc.php 2017-07-23 02:13:54.000000000 +0900
  733. @@ -95,7 +95,8 @@
  734. reclog( "getepg::チャンネルレコード $channel_disc が発見できない", EPGREC_ERROR );
  735. }
  736. if( $channel_rec == null ) continue; // あり得ないことが起きた
  737. - if( $channel_rec->skip == 1 ) continue; // 受信しないチャンネル
  738. +// 全て受信する
  739. +// if( $channel_rec->skip == 1 ) continue; // 受信しないチャンネル
  740.  
  741. $starttime = str_replace(" +0900", '', $program['start'] );
  742. $endtime = str_replace( " +0900", '', $program['stop'] );
  743. diff -urN epgrec.org/templates/envSetting.html epgrec/templates/envSetting.html
  744. --- epgrec.org/templates/envSetting.html 2017-07-22 02:33:25.000000000 +0900
  745. +++ epgrec/templates/envSetting.html 2017-07-18 21:46:37.000000000 +0900
  746. @@ -157,12 +157,13 @@
  747. <tr><td>%SID%</td><td>サービスID</td></tr>
  748. <tr><td>%DOW%</td><td>曜日(英3文字Sun-Mon)</td></tr>
  749. <tr><td>%DOWJ%</td><td>曜日(漢字1字日-土)</td></tr>
  750. - <tr><td>%YEAR%</td><td>開始年</td></tr>
  751. - <tr><td>%MONTH%</td><td>開始月</td></tr>
  752. - <tr><td>%DAY%</td><td>開始日</td></tr>
  753. - <tr><td>%HOUR%</td><td>開始時</td></tr>
  754. - <tr><td>%MIN%</td><td>開始分</td></tr>
  755. - <tr><td>%SEC%</td><td>開始秒</td></tr>
  756. + <tr><td>%YEAR%</td><td>開始年(YYYY)</td></tr>
  757. + <tr><td>%YEAR2%</td><td>開始年(YY)</td></tr>
  758. + <tr><td>%MONTH%</td><td>開始月(MM)</td></tr>
  759. + <tr><td>%DAY%</td><td>開始日(DD)</td></tr>
  760. + <tr><td>%HOUR%</td><td>開始時(hh)</td></tr>
  761. + <tr><td>%MIN%</td><td>開始分(mm)</td></tr>
  762. + <tr><td>%SEC%</td><td>開始秒(ss)</td></tr>
  763. <tr><td>%DURATION%</td><td>録画時間(秒)</td></tr>
  764. </tbody>
  765. </table>
  766. diff -urN epgrec.org/templates/index.html epgrec/templates/index.html
  767. --- epgrec.org/templates/index.html 2017-07-22 02:33:25.000000000 +0900
  768. +++ epgrec/templates/index.html 2017-07-23 11:23:43.000000000 +0900
  769. @@ -6,7 +6,7 @@
  770. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  771. <title>{$sitetitle}</title>
  772. <meta http-equiv="Content-Style-Type" content="text/css">
  773. -
  774. +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=2.0,user-scalable=yes">
  775. {literal}
  776.  
  777. <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
  778. @@ -29,12 +29,6 @@
  779. $(window).resize(function () { tvtimes2scrl();});
  780. function tvtimes2scrl(){
  781. var inwidth = parseInt($('body').innerWidth());
  782. - // IE6
  783. - if ($.browser.msie && $.browser.version == 6){ inwidth = document.documentElement.clientWidth;}
  784. - var newLeft = inwidth - parseInt($('#tvtimes2').width()) + parseInt($( document ).scrollLeft());
  785. - if(newLeft > t2max ) {newLeft = t2max}
  786. - $('#tvtimes2').css('left', newLeft);
  787. - $('#float_follows').width(inwidth);
  788. }
  789. }
  790. function prg_hover(){
  791. @@ -44,16 +38,29 @@
  792. var duration = parseInt(TG.children('.prg_duration').html());
  793. var endTime = new Date(startTime.getTime() + duration * 1000);
  794. var prgID = parseInt(TG.children('.prg_id').html());
  795. + var complate = TG.children('.prg_complate').html();
  796. + var over = TG.children('.prg_over').html();
  797. + var description = TG.children('.prg_desc').html();
  798.  
  799. var str = '<div class="prg_title">' + TG.children('.prg_title').html() +'</div>' +
  800. - '<div class="prg_rec_cfg ui-corner-all"><div class="prg_channel"><span class=" labelLeft">チャンネル:</span><span class="bold">' + TG.children('.prg_channel').html() + '</span></div>' +
  801. - '<div class="prg_startTime" style="clear: left"><span class=" labelLeft">日時:</span>' + MDA.Days.time4Disp(startTime) + ' ~ ' + MDA.Days.time4DispH(endTime) + '</div>' +
  802. - '<div class="prg_duration" style="clear: left"><span class=" labelLeft">録画時間:</span><span class="bold">' + parseInt(duration / 60) +'</span>分' + ((duration % 60)>0?'<span class="bold">' + parseInt(duration % 60) + '</span>秒':'') + '</div>' +
  803. + '<div class="prg_rec_cfg ui-corner-all"><div class="prg_channel"><span class="labelLeft">チャンネル:</span><span class="bold2">' + TG.children('.prg_channel').html() + '</span></div>' +
  804. + '<div class="prg_startTime" style="clear: left"><span class="labelLeft">日時:</span>' + MDA.Days.time4Disp(startTime) + ' ~ ' + MDA.Days.time4DispH(endTime) + '</div>' +
  805. + '<div class="prg_duration" style="clear: left"><span class="labelLeft">録画時間:</span><span class="bold2">' + parseInt(duration / 60) +'</span>分' + ((duration % 60)>0?'<span>' + parseInt(duration % 60) + '</span>秒':'') + '</div>' +
  806. + '<div class="prg_desc" style="clear: left"><span class="labelLeft">番組内容:</span><span class="bold2">' + description + '</span></div>' +
  807. '</div>';
  808. if ($(this).hasClass('prg_rec')) {
  809. - str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.cancel(' + prgID + ')" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">予約キャンセル</a></div>';
  810. + if (complate == 1) {
  811. + str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.dialog_close();" id="cancel_btn" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">キャンセル</a></div>';//</div>';
  812. + } else {
  813. + str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.cancel(' + prgID + ')" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">予約取消</a> <a href="javascript:PRG.dialog_close();" id="cancel_btn" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">キャンセル</a></div>';//</div>';
  814. + }
  815. } else {
  816. - str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.rec(' + prgID + ')" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">簡易予約</a> <a href="javascript:PRG.customform(' + prgID + ')" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">予約カスタマイズ</a></div>';
  817. +// str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.rec(' + prgID + ')" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">簡易予約</a> <a href="javascript:PRG.customform(' + prgID + ')" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">予約カスタマイズ</a></div>';
  818. + if (over == 1) {
  819. + str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.dialog_close();" id="cancel_btn" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">キャンセル</a></div>';
  820. + } else {
  821. + str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.rec(' + prgID + ')" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">録画予約</a> <a href="javascript:PRG.dialog_close();" id="cancel_btn" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">キャンセル</a></div>';
  822. + }
  823. }
  824. $('#floatBox4Dialog').html(str);
  825. $('#floatBox4Dialog').dialog('open', 'center');
  826. @@ -68,17 +75,21 @@
  827. var duration = parseInt(TG.children('.prg_duration').html());
  828. var endTime = new Date(startTime.getTime() + duration * 1000);
  829. var str = '<div class="prg_title">' + TG.children('.prg_title').html() + '</div>' +
  830. - '<div class="prg_desc"><span class="prg_sub">' + TG.children('.prg_channel').html() + ':' + MDA.Days.time4Disp(startTime) + '~' + MDA.Days.time4DispH(endTime) + ' </span>' + TG.children('.prg_desc').html() + '</div>';
  831. - $('#prg_info').html('<div class="prg_dummy">' + str + '</div>').show();
  832. + '<div class="prg_desc"><span class="prg_sub">' + TG.children('.prg_channel').html() + ':' + MDA.Days.time4Disp(startTime) + '~' + MDA.Days.time4DispH(endTime) + ' </span>' + TG.children('.prg_desc').html() + '<br><img src="/imgs/reserve.gif"></div>';
  833. $(this).click(aClick);
  834. },
  835. function(){
  836. - $(this).removeClass('prg_hover');$('#prg_info').hide();
  837. $(this).unbind('click',aClick);
  838. }
  839. );
  840. }
  841. var PRG = {
  842. + dialog_close:function() {
  843. + $('#floatBox4Dialog').dialog('close');
  844. + },
  845. + channel_dialog_close:function() {
  846. + $('#channelDialog').dialog('close');
  847. + },
  848. chdialog:function(chash){
  849. $('#channelDialog').dialog('close');
  850. var skip = $('#ch_title_'+chash+' .ch_skip').html();
  851. @@ -100,9 +111,10 @@
  852. str += '<input type="checkbox" name="n_skip_name" id="id_ch_skip" value="'+skip+'" />';
  853. }
  854. str += '</span></div>';
  855. + str += '<div class="prg_title"><span></span></div>';
  856. // サービスID
  857. str += '<div class="prg_channel"><span class="labelLeft">サービスID:</span>';
  858. - str += '<span><input type="text" name="n_sid" size="20" id="id_sid" value="';
  859. + str += '<span><input type="text" readonly="readonly" name="n_sid" size="20" id="id_sid" value="';
  860. str += sid;
  861. str += '" /></span></div>';
  862.  
  863. @@ -115,8 +127,8 @@
  864.  
  865.  
  866. str += '</form>';
  867. -
  868. - str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.chupdate()" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">更新</a></div>';
  869. +
  870. + str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.chupdate()" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">更新</a> <a href="javascript:PRG.channel_dialog_close();" id="cancel_btn" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">キャンセル</a></div>';
  871.  
  872. $('#channelDialog').html(str);
  873. $('#channelDialog').dialog('open', 'center');
  874. @@ -171,6 +183,7 @@
  875. $('#floatBox4Dialog').dialog('close');
  876. }else{
  877. $('#prgID_' + id).addClass('prg_rec');
  878. + $('#prg_rec_msg_' + id).html('<br>録画予約<br><br>');
  879. $('#floatBox4Dialog').dialog('close');
  880. }
  881. });
  882. @@ -183,6 +196,7 @@
  883. $('#floatBox4Dialog').dialog('close');
  884. }else{
  885. $('#prgID_' + id).removeClass('prg_rec');
  886. + $('#prg_rec_msg_' + id).html('');
  887. $('#floatBox4Dialog').dialog('close');
  888. }
  889. });
  890. @@ -253,9 +267,9 @@
  891. },
  892. F_Skip: 1,
  893. chSkipShow:function() {
  894. - $('#float_titles').width(INISet.num_all_ch * INISet.ch_width + 80);
  895. + $('#float_titles').width(INISet.num_all_ch * INISet.ch_width + 61);
  896. $('#tv_chs').width(INISet.num_all_ch * INISet.ch_width );
  897. - $('#tvtimes2').css( { left: INISet.num_all_ch * INISet.ch_width + 40 } ).show();
  898. + $('#tvtimes2').css( { left: INISet.num_all_ch * INISet.ch_width + 31 } ).show();
  899. tvtimes_scroll();
  900. $('#ch_title_bar div.ch_title_skip').show();
  901. $('#tv_chs div.ch_set_skip').show();
  902. @@ -264,9 +278,9 @@
  903. chSkipHide:function() {
  904. $('#ch_title_bar div.ch_title_skip').hide();
  905. $('#tv_chs div.ch_set_skip').hide();
  906. - $('#float_titles').width( INISet.num_ch * INISet.ch_width + 80 );
  907. + $('#float_titles').width( INISet.num_ch * INISet.ch_width + 61 );
  908. $('#tv_chs').width( INISet.num_ch * INISet.ch_width );
  909. - $('#tvtimes2').css( { left: INISet.num_ch * INISet.ch_width + 40 }).show();
  910. + $('#tvtimes2').css( { left: INISet.num_ch * INISet.ch_width + 31 }).show();
  911. tvtimes_scroll();
  912. nowBar.INI();
  913. },
  914. @@ -329,7 +343,7 @@
  915. $('#tvtable').append('<div id="' + this.defaultID + '" style="display:none">now</div>');
  916. this.startTime = new Date(INISet.tableStartTime);
  917. this.endTime = new Date(INISet.tableEndTime);
  918. - $('#' + this.defaultID).width($('#float_titles').width());
  919. + $('#' + this.defaultID).width($('#float_titles').width() - 4);
  920. this.ch();
  921. }
  922. },
  923. @@ -337,7 +351,6 @@
  924. var now = new Date();
  925. if(this.startTime){
  926. if((now >= this.startTime) && (this.endTime >= now)){
  927. -// console.log((now - this.startTime) / 60000);
  928. $('#' + this.defaultID).css({top:(now - this.startTime) / 60000 * INISet.dotMin}).show()
  929. } else {
  930. $('#' + this.defaultID).hide()
  931. @@ -352,13 +365,11 @@
  932. defaultCk:{md:'',x:0,y:0},
  933. jqSel:[{sel:'#jump-time a.jump',md:'x'},{sel:'#jump-day a.jump',md:'xy'},{sel:'#jump-day a.jump-today',md:'x'},{sel:'#jump-broadcast a.jump',md:'y'}],
  934. INI:function(){
  935. -// this.defaultCk.y = $('#float_titles').position().top;
  936. $.each(this.jqSel, function(){
  937. var md = this.md;
  938. $(this.sel).click(function(){MDA.SCR.oCk(md)})
  939. });
  940. var Ck = this.CkGet();
  941. -// console.log(Ck);
  942. var x = (Ck.md.indexOf('x')>-1)?Ck.x:this.defaultCk.x;
  943. var y = (Ck.md.indexOf('y')>-1)?Ck.y:this.defaultCk.y;
  944. if (Ck.md) {
  945. @@ -409,9 +420,8 @@
  946. DG2.dialog({title:'チャンネル情報',width:480});
  947. DG2.dialog('close');
  948.  
  949. -// PRG.toggle();
  950. -
  951. nowBar.INI();
  952. + setInterval("nowBar.INI()", 60000);
  953. CTG.INI();
  954. MDA.SCR.INI(); // 番組表の位置保存
  955. });
  956. @@ -421,39 +431,57 @@
  957.  
  958. <style type="text/css">
  959. <!--
  960. -body {padding:0;margin:0;font-size:10pt;}
  961. +* {
  962. + word-break: break-all;
  963. + -webkit-text-size-adjust: none;
  964. + -webkit-overflow-scrolling: touch;
  965. + -webkit-touch-callout:none;
  966. + -webkit-user-select:none;
  967. +}
  968. +
  969. +html {
  970. + -webkit-text-size-adjust: none;
  971. + background-color: #888ca0;
  972. + background: #888ca0;
  973. + color: #02262f;
  974. + font-family: HiraKakuProN-W3;
  975. + font-size: 6.25%;
  976. + line-height: 1.25;
  977. +}
  978. +
  979. +body {padding:0;margin:0;font-size:12pt;background-color: #888ca0;}
  980. a {text-decoration:none;}
  981.  
  982. .bold {font-weight:bold;}
  983. .small {font-size:75%;}
  984.  
  985. -h2 {padding: 4px}
  986. +#float_titles {position:absolute;background-color:#888ca0;}
  987.  
  988. -#float_titles {position:absolute;background-image: url(imgs/trancBG50.png);}
  989. -
  990. -#float_titles div.set.ctg_sel {background-color:#BBB;color:#3CF}
  991. +#float_titles div.set.ctg_sel {background-color:#bbb;color:#3CF}
  992. #float_titles .ctg_sel a{color:#111;}
  993.  
  994. -#float_titles div.set {float:left;background-color:#444;padding:4px;margin:4px;}
  995. +#float_titles div.set {float:left;background-color:#888ca0;padding:0px;margin:5px;}
  996. #float_titles span.title {float:left;color:#ACF;}
  997. -#float_titles ul {float:left;padding:0;margin:0;}
  998. -#float_titles ul li {float:left;list-style:none;margin:0 0 0 4px;}
  999. -#float_titles li a{padding:1px 4px;background-color:#555;color:#FFF;}
  1000. -#float_titles li.selected a{background-color:#48B;}
  1001. -#float_titles li a:hover{background-color:#28D;}
  1002. +#float_titles ul {float:left;padding:0px;margin:0px;}
  1003. +#float_titles ul li {float:left;list-style:none;margin:5px 2px 0px 0px; }
  1004. +#float_titles li a{padding:6px 10px;background-color:#8696c0;color:#e8e8ec;border: 1px solid #505080;}
  1005. +#float_titles li.selected a{background-color:#c6d8fe; font-weight:bold; color:#444;}
  1006. +#float_titles li.non_selected a{background-color:#b2b4c0; font-weight:bold; color:#444;}
  1007. +#float_titles li.selected2 a{background-color:#ffffff; font-weight:bold; color:#000;}
  1008.  
  1009. #float_titles, #tvtable {}
  1010. #tvtable {line-height:1.2em;width:100%;position:relative;}
  1011. -#tvtimes,#tvtimes2 {position:absolute; background-image: url(imgs/trancBG70.png);}
  1012. -#tvtimes,#tvtimes2, .tvtimeDM {width:40px;}
  1013. -#tv_chs {padding-left:40px;padding-right:40px;}
  1014. +#tvtimes,#tvtimes2 {position:absolute; background-color: #d4d6e0; font-size: 12px;}
  1015. +#tvtimes,#tvtimes2, .tvtimeDM {width:30px;}
  1016. +#tv_chs {padding-left:30px;padding-right:30px;}
  1017. .tvtime {
  1018. height:{/literal}{$height_per_hour}{literal}px;
  1019. - color:#EEE;
  1020. + color:#444;
  1021. text-align:center;
  1022. font-weight:bold;
  1023. + font-size: 9px;
  1024. font-size:120%;
  1025. - background-image: url(imgs/dot2.gif);
  1026. + border-bottom: 1px solid #888ca0;
  1027. background-repeat: repeat-x;
  1028. background-position: left bottom;
  1029. }
  1030. @@ -477,43 +505,48 @@
  1031. #tvtable div.prg {
  1032. overflow:hidden;
  1033. color:#444;
  1034. - background-image: url(imgs/dot2.gif);
  1035. - background-image: url(imgs/prg_bg2.png);
  1036. background-repeat: repeat-x;
  1037. background-position: left bottom;
  1038. - -moz-border-radius: 0.6em 0.6em 0.3em 0.3em;
  1039. - -webkit-border-radius: 0.6em;
  1040. - -webkit-border-bottom-right-radius: 0.3em;
  1041. - -webkit-border-bottom-left-radius: 0.3em;
  1042. + margin: 0px;
  1043. + padding: 0px;
  1044. + border-left: 1px solid #888ca0;
  1045. + border-bottom: 1px solid #888ca0;
  1046. }
  1047. -#tvtable div.prg_none {background-color:#eee;}
  1048. +#tvtable div.prg_none {background-color:#aaaaaa;}
  1049. #tvtable div.prg_dummy {margin:3px 6px;}
  1050. -#tvtable div.prg_title {color:#111;font-weight:bold;}
  1051. -#tvtable div.prg_subtitle {font-size:80%;}
  1052. -#tvtable div.prg_desc {font-size:80%;}
  1053. +#tvtable div.prg_title {color:#5068d4;font-weight:bold;text-decoration: underline;line-height: 1.5;}
  1054. +#tvtable div.prg_subtitle {color:#444;font-weight:bold;margin-bottom:4px;}
  1055. +#tvtable div.prg_desc {font-size:85%; color:#444; margin-top: 5px;line-height: 1.5;}
  1056. +#float_titles.* {font-size:14px;}
  1057.  
  1058. #tvtable div.prg_start,#tvtable div.prg_duration,#tvtable div.prg_channel ,#tvtable div.prg_id {display: none;}
  1059.  
  1060. -#tvtable div.ctg_news, #category_select a.ctg_news {background-color: #FFFFD8;}
  1061. -#tvtable div.ctg_etc, #category_select a.ctg_etc {background-color: #FFFFFF;}
  1062. -#tvtable div.ctg_information, #category_select a.ctg_information {background-color: #F2D8FF;}
  1063. -#tvtable div.ctg_sports, #category_select a.ctg_sports {background-color: #D8FFFF;}
  1064. -#tvtable div.ctg_cinema, #category_select a.ctg_cinema {background-color: #FFD8D8;}
  1065. -#tvtable div.ctg_music, #category_select a.ctg_music {background-color: #D8D8FF;}
  1066. -#tvtable div.ctg_drama, #category_select a.ctg_drama {background-color: #D8FFD8;}
  1067. -#tvtable div.ctg_anime, #category_select a.ctg_anime {background-color: #FFE4C8;}
  1068. -#tvtable div.ctg_variety, #category_select a.ctg_variety {background-color: #FFD2EB;}
  1069. -#tvtable div.ctg_10, #category_select a.ctg_10 {background-color: #E4F4F4;}
  1070. +#tvtable div.ctg_news, #category_select a.ctg_news {background-color: #d4ffc8;}
  1071. +#tvtable div.ctg_etc, #category_select a.ctg_etc {background-color: #ccfcf4;}
  1072. +#tvtable div.ctg_information, #category_select a.ctg_information {background-color: #f0f0f0;}
  1073. +#tvtable div.ctg_sports, #category_select a.ctg_sports {background-color: #ffccef;}
  1074. +#tvtable div.ctg_cinema, #category_select a.ctg_cinema {background-color: #ccfcf4;}
  1075. +#tvtable div.ctg_music, #category_select a.ctg_music {background-color: #b6f2ff;}
  1076. +#tvtable div.ctg_drama, #category_select a.ctg_drama {background-color: #ffbbbb;}
  1077. +#tvtable div.ctg_anime, #category_select a.ctg_anime {background-color: #dcddff;}
  1078. +#tvtable div.ctg_variety, #category_select a.ctg_variety {background-color: #faffb0;}
  1079. +#tvtable div.ctg_documentary, #category_select a.ctg_documentary {background-color: #f0f0f0;}
  1080. +#tvtable div.ctg_hobby, #category_select a.ctg_hobby {background-color: #f8f8ff;}
  1081. +#tvtable div.ctg_stage, #category_select a.ctg_stage {background-color: #e0f0f9;}
  1082. +#tvtable div.ctg_welfare, #category_select a.ctg_welfare {background-color: #e0e0e0;}
  1083. +#tvtable div.ctg_10, #category_select a.ctg_10 {background-color: #f0f0f0;}
  1084. #tvtable div.ctg-hide, #category_select a.ctg-hide {background-color: #F8F8F8;color:#888;}
  1085. #tvtable div.ctg-hide .prg_title, #category_select a.ctg-hide .prg_title{color:#666;}
  1086. -#tvtable div.prg_rec {background-color: #F55;color:#FEE}
  1087. -#tvtable div.prg_rec .prg_title,#tvtable div.prg_hover .prg_title {color:white;}
  1088. -#tvtable div.prg_hover {background-color: #28D;color:#EFF}
  1089. +#tvtable div.prg_rec {background-color: #ff7080;color:#333}
  1090. +#tvtable div.prg_rec .prg_title,#tvtable .prg_title {color:#2840d4;}
  1091. +#tvtable div.prg_rec_msg {font-weight:bold; text-align:center;}
  1092. +.ctg_over {background-color: #aaaaaa;}
  1093. +#jump-time { display: none; }
  1094. +.ctg_sel { display: none; }
  1095.  
  1096. #float_titles { z-index:100}
  1097. #float_titles div.ch_title {width:{/literal}{$ch_set_width}{literal}px;float:left;color:#FFF;font-weight:bold;text-align:center}
  1098. -#float_titles div.ch_title div{padding:8px 0px;margin:0 6px 0 4px;background-image: url(imgs/trancBG50.png);}
  1099. -
  1100. +#float_titles div.ch_title div{padding:8px 0px;margin:0 0px 0 0px;background-color: #f8f9fa; color: #484850;border-left: 1px solid #888ca0;border-bottom: 1px solid #888ca0;}
  1101.  
  1102. #float_follows {position:absolute;}
  1103. #prg_info {
  1104. @@ -529,7 +562,7 @@
  1105. #prg_info div.prg_title {font-weight:bold;font-size:120%;color:#FFF;}
  1106. #prg_info span.prg_sub {color:#FFF;}
  1107.  
  1108. -#tableNowBas {position:absolute;background:red;width:100%;top:190px;height:2px;overflow:hidden;}
  1109. +#tableNowBas {position:absolute;width:100%;top:190px;height:0px;overflow:hidden; border: 2px dashed #ff5555; opacity: 0.5;}
  1110.  
  1111.  
  1112. #floatBox4Dialog .prg_title{font-size:120%;font-weight:bold;padding:0.4em 0;text-align:center;}
  1113. @@ -542,7 +575,6 @@
  1114. #channelDialog .prg_rec_cfg{background:#EEE;padding:1em 2em;margin:0.4em 0;}
  1115. #channelDialog .labelLeft {width:8em;float:left;text-align:right;}
  1116. #channelDialog .button {padding:0.4em 1em;}
  1117. -
  1118. -->
  1119. </style>
  1120.  
  1121. @@ -552,21 +584,13 @@
  1122.  
  1123. </head>
  1124.  
  1125. -<body>
  1126. -
  1127. -<h2>{$sitetitle}</h2>
  1128. -
  1129. -
  1130. -<div id="float_titles" style="width: {math equation="x + 80" x=$chs_width}px;height:120px;">
  1131. -<div id="float_follows">
  1132. -
  1133. -<div class="set">
  1134. - <ul>
  1135. - <li><a href="envSetting.php">環境設定</a></li>
  1136. - </ul>
  1137. -</div>
  1138. +<body style="font-size:{$base_font_size}pt">
  1139.  
  1140. +<div id="float_titles" style="width: {math equation="x + 61" x=$chs_width}px;height:120px;">
  1141. +<div id="float_follows" style="font-size: {$float_follows_font_size}px;">
  1142. +<!-- upper -->
  1143. <div class="set ctg_sel" id="category_select">
  1144. + <!--強調表示はcssで非表示に -->
  1145. <span class="title"><a href="javascript:CTG.toggle()">強調表示</a></span>
  1146.  
  1147. <ul>
  1148. @@ -576,56 +600,51 @@
  1149. </ul>
  1150. </div>
  1151.  
  1152. +<div class="set">
  1153. + <ul>
  1154. + <li class="selected"><a href="#">番組表</a></li>
  1155. + <li><a href="reservationTable.php">予約リスト</a></li>
  1156. + <li><a href="programTable.php">キーワード検索</a></li>
  1157. + <li><a href="keywordTable.php">自動検索予約リスト</a></li>
  1158. + <li><a href="recordedTable.php">録画済リスト</a></li>
  1159. + <li><a href="logViewer.php">ログ</a></li>
  1160. + <li><a href="envSetting.php">設定</a></li>
  1161. + </ul>
  1162. +</div>
  1163. +<!-- upper end -->
  1164. +
  1165. +<br style="clear:left;" />
  1166. +
  1167. +<!-- lower start -->
  1168. <div id="time_selects">
  1169. + <!-- 放送波選択-->
  1170. <div class="set" id="jump-broadcast" >
  1171. - <span class="title">放送波選択</span>
  1172. <ul>
  1173. {foreach from=$types item=type}
  1174. - <li {$type.selected}><a class="jump" href="{$type.link}">{$type.name}</a></li>
  1175. + <li {$type.selected}><a class="jump2" href="{$type.link}">{$type.name}</a></li>
  1176. {/foreach}
  1177. - </ul><br style="clear:left;" />
  1178. - </div>
  1179. -
  1180. - <div class="set" id="jump-time">
  1181. - <span class="title">時間</span>
  1182. - <ul>
  1183. - {foreach from=$toptimes item=top}
  1184. - <li><a class="jump" href="{$top.link}">{$top.hour}~</a></li>
  1185. - {/foreach}
  1186. - </ul><br style="clear:left;" />
  1187. - </div>
  1188. -
  1189. - <div class="set">
  1190. - <ul><li><a class="jump" href="javascript:PRG.toggle()">チャンネル表示</a></li></ul>
  1191. + </ul>
  1192. </div>
  1193. -
  1194. - <br style="clear:left;" />
  1195. -
  1196. <div class="set">
  1197. - <ul>
  1198. - <li><a href="programTable.php">番組検索</a></li>
  1199. - <li><a href="reservationTable.php">録画予約一覧</a></li>
  1200. - <li><a href="recordedTable.php">録画済一覧</a></li>
  1201. - </ul>
  1202. + <ul><li><a class="jump" href="javascript:PRG.toggle()" style="background-color:#d4d6e0; color: #444; font-weight: bold;">表示切替</a></li></ul>
  1203. </div>
  1204.  
  1205. + <!-- 日付 -->
  1206. <div class="set" id="jump-day" >
  1207. - <span class="title">日付</span>
  1208. <ul>
  1209. {foreach from=$days item=day}
  1210. - <li {$day.selected}><a {if $day.d eq "現在"} class="jump-today" {else} class="jump" {/if} href="{$day.link}">{$day.d}{$day.ofweek}</a></li>
  1211. + <li {$day.selected}><a {if $day.d eq "今の時間"} class="jump-today" {else} class="jump2" {/if} href="{$day.link}">{$day.d}{$day.ofweek}</a></li>
  1212. {/foreach}
  1213. </ul><br style="clear:left;" />
  1214. </div>
  1215. -
  1216. -
  1217. </div>
  1218. +
  1219. <br style="clear:left;" />
  1220. <div id="prg_info"><div class="dummy">test</div></div>
  1221. </div>
  1222.  
  1223.  
  1224. -<!-- チャンネル局名 -->
  1225. +<!-- チャンネル局名ヘッダー -->
  1226. <div id="ch_title_bar" style="position:absolute;bottom:0;">
  1227. <div class="tvtimeDM" style="float:left;">&nbsp;</div>
  1228. {foreach from=$programs item=program}{if isset($program.ch_hash)}
  1229. @@ -635,7 +654,7 @@
  1230. <div class="ch_skip">{$program.skip}</div>
  1231. <div class="ch_sid">{$program.sid}</div>
  1232. <div class="ch_name">{$program.station_name}</div>
  1233. - <div id="ch_title_str_{$program.ch_hash}" {if $program.skip == 1}class="ch_skip_color" {/if} style="cursor: pointer;" onClick="javascript:PRG.chdialog('{$program.ch_hash}')" >{$program.station_name}</div>
  1234. + <div style="font-size: 90%;" id="ch_title_str_{$program.ch_hash}" {if $program.skip == 1}class="ch_skip_color" {/if} style="cursor: pointer;" onClick="javascript:PRG.chdialog('{$program.ch_hash}')" >{$program.station_name}</div>
  1235. </div>
  1236. {else}
  1237. <div class="ch_title"><div style="font-style:italic">no epg</div></div>
  1238. @@ -648,12 +667,10 @@
  1239.  
  1240. <div id="float_titles_dummy" style="width:1410px;height:120px;">&nbsp;</div>
  1241.  
  1242. -
  1243. <div id="tvtable">
  1244. -
  1245. <div id="tvtimes">
  1246. {foreach from=$tvtimes item=time}
  1247. - <div class="tvtime">{$time}</div>
  1248. + <div class="tvtime"><br>{$time}<br>時</div>
  1249. {/foreach}
  1250. </div>
  1251.  
  1252. @@ -664,36 +681,41 @@
  1253. {else}
  1254. <div class="ch_set"><div class="ch_programs">
  1255. {/if}{foreach from=$program.list item=item}{if isset($item.id)}
  1256. - <div {if $item.id}id="prgID_{$item.id}"{/if} class="prg {if ! $item.id}prg_none {/if} ctg_{$item.category_name}{if $item.rec gt 0} prg_rec{/if}" style="height:{$item.height}px;">
  1257. + <div {if $item.id}id="prgID_{$item.id}"{/if} class="prg {if ! $item.id}prg_none {/if} ctg_{if $item.over == 1}over{else}{$item.category_name}{/if}{if $item.rec gt 0 || $item.complate} prg_rec{/if}" style="height:{$item.height}px;">
  1258. <div class="prg_dummy">
  1259. - <div class="prg_title">{$item.title|escape}</div>
  1260. <div class="prg_subtitle">{$item.starttime}</div>
  1261. - <div class="prg_desc">{$item.description|escape}</div>
  1262. - <div class="prg_channel">{$item.channel}</div>
  1263. + <div class="prg_rec_msg" id="prg_rec_msg_{$item.id}">{if $item.rec gt 0 || $item.complate gt 0}{if $item.ut_start < $item.ut_now && $item.ut_now < $item.ut_end && $item.complate == 0}<br>録画中<br><br>{else if $item.complate > 0}<br>録画終了<br><br>{else}<br>録画予約<br><br>{/if}{/if}</div>
  1264. + <div class="prg_title">{$item.title|escape}</div>
  1265. + <div class="prg_desc" style="{if $item.duration < 30*60}display: none;{/if}">{$item.description|escape}</div>
  1266. + <div>{if $item.ut_now < $item.ut_end}<img src="/imgs/reserve.gif" style="margin-top: 6px;">{/if}</div>
  1267. + <!--<div class="prg_channel">{$item.channel}</div>-->
  1268. + <div class="prg_channel">{$item.station_name}</div>
  1269. <div class="prg_start">{$item.prg_start}</div>
  1270. <div class="prg_duration">{$item.duration}</div>
  1271. + <div class="prg_complate" style="display: none;">{$item.complate}</div>
  1272. + <div class="prg_over" style="display: none;">{$item.over}</div>
  1273. <div class="prg_id">{$item.id}</div>
  1274. </div>
  1275. </div>
  1276. {else}
  1277. - <div class="prg prg_none ctg_none"{if isset($item.height)} style="height:{$item.height}px;"{/if}><div class="prg_dummy"><div class="prg_title">&nbsp;</div></div></div>
  1278. + <div class="prg prg_none ctg_none"{if isset($item.height)} style="height:{$item.height}px;"{/if}><div class="prg_dummy"><div class="prg_title"></div></div></div>
  1279. {/if}{/foreach}
  1280. </div>
  1281. </div>
  1282. {/foreach}
  1283. </div>
  1284.  
  1285. - <div id="tvtimes2" style="top : 0px; left: {math equation="x + 40" x=$chs_width}px" >
  1286. + <div id="tvtimes2" style="top : 0px; left: {math equation="x + 31" x=$chs_width}px" >
  1287. {foreach from=$tvtimes item=time}
  1288. - <div class="tvtime">{$time}</div>
  1289. + <div class="tvtime"><br>{$time}<br>時</div>
  1290. {/foreach}
  1291. </div>
  1292. </div>
  1293.  
  1294.  
  1295.  
  1296. -<div id="floatBox4Dialog">jQuery UI Dialog</div>
  1297. -<div id="channelDialog">jQuery UI Dialog</div>
  1298. +<div id="floatBox4Dialog"></div>
  1299. +<div id="channelDialog"></div>
  1300.  
  1301. {literal}
  1302. <script type="text/javascript">
  1303. diff -urN epgrec.org/templates/keywordTable.html epgrec/templates/keywordTable.html
  1304. --- epgrec.org/templates/keywordTable.html 2017-07-22 02:33:25.000000000 +0900
  1305. +++ epgrec/templates/keywordTable.html 2017-07-23 02:06:17.000000000 +0900
  1306. @@ -4,7 +4,8 @@
  1307. <html>
  1308. <head>
  1309. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  1310. -<title>{$sitetitle}</title>
  1311. +<title>{$sitetitle}/{$kw}</title>
  1312. +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=2.0,user-scalable=yes">
  1313. <meta http-equiv="Content-Style-Type" content="text/css">
  1314.  
  1315. {literal}
  1316. @@ -24,91 +25,146 @@
  1317. </script>
  1318. <style type="text/css">
  1319. <!--
  1320. -body {padding:4px;margin:0;font-size:10pt;}
  1321. +* {
  1322. + word-break: break-all;
  1323. + -webkit-text-size-adjust: none;
  1324. + -webkit-overflow-scrolling: touch;
  1325. + -webkit-touch-callout:none;
  1326. + -webkit-user-select:none;
  1327. +}
  1328. +
  1329. +html {
  1330. + -webkit-text-size-adjust: none;
  1331. + background-color: #888ca0;
  1332. + background: #888ca0;
  1333. + color: #02262f;
  1334. + font-family: HiraKakuProN-W3;
  1335. + font-size: 6.25%;
  1336. + line-height: 1.25;
  1337. +}
  1338. +body {padding:0px;margin:0;font-size:12pt;background-color: #888ca0;}
  1339. a {text-decoration:none;}
  1340.  
  1341. table#reservation_table {
  1342. - width: 800px;
  1343. + font-size: 95%;
  1344. border: 1px #BBB solid;
  1345. border-collapse: collapse;
  1346. border-spacing: 0;
  1347. }
  1348.  
  1349. table#reservation_table th {
  1350. - padding: 5px;
  1351. - border: #E3E3E3 solid;
  1352. - border-width: 0 0 1px 1px;
  1353. - background: #BBB;
  1354. + padding:5px;
  1355. + border: #BBB solid;
  1356. + border-width: 1px 1px 1px 1px;
  1357. + background: #70c69a;
  1358. + color: #fff;
  1359. font-weight: bold;
  1360. line-height: 120%;
  1361. text-align: center;
  1362. }
  1363. table#reservation_table td {
  1364. - padding: 5px;
  1365. + padding-top: 15px;
  1366. + padding-bottom: 15px;
  1367. + padding-left: 5px;
  1368. + padding-right: 5px;
  1369. border: 1px #BBB solid;
  1370. border-width: 0 0 1px 1px;
  1371. text-align: center;
  1372. }
  1373. +table#reservation_table tr:nth-child(2n) {
  1374. + background: #f0f0f8;
  1375. +}
  1376. +table#reservation_table tr:nth-child(2n+1) {
  1377. + background: #f8f8ff;
  1378. +}
  1379. +input[type="submit"] {
  1380. + background-image: linear-gradient(0deg, #a7d9f5, #eaf6fd);
  1381. + border: 1px solid #3c7fb1;
  1382. + border-radius: 0.3em;
  1383. +}
  1384. +input[type="button"] {
  1385. + background-image: linear-gradient(0deg, #a7d9f5, #eaf6fd);
  1386. + border: 1px solid #3c7fb1;
  1387. + border-radius: 0.3em;
  1388. +}
  1389.  
  1390. -table#reservation_table tr.ctg_news, #category_select a.ctg_news {background-color: #FFFFD8;}
  1391. -table#reservation_table tr.ctg_etc, #category_select a.ctg_etc {background-color: #FFFFFF;}
  1392. -table#reservation_table tr.ctg_information, #category_select a.ctg_information {background-color: #F2D8FF;}
  1393. -table#reservation_table tr.ctg_sports, #category_select a.ctg_sports {background-color: #D8FFFF;}
  1394. -table#reservation_table tr.ctg_cinema, #category_select a.ctg_cinema {background-color: #FFD8D8;}
  1395. -table#reservation_table tr.ctg_music, #category_select a.ctg_music {background-color: #D8D8FF;}
  1396. -table#reservation_table tr.ctg_drama, #category_select a.ctg_drama {background-color: #D8FFD8;}
  1397. -table#reservation_table tr.ctg_anime, #category_select a.ctg_anime {background-color: #FFE4C8;}
  1398. -table#reservation_table tr.ctg_variety, #category_select a.ctg_variety {background-color: #FFD2EB;}
  1399. -table#reservation_table tr.ctg_10, #category_select a.ctg_10 {background-color: #E4F4F4;}
  1400. -table#reservation_table tr.prg_rec {background-color: #F55;color:#FEE}
  1401.  
  1402. +#float_titles div.set {float:left;background-color:#888ca0;padding:0px;margin:5px;}
  1403. +#float_titles ul {float:left;padding:0px;margin:0px;}
  1404. +#float_titles ul li {float:left;list-style:none;margin:5px 2px 0px 0px; }
  1405. +#float_titles li a{padding:6px 10px;background-color:#8696c0;color:#e8e8ec;border: 1px solid #505080;}
  1406. +#float_titles li.selected a{background-color:#c6d8fe; font-weight:bold; color:#444;}
  1407. +
  1408. +table {
  1409. + background-color:#ececf0;
  1410. + margin-top: 10px;
  1411. + margin-left: 10px;
  1412. + margin-bottom: 10px;
  1413. + padding:10px;
  1414. +}
  1415. +tr {
  1416. + padding: 0px;
  1417. + border: 1px solid #bbb;
  1418. +}
  1419. +td {
  1420. + padding: 0px;
  1421. +}
  1422.  
  1423. +.mode {display: none;}
  1424. -->
  1425. </style>
  1426. {/literal}
  1427.  
  1428. </head>
  1429.  
  1430. -<body>
  1431. -
  1432. -<h2>{$sitetitle}</h2>
  1433. -
  1434. -
  1435. -<div><a href="programTable.php">番組検索へ</a>/<a href="reservationTable.php">予約一覧へ</a></div>
  1436. +<body style="font-size:{$base_font_size}pt">
  1437.  
  1438. +<div id="float_titles" style="font-size: {$float_follows_font_size}px;">
  1439. + <div class="set">
  1440. + <ul>
  1441. + <li><a href="/">番組表</a></li>
  1442. + <li><a href="reservationTable.php">予約リスト</a></li>
  1443. + <li><a href="programTable.php">キーワード検索</a></li>
  1444. + <li class="selected"><a href="keywordTable.php">自動検索予約リスト</a></li>
  1445. + <li><a href="recordedTable.php">録画済リスト</a></li>
  1446. + <li><a href="logViewer.php">ログ</a></li>
  1447. + <li><a href="envSetting.php">設定</a></li>
  1448. + </ul>
  1449. + </div>
  1450. +</div>
  1451. +<br style="clear:left;">
  1452. +<br>
  1453.  
  1454. {if count($keywords)}
  1455. <table id="reservation_table">
  1456. <tr>
  1457. - <th>id</th>
  1458. + <th>自動<br>ID</th>
  1459. <th>検索語句</th>
  1460. - <th>正規表現</th>
  1461. + <th>正規<br>表現</th>
  1462. <th>種別</th>
  1463. - <th>局</th>
  1464. + <th>チャンネル</th>
  1465. <th>カテゴリ</th>
  1466. <th>曜日</th>
  1467. <th>開始時</ht>
  1468. - <th>録画モード</th>
  1469. <th>削除</th>
  1470. </tr>
  1471.  
  1472. {foreach from=$keywords item=keyword}
  1473. <tr id="keyid_{$keyword.id}">
  1474. - <td><a href="recordedTable.php?key={$keyword.id}">{$keyword.id}</a></td>
  1475. - <td><a href="recordedTable.php?key={$keyword.id}">{$keyword.keyword|escape}</a></td>
  1476. - <td>{if $keyword.use_regexp}使う{else}使わない{/if}</td>
  1477. - <td>{$keyword.type}</td>
  1478. - <td>{$keyword.channel}</td>
  1479. - <td>{$keyword.category}</td>
  1480. - <td>{$keyword.weekofday}</td>
  1481. - <td>{$keyword.prgtime}</td>
  1482. - <td>{$keyword.autorec_mode}</td>
  1483. - <td><input type="button" value="削除" onClick="javascript:PRG.delkey('{$keyword.id}')" /></td>
  1484. + <td style="vertical-align: top; min-width: 60px;"><a href="recordedTable.php?key={$keyword.id}">{$keyword.id}</a></td>
  1485. + <td style="vertical-align: top; text-align:left; width: 350px;"><a href="recordedTable.php?key={$keyword.id}" style="color:#5068d4;text-decoration: underline;">{$keyword.keyword|escape}</a></td>
  1486. + <td style="vertical-align: top; min-width: 80px;">{if $keyword.use_regexp}使う{else}使わない{/if}</td>
  1487. + <td style="vertical-align: top; min-width: 80px;">{$keyword.type}</td>
  1488. + <td style="vertical-align: top; text-align:left; width: 170px;">{$keyword.channel}</td>
  1489. + <td style="vertical-align: top; text-align:left; width: 150px;">{$keyword.category}</td>
  1490. + <td style="vertical-align: top; min-width: 60px;">{$keyword.weekofday}</td>
  1491. + <td style="vertical-align: top; min-width: 80px;">{$keyword.prgtime}</td>
  1492. + <td style="min-width: 60px;"><input type="button" value="削除" onClick="javascript:PRG.delkey('{$keyword.id}')" /></td>
  1493. </tr>
  1494. {/foreach}
  1495. </table>
  1496. {else}
  1497. - キーワードはありません
  1498. + <div style="margin-left: 30px; margin-top: 30px;">キーワードはありません</div>
  1499. {/if}
  1500.  
  1501.  
  1502. diff -urN epgrec.org/templates/logTable.html epgrec/templates/logTable.html
  1503. --- epgrec.org/templates/logTable.html 2017-07-22 02:33:25.000000000 +0900
  1504. +++ epgrec/templates/logTable.html 2017-07-23 02:06:45.000000000 +0900
  1505. @@ -4,17 +4,37 @@
  1506. <html>
  1507. <head>
  1508. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  1509. +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=2.0,user-scalable=yes">
  1510. <title>{$sitetitle}</title>
  1511. <meta http-equiv="Content-Style-Type" content="text/css">
  1512. +<meta http-equiv="Content-Style-Type" content="text/css">
  1513.  
  1514. {literal}
  1515. <style type="text/css">
  1516. <!--
  1517. -body {padding:4px;margin:0;font-size:10pt;}
  1518. +* {
  1519. + word-break: break-all;
  1520. + -webkit-text-size-adjust: none;
  1521. + -webkit-overflow-scrolling: touch;
  1522. + -webkit-touch-callout:none;
  1523. + -webkit-user-select:none;
  1524. +}
  1525. +
  1526. +html {
  1527. + -webkit-text-size-adjust: none;
  1528. + background-color: #888ca0;
  1529. + background: #888ca0;
  1530. + color: #02262f;
  1531. + font-family: HiraKakuProN-W3;
  1532. + font-size: 6.25%;
  1533. + line-height: 1.25;
  1534. +}
  1535. +
  1536. +body {padding:0;margin:0;font-size:12pt;background-color: #888ca0;}
  1537. a {text-decoration:none;}
  1538.  
  1539. table#log_table {
  1540. - width: 800px;
  1541. + font-size: 95%;
  1542. border: 1px #BBB solid;
  1543. border-collapse: collapse;
  1544. border-spacing: 0;
  1545. @@ -22,54 +42,118 @@
  1546.  
  1547. table#log_table th {
  1548. padding: 5px;
  1549. - border: #E3E3E3 solid;
  1550. - border-width: 0 0 1px 1px;
  1551. - background: #BBB;
  1552. + border: #BBB solid;
  1553. + border-width: 1px 1px 1px 1px;
  1554. + background: #6060a0;
  1555. + color: #fff;
  1556. font-weight: bold;
  1557. line-height: 120%;
  1558. text-align: center;
  1559. }
  1560. table#log_table td {
  1561. - padding: 5px;
  1562. + padding-top: 15px;
  1563. + padding-bottom: 15px;
  1564. + padding-left: 5px;
  1565. + padding-right: 5px;
  1566. border: 1px #BBB solid;
  1567. border-width: 0 0 1px 1px;
  1568. - text-align: center;
  1569. + text-align: left;
  1570. }
  1571.  
  1572. -table#log_table td.errorlevel0 {background-color: #FFFFFF;}
  1573. +table#log_table td.errorlevel0 {background-color: #e0e0e0;}
  1574. table#log_table td.errorlevel1 {background-color: yellow;}
  1575. table#log_table td.errorlevel2 {background-color: red;}
  1576.  
  1577. +table#reservation_table tr:nth-child(2n) {
  1578. + background: #f0f0f8;
  1579. +}
  1580. +table#reservation_table tr:nth-child(2n+1) {
  1581. + background: #f8f8ff;
  1582. +}
  1583. +input[type="submit"] {
  1584. + background-image: linear-gradient(0deg, #a7d9f5, #eaf6fd);
  1585. + border: 1px solid #3c7fb1;
  1586. + border-radius: 0.3em;
  1587. +}
  1588. +input[type="button"] {
  1589. + background-image: linear-gradient(0deg, #a7d9f5, #eaf6fd);
  1590. + border: 1px solid #3c7fb1;
  1591. + border-radius: 0.3em;
  1592. +}
  1593. +input { font-size:90%; }
  1594. +select { font-size:90%; }
  1595. +
  1596. +
  1597. +
  1598. +#float_titles div.set {float:left;background-color:#888ca0;padding:0px;margin:5px;}
  1599. +#float_titles ul {float:left;padding:0px;margin:0px;}
  1600. +#float_titles ul li {float:left;list-style:none;margin:5px 2px 0px 0px; }
  1601. +#float_titles li a{padding:6px 10px;background-color:#8696c0;color:#e8e8ec;border: 1px solid #505080;}
  1602. +#float_titles li.selected a{background-color:#c6d8fe; font-weight:bold; color:#444;}
  1603. +
  1604. +table {
  1605. + background-color:#ececf0;
  1606. + margin-top: 10px;
  1607. + margin-left: 10px;
  1608. + margin-bottom: 10px;
  1609. + padding:10px;
  1610. +}
  1611. +tr {
  1612. + padding: 0px;
  1613. + border: 1px solid #BBB;
  1614. +}
  1615. +td {
  1616. + padding: 0px;
  1617. +}
  1618. +
  1619. +
  1620. -->
  1621. </style>
  1622. {/literal}
  1623.  
  1624. </head>
  1625.  
  1626. -<body>
  1627. +<body style="font-size:{$base_font_size}pt">
  1628.  
  1629. -<h2>{$sitetitle}</h2>
  1630. -
  1631. -<div><a href="index.php">番組表に戻る</a></div>
  1632. +<div id="float_titles" style="font-size: {$float_follows_font_size}px;">
  1633. + <div class="set">
  1634. + <ul>
  1635. + <li><a href="/">番組表</a></li>
  1636. + <li><a href="reservationTable.php">予約リスト</a></li>
  1637. + <li><a href="programTable.php">キーワード検索</a></li>
  1638. + <li><a href="keywordTable.php">自動検索予約リスト</a></li>
  1639. + <li><a href="recordedTable.php">録画済リスト</a></li>
  1640. + <li class="selected"><a href="logViewer.php">ログ</a></li>
  1641. + <li><a href="envSetting.php">設定</a></li>
  1642. + </ul>
  1643. + </div>
  1644. +</div>
  1645. +<br style="clear:left;">
  1646. +<br>
  1647.  
  1648. +{if count($logs)}
  1649. <table id="log_table">
  1650. <tr>
  1651. - <th>レベル</th>
  1652. - <th>日時</th>
  1653. - <th>内容</th>
  1654. + <th style="vertical-align: middle; height: 28px;">レベル</th>
  1655. + <th style="vertical-align: middle;">日時</th>
  1656. + <th style="vertical-align: middle;">内容</th>
  1657. </tr>
  1658.  
  1659. {foreach from=$logs item=log}
  1660. <tr>
  1661. - <td class="errorlevel{$log->level}">
  1662. + <td style="vertical-align: top; text-align: center; width: 80px;" class="errorlevel{$log->level}">
  1663. {if $log->level == 0}情報
  1664. {elseif $log->level == 1}警告
  1665. {elseif $log->level == 2}エラー
  1666. {/if}
  1667. </td>
  1668. - <td>{$log->logtime}</td>
  1669. - <td>{$log->message|escape}</td>
  1670. + <td style="vertical-align: top; text-align: left; width: 120px;">{str_replace(" ", "<br>", $log->logtime)}</td>
  1671. + <td style="vertical-align: top; width: 900px;">{str_replace("】", "]", str_replace("【", "[", mb_convert_kana($log->message|escape, "rn")))}</td>
  1672. </tr>
  1673. {/foreach}
  1674. +{else}
  1675. + <div style="margin-left: 30px; margin-top: 30px;">ログはありません</div>
  1676. +{/if}
  1677. +
  1678. </body>
  1679. </html>
  1680. diff -urN epgrec.org/templates/programTable.html epgrec/templates/programTable.html
  1681. --- epgrec.org/templates/programTable.html 2017-07-22 02:33:25.000000000 +0900
  1682. +++ epgrec/templates/programTable.html 2017-07-23 11:11:20.000000000 +0900
  1683. @@ -6,6 +6,7 @@
  1684. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  1685. <title>{$sitetitle}</title>
  1686. <meta http-equiv="Content-Style-Type" content="text/css">
  1687. +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=2.0,user-scalable=yes">
  1688.  
  1689. {literal}
  1690. <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
  1691. @@ -14,12 +15,35 @@
  1692. <script type="text/javascript" src="js/mdabasic.js"></script>
  1693. <script type="text/javascript">
  1694. var PRG = {
  1695. + cancel:function(id){
  1696. + $.get(INISet.prgCancelURL, { program_id: id } ,function(data){
  1697. + $('#eraseDialog').html('キャンセル中......');
  1698. + $('#eraseDialog').dialog('open','center');
  1699. + if(data.match(/^error/i)){
  1700. + $('#eraseDialog').dialog('close');
  1701. + alert(data);
  1702. + }
  1703. + else {
  1704. + //$('#resid_' + id ).hide();
  1705. + $('#resid_' + id).removeClass('prg_rec');
  1706. + $('#reserve_btn_' + id).val("予約");
  1707. + $('#reserve_btn_' + id).get(0).onclick = "";
  1708. + $('#reserve_btn_' + id).unbind('click');
  1709. + $('#reserve_btn_' + id).bind('click', function() {PRG.rec(id)});
  1710. + $('#eraseDialog').dialog('close');
  1711. + }
  1712. + });
  1713. + },
  1714. rec:function(id){
  1715. $.get(INISet.prgRecordURL, { program_id: id } ,function(data){
  1716. if(data.match(/^error/i)){
  1717. alert(data);
  1718. }else{
  1719. $('#resid_' + id).addClass('prg_rec');
  1720. + $('#reserve_btn_' + id).val("取消");
  1721. + $('#reserve_btn_' + id).get(0).onclick = "";
  1722. + $('#reserve_btn_' + id).unbind('click');
  1723. + $('#reserve_btn_' + id).bind('click', function() {PRG.cancel(id)});
  1724. }
  1725. });
  1726. },
  1727. @@ -97,11 +121,30 @@
  1728. </script>
  1729. <style type="text/css">
  1730. <!--
  1731. -body {padding:4px;margin:0;font-size:10pt;}
  1732. +* {
  1733. + word-break: break-all;
  1734. + -webkit-text-size-adjust: none;
  1735. + -webkit-overflow-scrolling: touch;
  1736. + -webkit-touch-callout:none;
  1737. + -webkit-user-select:none;
  1738. +}
  1739. +
  1740. +html {
  1741. + -webkit-text-size-adjust: none;
  1742. + background-color: #888ca0;
  1743. + background: #888ca0;
  1744. + color: #02262f;
  1745. + font-family: HiraKakuProN-W3;
  1746. + font-size: 6.25%;
  1747. + line-height: 1.25;
  1748. +}
  1749. +
  1750. +body {padding:0px;margin:0;font-size:12pt;background-color: #888ca0;}
  1751. a {text-decoration:none;}
  1752. +form {margin-bottom: 10px;}
  1753.  
  1754. table#reservation_table {
  1755. - width: 800px;
  1756. + font-size: 95%;
  1757. border: 1px #BBB solid;
  1758. border-collapse: collapse;
  1759. border-spacing: 0;
  1760. @@ -109,154 +152,196 @@
  1761.  
  1762. table#reservation_table th {
  1763. padding: 5px;
  1764. - border: #E3E3E3 solid;
  1765. - border-width: 0 0 1px 1px;
  1766. - background: #BBB;
  1767. + border: #BBB solid;
  1768. + border-width: 1px 1px 1px 1px;
  1769. + background: #dea480;
  1770. + color: #fff;
  1771. font-weight: bold;
  1772. line-height: 120%;
  1773. text-align: center;
  1774. }
  1775. table#reservation_table td {
  1776. - padding: 5px;
  1777. + padding-top: 15px;
  1778. + padding-bottom: 15px;
  1779. + padding-left: 5px;
  1780. + padding-right: 5px;
  1781. border: 1px #BBB solid;
  1782. border-width: 0 0 1px 1px;
  1783. text-align: center;
  1784. }
  1785. +table#reservation_table tr:nth-child(2n) {
  1786. + background: #f0f0f8;
  1787. +}
  1788. +table#reservation_table tr:nth-child(2n+1) {
  1789. + background: #f8f8ff;
  1790. +}
  1791. +input[type="submit"] {
  1792. + background-image: linear-gradient(0deg, #a7d9f5, #eaf6fd);
  1793. + border: 1px solid #3c7fb1;
  1794. + border-radius: 0.3em;
  1795. +}
  1796. +input[type="button"] {
  1797. + background-image: linear-gradient(0deg, #a7d9f5, #eaf6fd);
  1798. + border: 1px solid #3c7fb1;
  1799. + border-radius: 0.3em;
  1800. +}
  1801. +input { font-size:90%; }
  1802. +select { font-size:90%; }
  1803.  
  1804. -table#reservation_table tr.ctg_news, #category_select a.ctg_news {background-color: #FFFFD8;}
  1805. -table#reservation_table tr.ctg_etc, #category_select a.ctg_etc {background-color: #FFFFFF;}
  1806. -table#reservation_table tr.ctg_information, #category_select a.ctg_information {background-color: #F2D8FF;}
  1807. -table#reservation_table tr.ctg_sports, #category_select a.ctg_sports {background-color: #D8FFFF;}
  1808. -table#reservation_table tr.ctg_cinema, #category_select a.ctg_cinema {background-color: #FFD8D8;}
  1809. -table#reservation_table tr.ctg_music, #category_select a.ctg_music {background-color: #D8D8FF;}
  1810. -table#reservation_table tr.ctg_drama, #category_select a.ctg_drama {background-color: #D8FFD8;}
  1811. -table#reservation_table tr.ctg_anime, #category_select a.ctg_anime {background-color: #FFE4C8;}
  1812. -table#reservation_table tr.ctg_variety, #category_select a.ctg_variety {background-color: #FFD2EB;}
  1813. -table#reservation_table tr.ctg_10, #category_select a.ctg_10 {background-color: #E4F4F4;}
  1814. -table#reservation_table tr.prg_rec {background-color: #F55;color:#FEE}
  1815. +table#reservation_table tr.prg_rec {background-color: #ff7080;color:#333}
  1816. +table#reservation_table tr.prg_rec .prg_title,#tvtable .prg_title {color:#2840d4;}
  1817. +table#reservation_table tr.prg_rec_msg {font-weight:bold; text-align:center;}
  1818.  
  1819. #floatBox4Dialog .prg_title{font-size:120%;font-weight:bold;padding:0.4em 0;text-align:center;}
  1820. #floatBox4Dialog .prg_rec_cfg{background:#EEE;padding:1em 2em;margin:0.4em 0;}
  1821. #floatBox4Dialog .labelLeft {width:8em;float:left;text-align:right;}
  1822. #floatBox4Dialog .button {padding:0.4em 1em;}
  1823.  
  1824. -
  1825. -
  1826. +#float_titles div.set {float:left;background-color:#888ca0;padding:0px;margin:5px;}
  1827. +#float_titles ul {float:left;padding:0px;margin:0px;}
  1828. +#float_titles ul li {float:left;list-style:none;margin:5px 2px 0px 0px; }
  1829. +#float_titles li a{padding:6px 10px;background-color:#8696c0;color:#e8e8ec;border: 1px solid #505080;}
  1830. +#float_titles li.selected a{background-color:#c6d8fe; font-weight:bold; color:#444;}
  1831. +
  1832. +table {
  1833. + background-color:#ececf0;
  1834. + margin-top: 10px;
  1835. + margin-left: 10px;
  1836. + margin-bottom: 10px;
  1837. + padding:10px;
  1838. +}
  1839. +tr {
  1840. + padding: 0px;
  1841. + border: 1px solid #bbb;
  1842. +}
  1843. +td {
  1844. + padding: 0px;
  1845. + line-height: 150%;
  1846. +}
  1847. +.details { display: none;}
  1848. +.kind { display: none;}
  1849. -->
  1850. +select { font-size: 100%;}
  1851. </style>
  1852. {/literal}
  1853.  
  1854. </head>
  1855.  
  1856. -<body>
  1857. -
  1858. -<h2>{$sitetitle}</h2>
  1859. -
  1860. -
  1861. -
  1862. -<div><a href="index.php">番組表に戻る</a>/<a href="keywordTable.php">自動録画キーワード管理へ</a></div>
  1863. +<body style="font-size:{$base_font_size}pt">
  1864. +<div id="float_titles" style="font-size: {$float_follows_font_size}px;">
  1865. + <div class="set">
  1866. + <ul>
  1867. + <li><a href="/">番組表</a></li>
  1868. + <li><a href="reservationTable.php">予約リスト</a></li>
  1869. + <li class="selected"><a href="programTable.php">キーワード検索</a></li>
  1870. + <li><a href="keywordTable.php">自動検索予約リスト</a></li>
  1871. + <li><a href="recordedTable.php">録画済リスト</a></li>
  1872. + <li><a href="logViewer.php">ログ</a></li>
  1873. + <li><a href="envSetting.php">設定</a></li>
  1874. + </ul>
  1875. + </div>
  1876. +</div>
  1877. +<br style="clear:left;">
  1878.  
  1879. <div>
  1880. -絞り込み:
  1881. +<!--絞り込み:-->
  1882. <form method="post" action="programTable.php">
  1883. <input type="hidden" name="do_search" value="1" />
  1884. -検索語句<input type="text" size="20" name="search" value="{$search}" /><br />
  1885. -正規表現使用<input type="checkbox" name="use_regexp" value="1" {if $use_regexp}checked{/if} />
  1886. -種別<select name="type">
  1887. +<table>
  1888. +<tr><td> 検索語句</td><td><input type="text" size="20" name="search" value="{$search}" /> <input type="checkbox" name="use_regexp" value="1" {if $use_regexp}checked{/if} />正規表現を使う</td></tr>
  1889. +<tr><td>種別</td><td><select name="type">
  1890. {foreach from=$types item=type}
  1891. <option value="{$type.value}" {$type.selected}>{$type.name}</option>
  1892. {/foreach}
  1893. </select>
  1894. -局<select name="station">
  1895. +</td></tr>
  1896. +<tr><td>チャンネル</td><td><select name="station">
  1897. {foreach from=$stations item=st}
  1898. <option value="{$st.id}" {$st.selected}>{$st.name}</option>
  1899. {/foreach}
  1900. </select>
  1901. -カテゴリ<select name="category_id">
  1902. +</td></tr>
  1903. +<tr><td>カテゴリ</td><td><select name="category_id">
  1904. {foreach from=$cats item=cat}
  1905. <option value="{$cat.id}" {$cat.selected}>{$cat.name}</option>
  1906. {/foreach}
  1907. </select>
  1908. -開始時<select name="prgtime">
  1909. +</td></tr>
  1910. +<tr><td>開始時</td><td><select name="prgtime">
  1911. {foreach from=$prgtimes item=prgt}
  1912. <option value="{$prgt.value}" {$prgt.selected}>{$prgt.name}</option>
  1913. {/foreach}
  1914. </select>
  1915. -
  1916. -曜日<select name='weekofday'>
  1917. +</td></tr>
  1918. +<tr><td>曜日</td><td><select name='weekofday'>
  1919. {foreach from=$weekofdays item=day}
  1920. <option value="{$day.id}" {$day.selected}>{$day.name}</option>
  1921. {/foreach}
  1922. </select>
  1923. -<input type="submit" value="絞り込む" />
  1924. +</td></tr>
  1925. +<tr><td colspan=2 align=center>
  1926. +<input type="submit" value=" 検索 " />
  1927. +</td></tr>
  1928. +</table>
  1929. </form>
  1930. </div>
  1931.  
  1932. -
  1933. +{if $programs|@count < 3000 && $no_condition == 0}
  1934. +<form method="post" action="keywordTable.php" style="margin-left: 20px;">
  1935. + <input type="hidden" name="add_keyword" value="{$do_keyword}" />
  1936. + <input type="hidden" name="k_use_regexp" value="{$use_regexp}" />
  1937. + <input type="hidden" name="k_search" value="{$search}" />
  1938. + <input type="hidden" name="k_type" value="{$k_type}" />
  1939. + <input type="hidden" name="k_category" value="{$k_category}" />
  1940. + <input type="hidden" name="k_station" value="{$k_station}" />
  1941. + <input type="hidden" name="k_weekofday" value={$weekofday} />
  1942. + <input type="hidden" name="k_prgtime" value={$prgtime} />
  1943. + <input type="hidden" name="autorec_mode" value="1">
  1944. + {$programs|@count}件 : <input type="submit" value="この条件を自動検索予約リストに登録" />
  1945. +</form>
  1946. +{/if}
  1947.  
  1948. {if count($programs)}
  1949. <table id="reservation_table">
  1950. <tr>
  1951. - <th>種別</th>
  1952. - <th>局名</th>
  1953. - <th>番組開始</th>
  1954. - <th>番組終了</th>
  1955. + <th>放送日時</th>
  1956. + <th>チャンネル</th>
  1957. <th>タイトル</th>
  1958. <th>内容</th>
  1959. - <th>簡易録画</th>
  1960. - <th>詳細録画</th>
  1961. + <th>録画<br>予約</th>
  1962. </tr>
  1963.  
  1964. {foreach from=$programs item=program}
  1965. - <tr id="resid_{$program.id}" class="ctg_{$program.cat}{if $program.rec > 0} prg_rec{/if}">
  1966. - <td>{$program.type}</td>
  1967. - <td>{$program.station_name}</td>
  1968. - <td>{$program.starttime}</td>
  1969. - <td>{$program.endtime}</td>
  1970. - <td>{$program.title|escape}</td>
  1971. - <td>{$program.description|escape}</td>
  1972. - <td><input type="button" value="録画" onClick="javascript:PRG.rec('{$program.id}')" /></td>
  1973. - <td><input type="button" value="詳細" onClick="javascript:PRG.customform('{$program.id}')" /></td>
  1974. + <tr id="resid_{$program.id}" class="ctg_{$program.cat}{if $program.rec > 0} prg_rec{/if}">
  1975. + <td style="vertical-align: top; text-align: left; min-width: 120px;">{$program.starttime}〜{$program.endtime}</td>
  1976. + <td style="vertical-align: top; text-align: left; min-width: 170px;">{$program.station_name}</td>
  1977. +{if $program.search_key != ""}
  1978. + <td style="vertical-align: top; text-align: left; width: 350px;"><a href="/redirect.php?{$program.search_key}" target="_blank" style="color:#5068d4;text-decoration: underline;">{$program.title|escape}</a> {if $program.ut_start < $program.ut_now && $program.ut_now < $program.ut_end}<b>[録画中]</b>{/if}</td>
  1979. +{else}
  1980. + <td style="vertical-align: top; text-align: left; width: 350px;">{$program.title|escape} {if $program.ut_start < $program.ut_now && $program.ut_now < $program.ut_end}<b>[録画中]</b>{/if}</td>
  1981. +{/if}
  1982. + <td style="vertical-align: top; text-align: left; width: 500px;">{mb_convert_kana($program.description|escape, "rn")}</td>
  1983. +{if $program.rec > 0}
  1984. + <td style="vertical-align: middle; min-width: 60px;"><input id="reserve_btn_{$program.id}" type="button" value="取消" onclick="javascript:PRG.cancel('{$program.id}')"></td>
  1985. +{else}
  1986. + <td style="vertical-align: middle; min-width: 60px;"><input id="reserve_btn_{$program.id}" type="button" value="予約" onclick="javascript:PRG.rec('{$program.id}')"></td>
  1987. +{/if}
  1988. </tr>
  1989. {/foreach}
  1990. </table>
  1991. {else}
  1992. - 該当する番組はありません
  1993. + <div style="margin-left: 30px; margin-top: 30px;">{if $no_condition == 0}該当する番組はありません{else}検索条件を指定してください{/if}</div>
  1994. {/if}
  1995. -<div>{$programs|@count}件ヒット</div>
  1996. -{if count($programs) >= 300}<div>表示最大300件まで</div>{/if}
  1997. +{if count($programs) >= 3000}<div>表示最大3000件まで</div>{/if}
  1998. {if $do_keyword}
  1999. -{if (count($programs) < 300)}
  2000. +{if (count($programs) < 3000)}
  2001. <div>
  2002. -<form method="post" action="keywordTable.php">
  2003. - <b>語句:</b>{$search|escape}
  2004. - <b>正規表現:</b>{if $use_regexp}使う{else}使わない{/if}
  2005. - <b>種別:</b>{if $k_type == "*"}すべて{else}{$k_type}{/if}
  2006. - <b>局:</b>{if $k_station == 0}すべて{else}{$k_station_name}{/if}
  2007. - <b>カテゴリ:</b>{if $k_category == 0}すべて{else}{$k_category_name}{/if}
  2008. - <b>曜日:</b>{if $weekofday == 7}なし{else}{$k_weekofday}曜{/if}
  2009. - <b>時間:</b>{if $prgtime == 24}なし{else}{$prgtime}時~{/if}
  2010. - <b>件数:</b>{$programs|@count}
  2011. - <input type="hidden" name="add_keyword" value="{$do_keyword}" />
  2012. - <input type="hidden" name="k_use_regexp" value="{$use_regexp}" />
  2013. - <input type="hidden" name="k_search" value="{$search}" />
  2014. - <input type="hidden" name="k_type" value="{$k_type}" />
  2015. - <input type="hidden" name="k_category" value="{$k_category}" />
  2016. - <input type="hidden" name="k_station" value="{$k_station}" />
  2017. - <input type="hidden" name="k_weekofday" value={$weekofday} />
  2018. - <input type="hidden" name="k_prgtime" value={$prgtime} />
  2019. - <b>録画モード:</b><select name="autorec_mode" >
  2020. - {foreach from=$autorec_modes item=mode name=recmode}
  2021. - <option value="{$smarty.foreach.recmode.index}" {$mode.selected} >{$mode.name}</option>
  2022. - {/foreach}
  2023. - </select>
  2024. - <br><input type="submit" value="この絞り込みを自動録画キーワードに登録" />
  2025. - </form>
  2026. +
  2027. </div>
  2028. {/if}
  2029. {/if}
  2030.  
  2031. -<div id="floatBox4Dialog">jQuery UI Dialog</div>
  2032. +<div id="floatBox4Dialog"></div>
  2033.  
  2034. {literal}
  2035. <script type="text/javascript">
  2036. diff -urN epgrec.org/templates/recordedTable.html epgrec/templates/recordedTable.html
  2037. --- epgrec.org/templates/recordedTable.html 2017-07-22 02:33:25.000000000 +0900
  2038. +++ epgrec/templates/recordedTable.html 2017-07-23 11:11:26.000000000 +0900
  2039. @@ -6,6 +6,7 @@
  2040. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  2041. <title>{$sitetitle}</title>
  2042. <meta http-equiv="Content-Style-Type" content="text/css">
  2043. +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=2.0,user-scalable=yes">
  2044.  
  2045. {literal}
  2046. <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
  2047. @@ -14,12 +15,14 @@
  2048. <script type="text/javascript">
  2049. <!--
  2050. var PRG = {
  2051. -
  2052. + dialog_close:function() {
  2053. + $('#floatBox4Dialog').dialog('close');
  2054. + },
  2055. dialog:function(id, title){
  2056. $('#floatBox4Dialog').dialog({title:'削除',width:500});
  2057. var str = '<div class="prg_title">' + title + 'を削除します</div>';
  2058. str += '<form><div style="text-align:center;">録画ファイルも削除する<input type="checkbox" id="delete_file" name="delete_file" value="1" /></div></form>';
  2059. - str +='<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.rec(' + id + ')" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">この録画を本当に削除する</a></div>';
  2060. + str +='<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.rec(' + id + ')" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">この録画を本当に削除する</a> <a href="javascript:PRG.dialog_close();" id="cancel_btn" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">キャンセル</a></div>';
  2061. $('#floatBox4Dialog').html(str);
  2062. $('#floatBox4Dialog').dialog('open', 'center');
  2063. },
  2064. @@ -37,7 +40,6 @@
  2065. alert(data);
  2066. }
  2067. else {
  2068. -// alert(data);
  2069. $('#resid_' + id ).hide();
  2070. $('#floatBox4Dialog').dialog('close');
  2071. }
  2072. @@ -50,7 +52,7 @@
  2073. str += '<input type="hidden" name="reserve_id" id="id_reserve_id" value="' + id + '" />';
  2074. str += '<div><span class="labelLeft">タイトル</span><input name="title" id="id_title" size="30" value="'+ $('#tid_' + id ).html() + '" /></div>';
  2075. str += '<div><span class="labelLeft">概要</span><textarea name="description" id="id_description" cols="30" rows="5" >' + $('#did_' + id ).html() + '</textarea></div>';
  2076. - str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.edit()" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">変更する</a></div>';
  2077. + str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.edit()" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">変更する</a> <a href="javascript:PRG.dialog_close();" id="cancel_btn" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">キャンセル</a></div>';
  2078.  
  2079. $('#floatBox4Dialog').html(str);
  2080. $('#floatBox4Dialog').dialog('open','center');
  2081. @@ -85,7 +87,25 @@
  2082. </script>
  2083. <style type="text/css">
  2084. <!--
  2085. -body {padding:4px;margin:0;font-size:10pt;}
  2086. +* {
  2087. + word-break: break-all;
  2088. + -webkit-text-size-adjust: none;
  2089. + -webkit-overflow-scrolling: touch;
  2090. + -webkit-touch-callout:none;
  2091. + -webkit-user-select:none;
  2092. +}
  2093. +
  2094. +html {
  2095. + -webkit-text-size-adjust: none;
  2096. + background-color: #888ca0;
  2097. + background: #888ca0;
  2098. + color: #02262f;
  2099. + font-family: HiraKakuProN-W3;
  2100. + font-size: 6.25%;
  2101. + line-height: 1.25;
  2102. +}
  2103. +
  2104. +body {padding:0px;margin:0;font-size:12pt;background-color: #888ca0;}
  2105. a {text-decoration:none;}
  2106.  
  2107. .bold {font-weight:bold;}
  2108. @@ -94,7 +114,7 @@
  2109. a img {border:none; }
  2110.  
  2111. table#reservation_table {
  2112. - width: 960px;
  2113. + font-size: 95%;
  2114. border: 1px #BBB solid;
  2115. border-collapse: collapse;
  2116. border-spacing: 0;
  2117. @@ -102,31 +122,41 @@
  2118.  
  2119. table#reservation_table th {
  2120. padding: 5px;
  2121. - border: #E3E3E3 solid;
  2122. - border-width: 0 0 1px 1px;
  2123. - background: #BBB;
  2124. + color: #fff;
  2125. + border: #BBB solid;
  2126. + border-width: 1px 1px 1px 1px;
  2127. + background: #e8687a;
  2128. font-weight: bold;
  2129. line-height: 120%;
  2130. text-align: center;
  2131. }
  2132. table#reservation_table td {
  2133. - padding: 5px;
  2134. + padding-top: 15px;
  2135. + padding-bottom: 15px;
  2136. + padding-left: 5px;
  2137. + padding-right: 5px;
  2138. border: 1px #BBB solid;
  2139. border-width: 0 0 1px 1px;
  2140. text-align: center;
  2141. }
  2142. -
  2143. -table#reservation_table tr.ctg_news, #category_select a.ctg_news {background-color: #FFFFD8;}
  2144. -table#reservation_table tr.ctg_etc, #category_select a.ctg_etc {background-color: #FFFFFF;}
  2145. -table#reservation_table tr.ctg_information, #category_select a.ctg_information {background-color: #F2D8FF;}
  2146. -table#reservation_table tr.ctg_sports, #category_select a.ctg_sports {background-color: #D8FFFF;}
  2147. -table#reservation_table tr.ctg_cinema, #category_select a.ctg_cinema {background-color: #FFD8D8;}
  2148. -table#reservation_table tr.ctg_music, #category_select a.ctg_music {background-color: #D8D8FF;}
  2149. -table#reservation_table tr.ctg_drama, #category_select a.ctg_drama {background-color: #D8FFD8;}
  2150. -table#reservation_table tr.ctg_anime, #category_select a.ctg_anime {background-color: #FFE4C8;}
  2151. -table#reservation_table tr.ctg_variety, #category_select a.ctg_variety {background-color: #FFD2EB;}
  2152. -table#reservation_table tr.ctg_10, #category_select a.ctg_10 {background-color: #E4F4F4;}
  2153. -
  2154. +table#reservation_table tr:nth-child(2n) {
  2155. + background: #f0f0f8;
  2156. +}
  2157. +table#reservation_table tr:nth-child(2n+1) {
  2158. + background: #f8f8ff;
  2159. +}
  2160. +input[type="submit"] {
  2161. + background-image: linear-gradient(0deg, #a7d9f5, #eaf6fd);
  2162. + border: 1px solid #3c7fb1;
  2163. + border-radius: 0.3em;
  2164. +}
  2165. +input[type="button"] {
  2166. + background-image: linear-gradient(0deg, #a7d9f5, #eaf6fd);
  2167. + border: 1px solid #3c7fb1;
  2168. + border-radius: 0.3em;
  2169. +}
  2170. +input { font-size:90%; }
  2171. +select { font-size:100%; }
  2172.  
  2173. #floatBox4Dialog .prg_title{font-size:120%;font-weight:bold;padding:0.4em 0;text-align:center;}
  2174. #floatBox4Dialog .prg_rec_cfg{background:#EEE;padding:1em 2em;margin:0.4em 0;}
  2175. @@ -134,72 +164,105 @@
  2176. #floatBox4Dialog .button {padding:0.4em 1em;}
  2177.  
  2178.  
  2179. +#float_titles div.set {float:left;background-color:#888ca0;padding:0px;margin:5px;}
  2180. +#float_titles ul {float:left;padding:0px;margin:0px;}
  2181. +#float_titles ul li {float:left;list-style:none;margin:5px 2px 0px 0px; }
  2182. +#float_titles li a{padding:6px 10px;background-color:#8696c0;color:#e8e8ec;border: 1px solid #505080;}
  2183. +#float_titles li.selected a{background-color:#c6d8fe; font-weight:bold; color:#444;}
  2184. +
  2185. +table {
  2186. + background-color:#ececf0;
  2187. + margin-top: 10px;
  2188. + margin-left: 10px;
  2189. + margin-bottom: 10px;
  2190. + padding:10px;
  2191. +}
  2192. +tr {
  2193. + padding: 0px;
  2194. + border: 1px solid #BBB;
  2195. +}
  2196. +td {
  2197. + padding: 0px;
  2198. + line-height: 150%;
  2199. +}
  2200. -->
  2201. </style>
  2202. {/literal}
  2203.  
  2204. </head>
  2205.  
  2206. -<body>
  2207. -
  2208. -<h2>{$sitetitle}</h2>
  2209. +<body style="font-size:{$base_font_size}pt">
  2210.  
  2211. -<p><a href="index.php">番組表に戻る</a></p>
  2212. +<div id="float_titles" style="font-size: {$float_follows_font_size}px;">
  2213. + <div class="set">
  2214. + <ul>
  2215. + <li><a href="/">番組表</a></li>
  2216. + <li><a href="reservationTable.php">予約リスト</a></li>
  2217. + <li><a href="programTable.php">キーワード検索</a></li>
  2218. + <li><a href="keywordTable.php">自動検索予約リスト</a></li>
  2219. + <li class="selected"><a href="recordedTable.php">録画済リスト</a></li>
  2220. + <li><a href="logViewer.php">ログ</a></li>
  2221. + <li><a href="envSetting.php">設定</a></li>
  2222. + </ul>
  2223. + </div>
  2224. +</div>
  2225. +<br style="clear:left;">
  2226.  
  2227. <div>
  2228. -絞り込み:
  2229. +<!--絞り込み:-->
  2230. <form method="post" action="recordedTable.php" >
  2231. <input type="hidden" name="do_search" value="1" />
  2232. -検索語句<input type="text" size="20" name="search" value="{$search}" />
  2233. -局<select name="station">
  2234. +<table>
  2235. +<tr><td>検索語句</td><td><input type="text" size="20" name="search" value="{$search}" /></td></tr>
  2236. +<tr><td>チャンネル</td><td><select name="station">
  2237. {foreach from=$stations item=st}
  2238. <option value="{$st.id}" {$st.selected}>{$st.name}</option>
  2239. {/foreach}
  2240. </select>
  2241. -カテゴリ<select name="category_id">
  2242. +</td></tr>
  2243. +<tr><td>カテゴリ</td><td><select name="category_id">
  2244. {foreach from=$cats item=cat}
  2245. <option value="{$cat.id}" {$cat.selected}>{$cat.name}</option>
  2246. {/foreach}
  2247. </select>
  2248. -<input type="submit" value="絞り込む" />
  2249. +</td></tr>
  2250. +<tr><td colspan=2 align=center style="padding-top: 10px;"><input type="submit" value=" 検索 " />
  2251. +</td></tr>
  2252. +</table>
  2253. </form>
  2254. </div>
  2255.  
  2256. -タイトルや内容をクリックすると視聴できます(ブラウザの設定でASFとVLCを関連付けている必要があります)
  2257. +<!--タイトルや内容をクリックすると視聴できます(ブラウザの設定でASFとVLCを関連付けている必要があります)-->
  2258. {if count($records)}
  2259. <table id="reservation_table">
  2260. <tr>
  2261. <th>録画日時</th>
  2262. - <th>ch</th>
  2263. - <th>モード</th>
  2264. - {if $use_thumbs == 1}<th>サムネール</th>{/if}
  2265. + <th>チャンネル</th>
  2266. <th>タイトル</th>
  2267. <th>内容</th>
  2268. - <th>ファイルサイズ</th>
  2269. + <th>ファイル<br>サイズ</th>
  2270. <th>変更</th>
  2271. <th>削除</th>
  2272. </tr>
  2273.  
  2274. {foreach from=$records item=rec}
  2275. - <tr id="resid_{$rec.id}" class="ctg_{$rec.cat}">
  2276. - <td>{$rec.starttime}</td>
  2277. - <td>{$rec.station_name}</td>
  2278. - <td>{$rec.mode}</td>
  2279. - {if $use_thumbs == 1}<td><a href="{$rec.asf}">{$rec.thumb}</a></td>{/if}
  2280. - <td><a href="{$rec.asf}" id="tid_{$rec.id}">{$rec.title}</a></td>
  2281. - <td><a href="{$rec.asf}" id="did_{$rec.id}">{$rec.description}</a></td>
  2282. - <td>{$rec.fsize}</td>
  2283. - <td><input type="button" value="変更" onClick="javascript:PRG.editdialog('{$rec.id}')" /></td>
  2284. - <td><input type="button" value="削除" onClick="javascript:PRG.dialog('{$rec.id}','{$rec.title|escape}')" /></td>
  2285. + <tr id="resid_{$rec.id}" class="ctg_{$rec.cat}" {if $rec.ut_start < $rec.ut_now && $rec.ut_now < $rec.ut_end}style="background-color: #ff7080;color:#333;"{/if}>
  2286. + <td style="vertical-align: top; text-align: left; min-width: 120px;">{$rec.starttime}〜{$rec.endtime}</td>
  2287. + <td style="vertical-align: top; text-align: left; min-width: 170px;">{$rec.station_name}</td>
  2288. + <td style="vertical-align: top; text-align: left; width: 350px;"><a href="{$rec.asf}" id="tid_{$rec.id}" style="color:#5068d4;text-decoration: underline;">{$rec.title}</a> {if $rec.ut_start < $rec.ut_now && $rec.ut_now < $rec.ut_end}<b>[録画中]</b>{/if}</td>
  2289. + <td style="vertical-align: top; text-align: left; width: 500px;" id="did_{$rec.id}">{$rec.description}</td>
  2290. + <td style="vertical-align: top; min-width: 80px;">{$rec.fsize}</td>
  2291. + <td style="min-width: 60px;"><input type="button" value="変更" onClick="javascript:PRG.editdialog('{$rec.id}')" /></td>
  2292. + <td style="min-width: 60px;"><input type="button" value="削除" onClick="javascript:PRG.dialog('{$rec.id}','{$rec.title|escape}')" /></td>
  2293. </tr>
  2294. {/foreach}
  2295. </table>
  2296.  
  2297. {else}
  2298. - 現在、録画済データはありません
  2299. + <div style="margin-left: 30px; margin-top: 30px;">現在、録画済データはありません</div>
  2300. {/if}
  2301.  
  2302. -<div id="floatBox4Dialog">jQuery UI Dialog</div>
  2303. +<div id="floatBox4Dialog"></div>
  2304.  
  2305. {literal}
  2306. <script type="text/javascript">
  2307. diff -urN epgrec.org/templates/reservationTable.html epgrec/templates/reservationTable.html
  2308. --- epgrec.org/templates/reservationTable.html 2017-07-22 02:33:25.000000000 +0900
  2309. +++ epgrec/templates/reservationTable.html 2017-07-23 11:10:45.000000000 +0900
  2310. @@ -6,6 +6,7 @@
  2311. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  2312. <title>{$sitetitle}</title>
  2313. <meta http-equiv="Content-Style-Type" content="text/css">
  2314. +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=2.0,user-scalable=yes">
  2315.  
  2316. {literal}
  2317. <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
  2318. @@ -73,11 +74,29 @@
  2319. </script>
  2320. <style type="text/css">
  2321. <!--
  2322. -body {padding:4px;margin:0;font-size:10pt;}
  2323. +* {
  2324. + word-break: break-all;
  2325. + -webkit-text-size-adjust: none;
  2326. + -webkit-overflow-scrolling: touch;
  2327. + -webkit-touch-callout:none;
  2328. + -webkit-user-select:none;
  2329. +}
  2330. +
  2331. +html {
  2332. + -webkit-text-size-adjust: none;
  2333. + background-color: #888ca0;
  2334. + background: #888ca0;
  2335. + color: #02262f;
  2336. + font-family: HiraKakuProN-W3;
  2337. + font-size: 6.25%;
  2338. + line-height: 1.25;
  2339. +}
  2340. +
  2341. +body {padding:0px;margin:0;font-size:12pt;background-color: #888ca0;}
  2342. a {text-decoration:none;}
  2343.  
  2344. table#reservation_table {
  2345. - width: 800px;
  2346. + font-size: 95%;
  2347. border: 1px #BBB solid;
  2348. border-collapse: collapse;
  2349. border-spacing: 0;
  2350. @@ -85,30 +104,24 @@
  2351.  
  2352. table#reservation_table th {
  2353. padding: 5px;
  2354. - border: #E3E3E3 solid;
  2355. - border-width: 0 0 1px 1px;
  2356. - background: #BBB;
  2357. + border: #BBB solid;
  2358. + border-width: 1px 1px 1px 1px;
  2359. + color: #fff;
  2360. + background: #80a4e0;
  2361. font-weight: bold;
  2362. line-height: 120%;
  2363. text-align: center;
  2364. }
  2365. table#reservation_table td {
  2366. - padding: 5px;
  2367. + padding-top: 15px;
  2368. + padding-bottom: 15px;
  2369. + padding-left: 5px;
  2370. + padding-right: 5px;
  2371. border: 1px #BBB solid;
  2372. border-width: 0 0 1px 1px;
  2373. text-align: center;
  2374. }
  2375.  
  2376. -table#reservation_table tr.ctg_news, #category_select a.ctg_news {background-color: #FFFFD8;}
  2377. -table#reservation_table tr.ctg_etc, #category_select a.ctg_etc {background-color: #FFFFFF;}
  2378. -table#reservation_table tr.ctg_information, #category_select a.ctg_information {background-color: #F2D8FF;}
  2379. -table#reservation_table tr.ctg_sports, #category_select a.ctg_sports {background-color: #D8FFFF;}
  2380. -table#reservation_table tr.ctg_cinema, #category_select a.ctg_cinema {background-color: #FFD8D8;}
  2381. -table#reservation_table tr.ctg_music, #category_select a.ctg_music {background-color: #D8D8FF;}
  2382. -table#reservation_table tr.ctg_drama, #category_select a.ctg_drama {background-color: #D8FFD8;}
  2383. -table#reservation_table tr.ctg_anime, #category_select a.ctg_anime {background-color: #FFE4C8;}
  2384. -table#reservation_table tr.ctg_variety, #category_select a.ctg_variety {background-color: #FFD2EB;}
  2385. -table#reservation_table tr.ctg_10, #category_select a.ctg_10 {background-color: #E4F4F4;}
  2386.  
  2387. #floatBox4Dialog .prg_title{font-size:120%;font-weight:bold;padding:0.4em 0;text-align:center;}
  2388. #floatBox4Dialog .prg_rec_cfg{background:#EEE;padding:1em 2em;margin:0.4em 0;}
  2389. @@ -116,54 +129,102 @@
  2390. #floatBox4Dialog .button {padding:0.4em 1em;}
  2391.  
  2392.  
  2393. +#float_titles div.set {float:left;background-color:#888ca0;padding:0px;margin:5px;}
  2394. +#float_titles ul {float:left;padding:0px;margin:0px;}
  2395. +#float_titles ul li {float:left;list-style:none;margin:5px 2px 0px 0px; }
  2396. +#float_titles li a{padding:6px 10px;background-color:#8696c0;color:#e8e8ec;border: 1px solid #505080;}
  2397. +#float_titles li.selected a{background-color:#ffffff; font-weight:bold; color:#444;}
  2398. +
  2399. +#reservation_table tr.prg_rec {background-color: #ff7080;color:#333}
  2400. +table#reservation_table tr:nth-child(2n) {
  2401. + background: #f0f0f8;
  2402. +}
  2403. +table#reservation_table tr:nth-child(2n+1) {
  2404. + background: #f8f8ff;
  2405. +}
  2406. +input[type="submit"] {
  2407. + background-image: linear-gradient(0deg, #a7d9f5, #eaf6fd);
  2408. + border: 1px solid #3c7fb1;
  2409. + border-radius: 0.3em;
  2410. +}
  2411. +input[type="button"] {
  2412. + background-image: linear-gradient(0deg, #a7d9f5, #eaf6fd);
  2413. + border: 1px solid #3c7fb1;
  2414. + border-radius: 0.3em;
  2415. +}
  2416. +
  2417. +table {
  2418. + background-color:#ececf0;
  2419. + margin-top: 10px;
  2420. + margin-left: 10px;
  2421. + margin-bottom: 10px;
  2422. + padding:10px;
  2423. +}
  2424. +tr {
  2425. + padding: 0px;
  2426. + border: 1px solid #bbb;
  2427. +}
  2428. +td {
  2429. + padding: 0px;
  2430. + line-height: 150%;
  2431. +}
  2432. -->
  2433. </style>
  2434. {/literal}
  2435.  
  2436. </head>
  2437.  
  2438. -<body>
  2439. -
  2440. -<h2>{$sitetitle}</h2>
  2441. -
  2442. -<div><a href="index.php">番組表に戻る</a></div>
  2443. +<body style="font-size:{$base_font_size}pt">
  2444. +<div id="float_titles" style="font-size: {$float_follows_font_size}px;">
  2445. + <div class="set">
  2446. + <ul>
  2447. + <li><a href="/">番組表</a></li>
  2448. + <li class="selected"><a href="reservationTable.php">予約リスト</a></li>
  2449. + <li><a href="programTable.php">キーワード検索</a></li>
  2450. + <li><a href="keywordTable.php">自動検索予約リスト</a></li>
  2451. + <li><a href="recordedTable.php">録画済リスト</a></li>
  2452. + <li><a href="logViewer.php">ログ</a></li>
  2453. + <li><a href="envSetting.php">設定</a></li>
  2454. + </ul>
  2455. +</div>
  2456. +</div>
  2457. +<br style="clear:left;">
  2458. +<br>
  2459.  
  2460. {if count($reservations)}
  2461. <table id="reservation_table">
  2462. +{foreach from=$reservations item=reserve}
  2463. +{if $reserve.change_day == 1}
  2464. + <tr style="background: #888ca0;color:#fff;vertical-align: bottom;"><td colspan=6 style="padding-top: {if $reserve.first_flg == 1}0{else}30{/if}px; padding-bottom:0px;text-align: left; border-left: 1px solid #888ca0; border-right: 1px solid #888ca0;{if $reserve.first_flg == 1}border-top: 1px solid #888ca0;{/if}font-size: 110%;">{$reserve.month}月{$reserve.day}日・{$reserve.day_of_week}曜日</td></tr>
  2465. <tr>
  2466. - <th>id</th>
  2467. - <th>種別</th>
  2468. - <th>ch</th>
  2469. - <th>開始</th>
  2470. - <th>終了</th>
  2471. - <th>モード</th>
  2472. + <th>予約日時</th>
  2473. + <th>チャンネル</th>
  2474. <th>タイトル</th>
  2475. <th>内容</th>
  2476. - <th><a href="keywordTable.php">自動ID</a></th>
  2477. - <th>削除</th>
  2478. + <th>自動<br />ID</th>
  2479. + <th>取消</th>
  2480. </tr>
  2481. -
  2482. -{foreach from=$reservations item=reserve}
  2483. - <tr id="resid_{$reserve.id}" class="ctg_{$reserve.cat}">
  2484. - <td>{$reserve.id}</td>
  2485. - <td>{$reserve.type}</td>
  2486. - <td id="chid_{$reserve.id}">{$reserve.channel}</td>
  2487. - <td id="stid_{$reserve.id}">{$reserve.starttime}</td>
  2488. - <td>{$reserve.endtime}</td>
  2489. - <td>{$reserve.mode}</td>
  2490. - <td style="cursor: pointer" id="tid_{$reserve.id}" onClick="javascript:PRG.editdialog('{$reserve.id}')">{$reserve.title|escape}</td>
  2491. - <td style="cursor: pointer" id="did_{$reserve.id}" onClick="javascript:PRG.editdialog('{$reserve.id}')">{$reserve.description|escape}</td>
  2492. - <td>{if $reserve.autorec}{$reserve.autorec}{/if}</td>
  2493. - <td><input type="button" value="削除" onClick="javascript:PRG.rec('{$reserve.id}')" /></td>
  2494. +{/if}
  2495. + <tr id="resid_{$reserve.id}" {if $reserve.ut_start < $reserve.ut_now && $reserve.ut_now < $reserve.ut_end}style="background-color: #ff7080;color:#333;"{/if}>
  2496. + <td style="vertical-align: top; text-align: left; min-width: 120px;">{$reserve.starttime}〜{$reserve.endtime}</td>
  2497. + <td style="vertical-align: top; text-align: left; min-width: 170px;" id="chid_{$reserve.id}">{$reserve.channel}</td>
  2498. +{if $reserve.search_key != ""}
  2499. + <td style="vertical-align: top; text-align: left; width: 350px;" id="tid_{$reserve.id}"><a href="/redirect.php?{$reserve.search_key}" target="_blank" style="color:#5068d4;text-decoration: underline;">{$reserve.title|escape}</a> {if $reserve.ut_start < $reserve.ut_now && $reserve.ut_now < $reserve.ut_end}<b>[録画中]{/if}</td>
  2500. +{else}
  2501. + <td style="vertical-align: top; text-align: left; width: 350px;" id="tid_{$reserve.id}">{$reserve.title|escape} {if $reserve.ut_start < $reserve.ut_now && $reserve.ut_now < $reserve.ut_end}<b>[録画中]{/if}</td>
  2502. +{/if}
  2503. + <td style="vertical-align: top; text-align: left; width: 500px;" id="did_{$reserve.id}">{$reserve.description|escape}</td>
  2504. + <td style="min-width: 60px;">{if $reserve.autorec}{$reserve.autorec}{/if}</td>
  2505. + <td style="min-width: 60px;"><input type="button" value="取消" onClick="javascript:PRG.rec('{$reserve.id}')" /></td>
  2506. </tr>
  2507. {/foreach}
  2508. </table>
  2509. {else}
  2510. - 現在、予約はありません
  2511. + <div style="margin-left: 30px; margin-top: 30px;">現在、予約はありません</div>
  2512. {/if}
  2513.  
  2514. -<div id="floatBox4Dialog">jQuery UI Dialog</div>
  2515. -<div id="eraseDialog">jQuery UI Dialog</div>
  2516. +<div id="floatBox4Dialog"></div>
  2517. +<div id="eraseDialog"></div>
  2518.  
  2519. {literal}
  2520. <script type="text/javascript">
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement