static function getIp($items_id, $itemtype, $hostname) { global $DB; $networkPort = new NetworkPort(); $networkName = new NetworkName(); $iPAddress = new IPAddress(); $pmHostaddress = new PluginMonitoringHostaddress(); $ip = ''; $networkports_id = 0; $query = "SELECT * FROM `" . $pmHostaddress->getTable() . "`\n WHERE `items_id`='" . $items_id . "'\n AND `itemtype`='" . $itemtype . "'\n LIMIT 1"; $result = $DB->query($query); if ($DB->numrows($result) == '1') { $data = $DB->fetch_assoc($result); if ($data['ipaddresses_id'] > 0) { $iPAddress->getFromDB($data['ipaddresses_id']); return $iPAddress->fields['name']; } else { $networkports_id = $data['networkports_id']; } } if ($ip == '') { if ($networkports_id > 0) { $a_listnetwork = $networkPort->find("`id`='" . $networkports_id . "'"); } else { $a_listnetwork = $networkPort->find("`itemtype`='" . $itemtype . "'\n AND `items_id`='" . $items_id . "'", "`id`"); } foreach ($a_listnetwork as $networkports_id => $datanetwork) { $a_networknames_find = current($networkName->find("`items_id`='" . $networkports_id . "'\n AND `itemtype`='NetworkPort'", "", 1)); if (isset($a_networknames_find['id'])) { $networknames_id = $a_networknames_find['id']; $a_ips_fromDB = $iPAddress->find("`itemtype`='NetworkName'\n AND `items_id`='" . $networknames_id . "'"); foreach ($a_ips_fromDB as $data) { if ($data['name'] != '' && $data['name'] != '127.0.0.1' && $data['name'] != '::1') { return $data['name']; } } } } } return $hostname; }
static function getIp($items_id, $itemtype, $hostname) { global $DB; $networkPort = new NetworkPort(); $pmHostaddress = new PluginMonitoringHostaddress(); $ip = $hostname; if ($itemtype == 'NetworkEquipment') { $class = new $itemtype(); $class->getFromDB($items_id); if ($class->fields['ip'] != '') { $ip = $class->fields['ip']; } } else { $query = "SELECT * FROM `" . $pmHostaddress->getTable() . "`\n WHERE `items_id`='" . $items_id . "'\n AND `itemtype`='" . $itemtype . "'\n LIMIT 1"; $result = $DB->query($query); if ($DB->numrows($result) == '1') { $data = $DB->fetch_assoc($result); $pmHostaddress->getFromDB($data['id']); $networkPort->getFromDB($pmHostaddress->fields['networkports_id']); $ip = $networkPort->fields['ip']; } else { $a_listnetwork = $networkPort->find("`itemtype`='" . $itemtype . "'\n AND `items_id`='" . $items_id . "'", "`id`"); foreach ($a_listnetwork as $datanetwork) { if ($datanetwork['ip'] != '' and $datanetwork['ip'] != '127.0.0.1' and $ip != '') { $ip = $datanetwork['ip']; break; } } } } return $ip; }