Index: /trunk/doc/CHANGES.txt
===================================================================
--- /trunk/doc/CHANGES.txt (リビジョン 44)
+++ /trunk/doc/CHANGES.txt (リビジョン 46)
@@ -1,3 +1,9 @@
foltia 更新履歴 http://www.dcc-jpl.com/soft/foltia/
+
+07.3.16
+m.php:新設
+viewepg.php:
+foltialib.php:
+ 開始時刻、録画時間、録画局を個別に指定する手動番組予約機能追加。
07.2.11
Index: /trunk/doc/index.html
===================================================================
--- /trunk/doc/index.html (リビジョン 36)
+++ /trunk/doc/index.html (リビジョン 46)
@@ -39,12 +39,13 @@
・主要機能
- - 番組名によるアニメ自動MPEG2録画機能
+
- 番組名によるアニメ自動録画機能
- - EPG番組表による手動選択MPEG2録画機能
+ - EPG番組表による番組選択録画機能
+ - 開始時刻、放送局など個別設定による手動録画機能
- USBリモコンユニットを使った外部チューナー制御機能
- - MPEG4トランスコード機能(iPod VideoとPSP、Webブラウザなどで視聴可能形式)
+ - 録画終了と同時にMPEG2からH.264/AVCへの自動変換機能(iPod Video、PSP、Webブラウザなどで視聴可能形式)
- video podcastのしくみを使ったiPod自動シンク機能
@@ -352,4 +353,11 @@
+番組表:番組手動予約
+ 個別の手動録画を行います。
+・EPGでまだ降ってきていない番組
+・ケータイで外から大急ぎで予約したい場合
+などの用途を想定しています。テンキーから迅速に予約出来るようにあえてプルダウンメニューでなく数字入力式としています。foltiaの仕組み的に番組の尺の最大値は特に制限はないのですが取り回しを考えて最大6時間に区切ってあります。録画したい番組が360分を超える場合には適当に分割して予約してください。
+ デモ画面:http://www.dcc-jpl.com/soft/foltia/demo/m.php
+
録画一覧(録画順):
録画済みのMPEG2ファイルを放映順に一覧表示します。削除チェックボックスにチェックを入れて削除ボタンを押すとそのファイルは削除されます。上部にディスク空き容量とトラコンプロセスを表示します。
Index: /trunk/install/php/m.php
===================================================================
--- /trunk/install/php/m.php (リビジョン 46)
+++ /trunk/install/php/m.php (リビジョン 46)
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+ ";
+
+print "foltia:番組手動予約
+";
+}//end function printtitle()
+
+printtitle();
+?>
+
+
+
+
+
+番組手動予約
+
+
+全項目手動指定で予約します。\n";
+}else{
+
+$lengthmin = getgetnumform(lengthmin);
+$recstid = getgetnumform(recstid);
+$pname = getgetform(pname);
+//確認
+$startdatetime = "$startdate"."$starttime";
+if (foldatevalidation($startdatetime)){
+//print "valid";
+}else{
+ $errflag = 1;
+ $errmsg = "日付が不正です。";
+}
+if ($lengthmin < 361){
+//valid
+}else{
+ $errflag = 2;
+ $errmsg = "録画時間は360分で区切ってください。";
+}
+//局確認
+if ($recstid != ""){
+$query = "
+SELECT stationname
+FROM foltia_station
+WHERE stationid = $recstid";
+ $stationvalid = m_query($con, $query, "DBクエリに失敗しました");
+ $stationcount = pg_num_rows($stationvalid);
+
+ if ($stationcount == 1){
+ $recstationname = pg_fetch_row($stationvalid, 0);
+ //valid
+ }else{
+ $errflag = 3;
+ $errmsg = "放送局設定が異常です。";
+ }
+}
+//正しければ
+if ($errflag == 0){
+//重複があるか?
+//未チェック
+
+//デモモードじゃなかったら書き込み
+$enddatetime = calcendtime($startdatetime,$lengthmin);
+
+//時刻検査
+if (($startdatetime > $now ) && ($enddatetime > $now ) && ($enddatetime > $startdatetime ) ){
+
+//min pidを探す
+$query = "SELECT min(pid) FROM foltia_subtitle ";
+ $rs = m_query($con, $query, "DBクエリに失敗しました");
+ $maxrows = pg_num_rows($rs);
+ if ($maxrows == 0){
+ $insertpid = -1 ;
+ }else{
+ $rowdata = pg_fetch_row($rs, 0);
+ $insertpid = $rowdata[0];
+ $insertpid-- ;
+ }
+// next 話数を探す
+$query = "SELECT max(countno) FROM foltia_subtitle WHERE tid = 0";
+ $rs = m_query($con, $query, "DBクエリに失敗しました");
+ $maxrows = pg_num_rows($rs);
+ if ($maxrows == 0){
+ $nextcno = 1 ;
+ }else{
+ $rowdata = pg_fetch_row($rs, 0);
+ $nextcno = $rowdata[0];
+ $nextcno++ ;
+ }
+
+//INSERT
+if ($demomode){
+}else{
+
+$query = "
+insert into foltia_subtitle
+values ( '$insertpid','0','$recstid',
+ '$nextcno','$pname','$startdatetime','$enddatetime','0' ,'$lengthmin')";
+
+ $rs = m_query($con, $query, "DBクエリに失敗しました");
+
+//addatq.pl
+//キュー入れプログラムをキック
+//引数 TID チャンネルID
+//echo("$toolpath/perl/addatq.pl $tid $station");
+
+ $oserr = system("$toolpath/perl/addatq.pl 0 0");
+
+}//end if demomode
+
+print "下記予約を完了いたしました。
";
+//結果表示
+print "録画開始:";
+echo foldate2print($startdatetime);
+print "
+録画終了:";
+echo foldate2print($enddatetime);
+print "
+録画尺: $lengthmin 分
+録画局:$recstationname[0]
+番組名:$pname
+";
+exit();
+}else{
+print "時刻が不正なために予約できませんでした。
";
+
+}
+
+
+}else{
+ print "入力項目が正しくなさそうです。$errmsg
\n";
+}
+
+}// 初回表示かデータ処理か
+?>
+
+
+
+
Index: /trunk/install/php/foltialib.php
===================================================================
--- /trunk/install/php/foltialib.php (リビジョン 32)
+++ /trunk/install/php/foltialib.php (リビジョン 46)
@@ -457,5 +457,5 @@
if ($freebytes == "" ){
//
-print "";
+//print "";
}elseif($freebytes > 1024*1024*100 ){// 100GB以上あいてれば
//なにもしない
@@ -486,5 +486,5 @@
";
}else{
-print "";
+//print "";
@@ -497,5 +497,27 @@
-
+function foldatevalidation($foldate){
+
+if (strlen($foldate) == 12 ){
+
+ $startyear = substr($foldate,0,4);
+ $startmonth = substr($foldate,4,2);
+ $startday = substr($foldate,6,2);
+ $starthour = substr($foldate,8,2);
+ $startmin = substr($foldate,10,2);
+
+ $startepoch = date ("U",mktime($starthour , $startmin , 0, $startmonth , $startday, $startyear));
+ $nowe = time();
+ if ($startepoch > $nowe){
+ //print "$foldate:$startepoch:$nowe";
+ return TRUE;
+ }else{
+ return FALSE;
+ } //end if $startepoch > $nowe
+}else{
+ return FALSE;
+}//end if ($foldate) == 12
+
+}//end function
Index: /trunk/install/php/viewepg.php
===================================================================
--- /trunk/install/php/viewepg.php (リビジョン 42)
+++ /trunk/install/php/viewepg.php (リビジョン 46)
@@ -23,5 +23,5 @@
-foltia:EPG
+foltia:EPG番組表
- EPG番組表
-
+EPG番組表
+番組手動予約
+
EPG番組表を表示します。