Răsfoiți Sursa

Merge branch 'main' of https://github.com/rajven/Eye

rajven 2 ani în urmă
părinte
comite
95e8d509d1

+ 2 - 2
html/admin/devices/switchstatus.php

@@ -91,10 +91,10 @@ if ($device['snmp_version']>0) {
     $modules_oids = NULL;
     if ($snmp_ok) {
             if ($device['snmp_version'] == 2) {
-	        $modules_oids = snmp2_real_walk($device['ip'], $device['community'], CISCO_MODULES);
+	        $modules_oids = snmp2_real_walk($device['ip'], $device['community'], CISCO_MODULES, SNMP_timeout, SNMP_retry);
 	        }
             if ($device['snmp_version'] == 1) {
-	        $modules_oids = snmprealwalk($device['ip'], $device['community'], CISCO_MODULES);
+	        $modules_oids = snmprealwalk($device['ip'], $device['community'], CISCO_MODULES, SNMP_timeout, SNMP_retry);
 	        }
 	    }
     } else { $snmp_ok = 0; }

BIN
html/android-chrome-192x192.png


BIN
html/android-chrome-512x512.png


BIN
html/apple-touch-icon.png


+ 5 - 0
html/cfg/config.sample.php

@@ -21,4 +21,9 @@ define("CACTI_DB_PASS","");
 
 define("IPCAM_GROUP_ID","5");
 
+#snmp timeout in microsecond
+define("SNMP_timeout","500000");
+#snmp retry after timeout
+define("SNMP_retry","1");
+
 ?>

BIN
html/favicon-16x16.png


BIN
html/favicon-32x32.png


BIN
html/favicon.ico


+ 10 - 15
html/inc/common.php

@@ -2021,10 +2021,10 @@ function walk_snmp($ip, $community, $version, $oid)
     snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC);
 
     if ($version == 2) {
-        $result = snmp2_real_walk($ip, $community, $oid);
+        $result = snmp2_real_walk($ip, $community, $oid, SNMP_timeout, SNMP_retry);
     }
     if ($version == 1) {
-        $result = snmprealwalk($ip, $community, $oid);
+        $result = snmprealwalk($ip, $community, $oid, SNMP_timeout, SNMP_retry);
     }
     return $result;
 }
