mirror of
https://github.com/LBRYFoundation/pool.git
synced 2025-09-21 02:19:47 +00:00
127 lines
3.4 KiB
PHP
127 lines
3.4 KiB
PHP
<?php
|
|
|
|
if (!$coin) $this->goback();
|
|
|
|
$this->pageTitle = 'Peers - '.$coin->symbol;
|
|
|
|
$remote = new Bitcoin($coin->rpcuser, $coin->rpcpasswd, $coin->rpchost, $coin->rpcport);
|
|
$info = $remote->getinfo();
|
|
|
|
echo getAdminSideBarLinks().'<br/><br/>';
|
|
echo getAdminWalletLinks($coin, $info, 'peers').'<br/><br/>';
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
JavascriptFile("/yaamp/ui/js/jquery.metadata.js");
|
|
JavascriptFile("/yaamp/ui/js/jquery.tablesorter.widgets.js");
|
|
|
|
echo <<<end
|
|
<style type="text/css">
|
|
td.red { color: darkred; }
|
|
table.dataGrid a.red { color: darkred; }
|
|
div.form { text-align: right; height: 30px; width: 350px; float: right; margin-top: -48px; margin-bottom: 16px; margin-right: -8px; }
|
|
.main-submit-button { cursor: pointer; }
|
|
</style>
|
|
|
|
<div class="form">
|
|
<form action="/site/peerAdd?id={$coin->id}" method="post" style="padding: 8px;">
|
|
<input type="text" name="node" class="main-text-input" placeholder="addr[:port]" autocomplete="off" style="width: 150px; margin-right: 4px;">
|
|
<input type="submit" value="Add node" class="main-submit-button" >
|
|
</form>
|
|
</div>
|
|
end;
|
|
|
|
showTableSorter('maintable', "{
|
|
tableClass: 'dataGrid',
|
|
headers: {
|
|
0:{sorter:'text'},
|
|
1:{sorter:'text'},
|
|
2:{sorter:'numeric'},
|
|
3:{sorter:'numeric'},
|
|
4:{sorter:'text'},
|
|
5:{sorter:'metadata'},
|
|
6:{sorter:'metadata'},
|
|
7:{sorter:'numeric'},
|
|
7:{sorter:false}
|
|
},
|
|
widgets: ['zebra','Storage','saveSort'],
|
|
widgetOptions: {
|
|
saveSort: true
|
|
}
|
|
}");
|
|
|
|
echo <<<end
|
|
<thead>
|
|
<tr>
|
|
<th>Address</th>
|
|
<th>Version</th>
|
|
<th>Height</th>
|
|
<th>Ping</th>
|
|
<th>Services</th>
|
|
<th>Since</th>
|
|
<th>Last</th>
|
|
<th>Rx / Tx (kB)</th>
|
|
<th width="30"></th>
|
|
</tr>
|
|
</thead><tbody>
|
|
end;
|
|
|
|
$addnode = array();
|
|
$version = '';
|
|
$localheight = arraySafeVal($info, 'blocks');
|
|
|
|
$list = $remote->getpeerinfo();
|
|
|
|
if(!empty($list))
|
|
foreach($list as $peer)
|
|
{
|
|
echo '<tr class="ssrow">';
|
|
|
|
$node = arraySafeVal($peer,'addr');
|
|
echo '<td>'.$node.'</td>';
|
|
$addnode[] = ($coin->symbol=='DCR' ? 'addpeer=' : 'addnode=') . $node;
|
|
|
|
$peerver = trim(arraySafeVal($peer,'subver'),'/');
|
|
$version = max($version, $peerver);
|
|
echo '<td>'.$peerver.'</td>';
|
|
|
|
$height = arraySafeVal($peer,'currentheight');
|
|
$class = abs($height - $localheight) > 5 ? 'red' : '';
|
|
if (!$height) $height = arraySafeVal($peer,'synced_blocks');
|
|
echo '<td class="'.$class.'">'.$height.'</td>';
|
|
|
|
echo '<td>'.arraySafeVal($peer,'pingtime','').'</td>';
|
|
echo '<td>'.arraySafeVal($peer,'services','').'</td>';
|
|
|
|
$conntime = arraySafeVal($peer,'conntime',time());
|
|
$startingheight = arraySafeVal($peer,'startingheight');
|
|
echo '<td>'.datetoa2($conntime)." ($startingheight)".'</td>';
|
|
|
|
$lastrecv = arraySafeVal($peer,'lastrecv',time());
|
|
$lastsend = arraySafeVal($peer,'lastsend',time());
|
|
echo '<td>'.datetoa2(max($lastrecv,$lastsend)).'</td>';
|
|
|
|
$bytesrecv = round(arraySafeVal($peer,'bytesrecv')/1024.,1);
|
|
$bytessent = round(arraySafeVal($peer,'bytessent')/1024.,1);
|
|
if ($bytesrecv+$bytessent)
|
|
echo '<td>'."$bytesrecv / $bytessent".'</td>';
|
|
else
|
|
echo '<td></td>';
|
|
|
|
echo '<td>';
|
|
$options = array('class'=>'red', 'title'=>'Disconnect from node');
|
|
echo CHtml::link('remove','/site/peerRemove?id='.$coin->id.'&node='.$node, $options);
|
|
echo '</td>';
|
|
|
|
echo '</tr>';
|
|
}
|
|
|
|
echo '</tbody></table><br>';
|
|
|
|
echo '<b>Local version: </b>'.formatWalletVersion($coin).' ';
|
|
echo '<b>Latest : </b>'.$version;
|
|
|
|
echo '<pre>';
|
|
echo implode("\n",$addnode);
|
|
echo '</pre>';
|
|
//echo json_encode($list);
|