root/trunk/install/php/showplaylist.php

リビジョン 119, 8.9 kB (コミッタ: sorshi, コミット時期: 14 年 前)

AutoPagerize?対応

Line 
1 <?php
2 /*
3  Anime recording system foltia
4  http://www.dcc-jpl.com/soft/foltia/
5
6 showplaylist.php
7
8 目的
9 録画したmpeg2の番組一覧を表示します。
10
11
12 オプション
13 list:
14  省略時、録画順にソートされる。
15  titleのときに、番組順ソートされる。
16  rawのときに、DBに記録されている番組録画情報ではなくディレクトリにあるm2p/m2tファイルを全て表示する。
17
18  DCC-JPL Japan/foltia project
19
20 */
21
22 include("./foltialib.php");
23 $con = m_connect();
24
25 if ($useenvironmentpolicy == 1){
26     if (!isset($_SERVER['PHP_AUTH_USER'])) {
27         header("WWW-Authenticate: Basic realm=\"foltia\"");
28         header("HTTP/1.0 401 Unauthorized");
29         redirectlogin();
30         exit;
31     } else {
32     login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']);
33     }
34 }//end if login
35
36
37 ?>
38 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
39 <html lang="ja">
40 <head>
41 <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
42 <meta http-equiv="Content-Style-Type" content="text/css">
43 <link rel="stylesheet" type="text/css" href="graytable.css">
44 <?php
45
46 // Syabas 判定
47 $useragent = $_SERVER['HTTP_USER_AGENT'];
48
49 //ディスク空き容量によって背景色表示変更
50 warndiskfreearea();
51
52 print "<title>foltia:recorded file list</title>
53 </head>";
54
55
56 /////////////////////////////////////////////////??????
57 //1ページの表示レコード数
58 $lim = 300;
59 //クエリ取得
60 $p = getgetnumform(p);
61 //ページ取得の計算
62 list($st,$p,$p2) = number_page($p,$lim);
63 //////////////////////////////////////////////////????
64
65 $now = date("YmdHi");   
66 ?>
67 <body BGCOLOR="#ffffff" TEXT="#494949" LINK="#0047ff" VLINK="#000000" ALINK="#c6edff" >
68 <div align="center">
69
70 <?php
71     printhtmlpageheader();
72 ?>
73
74   <p align="left"><font color="#494949" size="6">録画一覧表示</font></p>
75   <hr size="4">
76 <p align="left">再生可能番組リストを表示します。<br>
77
78 <?php
79 if ($demomode){
80 }else{
81     printdiskusage();
82     printtrcnprocesses();
83 }
84
85
86 //////////////////////////////////////////
87 //クエリ取得
88 $list = getgetform('list');
89 //Autopager
90 echo "<div id=contents class=autopagerize_page_element />";
91 //////////////////////////////////////////
92
93
94 ?>
95 <form name="deletemovie" method="POST" action="./deletemovie.php">
96 <p align="left"><input type="submit" value="項目削除" ></p>
97
98   <table BORDER="0" CELLPADDING="0" CELLSPACING="2" WIDTH="100%">
99     <thead>
100         <tr>
101             <th align="left">削除</th>
102             <th align="left"><A HREF="./showplaylist.php">ファイル名</A></th>
103             <th align="left"><A HREF="./showplaylist.php?list=title">タイトル</A></th>
104             <th align="left">話数</th>
105             <th align="left">サブタイ</th>
106
107 <?php
108 if (file_exists("./selectcaptureimage.php") ) {
109 print "            <th align=\"left\">キャプ</th>\n";
110 }
111 ?>
112         </tr>
113     </thead>
114
115     <tbody>
116
117
118
119 <?php
120
121 //$list = getgetform('list');
122
123 //旧仕様
124 if($list == "raw"){
125 exec ("ls -t  $recfolderpath/*.???", $m2pfiles);
126
127
128 foreach($m2pfiles as $pathfName) {
129
130 $fNametmp = split("/",$pathfName);
131 $fName = array_pop($fNametmp);
132 //print "FILENAME:$fName<BR>\n";
133
134 if(($fName == ".") or ($fName == "..") ){ continue; }
135 if ((ereg(".m2.+", $fName))|| (ereg(".aac", $fName))){
136     $filesplit = split("-",$fName);
137
138 if (preg_match("/^\d+$/", $filesplit[0])) {//    print "File is looks like good:preg<br>\n";
139 if ($filesplit[1] == ""){
140 $query = "
141 SELECT
142 foltia_program.tid,foltia_program.title,foltia_subtitle.subtitle 
143 FROM foltia_subtitle , foltia_program   
144 WHERE foltia_program.tid = foltia_subtitle.tid 
145  AND foltia_subtitle.tid = ?
146 ";
147 //$rs = m_query($con, $query, "DBクエリに失敗しました");
148 $rs = sql_query($con, $query, "DBクエリに失敗しました",array($filesplit[0]));
149                 $rall = $rs->fetchAll();
150                 $rowdata = $rall[0];
151 //print" $fName./$rowdata[1]//$rowdata[2]<BR>\n";
152 $title = $rowdata[1];
153 $subtitle = "";
154 $count = "";
155
156 }else{
157
158 $query = "
159 SELECT
160 foltia_program.tid,foltia_program.title,foltia_subtitle.countno,foltia_subtitle.subtitle 
161 FROM foltia_subtitle , foltia_program   
162 WHERE foltia_program.tid = foltia_subtitle.tid 
163  AND foltia_subtitle.tid = ?
164  AND foltia_subtitle.countno = ?
165 ";
166 //$rs = m_query($con, $query, "DBクエリに失敗しました");
167 $rs = sql_query($con, $query, "DBクエリに失敗しました",array($filesplit[0],$filesplit[1]));
168                 $rall = $rs->fetchAll();
169                 $rowdata = $rall[0];
170 //print" $fName./$rowdata[1]/$rowdata[2]/$rowdata[3]<BR>\n";
171 $title = $rowdata[1];
172 $count = $rowdata[2];
173 $subtitle = $rowdata[3];
174 }//if 話数あるかどうか
175
176 $tid = htmlspecialchars($rowdata[0]);
177 $title = htmlspecialchars($title);
178 $count = htmlspecialchars($count);
179 $subtitle = htmlspecialchars($subtitle);
180
181 //--
182 print "
183 <tr>
184 <td><INPUT TYPE='checkbox' NAME='delete[]' VALUE='$fName'><br></td>
185 <td><A HREF=\"$httpmediamappath/$fName\">$fName</A><br></td>
186 <td><a href=\"http://cal.syoboi.jp/tid/$tid\" target=\"_blank\">$title</a></td>
187 <td>$count<br></td>
188 <td>$subtitle<br></td>";
189     if (file_exists("./selectcaptureimage.php") ) {
190 //    $capimgpath = preg_replace("/.m2p/", "", $fName);
191     print "            <td align=\"left\"> N/A </td>\n";
192     }
193
194 print "</tr>\n
195 ";
196 }else{
197     //print "File is looks like BAD:preg<br>\n";
198 }//
199
200 }//ereg
201 }//foreach
202 print "    </tbody>\n</table>\n</FORM>\n</body>\n</html>\n";
203 exit;
204
205 }elseif ($list== "title"){//新仕様
206 $query = "
207 SELECT
208 foltia_program.tid,
209 foltia_program.title,
210 foltia_subtitle.countno,
211 foltia_subtitle.subtitle  ,
212 foltia_m2pfiles.m2pfilename  ,
213 foltia_subtitle.pid   
214 FROM foltia_subtitle , foltia_program , foltia_m2pfiles
215 WHERE foltia_program.tid = foltia_subtitle.tid 
216  AND foltia_subtitle.m2pfilename = foltia_m2pfiles.m2pfilename
217 ORDER BY foltia_subtitle.tid  DESC , foltia_subtitle.startdatetime  ASC
218 LIMIT $lim OFFSET $st
219
220 ";
221 }else{
222 $query = "
223 SELECT
224 foltia_program.tid,
225 foltia_program.title,
226 foltia_subtitle.countno,
227 foltia_subtitle.subtitle  ,
228 foltia_m2pfiles.m2pfilename  ,
229 foltia_subtitle.pid   
230 FROM foltia_subtitle , foltia_program , foltia_m2pfiles
231 WHERE foltia_program.tid = foltia_subtitle.tid 
232  AND foltia_subtitle.m2pfilename = foltia_m2pfiles.m2pfilename
233 ORDER BY foltia_subtitle.startdatetime DESC
234 LIMIT $lim OFFSET $st
235 ";
236 }
237
238 //$rs = m_query($con, $query, "DBクエリに失敗しました");
239 $rs = sql_query($con, $query, "DBクエリに失敗しました");
240 $rowdata = $rs->fetch();
241
242 /////////////////////////////////////////
243 //テーブルの総数取得
244        $query2 = "
245 SELECT COUNT(*) AS cnt FROM foltia_subtitle , foltia_program , foltia_m2pfiles
246 WHERE foltia_program.tid = foltia_subtitle.tid
247  AND foltia_subtitle.m2pfilename = foltia_m2pfiles.m2pfilename
248         ";
249 $rs2 = sql_query($con, $query2, "DB\?\ィ\e?E?oCO???T????");
250 $rowdata2 = $rs2->fetch();
251           if (! $rowdata2) {
252                 die_exit("番組データがありません<BR>");
253           }
254 //1O?o?eAA
255 $dtcnt $rowdata2[0];
256
257 /////////////////////////////////////////
258
259 if ($rowdata) {
260
261     do {
262 $tid = htmlspecialchars($rowdata[0]);
263 $title = htmlspecialchars($rowdata[1]);
264 $count = htmlspecialchars($rowdata[2]);
265 $subtitle = htmlspecialchars($rowdata[3]);
266 $fName  = htmlspecialchars($rowdata[4]);
267 $pid  = htmlspecialchars($rowdata[5]);
268 //--
269
270 print "
271 <tr>
272 <td><INPUT TYPE='checkbox' NAME='delete[]' VALUE='$fName'><br></td>";
273 if (ereg("syabas",$useragent)){
274 print "<td><A HREF=\"./view_syabas.php?pid=$pid\" vod=playlist>$fName</td>";
275 }
276 else{
277 print "<td><A HREF=\"$httpmediamappath/$fName\">$fName</A><br></td>";
278 }
279 if ($tid > 0){
280 print"<td><a href=\"http://cal.syoboi.jp/tid/$tid\" target=\"_blank\">$title</a></td>
281 <td>$count<br></td>
282 <td><a href = \"http://cal.syoboi.jp/tid/$tid/time#$pid\" target=\"_blank\">$subtitle</a><br></td>";
283 }else{
284 print"<td>$title</td>
285 <td>$count<br></td>
286 <td>$subtitle<br></td>";
287 }
288
289     if (file_exists("./selectcaptureimage.php") ) {
290     $capimgpath = preg_replace("/.m2.+/", "", $fName);
291     print "            <td align=\"left\"><a href=\"./selectcaptureimage.php?pid=$pid\">キャプ</a></td>\n";
292     }
293
294 print "</tr>\n
295 ";
296
297 //}
298
299
300     } while ($rowdata = $rs->fetch());
301 }else{
302
303 print "
304 <tr>
305 <td COLSPAN=\"5\">ファイルがありません</td>
306 </tr>
307 ";
308
309
310 }//end if
311
312 print "</tbody>
313 </table>
314 </FORM>\n";
315
316 //////////////////////////////////////////////////////////////////////
317 //クエリ代入
318 $query_st = $list;
319 //Autopageing処理とページのリンクを表示
320 list($p2,$page) = page_display($query_st,$p,$p2,$lim,$dtcnt,"");
321 //////////////////////////////////////////////////////////////////////
322
323 //midokubangumi no title dake hyouji
324 //番組ソートの時、未読番組のタイトルだけ表示
325 if ($list== "title" && $p2 > $page){
326
327 $query = "
328 SELECT distinct
329 foltia_program.tid,
330 foltia_program.title
331 FROM foltia_subtitle , foltia_program , foltia_m2pfiles
332 WHERE foltia_program.tid = foltia_subtitle.tid 
333  AND foltia_subtitle.m2pfilename = foltia_m2pfiles.m2pfilename
334 ORDER BY foltia_program.tid DESC
335 ";
336
337 //$rs = m_query($con, $query, "DBクエリに失敗しました");
338 $rs = sql_query($con, $query, "DBクエリに失敗しました");
339     $rowdata = $rs->fetch();
340     if ($rowdata) {
341 print "<hr>
342 <p align=\"left\">未読タイトルを表示します。<br>
343   <table BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"2\" WIDTH=\"100%\">
344     <thead>
345         <tr>
346             <th align=\"left\">TID</th>
347             <th align=\"left\">タイトル</th>
348         </tr>
349     </thead>
350     <tbody>
351 ";
352
353         do {
354 $tid = htmlspecialchars($rowdata[0]);
355 $title = htmlspecialchars($rowdata[1]);
356 print "<tr><td>$tid</td><td>$title</td></tr>\n";
357
358         } while ($rowdata = $rs->fetch());
359 print "</tbody></table>\n";
360 }//if maxrows
361 }//if title
362
363
364 ?>
365
366 </body>
367 </html>
368
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。
track feed