| 1 |
Index: php/listreserve.php |
|---|
| 2 |
=================================================================== |
|---|
| 3 |
--- php/listreserve.php (revision 87) |
|---|
| 4 |
+++ php/listreserve.php (revision 88) |
|---|
| 5 |
@@ -201,16 +201,30 @@ |
|---|
| 6 |
$overlap = m_query($con, $query, "DBクエリに失敗しました"); |
|---|
| 7 |
$overlapmaxrows = pg_num_rows($overlap); |
|---|
| 8 |
if ($overlapmaxrows > ($recunits) ){ |
|---|
| 9 |
+ |
|---|
| 10 |
+ $owtimeline = array(); |
|---|
| 11 |
+ |
|---|
| 12 |
for ($rrow = 0; $rrow < $overlapmaxrows ; $rrow++) { |
|---|
| 13 |
- $owrowdata = pg_fetch_row($overlap, $rrow); |
|---|
| 14 |
- $overlappid[] = $owrowdata[9]; |
|---|
| 15 |
+ $owrowdata = pg_fetch_array($overlap, $rrow); |
|---|
| 16 |
+ $owtimeline[ $owrowdata['startdatetime'] ] = $owtimeline[ $owrowdata['startdatetime'] ] +1; |
|---|
| 17 |
+ |
|---|
| 18 |
+ $owrend = calcendtime( $owrowdata['startdatetime'], $owrowdata['lengthmin'] ); |
|---|
| 19 |
+ $owtimeline[ $owrend ] = $owtimeline[ $owrend ] -1; |
|---|
| 20 |
+ //注意: NULL に減算子を適用しても何も起こりませんが、NULL に加算子を 適用すると 1 となります。 |
|---|
| 21 |
} |
|---|
| 22 |
- if (in_array($rowdata[9], $overlappid)) { |
|---|
| 23 |
- $rclass = "overwraped"; |
|---|
| 24 |
+ |
|---|
| 25 |
+ ksort ( $owtimeline ); |
|---|
| 26 |
+ |
|---|
| 27 |
+ $owcount = 0; |
|---|
| 28 |
+ foreach ( $owtimeline as $key => $val ) { |
|---|
| 29 |
+ $owcount += $val; |
|---|
| 30 |
+ |
|---|
| 31 |
+ if ( $owcount > $recunits ) { |
|---|
| 32 |
+ $rclass = "overwraped"; |
|---|
| 33 |
+ break; |
|---|
| 34 |
+ } |
|---|
| 35 |
+ } |
|---|
| 36 |
} |
|---|
| 37 |
- }else{ |
|---|
| 38 |
- $overlappid = ""; |
|---|
| 39 |
- }//end if |
|---|
| 40 |
|
|---|
| 41 |
//外部チューナー録画 |
|---|
| 42 |
$externalinputs = 1; //現状一系統のみ |
|---|
| 43 |
@@ -258,16 +272,29 @@ |
|---|
| 44 |
$eoverlap = m_query($con, $query, "DBクエリに失敗しました"); |
|---|
| 45 |
$eoverlapmaxrows = pg_num_rows($eoverlap); |
|---|
| 46 |
if ($eoverlapmaxrows > ($externalinputs) ){ |
|---|
| 47 |
+ |
|---|
| 48 |
+ $eowtimeline = array(); |
|---|
| 49 |
+ |
|---|
| 50 |
for ($erow = 0; $erow < $eoverlapmaxrows ; $erow++) { |
|---|
| 51 |
- $eowrowdata = pg_fetch_row($eoverlap, $erow); |
|---|
| 52 |
- $eoverlappid[] = $eowrowdata[9]; |
|---|
| 53 |
+ $eowrowdata = pg_fetch_array($eoverlap, $erow); |
|---|
| 54 |
+ $eowtimeline[ $eowrowdata['startdatetime'] ] = $eowtimeline[ $eowrowdata['startdatetime'] ] +1; |
|---|
| 55 |
+ |
|---|
| 56 |
+ $eowrend = calcendtime( $eowrowdata['startdatetime'], $eowrowdata['lengthmin'] ); |
|---|
| 57 |
+ $eowtimeline[ $eowrend ] = $eowtimeline[ $eowrend ] -1; |
|---|
| 58 |
} |
|---|
| 59 |
- |
|---|
| 60 |
- if (in_array($rowdata[9], $eoverlappid)) { |
|---|
| 61 |
- $rclass = "exoverwraped"; |
|---|
| 62 |
+ |
|---|
| 63 |
+ ksort ( $eowtimeline ); |
|---|
| 64 |
+ |
|---|
| 65 |
+ $eowcount = 0; |
|---|
| 66 |
+ foreach ( $eowtimeline as $key => $val ) { |
|---|
| 67 |
+ $eowcount += $val; |
|---|
| 68 |
+ |
|---|
| 69 |
+ if ( $eowcount > $externalinputs ) { |
|---|
| 70 |
+ $rclass = "exoverwraped"; |
|---|
| 71 |
+ break; |
|---|
| 72 |
+ } |
|---|
| 73 |
} |
|---|
| 74 |
- }else{ |
|---|
| 75 |
- $eoverlappid = ""; |
|---|
| 76 |
+ |
|---|
| 77 |
} |
|---|
| 78 |
echo("<tr class=\"$rclass\">\n"); |
|---|
| 79 |
// TID |
|---|