true, 'BO'=>true, 'LIN'=>true, 'HAT'=>true, 'DEAD'=>false); } if(isset($_GET['s_krit'])) { $_SESSION['alx_sort_krit']=$_GET['s_krit']; $_SESSION['alx_sort_onfirst']=0+$_GET['s_on']; $_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']; } function check_online($dat, $bla) { global $comps; if(!isset($comps[$dat['serial']])) return false; //passthru("/bin/ping -I eth0 -c 1 -W 1 -q ".$dat['ip']." &> /dev/null && exit 0 || exit 1",$retval); passthru("/usr/sbin/fping -c 1 -t 50 -q ".$dat['ip']." &> /dev/null && exit 0 || exit 1",$retval); if($retval==0) { $comps[$dat['serial']]['online'] = true; $comps[$dat['serial']]['ip'] = $dat['ip']; } else $comps[$dat['serial']]['ip'] = ''.$dat['ip'].' (no ping)'; $comps[$dat['serial']]['hostname'] = $dat['hostname']; $comps[$dat['serial']]['mac'] = $dat['mac']; } 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']; } 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 'ALX Config - Index'; echo ''; /* echo ''; echo '[REFRESH]
'; echo '
SORT BY serial hostname'; echo 'online clients on top

'; */ echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
[REFRESH]
SORT BY serial hostname
'; echo 'online clients on top
'; echo '?'; echo 'BO'; echo 'HAT'; echo 'LIN'; echo '
'; echo 'DEACTIVATED'; echo '

'; echo '
'; echo ''; echo ''; foreach($comps as $c) { if(!$_SESSION['alx_sort_loc'][$c['location']]) Continue; if($c['serial']<0 && !$_SESSION['alx_sort_loc']['DEAD']) Continue; if($c['online']) $pic='online'; else $pic='offline'; if($c['serial']<0) { echo ''; $pic = 'deact'; } else echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo '
editserialhostnameipup/down
'.substr($c['location'],0,1).''.strtoupper($pic).'#'.$c['serial'].''.$c['hostname'].''.$c['ip'].''; if($c['online']) { echo ''; echo ''; } else echo ''; echo '

'; ?>