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.

176 lines
3.7 KiB

<?php
#
function doworker($data, $user)
{
$pg = '<h1>Workers</h1>';
$ans = getWorkers($user);
$pg .= "<table callpadding=0 cellspacing=0 border=0>\n";
$pg .= "<tr class=title>";
$pg .= "<td class=dl>Worker Name</td>";
// $pg .= "<td class=dr>Difficulty</td>";
// $pg .= "<td class=dc>Idle Notifications</td>";
// $pg .= "<td class=dr>Idle Notification Time</td>";
$pg .= "<td class=dr>Work Diff</td>";
$pg .= "<td class=dr>Last Share</td>";
$pg .= "<td class=dr>Shares</td>";
$pg .= "<td class=dr>Diff</td>";
$pg .= "<td class=dr>Invalid</td>";
$pg .= "<td class=dr>Hash Rate</td>";
$pg .= "</tr>\n";
$tsh = 0;
$tdif = 0;
$tinv = 0;
$thr = 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';
$pg .= "<tr class=$row>";
$pg .= '<td class=dl>'.$ans['workername:'.$i].'</td>';
/*
$pg .= '<td class=dr>'.$ans['difficultydefault:'.$i].'</td>';
$nots = $ans['idlenotificationenabled:'.$i];
switch ($nots)
{
case 'Y':
case 'y':
$nots = 'Y';
break;
default:
$nots = 'N';
}
$pg .= '<td class=dc>'.$nots.'</td>';
$pg .= '<td class=dr>'.$ans['idlenotificationtime:'.$i].'</td>';
*/
if ($ans['w_lastdiff:'.$i] > 0)
$ld = difffmt($ans['w_lastdiff:'.$i]);
else
$ld = '&nbsp;';
$pg .= "<td class=dr>$ld</td>";
$lst = $ans['STAMP'] - $ans['w_lastshare:'.$i];
if ($lst < 60)
$lstdes = $lst.'s';
else
{
$lst = round($lst/60);
if ($lst < 60)
$lstdes = $lst.'min';
else
{
$lst = round($lst/60);
if ($lst < 24)
{
$lstdes = $lst.'hr';
if ($lst != 1)
$lstdes .= 's';
}
else
{
$lst = round($lst/24);
if ($lst < 9999)
{
$lstdes = $lst.'day';
if ($lst != 1)
$lstdes .= 's';
}
else
$lstdes = 'never';
}
}
}
$pg .= "<td class=dr>$lstdes</td>";
$shareacc = number_format($ans['w_shareacc:'.$i], 0);
$tsh += $ans['w_shareacc:'.$i];
$diffacc = number_format($ans['w_diffacc:'.$i], 0);
$tdif += $ans['w_diffacc:'.$i];
$pg .= "<td class=dr>$shareacc</td>";
$pg .= "<td class=dr>$diffacc</td>";
$dtot = $ans['w_diffacc:'.$i] + $ans['w_diffinv:'.$i];
if ($dtot > 0)
$rej = number_format(100.0 * $ans['w_diffinv:'.$i] / $dtot, 3);
else
$rej = '0';
$tinv += $ans['w_diffinv:'.$i];
$pg .= "<td class=dr>$rej%</td>";
if ($ans['w_elapsed:'.$i] > 3600)
$uhr = $ans['w_hashrate1hr:'.$i];
else
$uhr = $ans['w_hashrate5m:'.$i];
if ($uhr == '?')
$uhr = '?GHs';
else
{
$thr += $uhr;
$uhr /= 10000000;
if ($uhr < 0.01)
$uhr = '0GHs';
else
{
if ($uhr < 100000)
$uhr = number_format(round($uhr)/100,2).'GHs';
else
$uhr = number_format(round($uhr/1000)/100,2).'THs';
}
}
$pg .= "<td class=dr>$uhr</td>";
$pg .= "</tr>\n";
}
}
$thr /= 10000000;
if ($thr < 0.01)
$thr = '0GHs';
else
{
if ($thr < 100000)
$thr = number_format(round($thr)/100,2).'GHs';
else
$thr = number_format(round($thr/1000)/100,2).'THs';
}
if (($i % 2) == 0)
$row = 'even';
else
$row = 'odd';
$pg .= "<tr class=$row><td colspan=3 class=dl></td>";
$shareacc = number_format($tsh, 0);
$pg .= "<td class=dr>$shareacc</td>";
$diffacc = number_format($tdif, 0);
$pg .= "<td class=dr>$diffacc</td>";
$dtot = $tdif + $tinv;
if ($dtot > 0)
$rej = number_format(100.0 * $tinv / $dtot, 3);
else
$rej = '0';
$pg .= "<td class=dr>$rej%</td>";
$pg .= "<td class=dr>$thr</td></tr>\n";
$pg .= "</table>\n";
return $pg;
}
#
function doworkers($data, $user)
{
$pg = doworker($data, $user);
return $pg;
}
#
function show_workers($page, $menu, $name, $user)
{
gopage(NULL, 'doworkers', $page, $menu, $name, $user);
}
#
?>