Commit 24fa5c67 authored by Guillaume Lucas's avatar Guillaume Lucas

[Plugins_GLPI] webservices - getItemNetworkports() retourne aussi l'IP associée.

parent 4dc32722
......@@ -1653,9 +1653,36 @@ class PluginWebservicesMethodInventaire extends PluginWebservicesMethodCommon {
if ($item->getFromDB($item_id) && $item->canView()) {
//Get all ports for the object
$ports = getAllDatasFromTable('glpi_networkports',
"`itemtype`='$item_type' AND `items_id`='$item_id'");
/* Ne fonctionne plus pour récupérer l'IP associée.
* Aucune méthode équivalente à getAllDatasFromTable pour les jointures.
$ports = getAllDatasFromTable('glpi_networkports',
"`itemtype`='$item_type' AND `items_id`='$item_id'"); */
// Début code de remplacement.
$datas = array();
/* Le filtre sur logical_number permet de ne pas prendre en compte
* les mauvaises interfaces (non configurées, autoconfig, ...)
* lorsqu'une machine a plusieurs interfaces. */
$query = "SELECT port.*, glpi_ipaddresses.name AS ip
FROM `glpi_networkports` AS port
LEFT JOIN `glpi_networknames` ON (`port`.`id` = `glpi_networknames`.`items_id`)
LEFT JOIN `glpi_ipaddresses` ON (`glpi_ipaddresses`.`items_id` = `glpi_networknames`.`id`)
WHERE port.itemtype = '".Toolbox::addslashes_deep($item_type)."'
AND port.items_id = '".Toolbox::cleanInteger($item_id)."'
AND logical_number = '1000'";
if ($result = $DB->query($query)) {
while ($data = $DB->fetch_assoc($result))
{
$datas[$data['id']] = $data;
}
}
$ports = $datas;
// Fin code de remplacement.
foreach ($ports as $port) {
if ($id2name) {
if ($port['networkinterfaces_id'] > 0) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment