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.
109 lines
3.0 KiB
109 lines
3.0 KiB
<?php |
|
# |
|
function doshifts($data, $user) |
|
{ |
|
$ans = getShifts($user); |
|
|
|
$pg = "Click <a href='#payoutmark'>here</a> to jump to the start of the last payout<br><br>"; |
|
$pg .= "<table cellpadding=0 cellspacing=0 border=0>\n"; |
|
$pg .= '<thead><tr class=title>'; |
|
$pg .= '<td class=dl>Shift</td>'; |
|
$pg .= '<td class=dl>Start UTC</td>'; |
|
$pg .= '<td class=dr>Length</td>'; |
|
$pg .= '<td class=dr>Your Diff</td>'; |
|
$pg .= '<td class=dr>Inv Diff</td>'; |
|
$pg .= '<td class=dr>Avg Hs</td>'; |
|
$pg .= '<td class=dr>Shares</td>'; |
|
$pg .= '<td class=dr>Avg Share</td>'; |
|
$pg .= '<td class=dr>Rewards</td>'; |
|
$pg .= '<td class=dr>Rewarded<span class=st1>*</span></td>'; |
|
$pg .= '<td class=dr>PPS%</td>'; |
|
$pg .= "</tr></thead>\n"; |
|
|
|
if (($ans['STATUS'] != 'ok') || !isset($ans['prefix_all'])) |
|
$pg = '<h1>Shifts</h1>'.$pg; |
|
else |
|
{ |
|
$pre = $ans['prefix_all']; |
|
|
|
$count = $ans['rows']; |
|
$pg = '<h1>Last '.($count+1).' Shifts</h1>'.$pg.'<tbody>'; |
|
for ($i = 0; $i < $count; $i++) |
|
{ |
|
$u = ''; |
|
$mark = ''; |
|
if (isset($ans['lastpayoutstart:'.$i]) |
|
&& $ans['lastpayoutstart:'.$i] != '') |
|
{ |
|
$u = 'u'; |
|
$mark = '<a name=payoutmark></a>'; |
|
} |
|
if (($i % 2) == 0) |
|
$row = "even$u"; |
|
else |
|
$row = "odd$u"; |
|
|
|
$pg .= "<tr class=$row>"; |
|
$shifname = $ans['shift:'.$i]; |
|
$shif = preg_replace(array('/^.* to /','/^.*fin: /'), '', $shifname); |
|
$ablock = false; |
|
if (preg_match('/to.*Block.* fin/', $shifname) == 1) |
|
$ablock = true; |
|
else |
|
{ |
|
$shifex = $ans['endmarkextra:'.$i]; |
|
if (preg_match('/Block .* fin/', $shifex) == 1) |
|
$ablock = true; |
|
} |
|
if ($ablock === true) |
|
$btc = ' <img src=/BTCSym.png border=0>'; |
|
else |
|
$btc = ''; |
|
$pg .= "<td class=dl>$shif$btc$mark</td>"; |
|
$start = $ans['start:'.$i]; |
|
$pg .= '<td class=dl>'.utcd($start, true).'</td>'; |
|
$nd = $ans['end:'.$i]; |
|
$elapsed = $nd - $start; |
|
$pg .= '<td class=dr>'.howmanyhrs($elapsed).'</td>'; |
|
$diffacc = $ans[$pre.'diffacc:'.$i]; |
|
$pg .= '<td class=dr>'.difffmt($diffacc).'</td>'; |
|
$diffinv = $ans[$pre.'diffinv:'.$i]; |
|
$pg .= '<td class=dr>'.difffmt($diffinv).'</td>'; |
|
$hr = $diffacc * pow(2,32) / $elapsed; |
|
$pg .= '<td class=dr>'.dsprate($hr).'</td>'; |
|
$shareacc = $ans[$pre.'shareacc:'.$i]; |
|
$pg .= '<td class=dr>'.difffmt($shareacc).'</td>'; |
|
if ($shareacc > 0) |
|
$avgsh = $diffacc / $shareacc; |
|
else |
|
$avgsh = 0; |
|
$pg .= '<td class=dr>'.number_format($avgsh, 2).'</td>'; |
|
$pg .= '<td class=dr>'.$ans['rewards:'.$i].'</td>'; |
|
$ppsr = (float)$ans['ppsrewarded:'.$i]; |
|
if ($ppsr > 0) |
|
$ppsd = sprintf('%.5f', $ppsr*1000.0); |
|
else |
|
$ppsd = '0'; |
|
$pg .= "<td class=dr>$ppsd</td>"; |
|
$ppsv = (float)$ans['ppsvalue:'.$i]; |
|
if ($ppsv > 0) |
|
$pgot = number_format(100.0 * $ppsr / $ppsv, 2).'%'; |
|
else |
|
$pgot = '?'; |
|
$pg .= "<td class=dr>$pgot</td>"; |
|
$pg .= "</tr>\n"; |
|
} |
|
$pg .= '</tbody>'; |
|
} |
|
$pg .= "</table>\n"; |
|
$pg .= "<span class=st1>*</span> The Rewarded value unit is satoshis per 1000diff share<br>"; |
|
|
|
return $pg; |
|
} |
|
# |
|
function show_shifts($info, $page, $menu, $name, $user) |
|
{ |
|
gopage($info, NULL, 'doshifts', $page, $menu, $name, $user); |
|
} |
|
# |
|
?>
|
|
|