本文整理汇总了PHP中NetworkPort::getID方法的典型用法代码示例。如果您正苦于以下问题:PHP NetworkPort::getID方法的具体用法?PHP NetworkPort::getID怎么用?PHP NetworkPort::getID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NetworkPort
的用法示例。
在下文中一共展示了NetworkPort::getID方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getInstantiationHTMLTable
/**
* Get HTMLTable row for a given item
*
* @param $netport NetworkPort object (contains item)
* @param $row HTMLTableRow object
* @param $father HTMLTableHeader object (default NULL)
* @param $options array of possible options:
* - 'dont_display' : array of the elements that must not be display
* - 'withtemplate' : integer withtemplate param
*
* @return the father cell for the Internet Informations ...
**/
function getInstantiationHTMLTable(NetworkPort $netport, HTMLTableRow $row, HTMLTableCell $father = NULL, array $options = array())
{
global $DB;
$display_options = $options['display_options'];
if ($this->canHaveVirtualPort && $display_options['virtual_ports']) {
$virtual_header = $row->getHeaderByName('Instantiation', 'VirtualPorts');
$query = "(SELECT `networkports_id`\n FROM `glpi_networkportaliases`\n WHERE `networkports_id_alias`='" . $netport->getID() . "')\n UNION\n (SELECT `networkports_id`\n FROM `glpi_networkportaggregates`\n WHERE `networkports_id_list` LIKE '%\"" . $netport->getID() . "\"%')";
$iterator = $DB->request($query);
if ($iterator->numrows() > 0) {
$new_father = $row->addCell($virtual_header, __('this port'), $father);
} else {
$new_father = $row->addCell($virtual_header, '', $father);
}
foreach ($iterator as $networkports_ids) {
$virtualPort = new NetworkPort();
if ($virtualPort->getFromDB($networkports_ids['networkports_id'])) {
$cell_value = '<i>' . $virtualPort->getLink() . '</i>';
$virtual_cell = $row->addCell($virtual_header, $cell_value, $father);
$virtual_cell->setAttributForTheRow(array('class' => 'htmltable_upper_separation_cell'));
if ($this->canHaveVLAN && $display_options['vlans']) {
NetworkPort_Vlan::getHTMLTableCellsForItem($row, $virtualPort, $virtual_cell, $options);
}
if ($display_options['internet']) {
NetworkName::getHTMLTableCellsForItem($row, $virtualPort, $virtual_cell, $options);
}
}
unset($virtualPort);
}
$father = $new_father;
}
if ($this->canHaveVLAN && $display_options['vlans']) {
NetworkPort_Vlan::getHTMLTableCellsForItem($row, $netport, $father, $options);
}
if ($this->haveMAC && $display_options['mac'] && !empty($netport->fields["mac"])) {
$row->addCell($row->getHeaderByName('Instantiation', 'MAC'), $netport->fields["mac"], $father);
}
if ($display_options['internet']) {
NetworkName::getHTMLTableCellsForItem($row, $netport, $father, $options);
}
return NULL;
}
示例2: showForNetworkPort
/**
* @param $port NetworkPort object
**/
static function showForNetworkPort(NetworkPort $port)
{
global $DB, $CFG_GLPI;
$ID = $port->getID();
if (!$port->can($ID, READ)) {
return false;
}
$canedit = $port->canEdit($ID);
$rand = mt_rand();
$query = "SELECT `glpi_networkports_vlans`.id as assocID,\n `glpi_networkports_vlans`.tagged ,\n `glpi_vlans`.*\n FROM `glpi_networkports_vlans`\n LEFT JOIN `glpi_vlans`\n ON (`glpi_networkports_vlans`.`vlans_id` = `glpi_vlans`.`id`)\n WHERE `networkports_id` = '{$ID}'";
$result = $DB->query($query);
$vlans = array();
$used = array();
if ($number = $DB->numrows($result)) {
while ($line = $DB->fetch_assoc($result)) {
$used[$line["id"]] = $line["id"];
$vlans[$line["assocID"]] = $line;
}
}
if ($canedit) {
echo "<div class='firstbloc'>\n";
echo "<form method='post' action='" . static::getFormURL() . "'>\n";
echo "<table class='tab_cadre_fixe'>\n";
echo "<tr><th colspan='4'>" . __('Associate a VLAN') . "</th></tr>";
echo "<tr class='tab_bg_1'><td class='right'>";
echo "<input type='hidden' name='networkports_id' value='{$ID}'>";
Vlan::dropdown(array('used' => $used));
echo "</td>";
echo "<td class='right'>" . __('Tagged') . "</td>";
echo "<td class='left'><input type='checkbox' name='tagged' value='1'></td>";
echo "<td><input type='submit' name='add' value='" . _sx('button', 'Associate') . "' class='submit'>";
echo "</td></tr>\n";
echo "</table>\n";
Html::closeForm();
echo "</div>\n";
}
echo "<div class='spaced'>";
if ($canedit && $number) {
Html::openMassiveActionsForm('mass' . __CLASS__ . $rand);
$massiveactionparams = array('num_displayed' => $number, 'container' => 'mass' . __CLASS__ . $rand);
Html::showMassiveActions($massiveactionparams);
}
echo "<table class='tab_cadre_fixehov'>";
$header_begin = "<tr>";
$header_top = '';
$header_bottom = '';
$header_end = '';
if ($canedit && $number) {
$header_top .= "<th width='10'>";
$header_top .= Html::getCheckAllAsCheckbox('mass' . __CLASS__ . $rand) . "</th>";
$header_bottom .= "<th width='10'>";
$header_bottom .= Html::getCheckAllAsCheckbox('mass' . __CLASS__ . $rand) . "</th>";
}
$header_end .= "<th>" . __('Name') . "</th>";
$header_end .= "<th>" . __('Entity') . "</th>";
$header_end .= "<th>" . __('Tagged') . "</th>";
$header_end .= "<th>" . __('ID TAG') . "</th>";
$header_end .= "</tr>";
echo $header_begin . $header_top . $header_end;
$used = array();
foreach ($vlans as $data) {
echo "<tr class='tab_bg_1'>";
if ($canedit) {
echo "<td>";
Html::showMassiveActionCheckBox(__CLASS__, $data["assocID"]);
echo "</td>";
}
$name = $data["name"];
if ($_SESSION["glpiis_ids_visible"] || empty($data["name"])) {
$name = sprintf(__('%1$s (%2$s)'), $name, $data["id"]);
}
echo "<td class='center b'>\n <a href='" . $CFG_GLPI["root_doc"] . "/front/vlan.form.php?id=" . $data["id"] . "'>" . $name . "</a>";
echo "</td>";
echo "<td class='center'>" . Dropdown::getDropdownName("glpi_entities", $data["entities_id"]);
echo "</td><td class='center'>" . Dropdown::getYesNo($data["tagged"]) . "</td>";
echo "<td class='numeric'>" . $data["tag"] . "</td>";
echo "</tr>";
}
if ($number) {
echo $header_begin . $header_top . $header_end;
}
echo "</table>";
if ($canedit && $number) {
$massiveactionparams['ontop'] = false;
Html::showMassiveActions($massiveactionparams);
Html::closeForm();
}
echo "</div>";
}
示例3: updateNetworkPort
/**
* @param $mac
* @param $name
* @param $computers_id
* @param $instantiation_type
* @param $inst_input
* @param $ips
* @param $check_name
* @param $dohistory
* @param $already_known_ports
* @return ID
*/
private static function updateNetworkPort($mac, $name, $computers_id, $instantiation_type, $inst_input, $ips, $check_name, $dohistory, $already_known_ports)
{
global $DB;
$network_port = new NetworkPort();
// Then, find or create the base NetworkPort
$query = "SELECT `id`, `is_dynamic`\n FROM `glpi_networkports`\n WHERE `itemtype` = 'Computer'\n AND `items_id` = '{$computers_id}'\n AND `mac` = '{$mac}'";
// If there is virtual ports, then, filter by port's name
if ($check_name) {
$query .= " AND `name` = '{$name}'";
}
if (count($already_known_ports) > 0) {
$query .= " AND `id` NOT IN (" . implode(',', $already_known_ports) . ")";
}
// We order by is_dynamic to be sure to get the static ones first !
$query .= " ORDER BY `is_dynamic`, `id`";
$ports = $DB->request($query);
if ($ports->numrows() == 0) {
$port_input = array('name' => $name, 'mac' => $mac, 'items_id' => $computers_id, 'itemtype' => 'Computer', '_no_history' => !$dohistory, 'instantiation_type' => $instantiation_type, '_create_children' => 1, 'is_dynamic' => 1, 'is_deleted' => 0);
$networkports_id = $network_port->add($port_input, array(), $dohistory);
if ($networkports_id === false) {
return -1;
}
$inst_input['networkports_id'] = $networkports_id;
$instantiation = $network_port->getInstantiation();
$instantiation->update($inst_input);
unset($instantiation);
} else {
$line = $ports->next();
$networkports_id = $line['id'];
$network_port->getFromDB($networkports_id);
if (!$check_name && $network_port->fields['name'] != $name) {
$port_input = array('id' => $network_port->getID(), 'name' => $name, 'is_dynamic' => 1);
$network_port->update($port_input);
}
if ($network_port->fields['instantiation_type'] != $instantiation_type && $network_port->fields['is_dynamic'] == 1) {
$network_port->switchInstantiationType($instantiation_type);
$inst_input['networkports_id'] = $network_port->getID();
$instantiation = $network_port->getInstantiation();
$instantiation->add($inst_input);
unset($instantiation);
}
if ($network_port->fields['instantiation_type'] == $instantiation_type) {
$instantiation = $network_port->getInstantiation();
$inst_input['id'] = $instantiation->getID();
$inst_input['networkports_id'] = $network_port->getID();
$instantiation->update($inst_input);
unset($instantiation);
}
}
if ($network_port->isNewItem()) {
return -1;
}
$network_name = new NetworkName();
$query = "SELECT `id`, `is_dynamic`\n FROM `glpi_networknames`\n WHERE `itemtype` = 'NetworkPort'\n AND `items_id` = '{$networkports_id}'\n ORDER BY `is_dynamic`";
if (!$ips || count($ips) == 0) {
foreach ($DB->request($query) as $line) {
if ($line['is_dynamic']) {
$network_name->delete($line, true, $dohistory);
}
}
} else {
$names = $DB->request($query);
if ($names->numrows() == 0) {
$name_input = array('itemtype' => 'NetworkPort', 'items_id' => $networkports_id, 'is_dynamic' => 1, 'is_deleted' => 0, '_no_history' => !$dohistory, 'name' => 'OCS-INVENTORY-NG');
$networknames_id = $network_name->add($name_input);
} else {
$line = $names->next();
$networknames_id = $line['id'];
foreach ($names as $line) {
if ($line['is_dynamic'] == 1 && $line['id'] != $networknames_id) {
$network_port->delete($line, true, $dohistory);
}
}
}
$ip_address = new IPAddress();
$already_known_addresses = array();
$query = "SELECT `id`, `name`, `is_dynamic`, `mainitems_id`\n FROM `glpi_ipaddresses`\n WHERE `itemtype` = 'NetworkName'\n AND `items_id` = '{$networknames_id}'\n ORDER BY `is_dynamic`";
foreach ($DB->request($query) as $line) {
if (in_array($line['name'], $ips) && !empty($line['mainitems_id'])) {
$already_known_addresses[] = $line['id'];
$ips = array_diff($ips, array($line['name']));
} elseif ($line['is_dynamic'] == 1) {
$ip_address->delete($line, true, $dohistory);
}
}
}
if ($ips) {
foreach ($ips as $ip) {
//.........这里部分代码省略.........