Add a printer. If already exist in dustbin restore it
public addOrRestoreFromTrash ( $name, $manufacturer, $entity, $comment = '' ) | ||
$name | the printer's name (need to be addslashes) | |
$manufacturer | the software's manufacturer (need to be addslashes) | |
$entity | the entity in which the software must be added | |
$comment | comment (default '') |
/** * Replay dictionnary on one printer * * @param &$new_printers array containing new printers already computed * @param $res_rule array of rule results * @param $params array * @param &$printers_ids array containing replay printer need to be dustbined **/ function replayDictionnaryOnOnePrinter(array &$new_printers, array $res_rule, $params = array(), array &$printers_ids) { global $DB; $p['id'] = 0; $p['name'] = ''; $p['manufacturer'] = ''; $p['is_global'] = ''; $p['entity'] = 0; foreach ($params as $key => $value) { $p[$key] = $value; } $input["name"] = $p['name']; $input["manufacturer"] = $p['manufacturer']; if (empty($res_rule)) { $res_rule = $this->processAllRules($input, array(), array()); } $printer = new Printer(); //Printer's name has changed if (isset($res_rule["name"]) && $res_rule["name"] != $p['name']) { $manufacturer = ""; if (isset($res_rule["manufacturer"])) { $manufacturer = addslashes(Dropdown::getDropdownName("glpi_manufacturers", $res_rule["manufacturer"])); } else { $manufacturer = addslashes($p['manufacturer']); } //New printer not already present in this entity if (!isset($new_printers[$p['entity']][$res_rule["name"]])) { // create new printer or restore it from dustbin $new_printer_id = $printer->addOrRestoreFromTrash($res_rule["name"], $manufacturer, $p['entity']); $new_printers[$p['entity']][$res_rule["name"]] = $new_printer_id; } else { $new_printer_id = $new_printers[$p['entity']][$res_rule["name"]]; } // Move direct connections $this->moveDirectConnections($p['id'], $new_printer_id); } else { $new_printer_id = $p['id']; $res_rule["id"] = $p['id']; if (isset($res_rule["manufacturer"])) { if ($res_rule["manufacturer"] != '') { $res_rule["manufacturers_id"] = $res_rule["manufacturer"]; } unset($res_rule["manufacturer"]); } $printer->update($res_rule); } // Add to printer to deleted list if ($new_printer_id != $p['id']) { $printers_ids[] = $p['id']; } }