From ad3f7ecde93849bc77bb13f90ed0894722478c30 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Fri, 25 Oct 2013 11:52:06 +0200 Subject: [PATCH] [UPDATED] Added more data to getdashboarddata API * [UPDATED] Added % values to Dashboard * [UPDATED] Allow dashboard to update % values --- .../pages/api/getdashboarddata.inc.php | 23 +++++++++++++++++-- public/templates/mpos/dashboard/js.tpl | 6 ++--- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/public/include/pages/api/getdashboarddata.inc.php b/public/include/pages/api/getdashboarddata.inc.php index 8cf263f5..12f609d5 100644 --- a/public/include/pages/api/getdashboarddata.inc.php +++ b/public/include/pages/api/getdashboarddata.inc.php @@ -60,6 +60,15 @@ if ($config['payout_system'] != 'pps') { $aEstimates = $statistics->getUserEstimates($dPersonalSharerate, $dPersonalShareDifficulty, $user->getUserDonatePercent($user_id), $user->getUserNoFee($user_id), $ppsvalue); } +$iTotalRoundShares = $aRoundShares['valid'] + $aRoundShares['invalid']; +if ($iTotalRoundShares > 0) { + $dUserInvalidPercent = $aUserRoundShares['invalid'] / $iTotalRoundShares * 100; + $dPoolInvalidPercent = $aRoundShares['invalid'] / $iTotalRoundShares * 100; +} else { + $dUserInvalidPercent = 0; + $dPoolInvalidPercent = 0; +} + // Apply pool modifiers $dPersonalHashrateAdjusted = $dPersonalHashrate * $dPersonalHashrateModifier; $dPoolHashrateAdjusted = $dPoolHashrate * $dPoolHashrateModifier; @@ -71,14 +80,24 @@ $aWorkers = $worker->getWorkers($user_id, $interval); // Coin price $aPrice = $setting->getValue('price'); +// Round progress +$iEstShares = round((65536 * $dDifficulty) / pow(2, ($config['difficulty'] - 16))); +$dEstPercent = round(100 / $iEstShares * $aRoundShares['valid'], 2); + // Output JSON format $data = array( 'raw' => array( 'personal' => array( 'hashrate' => $dPersonalHashrate ), 'pool' => array( 'hashrate' => $dPoolHashrate ), 'network' => array( 'hashrate' => $dNetworkHashrate / 1000 ) ), 'personal' => array ( 'hashrate' => $dPersonalHashrateAdjusted, 'sharerate' => $dPersonalSharerate, 'sharedifficulty' => $dPersonalShareDifficulty, - 'shares' => array('valid' => $aUserRoundShares['valid'], 'invalid' => $aUserRoundShares['invalid']), + 'shares' => array('valid' => $aUserRoundShares['valid'], 'invalid' => $aUserRoundShares['invalid'], 'invalid_percent' => $dUserInvalidPercent), 'balance' => $transaction->getBalance($user_id), 'estimates' => $aEstimates, 'workers' => $aWorkers ), - 'pool' => array( 'workers' => $worker->getCountAllActiveWorkers(), 'hashrate' => $dPoolHashrateAdjusted, 'shares' => $aRoundShares, 'price' => $aPrice ), + 'pool' => array( + 'workers' => $worker->getCountAllActiveWorkers(), 'hashrate' => $dPoolHashrateAdjusted, + 'shares' => array( 'valid' => $aRoundShares['valid'], 'invalid' => $aRoundShares['invalid'], 'invalid_percent' => $dPoolInvalidPercent, 'estimated' => $iEstShares, 'progress' => $dEstPercent ), + 'price' => $aPrice, + 'difficulty' => pow(2, $config['difficulty'] - 16), + 'target_bits' => $config['difficulty'] + ), 'network' => array( 'hashrate' => $dNetworkHashrateAdjusted, 'difficulty' => $dDifficulty, 'block' => $iBlock ), ); echo $api->get_json($data); diff --git a/public/templates/mpos/dashboard/js.tpl b/public/templates/mpos/dashboard/js.tpl index 37fc6d3e..f8c53fe3 100644 --- a/public/templates/mpos/dashboard/js.tpl +++ b/public/templates/mpos/dashboard/js.tpl @@ -145,9 +145,9 @@ $(document).ready(function(){ $('#b-hashrate').html((parseFloat(data.getdashboarddata.data.personal.hashrate).toFixed(2))); $('#b-sharerate').html((parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed(2))); $('#b-yvalid').html(data.getdashboarddata.data.personal.shares.valid); - $('#b-yivalid').html(data.getdashboarddata.data.personal.shares.invalid); - $('#b-pvalid').html(data.getdashboarddata.data.pool.shares.valid); - $('#b-pivalid').html(data.getdashboarddata.data.pool.shares.invalid); + $('#b-yivalid').html(data.getdashboarddata.data.personal.shares.invalid + " (" + data.getdashboarddata.data.personal.shares.invalid_percent + "%)" ); + $('#b-pvalid').html(data.getdashboarddata.data.pool.shares.valid + " (est: " + data.getdashboarddata.data.pool.shares.progress + "%)"); + $('#b-pivalid').html(data.getdashboarddata.data.pool.shares.invalid + " (" + data.getdashboarddata.data.pool.shares.invalid_percent + "%)" ); $('#b-diff').html(data.getdashboarddata.data.network.difficulty); $('#b-nblock').html(data.getdashboarddata.data.network.block); {/literal}{if $GLOBAL.config.payout_system != 'pps'}{literal }