src.dualinventive.com/mtinfo/dist/webroot/support/kpi_monitor.php

52 lines
1.9 KiB
PHP

<?php
require_once("support.inc.php");
$database = 'di_zkl';
$db_info = read_database(DBCONFIG_DIR, 'di_zkl');
$db_data_handle = mysql_connect($db_info['host'], $db_info['user'], $db_info['passwd']);
if ($db_data_handle === FALSE) {
echo mysql_error();
exit(1);
}
mysql_select_db($db_info['database'], $db_data_handle);
if ($db_info['main']) {
$db_main_info = read_database(DBCONFIG_DIR, $db_info['main']);
$db_main_handle = mysql_connect($db_main_info['host'], $db_main_info['user'], $db_main_info['passwd'], true);
if ($db_main_handle === FALSE) {
echo mysql_error();
exit(1);
}
mysql_select_db($db_main_info['database'], $db_main_handle);
} else {
$db_main_handle = $db_data_handle;
$db_main_info = $db_info;
}
$data = array();
// Fetch time
$data['time'] = time();
// Fetch all active products in last 5 min
$query = "SELECT `z`.`device` as `id`, `d`.`naam` as `name`, COUNT(distinct `z`.`id`) as `online5` FROM `zkl_cache` `rt`, `zkl` `z`, `device_name` `d` WHERE `d`.`i18n`='nl' AND `d`.`device`=`z`.`device` AND `z`.`id`=`rt`.`zkl` AND `rt`.`t` > UNIX_TIMESTAMP()-300 GROUP BY `z`.`device`;";
$result = mysql_run($query, $db_main_handle);
while ($tmp = mysql_fetch_assoc($result))
$data[$tmp['id']] = $tmp;
// Fetch all active products in last 30 min
$query = "SELECT `z`.`device` as `id`, `d`.`naam` as `name`, COUNT(distinct `z`.`id`) as `online30` FROM `zkl_cache` `rt`, `zkl` `z`, `device_name` `d` WHERE `d`.`i18n`='nl' AND `d`.`device`=`z`.`device` AND `z`.`id`=`rt`.`zkl` AND `rt`.`t` > UNIX_TIMESTAMP()-1800 GROUP BY `z`.`device`;";
$result = mysql_run($query, $db_main_handle);
while ($tmp = mysql_fetch_assoc($result)) {
if (!isset($data[$tmp['id']]))
$data[$tmp['id']] = $tmp;
$data[$tmp['id']]['online30'] = $tmp['online30'];
}
echo json_encode($data);
?>