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;
 }