diff options
author | ShevAbam <shevabam@gmail.com> | 2015-07-07 15:57:41 +0200 |
---|---|---|
committer | ShevAbam <shevabam@gmail.com> | 2015-07-07 15:57:41 +0200 |
commit | 9970343fe5c8226f25234addc6b80836c092fe1f (patch) | |
tree | ce8f029f3ce9251bd4c207a6427c356ad9042525 /libs/services.php | |
parent | dd982cee0716e38e68bc42ffb24952b5675a5b19 (diff) |
General : cleaning and optimizing CSS
General : responsive design
General : reload button now spins when you reload block
General : update jQuery plugin Knob to 1.2.11
General : optimizing security (config file esm.config.json is now in the conf/ folder with an htaccess)
CPU : retrieves correctly CPU frequency for Raspberry Pi
CPU : add CPU temperature (+ option to enable/disable)
System : little correction for getting distro name
Swap : fix if swap is disabled
Services status : adds protocol TCP or UDP for checking service status
Services status : new option to hide port number (see show_port in services section)
Diffstat (limited to 'libs/services.php')
-rw-r--r-- | libs/services.php | 44 |
1 files changed, 21 insertions, 23 deletions
diff --git a/libs/services.php b/libs/services.php index 9b83acb..61411e4 100644 --- a/libs/services.php +++ b/libs/services.php @@ -1,35 +1,33 @@ <?php -require 'Utils/Config.class.php'; +require '../autoload.php'; $Config = new Config(); $datas = array(); -if (count($Config->get('services')) > 0) +$available_protocols = array('tcp', 'udp'); + +$show_port = $Config->get('services:show_port'); + +if (count($Config->get('services:list')) > 0) { - foreach ($Config->get('services') as $service) + foreach ($Config->get('services:list') as $service) { - $host = $service['host']; - $sock = @fsockopen($host, $service['port'], $num, $error, 5); - - if ($sock) - { - $datas[] = array( - 'port' => $service['port'], - 'name' => $service['name'], - 'status' => 1, - ); - - fclose($sock); - } + $host = $service['host']; + $port = $service['port']; + $name = $service['name']; + $protocol = isset($service['protocol']) && in_array($service['protocol'], $available_protocols) ? $service['protocol'] : 'tcp'; + + if (Misc::scanPort($host, $port, $protocol)) + $status = 1; else - { - $datas[] = array( - 'port' => $service['port'], - 'name' => $service['name'], - 'status' => 0, - ); - } + $status = 0; + + $datas[] = array( + 'port' => $show_port === true ? $port : '', + 'name' => $name, + 'status' => $status, + ); } } |