Use Config helper (#10339)

remove usage of global variable
This commit is contained in:
Tony Murray
2019-06-23 00:29:12 -05:00
committed by GitHub
parent 342acf50f1
commit f3ba8947f7
367 changed files with 1589 additions and 1857 deletions
+17 -13
View File
@@ -1,6 +1,8 @@
#!/usr/bin/env php
<?php
use LibreNMS\Config;
$init_modules = array('');
require __DIR__ . '/../includes/init.php';
@@ -13,9 +15,9 @@ if ($options['h'] && $options['o'] && $options['t'] && $options['v']) {
$device_id = ctype_digit($options['h']) ? $options['h'] : getidbyname($options['h']);
$device = device_by_id_cache($device_id);
$definition_file = $config['install_dir'] . "/includes/definitions/{$options['o']}.yaml";
$discovery_file = $config['install_dir'] . "/includes/definitions/discovery/{$options['o']}.yaml";
$test_file = $config['install_dir'] . "/tests/snmpsim/{$options['o']}.snmprec";
$definition_file = Config::get('install_dir') . "/includes/definitions/{$options['o']}.yaml";
$discovery_file = Config::get('install_dir') . "/includes/definitions/discovery/{$options['o']}.yaml";
$test_file = Config::get('install_dir') . "/tests/snmpsim/{$options['o']}.snmprec";
if (file_exists($definition_file)) {
c_echo("The OS {$options['o']} appears to exist already, skipping to sensors support\n");
} else {
@@ -43,14 +45,14 @@ sysObjectID: $full_sysObjectID
if (filter_var($icon, FILTER_VALIDATE_URL)) {
$icon_data = file_get_contents($icon);
file_put_contents($config['temp_dir'] . "/{$options['o']}", $icon_data);
$file_info = mime_content_type($config['temp_dir'] . "/{$options['o']}");
file_put_contents(Config::get('temp_dir') . "/{$options['o']}", $icon_data);
$file_info = mime_content_type(Config::get('temp_dir') . "/{$options['o']}");
if ($file_info === 'image/png') {
$ext = '.png';
} elseif ($file_info === 'image/svg+xml') {
$ext = '.svg';
}
rename($config['temp_dir'] . "/{$options['o']}", $config['install_dir'] . "/html/images/os/$vendor$ext");
rename(Config::get('temp_dir') . "/{$options['o']}", Config::get('install_dir') . "/html/images/os/$vendor$ext");
$icon = $vendor;
}
@@ -85,29 +87,31 @@ discovery:
if (filter_var($mib_name, FILTER_VALIDATE_URL)) {
$mib_data = file_get_contents($mib_name);
file_put_contents($config['temp_dir'] . "/{$options['o']}.mib", $mib_data);
$file_info = mime_content_type($config['temp_dir'] . "/{$options['o']}.mib");
file_put_contents(Config::get('temp_dir') . "/{$options['o']}.mib", $mib_data);
$file_info = mime_content_type(Config::get('temp_dir') . "/{$options['o']}.mib");
if ($file_info !== 'text/plain') {
c_echo("That mib file isn't a plain text file and is instead $file_info so we aren't using it");
exit(1);
}
preg_match('/(.* DEFINITIONS ::)/', $mib_data, $matches);
list($mib_name,) = explode(' ', $matches[0], 2);
if (file_exists($config['install_dir'] . "/mibs/$vendor/") == false) {
mkdir($config['install_dir'] . "/mibs/$vendor/");
if (file_exists(Config::get('install_dir') . "/mibs/$vendor/") == false) {
mkdir(Config::get('install_dir') . "/mibs/$vendor/");
}
rename($config['temp_dir'] . "/{$options['o']}.mib", $config['install_dir'] . "/mibs/$vendor/$mib_name");
rename(Config::get('temp_dir') . "/{$options['o']}.mib", Config::get('install_dir') . "/mibs/$vendor/$mib_name");
} elseif ($mib_name) {
$tmp_mib = explode('/', $mib_name);
$mib_name = array_pop($tmp_mib);
}
$tables = `{$config['snmptranslate']} -M {$config['mib_dir']}:{$config['mib_dir']}/$vendor -m $mib_name -TB '.*Table$' -Os`;
$translate_cmd = Config::get('snmptranslate') . ' -M ' . Config::get('mib_dir') . ':' . Config::get('mib_dir') . "/$vendor -m $mib_name -TB '.*Table$' -Os";
$tables = shell_exec($translate_cmd);
foreach (explode(PHP_EOL, $tables) as $table_name) {
if ($table_name) {
$continue = get_user_input("Do you want to add $table_name? (y/N)");
if ($continue === 'y' || $continue === 'Y') {
$tmp_info = `env MIBDIRS={$config['mib_dir']}:{$config['mib_dir']}/$vendor/ env MIBS="$mib_name" mib2c -q -c misc/mib2c.conf $table_name`;
$mib2c_cmd = 'env MIBDIRS=' . Config::get('mib_dir') . ':' . Config::get('mib_dir') . "/$vendor/ env MIBS=\"$mib_name\" mib2c -q -c misc/mib2c.conf $table_name";
$tmp_info = shell_exec($mib2c_cmd);
$table_info = Symfony\Component\Yaml\Yaml::parse($tmp_info);
$type = get_user_input('Enter the sensor type, i.e temperature, voltage, etc:');
echo 'Table info:' . PHP_EOL;