mirror of
https://github.com/GOSTSec/sgminer
synced 2025-02-10 05:54:21 +00:00
miner.php allow links for rig buttons in tables and allow using the 4th IP octet if no rig name - default disabled for both
This commit is contained in:
parent
f946aa6fd2
commit
e3e5d68b92
21
doc/API
21
doc/API
@ -1284,6 +1284,27 @@ e.g. $rigs = array('127.0.0.1:4028','myrig.com:4028:Sugoi');
|
||||
|
||||
---------
|
||||
|
||||
Default:
|
||||
$rignames = false;
|
||||
|
||||
Set $rignames to false to not affect the display.
|
||||
Set $rignames to one of 'ip' or 'ipx' to alter the name displayed
|
||||
if the rig doesn't have a 'name' in $rigs
|
||||
Currently:
|
||||
'ip' means use the 4th byte of the rig IP address as an integer
|
||||
'ipx' means use the 4th byte of the rig IP address as 2 hex bytes
|
||||
|
||||
---------
|
||||
|
||||
Default:
|
||||
$rigbuttons = true;
|
||||
|
||||
Set $rigbuttons to false to display a link rather than a button on
|
||||
the left of any summary table with rig buttons, in order to reduce
|
||||
the height of the table cells
|
||||
|
||||
---------
|
||||
|
||||
Default:
|
||||
$mcast = false;
|
||||
|
||||
|
80
miner.php
80
miner.php
@ -2,6 +2,7 @@
|
||||
session_start();
|
||||
#
|
||||
global $doctype, $title, $miner, $port, $readonly, $notify, $rigs;
|
||||
global $rignames, $rigbuttons;
|
||||
global $mcast, $mcastexpect, $mcastaddr, $mcastport, $mcastcode;
|
||||
global $mcastlistport, $mcasttimeout, $mcastretries, $allowgen;
|
||||
global $rigipsecurity, $rigtotals, $forcerigtotals;
|
||||
@ -48,6 +49,13 @@ $poolinputs = false;
|
||||
# format: 'IP:Port' or 'Host:Port' or 'Host:Port:Name'
|
||||
$rigs = array('127.0.0.1:4028');
|
||||
#
|
||||
# Set $rignames to false, or one of 'ip' or 'ipx'
|
||||
# this says what to use if $rigs doesn't have a 'name'
|
||||
$rignames = false;
|
||||
#
|
||||
# Set $rigbuttons to false to display a link rather than a button
|
||||
$rigbuttons = true;
|
||||
#
|
||||
# Set $mcast to true to look for your rigs and ignore $rigs
|
||||
$mcast = false;
|
||||
#
|
||||
@ -247,6 +255,9 @@ $colourtable = array(
|
||||
$miner = null;
|
||||
$port = null;
|
||||
#
|
||||
global $rigips;
|
||||
$rigips = array();
|
||||
#
|
||||
# Ensure it is only ever shown once
|
||||
global $showndate;
|
||||
$showndate = false;
|
||||
@ -289,6 +300,14 @@ function getdom($domname)
|
||||
return getcss($domname, true);
|
||||
}
|
||||
#
|
||||
# N.B. don't call this before calling htmlhead()
|
||||
function php_pr($cmd)
|
||||
{
|
||||
global $here, $autorefresh;
|
||||
|
||||
return "$here?ref=$autorefresh$cmd";
|
||||
}
|
||||
#
|
||||
function htmlhead($mcerr, $checkapi, $rig, $pg = null, $noscript = false)
|
||||
{
|
||||
global $doctype, $title, $miner_font_family, $miner_font_size;
|
||||
@ -491,7 +510,7 @@ function getrigs()
|
||||
#
|
||||
function getsock($rig, $addr, $port)
|
||||
{
|
||||
global $rigipsecurity;
|
||||
global $rigips, $rignames, $rigipsecurity;
|
||||
global $haderror, $error, $socksndtimeoutsec, $sockrcvtimeoutsec;
|
||||
|
||||
$error = null;
|
||||
@ -534,6 +553,9 @@ function getsock($rig, $addr, $port)
|
||||
socket_close($socket);
|
||||
return null;
|
||||
}
|
||||
if ($rignames !== false && !isset($rigips[$addr]))
|
||||
if (socket_getpeername($socket, $ip) == true)
|
||||
$rigips[$addr] = $ip;
|
||||
return $socket;
|
||||
}
|
||||
#
|
||||
@ -1536,39 +1558,67 @@ function process($cmds, $rig)
|
||||
#
|
||||
function rigname($rig, $rigname)
|
||||
{
|
||||
global $rigs;
|
||||
global $rigs, $rignames, $rigips;
|
||||
|
||||
if (isset($rigs[$rig]))
|
||||
{
|
||||
$parts = explode(':', $rigs[$rig], 3);
|
||||
if (count($parts) == 3)
|
||||
$rigname = $parts[2];
|
||||
else
|
||||
if ($rignames !== false)
|
||||
{
|
||||
switch ($rignames)
|
||||
{
|
||||
case 'ip':
|
||||
if (isset($parts[0]) && isset($rigips[$parts[0]]))
|
||||
{
|
||||
$ip = explode('.', $rigips[$parts[0]]);
|
||||
if (count($ip) == 4)
|
||||
$rigname = intval($ip[3]);
|
||||
}
|
||||
break;
|
||||
case 'ipx':
|
||||
if (isset($parts[0]) && isset($rigips[$parts[0]]))
|
||||
{
|
||||
$ip = explode('.', $rigips[$parts[0]]);
|
||||
if (count($ip) == 4)
|
||||
$rigname = intval($ip[3], 16);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $rigname;
|
||||
}
|
||||
#
|
||||
function riginput($rig, $rigname)
|
||||
function riginput($rig, $rigname, $usebuttons)
|
||||
{
|
||||
$rigname = rigname($rig, $rigname);
|
||||
|
||||
return "<input type=button value='$rigname' onclick='pr(\"&rig=$rig\",null)'>";
|
||||
if ($usebuttons === true)
|
||||
return "<input type=button value='$rigname' onclick='pr(\"&rig=$rig\",null)'>";
|
||||
else
|
||||
return "<a href='".php_pr("&rig=$rig")."'>$rigname</a>";
|
||||
}
|
||||
#
|
||||
function rigbutton($rig, $rigname, $when, $row)
|
||||
function rigbutton($rig, $rigname, $when, $row, $usebuttons)
|
||||
{
|
||||
list($value, $class) = fmt('BUTTON', 'Rig', '', $when, $row);
|
||||
|
||||
if ($rig === '')
|
||||
$ri = ' ';
|
||||
else
|
||||
$ri = riginput($rig, $rigname);
|
||||
$ri = riginput($rig, $rigname, $usebuttons);
|
||||
|
||||
return "<td align=middle$class>$ri</td>";
|
||||
}
|
||||
#
|
||||
function showrigs($anss, $headname, $rigname)
|
||||
{
|
||||
global $rigbuttons;
|
||||
|
||||
$dthead = array($headname => 1, 'STATUS' => 1, 'Description' => 1, 'When' => 1, 'API' => 1, 'sgminer' => 1);
|
||||
showhead('', $dthead);
|
||||
|
||||
@ -1591,7 +1641,7 @@ function showrigs($anss, $headname, $rigname)
|
||||
foreach ($dthead as $name => $x)
|
||||
{
|
||||
if ($item == 'STATUS' && $name == $headname)
|
||||
echo rigbutton($rig, $rigname.$rig, $when, null);
|
||||
echo rigbutton($rig, $rigname.$rig, $when, null, $rigbuttons);
|
||||
else
|
||||
{
|
||||
if (isset($row[$name]))
|
||||
@ -1610,7 +1660,7 @@ function showrigs($anss, $headname, $rigname)
|
||||
function doforeach($cmd, $des, $sum, $head, $datetime)
|
||||
{
|
||||
global $miner, $port;
|
||||
global $error, $readonly, $notify, $rigs;
|
||||
global $error, $readonly, $notify, $rigs, $rigbuttons;
|
||||
global $warnfont, $warnoff, $dfmt;
|
||||
global $rigerror;
|
||||
|
||||
@ -1747,7 +1797,7 @@ function doforeach($cmd, $des, $sum, $head, $datetime)
|
||||
echo "<td align=right$class>Total:</td>";
|
||||
}
|
||||
else
|
||||
echo rigbutton($rig, "Rig $rig", $when, $row);
|
||||
echo rigbutton($rig, "Rig $rig", $when, $row, $rigbuttons);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1780,7 +1830,7 @@ function refreshbuttons()
|
||||
#
|
||||
function pagebuttons($rig, $pg)
|
||||
{
|
||||
global $readonly, $rigs, $userlist, $ses;
|
||||
global $readonly, $rigs, $rigbuttons, $userlist, $ses;
|
||||
global $allowcustompages, $customsummarypages;
|
||||
|
||||
if ($rig === null)
|
||||
@ -1819,10 +1869,12 @@ function pagebuttons($rig, $pg)
|
||||
if ($userlist === null || isset($_SESSION[$ses]))
|
||||
{
|
||||
if ($prev !== null)
|
||||
echo riginput($prev, 'Prev').' ';
|
||||
echo riginput($prev, 'Prev', true).' ';
|
||||
|
||||
echo "<input type=button value='Refresh' onclick='pr(\"$refresh\",null)'> ";
|
||||
|
||||
if ($next !== null)
|
||||
echo riginput($next, 'Next').' ';
|
||||
echo riginput($next, 'Next', true).' ';
|
||||
echo ' ';
|
||||
if (count($rigs) > 1)
|
||||
echo "<input type=button value='Summary' onclick='pr(\"\",null)'> ";
|
||||
@ -2184,6 +2236,8 @@ function secmatch($section, $field)
|
||||
#
|
||||
function customset($showfields, $sum, $section, $rig, $isbutton, $result, $total)
|
||||
{
|
||||
global $rigbuttons;
|
||||
|
||||
foreach ($result as $sec => $row)
|
||||
{
|
||||
$secname = preg_replace('/\d/', '', $sec);
|
||||
@ -2200,7 +2254,7 @@ function customset($showfields, $sum, $section, $rig, $isbutton, $result, $total
|
||||
|
||||
|
||||
if ($isbutton)
|
||||
echo rigbutton($rig, $rig, $when, $row);
|
||||
echo rigbutton($rig, $rig, $when, $row, $rigbuttons);
|
||||
else
|
||||
{
|
||||
list($ignore, $class) = fmt('total', '', '', $when, $row);
|
||||
|
Loading…
x
Reference in New Issue
Block a user