root/trunk/install/php/reservecomp.php

リビジョン 94, 5.1 kB (コミッタ: sorshi, コミット時期: 15 年 前)

SQLite採用

Line 
1 <?php
2 /*
3  Anime recording system foltia
4  http://www.dcc-jpl.com/soft/foltia/
5
6 reserveprogram.php
7
8 目的
9 番組の予約登録をします。
10
11 引数
12 tid:タイトルID
13 station:録画局
14 bitrate:録画ビットレート(単位:Mbps)
15
16  DCC-JPL Japan/foltia project
17
18 */
19
20 include("./foltialib.php");
21 $con = m_connect();
22
23 if ($useenvironmentpolicy == 1){
24 if (!isset($_SERVER['PHP_AUTH_USER'])) {
25     header("WWW-Authenticate: Basic realm=\"foltia\"");
26     header("HTTP/1.0 401 Unauthorized");
27     redirectlogin();
28     exit;
29 } else {
30 login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']);
31 }
32 }//end if login
33
34 ?>
35 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
36 <html lang="ja">
37 <head>
38 <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
39 <meta http-equiv="Content-Style-Type" content="text/css">
40 <link rel="stylesheet" type="text/css" href="graytable.css">
41 <title>foltia</title>
42 </head>
43
44 <?php
45
46
47 $tid = getgetnumform(tid);
48         if ($tid == "") {
49         die_exit("番組が指定されていません<BR>");
50         }
51
52 $station = getgetnumform(station);
53         if ($station == "") {
54         $station = 0;
55         }
56 $usedigital = getgetnumform(usedigital);
57         if ($usedigital == "") {
58         $usedigital = 0;
59         }
60 $bitrate = getgetnumform(bitrate);
61         if ($bitrate == "") {
62         $bitrate = 5;
63         }
64
65
66 $now = date("YmdHi");   
67
68 //タイトル取得
69     $query = "select title from foltia_program where tid = ? ";
70 //    $rs = m_query($con, $query, "DBクエリに失敗しました");
71     $rs = sql_query($con, $query, "DBクエリに失敗しました",array($tid));
72 $rowdata = $rs->fetch();
73 if (! $rowdata) {
74         $title = "(未登録)";
75         }else{
76         $title = htmlspecialchars($rowdata[0]);
77         }
78
79 ?>
80 <body BGCOLOR="#ffffff" TEXT="#494949" LINK="#0047ff" VLINK="#000000" ALINK="#c6edff" >
81
82 <?php
83     printhtmlpageheader();
84 ?>
85   <p align="left"><font color="#494949" size="6">予約完了</font></p>
86   <hr size="4">
87
88 <?=$title?>」を番組予約モードで予約しました。 <br>
89  <br>
90 予約スケジュール <BR>
91
92 <?php
93
94 if ($station != 0){
95 //局限定
96     $query = "
97 SELECT
98 foltia_subtitle.pid , 
99 stationname,
100 foltia_subtitle.countno,
101 foltia_subtitle.subtitle,
102 foltia_subtitle.startdatetime ,
103 foltia_subtitle.lengthmin ,
104 foltia_subtitle.startoffset
105 FROM foltia_subtitle , foltia_program ,foltia_station 
106 WHERE foltia_program.tid = foltia_subtitle.tid AND foltia_station.stationid = foltia_subtitle.stationid
107  AND foltia_station.stationid = $station
108  AND foltia_subtitle.startdatetime >=  '$now'  AND foltia_program.tid ='$tid'
109 ORDER BY foltia_subtitle.startdatetime  ASC
110 ";
111
112 }else{
113 //全局
114     $query = "
115 SELECT
116 foltia_subtitle.pid , 
117 stationname,
118 foltia_subtitle.countno,
119 foltia_subtitle.subtitle,
120 foltia_subtitle.startdatetime ,
121 foltia_subtitle.lengthmin ,
122 foltia_subtitle.startoffset
123 FROM foltia_subtitle , foltia_program ,foltia_station 
124 WHERE foltia_program.tid = foltia_subtitle.tid AND foltia_station.stationid = foltia_subtitle.stationid
125  AND foltia_subtitle.startdatetime >=  '$now'  AND foltia_program.tid ='$tid'
126 ORDER BY foltia_subtitle.startdatetime  ASC
127 ";
128
129 }
130     $rs = m_query($con, $query, "DBクエリに失敗しました");
131 $rowdata = $rs->fetch();
132 if (! $rowdata) {
133         echo("放映予定はいまのところありません<BR>");
134         }
135         else{
136     $maxcols = $rs->columnCount();
137 ?>
138   <table BORDER="0" CELLPADDING="0" CELLSPACING="2" WIDTH="100%" BGCOLOR="#bcf1be">
139     <thead>
140         <tr>
141             <th align="left">PID</th>
142             <th align="left">放映局</th>
143             <th align="left">話数</th>
144             <th align="left">サブタイトル</th>
145             <th align="left">開始時刻</th>
146             <th align="left">総尺</th>
147             <th align="left">時刻ずれ</th>
148
149         </tr>
150     </thead>
151
152     <tbody>
153         <?php
154             /* テーブルのデータを出力 */
155        do {
156                 echo("<tr>\n");
157                 for ($col = 0; $col < $maxcols; $col++) { /* 列に対応 */
158                     echo("<td>".htmlspecialchars($rowdata[$col])."<br></td>\n");
159                 }
160                 echo("</tr>\n");
161        } while ($rowdata = $rs->fetch());
162         }//end if
163         ?>
164     </tbody>
165 </table>
166
167
168 <?php
169 if ($demomode){
170 }else{
171 //foltia_tvrecord 書き込み
172 //既存が予約あって、新着が全局予約だったら
173 if ($station ==0){
174     //既存局を消す
175         $query = "DELETE
176 FROM foltia_tvrecord 
177 WHERE tid = ?
178 ";
179 //    $rs = m_query($con, $query, "DBクエリに失敗しました");
180     $rs = sql_query($con, $query, "DBクエリに失敗しました",array($tid));
181 }//endif
182
183     $query = "
184 SELECT
185 count(*)
186 FROM foltia_tvrecord 
187 WHERE tid = ?  AND stationid = ?
188 ";
189 //    $rs = m_query($con, $query, "DBクエリに失敗しました");
190     $rs = sql_query($con, $query, "DBクエリに失敗しました",array($tid,$station));
191     $maxrows = $rs->fetchColumn(0);
192         if ($maxrows == 0) { //新規追加
193                 $query = "INSERT INTO  foltia_tvrecord  values (?,?,?,?)";
194 //                $rs = m_query($con, $query, "DB書き込みに失敗しました");
195                 $rs = sql_query($con, $query, "DB書き込みに失敗しました",array($tid,$station,$bitrate,$usedigital));
196         }else{//修正 (ビットレート)
197             $query = "UPDATE  foltia_tvrecord  SET
198   bitrate = ? , digital = ? WHERE tid = ? AND stationid = ? ";
199 //            $rs = m_query($con, $query, "DB書き込みに失敗しました");
200             $rs = sql_query($con, $query, "DB書き込みに失敗しました",array( $bitrate, $usedigital , $tid , $station ));
201         }
202     
203 //キュー入れプログラムをキック
204 //引数 TID チャンネルID
205 //echo("$toolpath/perl/addatq.pl $tid $station");
206 $oserr = system("$toolpath/perl/addatq.pl $tid $station");
207 }//end if demomode
208 ?>
209
210
211 </body>
212 </html>
213
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。
track feed