200501010000){ }else{ $now = date("YmdHi"); } $query = " SELECT foltia_program .tid, stationname, foltia_program .title, foltia_subtitle.countno, foltia_subtitle.subtitle, foltia_subtitle.startdatetime , foltia_subtitle.lengthmin , foltia_tvrecord.bitrate , foltia_subtitle.startoffset , foltia_subtitle.pid , foltia_subtitle.epgaddedby , foltia_tvrecord.digital FROM foltia_subtitle , foltia_program ,foltia_station ,foltia_tvrecord 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 AND foltia_subtitle.enddatetime >= '$now' UNION SELECT foltia_program .tid, stationname, foltia_program .title, foltia_subtitle.countno, foltia_subtitle.subtitle, foltia_subtitle.startdatetime , foltia_subtitle.lengthmin , foltia_tvrecord.bitrate , foltia_subtitle.startoffset , foltia_subtitle.pid , foltia_subtitle.epgaddedby , foltia_tvrecord.digital FROM foltia_tvrecord LEFT OUTER JOIN foltia_subtitle on (foltia_tvrecord.tid = foltia_subtitle.tid ) LEFT OUTER JOIN foltia_program on (foltia_tvrecord.tid = foltia_program.tid ) LEFT OUTER JOIN foltia_station on (foltia_subtitle.stationid = foltia_station.stationid ) WHERE foltia_tvrecord.stationid = 0 AND foltia_subtitle.enddatetime >= '$now' ORDER BY \"startdatetime\" ASC "; $rs = m_query($con, $query, "DBクエリに失敗しました"); $maxrows = pg_num_rows($rs); //チューナー数 if (getgetnumform(r) != ""){ $recunits = getgetnumform(r); }elseif($recunits == ""){ $recunits = 2; } ?>

予約一覧


録画予約番組放映予定と予約番組名を表示します。

