チケット #7: diff.txt

ファイル diff.txt, 2.3 kB (登録者: guest, 登録時期: 10 年 前)

patch for r88

Line 
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
track feed