Observium_CE/includes/polling/os/brother-printer.inc.php

54 lines
1.5 KiB
PHP

<?php
/**
* Observium
*
* This file is part of Observium.
*
* @package observium
* @subpackage poller
* @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited
*
*/
# SNMPv2-SMI::enterprises.2435.2.4.3.2435.5.13.3.0 = STRING: "Brother HL-2070N series"
$hardware = snmp_get($device, '1.3.6.1.4.1.2435.2.4.3.2435.5.13.3.0', '-OQv');
# SNMPv2-SMI::enterprises.11.2.3.9.4.2.1.1.3.3.0 = STRING: "A7J913764"
$serial = snmp_get($device, '1.3.6.1.4.1.11.2.3.9.4.2.1.1.3.3.0', '-OQv');
# SNMPv2-SMI::enterprises.2435.2.4.3.1240.6.5.0 = STRING: "Firmware Ver.1.33 (06.07.21)"
$version = snmp_get($device, '1.3.6.1.4.1.2435.2.4.3.1240.6.5.0', '-OQv');
preg_match("/Ver\.(.*) \(/", $version, $matches);
if ($matches[1]) { $version = $matches[1]; }
# SNMPv2-SMI::enterprises.2435.2.3.9.1.1.7.0 = STRING: "MFG:Brother;CMD:HBP,PJL,PCL,PCLXL,POSTSCRIPT;MDL:MFC-8440;CLS:PRINTER;"
if ($hardware == '')
{
$jdinfo = explode(';',snmp_get($device, '1.3.6.1.4.1.2435.2.3.9.1.1.7.0', '-OQv'));
foreach ($jdinfo as $jdi)
{
list($key,$value) = explode(':',$jdi);
$jetdirect[$key] = $value;
}
$hardware = $jetdirect['MDL'];
}
# SNMPv2-SMI::enterprises.2435.2.3.9.4.2.1.5.5.1.0 = STRING: "000A5J431816"
if ($serial == '')
{
$serial = snmp_get($device, '1.3.6.1.4.1.2435.2.3.9.4.2.1.5.5.1.0', '-OQv');
}
# Strip off useless brand fields
$hardware = str_replace('Brother ','',$hardware);
$hardware = str_ireplace(' series','',$hardware);
# Sometimes firmware outputs serial as hex-string
$serial = snmp_hexstring($serial);
// EOF