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 |
---|