/**
  * Function to update NetworkEquipment
  *
  * @param array $a_inventory data fron agent inventory
  * @param id $items_id id of the networkequipment
  *
  * @return nothing
  */
 function updateNetworkEquipment($a_inventory, $items_id)
 {
     global $DB;
     $networkEquipment = new NetworkEquipment();
     $pfNetworkEquipment = new PluginFusioninventoryNetworkEquipment();
     $networkEquipment->getFromDB($items_id);
     if (!isset($_SESSION['glpiactiveentities_string'])) {
         $_SESSION['glpiactiveentities_string'] = $networkEquipment->fields['entities_id'];
     }
     if (!isset($_SESSION['glpiactiveentities'])) {
         $_SESSION['glpiactiveentities'] = array($networkEquipment->fields['entities_id']);
     }
     if (!isset($_SESSION['glpiactive_entity'])) {
         $_SESSION['glpiactive_entity'] = $networkEquipment->fields['entities_id'];
     }
     // * NetworkEquipment
     $db_networkequipment = $networkEquipment->fields;
     $a_lockable = PluginFusioninventoryLock::getLockFields('glpi_networkequipments', $items_id);
     $a_ret = PluginFusioninventoryToolbox::checkLock($a_inventory['NetworkEquipment'], $db_networkequipment, $a_lockable);
     $a_inventory['NetworkEquipment'] = $a_ret[0];
     $mac = $a_inventory['NetworkEquipment']['mac'];
     unset($a_inventory['NetworkEquipment']['mac']);
     $input = $a_inventory['NetworkEquipment'];
     $input['id'] = $items_id;
     $networkEquipment->update($input);
     $this->internalPorts($a_inventory['internalport'], $items_id, $mac, 'Internal');
     // * NetworkEquipment fusion (ext)
     $db_networkequipment = array();
     $query = "SELECT *\n            FROM `" . getTableForItemType("PluginFusioninventoryNetworkEquipment") . "`\n            WHERE `networkequipments_id` = '{$items_id}'";
     $result = $DB->query($query);
     while ($data = $DB->fetch_assoc($result)) {
         foreach ($data as $key => $value) {
             $db_networkequipment[$key] = Toolbox::addslashes_deep($value);
         }
     }
     if (count($db_networkequipment) == '0') {
         // Add
         $a_inventory['PluginFusioninventoryNetworkEquipment']['networkequipments_id'] = $items_id;
         $pfNetworkEquipment->add($a_inventory['PluginFusioninventoryNetworkEquipment']);
     } else {
         // Update
         $idtmp = $db_networkequipment['id'];
         unset($db_networkequipment['id']);
         unset($db_networkequipment['networkequipments_id']);
         unset($db_networkequipment['plugin_fusioninventory_configsecurities_id']);
         $a_ret = PluginFusioninventoryToolbox::checkLock($a_inventory['PluginFusioninventoryNetworkEquipment'], $db_networkequipment);
         $a_inventory['PluginFusioninventoryNetworkEquipment'] = $a_ret[0];
         $input = $a_inventory['PluginFusioninventoryNetworkEquipment'];
         $input['id'] = $idtmp;
         $pfNetworkEquipment->update($input);
     }
     // * Ports
     $this->importPorts($a_inventory, $items_id);
 }
 function run($jobstate)
 {
     $pfAgent = new PluginFusioninventoryAgent();
     $pfTaskjobstate = new PluginFusioninventoryTaskjobstate();
     $pfTaskjoblog = new PluginFusioninventoryTaskjoblog();
     $pfConfigSecurity = new PluginFusioninventoryConfigSecurity();
     $pfToolbox = new PluginFusioninventoryToolbox();
     $current = $jobstate;
     $pfAgent->getFromDB($current->fields['plugin_fusioninventory_agents_id']);
     $ip = current(PluginFusioninventoryToolbox::getIPforDevice($jobstate->fields['itemtype'], $jobstate->fields['items_id']));
     if ($ip == '') {
         $pfTaskjobstate->changeStatusFinish($jobstate->fields['id'], $jobstate->fields['items_id'], $jobstate->fields['itemtype'], 1, "Device have no ip");
     } else {
         $sxml_option = $this->message->addChild('OPTION');
         $sxml_option->addChild('NAME', 'SNMPQUERY');
         $sxml_param = $sxml_option->addChild('PARAM');
         $sxml_param->addAttribute('THREADS_QUERY', $pfAgent->fields["threads_networkinventory"]);
         $sxml_param->addAttribute('TIMEOUT', $pfAgent->fields["timeout_networkinventory"]);
         $sxml_param->addAttribute('PID', $current->fields['id']);
         $changestate = 0;
         $taskjobstatedatas = $jobstate->fields;
         $sxml_device = $sxml_option->addChild('DEVICE');
         $a_extended = array('plugin_fusioninventory_configsecurities_id' => 0);
         if ($jobstate->fields['itemtype'] == 'Printer') {
             $sxml_device->addAttribute('TYPE', 'PRINTER');
             $pfPrinter = new PluginFusioninventoryPrinter();
             $a_extended = current($pfPrinter->find("`printers_id`='" . $jobstate->fields['items_id'] . "'", '', 1));
         } else {
             if ($jobstate->fields['itemtype'] == 'NetworkEquipment') {
                 $sxml_device->addAttribute('TYPE', 'NETWORKING');
                 $pfNetworkEquipment = new PluginFusioninventoryNetworkEquipment();
                 $a_extended = current($pfNetworkEquipment->find("`networkequipments_id`='" . $jobstate->fields['items_id'] . "'", '', 1));
             }
         }
         $sxml_device->addAttribute('ID', $jobstate->fields['items_id']);
         $sxml_device->addAttribute('IP', $ip);
         $sxml_device->addAttribute('AUTHSNMP_ID', $a_extended['plugin_fusioninventory_configsecurities_id']);
         if ($changestate == '0') {
             $pfTaskjobstate->changeStatus($taskjobstatedatas['id'], 1);
             $pfTaskjoblog->addTaskjoblog($taskjobstatedatas['id'], '0', 'PluginFusioninventoryAgent', '1', $pfAgent->fields["threads_networkinventory"] . ' threads', $pfAgent->fields["timeout_networkinventory"] . ' timeout');
             $changestate = $pfTaskjobstate->fields['id'];
         } else {
             $pfTaskjobstate->changeStatusFinish($taskjobstatedatas['id'], $taskjobstatedatas['items_id'], $taskjobstatedatas['itemtype'], 0, "Merged with " . $changestate);
         }
         $snmpauthlist = $pfConfigSecurity->find();
         if (count($snmpauthlist)) {
             foreach ($snmpauthlist as $snmpauth) {
                 $pfToolbox->addAuth($sxml_option, $snmpauth['id']);
             }
         }
     }
     return $this->message;
 }
 /**
  * @test
  */
 public function prepareDB()
 {
     global $DB;
     $DB->connect();
     $entity = new Entity();
     $computer = new Computer();
     $pfAgent = new PluginFusioninventoryAgent();
     $pfTask = new PluginFusioninventoryTask();
     $pfTaskjob = new PluginFusioninventoryTaskjob();
     $pfIPRange = new PluginFusioninventoryIPRange();
     $networkEquipment = new NetworkEquipment();
     $networkPort = new NetworkPort();
     $printer = new Printer();
     $pfNetworkEquipment = new PluginFusioninventoryNetworkEquipment();
     // Create entities
     $_SESSION['glpiactive_entity'] = 0;
     $DB->query("INSERT INTO `glpi_entities`\n         (`id`, `name`, `entities_id`, `completename`, `level`)\n         VALUES (1, 'ent1', 0, 'Entité racine > ent1', 2)");
     $DB->query("INSERT INTO `glpi_entities`\n         (`id`, `name`, `entities_id`, `completename`, `level`)\n         VALUES (2, 'ent2', 0, 'Entité racine > ent2', 2)");
     $DB->query("INSERT INTO `glpi_entities`\n         (`id`, `name`, `entities_id`, `completename`, `level`)\n         VALUES (3, 'ent1.1', 1, 'Entité racine > ent1 > ent1.1', 3)");
     // Create computers + agents
     $input = array('entities_id' => 0, 'name' => 'computer1');
     $computers_id = $computer->add($input);
     $input = array('entities_id' => 0, 'name' => 'computer1', 'version' => '{"INVENTORY":"v2.3.11"}', 'device_id' => 'computer1', 'useragent' => 'FusionInventory-Agent_v2.3.11', 'computers_id' => $computers_id);
     $pfAgent->add($input);
     // Create Network Equipments
     $input = array('name' => 'sw0', 'entities_id' => 0);
     $networkEquipment->add($input);
     $input = array('entities_id' => 0, 'name' => 'management', 'items_id' => 1, 'itemtype' => 'NetworkEquipment', 'instantiation_type' => 'NetworkPortAggregate', 'NetworkName__ipaddresses' => array('-1' => '10.0.0.10'));
     $networkPort->splitInputForElements($input);
     $networkPort->add($input);
     $networkPort->updateDependencies(1);
     $input = array('networkequipments_id' => 1, 'plugin_fusioninventory_configsecurities_id' => 2);
     $pfNetworkEquipment->add($input);
     $input = array('name' => 'sw1', 'entities_id' => 1);
     $networkEquipment->add($input);
     $input = array('entities_id' => 1, 'name' => 'management', 'items_id' => 2, 'itemtype' => 'NetworkEquipment', 'instantiation_type' => 'NetworkPortAggregate', 'NetworkName__ipaddresses' => array('-1' => '10.0.0.11'));
     $networkPort->splitInputForElements($input);
     $networkPort->add($input);
     $networkPort->updateDependencies(1);
     $input = array('networkequipments_id' => 2, 'plugin_fusioninventory_configsecurities_id' => 2);
     $pfNetworkEquipment->add($input);
     $input = array('name' => 'sw2', 'entities_id' => 2);
     $networkEquipment->add($input);
     $input = array('entities_id' => 2, 'name' => 'management', 'items_id' => 3, 'itemtype' => 'NetworkEquipment', 'instantiation_type' => 'NetworkPortAggregate', 'NetworkName__ipaddresses' => array('-1' => '10.0.0.12'));
     $networkPort->splitInputForElements($input);
     $networkPort->add($input);
     $networkPort->updateDependencies(1);
     $input = array('networkequipments_id' => 3, 'plugin_fusioninventory_configsecurities_id' => 2);
     $pfNetworkEquipment->add($input);
     $input = array('name' => 'sw3/1.1', 'entities_id' => 3);
     $networkEquipment->add($input);
     $input = array('entities_id' => 3, 'name' => 'management', 'items_id' => 4, 'itemtype' => 'NetworkEquipment', 'instantiation_type' => 'NetworkPortAggregate', 'NetworkName__ipaddresses' => array('-1' => '10.0.0.21'));
     $networkPort->splitInputForElements($input);
     $networkPort->add($input);
     $networkPort->updateDependencies(1);
     $input = array('networkequipments_id' => 4, 'plugin_fusioninventory_configsecurities_id' => 2);
     $pfNetworkEquipment->add($input);
     // Create Printers
     // Add IPRange
     $input = array('entities_id' => 1, 'name' => 'Office', 'ip_start' => '10.0.0.1', 'ip_end' => '10.0.0.254');
     $ipranges_id = $pfIPRange->add($input);
     // Allow all agents to do network discovery
     $query = "UPDATE `glpi_plugin_fusioninventory_agentmodules` " . " SET `is_active`='1' " . " WHERE `modulename`='NETWORKINVENTORY'";
     $DB->query($query);
     // create task
     $input = array('entities_id' => 0, 'name' => 'network inventory', 'is_active' => 1);
     $tasks_id = $pfTask->add($input);
     // create taskjob
     $input = array('plugin_fusioninventory_tasks_id' => $tasks_id, 'entities_id' => 0, 'name' => 'inventory', 'method' => 'networkinventory', 'targets' => '[{"PluginFusioninventoryIPRange":"' . $ipranges_id . '"}]', 'actors' => '[{"PluginFusioninventoryAgent":"1"}]');
     $pfTaskjob->add($input);
 }
