static function pdfForAppliance(PluginPdfSimplePDF $pdf, PluginAppliancesAppliance $appli)
 {
     global $DB, $CFG_GLPI;
     $instID = $appli->fields['id'];
     if (!$appli->can($instID, "r")) {
         return false;
     }
     if (!plugin_appliances_haveRight("appliance", "r")) {
         return false;
     }
     $pdf->setColumnsSize(100);
     $pdf->displayTitle('<b>' . __('Associated items', 'behaviors') . '</b>');
     $query = "SELECT DISTINCT `itemtype`\n                FROM `glpi_plugin_appliances_appliances_items`\n                WHERE `plugin_appliances_appliances_id` = '" . $instID . "'\n                ORDER BY `itemtype`";
     $result = $DB->query($query);
     $number = $DB->numrows($result);
     if (Session::isMultiEntitiesMode()) {
         $pdf->setColumnsSize(12, 27, 25, 18, 18);
         $pdf->displayTitle('<b><i>' . __('Type'), __('Name'), __('Entity'), __('Serial number'), __('Inventory number') . '</i></b>');
     } else {
         $pdf->setColumnsSize(25, 31, 22, 22);
         $pdf->displayTitle('<b><i>' . __('Type'), __('Name'), __('Serial number'), __('Inventory number') . '</i></b>');
     }
     if (!$number) {
         $pdf->displayLine(__('No item found'));
     } else {
         for ($i = 0; $i < $number; $i++) {
             $type = $DB->result($result, $i, "itemtype");
             if (!($item = getItemForItemtype($type))) {
                 continue;
             }
             if ($item->canView()) {
                 $column = "name";
                 if ($type == 'Ticket') {
                     $column = "id";
                 }
                 if ($type == 'KnowbaseItem') {
                     $column = "question";
                 }
                 $query = "SELECT `" . $item->getTable() . "`.*,\n                                `glpi_plugin_appliances_appliances_items`.`id` AS IDD,\n                                `glpi_entities`.`id` AS entity\n                         FROM `glpi_plugin_appliances_appliances_items`, `" . $item->getTable() . "`\n                         LEFT JOIN `glpi_entities`\n                              ON (`glpi_entities`.`id` = `" . $item->getTable() . "`.`entities_id`)\n                         WHERE `" . $item->getTable() . "`.`id`\n                                    = `glpi_plugin_appliances_appliances_items`.`items_id`\n                               AND `glpi_plugin_appliances_appliances_items`.`itemtype` = '" . $type . "'\n                               AND `glpi_plugin_appliances_appliances_items`.`plugin_appliances_appliances_id`\n                                    = '" . $instID . "' " . getEntitiesRestrictRequest(" AND ", $item->getTable());
                 if ($item->maybeTemplate()) {
                     $query .= " AND `" . $item->getTable() . "`.`is_template` = '0'";
                 }
                 $query .= " ORDER BY `glpi_entities`.`completename`, `" . $item->getTable() . "`.{$column}";
                 if ($result_linked = $DB->query($query)) {
                     if ($DB->numrows($result_linked)) {
                         while ($data = $DB->fetch_assoc($result_linked)) {
                             if (!$item->getFromDB($data["id"])) {
                                 continue;
                             }
                             if ($type == 'Ticket') {
                                 $data["name"] = sprintf(__('%1$s %2$s'), __('Ticket'), $data["id"]);
                             }
                             if ($type == 'KnowbaseItem') {
                                 $data["name"] = $data["question"];
                             }
                             $name = $data["name"];
                             if ($_SESSION["glpiis_ids_visible"] || empty($data["name"])) {
                                 $name = sprintf(__('%1$s (%2$s)'), $name, $data["id"]);
                             }
                             if (Session::isMultiEntitiesMode()) {
                                 $pdf->setColumnsSize(12, 27, 25, 18, 18);
                                 $pdf->displayLine($item->getTypeName(), $name, Dropdown::getDropdownName("glpi_entities", $data['entities_id']), isset($data["serial"]) ? $data["serial"] : "-", isset($data["otherserial"]) ? $data["otherserial"] : "-");
                             } else {
                                 $pdf->setColumnsSize(25, 31, 22, 22);
                                 $pdf->displayTitle($item->getTypeName(), $name, isset($data["serial"]) ? $data["serial"] : "-", isset($data["otherserial"]) ? $data["otherserial"] : "-");
                             }
                             PluginAppliancesRelation::showList_PDF($pdf, $appli->fields["relationtype"], $data["IDD"]);
                             PluginAppliancesOptvalue_Item::showList_PDF($pdf, $data["id"], $instID);
                         }
                         // Each device
                     }
                     // numrows device
                 }
             }
             // type right
         }
         // each type
     }
     // numrows type
     $pdf->displaySpace();
 }