\n"; }else{ /* フィールド数 */ $maxcols = pg_num_fields($rs); ?> \n"); /* pg_fetch_row で一行取り出す */ $rowdata = pg_fetch_row($rs, $row); $pid = htmlspecialchars($rowdata[9]); $tid = htmlspecialchars($rowdata[0]); $title = htmlspecialchars($rowdata[2]); $subtitle = htmlspecialchars($rowdata[4]); $dbepgaddedby = htmlspecialchars($rowdata[10]); //重複検出 //開始時刻 $rowdata[5] //終了時刻 $endtime = calcendtime($rowdata[5],$rowdata[6]); //番組の開始時刻より遅い時刻に終了し、終了時刻より前にはじまる番組があるかどうか //オンボードチューナー録画 $query = " SELECT foltia_program .tid, stationname, foltia_program .title, foltia_subtitle.countno, foltia_subtitle.subtitle, foltia_subtitle.startdatetime , foltia_subtitle.lengthmin , foltia_tvrecord.bitrate , foltia_subtitle.startoffset , foltia_subtitle.pid , foltia_tvrecord.digital FROM foltia_subtitle , foltia_program ,foltia_station ,foltia_tvrecord 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 AND foltia_subtitle.enddatetime > '$rowdata[5]' AND foltia_subtitle.startdatetime < '$endtime' UNION SELECT foltia_program .tid, stationname, foltia_program .title, foltia_subtitle.countno, foltia_subtitle.subtitle, foltia_subtitle.startdatetime , foltia_subtitle.lengthmin , foltia_tvrecord.bitrate , foltia_subtitle.startoffset , foltia_subtitle.pid , foltia_tvrecord.digital FROM foltia_tvrecord LEFT OUTER JOIN foltia_subtitle on (foltia_tvrecord.tid = foltia_subtitle.tid ) LEFT OUTER JOIN foltia_program on (foltia_tvrecord.tid = foltia_program.tid ) LEFT OUTER JOIN foltia_station on (foltia_subtitle.stationid = foltia_station.stationid ) WHERE foltia_tvrecord.stationid = 0 AND foltia_subtitle.enddatetime > '$rowdata[5]' AND foltia_subtitle.startdatetime < '$endtime' "; $rclass = ""; $overlap = m_query($con, $query, "DBクエリに失敗しました"); $overlapmaxrows = pg_num_rows($overlap); if ($overlapmaxrows > ($recunits) ){ $owtimeline = array(); for ($rrow = 0; $rrow < $overlapmaxrows ; $rrow++) { $owrowdata = pg_fetch_array($overlap, $rrow); $owtimeline[ $owrowdata['startdatetime'] ] = $owtimeline[ $owrowdata['startdatetime'] ] +1; $owrend = calcendtime( $owrowdata['startdatetime'], $owrowdata['lengthmin'] ); $owtimeline[ $owrend ] = $owtimeline[ $owrend ] -1; //注意: NULL に減算子を適用しても何も起こりませんが、NULL に加算子を 適用すると 1 となります。 } ksort ( $owtimeline ); $owcount = 0; foreach ( $owtimeline as $key => $val ) { $owcount += $val; if ( $owcount > $recunits ) { $rclass = "overwraped"; break; } } } //外部チューナー録画 $externalinputs = 1; //現状一系統のみ $query = " SELECT foltia_program .tid, stationname, foltia_program .title, foltia_subtitle.countno, foltia_subtitle.subtitle, foltia_subtitle.startdatetime , foltia_subtitle.lengthmin , foltia_tvrecord.bitrate , foltia_subtitle.startoffset , foltia_subtitle.pid , foltia_tvrecord.digital FROM foltia_subtitle , foltia_program ,foltia_station ,foltia_tvrecord 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 AND foltia_subtitle.enddatetime > '$rowdata[5]' AND foltia_subtitle.startdatetime < '$endtime' AND (foltia_station.stationrecch = '0' OR foltia_station.stationrecch = '-1' ) UNION SELECT foltia_program .tid, stationname, foltia_program .title, foltia_subtitle.countno, foltia_subtitle.subtitle, foltia_subtitle.startdatetime , foltia_subtitle.lengthmin , foltia_tvrecord.bitrate , foltia_subtitle.startoffset , foltia_subtitle.pid , foltia_tvrecord.digital FROM foltia_tvrecord LEFT OUTER JOIN foltia_subtitle on (foltia_tvrecord.tid = foltia_subtitle.tid ) LEFT OUTER JOIN foltia_program on (foltia_tvrecord.tid = foltia_program.tid ) LEFT OUTER JOIN foltia_station on (foltia_subtitle.stationid = foltia_station.stationid ) WHERE foltia_tvrecord.stationid = 0 AND foltia_subtitle.enddatetime > '$rowdata[5]' AND foltia_subtitle.startdatetime < '$endtime' AND (foltia_station.stationrecch = '0' OR foltia_station.stationrecch = '-1' ) "; $eoverlap = m_query($con, $query, "DBクエリに失敗しました"); $eoverlapmaxrows = pg_num_rows($eoverlap); if ($eoverlapmaxrows > ($externalinputs) ){ $eowtimeline = array(); for ($erow = 0; $erow < $eoverlapmaxrows ; $erow++) { $eowrowdata = pg_fetch_array($eoverlap, $erow); $eowtimeline[ $eowrowdata['startdatetime'] ] = $eowtimeline[ $eowrowdata['startdatetime'] ] +1; $eowrend = calcendtime( $eowrowdata['startdatetime'], $eowrowdata['lengthmin'] ); $eowtimeline[ $eowrend ] = $eowtimeline[ $eowrend ] -1; } ksort ( $eowtimeline ); $eowcount = 0; foreach ( $eowtimeline as $key => $val ) { $eowcount += $val; if ( $eowcount > $externalinputs ) { $rclass = "exoverwraped"; break; } } } echo("\n"); // TID print "\n"; // 放映局 echo("\n"); // タイトル print "\n"; // 話数 echo("\n"); // サブタイ if ($pid > 0 ){ print "\n"; }else{ //if ( $userclass <= 2){ if (($mymemberid == $dbepgaddedby)||($userclass <= 1)){ if ($userclass <= 1 ){//管理者なら $membername = getmemberid2name($con,$dbepgaddedby); $membername = ":" . $membername ; }else{ $membername = ""; } print "\n"; }else{ print "\n"; } } // 開始時刻(ズレ) echo("\n"); // 総尺 echo("\n"); //録画レート echo("\n"); //デジタル優先 echo("\n"); echo("\n"); } ?>
TID 放映局 タイトル 話数 サブタイトル 開始時刻(ズレ) 総尺 画質 デジタル優先
"; if ($tid == 0 ){ print "$tid"; }else{ print "$tid"; } print "".htmlspecialchars($rowdata[1])."
"; if ($tid == 0 ){ print "$title"; }else{ print "$title"; } print "".htmlspecialchars($rowdata[3])."
$subtitle
$subtitle [予約解除$membername]
$subtitle [解除不能]
".htmlspecialchars(foldate2print($rowdata[5]))."
(".htmlspecialchars($rowdata[8]).")
".htmlspecialchars($rowdata[6])."
".htmlspecialchars($rowdata[7])."
"); if (htmlspecialchars($rowdata[11]) == 1){ print "する"; }else{ print "しない"; } echo("
アナログ重複表示
エンコーダ数
チューナー重複
外部入力重複

録画予約番組タイトルを表示します。

0){ echo("\n"); //予約解除 if ( $userclass <= 1){ echo("\n"); }else{ echo(""); } //TID echo("\n"); //放映局 echo("\n"); //タイトル echo("\n"); //MP4 echo("\n"); //画質(アナログビットレート) echo("\n"); //デジタル優先 echo("\n"); }else{ print ""; echo(""); //デジタル優先 echo(""); }//if tid 0 }//for }//else ?>
予約解除 TID 放映局 タイトル 録画リスト 画質 デジタル優先
解除$tid".htmlspecialchars($rowdata[1])."
" . htmlspecialchars($rowdata[2]) . "mp4".htmlspecialchars($rowdata[3])."
"); if (htmlspecialchars($rowdata[5]) == 1){ print "する"; }else{ print "しない"; } echo("
0 [全局]
EPG録画 mp4".htmlspecialchars($rowdata[3])."
"); if (htmlspecialchars($rowdata[5]) == 1){ print "する"; }else{ print "しない"; } echo("\n