Preparing for phpstan analysis by adding bootstrapFiles

This commit is contained in:
TheWitness committed 2025-11-18 21:47:55 -05:00
1 parent b9334a15d9
commit c0afb6a976
7 files changed
+123 -60

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
<?php
define('PHP_STAN', true);
+9
View File
@@ -6,11 +6,20 @@ parameters:
excludePaths:
analyse:
- include/vendor/*
- plugins/*
paths:
- include
- lib
- install
- .
bootstrapFiles:
- .phpstan-bootstrap.php
- include/global_constants.php
- include/global.php
- include/global_languages.php
- include/global_arrays.php
- include/global_form.php
- include/global_settings.php
reportUnmatchedIgnoredErrors: false
ignoreErrors:
- identifier: missingType.iterableValue
+1
View File
@@ -82,6 +82,7 @@
},
"scripts": {
"lint": "phplint --no-cache ./ --exclude=include/vendor",
"phpstan": "phpstan analyse --level 8 ./",
"phpcsfixer": "php-cs-fixer fix --dry-run --diff --config=./.php-cs-fixer.php --ansi",
"phpcsfixit": "php-cs-fixer fix --ansi"
},
+41 -33
View File
@@ -303,7 +303,9 @@ $lu = $config['is_web'] ? '</ul>' : '';
$il = $config['is_web'] ? '</li>' : '';
if ($config['poller_id'] > 1 || isset($rdatabase_hostname)) {
$local_db_cnn_id = db_connect_real($database_hostname, $database_username, $database_password, $database_default, $database_type, $database_port, $database_retries, $database_ssl, $database_ssl_key, $database_ssl_cert, $database_ssl_ca, $database_ssl_capath, $database_ssl_verify_server_cert);
if (!defined('PHP_STAN')) {
$local_db_cnn_id = db_connect_real($database_hostname, $database_username, $database_password, $database_default, $database_type, $database_port, $database_retries, $database_ssl, $database_ssl_key, $database_ssl_cert, $database_ssl_ca, $database_ssl_capath, $database_ssl_verify_server_cert);
}
if (!isset($rdatabase_retries)) {
$rdatabase_retries = 2;
@@ -351,7 +353,9 @@ if ($config['poller_id'] > 1 || isset($rdatabase_hostname)) {
* a remote poller, let's attempt to get back online.
*/
if ($conn_mode != 'offline') {
$remote_db_cnn_id = db_connect_real($rdatabase_hostname, $rdatabase_username, $rdatabase_password, $rdatabase_default, $rdatabase_type, $rdatabase_port, $database_retries, $rdatabase_ssl, $rdatabase_ssl_key, $rdatabase_ssl_cert, $rdatabase_ssl_ca, $rdatabase_ssl_capath, $rdatabase_ssl_verify_server_cert);
if (!defined('PHP_STAN')) {
$remote_db_cnn_id = db_connect_real($rdatabase_hostname, $rdatabase_username, $rdatabase_password, $rdatabase_default, $rdatabase_type, $rdatabase_port, $database_retries, $rdatabase_ssl, $rdatabase_ssl_key, $rdatabase_ssl_cert, $rdatabase_ssl_ca, $rdatabase_ssl_capath, $rdatabase_ssl_verify_server_cert);
}
}
if ($config['is_web'] && is_object($remote_db_cnn_id) && $config['connection'] != 'recovery' && $config['cacti_db_version'] != 'new_install' && !defined('IN_CACTI_INSTALL')) {
@@ -399,43 +403,47 @@ if ($config['poller_id'] > 1 || isset($rdatabase_hostname)) {
$database_ssl_verify_server_cert = false;
}
if (!db_connect_real($database_hostname, $database_username, $database_password, $database_default, $database_type, $database_port, $database_retries, $database_ssl, $database_ssl_key, $database_ssl_cert, $database_ssl_ca, $database_ssl_capath, $database_ssl_verify_server_cert)) {
print $ps . 'FATAL: Connection to Cacti database failed. Please ensure: ' . $ul;
print $li . 'the PHP MySQL module is installed and enabled.' . $il;
print $li . 'the database is running.' . $il;
print $li . 'the credentials in config.php are valid.' . $il;
print $lu . $sp;
if (isset($_REQUEST['display_db_errors']) && !empty($config['DATABASE_ERROR'])) {
print $ps . 'The following database errors occurred: ' . $ul;
foreach ($config['DATABASE_ERROR'] as $e) {
print $li . $e['Code'] . ': ' . $e['Error'] . $il;
}
if (!defined('PHP_STAN')) {
if (!db_connect_real($database_hostname, $database_username, $database_password, $database_default, $database_type, $database_port, $database_retries, $database_ssl, $database_ssl_key, $database_ssl_cert, $database_ssl_ca, $database_ssl_capath, $database_ssl_verify_server_cert)) {
print $ps . 'FATAL: Connection to Cacti database failed. Please ensure: ' . $ul;
print $li . 'the PHP MySQL module is installed and enabled.' . $il;
print $li . 'the database is running.' . $il;
print $li . 'the credentials in config.php are valid.' . $il;
print $lu . $sp;
}
exit;
if (isset($_REQUEST['display_db_errors']) && !empty($config['DATABASE_ERROR'])) {
print $ps . 'The following database errors occurred: ' . $ul;
foreach ($config['DATABASE_ERROR'] as $e) {
print $li . $e['Code'] . ': ' . $e['Error'] . $il;
}
print $lu . $sp;
}
exit;
}
}
if (!db_table_exists('settings') || !db_table_exists('version')) {
print $ps . 'FATAL: Connection to Cacti database succeed but `settings` table not found. Please ensure: ' . $ul;
print $li . 'the PHP MySQL module is installed and enabled.' . $il;
print $li . 'the database is running.' . $il;
print $li . 'the cacti.sql has been imported.' . $il;
print $li . 'the credentials in config.php are valid and correct.' . $il;
print $lu . $sp;
if (isset($_REQUEST['display_db_errors']) && !empty($config['DATABASE_ERROR'])) {
print $ps . 'The following database errors occurred: ' . $ul;
foreach ($config['DATABASE_ERROR'] as $e) {
print $li . $e['Code'] . ': ' . $e['Error'] . $il;
}
if (!defined('PHP_STAN')) {
if (!db_table_exists('settings') || !db_table_exists('version')) {
print $ps . 'FATAL: Connection to Cacti database succeeded but `settings` table not found. Please ensure: ' . $ul;
print $li . 'the PHP MySQL module is installed and enabled.' . $il;
print $li . 'the database is running.' . $il;
print $li . 'the cacti.sql has been imported.' . $il;
print $li . 'the credentials in config.php are valid and correct.' . $il;
print $lu . $sp;
}
exit;
if (isset($_REQUEST['display_db_errors']) && !empty($config['DATABASE_ERROR'])) {
print $ps . 'The following database errors occurred: ' . $ul;
foreach ($config['DATABASE_ERROR'] as $e) {
print $li . $e['Code'] . ': ' . $e['Error'] . $il;
}
print $lu . $sp;
}
exit;
}
}
/* gather the existing cactidb version */
+1 -1
View File
@@ -29,7 +29,7 @@ $cacti_country = 'us';
/* an array that will contains all textdomains being in use. */
$cacti_textdomains = [];
global $path2calendar, $path2timepicker, $path2colorpicker, $path2ms, $path2msfilter;
global $path2calendar, $path2timepicker, $path2colorpicker, $path2ms, $path2msfilter, $lang2locale;
/* get a list of locale settings */
$lang2locale = get_list_of_locales();
+66 -24
View File
@@ -163,12 +163,14 @@ function db_connect_real($device, $user, $pass, $db_name, $db_type = 'mysql', $p
];
// test if cacti database is imported from SQL file
$table_exists = db_fetch_cell("SELECT count(*) FROM information_schema.tables
WHERE table_schema = DATABASE() and TABLE_NAME = 'version'");
if (!defined('PHP_STAN')) {
$table_exists = db_fetch_cell("SELECT count(*) FROM information_schema.tables
WHERE table_schema = DATABASE() and TABLE_NAME = 'version'");
if (!$table_exists) {
error_log(sprintf('NOTE: Database %s does not contain cacti tables. Import cacti.sql first', $db_name));
die('ERROR: Database does not contain cacti tables. If this is a new installation, first import the SQL dump');
if (!$table_exists) {
error_log(sprintf('NOTE: Database %s does not contain cacti tables. Import cacti.sql first', $db_name));
die('ERROR: Database does not contain cacti tables. If this is a new installation, first import the SQL dump');
}
}
$ver = db_get_global_variable('version', $cnn_id);
@@ -437,7 +439,9 @@ function db_close(&$db_conn = false) {
error_log(sprintf('NOTE: Disconnecting from %s:%s/%s.', $database_hostname, $database_port, $database_default));
}
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
if (!empty($config['DEBUG_SQL_CONNECT'])) {
@@ -936,7 +940,9 @@ function db_fetch_insert_id($db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
}
if (is_object($db_conn)) {
@@ -959,7 +965,9 @@ function db_affected_rows($db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -985,7 +993,9 @@ function db_add_column($table, $column, $log = true, $db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -1074,7 +1084,9 @@ function db_change_column($table, $column, $log = true, $db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -1165,7 +1177,9 @@ function db_remove_column($table, $column, $log = true, $db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -1367,7 +1381,11 @@ function db_table_exists($table, $log = true, $db_conn = false) {
function db_cacti_initialized($is_web = true) {
global $database_sessions, $database_default, $config, $database_hostname, $database_port, $config;
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
} else {
$db_conn = false;
}
if (!is_object($db_conn)) {
return false;
@@ -1439,7 +1457,9 @@ function db_get_table_column_types($table, $db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -1477,7 +1497,9 @@ function db_update_table($table, $data, $removecolumns = false, $log = true, $db
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -1742,7 +1764,9 @@ function db_table_create($table, $data, $log = true, $db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -1859,7 +1883,9 @@ function db_get_global_variable($variable, $db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -1888,7 +1914,9 @@ function db_get_session_variable($variable, $db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -1916,7 +1944,9 @@ function db_begin_transaction($db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -1938,7 +1968,9 @@ function db_commit_transaction($db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -1962,7 +1994,9 @@ function db_rollback_transaction($db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -2012,7 +2046,9 @@ function db_replace($table_name, $array_items, $keyCols, $db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
}
cacti_log("DEVEL: SQL Replace on table '$table_name': '" . serialize($array_items) . "'", false, 'DBCALL', POLLER_VERBOSITY_DEVDBG);
@@ -2037,7 +2073,9 @@ function _db_replace($db_conn, $table, $fieldArray, $keyCols) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
if (!is_object($db_conn)) {
return false;
@@ -2104,7 +2142,9 @@ function sql_save($array_items, $table_name, $key_cols = 'id', $autoinc = true,
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
}
$log = true;
@@ -2191,7 +2231,9 @@ function db_qstr($s, $db_conn = false) {
/* check for a connection being passed, if not use legacy behavior */
if (!is_object($db_conn)) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
if (isset($database_sessions["$database_hostname:$database_port:$database_default"])) {
$db_conn = $database_sessions["$database_hostname:$database_port:$database_default"];
}
}
if (is_null($s)) {
+2 -2
View File
@@ -1318,13 +1318,13 @@ function force_session_data() {
* '$arr[0] = array('id' => 23, 'name' => 'blah')' to the form
* '$arr = array(23 => 'blah')'
*
* @param array $array The original array to manipulate
* @param mixed $array The original array to manipulate
* @param string $key The name of the key
* @param string $key_value The name of the key value
*
* @return array the modified array
*/
function array_rekey(array $array, string $key, mixed $key_value): array {
function array_rekey(mixed $array, string $key, mixed $key_value): array {
$ret_array = [];
if (is_array($array)) {