CartridgeItem_PrinterModel::showForCartridgeItem PHP Method

showForCartridgeItem() static public method

Show the printer types that are compatible with a cartridge type
static public showForCartridgeItem ( CartridgeItem $item ) : nothing
$item CartridgeItem CartridgeItem object
return nothing (display)
    static function showForCartridgeItem(CartridgeItem $item)
    {
        global $DB, $CFG_GLPI;
        $instID = $item->getField('id');
        if (!$item->can($instID, READ)) {
            return false;
        }
        $canedit = $item->canEdit($instID);
        $rand = mt_rand();
        $query = "SELECT `" . static::getTable() . "`.`id`,\n                       `glpi_printermodels`.`name` AS `type`,\n                       `glpi_printermodels`.`id` AS `pmid`\n                FROM `" . static::getTable() . "`,\n                     `glpi_printermodels`\n                WHERE `" . static::getTable() . "`.`printermodels_id` = `glpi_printermodels`.`id`\n                      AND `" . static::getTable() . "`.`cartridgeitems_id` = '{$instID}'\n                ORDER BY `glpi_printermodels`.`name`";
        $result = $DB->query($query);
        $i = 0;
        $used = array();
        $datas = array();
        if ($number = $DB->numrows($result)) {
            while ($data = $DB->fetch_assoc($result)) {
                $used[$data["pmid"]] = $data["pmid"];
                $datas[$data["id"]] = $data;
            }
        }
        if ($canedit) {
            echo "<div class='firstbloc'>";
            echo "<form name='printermodel_form{$rand}' id='printermodel_form{$rand}' method='post'";
            echo " action='" . static::getFormURL() . "'>";
            echo "<table class='tab_cadre_fixe'>";
            echo "<tr class='tab_bg_1'>";
            echo "<th colspan='6'>" . __('Add a compatible printer model') . "</th></tr>";
            echo "<tr><td class='tab_bg_2 center'>";
            echo "<input type='hidden' name='cartridgeitems_id' value='{$instID}'>";
            PrinterModel::dropdown(array('used' => $used));
            echo "</td><td class='tab_bg_2 center'>";
            echo "<input type='submit' name='add' value=\"" . _sx('button', 'Add') . "\" class='submit'>";
            echo "</td></tr>";
            echo "</table>";
            Html::closeForm();
            echo "</div>";
        }
        if ($number) {
            echo "<div class='spaced'>";
            if ($canedit) {
                $rand = mt_rand();
                Html::openMassiveActionsForm('mass' . __CLASS__ . $rand);
                $massiveactionparams = array('num_displayed' => count($used), 'container' => 'mass' . __CLASS__ . $rand);
                Html::showMassiveActions($massiveactionparams);
            }
            echo "<table class='tab_cadre_fixehov'>";
            $header_begin = "<tr>";
            $header_top = '';
            $header_bottom = '';
            $header_end = '';
            if ($canedit) {
                $header_begin .= "<th width='10'>";
                $header_top .= Html::getCheckAllAsCheckbox('mass' . __CLASS__ . $rand);
                $header_bottom .= Html::getCheckAllAsCheckbox('mass' . __CLASS__ . $rand);
                $header_end .= "</th>";
            }
            $header_end .= "<th>" . __('Model') . "</th></tr>";
            echo $header_begin . $header_top . $header_end;
            foreach ($datas as $data) {
                echo "<tr class='tab_bg_1'>";
                if ($canedit) {
                    echo "<td width='10'>";
                    Html::showMassiveActionCheckBox(__CLASS__, $data["id"]);
                    echo "</td>";
                }
                echo "<td class='center'>" . $data['type'] . "</td>";
                echo "</tr>";
            }
            echo $header_begin . $header_bottom . $header_end;
            echo "</table>";
            if ($canedit) {
                $massiveactionparams['ontop'] = false;
                Html::showMassiveActions($massiveactionparams);
                Html::closeForm();
            }
            echo "</div>";
        } else {
            echo "<p class='center b'>" . __('No item found') . "</p>";
        }
    }