/** * @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); }
/** * @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 ''; }
/** * 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'), " "); //$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 " <input type='hidden' name='profile' value='{$profiles_id}'>"; echo " <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>"; }
/** * 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>"; } } }