Browse Source

miner.php optional error if not enough mcast rigs are found

nfactor-troky
Kano 11 years ago
parent
commit
739193509e
  1. 12
      API-README
  2. 86
      miner.php

12
API-README

@ -952,7 +952,9 @@ or in your cgminer.conf @@ -952,7 +952,9 @@ or in your cgminer.conf
And in miner.php set $mcast = true;
This will ignore the value of $rigs and overwrite it with the list of zero or
more rigs found on the network in the timout specified
more rigs found on the network in the timeout specified
A rig will not reply if the API settings would mean it would also ignore an
API request from the web server running miner.php
---------
@ -1196,6 +1198,14 @@ Set $mcast to true to look for your rigs and ignore $rigs @@ -1196,6 +1198,14 @@ Set $mcast to true to look for your rigs and ignore $rigs
---------
Default:
$mcastexpect = 0;
The minimum number of rigs expected to be found when $mcast is true
If fewer are found, an error will be included at the top of the page
---------
Default:
$mcastaddr = '224.0.0.75';

86
miner.php

@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
session_start();
#
global $title, $miner, $port, $readonly, $notify, $rigs;
global $mcast, $mcastaddr, $mcastport, $mcastcode;
global $mcast, $mcastexpect, $mcastaddr, $mcastport, $mcastcode;
global $mcastlistport, $mcasttimeout;
global $rigipsecurity, $rigtotals, $forcerigtotals;
global $socksndtimeoutsec, $sockrcvtimeoutsec;
@ -10,6 +10,7 @@ global $checklastshare, $poolinputs, $hidefields; @@ -10,6 +10,7 @@ global $checklastshare, $poolinputs, $hidefields;
global $ignorerefresh, $changerefresh, $autorefresh;
global $allowcustompages, $customsummarypages;
global $miner_font_family, $miner_font_size;
global $bad_font_family, $bad_font_size;
global $colouroverride, $placebuttons, $userlist;
#
# See API-README for more details of these variables and how
@ -48,6 +49,9 @@ $rigs = array('127.0.0.1:4028'); @@ -48,6 +49,9 @@ $rigs = array('127.0.0.1:4028');
# Set $mcast to true to look for your rigs and ignore $rigs
$mcast = false;
#
# Set $mcastexpect to at least how many rigs you expect it to find
$mcastexpect = 0;
#
# API Multicast address all cgminers are listening on
$mcastaddr = '224.0.0.75';
#
@ -176,9 +180,12 @@ $warnfont = '<font color=red><b>'; @@ -176,9 +180,12 @@ $warnfont = '<font color=red><b>';
$warnoff = '</b></font>';
$dfmt = 'H:i:s j-M-Y \U\T\CP';
#
$miner_font_family = 'verdana,arial,sans';
$miner_font_family = 'Verdana, Arial, sans-serif, sans';
$miner_font_size = '13pt';
#
$bad_font_family = '"Times New Roman", Times, serif';
$bad_font_size = '18pt';
#
# Edit this or redefine it in myminer.php to change the colour scheme
# See $colourtable below for the list of names
$colouroverride = array();
@ -198,7 +205,7 @@ if (file_exists('myminer.php')) @@ -198,7 +205,7 @@ if (file_exists('myminer.php'))
# This is the system default that must always contain all necessary
# colours so it must be a constant
# You can override these values with $colouroverride
# The only one missing is in $warnfont
# The only one missing is $warnfont
# - which you can override directly anyway
global $colourtable;
$colourtable = array(
@ -210,6 +217,8 @@ $colourtable = array( @@ -210,6 +217,8 @@ $colourtable = array(
'td.h background' => '#c4ffff',
'td.err color' => 'black',
'td.err background' => '#ff3050',
'td.bad color' => 'black',
'td.bad background' => '#ff3050',
'td.warn color' => 'black',
'td.warn background' => '#ffb050',
'td.sta color' => 'green',
@ -269,9 +278,10 @@ function getdom($domname) @@ -269,9 +278,10 @@ function getdom($domname)
return getcss($domname, true);
}
#
function htmlhead($checkapi, $rig, $pg = null, $noscript = false)
function htmlhead($mcerr, $checkapi, $rig, $pg = null, $noscript = false)
{
global $title, $miner_font_family, $miner_font_size;
global $bad_font_family, $bad_font_size;
global $error, $readonly, $poolinputs, $here;
global $ignorerefresh, $autorefresh;
@ -300,6 +310,7 @@ function htmlhead($checkapi, $rig, $pg = null, $noscript = false) @@ -300,6 +310,7 @@ function htmlhead($checkapi, $rig, $pg = null, $noscript = false)
$readonly = true;
}
$miner_font = "font-family:$miner_font_family; font-size:$miner_font_size;";
$bad_font = "font-family:$bad_font_family; font-size:$bad_font_size;";
echo "<html><head>$refreshmeta
<title>$title</title>
@ -308,6 +319,7 @@ td { $miner_font ".getcss('td')."} @@ -308,6 +319,7 @@ td { $miner_font ".getcss('td')."}
td.two { $miner_font ".getcss('td.two')."}
td.h { $miner_font ".getcss('td.h')."}
td.err { $miner_font ".getcss('td.err')."}
td.bad { $bad_font ".getcss('td.bad')."}
td.warn { $miner_font ".getcss('td.warn')."}
td.sta { $miner_font ".getcss('td.sta')."}
td.tot { $miner_font ".getcss('td.tot')."}
@ -339,6 +351,14 @@ echo "</script>\n"; @@ -339,6 +351,14 @@ echo "</script>\n";
<tr><td align=center valign=top>
<table border=0 cellpadding=4 cellspacing=0 summary='Mine'>
<?php
echo $mcerr;
}
#
function minhead($mcerr = '')
{
global $readonly;
$readonly = true;
htmlhead($mcerr, false, null, null, true);
}
#
global $haderror, $error;
@ -643,9 +663,14 @@ function newrow() @@ -643,9 +663,14 @@ function newrow()
echo '<tr>';
}
#
function othrow($row)
{
return "<tr>$row</tr>";
}
#
function otherrow($row)
{
echo "<tr>$row</tr>";
echo othrow($row);
}
#
function endrow()
@ -1149,7 +1174,7 @@ function showdatetime() @@ -1149,7 +1174,7 @@ function showdatetime()
{
global $dfmt;
otherrow('<td class=sta>Date: '.date($dfmt).'</td>');
echo otherrow('<td class=sta>Date: '.date($dfmt).'</td>');
}
#
global $singlerigsum;
@ -1810,8 +1835,6 @@ function doOne($rig, $preprocess) @@ -1810,8 +1835,6 @@ function doOne($rig, $preprocess)
global $haderror, $readonly, $notify, $rigs;
global $placebuttons;
htmlhead(true, $rig);
if ($placebuttons == 'top' || $placebuttons == 'both')
pagebuttons($rig, null);
@ -2451,6 +2474,8 @@ function processcustompage($pagename, $sections, $sum, $ext, $namemap) @@ -2451,6 +2474,8 @@ function processcustompage($pagename, $sections, $sum, $ext, $namemap)
$results[$cmd][$num] = $process;
}
}
else
otherrow('<td class=bad>Bad "$rigs" array</td>');
}
$shownsomething = false;
@ -2566,21 +2591,19 @@ function showcustompage($pagename) @@ -2566,21 +2591,19 @@ function showcustompage($pagename)
global $customsummarypages;
global $placebuttons;
htmlhead(false, null, $pagename);
if ($placebuttons == 'top' || $placebuttons == 'both')
pagebuttons(null, $pagename);
if (!isset($customsummarypages[$pagename]))
{
otherrow("<td colspan=100>Unknown custom summary page '$pagename'</td>");
otherrow("<td colspan=100 class=bad>Unknown custom summary page '$pagename'</td>");
return;
}
$c = count($customsummarypages[$pagename]);
if ($c < 2 || $c > 3)
{
$rw = "<td colspan=100>Invalid custom summary page '$pagename' (";
$rw = "<td colspan=100 class=bad>Invalid custom summary page '$pagename' (";
$rw .= count($customsummarypages[$pagename]).')</td>';
otherrow($rw);
return;
@ -2625,7 +2648,7 @@ function showcustompage($pagename) @@ -2625,7 +2648,7 @@ function showcustompage($pagename)
if (count($page) <= 1)
{
otherrow("<td colspan=100>Invalid custom summary page '$pagename' no content </td>");
otherrow("<td colspan=100 class=bad>Invalid custom summary page '$pagename' no content </td>");
return;
}
@ -2639,7 +2662,7 @@ function onlylogin() @@ -2639,7 +2662,7 @@ function onlylogin()
{
global $here;
htmlhead(false, null, null, true);
htmlhead('', false, null, null, true);
?>
<tr height=15%><td>&nbsp;</td></tr>
@ -2739,6 +2762,7 @@ function checklogin() @@ -2739,6 +2762,7 @@ function checklogin()
function display()
{
global $miner, $port;
global $mcast, $mcastexpect;
global $readonly, $notify, $rigs;
global $ignorerefresh, $autorefresh;
global $allowcustompages, $customsummarypages;
@ -2750,11 +2774,24 @@ function display() @@ -2750,11 +2774,24 @@ function display()
if ($pagesonly === 'login')
return;
$mcerr = '';
if ($rigs == null or count($rigs) == 0)
{
otherrow("<td>No rigs defined</td>");
if ($mcast === true)
$action = 'found';
else
$action = 'defined';
minhead();
otherrow("<td class=bad>No rigs $action</td>");
return;
}
else
{
if ($mcast === true && count($rigs) < $mcastexpect)
$mcerr = othrow('<td class=bad>Found '.count($rigs)." rigs but expected at least $mcastexpect</td>");
}
if ($ignorerefresh == false)
{
@ -2811,7 +2848,8 @@ function display() @@ -2811,7 +2848,8 @@ function display()
if ($pg !== null && $pg !== '')
{
showcustompage($pg);
htmlhead($mcerr, false, null, $pg);
showcustompage($pg, $mcerr);
return;
}
}
@ -2830,10 +2868,14 @@ function display() @@ -2830,10 +2868,14 @@ function display()
$miner = $parts[0];
$port = $parts[1];
htmlhead($mcerr, true, 0);
doOne(0, $preprocess);
}
else
otherrow('<td>Invalid "$rigs" array</td>');
{
minhead($mcerr);
otherrow('<td class=bad>Invalid "$rigs" array</td>');
}
return;
}
@ -2846,15 +2888,19 @@ function display() @@ -2846,15 +2888,19 @@ function display()
$miner = $parts[0];
$port = $parts[1];
htmlhead($mcerr, true, 0);
doOne($rig, $preprocess);
}
else
otherrow('<td>Invalid "$rigs" array</td>');
{
minhead($mcerr);
otherrow('<td class=bad>Invalid "$rigs" array</td>');
}
return;
}
htmlhead(false, null);
htmlhead($mcerr, false, null);
if ($placebuttons == 'top' || $placebuttons == 'both')
pagebuttons(null, null);
@ -2880,7 +2926,7 @@ function display() @@ -2880,7 +2926,7 @@ function display()
pagebuttons(null, null);
}
#
if (isset($mcast) && $mcast === true)
if ($mcast === true)
getrigs();
display();
#

Loading…
Cancel
Save