function show_api($info, $page, $menu, $name, $user) { global $fld_sep; $u = getparam('username', true); if (nutem($u)) { no_api(); } $api = getparam('api', true); if (nutem($api)) { no_api(); } $jfu = getparam('json', true); $work = getparam('work', true); $ans = getAtts($u, 'KAPIKey.str'); if ($ans['STATUS'] != 'ok') { no_api($jfu); } if (!isset($ans['KAPIKey.str'])) { no_api($jfu); } if ($ans['KAPIKey.str'] != $api) { no_api($jfu); } if (nuem($work)) { $info = homeInfo($u); if ($info === false) { no_api($jfu); } $rep = fldEncode($info, 'STAMP', true); $rep .= fldEncode($info, 'lastbc', false); $rep .= fldEncode($info, 'lastheight', false); $rep .= fldEncode($info, 'currndiff', false); $rep .= fldEncode($info, 'lastblock', false); $rep .= fldEncode($info, 'lastblockheight', false); $rep .= fldEncode($info, 'blockacc', false); $rep .= fldEncode($info, 'blockerr', false); $rep .= fldEncode($info, 'p_hashrate5m', false); $rep .= fldEncode($info, 'p_hashrate1hr', false); $rep .= fldEncode($info, 'u_hashrate5m', false); $rep .= fldEncode($info, 'u_hashrate1hr', false); } else { $info = homeInfo($u); if ($info === false) { no_api($jfu); } $per = false; if (is_array($info) && isset($info['u_multiaddr'])) { $percent = getparam('percent', true); if (!nuem($percent)) { $per = true; } } if ($per === true) { $ans = getPercents($u); } else { $ans = getWorkers($u); } if ($ans === false) { no_api($jfu); } $rep = fldEncode($ans, 'STAMP', true); $rep .= fldEncode($ans, 'rows', false); $rows = $ans['rows']; $flds = explode(',', $ans['flds']); $zeflds = ''; for ($i = 0; $i < $rows; $i++) { foreach ($flds as $fld) { if (substr($fld, 0, 7) != 'idlenot') { $rep .= fldEncode($ans, $fld . ':' . $i, false); if ($i == 0) { $zeflds .= "{$fld},"; } } } } $rep .= fldEncode($ans, 'arn', false); $rep .= fldEncode($ans, 'arp', false); $rep .= fldEncode(array(), 'flds', false); $rep .= substr($zeflds, 0, -1); } if (nuem($jfu)) { echo $rep; } else { $j = preg_replace("/([^=]+)=([^{$fld_sep}]*){$fld_sep}/", '"$1":"$2",', $rep . $fld_sep); echo '{' . substr($j, 0, -1) . '}'; } exit(0); }
function peruser($data, $user, &$offset, &$totshare, &$totdiff, &$totinvalid, &$totrate, &$blockacc, &$blockreward, $srt = false) { $ans = getPercents($user); $pg = ''; if ($ans['STATUS'] == 'ok') { $pg .= '<tbody>'; if (isset($ans['blockacc'])) { $blockacc = $ans['blockacc']; } if (isset($ans['blockreward'])) { $blockreward = $ans['blockreward']; } $all = array(); $count = $ans['rows']; for ($i = 0; $i < $count; $i++) { $all[] = array('payaddress' => $ans['payaddress:' . $i], 'payratio' => $ans['payratio:' . $i], 'paypercent' => $ans['paypercent:' . $i], 'payname' => $ans['payname:' . $i], 'p_shareacc' => $ans['p_shareacc:' . $i], 'p_diffacc' => $ans['p_diffacc:' . $i], 'p_diffinv' => $ans['p_diffinv:' . $i], 'p_uhr' => $ans['p_hashrate5m:' . $i]); } if ($srt) { usort($all, 'perhashorder'); } for ($i = 0; $i < $count; $i++) { if ($offset % 2 == 0) { $row = 'even'; } else { $row = 'odd'; } $pg .= "<tr class={$row}>"; $pg .= '<td class=dl>' . $all[$i]['payaddress'] . '</td>'; $pg .= '<td class=dl>' . $all[$i]['payname'] . '</td>'; $shareacc = number_format($all[$i]['p_shareacc'], 0); $totshare += $all[$i]['p_shareacc']; $diffacc = number_format($all[$i]['p_diffacc'], 0); $totdiff += $all[$i]['p_diffacc']; $pg .= "<td class=dr>{$shareacc}</td>"; $pg .= "<td class=dr>{$diffacc}</td>"; $dtot = $all[$i]['p_diffacc'] + $all[$i]['p_diffinv']; if ($dtot > 0) { $rej = number_format(100.0 * $all[$i]['p_diffinv'] / $dtot, 3); } else { $rej = '0'; } $totinvalid += $all[$i]['p_diffinv']; $pg .= "<td class=dr>{$rej}%</td>"; if ($blockacc <= 0) { $blkpct = ' '; } else { $blkpct = number_format(100.0 * $all[$i]['p_diffacc'] / $blockacc, 3) . '%'; } $pg .= "<td class=dr>{$blkpct}</td>"; $uhr = $all[$i]['p_uhr']; if ($uhr == '?') { $uhr = '?GHs'; } else { $totrate += $uhr; $uhr = dsprate($uhr); } $pg .= "<td class=dr>{$uhr}</td>"; $pg .= '<td class=dr>' . $all[$i]['payratio'] . '</td>'; $paypct = number_format($all[$i]['paypercent'], 3); $pg .= "<td class=dr>{$paypct}%</td>"; $pg .= "</tr>\n"; $offset++; } $pg .= '</tbody>'; } return $pg; }