チェンジセット 51: trunk/install/php

差分発生行の前後
無視リスト:
コミット日時:
2007/04/05 01:24:22 (18 年前)
コミッタ:
sorshi
ログメッセージ:

予約一覧でのチューナー重複検出機能を追加

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • trunk/install/php/foltia_config2.php.template

    r8 r51  
    1717                $recfolderpath = '/home/foltia/php/tv'; //録画ファイルの保存先のパス。 
    1818                $httpmediamappath = '/tv'; //ブラウザから見える録画ファイルのある位置。 
     19                $recunits = '4';                                        //搭載エンコーダの数 
     20 
    1921                $protectmode = 0; //未使用:(ブラウザからの予約削除を禁止するなどの保護モードで動作します) 
    2022                $demomode = 0; //未使用:(ユーザインターフェイスだけ動作するデモモードで動作します) 
  • trunk/install/php/graytable.css

    r40 r51  
    2929tr.reserved{background-color: #FFDDDD;} 
    3030tr.reservedtitle{background-color: #DDDDFF;} 
     31tr.overwraped{background-color: #FF0000;} 
     32tr.exoverwraped{background-color: #FF00FF;} 
    3133 
    3234/* 全体共通 */ 
  • trunk/install/php/listreserve.php

    r45 r51  
    1010 
    1111引数 
    12 なし 
     12r:録画デバイス数 
    1313 
    1414 DCC-JPL Japan/foltia project 
     
    7171        $maxrows = pg_num_rows($rs); 
    7272                         
     73 
     74//チューナー数 
     75if ($recunits > 1){ 
     76}else{ 
     77if (getgetnumform(r) != ""){ 
     78        $recunits = getgetnumform(r); 
     79        }else{ 
     80        $recunits = 2; 
     81} 
     82} 
    7383?> 
    74  
    75  
    7684 
    7785<body BGCOLOR="#ffffff" TEXT="#494949" LINK="#0047ff" VLINK="#000000" ALINK="#c6edff" > 
     
    120128$title = htmlspecialchars($rowdata[2]); 
    121129$subtitle =  htmlspecialchars($rowdata[4]); 
    122  
     130//重複検出 
     131//開始時刻 $rowdata[5] 
     132//終了時刻 
     133$endtime = calcendtime($rowdata[5],$rowdata[6]); 
     134//番組の開始時刻より遅い時刻に終了し、終了時刻より前にはじまる番組があるかどうか 
     135//オンボードチューナー録画 
     136$query = " 
     137SELECT 
     138foltia_program .tid, 
     139stationname, 
     140foltia_program .title, 
     141foltia_subtitle.countno, 
     142foltia_subtitle.subtitle, 
     143foltia_subtitle.startdatetime , 
     144foltia_subtitle.lengthmin , 
     145foltia_tvrecord.bitrate  ,  
     146foltia_subtitle.startoffset ,  
     147foltia_subtitle.pid   
     148FROM foltia_subtitle , foltia_program ,foltia_station ,foltia_tvrecord 
     149WHERE 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 
     150AND foltia_subtitle.enddatetime >= '$rowdata[5]'  
     151AND foltia_subtitle.startdatetime <= '$endtime'   
     152UNION 
     153SELECT 
     154foltia_program .tid, 
     155stationname, 
     156foltia_program .title, 
     157foltia_subtitle.countno, 
     158foltia_subtitle.subtitle, 
     159foltia_subtitle.startdatetime , 
     160foltia_subtitle.lengthmin , 
     161foltia_tvrecord.bitrate  ,  
     162foltia_subtitle.startoffset ,  
     163foltia_subtitle.pid   
     164FROM foltia_tvrecord 
     165LEFT OUTER JOIN foltia_subtitle on (foltia_tvrecord.tid = foltia_subtitle.tid ) 
     166LEFT OUTER JOIN foltia_program on (foltia_tvrecord.tid = foltia_program.tid ) 
     167LEFT OUTER JOIN foltia_station on (foltia_subtitle.stationid = foltia_station.stationid ) 
     168WHERE foltia_tvrecord.stationid = 0 AND 
     169foltia_subtitle.enddatetime >= '$rowdata[5]'   
     170AND foltia_subtitle.startdatetime <= '$endtime'   
     171        "; 
     172        $rclass = ""; 
     173        $overlap = m_query($con, $query, "DBクエリに失敗しました"); 
     174        $overlapmaxrows = pg_num_rows($overlap); 
     175        if ($overlapmaxrows > ($recunits) ){ 
     176                for ($rrow = 0; $rrow < $overlapmaxrows ; $rrow++) { 
     177                        $owrowdata = pg_fetch_row($overlap, $rrow); 
     178                        $overlappid[] = $owrowdata[9]; 
     179                } 
     180        if (in_array($rowdata[9], $overlappid)) { 
     181                $rclass = "overwraped"; 
     182        } 
     183        }else{ 
     184        $overlappid = ""; 
     185        }//end if 
     186 
     187//外部チューナー録画 
     188$externalinputs = 1; //現状一系統のみ 
     189$query = " 
     190SELECT 
     191foltia_program .tid, 
     192stationname, 
     193foltia_program .title, 
     194foltia_subtitle.countno, 
     195foltia_subtitle.subtitle, 
     196foltia_subtitle.startdatetime , 
     197foltia_subtitle.lengthmin , 
     198foltia_tvrecord.bitrate  ,  
     199foltia_subtitle.startoffset ,  
     200foltia_subtitle.pid   
     201FROM foltia_subtitle , foltia_program ,foltia_station ,foltia_tvrecord 
     202WHERE 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 
     203AND foltia_subtitle.enddatetime > '$rowdata[5]'  
     204AND foltia_subtitle.startdatetime < '$endtime'   
     205AND  (foltia_station.stationrecch = '0' OR  foltia_station.stationrecch = '-1' )  
     206UNION 
     207SELECT 
     208foltia_program .tid, 
     209stationname, 
     210foltia_program .title, 
     211foltia_subtitle.countno, 
     212foltia_subtitle.subtitle, 
     213foltia_subtitle.startdatetime , 
     214foltia_subtitle.lengthmin , 
     215foltia_tvrecord.bitrate  ,  
     216foltia_subtitle.startoffset ,  
     217foltia_subtitle.pid   
     218FROM foltia_tvrecord 
     219LEFT OUTER JOIN foltia_subtitle on (foltia_tvrecord.tid = foltia_subtitle.tid ) 
     220LEFT OUTER JOIN foltia_program on (foltia_tvrecord.tid = foltia_program.tid ) 
     221LEFT OUTER JOIN foltia_station on (foltia_subtitle.stationid = foltia_station.stationid ) 
     222WHERE foltia_tvrecord.stationid = 0 AND 
     223foltia_subtitle.enddatetime > '$rowdata[5]'   
     224AND foltia_subtitle.startdatetime < '$endtime'   
     225AND  (foltia_station.stationrecch = '0' OR  foltia_station.stationrecch = '-1' )  
     226 
     227        "; 
     228        $eoverlap = m_query($con, $query, "DBクエリに失敗しました"); 
     229        $eoverlapmaxrows = pg_num_rows($eoverlap); 
     230        if ($eoverlapmaxrows > ($externalinputs) ){ 
     231                for ($erow = 0; $erow < $eoverlapmaxrows ; $erow++) { 
     232                        $eowrowdata = pg_fetch_row($eoverlap, $erow); 
     233                        $eoverlappid[] = $eowrowdata[9]; 
     234                } 
     235 
     236                if (in_array($rowdata[9], $eoverlappid)) { 
     237                        $rclass = "exoverwraped"; 
     238                } 
     239        }else{ 
     240        $eoverlappid = ""; 
     241        } 
    123242                                echo("<tr class=\"$rclass\">\n"); 
    124243                                        // TID 
     
    164283        </tbody> 
    165284</table> 
     285 
     286 
     287<table> 
     288        <tr><td>エンコーダ数</td><td><?=$recunits ?></td></tr> 
     289        <tr class="overwraped"><td>チューナー重複</td><td><br /></td></tr> 
     290        <tr class="exoverwraped"><td>外部入力重複</td><td><br /></td></tr> 
     291</table> 
     292 
     293 
    166294<?php 
    167295} //if ($maxrows == 0) { 
track feed