本文整理汇总了PHP中Printer::reset方法的典型用法代码示例。如果您正苦于以下问题:PHP Printer::reset方法的具体用法?PHP Printer::reset怎么用?PHP Printer::reset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Printer
的用法示例。
在下文中一共展示了Printer::reset方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: importPrinter
/**
*
* Import printers from OCS
* @since 1.0
* @param $cfg_ocs OCSNG mode configuration
* @param $computers_id computer's id in GLPI
* @param $ocsservers_id OCS server id
* @param $ocsComputer
* @param $entity the entity in which the printer will be created
* @internal param computer $ocsid 's id in OCS
*/
static function importPrinter($cfg_ocs, $computers_id, $ocsservers_id, $ocsComputer, $entity)
{
global $DB, $CFG_GLPI;
$already_processed = array();
$conn = new Computer_Item();
$p = new Printer();
foreach ($ocsComputer as $printer) {
$printer = Toolbox::clean_cross_side_scripting_deep(Toolbox::addslashes_deep($printer));
$print = array();
// TO TEST : PARSE NAME to have real name.
$print['name'] = self::encodeOcsDataInUtf8($cfg_ocs["ocs_db_utf8"], $printer['NAME']);
if (empty($print["name"])) {
$print["name"] = $printer["DRIVER"];
}
$management_process = $cfg_ocs["import_printer"];
//Params for the dictionnary
$params['name'] = $print['name'];
$params['manufacturer'] = "";
$params['DRIVER'] = $printer['DRIVER'];
$params['PORT'] = $printer['PORT'];
if (!empty($print["name"])) {
$rulecollection = new RuleDictionnaryPrinterCollection();
$res_rule = Toolbox::addslashes_deep($rulecollection->processAllRules(Toolbox::stripslashes_deep($params), array(), array()));
if (!isset($res_rule["_ignore_import"]) || !$res_rule["_ignore_import"]) {
foreach ($res_rule as $key => $value) {
if ($value != '' && $value[0] != '_') {
$print[$key] = $value;
}
}
if (isset($res_rule['is_global'])) {
if (!$res_rule['is_global']) {
$management_process = 2;
} else {
$management_process = 1;
}
}
//Look for a printer with the same name (and serial if possible) already connected
//to this computer
$query = "SELECT `p`.`id`, `gci`.`is_deleted`\n FROM `glpi_printers` as `p`, `glpi_computers_items` as `gci`\n WHERE `p`.`id` = `gci`.`items_id`\n AND `gci`.`is_dynamic`\n AND `computers_id`='{$computers_id}'\n AND `itemtype`='Printer'\n AND `p`.`name`='" . $print["name"] . "'";
$results = $DB->query($query);
$id = false;
$lock = false;
if ($DB->numrows($results) > 0) {
$id = $DB->result($results, 0, 'id');
$lock = $DB->result($results, 0, 'is_deleted');
}
if (!$id) {
// Clean printer object
$p->reset();
$print["comment"] = $printer["PORT"] . "\r\n" . $printer["DRIVER"];
self::analizePrinterPorts($print, $printer["PORT"]);
$id_printer = 0;
if ($management_process == 1) {
//Config says : manage printers as global
//check if printers already exists in GLPI
$print["is_global"] = MANAGEMENT_GLOBAL;
$query = "SELECT `id`\n FROM `glpi_printers`\n WHERE `name` = '" . $print["name"] . "'\n AND `is_global` = '1' ";
if ($CFG_GLPI['transfers_id_auto'] < 1) {
$query .= " AND `entities_id` = '{$entity}'";
}
$result_search = $DB->query($query);
if ($DB->numrows($result_search) > 0) {
//Periph is already in GLPI
//Do not import anything just get periph ID for link
$id_printer = $DB->result($result_search, 0, "id");
$already_processed[] = $id_printer;
} else {
$input = $print;
if ($cfg_ocs["states_id_default"] > 0) {
$input["states_id"] = $cfg_ocs["states_id_default"];
}
$input["entities_id"] = $entity;
$id_printer = $p->add($input, array(), $cfg_ocs['history_printer']);
}
} else {
if ($management_process == 2) {
//Config says : manage printers as single units
//Import all printers as non global.
$input = $print;
$input["is_global"] = MANAGEMENT_UNITARY;
if ($cfg_ocs["states_id_default"] > 0) {
$input["states_id"] = $cfg_ocs["states_id_default"];
}
$input["entities_id"] = $entity;
$input['is_dynamic'] = 1;
$id_printer = $p->add($input, array(), $cfg_ocs['history_printer']);
}
}
if ($id_printer) {
//.........这里部分代码省略.........
示例2: importPrinter
/**
*
* Import printers from OCS
* @since 1.0
* @param $cfg_ocs OCSNG mode configuration
* @param $computers_id computer's id in GLPI
* @param $ocsid computer's id in OCS
* @param $ocsservers_id OCS server id
* @param $entity the entity in which the printer will be created
* @param $dohistory record in history link between printer and computer
*/
static function importPrinter($cfg_ocs, $computers_id, $ocsservers_id, $ocsid, $entity, $dohistory)
{
global $PluginOcsinventoryngDBocs, $DB;
self::checkOCSconnection($ocsservers_id);
if ($cfg_ocs["import_printer"]) {
$already_processed = array();
$conn = new Computer_Item();
$query = "SELECT*\n FROM `printers`\n WHERE `HARDWARE_ID` = '{$ocsid}'";
$result = $PluginOcsinventoryngDBocs->query($query);
$p = new Printer();
if ($PluginOcsinventoryngDBocs->numrows($result) > 0) {
while ($line = $PluginOcsinventoryngDBocs->fetch_array($result)) {
$line = Toolbox::clean_cross_side_scripting_deep(Toolbox::addslashes_deep($line));
$print = array();
// TO TEST : PARSE NAME to have real name.
$print['name'] = self::encodeOcsDataInutf8($cfg_ocs["ocs_db_utf8"], $line['NAME']);
if (empty($print["name"])) {
$print["name"] = $line["DRIVER"];
}
$management_process = $cfg_ocs["import_printer"];
//Params for the dictionnary
$params['name'] = $print['name'];
$params['manufacturer'] = "";
$params['DRIVER'] = $line['DRIVER'];
$params['PORT'] = $line['PORT'];
if (!empty($print["name"])) {
$rulecollection = new RuleDictionnaryPrinterCollection();
$res_rule = Toolbox::addslashes_deep($rulecollection->processAllRules(Toolbox::stripslashes_deep($params), array(), array()));
if (!isset($res_rule["_ignore_import"]) || !$res_rule["_ignore_import"]) {
foreach ($res_rule as $key => $value) {
if ($value != '' && $value[0] != '_') {
$print[$key] = $value;
}
}
if (isset($res_rule['is_global'])) {
if (!$res_rule['is_global']) {
$management_process = 2;
} else {
$management_process = 1;
}
}
//Look for a monitor with the same name (and serial if possible) already connected
//to this computer
$query = "SELECT `p`.`id`, `gci`.`is_deleted`\n FROM `glpi_printers` as `p`, `glpi_computers_items` as `gci`\n WHERE `p`.`id` = `gci`.`items_id`\n AND `gci`.`is_dynamic`='1'\n AND `computers_id`='{$computers_id}'\n AND `itemtype`='Printer'\n AND `p`.`name`='" . $print["name"] . "'";
$results = $DB->query($query);
$id = false;
$lock = false;
if ($DB->numrows($results) > 0) {
$id = $DB->result($results, 0, 'id');
$lock = $DB->result($results, 0, 'is_deleted');
}
if (!$id) {
// Clean printer object
$p->reset();
$print["comment"] = $line["PORT"] . "\r\n" . $line["DRIVER"];
self::analizePrinterPorts($print, $line["PORT"]);
$id_printer = 0;
if ($management_process == 1) {
//Config says : manage printers as global
//check if printers already exists in GLPI
$print["is_global"] = MANAGEMENT_GLOBAL;
$query = "SELECT `id`\n FROM `glpi_printers`\n WHERE `name` = '" . $print["name"] . "'\n AND `is_global` = '1'\n AND `entities_id` = '{$entity}'";
$result_search = $DB->query($query);
if ($DB->numrows($result_search) > 0) {
//Periph is already in GLPI
//Do not import anything just get periph ID for link
$id_printer = $DB->result($result_search, 0, "id");
$already_processed[] = $id_printer;
} else {
$input = $print;
if ($cfg_ocs["states_id_default"] > 0) {
$input["states_id"] = $cfg_ocs["states_id_default"];
}
$input["entities_id"] = $entity;
$id_printer = $p->add($input);
}
} else {
if ($management_process == 2) {
//Config says : manage printers as single units
//Import all printers as non global.
$input = $print;
$input["is_global"] = MANAGEMENT_UNITARY;
if ($cfg_ocs["states_id_default"] > 0) {
$input["states_id"] = $cfg_ocs["states_id_default"];
}
$input["entities_id"] = $entity;
$input['is_dynamic'] = 1;
$id_printer = $p->add($input);
}
//.........这里部分代码省略.........
示例3: updatePeripherals
/**
* Import the devices for a computer
*
* @param $itemtype integer : item type
* @param $entity integer : entity of the computer
* @param $computers_id integer : glpi computer id.
* @param $ocsid integer : ocs computer id (ID).
* @param $ocsservers_id integer : ocs server id
* @param $cfg_ocs array : ocs config
* @param $import_periph array : already imported periph
* @param $dohistory boolean : log changes ?
*
* @return Nothing (void).
**/
static function updatePeripherals($itemtype, $entity, $computers_id, $ocsid, $ocsservers_id, $cfg_ocs, $import_periph, $dohistory)
{
global $DB, $DBocs;
self::checkOCSconnection($ocsservers_id);
$do_clean = false;
$connID = 0;
//Tag for data since 0.70 for the import_monitor array.
$count_monitor = count($import_periph);
switch ($itemtype) {
case 'Monitor':
if ($cfg_ocs["import_monitor"]) {
//Update data in import_monitor array for 0.70
if (!in_array(self::IMPORT_TAG_070, $import_periph)) {
foreach ($import_periph as $key => $val) {
$monitor_tag = $val;
//delete old value
self::deleteInOcsArray($computers_id, $key, "import_monitor");
//search serial when it exists
$monitor_serial = "";
$query_monitor_id = "SELECT `items_id`\n FROM `glpi_computers_items`\n WHERE `id` = '{$key}'";
$result_monitor_id = $DB->query($query_monitor_id);
if ($DB->numrows($result_monitor_id) == 1) {
//get monitor Id
$id_monitor = $DB->result($result_monitor_id, 0, "items_id");
$query_monitor_serial = "SELECT `serial`\n FROM `glpi_monitors`\n WHERE `id` = '{$id_monitor}'";
$result_monitor_serial = $DB->query($query_monitor_serial);
//get serial
if ($DB->numrows($result_monitor_serial) == 1) {
$monitor_serial = $DB->result($result_monitor_serial, 0, "serial");
}
}
//concat name + serial
$monitor_tag .= $monitor_serial;
//add new value (serial + name when its possible)
self::addToOcsArray($computers_id, array($key => $monitor_tag), "import_monitor");
//Update the array with the new value of the monitor
$import_periph[$key] = $monitor_tag;
}
//add the tag for the array version's
self::addToOcsArray($computers_id, array(0 => self::IMPORT_TAG_070), "import_monitor");
}
$do_clean = true;
$m = new Monitor();
$query = "SELECT DISTINCT `CAPTION`, `MANUFACTURER`, `DESCRIPTION`, `SERIAL`, `TYPE`\n FROM `monitors`\n WHERE `HARDWARE_ID` = '{$ocsid}'";
$result = $DBocs->query($query);
$lines = array();
$checkserial = true;
// First pass - check if all serial present
if ($DBocs->numrows($result) > 0) {
while ($line = $DBocs->fetch_array($result)) {
if (empty($line["SERIAL"])) {
$checkserial = false;
}
$lines[] = clean_cross_side_scripting_deep(addslashes_deep($line));
}
}
if (count($lines) > 0 && ($cfg_ocs["import_monitor"] <= 2 || $checkserial)) {
foreach ($lines as $line) {
$mon = array();
$mon["name"] = $line["CAPTION"];
if (empty($line["CAPTION"]) && !empty($line["MANUFACTURER"])) {
$mon["name"] = $line["MANUFACTURER"];
}
if (empty($line["CAPTION"]) && !empty($line["TYPE"])) {
if (!empty($line["MANUFACTURER"])) {
$mon["name"] .= " ";
}
$mon["name"] .= $line["TYPE"];
}
$mon["serial"] = $line["SERIAL"];
$checkMonitor = $mon["name"];
if (!empty($mon["serial"])) {
$checkMonitor .= $mon["serial"];
}
if (!empty($mon["name"])) {
$id = array_search(stripslashes($checkMonitor), $import_periph);
}
if ($id === false) {
// Clean monitor object
$m->reset();
$mon["manufacturers_id"] = Dropdown::importExternal('Manufacturer', $line["MANUFACTURER"]);
if ($cfg_ocs["import_monitor_comment"]) {
$mon["comment"] = $line["DESCRIPTION"];
}
$id_monitor = 0;
if ($cfg_ocs["import_monitor"] == 1) {
//.........这里部分代码省略.........