/** * @covers Printer::delete * @covers Printer::restore */ public function testDelete() { $obj = new Printer(); $this->assertTrue($obj->maybeDeleted()); // Add $id = $obj->add(['name' => __METHOD__]); $this->assertGreaterThan(0, $id); $this->assertTrue($obj->getFromDB($id)); $this->assertEquals(0, $obj->getField('is_deleted')); $this->assertEquals(0, $obj->isDeleted()); // Delete $this->assertTrue($obj->delete(['id' => $id], 0)); $this->assertTrue($obj->getFromDB($id)); $this->assertEquals(1, $obj->getField('is_deleted')); $this->assertEquals(1, $obj->isDeleted()); // Restore $this->assertTrue($obj->restore(['id' => $id], 0)); $this->assertTrue($obj->getFromDB($id)); $this->assertEquals(0, $obj->getField('is_deleted')); $this->assertEquals(0, $obj->isDeleted()); // Purge $this->assertTrue($obj->delete(['id' => $id], 1)); $this->assertFalse($obj->getFromDB($id)); }
/** * @param $pdf PluginPdfSimplePDF object * @param $p Printer object * @param $old **/ static function pdfForPrinter(PluginPdfSimplePDF $pdf, Printer $p, $old = false) { global $DB, $CFG_GLPI; $instID = $p->getField('id'); if (!Session::haveRight("cartridge", "r")) { return false; } $dateout = "IS NULL "; if ($old) { $dateout = " IS NOT NULL "; } $query = "SELECT `glpi_cartridgeitems`.`id` AS tid,\n `glpi_cartridgeitems`.`ref`,\n `glpi_cartridgeitems`.`name`,\n `glpi_cartridges`.`id`,\n `glpi_cartridges`.`pages`,\n `glpi_cartridges`.`date_use`,\n `glpi_cartridges`.`date_out`,\n `glpi_cartridges`.`date_in`\n FROM `glpi_cartridges`, `glpi_cartridgeitems`\n WHERE `glpi_cartridges`.`date_out` " . $dateout . "\n AND `glpi_cartridges`.`printers_id` = '" . $instID . "'\n AND `glpi_cartridges`.`cartridgeitems_id` = `glpi_cartridgeitems`.`id`\n ORDER BY `glpi_cartridges`.`date_out` ASC,\n `glpi_cartridges`.`date_use` DESC,\n `glpi_cartridges`.`date_in`"; $result = $DB->query($query); $number = $DB->numrows($result); $i = 0; $pages = $p->fields['init_pages_counter']; $pdf->setColumnsSize(100); $pdf->displayTitle("<b>" . ($old ? __('Worn cartridges') : __('Used cartridges')) . "</b>"); if (!$number) { $pdf->displayLine(__('No item found')); } else { $pdf->setColumnsSize(25, 13, 12, 12, 12, 26); $pdf->displayTitle('<b><i>' . __('Cartridge type'), __('State'), __('Add date'), __('Use date'), __('End date'), __('Printer counter') . '</b></i>'); $stock_time = 0; $use_time = 0; $pages_printed = 0; $nb_pages_printed = 0; while ($data = $DB->fetch_array($result)) { $date_in = Html::convDate($data["date_in"]); $date_use = Html::convDate($data["date_use"]); $date_out = Html::convDate($data["date_out"]); $col1 = sprintf(__('%1$s - %2$s'), $data["name"], $data["ref"]); $col2 = Cartridge::getStatus($data["date_use"], $data["date_out"]); $col6 = ''; $tmp_dbeg = explode("-", $data["date_in"]); $tmp_dend = explode("-", $data["date_use"]); $stock_time_tmp = mktime(0, 0, 0, $tmp_dend[1], $tmp_dend[2], $tmp_dend[0]) - mktime(0, 0, 0, $tmp_dbeg[1], $tmp_dbeg[2], $tmp_dbeg[0]); $stock_time += $stock_time_tmp; if ($old) { $tmp_dbeg = explode("-", $data["date_use"]); $tmp_dend = explode("-", $data["date_out"]); $use_time_tmp = mktime(0, 0, 0, $tmp_dend[1], $tmp_dend[2], $tmp_dend[0]) - mktime(0, 0, 0, $tmp_dbeg[1], $tmp_dbeg[2], $tmp_dbeg[0]); $use_time += $use_time_tmp; $col6 = $data['pages']; if ($pages < $data['pages']) { $pages_printed += $data['pages'] - $pages; $nb_pages_printed++; $col6 = sprintf(__('%1$s (%2$s)'), $col6, __('%d printed pages'), $data['pages'] - $pages); $pages = $data['pages']; } } $pdf->displayLine($col1, $col2, $date_in, $date_use, $date_out, $col6); } // Each cartridge } if ($old) { if ($number > 0) { if ($nb_pages_printed == 0) { $nb_pages_printed = 1; } $nbstock = round($stock_time / $number / 60 / 60 / 24 / 30.5, 1); $nbuse = round($use_time / $number / 60 / 60 / 24 / 30.5, 1); $pdf->setColumnsSize(33, 33, 34); $pdf->displayTitle("<b><i>" . sprintf(__('%1$s: %2$s'), __('Average time in stock') . "</i></b>", _n('%d month', '%d months', $nbstock), $nbstock), "<b><i>" . sprintf(__('%1$s: %2$s'), __('Average time in use') . "</i></b>", _n('%d month', '%d months', $nbuse), $nbuse), "<b><i>" . sprintf(__('%1$s: %2$s'), __('Average number of printed pages') . "</i></b>", round($pages_printed / $nb_pages_printed))); } $pdf->displaySpace(); } }
/** * Show printer graph form **/ function showGraph($id, $options = array()) { global $DB, $CFG_GLPI; $printer = new Printer(); $where = ''; $begin = ''; $end = ''; $timeUnit = 'day'; $graphField = 'pages_total'; $pagecounters = array(); $graphType = 'day'; if (isset($_SESSION['glpi_plugin_fusioninventory_graph_begin'])) { $begin = $_SESSION['glpi_plugin_fusioninventory_graph_begin']; } if ($begin == 'NULL' or $begin == '') { $begin = date("Y-m-01"); // first day of current month } if (isset($_SESSION['glpi_plugin_fusioninventory_graph_end'])) { $end = $_SESSION['glpi_plugin_fusioninventory_graph_end']; } if (isset($_SESSION['glpi_plugin_fusioninventory_graph_type'])) { $graphType = $_SESSION['glpi_plugin_fusioninventory_graph_type']; } if ($end == 'NULL' or $end == '') { $end = date("Y-m-d"); // today } if (isset($_SESSION['glpi_plugin_fusioninventory_graph_timeUnit'])) { $timeUnit = $_SESSION['glpi_plugin_fusioninventory_graph_timeUnit']; } if (!isset($_SESSION['glpi_plugin_fusioninventory_graph_printersComp'])) { $_SESSION['glpi_plugin_fusioninventory_graph_printersComp'] = array(); } if (isset($_SESSION['glpi_plugin_fusioninventory_graph_printerCompAdd'])) { $printerCompAdd = $_SESSION['glpi_plugin_fusioninventory_graph_printerCompAdd']; if (!key_exists($printerCompAdd, $_SESSION['glpi_plugin_fusioninventory_graph_printersComp'])) { $oPrinter = new Printer(); if ($oPrinter->getFromDB($printerCompAdd)) { $_SESSION['glpi_plugin_fusioninventory_graph_printersComp'][$printerCompAdd] = $oPrinter->getField('name'); } } } elseif (isset($_SESSION['glpi_plugin_fusioninventory_graph_printerCompRemove'])) { unset($_SESSION['glpi_plugin_fusioninventory_graph_printersComp'][$_SESSION['glpi_plugin_fusioninventory_graph_printerCompRemove']]); } $oPrinter = new Printer(); $printers = $_SESSION['glpi_plugin_fusioninventory_graph_printersComp']; $printersView = $printers; // printers without the current printer if (isset($printersView[$id])) { unset($printersView[$id]); } else { if ($oPrinter->getFromDB($id)) { $printers[$id] = $oPrinter->getField('name'); } } $printersList = ''; foreach ($printers as $printers_id => $printername) { if ($printersList != '') { $printersList .= '<br/>'; } if ($printers_id == $id) { $printersList .= $printername; } else { $oPrinter->getFromDB($printers_id); $printersList .= $oPrinter->getLink(1); } } $printersIds = ""; foreach (array_keys($printers) as $printerId) { if ($printersIds != '') { $printersIds .= ', '; } $printersIds .= $printerId; } $where = " WHERE `printers_id` IN(" . $printersIds . ")"; if ($begin != '' || $end != '') { $where .= " AND " . getDateRequest("`date`", $begin, $end); } $group = ''; switch ($timeUnit) { case 'day': $group = "GROUP BY `printers_id`, `year`, `month`, `day`"; break; case 'week': $group = "GROUP BY `printers_id`, `year`, `month`, `week`"; break; case 'month': $group = "GROUP BY `printers_id`, `year`, `month`"; break; case 'year': $group = "GROUP BY `printers_id`, `year`"; break; } echo "<form method='post' name='snmp_form' id='snmp_form' action='" . $CFG_GLPI['root_doc'] . "/plugins/fusioninventory/front/printer_info.form.php'>"; echo "<table class='tab_cadre' cellpadding='5' width='950'>"; $mapping = new PluginFusioninventoryMapping(); $maps = $mapping->find("`itemtype`='Printer'"); foreach ($maps as $mapfields) { if (!isset($mapfields["shortlocale"])) { $mapfields["shortlocale"] = $mapfields["locale"]; } $pagecounters[$mapfields['name']] = $mapping->getTranslation($mapfields); } echo "<tr class='tab_bg_1'>"; echo "<th colspan='4'>"; echo __('Printed page counter', 'fusioninventory'); echo "</th>"; echo "</tr>"; echo "<tr class='tab_bg_1'>"; echo "<td class='left'>" . __('Start date') . " :</td>"; echo "<td class='left'>"; Html::showDateFormItem("graph_begin", $begin); echo "</td>"; echo "<td class='left'>" . __('Time unit', 'fusioninventory') . " :</td>"; echo "<td class='left'>"; $elementsTime = array('day' => _n('Day', 'Days', 1), 'week' => __('Week'), 'month' => _n('Month', 'Months', 1), 'year' => __('Year', 'fusioninventory')); Dropdown::showFromArray('graph_timeUnit', $elementsTime, array('value' => $timeUnit)); echo "</td>"; echo "</tr>"; echo "<tr class='tab_bg_1'>"; echo "<td class='left'>" . __('End date') . " :</td>"; echo "<td class='left'>"; Html::showDateFormItem("graph_end", $end); echo "</td>"; echo "<td class='left'>" . __('Display', 'fusioninventory') . " :</td>"; echo "<td class='left'>"; $elements = array('total' => __('Total counter', 'fusioninventory'), 'day' => __('pages per day', 'fusioninventory')); Dropdown::showFromArray('graph_type', $elements, array('value' => $graphType)); echo "</td>"; echo "</tr>"; echo "<tr class='tab_bg_2'>"; echo "<td class='center' colspan='4'>\n <input type='submit' class='submit' name='graph_plugin_fusioninventory_printer_period'\n value='" . __('Update') . "'/>"; echo "</td>"; echo "</tr>\n"; echo "<tr>"; echo "<th colspan='4'>" . __('Printers to compare', 'fusioninventory') . "</th>"; echo "</tr>"; echo "<tr class='tab_bg_1'>"; echo "<td class='left' rowspan='3'>" . __('Printer') . " :</td>"; echo "<td class='left' rowspan='3'>"; echo $printersList; echo "</td>"; echo "<td class='left'>" . __('Add a printer', 'fusioninventory') . " :</td>"; echo "<td class='left'>"; $printersused = array(); foreach ($printersView as $printer_id => $name) { $printersused[] = $printer_id; } $printer->getFromDB($id); Dropdown::show('Printer', array('name' => 'graph_printerCompAdd', 'entity' => $printer->fields['entities_id'], 'used' => $printersused)); echo " <input type='submit' value=\"" . __('Add') . "\" class='submit' " . "name='graph_plugin_fusioninventory_printer_add'>"; echo "</td>"; echo "</tr>\n"; echo "<tr class='tab_bg_1'>"; echo "<td class='left'>" . __('Remove a printer', 'fusioninventory') . " :</td>"; echo "<td class='left'>"; $printersTmp = $printersView; $printersTmp[0] = "-----"; asort($printersTmp); Dropdown::showFromArray('graph_printerCompRemove', $printersTmp); echo " <input type='submit' value=\"" . __('Delete', 'fusioninventory') . "\" " . "class='submit' name='graph_plugin_fusioninventory_printer_remove'>"; echo "</td>"; echo "</tr>\n"; echo "<tr class='tab_bg_1'>"; echo "<td colspan='2'></td>"; echo "</tr>"; echo "</table>"; Html::closeForm(); $elementsField = array('pages_total' => $pagecounters['pagecountertotalpages'], 'pages_n_b' => $pagecounters['pagecounterblackpages'], 'pages_color' => $pagecounters['pagecountercolorpages'], 'pages_recto_verso' => $pagecounters['pagecounterrectoversopages'], 'scanned' => $pagecounters['pagecounterscannedpages'], 'pages_total_print' => $pagecounters['pagecountertotalpages_print'], 'pages_n_b_print' => $pagecounters['pagecounterblackpages_print'], 'pages_color_print' => $pagecounters['pagecountercolorpages_print'], 'pages_total_copy' => $pagecounters['pagecountertotalpages_copy'], 'pages_n_b_copy' => $pagecounters['pagecounterblackpages_copy'], 'pages_color_copy' => $pagecounters['pagecountercolorpages_copy'], 'pages_total_fax' => $pagecounters['pagecountertotalpages_fax']); echo "<br/>"; $a_graph = array(); foreach ($elementsField as $graphField => $name) { $query = "SELECT `printers_id`, DAY(`date`)-1 AS `day`, WEEK(`date`) AS `week`,\n MONTH(`date`) AS `month`, YEAR(`date`) AS `year`, `date`,\n `{$graphField}`\n FROM `glpi_plugin_fusioninventory_printerlogs`" . $where . " AND `" . $graphField . "` > 0 " . $group; $result = $DB->query($query); if ($DB->numrows($result) == 0) { unset($elementsField[$graphField]); } } foreach ($elementsField as $graphField => $name) { $query = "SELECT `printers_id`, DAY(`date`)-1 AS `day`, WEEK(`date`) AS `week`,\n MONTH(`date`) AS `month`, YEAR(`date`) AS `year`, `date`,\n `{$graphField}`\n FROM `glpi_plugin_fusioninventory_printerlogs`" . $where . $group . "\n ORDER BY `year`, `month`, `day`, `printers_id`"; $input = array(); $result = $DB->query($query); if ($result) { if ($DB->numrows($result) != 0) { $pages = array(); $data = array(); $date = ''; while ($data = $DB->fetch_assoc($result)) { switch ($timeUnit) { case 'day': $split = explode(" ", $data['date']); $date = $split[0]; break; case 'week': $split = explode(" ", $data['date']); $date = $split[0]; break; case 'month': $split = explode(" ", $data['date']); $split2 = explode("-", $split[0]); $date = $split2[0] . "-" . $split2[1]; break; case 'year': $split = explode(" ", $data['date']); $split2 = explode("-", $split[0]); $date = $split2[0]; break; } if ($graphType == 'day') { if (!isset($pages[$data['printers_id']])) { $pages[$data['printers_id']] = $data[$graphField]; } else { $y = $data[$graphField] - $pages[$data['printers_id']]; if ($y < 0) { $y = 0; } $input[] = array('x' => $date, 'y' => $y); if ($data[$graphField] > 0) { $pages[$data['printers_id']] = $data[$graphField]; } } } else { $input[] = array('x' => $date, 'y' => $data[$graphField]); } } } } $continue = 1; if ($continue == '0' or $continue == '-1') { echo "<table class='tab_cadre' cellpadding='5' width='900'>"; echo "<tr class='tab_bg_1'>"; echo "<th>"; echo $name; echo "</th>"; echo "</tr>"; echo "<tr class='tab_bg_1'>"; echo "<td align='center'>"; if ($continue == '0') { echo __('Too datas to display', 'fusioninventory'); } echo "</td>"; echo "</tr>"; echo "</table><br/>"; } else { if (count($input > 0)) { $split = explode(' > ', $name); $a_graph[] = array('key' => $split[count($split) - 1], 'values' => $input); } } } // Display graph echo '<div id="chartPrinter">' . '<svg style="height: 400px; width: 950px;"></svg>' . '</div>'; echo "<script type='text/javascript'>\n function drawGraph() {\n var chart = nv.models.multiBarChart();\n\n chart.yAxis\n .tickFormat(d3.format(',0f'));\n\n d3.select('#chartPrinter svg')\n .datum(exampleData())\n .transition().duration(500).call(chart);\n\n nv.utils.windowResize(chart.update);\n }\n "; echo ' function exampleData() { return ' . json_encode($a_graph) . ' } drawGraph(); </script>'; }
/** * @param $item Printer object **/ static function countForPrinter(Printer $item) { $restrict = "`glpi_cartridges`.`printers_id` = '" . $item->getField('id') . "'"; return countElementsInTable(array('glpi_cartridges'), $restrict); }
/** * @param $item Printer object **/ static function countForPrinter(Printer $item) { return countElementsInTable(array('glpi_cartridges'), ['glpi_cartridges.printers_id' => $item->getField('id')]); }
/** * if Printer purged * * @param $print Printer object **/ static function purgePrinter(Printer $print) { $snmp = new self(); $snmp->deleteByCriteria(array('items_id' => $print->getField("id"), 'itemtype' => $print->getType())); $ipdiscover = new PluginOcsinventoryngIpdiscoverOcslink(); $ipdiscover->deleteByCriteria(array('items_id' => $print->getField("id"), 'itemtype' => $print->getType())); }
/** * @covers Printer::deleteByCriteria * @covers Printer::restore */ public function testDeleteByCriteria() { $obj = new Printer(); $this->assertTrue($obj->maybeDeleted()); // Add $id = $obj->add(['name' => __METHOD__, 'entities_id' => getItemByTypeName('Entity', '_test_root_entity', true)]); $this->assertGreaterThan(0, $id); $this->assertTrue($obj->getFromDB($id)); $this->assertEquals(0, $obj->getField('is_deleted')); $this->assertEquals(0, $obj->isDeleted()); $nb_before = countElementsInTable('glpi_logs', "itemtype = 'Printer'\n AND items_id = '{$id}'"); // DeleteByCriteria without history $this->assertTrue($obj->deleteByCriteria(['name' => __METHOD__], 0, 0)); $this->assertTrue($obj->getFromDB($id)); $this->assertEquals(1, $obj->getField('is_deleted')); $this->assertEquals(1, $obj->isDeleted()); $nb_after = countElementsInTable('glpi_logs', "itemtype = 'Printer'\n AND items_id = '{$id}'"); $this->assertEquals($nb_before, $nb_after); // Restore $this->assertTrue($obj->restore(['id' => $id], 0)); $this->assertTrue($obj->getFromDB($id)); $this->assertEquals(0, $obj->getField('is_deleted')); $this->assertEquals(0, $obj->isDeleted()); $nb_before = countElementsInTable('glpi_logs', "itemtype = 'Printer'\n AND items_id = '{$id}'"); // DeleteByCriteria with history $this->assertTrue($obj->deleteByCriteria(['name' => __METHOD__], 0, 1)); $this->assertTrue($obj->getFromDB($id)); $this->assertEquals(1, $obj->getField('is_deleted')); $this->assertEquals(1, $obj->isDeleted()); $nb_after = countElementsInTable('glpi_logs', "itemtype = 'Printer'\n AND items_id = '{$id}'"); $this->assertEquals($nb_before + 1, $nb_after); }
/** * Show installed cartridges * *@param $printer object Printer *@param $old boolean : old cartridges or not ? * *@return nothing (display) **/ static function showInstalled(Printer $printer, $old = 0) { global $DB, $CFG_GLPI, $LANG; $instID = $printer->getField('id'); if (!haveRight("cartridge", "r")) { return false; } $canedit = haveRight("cartridge", "w"); $query = "SELECT `glpi_cartridgeitems`.`id` AS tID,\n `glpi_cartridgeitems`.`is_deleted`,\n `glpi_cartridgeitems`.`ref` AS ref,\n `glpi_cartridgeitems`.`name` AS type,\n `glpi_cartridges`.`id`,\n `glpi_cartridges`.`pages` AS pages,\n `glpi_cartridges`.`date_use` AS date_use,\n `glpi_cartridges`.`date_out` AS date_out,\n `glpi_cartridges`.`date_in` AS date_in\n FROM `glpi_cartridges`,\n `glpi_cartridgeitems`\n WHERE (`glpi_cartridges`.`date_out` IS " . ($old ? "NOT" : "") . " NULL\n AND `glpi_cartridges`.`printers_id` = '{$instID}'\n AND `glpi_cartridges`.`cartridgeitems_id` = `glpi_cartridgeitems`.`id`)\n ORDER BY `glpi_cartridges`.`date_out` ASC,\n `glpi_cartridges`.`date_use` DESC,\n `glpi_cartridges`.`date_in`"; $result = $DB->query($query); $number = $DB->numrows($result); $i = 0; $pages = $printer->fields['init_pages_counter']; echo "<div class='spaced'><table class='tab_cadre_fixe'>"; if ($old == 0) { echo "<tr><th colspan='5'>" . $LANG['cartridges'][33] . " :</th></tr>"; } else { echo "<tr><th colspan='7'>" . $LANG['cartridges'][35] . " :</th></tr>"; } echo "<tr><th>" . $LANG['common'][2] . "</th><th>" . $LANG['cartridges'][12] . "</th>"; echo "<th>" . $LANG['cartridges'][24] . "</th>"; echo "<th>" . $LANG['consumables'][26] . "</th>"; if ($old != 0) { echo "<th>" . $LANG['search'][9] . "</th><th>" . $LANG['cartridges'][39] . "</th>"; } echo "<th> </th></tr>"; $stock_time = 0; $use_time = 0; $pages_printed = 0; $nb_pages_printed = 0; while ($data = $DB->fetch_array($result)) { $date_in = convDate($data["date_in"]); $date_use = convDate($data["date_use"]); $date_out = convDate($data["date_out"]); echo "<tr class='tab_bg_1" . ($data["is_deleted"] ? "_2" : "") . "'>"; echo "<td class='center'>" . $data["id"] . "</td>"; echo "<td class='center b'>"; echo "<a href=\"" . $CFG_GLPI["root_doc"] . "/front/cartridgeitem.form.php?id=" . $data["tID"] . "\">" . $data["type"] . " - " . $data["ref"] . "</a></td>"; echo "<td class='center'>" . $date_in . "</td>"; echo "<td class='center'>" . $date_use; $tmp_dbeg = explode("-", $data["date_in"]); $tmp_dend = explode("-", $data["date_use"]); $stock_time_tmp = mktime(0, 0, 0, $tmp_dend[1], $tmp_dend[2], $tmp_dend[0]) - mktime(0, 0, 0, $tmp_dbeg[1], $tmp_dbeg[2], $tmp_dbeg[0]); $stock_time += $stock_time_tmp; if ($old != 0) { echo "</td>"; echo "<td class='center'>" . $date_out; } if ($old != 0) { $tmp_dbeg = explode("-", $data["date_use"]); $tmp_dend = explode("-", $data["date_out"]); $use_time_tmp = mktime(0, 0, 0, $tmp_dend[1], $tmp_dend[2], $tmp_dend[0]) - mktime(0, 0, 0, $tmp_dbeg[1], $tmp_dbeg[2], $tmp_dbeg[0]); $use_time += $use_time_tmp; } echo "</td><td class='center'>"; if ($old != 0) { if ($canedit) { echo "<form method='post' action=\"" . $CFG_GLPI["root_doc"] . "/front/cartridge.form.php\">"; echo "<input type='hidden' name='cID' value='" . $data['id'] . "'>"; echo "<input type='text' name='pages' value=\"" . $data['pages'] . "\" size='10'>"; echo "<input type='image' name='update_pages' value='update_pages'\n src='" . $CFG_GLPI["root_doc"] . "/pics/actualiser.png' class='calendrier'>"; echo "</form>"; } else { echo "<input type='text' name='pages' value=\"" . $data['pages'] . "\" size='10'>"; } if ($pages < $data['pages']) { $pages_printed += $data['pages'] - $pages; $nb_pages_printed++; echo $data['pages'] - $pages . " " . $LANG['printers'][31]; $pages = $data['pages']; } echo "</td><td class='center'>"; } if ($canedit) { echo "<span class='small_space'>"; if (is_null($date_out)) { echo "<a href='" . $CFG_GLPI["root_doc"] . "/front/cartridge.form.php?uninstall=uninstall&id=" . $data["id"] . "&tID=" . $data["tID"] . "'>" . $LANG['cartridges'][29] . "</a>"; } else { echo "<a href='" . $CFG_GLPI["root_doc"] . "/front/cartridge.form.php?delete=delete&id=" . $data["id"] . "&tID=" . $data["tID"] . "'>" . $LANG['buttons'][6] . "</a>"; } echo "</span></td></tr>"; } } if ($old == 0 && $canedit) { echo "<tr class='tab_bg_1'><td> </td><td class='center' colspan='3'>"; echo "<form method='post' action=\"" . $CFG_GLPI["root_doc"] . "/front/cartridge.form.php\">"; echo "<input type='hidden' name='pID' value='{$instID}'>"; if (CartridgeItem::dropdownForPrinter($printer)) { echo " <input type='submit' name='install' value=\"" . $LANG['buttons'][4] . "\"\n class='submit'>"; } echo "</form></td><td class='tab_bg_2 center'> "; echo "</td></tr>"; } else { // Print average if ($number > 0) { if ($nb_pages_printed == 0) { $nb_pages_printed = 1; } echo "<tr class='tab_bg_2'><td> </td><td> </td><td> </td>"; echo "<td class='center'>" . $LANG['cartridges'][40] . " :<br>"; echo round($stock_time / $number / 60 / 60 / 24 / 30.5, 1) . " " . $LANG['financial'][57] . "</td>"; echo "<td class='center'>" . $LANG['cartridges'][41] . ":<br>"; echo round($use_time / $number / 60 / 60 / 24 / 30.5, 1) . " " . $LANG['financial'][57] . "</td>"; echo "<td class='center'>" . $LANG['cartridges'][42] . ":<br>"; echo round($pages_printed / $nb_pages_printed) . "</td>"; echo "<td> </td></tr>"; } } echo "</table></div>"; }