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>";
 }
Beispiel #2
0
 /**
  * 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>';
                 }
             }
         }
     }
 }
Beispiel #3
0
 /**
  * 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'>&nbsp;</td></tr>";
                         }
                     }
                 }
             }
         }
     }
 }