';
-
- echo ' | ';
- echo ''.substr($c['location'],0,1).' | ';
- echo ' | ';
- echo '#'.$c['serial'].' | ';
- echo ''.$c['hostname'].' | ';
+ $locations = sqlarr('SELECT location FROM client_locations', '', 'location');
+ $locations[] = '';
- echo ''.$c['ip'].' | ';
+ if($_SESSION['alx_sort_krit']==null)
+ {
+ $_SESSION['alx_sort_krit'] = 'serial';
+ $_SESSION['alx_sort_onfirst'] = 1;
+ $_SESSION['alx_sort_loc'] = array('DEAD'=>false);
+ foreach($locations as $l) $_SESSION['alx_sort_loc'][$l]=true;
+ }
+ if(isset($_GET['s_krit']))
+ {
+ $_SESSION['alx_sort_krit']=$_GET['s_krit'];
+ $_SESSION['alx_sort_onfirst']=0+$_GET['s_on'];
+ $_SESSION['alx_sort_loc']['DEAD']=$_GET['s_dead'];
+ foreach($locations as $l) $_SESSION['alx_sort_loc'][$l]=$_GET['s_'.$l];
+ }
- if($c['online'])
+ function check_online($dat, $bla)
{
- if($showversion=='on')
+ global $comps;
+ global $pingcmd;
+
+ if(!isset($comps[$dat['serial']])) return false;
+
+ passthru($pingcmd." ".$dat['ip']." &> /dev/null && exit 0 || exit 1",$retval);
+ if($retval==0)
{
- $pubkey = mysql_query('select public_key from ssh_auth_clients where serial='.$c['serial'].'');
- while ($row = mysql_fetch_row ($pubkey)) {
- # schreiben der .ssh/known_hosts file mit dem public rsa key des client,
- # um die "yes" abfrage zu vermeiden
- $hostfile = fopen ($home."/.ssh/known_hosts","w");
- fwrite($hostfile,$c['ip']." ".$row[0],strlen($row[0])+strlen($c['ip'])+1);
- fclose($hostfile);
+ $comps[$dat['serial']]['online'] = true;
+ $comps[$dat['serial']]['ip'] = $dat['ip'];
+ }
+ else $comps[$dat['serial']]['ip'] = ''.$dat['ip'].' (no ping)';
- $osver = exec($sshcmd.' -l root '.$c['ip'].' \'os_ver=$(<'.$mageversion.');cfg_ver=$(/sbin/magequery -n '.$alxconfig.'|cut -d" " -f5);pname=${cfg_ver%-*-*};cfg_ver=${cfg_ver/${pname}-};echo "${os_ver}:${cfg_ver}"\'');
- $osver = explode(':',$osver);
- }
- if($osver[0] == '') $osver[0]='unkown';
- if($osver[1] == '') $osver[1]='unkown';
- echo ''.$osver[0].' | ';
- echo ''.$osver[1].' | ';
- }
+ $comps[$dat['serial']]['hostname'] = $dat['hostname'];
+ $comps[$dat['serial']]['mac'] = $dat['mac'];
}
- echo '';
- if($c['online'])
- {
- echo '';
- echo '';
+ function sortcomp($a,$b)
+ {
+ if($a['serial']<0 && $b['serial']>0) return -1;
+ if($a['serial']>0 && $b['serial']<0) return 1;
+
+ if($_SESSION['alx_sort_onfirst'])
+ {
+ if($a['online'] && !$b['online']) return -1;
+ if($b['online'] && !$a['online']) return 1;
+ }
+ if($_SESSION['alx_sort_krit']=='hostname')
+ {
+ if(strtoupper($a['hostname'])strtoupper($b['hostname'])) return 1;
+ }
+ return $a['serial']-$b['serial'];
}
- else echo '';
+
+ function checkif($b)
+ { if($b) return ' checked'; else return ''; }
+
+ $comps = sqlarr('SELECT s.serial, s.location, s.mac, n.hostname FROM cfg_network n,client_serials s WHERE n.serial=s.serial', 'serial');
+ sqlforeach('SELECT serial, ip, hostname, mac FROM state_connected', 'check_online', null);
+ usort($comps, 'sortcomp');
+
+ echo '';
+ echo 'ALX Config - Index';
+ echo '';
+ echo '';
+ echo '';
+
+ /*
+ echo '';
+ echo '[REFRESH] ';
+
+ echo ' ';
+ */
+
+ echo '';
+
+ echo ' ';
-?>
\ No newline at end of file
+ echo ''.$c['ip'].' | ';
+
+ if($c['online'])
+ {
+ if($showversion=='on')
+ {
+ $pubkey = mysql_query('select public_key from ssh_auth_clients where serial='.$c['serial'].'');
+ while ($row = mysql_fetch_row ($pubkey)) {
+ # schreiben der .ssh/known_hosts file mit dem public rsa key des client,
+ # um die "yes" abfrage zu vermeiden
+ $hostfile = fopen ($home."/.ssh/known_hosts","w");
+ fwrite($hostfile,$c['ip']." ".$row[0],strlen($row[0])+strlen($c['ip'])+1);
+ fclose($hostfile);
+
+ $osver = exec($sshcmd.' -l root '.$c['ip'].' \'os_ver=$(<'.$mageversion.');cfg_ver=$(/sbin/magequery -n '.$alxconfig.'|cut -d" " -f5);pname=${cfg_ver%-*-*};cfg_ver=${cfg_ver/${pname}-};echo "${os_ver}:${cfg_ver}"\'');
+ $osver = explode(':',$osver);
+ }
+ if($osver[0] == '') $osver[0]='unkown';
+ if($osver[1] == '') $osver[1]='unkown';
+ echo ''.$osver[0].' | ';
+ echo ''.$osver[1].' | ';
+ }
+ }
+
+ echo '';
+ if($c['online'])
+ {
+ echo '';
+ echo '';
+ }
+ else echo '';
+ echo ' | ';
+
+ echo ' |
';
+ }
+ echo '