200501010000){
}else{
	$now = date("YmdHi");   
}
	$query = "
SELECT
 foltia_program.tid, stationname, foltia_program.title,
 foltia_subtitle.countno, foltia_subtitle.subtitle,
 foltia_subtitle.startdatetime as x, 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 >= ? 
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 >= ? ORDER BY x ASC
	";
//	$rs = m_query($con, $query, "DBクエリに失敗しました");
	$rs = sql_query($con, $query, "DBクエリに失敗しました",array($now,$now));
//チューナー数
if (getgetnumform(r) != ""){
	$recunits = getgetnumform(r);
}elseif($recunits == ""){
	$recunits = 2;
}
?>
  予約一覧
  
録画予約番組放映予定と予約番組名を表示します。
fetch();
     if (! $rowdata) {
		print "番組データがありません
\n";			
		}else{
		/* フィールド数 */
	     $maxcols = $rs->columnCount();
		?>
  
	
		
			| TID | 放映局 | タイトル | 話数 | サブタイトル | 開始時刻(ズレ) | 総尺 | 画質 | デジタル優先 | 
	
	
		\n");
$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 > ? 
AND foltia_subtitle.startdatetime < ?  
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 > ?  
AND foltia_subtitle.startdatetime < ?  
";
	$rclass = "";
//	$overlap = m_query($con, $query, "DBクエリに失敗しました");
	$overlap = sql_query($con, $query, "DBクエリに失敗しました",array($rowdata[5],$endtime,$rowdata[5],$endtime));
			  $owrowall = $overlap->fetchAll();
			  $overlapmaxrows = count($owrowall);
	if ($overlapmaxrows > ($recunits) ){
		
		$owtimeline = array();
		
		for ($rrow = 0; $rrow < $overlapmaxrows ; $rrow++) {
					  $owrowdata = $owrowall[$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 > ? 
AND foltia_subtitle.startdatetime < ?  
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 > ?  
AND foltia_subtitle.startdatetime < ?  
AND  (foltia_station.stationrecch = '0' OR  foltia_station.stationrecch = '-1' ) 
	";
//	$eoverlap = m_query($con, $query, "DBクエリに失敗しました");
	$eoverlap = sql_query($con, $query, "DBクエリに失敗しました",array($rowdata[5], $endtime,$rowdata[5],  $endtime));
			  $eowrowall = $eoverlap->fetchAll();
			  $eoverlapmaxrows = count($eowrowall);
	if ($eoverlapmaxrows > ($externalinputs) ){
		
		$eowtimeline = array();
		
		for ($erow = 0; $erow < $eoverlapmaxrows ; $erow++) {
					  $eowrowdata = $eowrowall[$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 "| ";
					if ($tid == 0 ){
					print "$tid";
					}else{
					print "$tid";
					}
					print "\n";
				     // 放映局
				     echo(" | ".htmlspecialchars($rowdata[1])." \n");
				     // タイトル
					print "
 | ";
					if ($tid == 0 ){
					print "$title";
					}else{
					print "$title";
					}
					print "\n";
					 // 話数
					echo(" | ".htmlspecialchars($rowdata[3])." \n");
					// サブタイ
					if ($pid > 0 ){
					print "
 | $subtitle \n";
					}else{
					//if ( $userclass <= 2){
					if (($mymemberid == $dbepgaddedby)||($userclass <= 1)){
						if ($userclass <= 1 ){//管理者なら
							$membername = getmemberid2name($con,$dbepgaddedby);
							$membername = ":" . $membername ;
						}else{
						$membername = "";
						}
					print "
 | $subtitle [予約解除$membername] \n";
					}else{
					print "
 | $subtitle [解除不能] \n";
					}
					}
					// 開始時刻(ズレ)
					echo("
 | ".htmlspecialchars(foldate2print($rowdata[5]))." \n");
					// 総尺
					echo("(".htmlspecialchars($rowdata[8]).")
 | ".htmlspecialchars($rowdata[6])." \n");
					
					//録画レート
					echo("
 | ".htmlspecialchars($rowdata[7])." \n");
					
					//デジタル優先
					echo("
 | ");
					if (htmlspecialchars($rowdata[11]) == 1){
					print "する";
					}else{
					print "しない";
					}
					echo(" \n");
				echo("
 | 
\n");
		  } while ($rowdata = $rs->fetch());
		?>
	
	| アナログ重複表示 | 
 | 
	| エンコーダ数 | =$recunits ?> | 
	| チューナー重複 | 
 | 
	| 外部入力重複 | 
 | 
fetch();			
if (! $rowdata) {
//なければなにもしない
			
		}else{
	$maxcols = $rs->columnCount();
?>
録画予約番組タイトルを表示します。
  
	
		
			| 予約解除 | TID | 放映局 | タイトル | 録画リスト | 画質 | デジタル優先 | 
	
	
		 0){
				echo("\n");
				//予約解除
				if ( $userclass <= 1){
					echo("| 解除\n");
				}else{
				echo(" | −");		
				}
				//TID
					echo(" | $tid\n");
				     //放映局
				     echo(" | ".htmlspecialchars($rowdata[1])." \n");
				     //タイトル
				     echo("
 | " .
				     htmlspecialchars($rowdata[2]) . "\n");
					//MP4
					echo(" | mp4\n");
					//画質(アナログビットレート)
					echo(" | ".htmlspecialchars($rowdata[3])." \n");
					//デジタル優先
					echo("
 | ");
					if (htmlspecialchars($rowdata[5]) == 1){
					print "する";
					}else{
					print "しない";
					}
				echo(" | 
\n");
				}else{
				print "
				| − | 0 | [全局] 
 | EPG録画 | mp4";
				echo(" | ".htmlspecialchars($rowdata[3])." ");
					//デジタル優先
					echo("
 | ");
					if (htmlspecialchars($rowdata[5]) == 1){
					print "する";
					}else{
					print "しない";
					}
				echo("\n | 
");
				}//if tid 0
	     } while ($rowdata = $rs->fetch());
		}//else
		?>