summaryrefslogtreecommitdiff
path: root/libs/services.php
diff options
context:
space:
mode:
authorShevAbam <shevabam@gmail.com>2015-07-07 15:57:41 +0200
committerShevAbam <shevabam@gmail.com>2015-07-07 15:57:41 +0200
commit9970343fe5c8226f25234addc6b80836c092fe1f (patch)
treece8f029f3ce9251bd4c207a6427c356ad9042525 /libs/services.php
parentdd982cee0716e38e68bc42ffb24952b5675a5b19 (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.php44
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,
+ );
}
}