Fixing hashrate graphs

* Proper initilize array in order
* Fill data after initilizing
* Removed 0 fills

Thanks @iriiria for this fix!

Fixes #624
This commit is contained in:
Sebastian Grewe 2013-08-22 11:33:26 +02:00
parent 4abe462e01
commit 6ec5b4b845

View File

@ -403,10 +403,10 @@ class Statistics {
GROUP BY HOUR(time)");
if ($this->checkStmt($stmt) && $stmt->bind_param('ii', $account_id, $account_id) && $stmt->execute() && $result = $stmt->get_result()) {
$iStartHour = date('G');
for ($i = $iStartHour; $i < 24; $i++) $aData[$i] = 0;
// Initilize array
for ($i = 0; $i < 24; $i++) $aData[($iStartHour + $i) % 24] = 0;
// Fill data
while ($row = $result->fetch_assoc()) $aData[$row['hour']] = $row['hashrate'];
// Fill any non-existing hours with 0 hashrate
for ($i = 0; $i < 24; $i++) if (!array_key_exists($i, $aData)) $aData[$i] = 0;
return $this->memcache->setCache(__FUNCTION__ . $account_id, $aData);
}
// Catchall
@ -440,10 +440,10 @@ class Statistics {
GROUP BY HOUR(time)");
if ($this->checkStmt($stmt) && $stmt->execute() && $result = $stmt->get_result()) {
$iStartHour = date('G');
for ($i = $iStartHour; $i < 24; $i++) $aData[$i] = 0;
// Initilize array
for ($i = 0; $i < 24; $i++) $aData[($iStartHour + $i) % 24] = 0;
// Fill data
while ($row = $result->fetch_assoc()) $aData[$row['hour']] = (int) $row['hashrate'];
// Fill any non-existing hours with 0 hashrate
for ($i = 0; $i < 24; $i++) if (!array_key_exists($i, $aData)) $aData[$i] = 0;
return $this->memcache->setCache(__FUNCTION__, $aData);
}
// Catchall