[FEATURE] Added Ajax Data Interval Setting

* Allows Admins to change the SQL Interval used in queries
 * Default: 300 seconds / 5 minutes
 * Allowed: 1 minute, 5 minutes, 10 minutes
 * Tooltop in admin panel explains this setting
* Added data interval to API call for dashboard
* Added additional output to gauges footer

Addresses #444
This commit is contained in:
Sebastian Grewe 2013-09-14 21:45:31 +02:00
parent faadf7cbaf
commit 8c96e166b7
4 changed files with 11 additions and 2 deletions

View File

@ -102,6 +102,13 @@ $aSettings['statistics'][] = array(
'name' => 'statistics_ajax_refresh_interval', 'value' => $setting->getValue('statistics_ajax_refresh_interval'),
'tooltip' => 'How often to refresh data via ajax in seconds.'
);
$aSettings['statistics'][] = array(
'display' => 'Ajax Data Interval', 'type' => 'select',
'options' => array('60' => '1', '300' => '5', '600' => '10'),
'default' => 300,
'name' => 'statistics_ajax_data_interval', 'value' => $setting->getValue('statistics_ajax_data_interval'),
'tooltip' => 'Time in minutes, interval for hashrate and sharerate calculations. Higher intervals allow for better accuracy at a higer server load.'
);
$aSettings['statistics'][] = array(
'display' => 'Block Statistics Count', 'type' => 'text',
'size' => 25,

View File

@ -36,7 +36,7 @@ $bitcoin->can_connect() === true ? $dNetworkHashrate = $bitcoin->query('getnetwo
// Some settings
$start = microtime(true);
$interval = 300;
if ( ! $interval = $setting->getValue('statistics_ajax_data_interval')) $interval = 300;
if ( ! $dPoolHashrateModifier = $setting->getValue('statistics_pool_hashrate_modifier') ) $dPoolHashrateModifier = 1;
if ( ! $dPersonalHashrateModifier = $setting->getValue('statistics_personal_hashrate_modifier') ) $dPersonalHashrateModifier = 1;
if ( ! $dNetworkHashrateModifier = $setting->getValue('statistics_network_hashrate_modifier') ) $dNetworkHashrateModifier = 1;

View File

@ -4,6 +4,7 @@
if (!defined('SECURITY')) die('Hacking attempt');
if ($user->isAuthenticated()) {
if (! $interval = $setting->getValue('statistics_ajax_data_interval')) $interval = 300;
// Defaults to get rid of PHP Notice warnings
$dDifficulty = 1;
$aRoundShares = 1;
@ -42,6 +43,7 @@ if ($user->isAuthenticated()) {
if ($iCurrentPoolHashrate > $dNetworkHashrate) $dNetworkHashrate = $iCurrentPoolHashrate;
// Make it available in Smarty
$smarty->assign('INTERVAL', $interval / 60);
$smarty->assign('CONTENT', 'default.tpl');
}

View File

@ -9,7 +9,7 @@
<div id="querytime" style="width:150px; height:120px; float: left;"></div>
</div>
</div>
<footer><p style="margin-left: 25px">Refresh interval: {$GLOBAL.config.statistics_ajax_refresh_interval|default:"10"} seconds</p></footer>
<footer><p style="margin-left: 25px">Refresh interval: {$GLOBAL.config.statistics_ajax_refresh_interval|default:"10"} seconds. Hashrate based on shares submitted in the past {$INTERVAL|default:"5"} minutes.</p></footer>
</article>
<script>