You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
2.7 KiB
140 lines
2.7 KiB
<?php |
|
# |
|
function pctcolour($pct) |
|
{ |
|
if ($pct == 100) |
|
{ |
|
$fg = '#fff'; |
|
$bg = '#000'; |
|
} |
|
|
|
if ($pct < 100) |
|
{ |
|
$grn = (2.0 - log10($pct)) * 255; |
|
if ($grn < 0) |
|
$grn = 0; |
|
if ($grn > 255) |
|
$grn = 255; |
|
|
|
if ($grn > 100) |
|
$fg = '#00f'; |
|
else |
|
$fg = '#fff'; |
|
$bg = sprintf("#00%02x00", $grn); |
|
} |
|
|
|
if ($pct > 100) |
|
{ |
|
$red = (log10(pow($pct,4.0)) - 8.0) / 3.0 * 255; |
|
if ($red < 0) |
|
$red = 0; |
|
if ($red > 255) |
|
$red = 255; |
|
|
|
$fg = '#fff'; |
|
$bg = sprintf("#%02x0000", $red); |
|
} |
|
|
|
return array($fg, $bg); |
|
} |
|
# |
|
function doblocks($data, $user) |
|
{ |
|
$blink = '<a href=https://blockchain.info/block-height/'; |
|
|
|
$pg = '<h1>Blocks</h1>'; |
|
|
|
$ans = getBlocks($user); |
|
|
|
$pg .= "<table callpadding=0 cellspacing=0 border=0>\n"; |
|
$pg .= "<tr class=title>"; |
|
$pg .= "<td class=dl>Height</td>"; |
|
$pg .= "<td class=dl>Who</td>"; |
|
$pg .= "<td class=dr>Reward</td>"; |
|
$pg .= "<td class=dc>When</td>"; |
|
$pg .= "<td class=dr>Status</td>"; |
|
$pg .= "<td class=dr>Diff</td>"; |
|
$pg .= "<td class=dr>%</td>"; |
|
$pg .= "</tr>\n"; |
|
$blktot = 0; |
|
$nettot = 0; |
|
$i = 0; |
|
if ($ans['STATUS'] == 'ok') |
|
{ |
|
$count = $ans['rows']; |
|
for ($i = 0; $i < $count; $i++) |
|
{ |
|
if (($i % 2) == 0) |
|
$row = 'even'; |
|
else |
|
$row = 'odd'; |
|
|
|
$ex = ''; |
|
$stat = $ans['status:'.$i]; |
|
if ($stat == 'Orphan') |
|
$ex = 's'; |
|
if ($stat == '1-Confirm') |
|
$stat = 'Conf'; |
|
|
|
$hi = $ans['height:'.$i]; |
|
$hifld = "$blink$hi>$hi</a>"; |
|
|
|
$diffacc = $ans['diffacc:'.$i]; |
|
$acc = number_format($diffacc, 0); |
|
|
|
$netdiff = $ans['netdiff:'.$i]; |
|
if ($netdiff > 0) |
|
{ |
|
$pct = 100.0 * $diffacc / $netdiff; |
|
list($fg, $bg) = pctcolour($pct); |
|
$bpct = "<font color=$fg>".number_format($pct, 2).'%</font>'; |
|
$bg = " bgcolor=$bg"; |
|
$blktot += $diffacc; |
|
if ($stat != 'Orphan') |
|
$nettot += $netdiff; |
|
} |
|
else |
|
{ |
|
$bg = ''; |
|
$bpct = '?'; |
|
} |
|
|
|
$pg .= "<tr class=$row>"; |
|
$pg .= "<td class=dl$ex>$hifld</td>"; |
|
$pg .= "<td class=dl$ex>".$ans['workername:'.$i].'</td>'; |
|
$pg .= "<td class=dr$ex>".btcfmt($ans['reward:'.$i]).'</td>'; |
|
$pg .= "<td class=dl$ex>".gmdate('Y-m-d H:i:s+00', $ans['firstcreatedate:'.$i]).'</td>'; |
|
$pg .= "<td class=dr$ex>".$stat.'</td>'; |
|
$pg .= "<td class=dr>".$acc.'</td>'; |
|
$pg .= "<td class=dr$bg>".$bpct.'</td>'; |
|
$pg .= "</tr>\n"; |
|
} |
|
} |
|
if ($nettot > 0) |
|
{ |
|
if (($i % 2) == 0) |
|
$row = 'even'; |
|
else |
|
$row = 'odd'; |
|
|
|
$pct = 100.0 * $blktot / $nettot; |
|
list($fg, $bg) = pctcolour($pct); |
|
$bpct = "<font color=$fg>".number_format($pct, 2).'%</font>'; |
|
$bg = " bgcolor=$bg"; |
|
|
|
$pg .= "<tr class=$row>"; |
|
$pg .= "<td class=dl colspan=6></td>"; |
|
$pg .= "<td class=dr$bg>".$bpct.'</td>'; |
|
$pg .= "</tr>\n"; |
|
} |
|
$pg .= "</table>\n"; |
|
|
|
return $pg; |
|
} |
|
# |
|
function show_blocks($page, $menu, $name, $user) |
|
{ |
|
gopage(NULL, 'doblocks', $page, $menu, $name, $user); |
|
} |
|
# |
|
?>
|
|
|