Пример #1
0
/**
 * @param $threads_id
 * @param $ocsservers_id
 * @param $thread_nbr
 * @param $threadid
 * @param $fields
 * @param $config
**/
function SecondPass($threads_id, $ocsservers_id, $thread_nbr, $threadid, $fields, $config)
{
    $server = new PluginOcsinventoryngServer();
    $ocsserver = new PluginOcsinventoryngOcsServer();
    if (!PluginOcsinventoryngOcsServer::checkOCSconnection($ocsservers_id)) {
        echo "\tThread #" . $threadid . ": cannot contact server\n\n";
        return false;
    }
    if (!$ocsserver->getFromDB($ocsservers_id)) {
        echo "\tThread #" . $threadid . ": cannot get OCS server information\n\n";
        return false;
    }
    if (!$server->getFromDBbyOcsServer($ocsservers_id)) {
        echo "\tThread #" . $threadid . ": cannot get server information\n\n";
        return false;
    }
    $cfg_ocs = PluginOcsinventoryngOcsServer::getConfig($ocsservers_id);
    return plugin_ocsinventoryng_importFromOcsServer($threads_id, $cfg_ocs, $server, $thread_nbr, $threadid, $fields, $config);
}
Пример #2
0
/**
 * @param $type
 * @param $id
 * @param $data
 * @param $num
**/
function plugin_ocsinventoryng_giveItem($type, $id, $data, $num)
{
    global $CFG_GLPI, $DB;
    $searchopt =& Search::getOptions($type);
    $table = $searchopt[$id]["table"];
    $field = $searchopt[$id]["field"];
    switch ("{$table}.{$field}") {
        case "glpi_plugin_ocsinventoryng_details.action":
            $detail = new PluginOcsinventoryngDetail();
            return $detail->giveActionNameByActionID($data["ITEM_{$num}"]);
        case "glpi_plugin_ocsinventoryng_details.computers_id":
            $comp = new Computer();
            $comp->getFromDB($data["ITEM_{$num}"]);
            return "<a href='" . Toolbox::getItemTypeFormURL('Computer') . "?id=" . $data["ITEM_{$num}"] . "'>" . $comp->getName() . "</a>";
        case "glpi_plugin_ocsinventoryng_details.plugin_ocsinventoryng_ocsservers_id":
            $ocs = new PluginOcsinventoryngOcsServer();
            $ocs->getFromDB($data["ITEM_{$num}"]);
            return "<a href='" . Toolbox::getItemTypeFormURL('PluginOcsinventoryngOcsServer') . "?id=" . $data["ITEM_{$num}"] . "'>" . $ocs->getName() . "</a>";
        case "glpi_plugin_ocsinventoryng_details.rules_id":
            $detail = new PluginOcsinventoryngDetail();
            $detail->getFromDB($data['id']);
            return PluginOcsinventoryngNotimportedcomputer::getRuleMatchedMessage($detail->fields['rules_id']);
        case "glpi_plugin_ocsinventoryng_notimportedcomputers.reason":
            return PluginOcsinventoryngNotimportedcomputer::getReason($data["ITEM_{$num}"]);
    }
    return '';
}
Пример #3
0
 /**
  * Show profile form
  *
  * @param $items_id integer id of the profile
  * @param $target value url of target
  *
  * @return nothing
  **/
 function showForm($profiles_id = 0, $openform = TRUE, $closeform = TRUE)
 {
     global $DB, $CFG_GLPI;
     $profile = new Profile();
     $profile->getFromDB($profiles_id);
     echo "<div class='firstbloc'>";
     if (($canedit = Session::haveRightsOr(self::$rightname, array(CREATE, UPDATE, PURGE))) && $openform) {
         echo "<form action='" . $CFG_GLPI['root_doc'] . "/plugins/ocsinventoryng/front/profile.form.php' method='post'>";
     }
     //Delegating
     $effective_rights = ProfileRight::getProfileRights($profiles_id, array('plugin_ocsinventoryng'));
     echo "<table class='tab_cadre_fixehov'>";
     echo "<tr><th colspan='4' class='center b'>" . sprintf(__('%1$s - %2$s'), 'OcsinventoryNG', $profile->fields["name"]) . "</th>";
     echo "</tr>";
     $used = array();
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . sprintf(__('%1$s : %2$s'), _n('Allowed OCSNG server', 'Allowed OCSNG servers', 2, 'ocsinventoryng'), "&nbsp;");
     //$profile = $this->fields['id'];
     $crit = array('profiles_id' => $profiles_id);
     foreach ($DB->request("glpi_plugin_ocsinventoryng_ocsservers_profiles", $crit) as $data) {
         $used[$data['plugin_ocsinventoryng_ocsservers_id']] = $data['plugin_ocsinventoryng_ocsservers_id'];
         $configid[$data['plugin_ocsinventoryng_ocsservers_id']] = $data['id'];
     }
     if (Session::haveRight("profile", UPDATE)) {
         Dropdown::show('PluginOcsinventoryngOcsServer', array('width' => '50%', 'used' => $used, 'value' => '', 'condition' => "is_active = 1"));
         echo "&nbsp;&nbsp;<input type='hidden' name='profile' value='{$profiles_id}'>";
         echo "&nbsp;&nbsp;<input type='submit' name='addocsserver' value=\"" . _sx('button', 'Add') . "\" class='submit' >";
     }
     echo "</td><td>";
     echo "<table width='100%'><tr class='tab_bg_1'><td>";
     $nbservers = countElementsInTable('glpi_plugin_ocsinventoryng_ocsservers_profiles', "`profiles_id` = " . $profiles_id);
     $query = "SELECT `glpi_plugin_ocsinventoryng_ocsservers`.`id`,\n                       `glpi_plugin_ocsinventoryng_ocsservers`.`name`\n                FROM `glpi_plugin_ocsinventoryng_ocsservers_profiles`\n                LEFT JOIN `glpi_plugin_ocsinventoryng_ocsservers`\n                   ON `glpi_plugin_ocsinventoryng_ocsservers_profiles`.`plugin_ocsinventoryng_ocsservers_id` = `glpi_plugin_ocsinventoryng_ocsservers`.`id`\n                WHERE `profiles_id`= " . $_SESSION["glpiactiveprofile"]['id'] . "\n                ORDER BY `name` ASC";
     $result = $DB->query($query);
     if ($data = $DB->fetch_assoc($result)) {
         $ocsserver = new PluginOcsinventoryngOcsServer();
         foreach ($used as $id) {
             if ($ocsserver->getFromDB($id)) {
                 echo "<br>";
                 if (Session::haveRight("profile", UPDATE)) {
                     echo "<input type='checkbox' name='item[" . $configid[$id] . "]' value='1'>";
                 }
                 if ($data['id'] == $id) {
                     echo $ocsserver->getLink();
                 } else {
                     echo $ocsserver->getName();
                 }
             }
         }
     }
     if (!$nbservers) {
         _e('None');
     }
     echo "</td></tr>";
     if ($nbservers && Session::haveRight("profile", UPDATE)) {
         echo "<tr class='tab_bg_1 center'><td>";
         echo "<input type='submit' name='delete' value='Supprimer' class='submit' >";
         echo "</td></tr>";
     }
     echo "</table>";
     echo "</td></tr>";
     echo "</table>";
     Html::closeForm();
     if (($canedit = Session::haveRightsOr(self::$rightname, array(CREATE, UPDATE, PURGE))) && $openform) {
         echo "<form method='post' action='" . $profile->getFormURL() . "'>";
     }
     $rights = $this->getAllRights();
     $profile->displayRightsChoiceMatrix($rights, array('canedit' => $canedit, 'default_class' => 'tab_bg_2', 'title' => __('General')));
     if ($canedit && $closeform) {
         echo "<div class='center'>";
         echo Html::hidden('id', array('value' => $profiles_id));
         echo Html::submit(_sx('button', 'Save'), array('name' => 'update'));
         echo "</div>\n";
         Html::closeForm();
     }
     echo "</div>";
 }
    /**
     * @param $ID
     * @internal param $withtemplate (default '')
     * @internal param $templateid (default '')
     */
    function ocsFormSNMPImportOptions($ID)
    {
        $conf = new PluginOcsinventoryngOcsServer();
        $conf->getFromDB($ID);
        echo "<div class='center'>";
        echo "<form name='formsnmpconfig' id='formsnmpconfig' action='" . Toolbox::getItemTypeFormURL("PluginOcsinventoryngOcsServer") . "' method='post'>";
        echo "<table class='tab_cadre_fixe'>\n";
        echo "<tr><th colspan ='4'>";
        _e('All');
        echo $JS = <<<JAVASCRIPT
         <script type='text/javascript'>
            function form_init_all(form, value) {
                  var selects = \$("form[id='formsnmpconfig'] select");
                  \$.each(selects, function(index, select){
                  \$(select).select2('val', value);
               });
            }
         </script>
JAVASCRIPT;
        Dropdown::showYesNo('init_all', 0, -1, array('width' => '10%', 'on_change' => "form_init_all(this.form, this.selectedIndex);"));
        echo "</th></tr>";
        echo "<tr class='tab_bg_2'>\n";
        echo "<td class='top'>\n";
        echo $JS = <<<JAVASCRIPT
         <script type='text/javascript'>
         function accordions(id, openall) {
             if(id == undefined){
                 id  = 'accordions';
             }
             jQuery(document).ready(function () {
                 \$("#"+id).accordion({
                     collapsible: true,
                     //active:[0, 1, 2, 3],
                     //heightStyle: "content"
                 });
                 //if (openall) {
                     //\$('#'+id +' .ui-accordion-content').show();
                 //}
             });
         };
         </script>
JAVASCRIPT;
        echo "<div id='accordions'>";
        echo "<h2><a href='#'>" . __('General SNMP import options', 'ocsinventoryng') . "</a></h2>";
        echo "<div>";
        echo "<table class='tab_cadre' width='100%'>";
        echo "<tr><th colspan='4'>" . __('General SNMP import options', 'ocsinventoryng') . "</th></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Import SNMP name', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_name", $conf->fields["importsnmp_name"]);
        echo "</td>\n";
        echo "<td class='center'>" . __('Import SNMP serial', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_serial", $conf->fields["importsnmp_serial"]);
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Import SNMP comment', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_comment", $conf->fields["importsnmp_comment"]);
        echo "</td>\n";
        echo "<td class='center'>" . __('Import SNMP contact', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_contact", $conf->fields["importsnmp_contact"]);
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Import SNMP location', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_location", $conf->fields["importsnmp_location"]);
        echo "</td>\n";
        echo "<td class='center'>" . __('Import SNMP domain', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_domain", $conf->fields["importsnmp_domain"]);
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Import SNMP manufacturer', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_manufacturer", $conf->fields["importsnmp_manufacturer"]);
        echo "</td>\n";
        echo "<td class='center'>" . __('Create network port', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_createport", $conf->fields["importsnmp_createport"]);
        echo "</td></tr>\n";
        echo "<tr><th colspan='4'>" . __('Computer SNMP import options', 'ocsinventoryng') . "</th></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Import SNMP network cards', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_computernetworkcards", $conf->fields["importsnmp_computernetworkcards"]);
        echo "</td><td class='center'>" . __('Import SNMP memory', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_computermemory", $conf->fields["importsnmp_computermemory"]);
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Import SNMP processors', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_computerprocessors", $conf->fields["importsnmp_computerprocessors"]);
        echo "</td><td class='center'>" . __('Import SNMP softwares', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_computersoftwares", $conf->fields["importsnmp_computersoftwares"]);
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Import SNMP virtual machines', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_computervm", $conf->fields["importsnmp_computervm"]);
        echo "</td><td colspan='2'</td></tr>\n";
        echo "<tr><th colspan='4'>" . __('Printer SNMP import options', 'ocsinventoryng') . "</th></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Import SNMP last pages counter', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_last_pages_counter", $conf->fields["importsnmp_last_pages_counter"]);
        echo "</td><td class='center'>" . __('Import SNMP printer memory', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_printermemory", $conf->fields["importsnmp_printermemory"]);
        echo "</td></tr>\n";
        echo "<tr><th colspan='4'>" . __('Networking SNMP import options', 'ocsinventoryng') . "</th></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Import SNMP firmware', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_firmware", $conf->fields["importsnmp_firmware"]);
        echo "</td>\n";
        echo "<td class='center'>" . __('Import SNMP Power supplies', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_power", $conf->fields["importsnmp_power"]);
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Import SNMP Fans', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("importsnmp_fan", $conf->fields["importsnmp_fan"]);
        echo "</td><td colspan='2'></td></tr>\n";
        echo "</table><br>";
        echo "</div>";
        //Components
        echo "<h2><a href='#'>" . __('General SNMP link options', 'ocsinventoryng') . "</a></h2>";
        /******Link ***/
        echo "<div>";
        echo "<table class='tab_cadre' width='100%'>";
        echo "<tr><th colspan='4'>" . __('General SNMP link options', 'ocsinventoryng') . "</th></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Link SNMP name', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_name", $conf->fields["linksnmp_name"]);
        echo "</td>\n";
        echo "<td class='center'>" . __('Link SNMP serial', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_serial", $conf->fields["linksnmp_serial"]);
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Link SNMP comment', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_comment", $conf->fields["linksnmp_comment"]);
        echo "</td>\n";
        echo "<td class='center'>" . __('Link SNMP contact', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_contact", $conf->fields["linksnmp_contact"]);
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Link SNMP location', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_location", $conf->fields["linksnmp_location"]);
        echo "</td>\n";
        echo "<td class='center'>" . __('Link SNMP domain', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_domain", $conf->fields["linksnmp_domain"]);
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Link SNMP manufacturer', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_manufacturer", $conf->fields["linksnmp_manufacturer"]);
        echo "</td>\n";
        echo "<td class='center'>" . __('Create network port', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_createport", $conf->fields["linksnmp_createport"]);
        echo "</td></tr>\n";
        echo "<tr><th colspan='4'>" . __('Computer SNMP link options', 'ocsinventoryng') . "</th></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Link SNMP network cards', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_computernetworkcards", $conf->fields["linksnmp_computernetworkcards"]);
        echo "</td><td class='center'>" . __('Link SNMP memory', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_computermemory", $conf->fields["linksnmp_computermemory"]);
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Link SNMP processors', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_computerprocessors", $conf->fields["linksnmp_computerprocessors"]);
        echo "</td><td class='center'>" . __('Link SNMP softwares', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_computersoftwares", $conf->fields["linksnmp_computersoftwares"]);
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Link SNMP virtual machines', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_computervm", $conf->fields["linksnmp_computervm"]);
        echo "</td><td colspan='2'></td></tr>\n";
        echo "<tr><th colspan='4'>" . __('Printer SNMP link options', 'ocsinventoryng') . "</th></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Link SNMP last pages counter', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_last_pages_counter", $conf->fields["linksnmp_last_pages_counter"]);
        echo "</td><td class='center'>" . __('Link SNMP printer memory', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_printermemory", $conf->fields["linksnmp_printermemory"]);
        echo "</td></tr>\n";
        echo "<tr><th colspan='4'>" . __('Networking SNMP link options', 'ocsinventoryng') . "</th></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Link SNMP firmware', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_firmware", $conf->fields["linksnmp_firmware"]);
        echo "</td>\n";
        echo "<td class='center'>" . __('Link SNMP Power supplies', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_power", $conf->fields["linksnmp_power"]);
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center'>" . __('Link SNMP Fans', 'ocsinventoryng') . "</td>\n<td>";
        Dropdown::showYesNo("linksnmp_fan", $conf->fields["linksnmp_fan"]);
        echo "</td><td colspan='2'></td></tr>\n";
        echo "</table>\n";
        echo "</div>";
        echo "</div>";
        echo "<script>accordions();</script>";
        echo "</td></tr>\n";
        echo "<tr class='tab_bg_2'><td class='center' colspan='4'>";
        echo "<input type='hidden' name='id' value='{$ID}'>";
        echo "<input type='submit' name='updateSNMP' class='submit' value='" . _sx('button', 'Save') . "'>";
        echo "</td></tr>";
        echo "</table>\n";
        Html::closeForm();
        echo "</div>";
    }
Пример #5
0
 /**
  * Show OcsLink of an item
  *
  * @param $item                   CommonDBTM object
  * @return nothing
  * @internal param int|string $withtemplate integer  withtemplate param (default '')
  */
 static function showForItem(CommonDBTM $item)
 {
     global $DB;
     $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);
                 $data = Toolbox::clean_cross_side_scripting_deep(Toolbox::addslashes_deep($data));
                 if (count($data)) {
                     echo "<div class='center'>";
                     echo "<form method='post' action=\"{$target}\">";
                     echo "<input type='hidden' name='id' value='{$items_id}'>";
                     echo "<table class='tab_cadre_fixe'>";
                     echo "<tr><th colspan = '4'>" . __('OCSNG link', 'ocsinventoryng') . "</th>";
                     echo "<tr class='tab_bg_1'>";
                     echo "<td class='left'>";
                     _e('OCSNG DEVICE ID', 'ocsinventoryng');
                     echo "</td>";
                     echo "<td class='left'>";
                     echo $data['ocs_deviceid'];
                     echo "</td>";
                     echo "<td class='left'>";
                     _e('OCSNG TAG', 'ocsinventoryng');
                     echo "</td>";
                     echo "<td class='left'>";
                     echo $data['tag'];
                     echo "</td>";
                     echo "<tr class='tab_bg_1'>";
                     echo "<td class='left'>" . __('Automatic update OCSNG', 'ocsinventoryng') . "</td>";
                     echo "<td class='left'>";
                     Dropdown::showYesNo("use_auto_update", $data["use_auto_update"]);
                     echo "</td>";
                     echo "<td class='left'>";
                     _e('Uptime', 'ocsinventoryng');
                     echo "</td>";
                     echo "<td class='left'>";
                     echo $data['uptime'];
                     echo "</td>";
                     echo "</tr>";
                     if (Session::haveRight("plugin_ocsinventoryng_sync", UPDATE)) {
                         echo "<tr class='tab_bg_1'>";
                         echo "<td class='center'>";
                         echo "<input type='hidden' name='link_id' value='" . $data["id"] . "'>";
                         echo "<input class=submit type='submit' name='update' value=\"" . _sx('button', 'Save') . "\">";
                         echo "</td>";
                         echo "<td class='center'>";
                         echo "<input type='hidden' name='resynch_id' value='" . $data["id"] . "'>";
                         echo "<input class=submit type='submit' name='force_ocs_resynch' value=\"" . _sx('button', 'Force synchronization', 'ocsinventoryng') . "\">";
                         echo "</td>";
                         echo "<td class='center'>";
                         echo "<input type='hidden' name='items_id' value='" . $items_id . "'>";
                         echo "<input class=submit type='submit' name='delete_link' value=\"" . _sx('button', 'Delete link', 'ocsinventoryng') . "\">";
                         echo "</td>";
                         echo "<td>";
                         echo "</td>";
                         echo "</tr>";
                     }
                     echo "</table>\n";
                     Html::closeForm();
                     echo "</div>";
                     if ($_SESSION['glpi_use_mode'] == Session::DEBUG_MODE) {
                         $ocsClient = PluginOcsinventoryngOcsServer::getDBocs($data["plugin_ocsinventoryng_ocsservers_id"]);
                         $options = array('DISPLAY' => array('CHECKSUM' => PluginOcsinventoryngOcsClient::CHECKSUM_HARDWARE, 'PLUGINS' => PluginOcsinventoryngOcsClient::PLUGINS_NONE), 'COMPLETE' => 0);
                         $computer = array();
                         $checksum_client = 0;
                         $computer = $ocsClient->getComputer($data["ocsid"], $options);
                         echo "<br><table class='tab_cadre_fixe'>";
                         echo "<tr>";
                         echo "<th colspan='2'>" . __('DEBUG') . " " . __('OCSNG', "ocsinventoryng") . "</th>";
                         echo "</tr>";
                         if (count($computer) > 0) {
                             foreach ($computer as $key => $val) {
                                 echo "<tr class='tab_bg_1'>";
                                 echo "<td>";
                                 print_r($key);
                                 echo "</td>";
                                 echo "<td>";
                                 foreach ($val as $name => $value) {
                                     if (is_array($value)) {
                                         echo "<table class='tab_cadre' width='100%' border='0'>";
                                         foreach ($value as $k => $v) {
                                             echo "<tr class='tab_bg_1'>";
                                             echo "<td>";
                                             printf(__('%1$s: %2$s'), $k, $v);
                                             echo "</td>";
                                             echo "</tr>";
                                         }
                                         echo "</table>";
                                     } else {
                                         printf(__('%1$s: %2$s'), $name, $value);
                                     }
                                     if ($name == "CHECKSUM") {
                                         $checksum_client = intval($value);
                                     }
                                     echo "</br>";
                                 }
                                 echo "</td>";
                                 echo "</tr>";
                             }
                         } else {
                             echo "<tr class='tab_bg_1'>";
                             echo "<td colspan='2' class='red'>";
                             _e('No computer found into OCSNG Database', 'ocsinventoryng');
                             echo "</td>";
                             echo "</tr>";
                         }
                         $server = new PluginOcsinventoryngOcsServer();
                         if ($server->getFromDB($data["plugin_ocsinventoryng_ocsservers_id"]) && $checksum_client > 0) {
                             echo "<tr class='tab_bg_1'>";
                             echo "<td>";
                             _e('Checksum test', 'ocsinventoryng');
                             echo "</td>";
                             echo "<td>";
                             $format = '(%1$2d = %1$04b) = (%2$2d = %2$04b)' . ' %3$s (%4$2d = %4$04b)' . "\n";
                             $checksum_server = intval($server->fields["checksum"]);
                             $result = $checksum_server & $checksum_client;
                             printf($format, $result, $checksum_server, '&', $checksum_client);
                             echo "</td>";
                             echo "</tr>";
                         }
                         echo "</table>";
                     }
                 } else {
                     echo "<div class='center'>";
                     echo "<table class='tab_cadre_fixe'>";
                     echo "<tr><th colspan = '2'>" . __('OCSNG link', 'ocsinventoryng') . "</th>";
                     echo "<tr class='tab_bg_1'>";
                     echo "<td colspan='2' >";
                     _e('No computer found into OCSNG Database', 'ocsinventoryng');
                     echo "</td>";
                     echo "</tr>";
                     echo "</table>";
                     echo "</div>";
                 }
             } else {
                 echo "<div class='center'>";
                 echo "<table class='tab_cadre_fixe'>";
                 echo "<tr><th colspan = '2'>" . __('OCSNG link', 'ocsinventoryng') . "</th>";
                 echo "<tr class='tab_bg_1'>";
                 echo "<td colspan='2' '>";
                 _e('No computer found into OCSNG Database', 'ocsinventoryng');
                 echo "</td>";
                 echo "</tr>";
                 echo "</table>";
                 echo "</div>";
             }
         } else {
             echo "<div class='center'>";
             echo "<table class='tab_cadre_fixe'>";
             echo "<tr><th colspan = '2'>" . __('OCSNG link', 'ocsinventoryng') . "</th>";
             echo "<tr class='tab_bg_1'>";
             echo "<td colspan='2' '>";
             _e('No computer found into OCSNG Database', 'ocsinventoryng');
             echo "</td>";
             echo "</tr>";
             echo "</table>";
             echo "</div>";
         }
     }
 }