Issues (2963)

includes/discovery/entity-physical.inc.php (1 issue)

1
<?php
2
3
use LibreNMS\Config;
0 ignored issues
show
This use statement conflicts with another class in this namespace, Config. Consider defining an alias.

Let?s assume that you have a directory layout like this:

.
|-- OtherDir
|   |-- Bar.php
|   `-- Foo.php
`-- SomeDir
    `-- Foo.php

and let?s assume the following content of Bar.php:

// Bar.php
namespace OtherDir;

use SomeDir\Foo; // This now conflicts the class OtherDir\Foo

If both files OtherDir/Foo.php and SomeDir/Foo.php are loaded in the same runtime, you will see a PHP error such as the following:

PHP Fatal error:  Cannot use SomeDir\Foo as Foo because the name is already in use in OtherDir/Foo.php

However, as OtherDir/Foo.php does not necessarily have to be loaded and the error is only triggered if it is loaded before OtherDir/Bar.php, this problem might go unnoticed for a while. In order to prevent this error from surfacing, you must import the namespace with a different alias:

// Bar.php
namespace OtherDir;

use SomeDir\Foo as SomeDirFoo; // There is no conflict anymore.
Loading history...
4
5
if (Config::get('enable_inventory')) {
6
    // Legacy entPhysical - junos/timos/cisco
7
    include 'includes/discovery/entity-physical/entity-physical.inc.php';
8
9
    if (file_exists(Config::get('install_dir') . "/includes/discovery/entity-physical/{$device['os']}.inc.php")) {
10
        include Config::get('install_dir') . "/includes/discovery/entity-physical/{$device['os']}.inc.php";
11
    }
12
13
    // Delete any entries that have not been accounted for.
14
    $sql = 'SELECT * FROM `entPhysical` WHERE `device_id` = ?';
15
    foreach (dbFetchRows($sql, [$device['device_id']]) as $test) {
16
        $id = $test['entPhysicalIndex'];
17
        if (! $valid[$id]) {
18
            echo '-';
19
            dbDelete('entPhysical', 'entPhysical_id = ?', [$test['entPhysical_id']]);
20
        }
21
    }
22
    unset(
23
        $sql,
24
        $test,
25
        $valid
26
    );
27
} else {
28
    echo 'Disabled!';
29
}//end if
30