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.
		
		
		
		
		
			
		
			
				
					
					
						
							150 lines
						
					
					
						
							2.9 KiB
						
					
					
				
			
		
		
	
	
							150 lines
						
					
					
						
							2.9 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 > 190) | 
						|
		$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'; | 
						|
 | 
						|
		$stara = ''; | 
						|
		$starp = ''; | 
						|
		if (isset($ans['status:'.($i+1)])) | 
						|
			if ($ans['status:'.($i+1)] == 'Orphan' | 
						|
			&&  $stat != 'Orphan') | 
						|
			{ | 
						|
				$stara = '<span class=st1>*</span>'; | 
						|
				$starp = '<span class=st0>*</span>'; | 
						|
			} | 
						|
 | 
						|
		$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>$starp".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>".htmlspecialchars($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>$stara$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); | 
						|
} | 
						|
# | 
						|
?>
 | 
						|
 |