Пример #4
0
   static function convertArgument($services_id, $argument) {
      global $DB;

      $pmService = new PluginMonitoringService();
      $pmComponentscatalog_Host = new PluginMonitoringComponentscatalog_Host();

      $pmService->getFromDB($services_id);

      $pmComponentscatalog_Host->getFromDB($pmService->fields['plugin_monitoring_componentscatalogs_hosts_id']);

      $itemtype = $pmComponentscatalog_Host->fields['itemtype'];
      $item = new $itemtype();
      $item->getFromDB($pmComponentscatalog_Host->fields['items_id']);

      $argument = str_replace("[", "", $argument);
      $argument = str_replace("]", "", $argument);
      $a_arg = explode(":", $argument);

      $devicetype = '';
      $devicedata = array();
      if ($itemtype == "NetworkPort") {
         $itemtype2 = $item->fields['itemtype'];
         $item2 = new $itemtype2();
         $item2->getFromDB($item->fields['items_id']);
         $devicetype = $itemtype2;
         $devicedata = $item2->fields;
      } else {
         $devicetype = $itemtype;
         $devicedata = $item->fields;
      }

      if ($devicetype == "NetworkEquipment") {
         if (class_exists("PluginFusioninventoryNetworkEquipment")) {
            $pfNetworkEquipment = new PluginFusioninventoryNetworkEquipment();
            $a_pfNetworkEquipment = current($pfNetworkEquipment->find("`networkequipments_id`='".$devicedata['id']."'", "", 1));

            switch ($a_arg[0]) {

               case 'OID':
                  // Load SNMP model and get oid.portnum
                  $query = "SELECT `glpi_plugin_fusioninventory_mappings`.`name` AS `mapping_name`,
                                   `glpi_plugin_fusioninventory_snmpmodelmibs`.*
                            FROM `glpi_plugin_fusioninventory_snmpmodelmibs`
                                 LEFT JOIN `glpi_plugin_fusioninventory_mappings`
                                           ON `glpi_plugin_fusioninventory_snmpmodelmibs`.`plugin_fusioninventory_mappings_id`=
                                              `glpi_plugin_fusioninventory_mappings`.`id`
                            WHERE `plugin_fusioninventory_snmpmodels_id`='".$a_pfNetworkEquipment['plugin_fusioninventory_snmpmodels_id']."'
                              AND `is_active`='1'
                              AND `oid_port_counter`='0'
                              AND `glpi_plugin_fusioninventory_mappings`.`name`='".$a_arg[1]."'";

                  $result=$DB->query($query);
                  while ($data=$DB->fetch_array($result)) {
                     return Dropdown::getDropdownName('glpi_plugin_fusioninventory_snmpmodelmiboids',$data['plugin_fusioninventory_snmpmodelmiboids_id']).
                          ".".$item->fields['logical_number'];
                  }


                  return '';
                  break;

               case 'SNMP':
                  if ($a_pfNetworkEquipment['plugin_fusioninventory_configsecurities_id'] == '0') {

                     switch ($a_arg[1]) {

                        case 'version':
                           return '2c';
                           break;

                        case 'authentication':
                           return 'public';
                           break;

                     }

                  }
                  $pfConfigSecurity = new PluginFusioninventoryConfigSecurity();
                  $pfConfigSecurity->getFromDB($a_pfNetworkEquipment['plugin_fusioninventory_configsecurities_id']);

                  switch ($a_arg[1]) {

                     case 'version':
                        if ($pfConfigSecurity->fields['snmpversion'] == '2') {
                           $pfConfigSecurity->fields['snmpversion'] = '2c';
                        }
                        return $pfConfigSecurity->fields['snmpversion'];
                        break;

                     case 'authentication':
                        return $pfConfigSecurity->fields['community'];
                        break;

                  }

                  break;

            }
         }
      }
      return $argument;
   }
  FusionInventory is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  GNU Affero General Public License for more details.

  You should have received a copy of the GNU Affero General Public License
  along with FusionInventory. If not, see <http://www.gnu.org/licenses/>.

  ------------------------------------------------------------------------

  @package   FusionInventory
  @author    David Durieux
  @co-author
  @copyright Copyright (c) 2010-2014 FusionInventory team
  @license   AGPL License 3.0 or (at your option) any later version
             http://www.gnu.org/licenses/agpl-3.0-standalone.html
  @link      http://www.fusioninventory.org/
  @link      http://forge.fusioninventory.org/projects/fusioninventory-for-glpi/
  @since     2010

  ------------------------------------------------------------------------
