source: trunk/network.php@ 265

Last change on this file since 265 was 265, checked in by george, 16 years ago
  • Přidáno: Zobrazení registrovaných podsítí.
  • Property svn:executable set to *
File size: 4.0 KB
Line 
1<?php
2include_once('global.php');
3
4class NetworkInformationPage extends Page
5{
6 var $FullTitle = 'Technické informace o síti';
7 var $ShortTitle = 'Technické informace';
8
9 function Show()
10 {
11 $Output = '';
12 if(!array_key_exists('section', $_GET)) $_GET['section'] = '';
13 switch($_GET['section'])
14 {
15 case 'obsazeni_wifi_kanalu':
16 // http://en.wikipedia.org/wiki/List_of_WLAN_channels
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');
50 while($DbRow = $DbResult->fetch_assoc())
51 {
52 $DbResult2 = $this->Database->query('SELECT * FROM NetworkAP WHERE Frequency='.$DbRow['Frequency'].' AND '.$Where);
53 while($DbRow2 = $DbResult2->fetch_assoc())
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 }
68 }
69 $Output .= '</table>';
70 break;
71 default:
72 $Output .= '<a href="?section=obsazeni_wifi_kanalu">Obsazení Wi-Fi kanálů</a><br />';
73 $Output .= '<a href="network/dostupnost.php">Měření dostupnosti zařízení</a><br />';
74 $Output .= '<a href="network/subnet.php">Výpis registrovaných podsítí</a><br />';
75 $Output .= '<a href="tkr.php">Kanály kabelové televize</a>';
76 }
77 return($Output);
78 }
79}
80
81$System->AddModule(new NetworkInformationPage());
82$System->Modules['NetworkInformationPage']->GetOutput();
83
84?>
Note: See TracBrowser for help on using the repository browser.