- コミット日時:
- 2008/01/24 18:27:18 (17 年前)
- ファイル:
-
- trunk/doc/img/env1.png (追加)
- trunk/doc/img/env2.png (追加)
- trunk/doc/img/env3.png (追加)
- trunk/doc/img/env4.png (追加)
- trunk/doc/index.html (更新) (7 diffs)
- trunk/install/mktable.txt (更新) (2 diffs)
- trunk/install/perl/envpolicyupdate.pl (追加)
- trunk/install/perl/foltia_conf1.pl.template (更新) (1 diff)
- trunk/install/perl/foltialib.pl (更新) (1 diff)
- trunk/install/perl/ipodtranscode.pl (更新) (1 diff)
- trunk/install/perl/recwrap.pl (更新) (1 diff)
- trunk/install/php/accountregist.php (追加)
- trunk/install/php/delepgp.php (更新) (3 diffs)
- trunk/install/php/deletemovie.php (更新) (4 diffs)
- trunk/install/php/delreserve.php (更新) (3 diffs)
- trunk/install/php/folcast.php (更新) (1 diff)
- trunk/install/php/foltia_config2.php.template (更新) (1 diff)
- trunk/install/php/foltialib.php (更新) (2 diffs)
- trunk/install/php/index.php (更新) (1 diff)
- trunk/install/php/listreserve.php (更新) (7 diffs)
- trunk/install/php/m.php (更新) (3 diffs)
- trunk/install/php/myfoltia.php (追加)
- trunk/install/php/reservecomp.php (更新) (3 diffs)
- trunk/install/php/reserveepg.php (更新) (3 diffs)
- trunk/install/php/reserveepgcomp.php (更新) (4 diffs)
- trunk/install/php/reserveprogram.php (更新) (3 diffs)
- trunk/install/php/selectcaptureimage.php (更新) (2 diffs)
- trunk/install/php/showlib.php (更新) (2 diffs)
- trunk/install/php/showlibc.php (更新) (2 diffs)
- trunk/install/php/showplaylist.php (更新) (3 diffs)
- trunk/install/php/titlelist.php (更新) (2 diffs)
- trunk/install/php/view_syabas.php (更新) (1 diff)
- trunk/install/php/viewepg.php (更新) (2 diffs)
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
trunk/doc/index.html
r63 r70 24 24 <li><a href = "#install">インストール</a> 25 25 <li><a href = "#operation">操作概要</a> 26 <li><a href = "#envpolicy">環境ポリシー</a> 26 27 <li><a href = "#colophon">おわりに</a> 27 28 </ul> … … 105 106 <li>foltia_m2pfiles:録画されたMPEG2ファイルの情報をキャッシュ的に持つテーブルです。</li> 106 107 <li>foltia_mp4files:変換されたMPEG4ファイルの情報をキャッシュ的に持つテーブルです。</li> 108 <li>foltia_envpolicy:環境ポリシー利用時にユーザの情報を持つテーブルです。</li> 107 109 </ul> 108 110 <div class="sidebar"> … … 159 161 <a href = "http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-March/009814.html" target = "_blank">http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-March/009814.html</a><br><br> 160 162 環境によっては更にx264.cのアップデートが必要という情報が寄せられた。(From <a href="http://www.dcc-jpl.com/soft/foltia/bbs/minibbs.php">foltia BBS TTTさん</a>) 161 163 <p class="command">svn cat --revision 6711 ffmpeg/libavcodec/x264.c > ffmpeg/libavcodec/x264.c</p> 162 164 3.メイクする<br> 163 165 手もとでは下記オプションでビルドしています。 … … 223 225 5:iPhone/iPod 480x320 H.264 高画質 30fps 350kbps<br /> 224 226 <br /> 227 <span class="screen">$phptoolpath = $toolpath ;</span><br /> 228 foltiaのphpディレクトリのパスを指定します。デフォルトではperlと同じ階層になります。<br /> 229 <br /> 225 230 そのほか、データベース設定もありますが環境に応じて設定して下さい。</p> 226 231 <h4>・設定2:php/foltia_config2.php</h4> … … 237 242 $recunits = '4'; </span><br /> 238 243 foltia_conf1.plと同じ搭載エンコーダの数。GV-MVP/RX2Wを一枚刺しの場合は2になります。</p> 244 <p> <span class="screen">$useenvironmentpolicy = 0 ;</span><br /> 245 環境ポリシーを使うかどうか。<a href = "#envpolicy">環境ポリシー</a>機能については後述します。最初は利用しない状態で動作確認をすることをおすすめいたします。</p> 246 <p><span class="screen">$environmentpolicytoken = "";</span><br /> 247 環境ポリシーのパスワードに連結されるセキュリティコード。<a href = "#envpolicy">環境ポリシー</a>機能については後述します</p> 248 <p><span class="screen">$perltoolpath = $toolpath ;</span><br /> 249 foltiaのperlディレクトリのパスを指定します。デフォルトではphpと同じ階層になります。</p> 239 250 <h4>・設定3:foltia_stationテーブル</h4> 240 251 <p>録画の重要な設定となる項目です。インストールが無事に終了してれば首都圏の放送局設定サンプルが入っていますのでそれを参考に設定して下さい。<br /> … … 397 408 <img src="img/screen16.png" width="800" height="600" /><br /> 398 409 </p> 399 <hr> 410 <h2 id="envpolicy">・環境ポリシー</h2> 411 <p>foltiaではチェンジセット70にて環境ポリシーと呼ばれる機能が追加されました。以下では環境ポリシー機能について説明いたします。</p> 412 <h3>概要</h3> 413 環境ポリシーは家庭内など利用者が複数いる環境でより便利に使えるよう導入されました。 414 具体的には次のような機能を持ちます。<br /> 415 ・ユーザの概念の導入<br /> 416 ・ユーザごとの権限の概念の導入<br /> 417 ・ユーザごとの個別設定の保持(未実装) 418 419 <h3>設定</h3> 420 421 <p>foltia_config2.phpで次の設定を変更します。</p> 422 <p><span class="screen">$useenvironmentpolicy = 0 ;</span><br /> 423 環境ポリシーを使うかどうか。0が未使用(デフォルト)、1が使用です。</p> 424 <p><span class="screen">$environmentpolicytoken = "";</span><br /> 425 環境ポリシーのパスワードに連結されるセキュリティコード。セキュリティコードとは各ユーザがログインするために自分のアカウントのパスワード以外に知らなければいけないフレーズです。デフォルトは空白です。空白でも差し支えありません。</p> 426 <p><span class="screen">$perltoolpath = $toolpath ;</span><br /> 427 foltiaのperlディレクトリのパスを指定します。デフォルトではphpと同じ階層になります。</p> 428 <p> </p> 429 <div class="sidebar"> 430 <p>古いfoltiaからアップグレードする場合はデータベースのテーブルを拡張する必要があります。<br /> 431 テーブルの 432 詳細はmktable.txtファイルを参考にして下さい。<br /> 433 ・新規作成テーブル:foltia_envpolicy<br /> 434 ・追加カラム:foltia_subtitleテーブルにepgaddedbyカラム追加<br /> 435 ・新規レコード追加:foltia管理者アカウントをユーザリストに作ります。新規インストールした場合は次のように作られます。<br /> 436 <span class="screen"> insert into foltia_envpolicy 437 values ( '0','0','foltia','foltiapasswd',now(),'');</span><br /> 438 <br /> 439 </p> 440 </div> 441 <p> つぎに.htpasswdファイルを作成します。デフォルトではperlディレクトリと同じ階層に設置されます。もし既に.htpasswdがあるならば必要に応じてバックアップを取っておいて下さい。ファイルの作成はperl/envpolicyupdate.plを実行することで自動的に作成されます。</p> 442 <p> 環境ポリシーが有効になると、アクセス時にブラウザによって認証画面が出るようになります。ID:foltia 443 PW:foltiapasswd)が初期管理者パスワードです。 ページが表示されるとメニューの右端にアカウントが出るようになります。<br /> 444 <img src="img/env1.png" width="806" height="87" /></p> 445 <h3>操作</h3> 446 <p>ログイン時に認証されなかった場合下記の画面になります。<br /> 447 <img src="img/env2.png" width="497" height="163" /> 448 <br /> 449 ここで「こちらから。」につながってるリンクをたどるとaccountregist.phpに移動して次のような画面となります。<br /> 450 <img src="img/env3.png" /> <br /> 451 ここでアカウントを追加すると即時に有効になります。<br /> 452 設定でセキュリティコードを空白のデフォルトにしておいた場合、ここで登録されたパスワードでログイン出来ます。セキュリティコードを設定した場合パスワードとセキュリティコードをつないだ文字列でログイン可能となります。具体的にはこんな感じです。<br /> 453 ・アカウントのパスワード[fate]、セキュリティコード、空白の場合、ログインパスワード:[fate]<br /> 454 ・アカウントのパスワード[fate]、セキュリティコード、[nanoha]の場合、ログインパスワード:[fatenanoha]<br /> 455 特権管理者はセキュリティコードのいかんにかかわらず常にアカウントのパスワードでログイン出来ます。</p> 456 <p class="sidebar">ユーザクラスは次のように定義されています。<br /> 457 <br /> 458 0:特権管理者:インストール時に設定されるfoltiaアカウントのクラス。<br /> 459 1:管理者:予約削除、ファイル削除が出来る。セキュリティコード以外特権管理者と同様。<br /> 460 2:利用者:EPG追加、予約追加が出来る。<br /> 461 3:ビュアー:ファイルダウンロードが出来る。<br /> 462 4:ゲスト:インターフェイスが見れる。(未実装)<br /> 463 <br /> 464 新規登録されたアカウントのデフォルトユーザクラスは2の利用者となります。<br /> 465 </p> 466 <p>管理者はEPG録画の予約者確認と、予約削除が可能です。<br /> 467 <img src="img/env4.png" width="788" height="302" /></p> 468 <p>今後ユーザごとにFolcastを編集出来る機能などを開発予定です。</p> 400 469 <h2 id="colophon">・おわりに</h2> 401 470 <p> 以上、駆け足でfoltiaの概要を説明してきました。今のところfoltiaには視聴に関する機能は一切ありませんが、使用例として自宅では富士通T90Hというパソコンにfoltia録画ボリュームをSambaでマウントし、WinDVDでMPEG2を再生、外ではiPod … … 418 487 IRC #dameTunesのみなさま<br /> 419 488 他多数</p> 420 <p>本ドキュメントはオープンソースマガジン200 年6月号(ソフトバンククリエイティブ刊)向け原稿として書き起こした稿をもとに加筆したものです。公開を快く許諾して下さいましたソフトバンククリエイティブ様にお礼申し上げます。</p>489 <p>本ドキュメントはオープンソースマガジン2006年6月号(ソフトバンククリエイティブ刊)向け原稿として書き起こした稿をもとに加筆したものです。公開を快く許諾して下さいましたソフトバンククリエイティブ様にお礼申し上げます。</p> 421 490 <p>本ソフトウェアは完全な無保証です。ライセンスとしてGPL2を適用したいと考えていますが適用出来るかどうかの判断がまだ終わっていない段階です。</p> 422 491 </body> trunk/install/mktable.txt
r69 r70 32 32 lengthmin int8, 33 33 m2pfilename text , 34 PSPfilename text 34 PSPfilename text , 35 epgaddedby int8 35 36 ); 36 37 create unique index foltia_subtitle_pid_index on foltia_subtitle (pid); … … 226 227 227 228 228 drop table foltia_weeklytimer ;229 create table foltia_weeklytimer (230 timerid int8 PRIMARY KEY,231 recpattern int8,232 stationid int8,233 startdatetime int8,234 enddatetime int8,235 subtitle text,236 addeddate timestamp237 );238 REVOKE ALL on "foltia_weeklytimer" from PUBLIC;239 GRANT UPDATE,SELECT,INSERT on "foltia_weeklytimer" to "foltia";240 241 trunk/install/perl/foltia_conf1.pl.template
r8 r70 25 25 #2:iPod H.264 中画質 24fps 300kbps 26 26 #3:iPod H.264 高画質 30fps 300kbps 27 $phptoolpath = $toolpath ;#php版の初期設定の位置。デフォルトではperlと同じ位置 27 28 28 29 #以下はデフォルトでインストールしてればいじらなくてもいい trunk/install/perl/foltialib.pl
r50 r70 227 227 228 228 229 sub getphpstyleconfig{ 230 my $key = $_[0]; 231 my $phpconfigpath = ""; 232 my $configline = ""; 233 # read 234 if (-e "$phptoolpath/php/foltia_config2.php"){ 235 $phpconfigpath = "$phptoolpath/php/foltia_config2.php"; 236 }elsif(-e "$toolpath/php/foltia_config2.php"){ 237 $phpconfigpath = "$toolpath/php/foltia_config2.php"; 238 }else{ 239 $phpconfigpath = `locate foltia_config2.php | head -1`; 240 chomp($phpconfigpath); 241 } 242 243 244 if (-r $phpconfigpath ){ 245 open (CONFIG ,"$phpconfigpath") || die "File canot read.$!"; 246 while(<CONFIG>){ 247 if (/$key/){ 248 $configline = $_; 249 $configline =~ s/\/\/.*$//; 250 $configline =~ s/\/\*.*\*\///; 251 }else{ 252 } 253 } 254 close(CONFIG); 255 }#end if -r $phpconfigpath 256 return ($configline); 257 }#end sub getphpstyleconfig 258 229 259 230 260 1; trunk/install/perl/ipodtranscode.pl
r62 r70 103 103 $encodeoption = "-y -i $inputmpeg2 -target ipod -profile 51 -level 30 $cropopt -acodec aac -ab 96 -vcodec h264 -maxrate 700 -minrate 0 -deinterlace -b 300 -ar 32000 -mbd 2 -coder 1 -cmp 2 -subcmp 2 -s 320x240 -r 30000/1001 -flags loop -trellis 2 -partitions parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 $movietitle ${mp4outdir}MAQ${mp4filenamestring}.MP4"; 104 104 $mp4file = "${mp4outdir}MAQ${mp4filenamestring}.MP4"; 105 }elsif($trconqty == 4){ #sample:src 106.6sec encode 334.8sec x3.14 kbps @Celeron2.6GHz 904kbps106 105 107 $encodeoption = "-y -i $inputmpeg2 -target ipod -profile 51 -level 30 $cropopt -s 480x320 -b 350 -r 24 -acodec aac -ar 32000 -ac 2 $movietitle ${mp4outdir}MAQ${mp4filenamestring}.MP4"; 106 }elsif($trconqty == 4){ #sample:src 106.6sec encode 239sec x2.24 1036kbps @Celeron2.6GHz 107 108 $encodeoption = "-y -i $inputmpeg2 -target ipod -profile 51 -level 30 $cropopt -s 480x360 -b 400 -r 24 -acodec aac -ar 32000 -ac 2 $movietitle ${mp4outdir}MAQ${mp4filenamestring}.MP4"; 108 109 $mp4file = "${mp4outdir}MAQ${mp4filenamestring}.MP4"; 109 110 110 }elsif($trconqty == 5){ #sample:src 106.6sec encode 684.5sec x6.42 kbps @Celeron2.6GHz 667kbps111 }elsif($trconqty == 5){ #sample:src 106.6sec encode 1012sec x9.49 727kbps @Celeron2.6GHz 111 112 112 $encodeoption = "-y -i $inputmpeg2 -target ipod -profile 51 -level 30 $cropopt -acodec aac -ab 96 -vcodec h264 -maxrate 700 -minrate 0 -deinterlace -b 350 -ar 32000 -mbd 2 -coder 1 -cmp 2 -subcmp 2 -s 480x320 -r 30000/1001 -flags loop -trellis 2 -partitions parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 $movietitle ${mp4outdir}MAQ${mp4filenamestring}.MP4";113 $encodeoption = "-y -i $inputmpeg2 -target ipod -profile 51 -level 30 $cropopt -acodec aac -ab 96 -vcodec h264 -maxrate 700 -minrate 0 -deinterlace -b 400 -ar 32000 -mbd 2 -coder 1 -cmp 2 -subcmp 2 -s 480x360 -r 30000/1001 -flags loop -trellis 2 -partitions parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 $movietitle ${mp4outdir}MAQ${mp4filenamestring}.MP4"; 113 114 $mp4file = "${mp4outdir}MAQ${mp4filenamestring}.MP4"; 114 115 } trunk/install/perl/recwrap.pl
r60 r70 278 278 # 既にトラコンプロセスが走っているなら適当に待機 279 279 if ($trcnprocesses >= $cpucores){ 280 &writelog("recwrap TRCN WAITING :$trcnprocesses / $cpucores :$outputfilename "); 281 sleep 53; 282 sleep $recch; 280 if (-e "/proc/uptime" ){ 281 $loadaverage = `uptime`; 282 chomp($loadaverage); 283 }else{ 284 $loadaverage = ""; 285 } 286 &writelog("recwrap TRCN WAITING :$trcnprocesses / $cpucores :$outputfilename $loadaverage"); 287 sleep 113; 288 sleep ($recch)*5; 283 289 } 284 290 } until ($trcnprocesses < $cpucores); trunk/install/php/delepgp.php
r1 r70 16 16 17 17 */ 18 19 include("./foltialib.php"); 20 $con = m_connect(); 21 22 if ($useenvironmentpolicy == 1){ 23 if (!isset($_SERVER['PHP_AUTH_USER'])) { 24 header("WWW-Authenticate: Basic realm=\"foltia\""); 25 header("HTTP/1.0 401 Unauthorized"); 26 redirectlogin(); 27 exit; 28 } else { 29 login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); 30 } 31 }//end if login 32 33 18 34 ?> 19 35 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> … … 28 44 <?php 29 45 30 include("./foltialib.php");31 46 32 47 $pid = getgetform(pid); … … 35 50 } 36 51 37 $con = m_connect();38 52 $now = date("YmdHi"); 39 53 ?> trunk/install/php/deletemovie.php
r17 r70 15 15 16 16 */ 17 18 include("./foltialib.php"); 19 $con = m_connect(); 20 21 if ($useenvironmentpolicy == 1){ 22 if (!isset($_SERVER['PHP_AUTH_USER'])) { 23 header("WWW-Authenticate: Basic realm=\"foltia\""); 24 header("HTTP/1.0 401 Unauthorized"); 25 redirectlogin(); 26 exit; 27 } else { 28 login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); 29 } 30 }//end if login 31 17 32 ?> 18 33 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> … … 26 41 27 42 <?php 28 include("./foltialib.php");29 $con = m_connect();30 43 $now = date("YmdHi"); 31 44 … … 41 54 <p align="left"><font color="#494949" size="6">録画番組削除</font></p> 42 55 <hr size="4"> 43 <p align="left">次の番組を削除しました。</p> 56 <?php 57 $userclass = getuserclass($con); 58 if ( $userclass <= 1){ 59 60 print "<p align=\"left\">次の番組を削除しました。</p> 61 <table BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"2\" WIDTH=\"100%\"> 62 <thead> 63 <tr> 64 <th align=\"left\">ファイル名</th> 65 <th align=\"left\">タイトル</th> 66 <th align=\"left\">話数</th> 67 <th align=\"left\">サブタイ</th> 68 </tr> 69 </thead> 70 <tbody>"; 44 71 45 72 46 <table BORDER="0" CELLPADDING="0" CELLSPACING="2" WIDTH="100%">47 <thead>48 <tr>49 <th align="left">ファイル名</th>50 <th align="left">タイトル</th>51 <th align="left">話数</th>52 <th align="left">サブタイ</th>53 </tr>54 </thead>55 73 56 <tbody>57 <?58 59 //--60 74 61 75 foreach ($delete as $fName) { … … 129 143 }//foreach 130 144 145 print " </tbody></table>\n"; 146 147 }else{//権限なし 148 print "<p align=\"left\">ファイル削除権限がありません。</p>"; 149 } 150 131 151 ?> 132 </tbody>133 </table>134 152 135 153 </body> trunk/install/php/delreserve.php
r1 r70 17 17 18 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 19 34 ?> 20 35 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> … … 29 44 <?php 30 45 31 include("./foltialib.php");32 46 33 47 $tid = getgetnumform(tid); … … 40 54 } 41 55 42 $con = m_connect();43 56 $now = date("YmdHi"); 44 57 ?> trunk/install/php/folcast.php
r64 r70 22 22 header('Content-Disposition: attachment; filename="folcast.xml"'); 23 23 24 24 include("./foltialib.php"); 25 25 $con = m_connect(); 26 26 /* 27 if ($useenvironmentpolicy == 1){ 28 if (!isset($_SERVER['PHP_AUTH_USER'])) { 29 header("WWW-Authenticate: Basic realm=\"foltia\""); 30 header("HTTP/1.0 401 Unauthorized"); 31 redirectlogin(); 32 exit; 33 } else { 34 login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); 35 } 36 }//end if login 37 */ 27 38 $now = date("YmdHi"); 28 39 $nowrfc822 = date("r"); trunk/install/php/foltia_config2.php.template
r51 r70 21 21 $protectmode = 0; //未使用:(ブラウザからの予約削除を禁止するなどの保護モードで動作します) 22 22 $demomode = 0; //未使用:(ユーザインターフェイスだけ動作するデモモードで動作します) 23 $useenvironmentpolicy = 0 ;//環境ポリシーを使うかどうか 24 $environmentpolicytoken = "";//環境ポリシーのパスワードに連結されるセキュリティコード 25 $perltoolpath = $toolpath ;//perl版の初期設定の位置。デフォルトではphpと同じ位置 23 26 24 27 // データベース接続設定 trunk/install/php/foltialib.php
r67 r70 261 261 function printhtmlpageheader(){ 262 262 263 global $useenvironmentpolicy; 264 263 265 $serveruri = getserveruri(); 264 265 print "<p align='left'><font color='#494949'><A HREF = 'http://www.dcc-jpl.com/soft/foltia/' target=\"_blank\">foltia</A> | <A HREF = './index.php'>放映予定</A> | <A HREF = './index.php?mode=new'>新番組</A> | <A HREF = './listreserve.php'>予約一覧</A> | <A HREF = './titlelist.php'>番組一覧</A> | <A HREF = './viewepg.php'>番組表</A> | 録画一覧(<A HREF = './showplaylist.php'>録画順</A>・<A HREF = './showplaylist.php?list=title'>番組順</A>・<A HREF = './showplaylist.php?list=raw'>全</A>) | <A HREF = './showlib.php'>録画ライブラリ</A> | <A HREF = './folcast.php'>Folcast(RSS)</A>[<a href=\"itpc://$serveruri/folcast.php\">iTunesにFolcastを登録</a>] |</font></p>\n"; 266 $username = $_SERVER['PHP_AUTH_USER']; 267 268 print "<p align='left'><font color='#494949'><A HREF = 'http://www.dcc-jpl.com/soft/foltia/' target=\"_blank\">foltia</A> | <A HREF = './index.php'>放映予定</A> | <A HREF = './index.php?mode=new'>新番組</A> | <A HREF = './listreserve.php'>予約一覧</A> | <A HREF = './titlelist.php'>番組一覧</A> | <A HREF = './viewepg.php'>番組表</A> | 録画一覧(<A HREF = './showplaylist.php'>録画順</A>・<A HREF = './showplaylist.php?list=title'>番組順</A>・<A HREF = './showplaylist.php?list=raw'>全</A>) | <A HREF = './showlib.php'>録画ライブラリ</A> | <A HREF = './folcast.php'>Folcast</A>[<a href=\"itpc://$serveruri/folcast.php\">iTunesに登録</a>] | "; 269 if ($useenvironmentpolicy == 1){ 270 print "【 $username 】"; 271 } 272 273 print "</font></p>\n"; 266 274 267 275 } … … 529 537 530 538 531 532 533 534 535 536 537 538 539 540 541 539 function login($con,$name,$passwd){ 540 global $environmentpolicytoken; 541 542 //入力内容確認 543 if (((mb_ereg('[^0-9a-zA-Z]', $name)) ||(mb_ereg('[^0-9a-zA-Z]', $passwd) ))){ 544 545 //print "エラー処理\n"; 546 //print "<!-- DEBUG name/passwd format error-->"; 547 redirectlogin(); 548 549 }else{ 550 //print "正常処理\n"; 551 //db検索 552 escape_string($name); 553 escape_string($passwd); 554 555 $query = " 556 SELECT memberid ,userclass,name,passwd1 557 FROM foltia_envpolicy 558 WHERE foltia_envpolicy.name = '$name' 559 "; 560 $useraccount = m_query($con, $query, "DBクエリに失敗しました"); 561 $useraccountrows = pg_num_rows($useraccount); 562 563 if ($useraccountrows == 1 ){ 564 $rowdata = pg_fetch_row($useraccount, 0); 565 $memberid = $rowdata[0]; 566 $userclass = $rowdata[1]; 567 $username = $rowdata[2]; 568 $dbpasswd = $rowdata[3]; 569 }else{ 570 header("HTTP/1.0 401 Unauthorized"); 571 //print "<!-- DEBUG DB record error ($useraccountrows)-->"; 572 redirectlogin(); 573 }//end if 574 575 576 // passwdをdbから取りだし 577 if ($userclass == 0){ 578 $dbpasswd = "$dbpasswd"; 579 }else{ 580 // db passwdとトークンを連結し 581 $dbpasswd = "$dbpasswd"."$environmentpolicytoken"; 582 } 583 //それが入力と一致すれば認証 584 if ($passwd == $dbpasswd) { 585 //print "認証成功<br>$dbpasswd $passwd\n"; 586 }else{ 587 //print "認証失敗<br>$dbpasswd $passwd\n"; 588 header("HTTP/1.0 401 Unauthorized"); 589 //print "<!-- DEBUG passwd unmatch error>"; 590 redirectlogin(); 591 } 592 }//end if mb_ereg 593 }//end function login 594 595 596 597 598 function redirectlogin(){ 599 600 print "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n"; 601 print "<html><head>\n"; 602 print "<title>foltia:Invalid login</title>\n"; 603 print "</head><body>\n"; 604 print "<h1>Invalid login</h1>"; 605 print "<p>foltiaヘのアクセスにはログインが必要です。新規アカウント登録は<a href=\"./accountregist.php\">こちらから。</a></p><hr>\n"; 606 print "<address>foltia by DCC-JPL Japan/foltia Project. <a href = \"http://www.dcc-jpl.com/soft/foltia/\">http://www.dcc-jpl.com/soft/foltia/</a></address>\n"; 607 print "</body></html>\n"; 608 609 610 611 exit; 612 }//end function redirectlogin 613 614 function getuserclass($con){ 615 global $useenvironmentpolicy; 616 $username = $_SERVER['PHP_AUTH_USER']; 617 618 if ($useenvironmentpolicy == 1){ 619 $query = " 620 SELECT memberid ,userclass,name,passwd1 621 FROM foltia_envpolicy 622 WHERE foltia_envpolicy.name = '$username' 623 "; 624 $useraccount = m_query($con, $query, "DBクエリに失敗しました"); 625 $useraccountrows = pg_num_rows($useraccount); 626 627 if ($useraccountrows == 1 ){ 628 $rowdata = pg_fetch_row($useraccount, 0); 629 //$userclass = $rowdata[1]; 630 return ($rowdata[1]); 631 }else{ 632 return (99);//エラー 633 }//end if 634 635 }else{ 636 return (0);//環境ポリシー使わないときはつねに特権モード 637 }//end if 638 }//end function getuserclass 639 640 641 642 function getmymemberid($con){ 643 global $useenvironmentpolicy; 644 $username = $_SERVER['PHP_AUTH_USER']; 645 646 if ($useenvironmentpolicy == 1){ 647 $query = " 648 SELECT memberid ,userclass,name,passwd1 649 FROM foltia_envpolicy 650 WHERE foltia_envpolicy.name = '$username' 651 "; 652 $useraccount = m_query($con, $query, "DBクエリに失敗しました"); 653 $useraccountrows = pg_num_rows($useraccount); 654 655 if ($useraccountrows == 1 ){ 656 $rowdata = pg_fetch_row($useraccount, 0); 657 //$userclass = $rowdata[1]; 658 return ($rowdata[0]); 659 }else{ 660 return (-1);//エラー 661 }//end if 662 663 }else{ 664 return (0);//環境ポリシー使わないときはつねに特権モード 665 }//end if 666 }//end function getuserclass 667 668 669 function getmemberid2name($con,$memberid){ 670 global $useenvironmentpolicy; 671 //$username = $_SERVER['PHP_AUTH_USER']; 672 673 if ($useenvironmentpolicy == 1){ 674 $query = " 675 SELECT memberid ,userclass,name,passwd1 676 FROM foltia_envpolicy 677 WHERE foltia_envpolicy.memberid = '$memberid' 678 "; 679 $useraccount = m_query($con, $query, "DBクエリに失敗しました"); 680 $useraccountrows = pg_num_rows($useraccount); 681 682 if ($useraccountrows == 1 ){ 683 $rowdata = pg_fetch_row($useraccount, 0); 684 return ($rowdata[2]); 685 }else{ 686 return ("");//エラー 687 }//end if 688 689 }else{ 690 return (""); 691 }//end if 692 693 694 695 }//end function getmemberid2name 542 696 543 697 ?> trunk/install/php/index.php
r32 r70 17 17 18 18 */ 19 ?> 20 21 <?php 22 include("./foltialib.php"); 23 19 20 include("./foltialib.php"); 24 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 25 34 $now = date("YmdHi"); 26 27 35 28 36 function printtitle(){ trunk/install/php/listreserve.php
r63 r70 17 17 18 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 $userclass = getuserclass($con); 34 19 35 ?> 20 36 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> … … 28 44 29 45 <?php 30 31 include("./foltialib.php"); 32 33 $con = m_connect(); 34 46 $mymemberid = getmymemberid($con); 35 47 $now = getgetnumform(startdate); 48 36 49 if ($now > 200501010000){ 37 50 }else{ … … 49 62 foltia_tvrecord.bitrate , 50 63 foltia_subtitle.startoffset , 51 foltia_subtitle.pid 64 foltia_subtitle.pid , 65 foltia_subtitle.epgaddedby 52 66 FROM foltia_subtitle , foltia_program ,foltia_station ,foltia_tvrecord 53 67 WHERE foltia_tvrecord.tid = foltia_program.tid AND foltia_tvrecord.stationid = foltia_station .stationid AND foltia_program.tid = foltia_subtitle.tid AND foltia_station.stationid = foltia_subtitle.stationid … … 64 78 foltia_tvrecord.bitrate , 65 79 foltia_subtitle.startoffset , 66 foltia_subtitle.pid 80 foltia_subtitle.pid , 81 foltia_subtitle.epgaddedby 67 82 FROM foltia_tvrecord 68 83 LEFT OUTER JOIN foltia_subtitle on (foltia_tvrecord.tid = foltia_subtitle.tid ) … … 130 145 $tid = htmlspecialchars($rowdata[0]); 131 146 $title = htmlspecialchars($rowdata[2]); 132 $subtitle = htmlspecialchars($rowdata[4]); 147 $subtitle = htmlspecialchars($rowdata[4]); 148 $dbepgaddedby = htmlspecialchars($rowdata[10]); 149 133 150 //重複検出 134 151 //開始時刻 $rowdata[5] … … 268 285 print "<td><a href=\"http://cal.syoboi.jp/tid/$tid/time#$pid\" target=\"_blank\">$subtitle<br></td>\n"; 269 286 }else{ 270 if ($protectmode) { 271 print "<td>$subtitle<br></td>\n"; 287 //if ( $userclass <= 2){ 288 if (($mymemberid == $dbepgaddedby)||($userclass <= 1)){ 289 if ($userclass <= 1 ){//管理者なら 290 $membername = getmemberid2name($con,$dbepgaddedby); 291 $membername = ":" . $membername ; 292 }else{ 293 $membername = ""; 294 } 295 print "<td>$subtitle [<a href=\"delepgp.php?pid=$pid\">予約解除</a>$membername]<br></td>\n"; 272 296 }else{ 273 print "<td>$subtitle [ <a href=\"delepgp.php?pid=$pid\">予約解除</a>]<br></td>\n";297 print "<td>$subtitle [解除不能]<br></td>\n"; 274 298 } 275 299 } … … 345 369 echo("<tr>\n"); 346 370 //予約解除 347 if ($protectmode) { 348 echo("<td>−</td>"); 371 if ( $userclass <= 1){ 372 echo("<td><a href=\"delreserve.php?tid=$tid&sid=" . 373 htmlspecialchars($rowdata[4]) . "\">解除</a></td>\n"); 349 374 }else{ 350 echo("<td><a href=\"delreserve.php?tid=$tid&sid=" . 351 htmlspecialchars($rowdata[4]) . "\">解除</a></td>\n"); 375 echo("<td>−</td>"); 352 376 } 353 377 //TID trunk/install/php/m.php
r46 r70 23 23 24 24 <?php 25 include("./foltialib.php"); 26 25 include("./foltialib.php"); 27 26 $con = m_connect(); 27 if ($useenvironmentpolicy == 1){ 28 if (!isset($_SERVER['PHP_AUTH_USER'])) { 29 header("WWW-Authenticate: Basic realm=\"foltia\""); 30 header("HTTP/1.0 401 Unauthorized"); 31 redirectlogin(); 32 exit; 33 } else { 34 login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); 35 } 36 }//end if login 37 28 38 $now = date("YmdHi"); 29 39 $errflag = 0; … … 187 197 <input name="lengthmin" type="text" id="lengthmin" size="4" value="<?=$lengthmin?>"/> 188 198 分 (最長360分) </p> 199 189 200 <p>録画局: 190 201 <?php … … 238 249 <input name="pname" type="text" id="pname" value="<?=$pname ?>" /> 239 250 </p> 251 <p style='background-color: #DDDDFF'> 252 繰り返し指定-毎週以下の曜日に録画: 253 <input name="weeklyloop" type="radio" value="128" /> 日曜 254 <input name="weeklyloop" type="radio" value="64" /> 月曜 255 <input name="weeklyloop" type="radio" value="32" /> 火曜 256 <input name="weeklyloop" type="radio" value="16" /> 水曜 257 <input name="weeklyloop" type="radio" value="8" /> 木曜 258 <input name="weeklyloop" type="radio" value="4" /> 金曜 259 <input name="weeklyloop" type="radio" value="2" /> 土曜 260 </p> 261 240 262 <input type="submit" value="予約"> 241 263 </form> trunk/install/php/reservecomp.php
r1 r70 17 17 18 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 19 34 ?> 20 35 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> … … 29 44 <?php 30 45 31 include("./foltialib.php");32 46 33 47 $tid = getgetnumform(tid); … … 47 61 48 62 49 $con = m_connect();50 63 $now = date("YmdHi"); 51 64 trunk/install/php/reserveepg.php
r41 r70 15 15 16 16 */ 17 18 include("./foltialib.php"); 19 $con = m_connect(); 20 21 if ($useenvironmentpolicy == 1){ 22 if (!isset($_SERVER['PHP_AUTH_USER'])) { 23 header("WWW-Authenticate: Basic realm=\"foltia\""); 24 header("HTTP/1.0 401 Unauthorized"); 25 redirectlogin(); 26 exit; 27 } else { 28 login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); 29 } 30 }//end if login 17 31 ?> 18 32 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> … … 25 39 <?php 26 40 27 include("./foltialib.php");28 41 29 42 $epgid = getgetnumform(epgid); … … 36 49 37 50 38 $con = m_connect();39 51 $now = date("YmdHi"); 40 52 trunk/install/php/reserveepgcomp.php
r1 r70 19 19 20 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 21 37 ?> 22 38 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> … … 29 45 30 46 <?php 31 include("./foltialib.php");32 47 33 48 printhtmlpageheader(); … … 49 64 print " <title>foltia:EPG予約:完了</title> 50 65 </head>\n"; 51 $con = m_connect();52 66 $now = date("YmdHi"); 53 67 // - DB登録作業 … … 81 95 //INSERT 82 96 if ($demomode){ 97 print "下記予約を完了いたしました。<br>"; 83 98 }else{ 99 $userclass = getuserclass($con); 100 if ( $userclass <= 2){ 101 /* 102 pid 103 tid 104 stationid 105 countno 106 subtitle 107 startdatetime 108 enddatetime 109 startoffset 110 lengthmin 111 m2pfilename 112 pspfilename 113 epgaddedby 84 114 85 $query = " 86 insert into foltia_subtitle 115 */ 116 117 $memberid = getmymemberid($con); 118 $query = " 119 insert into foltia_subtitle (pid ,tid ,stationid , countno ,subtitle , 120 startdatetime ,enddatetime ,startoffset , lengthmin , epgaddedby ) 87 121 values ( '$insertpid','0','$stationid', 88 '$nextcno','$subtitle','$startdatetime','$enddatetime','0' ,'$lengthmin' )";122 '$nextcno','$subtitle','$startdatetime','$enddatetime','0' ,'$lengthmin' , '$memberid')"; 89 123 90 124 $rs = m_query($con, $query, "DBクエリに失敗しました"); 91 125 92 //addatq.pl93 //キュー入れプログラムをキック94 //引数 TID チャンネルID95 //echo("$toolpath/perl/addatq.pl $tid $station");126 //addatq.pl 127 //キュー入れプログラムをキック 128 //引数 TID チャンネルID 129 //echo("$toolpath/perl/addatq.pl $tid $station"); 96 130 97 131 $oserr = system("$toolpath/perl/addatq.pl 0 0"); 98 132 print "下記予約を完了いたしました。<br>"; 133 }else{ 134 print "EPG予約を行う権限がありません。"; 135 }// end if $userclass <= 2 99 136 }//end if demomode 100 137 101 print "下記予約を完了いたしました。<br>"; 138 102 139 103 140 }else{ trunk/install/php/reserveprogram.php
r31 r70 15 15 16 16 */ 17 18 include("./foltialib.php"); 19 $con = m_connect(); 20 21 if ($useenvironmentpolicy == 1){ 22 if (!isset($_SERVER['PHP_AUTH_USER'])) { 23 header("WWW-Authenticate: Basic realm=\"foltia\""); 24 header("HTTP/1.0 401 Unauthorized"); 25 redirectlogin(); 26 exit; 27 } else { 28 login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); 29 } 30 }//end if login 31 17 32 ?> 18 33 … … 28 43 <?php 29 44 30 include("./foltialib.php");31 45 32 46 $tid = getgetnumform(tid); … … 36 50 37 51 38 $con = m_connect();39 52 $now = date("YmdHi"); 40 53 trunk/install/php/selectcaptureimage.php
r56 r70 18 18 19 19 include("./foltialib.php"); 20 $con = m_connect(); 21 22 if ($useenvironmentpolicy == 1){ 23 if (!isset($_SERVER['PHP_AUTH_USER'])) { 24 header("WWW-Authenticate: Basic realm=\"foltia\""); 25 header("HTTP/1.0 401 Unauthorized"); 26 redirectlogin(); 27 exit; 28 } else { 29 login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); 30 } 31 }//end if login 32 20 33 21 34 $pid = getgetform(pid); … … 47 60 48 61 49 $con = m_connect();50 62 $query = " 51 63 SELECT trunk/install/php/showlib.php
r68 r70 15 15 16 16 */ 17 18 include("./foltialib.php"); 19 $con = m_connect(); 20 21 if ($useenvironmentpolicy == 1){ 22 if (!isset($_SERVER['PHP_AUTH_USER'])) { 23 header("WWW-Authenticate: Basic realm=\"foltia\""); 24 header("HTTP/1.0 401 Unauthorized"); 25 redirectlogin(); 26 exit; 27 } else { 28 login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); 29 } 30 }//end if login 31 17 32 ?> 18 33 … … 28 43 29 44 <?php 30 include("./foltialib.php");31 32 $con = m_connect();33 45 $now = date("YmdHi"); 34 46 trunk/install/php/showlibc.php
r65 r70 16 16 */ 17 17 18 include("./foltialib.php"); 18 include("./foltialib.php"); 19 $con = m_connect(); 20 21 if ($useenvironmentpolicy == 1){ 22 if (!isset($_SERVER['PHP_AUTH_USER'])) { 23 header("WWW-Authenticate: Basic realm=\"foltia\""); 24 header("HTTP/1.0 401 Unauthorized"); 25 redirectlogin(); 26 exit; 27 } else { 28 login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); 29 } 30 }//end if login 19 31 20 32 $tid = getgetnumform(tid); … … 41 53 die_exit("再生可能番組がありません<BR>"); 42 54 } 43 $con = m_connect();44 55 $now = date("YmdHi"); 45 56 trunk/install/php/showplaylist.php
r59 r70 19 19 20 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 21 37 ?> 22 38 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> … … 27 43 <link rel="stylesheet" type="text/css" href="graytable.css"> 28 44 <?php 29 include("./foltialib.php");30 45 31 46 // Syabas 判定 … … 38 53 </head>"; 39 54 40 $con = m_connect();41 55 $now = date("YmdHi"); 42 56 ?> trunk/install/php/titlelist.php
r1 r70 16 16 17 17 */ 18 19 include("./foltialib.php"); 20 $con = m_connect(); 21 22 if ($useenvironmentpolicy == 1){ 23 if (!isset($_SERVER['PHP_AUTH_USER'])) { 24 header("WWW-Authenticate: Basic realm=\"foltia\""); 25 header("HTTP/1.0 401 Unauthorized"); 26 redirectlogin(); 27 exit; 28 } else { 29 login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); 30 } 31 }//end if login 32 18 33 ?> 19 34 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> … … 27 42 28 43 <?php 29 30 include("./foltialib.php");31 32 $con = m_connect();33 34 44 $now = date("YmdHi"); 35 45 trunk/install/php/view_syabas.php
r59 r70 21 21 22 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 23 36 24 37 $pid = getgetform(pid); 25 38 26 if ($pid == "") {27 exit;28 }29 39 30 ?>31 32 33 <?php34 40 if ($pid == "") { 35 41 exit; 36 42 } 37 43 38 39 $con = m_connect();40 44 $query = " 41 45 SELECT trunk/install/php/viewepg.php
r46 r70 16 16 17 17 */ 18 19 include("./foltialib.php"); 20 $con = m_connect(); 21 22 if ($useenvironmentpolicy == 1){ 23 if (!isset($_SERVER['PHP_AUTH_USER'])) { 24 header("WWW-Authenticate: Basic realm=\"foltia\""); 25 header("HTTP/1.0 401 Unauthorized"); 26 redirectlogin(); 27 exit; 28 } else { 29 login($con,$_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']); 30 } 31 }//end if login 18 32 ?> 19 33 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> … … 26 40 </head> 27 41 <?php 28 include("./foltialib.php");29 30 $con = m_connect();31 42 $start = getgetnumform(start); 32 43