function displayOcsConsole() { $url = PluginOcsinventoryngOcsServer::getComputerLinkToOcsConsole($this->fields['plugin_ocsinventoryng_ocsservers_id'], $this->fields['ocsid'], '', true); echo "<div class='center'>"; if ($url != '') { echo "<iframe src='{$url}' width='80%' height='60%'>"; } echo "</div>"; }
/** * Show simple inventory information of an item * * @param $item CommonDBTM object * * @return nothing **/ static function showSimpleForItem(CommonDBTM $item) { global $DB, $CFG_GLPI; $target = Toolbox::getItemTypeFormURL(__CLASS__); if (in_array($item->getType(), array('Computer'))) { $items_id = $item->getField('id'); if (!empty($items_id) && $item->fields["is_dynamic"] && plugin_ocsinventoryng_haveRight("view_ocsng", "r")) { $query = "SELECT *\n FROM `glpi_plugin_ocsinventoryng_ocslinks`\n WHERE `computers_id` = '{$items_id}' " . getEntitiesRestrictRequest("AND", "glpi_plugin_ocsinventoryng_ocslinks"); $result = $DB->query($query); if ($DB->numrows($result) > 0) { $data = $DB->fetch_assoc($result); if (count($data)) { $ocs_config = PluginOcsinventoryngOcsServer::getConfig($data['plugin_ocsinventoryng_ocsservers_id']); echo "<table class='tab_glpi'>"; echo "<th colspan='2'>" . __('OCS Inventory NG') . "</th>"; echo '<tr><td>' . __('Last OCSNG inventory date', 'ocsinventoryng'); echo "</td><td>" . Html::convDateTime($data["last_ocs_update"]) . '</td></tr>'; echo '<tr><td>' . __('GLPI import date', 'ocsinventoryng'); echo "</td><td>" . Html::convDateTime($data["last_update"]) . '</td></tr>'; echo '<tr><td>' . __('Inventory agent', 'ocsinventoryng'); echo "</td><td>" . $data["ocs_agent_version"] . '</td></tr>'; echo '<tr><td>' . __('Server'); echo "</td><td>"; if (plugin_ocsinventoryng_haveRight("ocsng", "r")) { echo "<a href='" . $CFG_GLPI["root_doc"] . "/plugins/ocsinventoryng/front/ocsserver.form.php?id=" . $ocs_config['id'] . "'>" . $ocs_config['name'] . "</a>"; } else { echo $ocs_config['name']; } echo '</td></tr>'; //If have write right on OCS and ocsreports url is not empty in OCS config if (plugin_ocsinventoryng_haveRight("ocsng", "w") && $ocs_config["ocs_url"] != '') { echo "<td colspan='2' class='center'>"; echo PluginOcsinventoryngOcsServer::getComputerLinkToOcsConsole($ocs_config['id'], $data["ocsid"], __('OCS NG Interface', 'ocsinventoryng')); echo "</td>"; } echo '</table>'; } } } } }
/** * Show simple inventory information of an item * * @param $item CommonDBTM object * * @return nothing **/ static function showSimpleForItem(CommonDBTM $item) { global $DB, $CFG_GLPI; $target = Toolbox::getItemTypeFormURL(__CLASS__); if (in_array($item->getType(), array('Computer'))) { $items_id = $item->getField('id'); if (!empty($items_id) && $item->fields["is_dynamic"] && Session::haveRight("plugin_ocsinventoryng_view", READ)) { $query = "SELECT *\n FROM `glpi_plugin_ocsinventoryng_ocslinks`\n WHERE `computers_id` = '{$items_id}' " . getEntitiesRestrictRequest("AND", "glpi_plugin_ocsinventoryng_ocslinks"); $result = $DB->query($query); if ($DB->numrows($result) > 0) { $data = $DB->fetch_assoc($result); if (count($data)) { $ocs_config = PluginOcsinventoryngOcsServer::getConfig($data['plugin_ocsinventoryng_ocsservers_id']); echo "<table class='tab_glpi'>"; echo "<tr class='tab_bg_1'><th colspan='2'>" . __('OCS Inventory NG') . "</th>"; if (isset($data["last_ocs_conn"])) { echo "<tr class='tab_bg_1'><td>" . __('Last OCSNG connection date', 'ocsinventoryng'); echo "</td><td>" . Html::convDateTime($data["last_ocs_conn"]) . '</td></tr>'; } echo "<tr class='tab_bg_1'><td>" . __('Last OCSNG inventory date', 'ocsinventoryng'); echo "</td><td>" . Html::convDateTime($data["last_ocs_update"]) . '</td></tr>'; echo "<tr class='tab_bg_1'><td>" . __('GLPI import date', 'ocsinventoryng'); echo "</td><td>" . Html::convDateTime($data["last_update"]) . '</td></tr>'; echo "<tr class='tab_bg_1'><td>" . __('Inventory agent', 'ocsinventoryng'); echo "</td><td>" . $data["ocs_agent_version"] . '</td></tr>'; if (isset($data["ip_src"])) { echo "<tr class='tab_bg_1'><td>" . __('IP Source', 'ocsinventoryng'); echo "</td><td>" . $data["ip_src"] . '</td></tr>'; } echo "<tr class='tab_bg_1'><td>" . __('Server'); echo "</td><td>"; if (Session::haveRight("plugin_ocsinventoryng", READ)) { echo "<a href='" . $CFG_GLPI["root_doc"] . "/plugins/ocsinventoryng/front/ocsserver.form.php?id=" . $ocs_config['id'] . "'>" . $ocs_config['name'] . "</a>"; } else { echo $ocs_config['name']; } echo '</td></tr>'; //If have write right on OCS and ocsreports url is not empty in OCS config if (Session::haveRight("plugin_ocsinventoryng", UPDATE) && $ocs_config["ocs_url"] != '') { echo "<tr class='tab_bg_1'><td colspan='2' class='center'>"; echo PluginOcsinventoryngOcsServer::getComputerLinkToOcsConsole($ocs_config['id'], $data["ocsid"], __('OCS NG Interface', 'ocsinventoryng')); echo "</td></tr>"; } echo "<tr class='tab_bg_1'><td>" . __('OCSNG TAG', 'ocsinventoryng') . "</td>"; echo "<td>"; echo $data["tag"]; echo "</td></tr>"; if (Session::haveRight("plugin_ocsinventoryng_view", READ) && Session::haveRight("plugin_ocsinventoryng_sync", UPDATE)) { echo "<tr class='tab_bg_1'><td>" . __('Automatic update OCSNG', 'ocsinventoryng') . "</td>"; echo "<td>"; echo Dropdown::getYesNo($data["use_auto_update"]); echo "</td></tr>"; } if (Session::haveRight("plugin_ocsinventoryng_sync", UPDATE)) { echo "<tr class='tab_bg_1'><td class='center' colspan='2'>"; Html::showSimpleForm($target, 'force_ocs_resynch', _sx('button', 'Force synchronization', 'ocsinventoryng'), array('id' => $items_id, 'resynch_id' => $data["id"])); echo "</td></tr>"; } echo '</table>'; } } } } }
/** * Show simple inventory information of an item * * @param $item CommonDBTM object * * @return nothing **/ static function showSimpleForItem(CommonDBTM $item) { global $DB, $CFG_GLPI; $target = Toolbox::getItemTypeFormURL(__CLASS__); if (in_array($item->getType(), array('Computer'))) { $items_id = $item->getField('id'); if (!empty($items_id) && $item->fields["is_dynamic"] && Session::haveRight("plugin_ocsinventoryng_view", READ)) { $query = "SELECT *\n FROM `glpi_plugin_ocsinventoryng_ocslinks`\n WHERE `computers_id` = '{$items_id}' " . getEntitiesRestrictRequest("AND", "glpi_plugin_ocsinventoryng_ocslinks"); $result = $DB->query($query); if ($DB->numrows($result) > 0) { $data = $DB->fetch_assoc($result); if (count($data)) { $ocs_config = PluginOcsinventoryngOcsServer::getConfig($data['plugin_ocsinventoryng_ocsservers_id']); echo "<tr class='tab_bg_1'><th colspan='4'>" . __('OCS Inventory NG Import informations', 'ocsinventoryng') . "</th>"; echo "<tr class='tab_bg_1'><td>" . __('Last OCSNG inventory date', 'ocsinventoryng'); echo "</td><td>" . Html::convDateTime($data["last_ocs_update"]) . "</td>"; echo "<td>" . __('Inventory agent', 'ocsinventoryng'); echo "</td><td>" . $data["ocs_agent_version"] . "</td></tr>"; echo "<tr class='tab_bg_1'><td>" . __('GLPI import date', 'ocsinventoryng'); echo "</td><td>" . Html::convDateTime($data["last_update"]) . "</td>"; echo "<td>" . __('Server'); echo "</td><td>"; if (Session::haveRight("plugin_ocsinventoryng", READ)) { echo "<a href='" . $CFG_GLPI["root_doc"] . "/plugins/ocsinventoryng/front/ocsserver.form.php?id=" . $ocs_config['id'] . "'>" . $ocs_config['name'] . "</a>"; } else { echo $ocs_config['name']; } echo "</td></tr>"; echo "<tr class='tab_bg_1'>"; if (isset($data["last_ocs_conn"])) { echo "<td>" . __('Last OCSNG connection date', 'ocsinventoryng'); echo "</td><td>" . Html::convDateTime($data["last_ocs_conn"]) . "</td>"; } else { echo "<td colspan='2'></td>"; } if (isset($data["ip_src"])) { echo "<td>" . __('IP Source', 'ocsinventoryng'); echo "</td><td>" . $data["ip_src"] . "</td>"; } else { echo "<td colspan='2'></td>"; } echo "<tr class='tab_bg_1'>"; echo "<td>" . __('OCSNG TAG', 'ocsinventoryng') . "</td>"; echo "<td>"; echo $data["tag"]; echo "</td>"; if (Session::haveRight("plugin_ocsinventoryng_view", READ) && Session::haveRight("plugin_ocsinventoryng_sync", UPDATE)) { echo "<td>" . __('Automatic update OCSNG', 'ocsinventoryng') . "</td>"; echo "<td>"; echo Dropdown::getYesNo($data["use_auto_update"]); echo "</td>"; } else { echo "<td colspan='2'></td>"; } echo "</tr>"; if ($data['uptime'] != null) { echo "<tr class='tab_bg_1'>"; echo "<td class='left'>"; _e('Uptime', 'ocsinventoryng'); echo "</td>"; echo "<td class='left'>"; echo $data['uptime']; echo "</td>"; echo "<td colspan='2'></td>"; echo "</tr>"; } echo "<tr class='tab_bg_1'>"; //If have write right on OCS and ocsreports url is not empty in OCS config if (Session::haveRight("plugin_ocsinventoryng", UPDATE) && $ocs_config["ocs_url"] != '') { echo "<td colspan='2' class='center'>"; echo PluginOcsinventoryngOcsServer::getComputerLinkToOcsConsole($ocs_config['id'], $data["ocsid"], __('OCS NG Interface', 'ocsinventoryng')); echo "</td>"; } else { echo "<td colspan='2'></td>"; } if (Session::haveRight("plugin_ocsinventoryng_sync", UPDATE)) { echo "<td class='center' colspan='2'>"; Html::showSimpleForm($target, 'force_ocs_resynch', _sx('button', 'Force synchronization', 'ocsinventoryng'), array('id' => $items_id, 'resynch_id' => $data["id"])); echo "</td>"; } else { echo "<td colspan='2'></td>"; } echo "</tr>"; } } //SNMP Link $query = "SELECT *\n FROM `glpi_plugin_ocsinventoryng_snmpocslinks`\n WHERE `items_id` = '" . $items_id . "' AND `itemtype` = '" . $item->getType() . "'"; $result = $DB->query($query); if ($DB->numrows($result) > 0) { $data = $DB->fetch_assoc($result); if (count($data)) { $target = Toolbox::getItemTypeFormURL("PluginOcsinventoryngSnmpOcslink"); echo "<tr class='tab_bg_1'><th colspan='4'>" . __('OCS Inventory NG SNMP Import informations', 'ocsinventoryng') . "</th>"; $linked = __('Imported object', 'ocsinventoryng'); if ($data["linked"]) { $linked = __('Linked object', 'ocsinventoryng'); } echo "<tr class='tab_bg_1'><td>" . __('Import date in GLPI', 'ocsinventoryng'); echo "</td><td>" . Html::convDateTime($data["last_update"]) . " (" . $linked . ")</td>"; if (Session::haveRight("plugin_ocsinventoryng_sync", UPDATE)) { echo "<td class='center' colspan='2'>"; Html::showSimpleForm($target, 'force_ocssnmp_resynch', _sx('button', 'Force SNMP synchronization', 'ocsinventoryng'), array('items_id' => $items_id, 'itemtype' => $item->getType(), 'id' => $data["id"], 'plugin_ocsinventoryng_ocsservers_id' => $data["plugin_ocsinventoryng_ocsservers_id"])); echo "</td>"; } echo "</tr>"; $linked_ids[] = $data['ocs_id']; $ocsClient = PluginOcsinventoryngOcsServer::getDBocs($data['plugin_ocsinventoryng_ocsservers_id']); $ocsResult = $ocsClient->getSnmp(array('MAX_RECORDS' => 1, 'FILTER' => array('IDS' => $linked_ids))); if (isset($ocsResult['SNMP'])) { if (count($ocsResult['SNMP']) > 0) { foreach ($ocsResult['SNMP'] as $snmp) { $LASTDATE = $snmp['META']['LASTDATE']; $UPTIME = $snmp['META']['UPTIME']; echo "<tr class='tab_bg_1'><td>" . __('Last OCSNG SNMP inventory date', 'ocsinventoryng'); echo "</td><td>" . Html::convDateTime($LASTDATE) . "</td>"; echo "<td>" . __('Uptime', 'ocsinventoryng'); echo "</td><td>" . $UPTIME . "</td></tr>"; } } } } } if (in_array($item->getType(), PluginOcsinventoryngIpdiscoverOcslink::$hardwareItemTypes)) { $items_id = $item->getField('id'); if (!empty($items_id) && Session::haveRight("plugin_ocsinventoryng_view", READ)) { $query = "SELECT *\n FROM `glpi_plugin_ocsinventoryng_ipdiscoverocslinks`\n WHERE `items_id` = '" . $items_id . "' AND `itemtype` = '" . $item->getType() . "'"; $result = $DB->query($query); if ($DB->numrows($result) > 0) { $data = $DB->fetch_assoc($result); if (count($data)) { echo "<tr class='tab_bg_1'><th colspan='4'>" . __('OCS Inventory NG IPDiscover Import informations', 'ocsinventoryng') . "</th>"; echo "<tr class='tab_bg_1'><td>" . __('Import date in GLPI', 'ocsinventoryng'); echo "</td><td>" . Html::convDateTime($data["last_update"]) . "</td><td colspan='2'> </td></tr>"; } } } } } } }