*/
include "../../../inc/includes.php";
Session::checkRight('networking', READ);
Session::checkRight('plugin_fusioninventory_networkequipment', UPDATE);
if (isset($_POST['update']) && isset($_POST['id'])) {
    $pfNetworkEquipment = new PluginFusioninventoryNetworkEquipment();
    $pfNetworkEquipment->update_network_infos($_POST['id'], $_POST['model_infos'], $_POST['plugin_fusioninventory_configsecurities_id'], $_POST['sysdescr']);
}
Html::back();
 /**
  * Function to import discovered device
  *
  * @param $items_id id of the device to import
  *
  * @return nothing
  *
  **/
 function import($items_id, $Import = 0, $NoImport = 0)
 {
     global $DB;
     $NetworkPort = new NetworkPort();
     $a_NetworkPorts = $NetworkPort->find("`items_id` = '" . $items_id . "'\n                      AND `itemtype` = 'PluginFusioninventoryUnmanaged'");
     $this->getFromDB($items_id);
     $this->fields = Toolbox::addslashes_deep($this->fields);
     $data = array();
     switch ($this->fields['item_type']) {
         case 'Printer':
             $Printer = new Printer();
             $data["entities_id"] = $this->fields["entities_id"];
             if (!empty($this->fields["name"])) {
                 $data["name"] = $this->fields["name"];
             }
             $data["locations_id"] = $this->fields["locations_id"];
             $data["serial"] = $this->fields["serial"];
             $data["otherserial"] = $this->fields["otherserial"];
             $data["contact"] = $this->fields["contact"];
             $data["domain"] = $this->fields["domain"];
             $data["comment"] = $this->fields["comment"];
             $data["is_dynamic"] = 1;
             $printer_id = $Printer->add($data);
             foreach ($a_NetworkPorts as $data_Port) {
                 $data_Port['items_id'] = $printer_id;
                 $data_Port['itemtype'] = $Printer->getType();
                 $NetworkPort->update($data_Port);
             }
             // Import SNMP
             $pfPrinter = new PluginFusioninventoryPrinter();
             $_SESSION['glpi_plugins_fusinvsnmp_table'] = "glpi_plugin_fusioninventory_printers";
             $query = "SELECT *\n                      FROM `glpi_plugin_fusioninventory_printers`\n                      WHERE `printers_id`='" . $printer_id . "' ";
             $result = $DB->query($query);
             $data = array();
             if ($DB->numrows($result) > 0) {
                 $data = $DB->fetch_assoc($result);
             }
             $data['sysdescr'] = $this->fields['sysdescr'];
             $data['plugin_fusioninventory_configsecurities_id'] = $this->fields['plugin_fusioninventory_configsecurities_id'];
             if ($DB->numrows($result) == 0) {
                 $data['printers_id'] = $printer_id;
                 $pfPrinter->add($data);
             } else {
                 $pfPrinter->update($data);
             }
             $this->deleteFromDB($items_id, 1);
             $Import++;
             break;
         case 'NetworkEquipment':
             $NetworkEquipment = new NetworkEquipment();
             $data["entities_id"] = $this->fields["entities_id"];
             if (!empty($this->fields["name"])) {
                 $data["name"] = $this->fields["name"];
             }
             $data["locations_id"] = $this->fields["locations_id"];
             $data["serial"] = $this->fields["serial"];
             $data["otherserial"] = $this->fields["otherserial"];
             $data["contact"] = $this->fields["contact"];
             $data["domain"] = $this->fields["domain"];
             $data["comment"] = $this->fields["comment"];
             $data["is_dynamic"] = 1;
             //            $data_Port = current($a_NetworkPorts);
             //            $data["ip"] = $data_Port["ip"];
             //            $data["mac"] = $data_Port["mac"];
             $NetworkEquipment_id = $NetworkEquipment->add($data);
             foreach ($a_NetworkPorts as $data_Port) {
                 $data_Port['items_id'] = $NetworkEquipment_id;
                 $data_Port['itemtype'] = $NetworkEquipment->getType();
                 $NetworkPort->update($data_Port);
             }
             $pfNetworkEquipment = new PluginFusioninventoryNetworkEquipment();
             $_SESSION['glpi_plugins_fusinvsnmp_table'] = "glpi_plugin_fusioninventory_networkequipments";
             $query = "SELECT *\n                      FROM `glpi_plugin_fusioninventory_networkequipments`\n                      WHERE `networkequipments_id`='" . $NetworkEquipment_id . "' ";
             $result = $DB->query($query);
             $data = array();
             if ($DB->numrows($result) > 0) {
                 $data = $DB->fetch_assoc($result);
             }
             $data['sysdescr'] = $this->fields['sysdescr'];
             $data['plugin_fusioninventory_configsecurities_id'] = $this->fields['plugin_fusioninventory_configsecurities_id'];
             if ($DB->numrows($result) == 0) {
                 $data['networkequipments_id'] = $NetworkEquipment_id;
                 $pfNetworkEquipment->add($data);
             } else {
                 $pfNetworkEquipment->update($data);
             }
             $this->deleteFromDB($items_id, 1);
             $Import++;
             break;
         case 'Peripheral':
             $Peripheral = new Peripheral();
             $data["entities_id"] = $this->fields["entities_id"];
             if (!empty($this->fields["name"])) {
                 $data["name"] = $this->fields["name"];
             }
             $data["locations_id"] = $this->fields["locations_id"];
             $data["serial"] = $this->fields["serial"];
             $data["otherserial"] = $this->fields["otherserial"];
             $data["contact"] = $this->fields["contact"];
             $data["comment"] = $this->fields["comment"];
             $data["is_dynamic"] = 1;
             $Peripheral_id = $Peripheral->add($data);
             foreach ($a_NetworkPorts as $data_Port) {
                 $data_Port['items_id'] = $Peripheral_id;
                 $data_Port['itemtype'] = $Peripheral->getType();
                 $NetworkPort->update($data_Port);
             }
             $this->deleteFromDB($items_id, 1);
             $Import++;
             break;
         case 'Computer':
             $Computer = new Computer();
             $data["entities_id"] = $this->fields["entities_id"];
             if (!empty($this->fields["name"])) {
                 $data["name"] = $this->fields["name"];
             }
             $data["locations_id"] = $this->fields["locations_id"];
             $data["serial"] = $this->fields["serial"];
             $data["otherserial"] = $this->fields["otherserial"];
             $data["contact"] = $this->fields["contact"];
             $data["domain"] = $this->fields["domain"];
             $data["comment"] = $this->fields["comment"];
             $data["is_dynamic"] = 1;
             $Computer_id = $Computer->add($data);
             foreach ($a_NetworkPorts as $data_Port) {
                 $data_Port['items_id'] = $Computer_id;
                 $data_Port['itemtype'] = $Computer->getType();
                 $NetworkPort->update($data_Port);
             }
             $this->deleteFromDB($items_id, 1);
             $Import++;
             break;
         case 'Phone':
             $Phone = new Phone();
             $data["entities_id"] = $this->fields["entities_id"];
             $data["name"] = $this->fields["name"];
             $data["locations_id"] = $this->fields["locations_id"];
             $data["serial"] = $this->fields["serial"];
             $data["otherserial"] = $this->fields["otherserial"];
             $data["contact"] = $this->fields["contact"];
             $data["comment"] = $this->fields["comment"];
             $data["is_dynamic"] = 1;
             $phone_id = $Phone->add($data);
             foreach ($a_NetworkPorts as $data_Port) {
                 $data_Port['items_id'] = $phone_id;
                 $data_Port['itemtype'] = $Phone->getType();
                 $NetworkPort->update($data_Port);
             }
             $this->deleteFromDB($items_id, 1);
             $Import++;
             break;
         default:
             $NoImport++;
             break;
     }
     return array($Import, $NoImport);
 }
    /**
     * @test
     */
    public function NetworkEquipmentSnmpExtension()
    {
        global $DB;
        $DB->connect();
        $pfNetworkEquipment = new PluginFusioninventoryNetworkEquipment();
        $a_networkequipment = current($pfNetworkEquipment->find("`networkequipments_id`='1'", "", 1));
        unset($a_networkequipment['last_fusioninventory_update']);
        $a_reference = array('id' => '1', 'networkequipments_id' => '1', 'sysdescr' => 'Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(50)SE4, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Fri 26-Mar-10 09:14 by prod_rel_team', 'plugin_fusioninventory_configsecurities_id' => '0', 'uptime' => '157 days, 02:14:44.00', 'cpu' => '5', 'memory' => '18', 'last_PID_update' => '0', 'serialized_inventory' => NULL);
        $this->assertEquals($a_reference, $a_networkequipment);
    }
 /**
  * Display informations about networkequipment (automatic inventory)
  *
  * @param type $networkequipments_id
  */
 static function showInfo($item)
 {
     // Manage locks pictures
     PluginFusioninventoryLock::showLockIcon('NetworkEquipment');
     $pfNetworkEquipment = new PluginFusioninventoryNetworkEquipment();
     $a_networkequipmentextend = current($pfNetworkEquipment->find("`networkequipments_id`='" . $item->getID() . "'", "", 1));
     if (empty($a_networkequipmentextend)) {
         return;
     }
     echo '<table class="tab_glpi" width="100%">';
     echo '<tr>';
     echo '<th colspan="2">' . __('FusionInventory', 'fusioninventory') . '</th>';
     echo '</tr>';
     echo '<tr class="tab_bg_1">';
     echo '<td>';
     echo __('Last inventory', 'fusioninventory');
     echo '</td>';
     echo '<td>';
     echo Html::convDateTime($a_networkequipmentextend['last_fusioninventory_update']);
     echo '</td>';
     echo '</tr>';
     if ($a_networkequipmentextend['uptime'] != '') {
         echo '<tr class="tab_bg_1">';
         echo '<td>' . __('Uptime', 'fusioninventory') . '</td>';
         echo '<td>';
         $sysUpTime = $a_networkequipmentextend['uptime'];
         $day = 0;
         $hour = 0;
         $minute = 0;
         $sec = 0;
         $ticks = 0;
         if (strstr($sysUpTime, "days")) {
             list($day, $hour, $minute, $sec, $ticks) = sscanf($sysUpTime, "%d days, %d:%d:%d.%d");
         } else {
             if (strstr($sysUpTime, "hours")) {
                 $day = 0;
                 list($hour, $minute, $sec, $ticks) = sscanf($sysUpTime, "%d hours, %d:%d.%d");
             } else {
                 if (strstr($sysUpTime, "minutes")) {
                     $day = 0;
                     $hour = 0;
                     list($minute, $sec, $ticks) = sscanf($sysUpTime, "%d minutes, %d.%d");
                 } else {
                     if ($sysUpTime == "0") {
                         $day = 0;
                         $hour = 0;
                         $minute = 0;
                         $sec = 0;
                     } else {
                         list($hour, $minute, $sec, $ticks) = sscanf($sysUpTime, "%d:%d:%d.%d");
                         $day = 0;
                     }
                 }
             }
         }
         echo "<b>{$day}</b> " . __('day(s)', 'fusioninventory') . " ";
         echo "<b>{$hour}</b> " . __('hour(s)', 'fusioninventory') . " ";
         echo "<b>{$minute}</b> " . __('Minute(s)', 'fusioninventory') . " ";
         echo " " . __('and') . " <b>{$sec}</b> " . __('sec(s)', 'fusioninventory') . " ";
         echo '</td>';
         echo '</tr>';
     }
     echo '</table>';
 }