Magellan Linux

Contents of /alx-src/trunk/alx-web/index.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 355 - (show annotations) (download)
Mon Oct 10 19:42:06 2005 UTC (18 years, 6 months ago) by niro
File size: 6528 byte(s)
cvs import: alx-web for alxconfig-ng
 - code clean up and
 - reorganized the whole structure

1 <?
2 include('include/basesql.php');
3 session_start();
4 session_register('alx_sort_krit'); session_register('alx_sort_onfirst'); session_register('alx_sort_loc');
5 if($_SESSION['alx_sort_krit']==null) { $_SESSION['alx_sort_krit'] = 'serial'; $_SESSION['alx_sort_onfirst'] = 1; $_SESSION['alx_sort_loc'] = array(''=>true, 'BO'=>true, 'LIN'=>true, 'HAT'=>true, 'DEAD'=>false); }
6 if(isset($_GET['s_krit'])) { $_SESSION['alx_sort_krit']=$_GET['s_krit']; $_SESSION['alx_sort_onfirst']=0+$_GET['s_on'];
7 $_SESSION['alx_sort_loc']['BO']=$_GET['s_bo']; $_SESSION['alx_sort_loc']['LIN']=$_GET['s_lin']; $_SESSION['alx_sort_loc']['HAT']=$_GET['s_hat']; $_SESSION['alx_sort_loc']['']=$_GET['s_unset']; $_SESSION['alx_sort_loc']['DEAD']=$_GET['s_dead']; }
8
9 function check_online($dat, $bla)
10 {
11 global $comps;
12 if(!isset($comps[$dat['serial']])) return false;
13
14 //passthru("/bin/ping -I eth0 -c 1 -W 1 -q ".$dat['ip']." &> /dev/null && exit 0 || exit 1",$retval);
15 passthru("/usr/sbin/fping -c 1 -t 50 -q ".$dat['ip']." &> /dev/null && exit 0 || exit 1",$retval);
16 if($retval==0)
17 {
18 $comps[$dat['serial']]['online'] = true;
19 $comps[$dat['serial']]['ip'] = $dat['ip'];
20 }
21 else $comps[$dat['serial']]['ip'] = '<font color=#a00000>'.$dat['ip'].' <small>(no ping)</small></font>';
22
23 $comps[$dat['serial']]['hostname'] = $dat['hostname'];
24 $comps[$dat['serial']]['mac'] = $dat['mac'];
25 }
26
27 function sortcomp($a,$b)
28 {
29 if($a['serial']<0 && $b['serial']>0) return -1;
30 if($a['serial']>0 && $b['serial']<0) return 1;
31
32 if($_SESSION['alx_sort_onfirst'])
33 {
34 if($a['online'] && !$b['online']) return -1;
35 if($b['online'] && !$a['online']) return 1;
36 }
37 if($_SESSION['alx_sort_krit']=='hostname')
38 {
39 if(strtoupper($a['hostname'])<strtoupper($b['hostname'])) return -1;
40 else if(strtoupper($a['hostname'])>strtoupper($b['hostname'])) return 1;
41 }
42 return $a['serial']-$b['serial'];
43 }
44
45 function checkif($b)
46 { if($b) return ' checked'; else return ''; }
47
48 $comps = sqlarr('SELECT s.serial, s.location, s.mac, n.hostname FROM cfg_network n,client_serials s WHERE n.serial=s.serial', 'serial');
49 sqlforeach('SELECT serial, ip, hostname, mac FROM state_connected', 'check_online', null);
50 usort($comps, 'sortcomp');
51
52 echo '<head><title>ALX Config - Index</title></head>';
53 echo '<body onload="window.setTimeout(\'location.reload()\',60000)">';
54
55 /*
56 echo '<img src="logo.jpg" align=middle>';
57 echo '<a href="index.php" style="padding-left:170px; color:#000000;text-decoration:none; font-weight:bold">[REFRESH]</a><br>';
58
59 echo '<form action="index.php" method="get" style="margin-top:0px"><b>SORT BY</b> <input onclick="this.form.submit()" type="radio" name="s_krit" value="serial"'.checkif($_SESSION['alx_sort_krit']=='serial').'>serial <input onclick="this.form.submit()" type="radio" name="s_krit" value="hostname"'.checkif($_SESSION['alx_sort_krit']=='hostname').'>hostname';
60 echo '<input onclick="this.form.submit()" style="margin-left:125px" name="s_on" type="checkbox" value="1"'.checkif($_SESSION['alx_sort_onfirst']).'>online clients on top</form><br>';
61 */
62
63 echo '<form action="index.php" method="get" style="margin:0px">';
64 echo '<table width=480><tr>';
65 echo '<td><img src="pics/logo.jpg"></td>';
66 echo '<td align=right valign=top><a href="index.php" style="color:#000000;text-decoration:none; font-weight:bold">[REFRESH]</a></td>';
67 echo '</tr><tr>';
68 echo '<td valign=top><b>SORT BY</b> <input onclick="this.form.submit()" type="radio" name="s_krit" value="serial"'.checkif($_SESSION['alx_sort_krit']=='serial').'>serial <input onclick="this.form.submit()" type="radio" name="s_krit" value="hostname"'.checkif($_SESSION['alx_sort_krit']=='hostname').'>hostname<br>';
69 echo '<input onclick="this.form.submit()" name="s_on" style="margin-left:72px" type="checkbox" value="1"'.checkif($_SESSION['alx_sort_onfirst']).'>online clients on top</td>';
70 echo '<td align=right valign=top>';
71 echo '<input onclick="this.form.submit()" type="checkbox" name="s_unset" value="1"'.checkif($_SESSION['alx_sort_loc']['']).'>?';
72 echo '<input onclick="this.form.submit()" type="checkbox" name="s_bo" value="1"'.checkif($_SESSION['alx_sort_loc']['BO']).'>BO';
73 echo '<input onclick="this.form.submit()" type="checkbox" name="s_hat" value="1"'.checkif($_SESSION['alx_sort_loc']['HAT']).'>HAT';
74 echo '<input onclick="this.form.submit()" type="checkbox" name="s_lin" value="1"'.checkif($_SESSION['alx_sort_loc']['LIN']).'>LIN';
75 echo '<br>';
76 echo '<input onclick="this.form.submit()" type="checkbox" name="s_dead" value="1"'.checkif($_SESSION['alx_sort_loc']['DEAD']).'>DEACTIVATED';
77 echo '</td>';
78 echo '</tr></table><br>';
79 echo '</form>';
80
81
82 echo '<table border>';
83 echo '<tr style="font-weight:bold;background-color:#d5e5ff"><td>edit</td><td colspan=3>serial</td><td width=170>hostname</td><td width=100>ip</td><td>up/down</td></tr>';
84
85 foreach($comps as $c)
86 {
87 if(!$_SESSION['alx_sort_loc'][$c['location']]) Continue;
88 if($c['serial']<0 && !$_SESSION['alx_sort_loc']['DEAD']) Continue;
89
90 if($c['online']) $pic='online'; else $pic='offline';
91
92 if($c['serial']<0) { echo '<tr style="text-decoration:line-through; color:#aaaaaa">'; $pic = 'deact'; }
93 else echo '<tr>';
94
95 echo '<td><input type=button value="EDIT" onclick="location.href=\'show.php?id='.$c['serial'].'\'"></td>';
96 echo '<td>'.substr($c['location'],0,1).'</td>';
97 echo '<td><img src="pics/'.$pic.'.gif" alt="'.strtoupper($pic).'"></td>';
98 echo '<td width=40><b>#'.$c['serial'].'</b></td>';
99 echo '<td><nobr>'.$c['hostname'].'</nobr></td>';
100
101 echo '<td><nobr>'.$c['ip'].'</nobr></td>';
102
103 echo '<td>';
104 if($c['online'])
105 {
106 echo '<input type=button style="width:50%" value="RB" onclick="if(confirm(\'REBOOT CLIENT #'.$c['serial'].' ?\')) window.open(\'reboot.php?client='.$c['serial'].'&ip='.$c['ip'].'&op=reboot\', \'ShutdownWin\', \'width=200,height=100\')">';
107 echo '<input type=button style="width:50%" value="SD" onclick="if(confirm(\'SHUTDOWN CLIENT #'.$c['serial'].' ?\')) window.open(\'reboot.php?client='.$c['serial'].'&ip='.$c['ip'].'&op=halt\', \'ShutdownWin\', \'width=200,height=100\')">';
108 }
109 else echo '<input type=button style="width:100%" value="WOL" onclick="if(confirm(\'WAKE CLIENT #'.$c['serial'].' ?\')) window.open(\'wake_on_lan.php?mac='.$c['mac'].'\', \'WakeWin\', \'width=200,height=100\')">';
110 echo '</td>';
111
112 echo '</tr>';
113 }
114 echo '</table><br>';
115 ?>

Properties

Name Value
svn:executable *