src.dualinventive.com/mtinfo/dist/webroot/rc-4.05/scripts/other/tasks/connection_statistics.php

75 lines
2.4 KiB
PHP

<?php
/** \file scripts/other/tasks/connection_statistics.php
* \brief DI webinterface task manager script, connection statistics
* \author Rob Schalken, Core|Vision
* \version $Revision: 26247 $
* \date $Date: 2016-02-29 10:40:22 +0100 (Mon, 29 Feb 2016) $
*
* Connection statistics
*/
/************************************/
/* Connection statistics */
/************************************/
// Acquire mutex
if (db_mutex_acquire(RemoveExtension(basename(__FILE__)) . "_" . $params['task_id'], 0)) {
// Initial values
$result = "";
$valid_device = array();
$invalid_device = array();
$valid_equip = array();
// Debug info
DBG("Taskmgr: Collecting connection statistics");
// Get all devices
$equipment = db_fetch_all_lances();
if (is_array($equipment)) {
foreach($equipment as $item) {
// Valid device
if ((!in_array($item['device'], $valid_device)) && (!in_array($item['device'], $invalid_device))) {
// valid capability
if (db_check_system_device_capabilities($item['device'], array("kortsluiting schakelen"))) {
array_push($valid_device, $item['device']);
}
else {
array_push($invalid_device, $item['device']);
}
}
// Handle device?
if (in_array($item['device'], $valid_device)) {
array_push($valid_equip, $item);
}
}
}
if (!empty($valid_equip)) {
// Get statistics
$result = db_lance_connection_stat($valid_equip);
}
// Default skin
$_PAGE_INFO['skin'] = "dualinventive";
// Get report settings from ini file
$ini_file = get_all_files($_PAGE_INFO['base_path'] . SKIN_DIR . $_PAGE_INFO['skin'] . "/", array("ini"));
$_PAGE_INFO['ini'] = parse_ini_file($ini_file[0], true);
// Send mail
send_mail($_PAGE_INFO['ini']['comm']['statistics'], "", "", $_PAGE_INFO['ini']['report']['no-reply'], "Connection statistics", $result);
// Release mutex
db_mutex_release(RemoveExtension(basename(__FILE__)) . "_" . $params['task_id']);
// Set handled flag
$handled = 1;
}
else {
// Debug info
DBG("Mutex not released: " . $params['task_id']);
}
?>