2010-03-12 17:33:58 +00:00
|
|
|
<?php
|
|
|
|
|
2015-07-13 20:10:26 +02:00
|
|
|
if ($config['enable_printers']) {
|
|
|
|
$toner_data = dbFetchRows('SELECT * FROM toner WHERE device_id = ?', array($device['device_id']));
|
2011-03-16 01:11:27 +00:00
|
|
|
|
2015-07-13 20:10:26 +02:00
|
|
|
foreach ($toner_data as $toner) {
|
|
|
|
echo 'Checking toner '.$toner['toner_descr'].'... ';
|
2010-03-12 17:33:58 +00:00
|
|
|
|
2015-07-13 20:10:26 +02:00
|
|
|
if ($toner['toner_capacity_oid']) {
|
|
|
|
// FIXME this if can go on 1-Sep-2012
|
|
|
|
$toner['toner_capacity'] = snmp_get($device, $toner['toner_capacity_oid'], '-OUqnv');
|
|
|
|
}
|
2011-10-10 12:51:52 +00:00
|
|
|
|
2015-07-13 20:10:26 +02:00
|
|
|
$tonerperc = round((snmp_get($device, $toner['toner_oid'], '-OUqnv') / $toner['toner_capacity'] * 100));
|
2011-05-03 20:13:15 +00:00
|
|
|
|
2015-07-13 20:10:26 +02:00
|
|
|
$old_tonerrrd = $config['rrd_dir'].'/'.$device['hostname'].'/'.safename('toner-'.$toner['toner_descr'].'.rrd');
|
|
|
|
$tonerrrd = $config['rrd_dir'].'/'.$device['hostname'].'/'.safename('toner-'.$toner['toner_index'].'.rrd');
|
2010-03-12 17:33:58 +00:00
|
|
|
|
2015-07-13 20:10:26 +02:00
|
|
|
if (!is_file($tonerrrd) && is_file($old_tonerrrd)) {
|
|
|
|
rename($old_tonerrrd, $tonerrrd);
|
|
|
|
}
|
2010-03-12 17:33:58 +00:00
|
|
|
|
2015-07-13 20:10:26 +02:00
|
|
|
if (!is_file($tonerrrd)) {
|
|
|
|
rrdtool_create(
|
|
|
|
$tonerrrd,
|
|
|
|
'--step 300 \
|
|
|
|
DS:toner:GAUGE:600:0:20000 '.$config['rrd_rra']
|
|
|
|
);
|
|
|
|
}
|
2010-03-12 17:33:58 +00:00
|
|
|
|
2015-07-13 20:10:26 +02:00
|
|
|
echo $tonerperc." %\n";
|
2010-03-12 17:33:58 +00:00
|
|
|
|
2015-08-18 16:26:55 +00:00
|
|
|
$fields = array(
|
|
|
|
'toner' => $tonerperc,
|
|
|
|
);
|
|
|
|
|
|
|
|
rrdtool_update($tonerrrd, $fields);
|
2011-04-21 10:37:55 +00:00
|
|
|
|
2015-07-13 20:10:26 +02:00
|
|
|
// FIXME should report for toner out... :)
|
|
|
|
// Log toner swap
|
|
|
|
if ($tonerperc > $toner['toner_current']) {
|
|
|
|
log_event('Toner '.$toner['toner_descr'].' was replaced (new level: '.$tonerperc.'%)', $device, 'toner', $toner['toner_id']);
|
|
|
|
}
|
2010-03-12 17:33:58 +00:00
|
|
|
|
2015-07-13 20:10:26 +02:00
|
|
|
dbUpdate(array('toner_current' => $tonerperc, 'toner_capacity' => $toner['toner_capacity']), 'toner', '`toner_id` = ?', array($toner['toner_id']));
|
|
|
|
}//end foreach
|
|
|
|
}//end if
|