Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 355 - (hide annotations) (download)
Mon Oct 10 19:42:06 2005 UTC (18 years, 7 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 niro 355 <?
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 *