Files
pi-control/backend/resources/plugins/fritzbox/resources/content/index.php
T
2023-03-28 10:34:44 +02:00

58 lines
2.6 KiB
PHP

<?php
if (!defined('PICONTROL')) exit();
(include_once LIBRARY_PATH.'statistic/statistic.class.php') or die('Error: 9x0001');
(include_once PLUGIN_PATH.'resources/library/main/main.function.php') or die('Error: 9x0002');
$fritzboxAddress = getPluginConfig('main:address', 'http://fritz.box');
$fritzboxVersion = getPluginConfig('main:version', '5');
$fritzboxUnit = getPluginConfig('main:unit', 'mbit');
$connectionFritzbox = checkConnectionToFritzbox($fritzboxAddress, $fritzboxVersion);
$tpl->assign('address', $fritzboxAddress);
$tpl->assign('connectionFritzbox', $connectionFritzbox);
if ($connectionFritzbox == true)
{
$connectionStatus = getConnectionStatus($fritzboxAddress, $fritzboxVersion);
$traffic = getNetworkTraffic($fritzboxAddress, $fritzboxVersion);
$currentBandwidth = getCurrentBandwidth($fritzboxAddress, $fritzboxVersion);
$maxBandwidth = getMaxBandwidth($fritzboxAddress, $fritzboxVersion);
$statistics = array();
$controller = new StatisticController($tpl);
$controller->loadStatistics('plugin/');
if ($controller->checkStatistic('plugin/fritzbox.traffic-download') === true)
{
$builder = new StatisticBuilder();
$builder->loadFromFile('plugin/fritzbox.traffic-download', 'fritzbox');
$statistics[] = array('array' => $builder->getArray(), 'json' => $builder->getJSON());
}
if ($controller->checkStatistic('plugin/fritzbox.traffic-upload') === true)
{
$builder = new StatisticBuilder();
$builder->loadFromFile('plugin/fritzbox.traffic-upload', 'fritzbox');
$statistics[] = array('array' => $builder->getArray(), 'json' => $builder->getJSON());
}
$tpl->assign('model', getModelName($fritzboxAddress, $fritzboxVersion));
$tpl->assign('connection', _t($connectionStatus['status']));
$tpl->assign('uptime', formatTime(time() - $connectionStatus['uptime']));
$tpl->assign('publicIP', getPublicIP($fritzboxAddress, $fritzboxVersion));
$tpl->assign('totalSent', $traffic['sent']);
$tpl->assign('totalReceived', $traffic['received']);
$tpl->assign('currentBandwidthUp', convertToUnit($currentBandwidth['up'], $fritzboxUnit, 'byte'));
$tpl->assign('currentBandwidthDown', convertToUnit($currentBandwidth['down'], $fritzboxUnit, 'byte'));
$tpl->assign('maxBandwidthUp', convertToUnit($maxBandwidth['up'], $fritzboxUnit));
$tpl->assign('maxBandwidthDown', convertToUnit($maxBandwidth['down'], $fritzboxUnit));
$tpl->assign('percentageBandwidthUp', getPercentageFromBandwidth($currentBandwidth['up'], $maxBandwidth['up']));
$tpl->assign('percentageBandwidthDown', getPercentageFromBandwidth($currentBandwidth['down'], $maxBandwidth['down']));
$tpl->assign('statistics', $statistics);
}
$tpl->draw('index');
?>