@@ -2174,10 +2174,10 @@ function get_sfp_status($vendor_id, $port, $ip, $community, $version, $modules_o
                 $module_id = get_last_digit($key);
                 unset($result);
                 $result = parse_snmp_value(get_snmp($ip, $community, $version, HUAWEI_SFP_VENDOR . "." . $module_id));
-                if (isset($result)) { $sfp_vendor = $result; }
+                if (!empty($result)) { $sfp_vendor = $result; }
                 unset($result);
                 $result = parse_snmp_value(get_snmp($ip, $community, $version, HUAWEI_SFP_SPEED . "." . $module_id));
-                if (isset($result)) {
+                if (!empty($result)) {
                     list ($sfp_speed, $spf_lenght, $sfp_type) = explode('-', $result);
                     if ($sfp_type == 0) { $sfp_type = 'MultiMode'; }
                     if ($sfp_type == 1) { $sfp_type = 'SingleMode'; }
@@ -2471,10 +2471,10 @@ function get_snmp($ip, $community, $version, $oid)
 {
     snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC);
     if ($version == 2) {
-        $result = snmp2_get($ip, $community, $oid);
+        $result = snmp2_get($ip, $community, $oid, SNMP_timeout, SNMP_retry);
     }
     if ($version == 1) {
-        $result = snmpget($ip, $community, $oid);
+        $result = snmpget($ip, $community, $oid, SNMP_timeout, SNMP_retry);
     }
     return $result;
 }
@@ -2482,10 +2482,10 @@ function get_snmp($ip, $community, $version, $oid)
 function set_snmp($ip, $community, $version, $oid, $field, $value)
 {
     if ($version == 2) {
-        $result = snmp2_set($ip, $community, $oid, $field, $value);
+        $result = snmp2_set($ip, $community, $oid, $field, $value, SNMP_timeout, SNMP_retry);
     }
     if ($version == 1) {
-        $result = snmpset($ip, $community, $oid, $field, $value);
+        $result = snmpset($ip, $community, $oid, $field, $value, SNMP_timeout, SNMP_retry);
     }
     return $result;
 }
@@ -3106,13 +3106,8 @@ function get_cacti_graph($host_ip, $port_index)
     if (CACTI_DB_HOST ==null or CACTI_DB_USER == null or CACTI_DB_PASS==null or CACTI_DB_NAME==null) { return; }
     if (empty(CACTI_DB_HOST) or empty(CACTI_DB_USER) or empty(CACTI_DB_PASS) or empty(CACTI_DB_NAME)) { return; }
 
-    $cacti_db_link = mysqli_connect(CACTI_DB_HOST, CACTI_DB_USER, CACTI_DB_PASS, CACTI_DB_NAME);
-    if (! $cacti_db_link) {
-        echo "Ошибка: Невозможно установить соединение с MySQL with ".CACTI_DB_HOST." [".CACTI_DB_NAME."] for ".CACTI_DB_USER." ". PHP_EOL;
-        echo "Код ошибки errno: " . mysqli_connect_errno() . PHP_EOL;
-        echo "Текст ошибки error: " . mysqli_connect_error() . PHP_EOL;
-        return FALSE;
-    }
+    $cacti_db_link = new_connection(CACTI_DB_HOST, CACTI_DB_USER, CACTI_DB_PASS, CACTI_DB_NAME);
+    if (! $cacti_db_link) { return FALSE; }
 
     $host_sql = 'SELECT * FROM host WHERE hostname="' . $host_ip . '"';
     $cacti_host = get_record_sql($cacti_db_link,$host_sql);

+ 4 - 0
html/inc/header.php

@@ -2,6 +2,10 @@
 <html>
 <head>
 <title><?php echo WEB_site_title; ?></title>
+<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+<link rel="manifest" href="/site.webmanifest">
 <link rel="stylesheet" type="text/css" href="/<?php echo HTML_STYLE.'.css'; ?>">
 <script src="/js/jq/jquery.min.js"></script>
 <link href="/js/select2/css/select2.min.css" rel="stylesheet"/>

+ 19 - 8
html/inc/sql.php

@@ -3,19 +3,30 @@ if (! defined("CONFIG")) die("Not defined");
 
 if (! defined("SQL")) { die("Not defined"); }
 
-$db_link = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
+function new_connection ($db_host, $db_user, $db_password, $db_name)
+{
+mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
 
-if (! $db_link) {
-    echo "Ошибка: Невозможно установить соединение с MySQL." . PHP_EOL;
-    echo "Код ошибки errno: " . mysqli_connect_errno() . PHP_EOL;
-    echo "Текст ошибки error: " . mysqli_connect_error() . PHP_EOL;
+$result = mysqli_connect($db_host,$db_user,$db_password,$db_name);
+
+if (! $result) {
+    echo "Error connect to MYSQL " . PHP_EOL;
+    echo "Errno: " . mysqli_connect_errno() . PHP_EOL;
+    echo "Error message: " . mysqli_connect_error() . PHP_EOL;
     exit();
     }
 
-/* изменение набора символов на utf8 */
-if (!mysqli_set_charset($db_link,'utf8mb4')) {
-    printf("Ошибка при загрузке набора символов utf8: %s\n", mysqli_error($db_link));
+/* enable utf8 */
+if (!mysqli_set_charset($result,'utf8mb4')) {
+    printf("Error loading utf8: %s\n", mysqli_error($result));
     exit();
     }
 
+//mysqli_options($result, MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1);
+
+return $result;
+}
+
+$db_link = new_connection(DB_HOST, DB_USER, DB_PASS, DB_NAME);
+
 ?>

+ 1 - 0
html/site.webmanifest

@@ -0,0 +1 @@
+{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}