Changeset 259 for trunk/network.php


Ignore:
Timestamp:
Oct 11, 2009, 6:49:05 PM (15 years ago)
Author:
george
Message:
  • Upraveno: Stránka zobrazující použité kmitočty a známé AP.
  • Přidáno: Odkaz na web uloz.to.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/network.php

    r257 r259  
    1414    {
    1515      case 'obsazeni_wifi_kanalu':
    16         $Output .= '<br/><div align="center"><strong>Seznam AP a obsazení wifi kanálů:</strong></div>
    17 <table class="WideTable">
    18 <tr><th>Kanál</th><th>Frekvence [GHz]</th><th>SSID</th></tr>'; 
    1916        // http://en.wikipedia.org/wiki/List_of_WLAN_channels
    20         $ChannelList = array(2412 => 1, 2417 => 2, 2422 => 3, 2427 => 4, 2432 => 5, 2437 => 6, 2442 => 7, 2447 => 8, 2452 => 9, 2457 => 10, 2462 => 11, 2467 => 12, 2472 => 13, 5210 => 42, 5250 => 50, 5290 => 48, 5500 => 100, 5520 => 104, 5540 => 108, 5560 => 112, 5580 => 116, 5600 => 120, 5620 => 124, 5640 => 128, 5660 => 132, 5700 => 140, 5720 => 144);
    21         $DbResult = $this->Database->query('SELECT Frequency FROM NetworkAP GROUP BY Frequency');
     17        //$ChannelList = array(2412 => 1, 2417 => 2, 2422 => 3, 2427 => 4, 2432 => 5, 2437 => 6, 2442 => 7, 2447 => 8, 2452 => 9, 2457 => 10, 2462 => 11, 2467 => 12, 2472 => 13, 5200 => 40, 5205 => 41, 5210 => 42, 5215 => 43, 5220 => 44, 5225 => 45, 5230 => 46, 5235 => 47, 5240 => 48, 5245 => 49, 5250 => 50, 5255 => 51, 5260 => 52, 5265 => 53, 5270 => 54, 5275 => 55, 5280 => 56, 5285 => 57, 5290 => 58, 5295 => 59, 5300 => 60, 5500 => 100, 5520 => 104, 5540 => 108, 5560 => 112, 5580 => 116, 5600 => 120, 5620 => 124, 5640 => 128, 5660 => 132, 5700 => 140, 5720 => 144);
     18        $Output .= '<div align="center">'.
     19        '<a href="?section=obsazeni_wifi_kanalu&range=a">Pásmo 2,4 GHz (a)</a> '.
     20        '<a href="?section=obsazeni_wifi_kanalu&amp;range=bc">Pásmo 5 GHz dolní (b, c)</a> '.
     21        '<a href="?section=obsazeni_wifi_kanalu&amp;range=d">Pásmo 5 GHz horní (d)</a> '.
     22        '<a href="http://www.ctu.cz/1/download/Opatreni%20obecne%20povahy/VO_R_12_08_2005_34.pdf">VO_R_12_08_2005_34</a><br/>'.
     23        '<strong>Seznam známých AP a obsazení kmitočtových pásem:</strong></div>'.
     24        '<table class="WideTable">'.
     25        '<tr><th/><br/>SSID<br/><br/></th>'; 
     26        $ChannelList = array();
     27        if(!array_key_exists('range', $_GET)) $_GET['range'] = 'a';
     28        if($_GET['range'] == 'a')       
     29        {
     30          $Where = '(Frequency < 5000)';
     31          for($Freq = 2402; $Freq <= 2482; $Freq = $Freq + 5) $ChannelList[] = $Freq;
     32        }
     33        if($_GET['range'] == 'bc')       
     34        {
     35          $Where = '(Frequency >= 5000) AND (Frequency <= 5350)';
     36          for($Freq = 5150; $Freq <= 5350; $Freq = $Freq + 5) $ChannelList[] = $Freq;
     37        }
     38        if($_GET['range'] == 'd')       
     39        {
     40          $Where = '(Frequency >= 5470)';
     41          for($Freq = 5470; $Freq <= 5725; $Freq = $Freq + 5) $ChannelList[] = $Freq;
     42        }
     43         
     44        foreach($ChannelList as $Frequency)       
     45        {
     46          $Output .= '<th><div class="RotatedHeader">'.$Frequency.'<div></th>';
     47        }
     48        $Output .= '</tr>';
     49        $DbResult = $this->Database->query('SELECT Frequency FROM NetworkAP WHERE '.$Where.' GROUP BY Frequency');
    2250        while($DbRow = $DbResult->fetch_assoc())
    2351        {
    24           $SSID = '';
    25           $DbResult2 = $this->Database->query('SELECT * FROM NetworkAP WHERE Frequency='.$DbRow['Frequency']);
     52          $DbResult2 = $this->Database->query('SELECT * FROM NetworkAP WHERE Frequency='.$DbRow['Frequency'].' AND '.$Where);
    2653          while($DbRow2 = $DbResult2->fetch_assoc())
    27             $SSID .= ', '.$DbRow2['SSID'];
    28           $SSID = substr($SSID, 2);
    29           $Output .= '<tr><td>'.$ChannelList[$DbRow['Frequency']].'</td><td>'.$DbRow['Frequency'].'</td><td>'.$SSID.'</td></tr>';
     54          {
     55            $LowFrequency = $DbRow['Frequency'] - $DbRow2['ChannelWidth'] / 2;
     56            $HighFrequency = $DbRow['Frequency'] + $DbRow2['ChannelWidth'] / 2;
     57            $Output .= '<tr><td>'.$DbRow2['SSID'].'</td>';
     58            foreach($ChannelList as $Frequency)       
     59            {
     60              if(($LowFrequency <= ($Frequency - 2.5)) and ($HighFrequency >= ($Frequency + 2.5))) $Color = '#808080';
     61                else if(($LowFrequency == $Frequency) or ($HighFrequency == $Frequency)) $Color = '#c0c0c0';
     62                else $Color = '#ffffff';
     63              $Output .= '<td style="background-color: '.$Color.';">&nbsp;</td>';
     64            }
     65
     66            $Output .= '</tr>'; 
     67          }         
    3068        }
    3169        $Output .= '</table>';
    3270        break;
     71      default:
    3372        $Output .= '<a href="?section=obsazeni_wifi_kanalu">Obsazení Wi-Fi kanálů</a><br />';
    34       default:
    3573        $Output .= '<a href="network/dostupnost.php">Měření dostupnosti zařízení</a><br />';
    3674        $Output .= '<a href="tkr.php">Kanály kabelové televize</a>';
Note: See TracChangeset for help on using the changeset viewer.