getNetworkPortInstantiationsWithNames() static public method

 function displaySpecificTypeField($ID, $field = array())
 {
     switch ($field['type']) {
         case 'instantiation_type':
             Dropdown::showFromArray($field['name'], NetworkPort::getNetworkPortInstantiationsWithNames(), array('value' => $this->fields[$field['name']]));
             break;
         case 'type':
             Dropdown::showFromArray('type', NetworkPortEthernet::getPortTypeName(), array('value' => $this->fields[$field['name']]));
             break;
         case 'readonly_text':
             $value = $this->fields[$field['name']];
             echo "<input type='hidden' name='" . $field['name'] . "' value='{$value}'>{$value}";
             break;
         case 'MIB or wildcard':
             $name = $field['name'];
             $value = $this->fields[$name];
             $values = array($value => $value, '*' => __('Any kind', 'ocsinventoryng'));
             Dropdown::showFromArray($name, $values, array('value' => $value));
             break;
         case 'speed':
             $standard_speeds = NetworkPortEthernet::getPortSpeed();
             if (!isset($standard_speeds[$this->fields['speed']]) && !empty($this->fields['speed'])) {
                 $speed = NetworkPortEthernet::transformPortSpeed($this->fields['speed'], true);
             } else {
                 $speed = true;
             }
             Dropdown::showFromArray('speed', $standard_speeds, array('value' => $this->fields['speed'], 'other' => $speed));
             break;
         case 'version':
             Dropdown::showFromArray('version', WifiNetwork::getWifiCardVersion(), array('value' => $this->fields['version']));
             break;
     }
 }
 function displaySpecificTypeField($ID, $field = array())
 {
     switch ($field['type']) {
         case 'instantiation_type':
             Dropdown::showFromArray($field['name'], NetworkPort::getNetworkPortInstantiationsWithNames(), array('value' => $this->fields[$field['name']]));
             break;
         case 'type':
             Dropdown::showFromArray('type', NetworkPortEthernet::getPortTypeName(), array('value' => $this->fields[$field['name']]));
             break;
         case 'speed':
             $standard_speeds = NetworkPortEthernet::getPortSpeed();
             if (!isset($standard_speeds[$this->fields['speed']]) && !empty($this->fields['speed'])) {
                 $speed = NetworkPortEthernet::transformPortSpeed($this->fields['speed'], true);
             } else {
                 $speed = true;
             }
             Dropdown::showFromArray('speed', $standard_speeds, array('value' => $this->fields['speed'], 'other' => $speed));
             break;
         case 'version':
             Dropdown::showFromArray('version', WifiNetwork::getWifiCardVersion(), array('value' => $this->fields['version']));
             break;
     }
 }
 function showForm(CommonDBTM $item, $options = array())
 {
     global $DB, $CFG_GLPI;
     if (!Session::haveRight('plugin_fusioninventory_networkequipment', READ)) {
         NetworkPort::showForItem($item);
         return;
     }
     $canedit = FALSE;
     if (Session::haveRight('plugin_fusioninventory_networkequipment', UPDATE)) {
         $canedit = TRUE;
     }
     $id = $item->getID();
     if (!($data = $this->find("`networkequipments_id`='" . $id . "'", '', 1))) {
         // Add in database if not exist
         $input = array();
         $input['networkequipments_id'] = $id;
         $_SESSION['glpi_plugins_fusinvsnmp_table'] = 'glpi_networkequipments';
         $ID_tn = $this->add($input);
         $this->getFromDB($ID_tn);
     } else {
         foreach ($data as $datas) {
             $this->fields = $datas;
         }
     }
     if (isset($_POST['displaysnmpinfo'])) {
         $this->showNetworkEquipmentInformation($id, $options);
         return;
     }
     //$_SESSION['plugin_fusioninventory_networkportview'] = 'glpi';
     if (!isset($_SESSION['plugin_fusioninventory_networkportview'])) {
         $_SESSION['plugin_fusioninventory_networkportview'] = 'fusioninventory';
     }
     // Display glpi network port view if no fusionnetworkport
     $query = "SELECT glpi_plugin_fusioninventory_networkports.id\n      FROM glpi_plugin_fusioninventory_networkports\n      LEFT JOIN glpi_networkports\n      ON glpi_plugin_fusioninventory_networkports.networkports_id = glpi_networkports.id\n      WHERE glpi_networkports.items_id='" . $id . "'\n         AND glpi_networkports.itemtype='NetworkEquipment'";
     $result = $DB->query($query);
     if ($DB->numrows($result) == 0) {
         NetworkPort::showForItem($item);
         return;
     }
     echo "<form action='" . $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/front/networkport.display.php' method='post'>";
     echo __('Display the view', 'fusioninventory');
     echo ' <i>' . $_SESSION['plugin_fusioninventory_networkportview'] . "</i>. ";
     echo __('If you prefer, you can display the view', 'fusioninventory');
     echo ' ';
     if ($_SESSION['plugin_fusioninventory_networkportview'] == 'fusioninventory') {
         echo '<input type="submit" class="submit" name="selectview" value="glpi" />';
     } else {
         echo '<input type="submit" class="submit" name="selectview" value="fusioninventory" />';
     }
     Html::closeForm();
     if ($_SESSION['plugin_fusioninventory_networkportview'] == 'glpi') {
         NetworkPort::showForItem($item);
         return;
     }
     $canedit = $item->can($item->getID(), UPDATE);
     if ($canedit) {
         $networkPort = new NetworkPort();
         echo "\n<form method='get' action='" . $networkPort->getFormURL() . "'>\n";
         echo "<input type='hidden' name='items_id' value='" . $item->getID() . "'>\n";
         echo "<input type='hidden' name='itemtype' value='" . $item->getType() . "'>\n";
         echo "<div class='firstbloc'><table class='tab_cadre_fixe'>\n";
         echo "<tr class='tab_bg_2'><td class='center'>\n";
         _e('Network port type to be added');
         echo "&nbsp;";
         Dropdown::showFromArray('instantiation_type', NetworkPort::getNetworkPortInstantiationsWithNames(), array('value' => 'NetworkPortEthernet'));
         echo "</td>\n";
         echo "<td class='tab_bg_2 center' width='50%'>";
         _e('Add several ports');
         echo "&nbsp;<input type='checkbox' name='several' value='1'></td>\n";
         echo "<td>\n";
         echo "<input type='submit' name='create' value=\"" . _sx('button', 'Add') . "\" " . "class='submit'>\n";
         echo "</td></tr></table></div>\n";
         Html::closeForm();
     }
     $monitoring = 0;
     if (class_exists("PluginMonitoringNetworkport")) {
         $monitoring = 1;
     }
     // * Get all ports compose tha aggregat
     $a_aggregated_ports = array();
     $query = "SELECT *, glpi_plugin_fusioninventory_networkports.mac as ifmacinternal\n      FROM glpi_plugin_fusioninventory_networkports\n      LEFT JOIN glpi_networkports\n      ON glpi_plugin_fusioninventory_networkports.networkports_id = glpi_networkports.id\n      WHERE glpi_networkports.items_id='" . $id . "'\n         AND glpi_networkports.itemtype='NetworkEquipment'\n         AND `instantiation_type`='NetworkPortAggregate'\n      ORDER BY logical_number ";
     $result = $DB->query($query);
     while ($data = $DB->fetch_array($result)) {
         $query_ag = "SELECT * FROM `glpi_networkportaggregates`\n            WHERE `networkports_id`='" . $data['id'] . "'\n            LIMIT 1";
         $result_ag = $DB->query($query_ag);
         if ($DB->numrows($result_ag) > 0) {
             $data_ag = $DB->fetch_assoc($result_ag);
             $a_ports = importArrayFromDB($data_ag['networkports_id_list']);
             foreach ($a_ports as $port_id) {
                 $a_aggregated_ports[$port_id] = $port_id;
             }
         }
     }
     $where = '';
     if (count($a_aggregated_ports) > 0) {
         $where = "AND `glpi_networkports`.`id` NOT IN " . "('" . implode("', '", $a_aggregated_ports) . "')";
     }
     $query = "SELECT `glpi_networkports`.`id`, `instantiation_type`,\n         `glpi_plugin_fusioninventory_networkports`.`id` as `fusionid`\n      FROM glpi_plugin_fusioninventory_networkports\n\n      LEFT JOIN glpi_networkports\n         ON glpi_plugin_fusioninventory_networkports.networkports_id = glpi_networkports.id\n      WHERE glpi_networkports.items_id='" . $id . "'\n         AND `glpi_networkports`.`itemtype`='NetworkEquipment'\n         " . $where . "\n         AND NOT (glpi_networkports.name='general'\n                     AND glpi_networkports.logical_number=0)\n      ORDER BY logical_number ";
     $nbcol = 5;
     if ($monitoring == '1') {
         if (Session::haveRight("plugin_monitoring_componentscatalog", READ)) {
             echo "<form name='form' method='post' action='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/networkport.form.php'>";
             echo "<input type='hidden' name='items_id' value='" . $id . "' />";
             echo "<input type='hidden' name='itemtype' value='NetworkEquipment' />";
         }
         $nbcol++;
     }
     $a_pref = DisplayPreference::getForTypeUser('PluginFusioninventoryNetworkport', Session::getLoginUserID());
     echo "<table class='tab_cadre' cellpadding='" . $nbcol . "' width='1100'>";
     $result = $this->showNetworkPortDetailHeader($monitoring, $query);
     if ($result) {
         while ($data = $DB->fetch_array($result)) {
             $this->showNetworkPortDetail($data, $monitoring);
             if ($data['instantiation_type'] == 'NetworkPortAggregate') {
                 $query_ag = "SELECT * FROM `glpi_networkportaggregates`\n                  WHERE `networkports_id`='" . $data['id'] . "'\n                  LIMIT 1";
                 $result_ag = $DB->query($query_ag);
                 if ($DB->numrows($result_ag) > 0) {
                     $data_ag = $DB->fetch_assoc($result_ag);
                     $a_ports = importArrayFromDB($data_ag['networkports_id_list']);
                     foreach ($a_ports as $port_id) {
                         $query_agp = "\n                     SELECT `glpi_networkports`.`id`, `instantiation_type`,\n                        `glpi_plugin_fusioninventory_networkports`.`id` as `fusionid`\n\n                     FROM glpi_plugin_fusioninventory_networkports\n\n                     LEFT JOIN glpi_networkports\n                     ON glpi_plugin_fusioninventory_networkports.networkports_id =\n                           glpi_networkports.id\n                     WHERE `glpi_networkports`.`id`='" . $port_id . "'\n                     LIMIT 1 ";
                         $result_agp = $DB->query($query_agp);
                         if ($DB->numrows($result_agp) > 0) {
                             $data_agp = $DB->fetch_assoc($result_agp);
                             $this->showNetworkPortDetail($data_agp, $monitoring, TRUE);
                         }
                     }
                 }
             }
         }
     }
     if ($monitoring == '1') {
         if (Session::haveRight("plugin_monitoring_componentscatalog", UPDATE)) {
             echo "<tr class='tab_bg_1 center'>";
             echo "<td colspan='2'></td>";
             echo "<td class='center'>";
             echo "<input type='submit' class='submit' name='update' value='" . __s('Save') . "'/>";
             echo "</td>";
             echo "<td colspan='" . count($a_pref) . "'></td>";
             echo "</tr>";
         }
     }
     echo "</table>";
     if ($monitoring == '1') {
         if (Session::haveRight("plugin_monitoring_componentscatalog", UPDATE)) {
             Html::closeForm();
         }
     }
 }