source: trunk/Modules/Network/HostList.php@ 364

Last change on this file since 364 was 364, checked in by chronos, 13 years ago
  • Přesunuto: Obecné soubory do podsložky Common.
  • Obnoveny: Chybějící soubory HostList a UserList.
File size: 2.9 KB
Line 
1<?php
2
3class HostListPage extends Page
4{
5 var $FullTitle = 'Seznam registrovaných počítačů';
6 var $ShortTitle = 'Seznam počítačů';
7
8 function Show()
9 {
10 if(array_key_exists('admin', $_GET)) $Where = 'AND NetworkDevice.Type IN (1,4,5) ';
11 else $Where = '';
12 $Output = '<div align="center" style="font-size: small;"><table class="WideTable">';
13 $Output .= '<tr><th>Jméno počítače</th><th>IP adresa</th><th>Typ</th><th>Naposledy online</th><th>Správce</th></tr>';
14 $DbResult = $this->Database->query('SELECT NetworkDevice.*, User.Name as UserName, NetworkDeviceType.Name AS HostType FROM NetworkDevice LEFT JOIN Member ON Member.Id = NetworkDevice.Member LEFT JOIN User ON Member.ResponsibleUser = User.Id LEFT JOIN NetworkDeviceType ON NetworkDeviceType.Id = NetworkDevice.Type WHERE NetworkDevice.Used = 1 '.$Where.'ORDER BY NetworkDevice.Name');
15 while($Device = $DbResult->fetch_assoc())
16 {
17 if($Device['Online'] == 1) $Style = 'color: blue;'; else $Style = '';
18 $DbResult2 = $this->Database->query('SELECT COUNT(*) FROM NetworkInterface WHERE Device = '.$Device['Id']);
19 $DbRow = $DbResult2->fetch_row();
20 if($DbRow[0] == 1)
21 {
22 $DbResult2 = $this->Database->query('SELECT * FROM NetworkInterface WHERE Device = '.$Device['Id']);
23 $Interface = $DbResult2->fetch_assoc();
24 if($Interface['LocalIP'] == '') $Interface['LocalIP'] = '&nbsp;';
25 if($Interface['Online'] == 1) $Style = 'font-weight: bold; color: blue;'; else $Style = '';
26 $InterfaceName = $Device['Name'];
27 if($Interface['Name'] != '') $InterfaceName .= '-'.$Interface['Name'];
28 $Output .= '<tr><td style="text-align: left; '.$Style.'">'.$InterfaceName.'</td><td>'.$Interface['LocalIP'].'</td><td>'.$Device['HostType'].'</td><td style="text-align: right;">'.HumanDate($Device['LastOnline']).'</td><td style="text-align: right;">'.$Device['UserName'].'</td></tr>';
29 } else
30 {
31 $Output .= '<tr><td colspan="2" style="text-align: left; font-weight: bold; '.$Style.'">'.$Device['Name'].'</td><td>'.$Device['HostType'].'</td><td style="text-align: right;">'.HumanDate($Device['LastOnline']).'</td><td style="text-align: right;">'.$Device['UserName'].'</td></tr>';
32 $DbResult2 = $this->Database->query('SELECT * FROM NetworkInterface WHERE Device = '.$Device['Id']);
33 while($Interface = $DbResult2->fetch_assoc())
34 {
35 if($Interface['LocalIP'] == '') $Interface['LocalIP'] = '&nbsp;';
36 if($Interface['Online'] == 1) $Style = 'font-weight: bold; color: blue;'; else $Style = '';
37 $InterfaceName = $Device['Name'];
38 if($Interface['Name'] != '') $InterfaceName .= '-'.$Interface['Name'];
39 $Output .= '<tr><td style="text-align: left; '.$Style.'">&nbsp;&nbsp;'.$InterfaceName.'</td><td>'.$Interface['LocalIP'].'</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>';
40 }
41 }
42 }
43 $Output .= '</table></div>';
44 return($Output);
45 }
46}
47
48?>
Note: See TracBrowser for help on using the repository browser.