Merge branch 'development' of https://github.com/MPOS/php-mpos into development

This commit is contained in:
Sebastian Grewe 2014-04-08 16:46:26 +02:00
commit 827f5cebe2
103 changed files with 0 additions and 4159 deletions

View File

@ -1,10 +0,0 @@
<article class="module width_full">
<header><h3>API Reference</h3></header>
<div class="module_content">
<center>
<table width="100%">
<p>Please head over to the <a href="https://github.com/TheSerapher/php-mpos/wiki/API-Reference">official documentation</a> to learn about the API featured in <b>MPOS</b>.</p>
</table>
</center>
</div>
</article>

View File

@ -1,9 +0,0 @@
<h4 class="info">If you have your own irc client feel free to connect to our channel @ <b>IRC.FREENODE.NET {$CHATROOM|default:"#lazypoolop"}</b></h4>
<article class="module width_full">
<header><h3>Web Chat</h3></header>
<div class="module_content">
<table width="100%">
<iframe src="https://webchat.freenode.net/?channels={$CHATROOM|default:"#lazypoolop"}" height="768" width="100%"></iframe>
</table>
</div>
</article>

View File

@ -1 +0,0 @@
0

View File

@ -1,30 +0,0 @@
<article class="module width_full">
<header>
<h3>Pool Donors</h3>
<div class="submit_link">
{include file="global/pagination.tpl"}
</div>
</header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th>Name</th>
<th align="right">%</th>
<th align="right" style="padding-right: 25px">{$GLOBAL.config.currency} Total</th>
</tr>
</thead>
<tbody>
{section name=donor loop=$DONORS}
<tr>
<td>{if $DONORS[donor].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$DONORS[donor].username}{/if}</td>
<td align="right">{$DONORS[donor].donate_percent}</td>
<td align="right" style="padding-right: 25px">{$DONORS[donor].donation|number_format:"2"}</td>
</tr>
{sectionelse}
<tr>
<td align="center" colspan="3">No confirmed donations yet, please be patient!</td>
</tr>
{/section}
</tbody>
</table>
</article>

View File

@ -1,47 +0,0 @@
<article class="module width_full">
<header><h3>{$GLOBAL.website.name}</h3></header>
<div class="module_content">
<table width="100%">
<tbody>
Below is a standard FAQ.
<ul>
<li><b><i>Q: When will I get paid?</b></i></li>
&nbsp;A: This depends on the pools payout System. MPOS Support three different systems defined below.</li><br>
<br>
<b>* Proportional (Prop)</b> - The block reward is distributed among miners in proportion to the number of shares they submitted in a round. The expected reward per share depends on the number of shares already submitted in the round.<br>
<br>
<b>* Pay Per Last N Shares (PPLNS)</b> - Block rewards are distributed among the last shares, disregarding round boundaries. In the accurate implementation, the number of shares is deter- mined so that their total will be a specified quantity of score (where the score of a share is the inverse of the difficulty). Most pools use a naive implementation based on a fixed number of shares or a fixed multiple of the difficulty. The share-variance can be reduced at the cost of increased maturity time, but there is no way to decrease the long-term pool-variance.<br>
<br>
<b>* Pay Per Share (PPS)</b> - Each share receives a fixed reward known in advance. This is the ultimate low- variance, low-maturity simple method, but has the highest risk for the operator, and hence lower expected returns than other methods and risk of collapse if not managed properly.<br>
<br><br>
<li><b><i>Q: What is a Orphan Block?</b></i></li>
&nbsp;A: Coins generated by a block will not be available to you right away. They will take some time to be confirmed by the entire network before you are allowed to transfer them out of the pool. Usually coins have a confirmation set to 120. What that actually means: the network (not the pool) has to discover 120 additional blocks on top of the one found by the pool to confirm it.</li>
<br><br>
<li><b><i>Q: What is estimated payout?</b></i></li>
&nbsp;A: Estimated Payout is your Estimated payout if a block is found at that time. This is an estimate according to your amount of shares submitted for the round(s).</a></li>
<br><br>
<li><b><i>Q: What is Pool-variance?</b></i></li>
&nbsp;A: This is the variance caused by the pool being too small. Using a method with high pool-variance does no harm to large pools.</a></li>
<br><br>
<li><b><i>Q: What is a share?</b></i></li>
&nbsp;A: Finding blocks is not an easy task. Since it would take a really long time on some coins, finding a block is broken down into shares. Depending on the server side setting, each share can be a certain difficulty. The more difficult each share is to find by miners, the fewer total shares are required to eventually find a block.
<br><br>
On the server side, each share is checked against the coin daemon (a server side wallet with more features) if it is indeed a valid block solution. Every share computed has the potential to be a block solution. I will not go into details why this is, but rest assured that share estimates for blocks can sometimes be exceeded. In the long run though, shorter round with less shares than required will make up for those taking very long.
<br><br>
Keep in mind: shares are not blocks! Shares are part of a block and will count towards the block payout!
<br><br>
At times, you will see shares being rejected by the pool. This can happen if you try to send an outdated share right after a block was found. Stratum, a protocol used by a miner to request work from a server, is used for share submission and getting new work. It is very solid when it comes to avoiding rejects but they can still happen once in a while.
<br><br>
If you are seeing reject all the time, then something isnt working right on your end. You may also notice that your hashrate on the pool website is not increasing while your invalid share count keeps climbing up. In that case turn off your miner and check your settings!</li>
<br><br>
<li><b><i>Q: I am having problems connecting to the pool.</b></i></li>
&nbsp;A: Double check your settings against our <a href="{$smarty.server.SCRIPT_NAME}?page=gettingstarted">getting started page.</a></li>
</ul>
<p>This Pool is running <a href="https://github.com/TheSerapher/php-mpos">MPOS</a> project code. This frontend was created by TheSerapher aka Sebastian Grewe. The operation of the pool is soley at the hand of your trusted pool operator.</p>
</tbody>
</table>
</div>
</article>

View File

@ -1 +0,0 @@
No action specified

View File

@ -1,210 +0,0 @@
<form action="{$smarty.server.SCRIPT_NAME}" method="post">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="hidden" name="do" value="updateAccount">
<article class="module width_half">
<header><h3>Account Details</h3></header>
<div class="module_content">
<fieldset>
<label>Username</label>
<input type="text" value="{$GLOBAL.userdata.username|escape}" disabled />
</fieldset>
<fieldset>
<label>User Id</label>
<input type="text" value="{$GLOBAL.userdata.id}" disabled />
</fieldset>
{if !$GLOBAL.website.api.disabled}
<fieldset>
<label>API Key</label>
<a href="{$smarty.server.SCRIPT_NAME}?page=api&action=getuserstatus&api_key={$GLOBAL.userdata.api_key}&id={$GLOBAL.userdata.id}">{$GLOBAL.userdata.api_key}</a>
</fieldset>
{/if}
<fieldset>
<label>E-Mail</label>
{nocache}<input type="text" name="email" value="{$GLOBAL.userdata.email|escape}" size="20" {if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.details && !$DETAILSUNLOCKED}disabled{/if}/>{/nocache}
</fieldset>
<fieldset>
<label>Payment Address</label>
{nocache}<input type="text" name="paymentAddress" value="{$smarty.request.paymentAddress|default:$GLOBAL.userdata.coin_address|escape}" size="40" {if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.details && !$DETAILSUNLOCKED}disabled{/if}/>{/nocache}
</fieldset>
<fieldset>
<label>Donation Percentage</label>
<font size="1"> Donation amount in percent ({$DONATE_THRESHOLD.min}-100%)</font>
{nocache}<input type="text" name="donatePercent" value="{$smarty.request.donatePercent|default:$GLOBAL.userdata.donate_percent|escape|number_format:"2"}" size="4" {if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.details && !$DETAILSUNLOCKED}disabled{/if}/>{/nocache}
</fieldset>
<fieldset>
<label>Automatic Payout Threshold</label>
</br>
<font size="1" style="margin: 0px -200px;">{$GLOBAL.config.ap_threshold.min}-{$GLOBAL.config.ap_threshold.max} {$GLOBAL.config.currency}. Set to '0' for no auto payout. A {if $GLOBAL.config.txfee_auto > 0.00001}{$GLOBAL.config.txfee_auto}{else}{$GLOBAL.config.txfee_auto|number_format:"8"}{/if} {$GLOBAL.config.currency} TX fee will apply <span id="tt"><img width="15px" height="15px" title="This {if $GLOBAL.config.txfee_auto > 0.00001}{$GLOBAL.config.txfee_auto}{else}{$GLOBAL.config.txfee_auto|number_format:"8"}{/if} automatic payment transaction fee is a network fee and goes back into the network not the pool." src="site_assets/mpos/images/questionmark.png"></span></font>
<input type="text" name="payoutThreshold" value="{nocache}{$smarty.request.payoutThreshold|default:$GLOBAL.userdata.ap_threshold|escape}{/nocache}" size="{$GLOBAL.config.ap_threshold.max|strlen}" maxlength="{$GLOBAL.config.ap_threshold.max|strlen}" {if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.details && !$DETAILSUNLOCKED}disabled{/if}/>
</fieldset>
<fieldset>
<label>Anonymous Account</label>
Hide username on website from others. Admins can still get your user information.
<label class="checkbox" for="is_anonymous">
<input class="ios-switch" type="hidden" name="is_anonymous" value="0" />
{nocache}<input class="ios-switch" type="checkbox" name="is_anonymous" value="1" id="is_anonymous" {if $GLOBAL.userdata.is_anonymous}checked{/if} {if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.details && !$DETAILSUNLOCKED}disabled{/if}/>{/nocache}
<div class="switch"></div>
</label>
</fieldset>
<fieldset>
<label>4 digit PIN</label>
<font size="1">The 4 digit PIN you chose when registering</font>
<input type="password" name="authPin" size="4" maxlength="4">
</fieldset>
</div>
<footer>
<div class="submit_link">
{nocache}
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<input type="hidden" name="ea_token" value="{$smarty.request.ea_token|escape|default:""}">
<input type="hidden" name="utype" value="account_edit">
{if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.details}
{if $DETAILSSENT == 1 && $DETAILSUNLOCKED == 1}
<input type="submit" value="Update Account" class="alt_btn">
{elseif $DETAILSSENT == 0 && $DETAILSUNLOCKED == 1 || $DETAILSSENT == 1 && $DETAILSUNLOCKED == 0}
<input type="submit" value="Update Account" class="alt_btn" disabled>
{elseif $DETAILSSENT == 0 && $DETAILSUNLOCKED == 0}
<input type="submit" value="Unlock" class="alt_btn" name="unlock">
{/if}
{else}
<input type="submit" value="Update Account" class="alt_btn">
{/if}
{/nocache}
</div>
</footer>
</article>
</form>
{if !$GLOBAL.config.disable_payouts && !$GLOBAL.config.disable_manual_payouts}
<form action="{$smarty.server.SCRIPT_NAME}" method="post">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="hidden" name="do" value="cashOut">
<article class="module width_half">
<header>
<h3>Cash Out</h3>
</header>
<div class="module_content">
<p style="padding-left:3px; padding-redight:30px; font-size:10px;">
Please note: a {if $GLOBAL.config.txfee_manual > 0.00001}{$GLOBAL.config.txfee_manual}{else}{$GLOBAL.config.txfee_manual|number_format:"8"}{/if} {$GLOBAL.config.currency} transaction will apply when processing "On-Demand" manual payments <span id="tt"><img width="15px" height="15px" title="This {if $GLOBAL.config.txfee_manual > 0.00001}{$GLOBAL.config.txfee_manual}{else}{$GLOBAL.config.txfee_manual|number_format:"8"}{/if} manual payment transaction fee is a network fee and goes back into the network not the pool." src="site_assets/mpos/images/questionmark.png"></span>
</p>
<p style="padding-left:3px; padding-redight:30px; font-size:10px;">
Minimum Cashout: {$GLOBAL.config.mp_threshold} {$GLOBAL.config.currency}
</p>
<fieldset>
<label>Account Balance</label>
{nocache}<input type="text" value="{$GLOBAL.userdata.balance.confirmed|escape}" {$GLOBAL.config.currency} disabled />{/nocache}
</fieldset>
<fieldset>
<label>Payout to</label>
{nocache}<input type="text" value="{$GLOBAL.userdata.coin_address|escape}" disabled />{/nocache}
</fieldset>
<fieldset>
<label>4 digit PIN</label>
<input type="password" name="authPin" size="4" maxlength="4" />
</fieldset>
</div>
<footer>
<div class="submit_link">
{nocache}
<input type="hidden" name="wf_token" value="{$smarty.request.wf_token|escape|default:""}">
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<input type="hidden" name="utype" value="withdraw_funds">
{if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.withdraw}
{if $GLOBAL.userdata.balance.confirmed|escape < $GLOBAL.config.mp_threshold}
<input type="submit" value="Unlock" class="alt_btn" name="unlock" disabled>
{elseif $WITHDRAWSENT == 1 && $WITHDRAWUNLOCKED == 1}
<input type="submit" value="Cash Out" class="alt_btn">
{elseif $WITHDRAWSENT == 0 && $WITHDRAWUNLOCKED == 1 || $WITHDRAWSENT == 1 && $WITHDRAWUNLOCKED == 0}
<input type="submit" value="Cash Out" class="alt_btn" disabled>
{elseif $WITHDRAWSENT == 0 && $WITHDRAWUNLOCKED == 0}
<input type="submit" value="Unlock" class="alt_btn" name="unlock">
{/if}
{else}
<input type="submit" value="Cash Out" class="alt_btn">
{/if}
{/nocache}
</div>
</footer>
</article>
</form>
{/if}
<form action="{$smarty.server.SCRIPT_NAME}" method="post"><input type="hidden" name="act" value="updatePassword">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="hidden" name="do" value="updatePassword">
<article class="module width_half">
<header>
<h3>Change Password</h3>
</header>
<div class="module_content">
<p style="padding-left:30px; padding-redight:30px; font-size:10px;">
Note: You will be redirected to login on successful completion of a password change
</p>
<fieldset>
<label>Current Password</label>
{nocache}<input type="password" name="currentPassword" {if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.changepw && !$CHANGEPASSUNLOCKED}disabled{/if}/>{/nocache}
</fieldset>
<fieldset>
<label>New Password</label>
<p style="padding-right:10px;display:block;margin-top:0px;float:right;color:#999;" id="pw_strength"></p>
{nocache}<input type="password" name="newPassword" id="pw_field"{if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.changepw && !$CHANGEPASSUNLOCKED}disabled{/if}/>{/nocache}
</fieldset>
<fieldset>
<label>Repeat New Password</label>
<p style="padding-right:10px;display:block;margin-top:0px;float:right;" id="pw_match"></p>
{nocache}<input type="password" name="newPassword2" id="pw_field2"{if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.changepw && !$CHANGEPASSUNLOCKED}disabled{/if}/>{/nocache}
</fieldset>
<fieldset>
<label>4 digit PIN</label>
<input type="password" name="authPin" size="4" maxlength="4" />
</fieldset>
</div>
<footer>
<div class="submit_link">
{nocache}
<input type="hidden" name="cp_token" value="{$smarty.request.cp_token|escape|default:""}">
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<input type="hidden" name="utype" value="change_pw">
{if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.changepw}
{if $CHANGEPASSSENT == 1 && $CHANGEPASSUNLOCKED == 1}
<input type="submit" value="Change Password" class="alt_btn">
{elseif $CHANGEPASSSENT == 0 && $CHANGEPASSUNLOCKED == 1 || $CHANGEPASSSENT == 1 && $CHANGEPASSUNLOCKED == 0}
<input type="submit" value="Change Password" class="alt_btn" disabled>
{elseif $CHANGEPASSSENT == 0 && $CHANGEPASSUNLOCKED == 0}
<input type="submit" value="Unlock" class="alt_btn" name="unlock">
{/if}
{else}
<input type="submit" value="Change Password" class="alt_btn">
{/if}
{/nocache}
</div>
</footer>
</article>
</form>
<form action="{$smarty.server.SCRIPT_NAME}" method="post">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="hidden" name="do" value="genPin">
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<article class="module width_half">
<header>
<h3>Reset PIN</h3>
</header>
<div class="module_content">
<fieldset>
<label>Current Password</label>
<input type="password" name="currentPassword" />
</fieldset>
</div>
<footer>
<div class="submit_link">
<input type="submit" class="alt_btn" value="Reset PIN">
</div>
</footer>
</article>
</form>

View File

@ -1,46 +0,0 @@
<form action="{$smarty.server.SCRIPT_NAME}" method="POST">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="hidden" name="do" value="sendInvitation">
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<article class="module width_quarter">
<header><h3>Invitation</h3></header>
<div class="module_content">
<fieldset>
<label>E-Mail</label>
<input type="text" name="data[email]" value="{$smarty.request.data.email|escape|default:""}" size="30" />
</fieldset>
<fieldset>
<label>Message</label>
<textarea name="data[message]" rows="5">{$smarty.request.data.message|escape|default:"Please accept my invitation to this awesome pool."}</textarea>
</fieldset>
</div>
<footer>
<div class="submit_link">
<input type="submit" value="Invite" class="alt_btn">
</div>
</footer>
</article>
</form>
<article class="module width_3_quarter">
<header><h3>Past Invitations</h3></header>
<table class="tablesorter" cellspacing="0">
<thead style="font-size:13px;">
<tr>
<th>E-Mail</th>
<th align="center">Sent</th>
<th align="center">Activated</th>
</tr>
</thead>
<tbody>
{section name=invite loop=$INVITATIONS}
<tr>
<td>{$INVITATIONS[invite].email}</td>
<td align="center">{$INVITATIONS[invite].time|date_format:"%d/%m/%Y %H:%M:%S"}</td>
<td align="center"><i class="icon-{if $INVITATIONS[invite].is_activated}ok{else}cancel{/if}"></i></td>
</tr>
{/section}
<tbody>
</table>
</article>

View File

@ -1,111 +0,0 @@
<form action="{$smarty.server.SCRIPT_NAME}" method="POST">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="hidden" name="do" value="save">
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<article class="module width_quarter">
<header>
<h3>Notification Settings</h3>
</header>
<div class="module_content">
<table width="100%">
<tr>
<th align="left">Type</th>
<th align="center">Active</th>
</tr>
{if $DISABLE_IDLEWORKERNOTIFICATIONS|default:"" != 1}
<tr>
<td align="left">IDLE Worker</td>
<td>
<span class="toggle">
<label for="data[idle_worker]">
<input type="hidden" name="data[idle_worker]" value="0" />
<input type="checkbox" class="ios-switch" name="data[idle_worker]" id="data[idle_worker]" value="1"{nocache}{if $SETTINGS['idle_worker']|default:"0" == 1}checked{/if}{/nocache} />
<div class="switch"></div>
</label>
</span>
</td>
</tr>
{/if}
{if $DISABLE_BLOCKNOTIFICATIONS|default:"" != 1}
<tr>
<td align="left">New Blocks</td>
<td>
<span class="toggle">
<label for="data[new_block]">
<input type="hidden" name="data[new_block]" value="0" />
<input type="checkbox" class="ios-switch" name="data[new_block]" id="data[new_block]" value="1"{nocache}{if $SETTINGS['new_block']|default:"0" == 1}checked{/if}{/nocache} />
<div class="switch"></div>
</label>
</span>
</td>
</tr>
{/if}
<tr>
<td align="left">Payout</td>
<td>
<span class="toggle">
<label for="data[payout]">
<input type="hidden" name="data[payout]" value="0" />
<input type="checkbox" class="ios-switch" name="data[payout]" id="data[payout]" value="1"{nocache}{if $SETTINGS['payout']|default:"0" == 1}checked{/if}{/nocache} />
<div class="switch"></div>
</label>
</span>
</td>
</tr>
<tr>
<td align="left">Successful Login</td>
<td>
<span class="toggle">
<label for="data[success_login]">
<input type="hidden" name="data[success_login]" value="0" />
<input type="checkbox" class="ios-switch" name="data[success_login]" id="data[success_login]" value="1"{nocache}{if $SETTINGS['success_login']|default:"0" == 1}checked{/if}{/nocache} />
<div class="switch"></div>
</label>
</span>
</td>
</tr>
</table>
</div>
<footer>
<div class="submit_link">
<input type="submit" value="Update" class="alt_btn">
</div>
</footer>
</article>
</form>
<article class="module width_3_quarter">
<header>
<h3>Notification History</h3>
<div class="submit_link">{include file="global/pagination.tpl"}</div>
</header>
<table width="100%" class="tablesorterpager" cellspacing="0">
<thead style="font-size:13px;">
<tr>
<th align="center" style="cursor: pointer;">ID</th>
<th align="center" style="cursor: pointer;">Time</th>
<th align="center" style="cursor: pointer;">Type</th>
<th align="center" style="cursor: pointer;">Active</th>
</tr>
</thead>
<tbody style="font-size:12px;">
{section notification $NOTIFICATIONS}
<tr class="{cycle values="odd,even"}">
<td align="center">{$NOTIFICATIONS[notification].id}</td>
<td align="center">{$NOTIFICATIONS[notification].time}</td>
<td align="center">
{if $NOTIFICATIONS[notification].type == new_block}New Block
{else if $NOTIFICATIONS[notification].type == payout}Payout
{else if $NOTIFICATIONS[notification].type == idle_worker}IDLE Worker
{else if $NOTIFICATIONS[notification].type == success_login}Successful Login
{/if}
</td>
<td align="center">
<i class="icon-{if $NOTIFICATIONS[notification].active}ok{else}cancel{/if}"></i>
</td>
</tr>
{/section}
</tbody>
</table>
</article>

View File

@ -1,24 +0,0 @@
{if !$GLOBAL.website.api.disabled}
<script type="text/javascript" src="{$PATH}/js/jquery.qrcode.min.js"></script>
<script type="text/javascript">
{literal}
$(document).ready(function(){
$('#qrcodeholder').qrcode({
text : "{/literal}|http{if $smarty.server.HTTPS|default:"0" eq 'on'}s{/if}://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=api|{$GLOBAL.userdata.api_key}|{$GLOBAL.userdata.id}|{$GLOBAL.config.currency|upper}|{literal}",
render : "canvas", // 'canvas' or 'table'. Default value is 'canvas'
background : "#ffffff",
foreground : "#000000",
width : 250,
height: 250
});
});
{/literal}
</script>
<article class="module width_quarter">
<header><h3>API String</h3></header>
<div class="module_content">
<p>This code will allow you to import the full API string into your mobile application.</p>
<div id="qrcodeholder"></div>
</div>
</article>
{/if}

View File

@ -1,108 +0,0 @@
{if $DISABLE_TRANSACTIONSUMMARY|default:"0" != 1}
<article class="module width_full">
<header><h3>Transaction Summary</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
{foreach $SUMMARY as $type=>$total}
<th>{$type}</th>
{/foreach}
</tr>
</thead>
<tbody>
<tr>
{foreach $SUMMARY as $type=>$total}
<td class="right">{$total|number_format:"8"}</td>
{/foreach}
</tr>
</tbody>
</table>
</article>
{/if}
<article class="module width_quarter">
<header><h3>Transaction Filter</h3></header>
<div class="module_content">
<form action="{$smarty.server.SCRIPT_NAME}">
<input type="hidden" name="page" value="{$smarty.request.page|escape}" />
<input type="hidden" name="action" value="{$smarty.request.action|escape}" />
<table cellspacing="0" class="tablesorter">
<tbody>
<tr>
<td align="left">
{if $smarty.request.start|default:"0" > 0}
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&start={$smarty.request.start|escape|default:"0" - $LIMIT}{if $FILTERS|default:""}{$FILTERS}{/if}"><i class="icon-left-open"></i></a>
{else}
<i class="icon-left-open"></i>
{/if}
</td>
<td align="right">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&start={$smarty.request.start|escape|default:"0" + $LIMIT}{if $FILTERS|default:""}{$FILTERS}{/if}"><i class="icon-right-open"></i></a>
</td>
</tr>
</tbody>
</table>
<fieldset>
<label>Type</label>
{html_options name="filter[type]" options=$TRANSACTIONTYPES selected=$smarty.request.filter.type|default:""}
</fieldset>
<fieldset>
<label>Status</label>
{html_options name="filter[status]" options=$TXSTATUS selected=$smarty.request.filter.status|default:""}
</fieldset>
</div>
<footer>
<div class="submit_link">
<input type="submit" value="Filter" class="alt_btn">
</div>
</footer>
</form>
</article>
<article class="module width_3_quarter">
<header><h3>Transaction History</h3></header>
<table cellspacing="0" class="tablesorter" width="100%">
<thead>
<tr>
<th align="center">ID</th>
<th>Date</th>
<th>TX Type</th>
<th align="center">Status</th>
<th>Payment Address</th>
<th>TX #</th>
<th>Block #</th>
<th>Amount</th>
</tr>
</thead>
<tbody style="font-size:12px;">
{section transaction $TRANSACTIONS}
<tr class="{cycle values="odd,even"}">
<td align="center">{$TRANSACTIONS[transaction].id}</td>
<td>{$TRANSACTIONS[transaction].timestamp}</td>
<td>{$TRANSACTIONS[transaction].type}</td>
<td align="center">
{if $TRANSACTIONS[transaction].type == 'Credit_PPS' OR
$TRANSACTIONS[transaction].type == 'Fee_PPS' OR
$TRANSACTIONS[transaction].type == 'Donation_PPS' OR
$TRANSACTIONS[transaction].type == 'Debit_MP' OR
$TRANSACTIONS[transaction].type == 'Debit_AP' OR
$TRANSACTIONS[transaction].type == 'TXFee' OR
$TRANSACTIONS[transaction].confirmations >= $GLOBAL.confirmations
}<span class="confirmed">Confirmed</span>
{else if $TRANSACTIONS[transaction].confirmations == -1}<span class="orphan">Orphaned</span>
{else}<span class="unconfirmed">Unconfirmed</span>{/if}
</td>
<td><a href="#" onClick="alert('{$TRANSACTIONS[transaction].coin_address|escape}')">{$TRANSACTIONS[transaction].coin_address|truncate:20:"...":true:true}</a></td>
{if ! $GLOBAL.website.transactionexplorer.disabled}
<td><a href="{$GLOBAL.website.transactionexplorer.url}{$TRANSACTIONS[transaction].txid|escape}" title="{$TRANSACTIONS[transaction].txid|escape}">{$TRANSACTIONS[transaction].txid|truncate:20:"...":true:true}</a></td>
{else}
<td><a href="#" onClick="alert('{$TRANSACTIONS[transaction].txid|escape}')" title="{$TRANSACTIONS[transaction].txid|escape}">{$TRANSACTIONS[transaction].txid|truncate:20:"...":true:true}</a></td>
{/if}
<td>{if $TRANSACTIONS[transaction].height == 0}n/a{else}<a href="{$smarty.server.SCRIPT_NAME}?page=statistics&action=round&height={$TRANSACTIONS[transaction].height}">{$TRANSACTIONS[transaction].height}</a>{/if}</td>
<td><font color="{if $TRANSACTIONS[transaction].type == 'Credit' or $TRANSACTIONS[transaction].type == 'Credit_PPS' or $TRANSACTIONS[transaction].type == 'Bonus'}green{else}red{/if}">{$TRANSACTIONS[transaction].amount|number_format:"8"}</td>
</tr>
{/section}
</tbody>
</table>
<footer><p style="margin-left: 25px; font-size: 9px;"><b>Debit_AP</b> = Auto Threshold Payment, <b>Debit_MP</b> = Manual Payment, <b>Donation</b> = Donation, <b>Fee</b> = Pool Fees (if applicable)</p></footer>
</article>

View File

@ -1,79 +0,0 @@
<article class="module width_quarter">
<header><h3 class="">Add New Worker</h3></header>
<form action="{$smarty.server.SCRIPT_NAME}" method="post">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="hidden" name="do" value="add">
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<div class="module_content">
<fieldset>
<label>Worker Name</label>
<input type="text" name="username" value="user" size="10" maxlength="20" required>
</fieldset>
<fieldset>
<label>Worker Password</label>
<input type="text" name="password" value="password" size="10" maxlength="20" required>&nbsp;
</fieldset>
<div class="clear"></div>
</div>
<footer>
<div class="submit_link">
<input type="submit" value="Add New Worker" class="alt_btn">
</div>
</footer>
</form>
</article>
<article class="module width_3_quarter">
<header><h3 class="">Worker Configuration</h3></header>
<form action="{$smarty.server.SCRIPT_NAME}" method="post">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="hidden" name="do" value="update">
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="left">Worker Login</th>
<th align="left">Worker Password</th>
<th align="center">Active</th>
{if $GLOBAL.config.disable_notifications != 1 && $DISABLE_IDLEWORKERNOTIFICATIONS != 1}<th align="center">Monitor</th>{/if}
<th align="right">Khash/s</th>
<th align="right">Difficulty</th>
<th align="center" style="padding-right: 25px;">Action</th>
</tr>
</thead>
<tbody>
{nocache}
{section worker $WORKERS}
{assign var="username" value="."|escape|explode:$WORKERS[worker].username:2}
<tr>
<td align="left"{if $WORKERS[worker].hashrate > 0} style="color: orange"{/if}>{$username.0|escape}.<input name="data[{$WORKERS[worker].id}][username]" value="{$username.1|escape}" size="10" required/></td>
<td align="left"><input type="text" name="data[{$WORKERS[worker].id}][password]" value="{$WORKERS[worker].password|escape}" size="10" required></td>
<td align="center"><i class="icon-{if $WORKERS[worker].hashrate > 0}ok{else}cancel{/if}"></i></td>
{if $GLOBAL.config.disable_notifications != 1 && $DISABLE_IDLEWORKERNOTIFICATIONS != 1}
<td>
<span class="toggle">
<label for="data[{$WORKERS[worker].id}][monitor]">
<input type="checkbox" class="ios-switch" name="data[{$WORKERS[worker].id}][monitor]" value="1" id="data[{$WORKERS[worker].id}][monitor]" {if $WORKERS[worker].monitor}checked{/if} />
<div class="switch"></div>
</label>
</span>
</td>
{/if}
<td align="right">{$WORKERS[worker].hashrate|number_format}</td>
<td align="right">{$WORKERS[worker].difficulty|number_format:"2"}</td>
<td align="center" style="padding-right: 25px;"><a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&do=delete&id={$WORKERS[worker].id|escape}&ctoken={$CTOKEN}" class="icn_trash"><i class="icon-trash" /></a></td>
</tr>
{/section}
{/nocache}
</tbody>
</table>
<div class="clear"></div>
<footer>
<div class="submit_link">
<input type="submit" class="alt_btn" value="Update Workers">
</div>
</footer>
</form>
</article>

View File

@ -1,26 +0,0 @@
{nocache}
<table width="100%">
<tr>
<td>
{include file="admin/dashboard/mpos.tpl"}
</td>
</tr>
</table>
<table width="100%">
<tr>
<td>
{include file="admin/dashboard/user.tpl"}
</td>
</tr>
</table>
<table width="100%">
<tr>
<td>
{include file="admin/dashboard/registrations.tpl"}
{if $GLOBAL.config.disable_invitations|default:"0" == 0}
{include file="admin/dashboard/invitation.tpl"}
{/if}
</td>
</tr>
</table>
{/nocache}

View File

@ -1,21 +0,0 @@
{nocache}
<article class="module width_quarter">
<header><h3><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=invitations">Invitations</a></h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">Total</th>
<th align="center">Activated</th>
<th align="center">Outstanding</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">{$INVITATION_INFO.total}</td>
<td align="center">{$INVITATION_INFO.activated}</td>
<td align="center">{$INVITATION_INFO.outstanding}</td>
</tr>
</tbody>
</table>
</article>
{/nocache}

View File

@ -1,71 +0,0 @@
{nocache}
<article class="module width_quarter">
<header><h3>MPOS Version Information</h3></header>
<table width="25%" class="tablesorter" cellspacing="0">
<thead>
<tr>
<th>Component</th>
<th align="center">Current</th>
<th align="center">Installed</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>MPOS</strong></td>
<td align="center"><font color="green">{$VERSION['CURRENT']['CORE']}</font></td>
<td align="center">
<font color="{if $VERSION['INSTALLED']['CORE'] == $VERSION['CURRENT']['CORE']}green{else}red{/if}">{$VERSION['INSTALLED']['CORE']}</font>
</td>
</tr>
<tr>
<td><strong>Config</strong></td>
<td align="center"><font color="green">{$VERSION['CURRENT']['CONFIG']}</font></td>
<td align="center">
<font color="{if $VERSION['INSTALLED']['CONFIG'] == $VERSION['CURRENT']['CONFIG']}green{else}red{/if}">{$VERSION['INSTALLED']['CONFIG']}</font>
</td>
</tr>
<tr>
<td><strong>Database</strong></td>
<td align="center"><font color="green">{$VERSION['CURRENT']['DB']}</font></td>
<td align="center">
<font color="{if $VERSION['INSTALLED']['DB'] == $VERSION['CURRENT']['DB']}green{else}red{/if}">{$VERSION['INSTALLED']['DB']}</font>
</td>
</tr>
</tbody>
</table>
</article>
<article class="module width_quarter">
<header><h3>MPOS Status</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th colspan="2" align="center">Cronjobs</th>
<th align="center">Wallet</th>
</tr>
<tr>
<th align="center"><strong>Errors</strong></th>
<th align="center"><strong>Disabled</strong></th>
<th align="center"><strong>Errors</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">
<a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=monitoring">{if $CRON_ERROR == 0}None - OK{else}{$CRON_ERROR}{/if}</a>
</td>
<td align="center">
<a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=monitoring">{if $CRON_DISABLED == 0}None - OK{else}{$CRON_DISABLED}{/if}</a>
</td>
<td align="center">
<a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=wallet">{$WALLET_ERROR|default:"None - OK"}</a>
</td>
</tr>
</tbody>
</table>
</article>
{/nocache}

View File

@ -1,25 +0,0 @@
{nocache}
<article class="module width_quarter">
<header><h3><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=registrations">Registrations</a></h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">24 hours</th>
<th align="center">7 days</th>
<th align="center">1 month</th>
<th align="center">6 months</th>
<th align="center">1 year</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">{$USER_REGISTRATIONS.24hours}</td>
<td align="center">{$USER_REGISTRATIONS.7days}</td>
<td align="center">{$USER_REGISTRATIONS.1month}</td>
<td align="center">{$USER_REGISTRATIONS.6month}</td>
<td align="center">{$USER_REGISTRATIONS.1year}</td>
</tr>
</tbody>
</table>
</article>
{/nocache}

View File

@ -1,49 +0,0 @@
{nocache}
<article class="module width_quarter">
<header><h3>Users</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">Total</th>
<th align="center">Active</th>
<th align="center">Locked</th>
<th align="center">Admins</th>
<th align="center">No Fees</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">{$USER_INFO.total}</td>
<td align="center">{$USER_INFO.active}</td>
<td align="center">{$USER_INFO.locked}</td>
<td align="center">{$USER_INFO.admins}</td>
<td align="center">{$USER_INFO.nofees}</td>
</tr>
</tbody>
</table>
</article>
<article class="module width_quarter">
<header><h3>Logins</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">24 hours</th>
<th align="center">7 days</th>
<th align="center">1 month</th>
<th align="center">6 months</th>
<th align="center">1 year</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">{$USER_LOGINS.24hours}</td>
<td align="center">{$USER_LOGINS.7days}</td>
<td align="center">{$USER_LOGINS.1month}</td>
<td align="center">{$USER_LOGINS.6month}</td>
<td align="center">{$USER_LOGINS.1year}</td>
</tr>
</tbody>
</table>
</article>
{/nocache}

View File

@ -1,44 +0,0 @@
{nocache}
<article class="module width_full" style="min-height: 150px" name="invitations" id="invitations">
<header><h3>Top Inviters</h3></header>
<div>
<table cellspacing="0" class="tablesorter">
<tbody>
<tr>
<td align="left">
{if $smarty.request.invitersstart|default:"0" > 0}
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&invitersstart={$smarty.request.invitersstart|escape|default:"0" - $LIMIT}{if $FILTERS|default:""}{$FILTERS}{/if}#invitations"><i class="icon-left-open"></i> Previous 10</a>
{else}
<i class="icon-left-open"></i>
{/if}
</td>
<td align="right">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&invitersstart={$smarty.request.invitersstart|escape|default:"0" + $LIMIT}{if $FILTERS|default:""}{$FILTERS}{/if}#invitations">Next 10 <i class="icon-right-open"></i></a>
</td>
</tbody>
</table>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th>Username</th>
<th align="left">eMail</th>
<th align="center">Amount</th>
<th align="center">Outstanding</th>
<th align="center">Activated</th>
</tr>
</thead>
<tbody>
{section inviter $TOPINVITERS}
<tr class="{cycle values="odd,even"}">
<td align="left">{$TOPINVITERS[inviter].username|escape}</td>
<td align="left">{$TOPINVITERS[inviter].email}</td>
<td align="center">{$TOPINVITERS[inviter].invitationcount}</td>
<td align="center">{($TOPINVITERS[inviter].invitationcount - $TOPINVITERS[inviter].activated)|number_format:"0"}</td>
<td align="center">{$TOPINVITERS[inviter].activated}</td>
</tr>
{/section}
</tbody>
</table>
</article>
{/nocache}

View File

@ -1,59 +0,0 @@
<article class="module width_full">
<header><h3>Monitoring</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<th>Cronjob</th>
<th align="center">Disabled</th>
<th align="center">Exit Code</th>
<th align="center">Active</th>
<th align="center">Runtime</th>
<th align="center">Start Time</th>
<th align="center">End Time</th>
<th align="center">Message</th>
</thead>
<tbody>
{foreach $CRONSTATUS as $cron => $data}
<tr>
<td>{$cron}</td>
{foreach $data as $name => $event}
<td align="center">
{if $event.type == 'okerror'}
{if $event.value == 0}
<font color="green">OK</font>
{else}
<font color="red">ERROR</font>
{/if}
{else if $event.type == 'message'}
<i>{$event.value}</i>
{else if $event.type == 'yesno'}
<i class="icon-{if $event.value == 1}ok{else}cancel{/if}"></i>
{else if $event.type == 'time'}
{if $event.value > 60}
<font color="orange">
{else if $event.value > 120}
<font color="red">
{else}
<font color="green">
{/if}
{$event.value|default:"0"|number_format:"2"} seconds
</font>
{else if $event.type == 'date'}
{if ($smarty.now - 180) > $event.value}
<font color="red">
{else if ($smarty.now - 120) > $event.value}
<font color="orange">
{else}
<font color="green">
{/if}
{$event.value|date_format:"%m/%d %H:%M:%S"}
</font>
{else}
{$event.value|default:""}
{/if}
</td>
{/foreach}
</tr>
{/foreach}
</tbody>
</table>
</article>

View File

@ -1,43 +0,0 @@
<script src="{$PATH}/js/cleditor/jquery.cleditor.min.js"></script>
<link rel="stylesheet" href="{$PATH}/js/cleditor/jquery.cleditor.css">
<script type="text/javascript">
$(document).ready(function () { $(".cleditor").cleditor(); });
</script>
<article class="module width_full">
<header><h3>News Posts</h3></header>
<ul><li>News posts support the Markdown syntax</li></ul>
<form method="POST" action="{$smarty.server.SCRIPT_NAME}">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="hidden" name="do" value="add">
<div class="module_content">
<fieldset>
<label>Header</label>
<input size="30" type="text" name="data[header]" required />
</fieldset>
<label>Content</label>
<textarea class="cleditor" name="data[content]" rows="5" required></textarea>
</div>
<footer>
<div class="submit_link">
<input type="submit" value="Add" class="alt_btn">
</div>
</footer>
</form>
</article>
{nocache}
{section name=news loop=$NEWS}
<article class="module width_full">
<header><h3>{$NEWS[news].header} posted {$NEWS[news].time} by {$NEWS[news].author}</h3>
{if $NEWS[news].active == 0}<font size="2px"><font color="red"><b>inactive</b></font><br /><br />{/if}</header>
<div class="module_content">{$NEWS[news].content nofilter}</div>
<footer>
<div class="submit_link">
<a href='{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action=news_edit&id={$NEWS[news].id}'><i class="icon-wrench"></i></a>&nbsp;
<a href='{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&do=delete&id={$NEWS[news].id}'><i class="icon-trash"></i></a>
</div>
</footer>
</article>
{/section}
{/nocache}

View File

@ -1,37 +0,0 @@
<script src="{$PATH}/js/cleditor/jquery.cleditor.min.js"></script>
<link rel="stylesheet" href="{$PATH}/js/cleditor/jquery.cleditor.css">
<script type="text/javascript">
$(document).ready(function () { $(".cleditor").cleditor(); });
</script>
<article class="module width_full">
<header><h3>Edit news entry #{$NEWS.id}</h3></header>
<form method="POST" action="{$smarty.server.SCRIPT_NAME}">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="hidden" name="id" value="{$NEWS.id}">
<input type="hidden" name="do" value="save">
<table class="tablesorter" cellspacing="0">
<tr>
<th>Active</th>
<td>
<input type="hidden" name="active" value="0" />
<input type="checkbox" name="active" value="1" id="active" {nocache}{if $NEWS.active}checked{/if}{/nocache} />
<label for="active"></label>
</td>
</tr>
<tr>
<th>Header</th>
<td><input name="header" type="text" size="30" value="{nocache}{$NEWS.header}{/nocache}" required /></td>
</tr>
<tr>
<th>Content</th>
<td><textarea class="cleditor" name="content" rows="15" cols="150" type="text" required>{nocache}{$NEWS.content nofilter}{/nocache}</textarea></td>
</tr>
</table>
<footer>
<div class="submit_link">
<input type="submit" value="Save" class="alt_btn">
</div>
</footer>
</form>
</article>

View File

@ -1,52 +0,0 @@
<article class="module width_3_quarter">
<header><h3>{$GLOBAL.workers} Current Active Pool Workers</h3></header>
<form action="{$smarty.server.SCRIPT_NAME}">
<input type="hidden" name="page" value="{$smarty.request.page|escape}" />
<input type="hidden" name="action" value="{$smarty.request.action|escape}" />
<table cellspacing="0" class="tablesorter">
<tbody>
<tr>
<td align="left">
{if $smarty.request.start|default:"0" > 0}
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&start={$smarty.request.start|escape|default:"0" - $LIMIT}{if $FILTERS|default:""}{$FILTERS}{/if}"><i class="icon-left-open"></i></a>
{else}
<i class="icon-left-open"></i>
{/if}
</td>
<td align="right">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&start={$smarty.request.start|escape|default:"0" + $LIMIT}{if $FILTERS|default:""}{$FILTERS}{/if}"><i class="icon-right-open"></i></a>
</td>
</tbody>
</form>
</table>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="left">Worker Name</th>
<th align="left">Password</th>
<th align="center">Active</th>
<th align="right">Khash/s</th>
{if $GLOBAL.config.disable_notifications != 1 && $DISABLE_IDLEWORKERNOTIFICATIONS != 1}<th align="center">Monitor</th>{/if}
<th align="right">Difficulty</th>
<th align="right" style="padding-right: 25px;">Avg Difficulty</th>
</tr>
</thead>
{nocache}
{section worker $WORKERS}
<tbody>
<tr>
<td align="left">{$WORKERS[worker].username|escape}</td>
<td align="left">{$WORKERS[worker].password|escape}</td>
<td align="center"><i class="icon-{if $WORKERS[worker].hashrate > 0}ok{else}cancel{/if}"></i></td>
{if $GLOBAL.config.disable_notifications != 1 && $DISABLE_IDLEWORKERNOTIFICATIONS != 1}
<td align="center"><i class="icon-{if $WORKERS[worker].monitor}ok{else}cancel{/if}"></i></td>
{/if}
<td align="right">{$WORKERS[worker].hashrate|number_format|default:"0"}</td>
<td align="right">{if $WORKERS[worker].hashrate > 0}{$WORKERS[worker].difficulty|number_format:"2"|default:"0"}{else}0{/if}</td>
<td align="right" style="padding-right: 25px;">{if $WORKERS[worker].hashrate > 0}{$WORKERS[worker].avg_difficulty|number_format:"2"|default:"0"}{else}0{/if}</td>
</tr>
{/section}
{/nocache}
</tbody>
</table>
</article>

View File

@ -1,46 +0,0 @@
{nocache}
<article class="module width_full" style="min-height: 150px" name="registrations" id="registrations">
<header><h3>Last registered Users</h3></header>
<table cellspacing="0" class="tablesorter">
<tbody>
<tr>
<td align="left">
{if $smarty.request.registeredstart|default:"0" > 0}
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&registeredstart={$smarty.request.registeredstart|escape|default:"0" - $LIMIT}{if $FILTERS|default:""}{$FILTERS}{/if}#registrations"><i class="icon-left-open"></i> Previous 10</a>
{else}
<i class="icon-left-open"></i>
{/if}
</td>
<td align="right">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&registeredstart={$smarty.request.registeredstart|escape|default:"0" + $LIMIT}{if $FILTERS|default:""}{$FILTERS}{/if}#registrations">Next 10 <i class="icon-right-open"></i></a>
</td>
</tbody>
</table>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">ID</th>
<th>Username</th>
<th align="left">eMail</th>
<th align="center">Reg. Date</th>
<th align="center">Invite</th>
<th align="center">Invited from</th>
</tr>
</thead>
<tbody>
{section user $LASTREGISTEREDUSERS}
<tr class="{cycle values="odd,even"}">
<td align="center">{$LASTREGISTEREDUSERS[user].id|escape}</td>
<td>{$LASTREGISTEREDUSERS[user].mposuser}</td>
<td align="left">{$LASTREGISTEREDUSERS[user].email}</td>
<td align="center">{$LASTREGISTEREDUSERS[user].signup_timestamp|date_format:"%d/%m %H:%M:%S"}</td>
<td align="center">{if !$LASTREGISTEREDUSERS[user].inviter}<i class="icon-cancel">{else}<i class="icon-ok">{/if}</td>
<td align="center"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=user&do=query&filter[account]={$LASTREGISTEREDUSERS[user].inviter}">{$LASTREGISTEREDUSERS[user].inviter}</a></td>
</tr>
{/section}
</tbody>
</table>
</article>
{/nocache}

View File

@ -1,2 +0,0 @@
{include file="admin/reports/earnings_control.tpl"}
{include file="admin/reports/earnings_report.tpl"}

View File

@ -1,54 +0,0 @@
<form action="{$smarty.server.SCRIPT_NAME}" method="post">
<input type="hidden" name="page" value="{$smarty.request.page|escape|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape|escape}">
<article class="module width_full">
<header><h3>Earnings Information</h3></header>
<table class="tablesorter">
<tbody>
<td align="left">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&height={if is_array($REPORTDATA) && count($REPORTDATA) > ($BLOCKLIMIT - 1)}{$REPORTDATA[$BLOCKLIMIT - 1].height}{/if}&prev=1&limit={$BLOCKLIMIT}&id={$USERID}&filter={$FILTER}"<i class="icon-left-open"></i></a>
</td>
<td align="right">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&height={if is_array($REPORTDATA) && count($REPORTDATA) > 0}{$REPORTDATA[0].height}{/if}&next=1&limit={$BLOCKLIMIT}&id={$USERID}&filter={$FILTER}"><i class="icon-right-open"></i></a>
</td>
</tr>
</tbody>
</table>
<table class="tablesorter">
<tbody>
<tr>
<td>
<fieldset style="width:200px; padding-right:8px;">
<label>Select User</label>
{html_options name="id" options=$USERLIST selected=$USERID|default:"0"}
</fieldset>
</td>
<td>
<fieldset style="width:200px; padding-right:8px;">
<label>Block Limit</label>
<input size="10" type="text" name="limit" value="{$BLOCKLIMIT|default:"20"}" />
</fieldset>
</td>
<td>
<fieldset style="width:200px; padding-right:8px;">
<label>Starting block height</label>
<input type="text" class="pin" name="search" value="{$HEIGHT|default:"%"}">
</fieldset>
</td>
<td><b>SHOW EMPTY ROUNDS</b><br><br>
<span style="margin: 0px 28px;" class="toggle">
<label for="filter">
<input type="checkbox" class="ios-switch" name="filter" value="1" id="filter" {if $FILTER}checked{/if} />
<div class="switch"></div>
</label>
</span>
</td>
</tbody>
</table>
<footer>
<div class="submit_link">
<input type="submit" value="Submit" class="alt_btn">
</div>
</footer>
</article>
</form>

View File

@ -1,94 +0,0 @@
<article class="module width_full">
<header><h3>Earnings Report Last {$BLOCKLIMIT} Blocks For User: {$USERNAME}</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th >Block</th>
<th align="right">Round Shares</th>
<th align="right">Round Valid</th>
<th align="right">Invalid</th>
<th align="right">Invalid %</th>
<th align="right">Round %</th>
{if $GLOBAL.config.payout_system == 'pplns'}
<th align="right">PPLNS Shares</th>
<th align="right">PPLNS Valid</th>
<th align="right">Invalid</th>
<th align="right">Invalid %</th>
<th align="right">PPLNS %</th>
<th align="right">Variance</th>
{/if}
<th align="right" style="padding-right: 25px;">Amount</th>
</tr>
</thead>
<tbody>
{assign var=percentage value=0}
{assign var=percentage1 value=0}
{assign var=percentage2 value=0}
{assign var=totalvalid value=0}
{assign var=totalinvalid value=0}
{assign var=totalshares value=0}
{assign var=usertotalshares value=0}
{assign var=totalpercentage value=0}
{assign var=pplnsshares value=0}
{assign var=userpplnsshares value=0}
{assign var=pplnsvalid value=0}
{assign var=pplnsinvalid value=0}
{assign var=amount value=0}
{section txs $REPORTDATA}
{assign var="totalshares" value=$totalshares+$REPORTDATA[txs].shares}
{assign var=totalvalid value=$totalvalid+$REPORTDATA[txs]['user'].valid}
{assign var=totalinvalid value=$totalinvalid+$REPORTDATA[txs]['user'].invalid}
{assign var="pplnsshares" value=$pplnsshares+$REPORTDATA[txs].pplns_shares}
{assign var=pplnsvalid value=$pplnsvalid+$REPORTDATA[txs]['user'].pplns_valid}
{assign var=pplnsinvalid value=$pplnsinvalid+$REPORTDATA[txs]['user'].pplns_invalid}
{assign var=amount value=$amount+$REPORTDATA[txs].user_credit}
{if $REPORTDATA[txs]['user'].pplns_valid > 0}
{assign var="userpplnsshares" value=$userpplnsshares+$REPORTDATA[txs].pplns_shares}
{/if}
{if $REPORTDATA[txs]['user'].valid > 0}
{assign var="usertotalshares" value=$usertotalshares+$REPORTDATA[txs].shares}
{/if}
<tr>
<td><a href="{$smarty.server.SCRIPT_NAME}?page=statistics&action=round&height={$REPORTDATA[txs].height}">{$REPORTDATA[txs].height|default:"0"}</a></td>
<td align="right">{$REPORTDATA[txs].shares|default:"0"}</td>
<td align="right">{$REPORTDATA[txs]['user'].valid|number_format|default:"0"}</td>
<td align="right">{$REPORTDATA[txs]['user'].invalid|number_format|default:"0"}</td>
<td align="right">{if $REPORTDATA[txs]['user'].invalid > 0 }{($REPORTDATA[txs]['user'].invalid / $REPORTDATA[txs]['user'].valid * 100)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
<td align="right">{if $REPORTDATA[txs]['user'].valid > 0 }{(( 100 / $REPORTDATA[txs].shares) * $REPORTDATA[txs]['user'].valid)|number_format:"2"}{else}0.00{/if}</td>
{if $GLOBAL.config.payout_system == 'pplns'}
<td align="right">{$REPORTDATA[txs].pplns_shares|number_format|default:"0"}</td>
<td align="right">{$REPORTDATA[txs]['user'].pplns_valid|number_format|default:"0"}</td>
<td align="right">{$REPORTDATA[txs]['user'].pplns_invalid|number_format|default:"0"}</td>
<td align="right">{if $REPORTDATA[txs]['user'].pplns_invalid > 0 && $REPORTDATA[txs]['user'].pplns_valid > 0 }{($REPORTDATA[txs]['user'].pplns_invalid / $REPORTDATA[txs]['user'].pplns_valid * 100)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
<td align="right">{if $REPORTDATA[txs].shares > 0 && $REPORTDATA[txs]['user'].pplns_valid > 0}{(( 100 / $REPORTDATA[txs].pplns_shares) * $REPORTDATA[txs]['user'].pplns_valid)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
<td align="right">{if $REPORTDATA[txs]['user'].valid > 0 && $REPORTDATA[txs]['user'].pplns_valid > 0}{math assign="percentage1" equation=(100 / ((( 100 / $REPORTDATA[txs].shares) * $REPORTDATA[txs]['user'].valid) / (( 100 / $REPORTDATA[txs].pplns_shares) * $REPORTDATA[txs]['user'].pplns_valid)))}{else if $REPORTDATA[txs]['user'].pplns_valid == 0}{assign var=percentage1 value=0}{else}{assign var=percentage1 value=100}{/if}
<font color="{if ($percentage1 >= 100)}green{else}red{/if}">{$percentage1|number_format:"2"|default:"0"}</font></b></td>
{/if}
<td align="right" style="padding-right: 25px;">{$REPORTDATA[txs].user_credit|default:"0"|number_format:"8"}</td>
{assign var=percentage1 value=0}
</tr>
{/section}
<tr>
<td><b>Totals</b></td>
<td align="right">{$totalshares|number_format}</td>
<td align="right">{$totalvalid|number_format}</td>
<td align="right">{$totalinvalid|number_format}</td>
<td align="right">{if $totalinvalid > 0 && $totalvalid > 0 }{($totalinvalid / $totalvalid * 100)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
<td align="right">{if $usertotalshares > 0 && $totalvalid > 0}{(( 100 / $usertotalshares) * $totalvalid)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
{if $GLOBAL.config.payout_system == 'pplns'}
<td align="right">{$pplnsshares|number_format}</td>
<td align="right">{$pplnsvalid|number_format}</td>
<td align="right">{$pplnsinvalid|number_format}</td>
<td align="right">{if $pplnsinvalid > 0 && $pplnsvalid > 0 }{($pplnsinvalid / $pplnsvalid * 100)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
<td align="right">{if $userpplnsshares > 0 && $pplnsvalid > 0}{(( 100 / $userpplnsshares) * $pplnsvalid)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
<td align="right">{if $totalvalid > 0 && $pplnsvalid > 0}{math assign="percentage2" equation=(100 / ((( 100 / $usertotalshares) * $totalvalid) / (( 100 / $userpplnsshares) * $pplnsvalid)))}{else if $pplnsvalid == 0}{assign var=percentage2 value=0}{else}{assign var=percentage2 value=100}{/if}
<font color="{if ($percentage2 >= 100)}green{else}red{/if}">{$percentage2|number_format:"2"|default:"0"}</font></b></td>
{/if}
<td align="right" style="padding-right: 25px;">{$amount|default:"0"|number_format:"8"}</td>
{assign var=percentage2 value=0}
</tr>
</tbody>
</table>
<footer>
</footer>
</article>

View File

@ -1,42 +0,0 @@
<article class="module width_full">
<form method="POST">
<input type="hidden" name="page" value="{$smarty.request.page|escape}" />
<input type="hidden" name="action" value="{$smarty.request.action|escape}" />
<input type="hidden" name="do" value="save" />
<header>
<h3 class="tabs_involved">Settings</h3>
<ul style="margin: 10px 20px 0px 0px;" class="tabs">
{foreach item=TAB from=array_keys($SETTINGS)}
<li><a href="#{$TAB}">{$TAB|capitalize}</a></li>
{/foreach}
</ul>
</header>
<div class="tab_container">
{foreach item=TAB from=array_keys($SETTINGS)}
<div class="tab_content module_content" id="{$TAB}">
<br />
{section name=setting loop=$SETTINGS.$TAB}
<fieldset>
<label>{$SETTINGS.$TAB[setting].display}</label>
{if $SETTINGS.$TAB[setting].tooltip|default}<span style="font-size: 10px;">{$SETTINGS.$TAB[setting].tooltip}</span>{/if}
{if $SETTINGS.$TAB[setting].type == 'select'}
{html_options name="data[{$SETTINGS.$TAB[setting].name}]" options=$SETTINGS.$TAB[setting].options selected=$SETTINGS.$TAB[setting].value|default:$SETTINGS.$TAB[setting].default}
{else if $SETTINGS.$TAB[setting].type == 'text'}
<input type="text" size="{$SETTINGS.$TAB[setting].size}" name="data[{$SETTINGS.$TAB[setting].name}]" value="{$SETTINGS.$TAB[setting].value|default:$SETTINGS.$TAB[setting].default|escape:"html"}" />
{else if $SETTINGS.$TAB[setting].type == 'textarea'}
<textarea name="data[{$SETTINGS.$TAB[setting].name}]" cols="{$SETTINGS.$TAB[setting].size|default:"1"}" rows="{$SETTINGS.$TAB[setting].height|default:"1"}">{$SETTINGS.$TAB[setting].value|default:$SETTINGS.$TAB[setting].default}</textarea>
{else}
Unknown option type: {$SETTINGS.$TAB[setting].type}
{/if}
</fieldset>
{/section}
</div>
{/foreach}
</div>
<footer>
<div class="submit_link">
<input type="submit" value="Save" class="alt_btn">
</div>
</footer>
</form>
</article>

View File

@ -1,75 +0,0 @@
<article class="module width_quarter">
<header><h3>Select Page</h3></header>
<div class="templates-tree" id="templates-tree">
{include file="admin/templates/tree.tpl" files=$TEMPLATES prefix=""}
</div>
<link rel='stylesheet' type='text/css' href='{$PATH}/js/dynatree/skin/ui.dynatree.css'>
<script type="text/javascript" src="{$PATH}/js/jquery.cookie.js"></script>
<script type="text/javascript" src="{$PATH}/js/jquery-ui.custom.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/dynatree/jquery.dynatree.min.js"></script>
<script>
$(function() {
$("#templates-tree").each(function() {
$(this).find("li").each(function() {
if($(this).find("li.dynatree-activated").length) {
$(this).attr("data", "addClass:'dynatree-has-activated'");
}
});
}).dynatree({
minExpandLevel: 2,
clickFolderMode: 2,
selectMode: 1,
persist: true,
//To show the active template onLoad
onPostInit: function(isReloading, isError) {
this.reactivate();
},
onActivate: function(node) {
if( node.tree.isUserEvent() && node.data.href )
location.href = node.data.href;
}
});
});
</script>
<style>
.templates-tree .dynatree-container { border: none; }
.templates-tree span.dynatree-folder a { font-weight: normal; }
.templates-tree span.dynatree-active a,
.templates-tree span.dynatree-has-activated a,
.templates-tree span.dynatree-activated a { font-weight: bold; }
</style>
<footer>
<ul><li>Bold templates are activated</li></ul>
</footer>
</article>
<article class="module width_3_quarter">
<header><h3> Edit template '{$CURRENT_TEMPLATE}' </h3></header>
<form method="POST" action="{$smarty.server.SCRIPT_NAME}">
<input type="hidden" name="page" value="{$smarty.request.page}">
<input type="hidden" name="action" value="{$smarty.request.action}">
<input type="hidden" name="template" value="{$CURRENT_TEMPLATE}">
<input type="hidden" name="do" value="save">
<div class="module_content">
<fieldset>
<label>Active</label>
<input type="hidden" name="active" value="0" />
<input type="checkbox" name="active" value="1" id="active" {nocache}{if $DATABASE_TEMPLATE.active}checked{/if}{/nocache} />
<label for="active" style="margin: -1px 0px 0px -186px;"></label>
</fieldset>
<fieldset>
<label>Content</label>
<textarea name="content" rows="15" type="text" required>{nocache}{$DATABASE_TEMPLATE.content nofilter}{/nocache}</textarea>
</fieldset>
<fieldset>
<label>Original Template Content</label>
<textarea readonly rows="15" type="text" required>{nocache}{$ORIGINAL_TEMPLATE nofilter}{/nocache}</textarea>
</fieldset>
</div>
<footer>
<div class="submit_link">
<input type="submit" value="Save" class="alt_btn">
</div>
</footer>
</form>
</article>

View File

@ -1,27 +0,0 @@
<ul>
{foreach from=$files item="value" key="file"}
{if $file != 'master.tpl'}
{if is_array($value)}
<li class="folder">
{$file}
{assign var="new_prefix" value="$prefix$file/"}
{include file="admin/templates/tree.tpl" files=$value prefix=$new_prefix}
</li>
{else}
{assign var="path" value="$prefix$file"}
{assign var="classes" value=array()}
{if array_key_exists($path, $ACTIVE_TEMPLATES)}
{assign var="tmp" value=array_push($classes,"dynatree-activated")}
{/if}
{if $CURRENT_TEMPLATE eq $path}
{assign var="tmp" value=array_push($classes,"dynatree-active")}
{/if}
{assign var="classes" value=join(" ", $classes)}
<li{if $classes} class="{$classes}" data="addClass:'{$classes}'{if strpos("dynatree-active", $classes) !== false}, activate: true{/if}"{/if}>
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page}&action={$smarty.request.action}&template={$prefix}{$file}">{$file}</a>
</li>
{/if}
{/if}
{/foreach}
</ul>

View File

@ -1,117 +0,0 @@
{if $DISABLE_TRANSACTIONSUMMARY|default:"0" != 1}
<article class="module width_full">
<header><h3>Transaction Summary</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
{foreach $SUMMARY as $type=>$total}
<th>{$type}</th>
{/foreach}
</tr>
</thead>
<tbody>
<tr>
{foreach $SUMMARY as $type=>$total}
<td class="right">{$total|number_format:"8"}</td>
{/foreach}
</tr>
</tbody>
</table>
</article>
{/if}
<article class="module width_quarter">
<header><h3>Transaction Filter</h3></header>
<div class="module_content">
<form action="{$smarty.server.SCRIPT_NAME}">
<input type="hidden" name="page" value="{$smarty.request.page|escape}" />
<input type="hidden" name="action" value="{$smarty.request.action|escape}" />
<table cellspacing="0" class="tablesorter">
<tbody>
<tr>
<td align="left">
{if $smarty.request.start|default:"0" > 0}
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&start={$smarty.request.start|escape|default:"0" - $LIMIT}{if $FILTERS|default:""}{$FILTERS}{/if}"><i class="icon-left-open"></i></a>
{else}
<i class="icon-left-open"></i>
{/if}
</td>
<td align="right">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&start={$smarty.request.start|escape|default:"0" + $LIMIT}{if $FILTERS|default:""}{$FILTERS}{/if}"><i class="icon-right-open"></i></a>
</td>
</tbody>
</table>
<fieldset>
<label>Type</label>
{html_options name="filter[type]" options=$TRANSACTIONTYPES selected=$smarty.request.filter.type|default:""}
</fieldset>
<fieldset>
<label>Status</label>
{html_options name="filter[status]" options=$TXSTATUS selected=$smarty.request.filter.status|default:""}
</fieldset>
<fieldset>
<label>Account</label>
<input size="20" type="text" name="filter[account]" value="{$smarty.request.filter.account|default:""}" />
</fieldset>
<fieldset>
<label>Address</label>
<input size="20" type="text" name="filter[address]" value="{$smarty.request.filter.address|default:""}" />
</fieldset>
</div>
<footer>
<div class="submit_link">
<input type="submit" value="Filter" class="alt_btn">
</div>
</footer>
</form>
</article>
<article class="module width_3_quarter">
<header><h3>Transaction History</h3></header>
<table cellspacing="0" class="tablesorter" width="100%">
<thead>
<tr>
<th align="center">ID</th>
<th>Account</th>
<th>Date</th>
<th>TX Type</th>
<th align="center">Status</th>
<th>Payment Address</th>
<th>TX #</th>
<th>Block #</th>
<th>Amount</th>
</tr>
</thead>
<tbody style="font-size:12px;">
{section transaction $TRANSACTIONS}
<tr class="{cycle values="odd,even"}">
<td align="center">{$TRANSACTIONS[transaction].id}</td>
<td>{$TRANSACTIONS[transaction].username}</td>
<td>{$TRANSACTIONS[transaction].timestamp}</td>
<td>{$TRANSACTIONS[transaction].type}</td>
<td align="center">
{if $TRANSACTIONS[transaction].type == 'Credit_PPS' OR
$TRANSACTIONS[transaction].type == 'Fee_PPS' OR
$TRANSACTIONS[transaction].type == 'Donation_PPS' OR
$TRANSACTIONS[transaction].type == 'Debit_MP' OR
$TRANSACTIONS[transaction].type == 'Debit_AP' OR
$TRANSACTIONS[transaction].type == 'TXFee' OR
$TRANSACTIONS[transaction].confirmations >= $GLOBAL.confirmations
}<span class="confirmed">Confirmed</span>
{else if $TRANSACTIONS[transaction].confirmations == -1}<span class="orphan">Orphaned</span>
{else}<span class="unconfirmed">Unconfirmed</span>{/if}
</td>
<td><a href="#" onClick="alert('{$TRANSACTIONS[transaction].coin_address|escape}')">{$TRANSACTIONS[transaction].coin_address|truncate:20:"...":true:true}</a></td>
{if ! $GLOBAL.website.transactionexplorer.disabled}
<td><a href="{$GLOBAL.website.transactionexplorer.url}{$TRANSACTIONS[transaction].txid|escape}" title="{$TRANSACTIONS[transaction].txid|escape}">{$TRANSACTIONS[transaction].txid|truncate:20:"...":true:true}</a></td>
{else}
<td><a href="#" onClick="alert('{$TRANSACTIONS[transaction].txid|escape}')" title="{$TRANSACTIONS[transaction].txid|escape}">{$TRANSACTIONS[transaction].txid|truncate:20:"...":true:true}</a></td>
{/if}
<td>{if $TRANSACTIONS[transaction].height == 0}n/a{else}<a href="{$smarty.server.SCRIPT_NAME}?page=statistics&action=round&height={$TRANSACTIONS[transaction].height}">{/if}{$TRANSACTIONS[transaction].height}</a></td>
<td><font color="{if $TRANSACTIONS[transaction].type == 'Credit' or $TRANSACTIONS[transaction].type == 'Credit_PPS' or $TRANSACTIONS[transaction].type == 'Bonus'}green{else}red{/if}">{$TRANSACTIONS[transaction].amount|number_format:"8"}</td>
</tr>
{/section}
</tbody>
</table>
<footer><font size="1"><b>Credit_AP</b> = Auto Threshold Payment, <b>Credit_MP</b> = Manual Payment, <b>Donation</b> = Donation, <b>Fee</b> = Pool Fees (if applicable)</font></footer>
</article>

View File

@ -1,147 +0,0 @@
<script language="javascript">
function storeFee(id) {
$.ajax({
type: "POST",
url: "{$smarty.server.SCRIPT_NAME}",
data: "page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&do=fee&account_id=" + id,
});
}
function storeLock(id) {
$.ajax({
type: "POST",
url: "{$smarty.server.SCRIPT_NAME}",
data: "page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&do=lock&account_id=" + id,
});
}
function storeAdmin(id) {
$.ajax({
type: "POST",
url: "{$smarty.server.SCRIPT_NAME}",
data: "page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&do=admin&account_id=" + id,
});
}
</script>
<article class="module width_full">
<header><h3>User Search</h3></header>
<div class="module_content">
<form action="{$smarty.server.SCRIPT_NAME}">
<input type="hidden" name="page" value="{$smarty.request.page|escape}" />
<input type="hidden" name="action" value="{$smarty.request.action|escape}" />
<input type="hidden" name="do" value="query" />
<table cellspacing="0" class="tablesorter">
<tbody>
<tr>
<td align="left">
{if $smarty.request.start|default:"0" > 0}
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&start={$smarty.request.start|escape|default:"0" - $LIMIT}{if $FILTERS|default:""}{$FILTERS}{/if}"><i class="icon-left-open"></i> Previous 30</a>
{else}
<i class="icon-left-open"></i>
{/if}
</td>
<td align="right">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&start={$smarty.request.start|escape|default:"0" + $LIMIT}{if $FILTERS|default:""}{$FILTERS}{/if}">Next 30 <i class="icon-right-open"></i></a>
</td>
</tbody>
</table>
<fieldset>
<label>Account</label>
<input size="20" type="text" name="filter[account]" value="{$smarty.request.filter.account|default:""}" />
</fieldset>
<fieldset>
<label>E-Mail</label>
<input size="20" type="text" name="filter[email]" value="{$smarty.request.filter.email|default:""}" />
</fieldset>
<fieldset>
<label>Is Admin</label>
{html_options name="filter[is_admin]" options=$ADMIN selected=$smarty.request.filter.is_admin|default:""}
</fieldset>
<fieldset>
<label>Is Locked</label>
{html_options name="filter[is_locked]" options=$LOCKED selected=$smarty.request.filter.is_locked|default:""}
</fieldset>
<fieldset>
<label>No Fees</label>
{html_options name="filter[no_fees]" options=$NOFEE selected=$smarty.request.filter.no_fees|default:""}
</fieldset>
<ul>
<li>Note: Text search fields support '%' as wildcard.</li>
</ul>
</div>
<footer>
<div class="submit_link">
<input type="submit" value="Search" class="alt_btn">
</div>
</footer>
</form>
</article>
<article class="module width_full">
<header>
<h3>User Information</h3>
</header>
<table cellspacing="0" width="100%" class="tablesorter">
<thead>
<tr>
<th align="center">ID</th>
<th align="left">Username</th>
<th align="left">E-Mail</th>
<th align="right" style="padding-right:10px">Shares</th>
<th align="right" style="padding-right:10px">Hashrate</th>
{if $GLOBAL.config.payout_system != 'pps'}
<th align="right" style="padding-right:10px">Est. Donation</th>
<th align="right" style="padding-right:10px">Est. Payout</th>
{else}
<th align="right" colspan="2" style="padding-right:10px">Est. 24 Hours</th>
{/if}
<th align="right" style="padding-right:10px">Balance</th>
<th align="right" style="padding-right:10px">Reg. Date</th>
<th align="right" style="padding-right:10px">Last Login</th>
<th align="center">Admin</th>
<th align="center">Locked</th>
<th align="center">No Fees</th>
</tr>
</thead>
<tbody>
{nocache}
{section name=user loop=$USERS|default}
<tr>
<td align="center">{$USERS[user].id}</td>
<td align="left">{$USERS[user].username|escape}</td>
<td align="left">{$USERS[user].email|escape}</td>
<td align="right">{$USERS[user].shares.valid}</td>
<td align="right">{$USERS[user].hashrate}</td>
{if $GLOBAL.config.payout_system != 'pps'}
<td align="right">{$USERS[user].estimates.donation|number_format:"8"}</td>
<td align="right">{$USERS[user].estimates.payout|number_format:"8"}</td>
{else}
<td align="right" colspan="2">{$USERS[user].estimates.hours24|number_format:"8"}</td>
{/if}
<td align="right">{$USERS[user].balance|number_format:"8"}</td>
<td align="right">{$USERS[user].signup_timestamp|date_format:"%d/%m %H:%M:%S"}</td>
<td align="right">{$USERS[user].last_login|date_format:"%d/%m %H:%M:%S"}</td>
<td align="center">
<input type="hidden" name="admin[{$USERS[user].id}]" value="0"/>
<input type="checkbox" onclick="storeAdmin({$USERS[user].id})" name="admin[{$USERS[user].id}]" value="1" id="admin[{$USERS[user].id}]" {if $USERS[user].is_admin}checked{/if} />
<label for="admin[{$USERS[user].id}]"></label>
</td>
<td align="center">
<input type="hidden" name="locked[{$USERS[user].id}]" value="0"/>
<input type="checkbox" onclick="storeLock({$USERS[user].id})" name="locked[{$USERS[user].id}]" value="1" id="locked[{$USERS[user].id}]" {if $USERS[user].is_locked}checked{/if} />
<label for="locked[{$USERS[user].id}]"></label>
</td>
<td align="center">
<input type="hidden" name="nofee[{$USERS[user].id}]" value="0"/>
<input type="checkbox" onclick="storeFee({$USERS[user].id})" name="nofee[{$USERS[user].id}]" value="1" id="nofee[{$USERS[user].id}]" {if $USERS[user].no_fees}checked{/if} />
<label for="nofee[{$USERS[user].id}]"></label>
</td>
</tr>
{sectionelse}
<tr>
<td colspan="10"></td>
</tr>
{/section}
{/nocache}
</tbody>
</table>
</article>

View File

@ -1,103 +0,0 @@
{if $ADDRESSCOUNT > 1}
<article class="module width_full">
<header><h3>Wallet Information</h3></header>
{/if}
<article class="module width_quarter">
<header><h3>Balance Summary</h3></header>
<table width="25%" class="tablesorter" cellspacing="0">
<tr>
<td align="left">Wallet Balance</td>
<td align="left">{$BALANCE|number_format:"8"}</td>
</tr>
<tr>
<td align="left">Locked for users</td>
<td align="left">{$LOCKED|number_format:"8"}</td>
</tr>
<tr>
<td align="left">Unconfirmed</td>
<td align="left">{$UNCONFIRMED|number_format:"8"}</td>
</tr>
{if $NEWMINT >= 0}
<tr>
<td align="left">Liquid Assets</td>
{if $GLOBAL.config.getbalancewithunconfirmed}
<td align="left">{($BALANCE - $LOCKED - $UNCONFIRMED + $NEWMINT|default:"0")|number_format:"8"}</td>
{else}
<td align="left">{($BALANCE - $LOCKED + $NEWMINT|default:"0")|number_format:"8"}</td>
{/if}
</tr>
<tr>
<td align="left">PoS New Mint</td>
<td align="left">{$NEWMINT|number_format:"8"}</td>
</tr>
{else}
<tr>
<td align="left">Liquid Assets</td>
<td align="left">{($BALANCE - $LOCKED - $UNCONFIRMED)|number_format:"8"}</td>
</tr>
{/if}
</table>
</article>
<article class="module width_3_quarter">
<header><h3>Wallet Status</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<th align="center">Version</th>
<th align="center">Protocol Version</th>
<th align="center">Wallet Version</th>
<th align="center">Connections</th>
<th align="center">Errors</th>
</thead>
<tbody>
<tr>
<td align="center">{$COININFO.version|default:""}</td>
<td align="center">{$COININFO.protocolversion|default:""}</td>
<td align="center">{$COININFO.walletversion|default:""}</td>
<td align="center">{$COININFO.connections|default:""}</td>
<td align="center"><font color="{if $COININFO.errors}red{else}green{/if}">{$COININFO.errors|default:"OK"}</font></td>
</tr>
</tbody>
</table>
</article>
{if $ADDRESSCOUNT > 1}
</article>
<article class="module width_full">
<header><h3>Number of Accounts in Wallet: {$ADDRESSCOUNT|default:"0"}</h3></header>
{foreach key=NAME item=VALUE from=$ACCOUNTS}
<article class="module width_full">
<header><h3>Account: {$NAME|default:"Default"}</h3></header>
<article class="module width_quarter">
<header><h3>Balance Info</h3></header>
<table width="40%" class="tablesorter" cellspacing="0">
<tr>
<td align="left">Balance</td>
<td align="left">{$VALUE|number_format:"8"}</td>
</tr>
</table>
</article>
{foreach key=ACCOUNT item=ADDRESS from=$ACCOUNTADDRESSES}
{if $ACCOUNT == $NAME}
<article class="module width_3_quarter">
<header><h3>Addresses assigned to Account {$ACCOUNT|default:"Default"}</h3></header>
<table class="tablesorter" cellspacing="0">
<tbody>
{foreach from=$ACCOUNTADDRESSES[$ACCOUNT] key=ACCOUNT1 item=ADDRESS1}
{if $ADDRESS1@iteration is even by 1}
<td align="left" style="padding-right: 25px;">{$ADDRESS1}</td>
</tr>
{else}
<tr>
<td align="left" style="padding-right: 25px;">{$ADDRESS1}</td>
{/if}
{/foreach}
</tbody>
</table>
</article>
{/if}
{/foreach}
</article>
{/foreach}
</article>
{/if}

View File

@ -1,29 +0,0 @@
<form action="{$smarty.server.SCRIPT_NAME}" method="post">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="contactform">
<article class="module width_3_quarter">
<header><h3>Contact Us</h3></header>
<div class="module_content">
<fieldset>
<label for="senderName">Your Name</label>
<input type="text" class="text tiny" name="senderName" value="" placeholder="Please type your name" size="15" maxlength="100" required />
</fieldset>
<fieldset>
<label for="senderEmail">Your Email Address</label>
<input type="text" class="text tiny" name="senderEmail" value="" placeholder="Please type your email" size="50" maxlength="100" required />
</fieldset>
<fieldset>
<label for="senderEmail">Your Subject</label>
<input type="text" class="text tiny" name="senderSubject" value="{$smarty.request.senderSubject|escape|default:""}" placeholder="Please type your subject" size="15" maxlength="100" required />
</fieldset>
<fieldset>
<label for="message">Your Message</label>
<textarea type="text" name="senderMessage" cols="80" rows="10" maxlength="10000" required>{$smarty.request.senderMessage|escape|default:""}</textarea>
</fieldset>
<center>{nocache}{$RECAPTCHA|default:"" nofilter}{/nocache}</center>
</div>
<footer>
<div class="submit_link"><input type="submit" class="alt_btn" name="sendMessage" value="Send Email" /></div>
</footer>
</article>
</form>

View File

@ -1,29 +0,0 @@
<form action="{$smarty.server.SCRIPT_NAME}" method="post">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="contactform">
<article class="module width_3_quarter">
<header><h3>Contact Us</h3></header>
<div class="module_content">
<fieldset>
<label for="senderName">Your Name</label>
<input type="text" class="text tiny" name="senderName" value="{$smarty.request.senderName|escape|default:""}" placeholder="Please type your name" size="15" maxlength="100" required />
</fieldset>
<fieldset>
<label for="senderEmail">Your Email Address</label>
<input type="text" class="text tiny" name="senderEmail" value="{$smarty.request.senderEmail|escape|default:""}" placeholder="Please type your email" size="50" maxlength="100" required />
</fieldset>
<fieldset>
<label for="senderEmail">Your Subject</label>
<input type="text" class="text tiny" name="senderSubject" value="{$smarty.request.senderSubject|escape|default:""}" placeholder="Please type your subject" size="15" maxlength="100" required />
</fieldset>
<fieldset>
<label for="message">Your Message</label>
<textarea type="text" name="senderMessage" cols="80" rows="10" maxlength="10000" required>{$smarty.request.senderMessage|escape|default:""}</textarea>
</fieldset>
<center>{nocache}{$RECAPTCHA|default:"" nofilter}{/nocache}</center>
</div>
<footer>
<div class="submit_link"><input type="submit" class="alt_btn" name="sendMessage" value="Send Email" /></div>
</footer>
</article>
</form>

View File

@ -1,10 +0,0 @@
<article class="module width_full">
<header><h3>Contact &amp; Support</h3></header>
<div class="module_content">
<center>
<table width="100%">
<p>This product comes 'as-is' without any warranty. Please check the Apache License, Version 2.0, for details.</p>
</table>
</center>
</div>
</article>

View File

@ -1,49 +0,0 @@
<article class="module width_quarter">
<header><h3>Account Information</h3></header>
<table class="tablesorter" cellspacing="0">
<tr>
<td colspan="2">
{if $GLOBAL.userdata.no_fees}
You are mining without any pool fees applied and
{else if $GLOBAL.fees > 0}
You are mining at <font color="orange">{if $GLOBAL.fees < 0.0001}{$GLOBAL.fees|escape|number_format:"8"}{else}{$GLOBAL.fees|escape}{/if}%</font> pool fee and
{else}
This pool does not apply fees and
{/if}
{if $GLOBAL.userdata.donate_percent > 0}
you donate <font color="green">{$GLOBAL.userdata.donate_percent|escape}%</font>.
{else}
you are not <a href="{$smarty.server.SCRIPT_NAME}?page=account&action=edit">donating</a>.
{/if}
</td>
</tr>
</table>
<table class="tablesorter" cellspacing="0">
<thead>
<tr><th colspan="2"><b>{$GLOBAL.config.currency} Account Balance</b></th></tr>
</thead>
<tr>
<td align="left" style="font-weight: bold;">Confirmed</td>
<td align="right"><span id="b-confirmed" class="confirmed" style="width: calc(140px); font-size: 12px;">{$GLOBAL.userdata.balance.confirmed|number_format:"6"}</span></td>
</tr>
<tr>
<td align="left" style="font-weight: bold;">Unconfirmed</td>
<td align="right"><span id="b-unconfirmed" class="unconfirmed" style="width: calc(140px); font-size: 12px;">{$GLOBAL.userdata.balance.unconfirmed|number_format:"6"}</span></td>
</tr>
</table>
{if !$DISABLED_DASHBOARD and !$DISABLED_DASHBOARD_API}
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="left">Worker</th>
<th align="right">Hashrate</th>
<th align="right" style="padding-right: 10px;">Difficulty</th>
</tr>
</thead>
<tbody id="b-workers">
<td colspan="3" align="center">No worker information available</td>
</tbody>
</tr>
</table>
{/if}
</article>

View File

@ -1,11 +0,0 @@
{if $smarty.session.AUTHENTICATED|default}
{include file="dashboard/overview.tpl"}
{include file="dashboard/system_stats.tpl"}
{include file="dashboard/round_data.tpl"}
{include file="dashboard/account_data.tpl"}
{if !$DISABLED_DASHBOARD and !$DISABLED_DASHBOARD_API}
{include file="dashboard/js_api.tpl"}
{else}
{include file="dashboard/js_static.tpl"}
{/if}
{/if}

View File

@ -1,225 +0,0 @@
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.json2.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.dateAxisRenderer.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.highlighter.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.canvasAxisLabelRenderer.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.trendline.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.enhancedLegendRenderer.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.canvasAxisTickRenderer.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.categoryAxisRenderer.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.pointLabels.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.donutRenderer.js"></script>
<script>
{literal}
$(document).ready(function(){
var g1, g2, g3, g4, g5;
// Ajax API URL
var url_dashboard = "{/literal}{$smarty.server.SCRIPT_NAME}?page=api&action=getdashboarddata&api_key={$GLOBAL.userdata.api_key}&id={$GLOBAL.userdata.id}{literal}";
var url_worker = "{/literal}{$smarty.server.SCRIPT_NAME}?page=api&action=getuserworkers&api_key={$GLOBAL.userdata.api_key}&id={$GLOBAL.userdata.id}{literal}";
var url_balance = "{/literal}{$smarty.server.SCRIPT_NAME}?page=api&action=getuserbalance&api_key={$GLOBAL.userdata.api_key}&id={$GLOBAL.userdata.id}{literal}";
// Enable all included plugins
// $.jqplot.config.enablePlugins = true;
// Store our data globally
var storedPersonalHashrate=[];
var storedPoolHashrate=[];
var storedPersonalSharerate=[];
// jqPlit defaults
var jqPlotOverviewOptions = {
highlighter: { show: true },
grid: { drawBorder: false, background: '#fbfbfb', shadow: false },
stackSeries: false,
seriesColors: [ '#26a4ed', '#ee8310', '#e9e744' ],
seriesDefaults:{
lineWidth: 4, shadow: false,
fill: false, fillAndStroke: true, fillAlpha: 0.3,
trendline: { show: true, color: '#be1e2d', lineWidth: 1.0, label: 'Your Average', shadow: true },
markerOptions: { show: true, size: 6 },
rendererOptions: { smooth: true }
},
series: [
{ yaxis: 'yaxis', label: 'Own', fill: true },
{ yaxis: 'yaxis', label: 'Pool', fill: false, trendline: { show: false }, lineWidth: 2, markerOptions: { show: true, size: 4 }},
{ yaxis: 'y3axis', label: 'Sharerate', fill: false, trendline: { show: false } },
],
legend: { show: true, location: 'sw', renderer: $.jqplot.EnhancedLegendRenderer, rendererOptions: { seriesToggleReplot: { resetAxes: true } } },
axes: {
yaxis: { min: 0, pad: 1.25, label: 'Hashrate' , labelRenderer: $.jqplot.CanvasAxisLabelRenderer },
y3axis: { min: 0, pad: 1.25, label: 'Sharerate', labelRenderer: $.jqplot.CanvasAxisLabelRenderer },
xaxis: { showTicks: false, tickInterval: {/literal}{$GLOBAL.config.statistics_ajax_refresh_interval}{literal}, labelRenderer: $.jqplot.CanvasAxisLabelRenderer, renderer: $.jqplot.DateAxisRenderer, angle: 30, tickOptions: { formatString: '%T' } },
},
};
var jqPlotShareinfoOptions = {
title: 'Shares',
highlighter: { show: false },
grid: { drawBorder: false, background: '#fbfbfb', shadow: false },
seriesColors: [ '#26a4ed', '#ee8310', '#e9e744' ],
seriesDefaults: {
renderer: $.jqplot.DonutRenderer,
rendererOptions:{
ringMargin: 10,
sliceMargin: 10,
startAngle: -90,
showDataLabels: true,
dataLabels: 'value',
dataLabelThreshold: 0
}
},
legend: { show: false }
};
// Initilize gauges and graph
var plot1 = $.jqplot('hashrategraph', [[storedPersonalHashrate], [storedPoolHashrate], [[0, 0.0]]], jqPlotOverviewOptions);
var plot2 = $.jqplot('shareinfograph', [
[['your valid', {/literal}{$GLOBAL.userdata.shares.valid}{literal}], ['pool valid', {/literal}{$GLOBAL.roundshares.valid}{literal}]],
[['your invalid', {/literal}{$GLOBAL.userdata.shares.invalid}{literal}], ['pool invalid', {/literal}{$GLOBAL.roundshares.invalid}{literal}]]
], jqPlotShareinfoOptions);
g1 = new JustGage({id: "nethashrate", value: parseFloat({/literal}{$GLOBAL.nethashrate}{literal}).toFixed(2), min: 0, max: Math.round({/literal}{$GLOBAL.nethashrate}{literal} * 2), title: "Net Hashrate", gaugeColor: '#6f7a8a', valueFontColor: '#555', shadowOpacity : 0.8, shadowSize : 0, shadowVerticalOffset : 10, label: "{/literal}{$GLOBAL.hashunits.network}{literal}"});
g2 = new JustGage({id: "poolhashrate", value: parseFloat({/literal}{$GLOBAL.hashrate}{literal}).toFixed(2), min: 0, max: Math.round({/literal}{$GLOBAL.hashrate}{literal}* 2), title: "Pool Hashrate", gaugeColor: '#6f7a8a', valueFontColor: '#555', shadowOpacity : 0.8, shadowSize : 0, shadowVerticalOffset : 10, label: "{/literal}{$GLOBAL.hashunits.pool}{literal}"});
g3 = new JustGage({id: "hashrate", value: parseFloat({/literal}{$GLOBAL.userdata.hashrate}{literal}).toFixed(2), min: 0, max: Math.round({/literal}{$GLOBAL.userdata.hashrate}{literal} * 2), title: "Hashrate", gaugeColor: '#6f7a8a', valueFontColor: '#555', shadowOpacity : 0.8, shadowSize : 0, shadowVerticalOffset : 10, label: "{/literal}{$GLOBAL.hashunits.personal}{literal}"});
if ({/literal}{$GLOBAL.userdata.sharerate}{literal} > 1) {
initSharerate = {/literal}{$GLOBAL.userdata.sharerate}{literal} * 2
} else {
initSharerate = 1
}
g4 = new JustGage({id: "sharerate", value: parseFloat({/literal}{$GLOBAL.userdata.sharerate}{literal}).toFixed(2), min: 0, max: Math.round(initSharerate), gaugeColor: '#6f7a8a', valueFontColor: '#555', shadowOpacity : 0.8, shadowSize : 0, shadowVerticalOffset : 10, title: "Sharerate", label: "shares/s"});
g5 = new JustGage({id: "querytime", value: parseFloat(0).toFixed(0), min: 0, max: Math.round(5 * 100), gaugeColor: '#6f7a8a', valueFontColor: '#555', shadowOpacity : 0.8, shadowSize : 0, shadowVerticalOffset : 10, title: "Querytime", label: "ms"});
// Helper to refresh graphs
function refreshInformation(data) {
g1.refresh(parseFloat(data.getdashboarddata.data.network.hashrate).toFixed(2));
g2.refresh(parseFloat(data.getdashboarddata.data.pool.hashrate).toFixed(2));
g3.refresh(parseFloat(data.getdashboarddata.data.personal.hashrate).toFixed(2));
g4.refresh(parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed(2));
g5.refresh(parseFloat(data.getdashboarddata.runtime).toFixed(0));
if (storedPersonalHashrate.length > 20) { storedPersonalHashrate.shift(); }
if (storedPoolHashrate.length > 20) { storedPoolHashrate.shift(); }
if (storedPersonalSharerate.length > 20) { storedPersonalSharerate.shift(); }
timeNow = new Date().getTime();
storedPersonalHashrate[storedPersonalHashrate.length] = [timeNow, data.getdashboarddata.data.raw.personal.hashrate];
storedPersonalSharerate[storedPersonalSharerate.length] = [timeNow, parseFloat(data.getdashboarddata.data.personal.sharerate)];
storedPoolHashrate[storedPoolHashrate.length] = [timeNow, data.getdashboarddata.data.raw.pool.hashrate];
tempShareinfoData = [
[['your valid', parseInt(data.getdashboarddata.data.personal.shares.valid)], ['pool valid', parseInt(data.getdashboarddata.data.pool.shares.valid)]],
[['your invalid', parseInt(data.getdashboarddata.data.personal.shares.invalid)], ['pool invalid', parseInt(data.getdashboarddata.data.pool.shares.invalid)]]
];
replotOverviewOptions = {
data: [storedPersonalHashrate, storedPoolHashrate, storedPersonalSharerate],
series: [ {show: plot1.series[0].show}, {show: plot1.series[1].show}, {show: plot1.series[2].show} ]
};
replotShareinfoOptions= {
data: tempShareinfoData
};
if (typeof(plot1) != "undefined") plot1.replot(replotOverviewOptions);
if (typeof(plot2) != "undefined") plot2.replot(replotShareinfoOptions);
}
// Refresh balance information
function refreshBalanceData(data) {
balance = data.getuserbalance.data
$('#b-confirmed').html(number_format(balance.confirmed, 6));
$('#b-unconfirmed').html(number_format(balance.unconfirmed, 6));
}
// Refresh other static numbers on the template
function refreshStaticData(data) {
$('#b-price').html((parseFloat(data.getdashboarddata.data.pool.price).toFixed(8)));
$('#b-dworkers').html(data.getdashboarddata.data.pool.workers);
$('#b-hashrate').html((parseFloat(data.getdashboarddata.data.personal.hashrate).toFixed(2)));
$('#b-sharerate').html((parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed(2)));
$('#b-yvalid').html(number_format(data.getdashboarddata.data.personal.shares.valid));
$('#b-yivalid').html(number_format(data.getdashboarddata.data.personal.shares.invalid) + " (" + number_format(data.getdashboarddata.data.personal.shares.invalid_percent, 2) + "%)" );
$('#b-pvalid').html(number_format(data.getdashboarddata.data.pool.shares.valid));
$('#b-pivalid').html(number_format(data.getdashboarddata.data.pool.shares.invalid) + " (" + number_format(data.getdashboarddata.data.pool.shares.invalid_percent, 2) + "%)" );
$('#b-diff').html(number_format(data.getdashboarddata.data.network.difficulty, 8));
$('#b-nextdiff').html(number_format(data.getdashboarddata.data.network.nextdifficulty, 8) + " (Change in " + data.getdashboarddata.data.network.blocksuntildiffchange + " Blocks)");
var minutes = Math.floor(data.getdashboarddata.data.network.esttimeperblock / 60);
var seconds = Math.floor(data.getdashboarddata.data.network.esttimeperblock - minutes * 60);
$('#b-esttimeperblock').html(minutes + " minutes " + seconds + " seconds"); // <- this needs some nicer format
$('#b-nblock').html(data.getdashboarddata.data.network.block);
$('#b-target').html(number_format(data.getdashboarddata.data.pool.shares.estimated) + " (done: " + data.getdashboarddata.data.pool.shares.progress + "%)" );
{/literal}{if $GLOBAL.config.payout_system != 'pps'}{literal }
$('#b-payout').html(number_format(data.getdashboarddata.data.personal.estimates.payout, 8));
$('#b-block').html(number_format(data.getdashboarddata.data.personal.estimates.block, 8));
$('#b-fee').html(number_format(data.getdashboarddata.data.personal.estimates.fee,8 ));
$('#b-donation').html(number_format(data.getdashboarddata.data.personal.estimates.donation, 8));
{/literal}{else}{literal}
$('#b-ppsunpaid').html(number_format(data.getdashboarddata.data.personal.shares.unpaid));
$('#b-ppsdiff').html(number_format(data.getdashboarddata.data.personal.sharedifficulty, 2));
$('#b-est1').html(number_format(data.getdashboarddata.data.personal.estimates.hours1, 8));
$('#b-est24hours').html(number_format(data.getdashboarddata.data.personal.estimates.hours24, 8));
$('#b-est7days').html(number_format(data.getdashboarddata.data.personal.estimates.days7, 8));
$('#b-est14days').html(number_format(data.getdashboarddata.data.personal.estimates.days14, 8));
$('#b-est30days').html(number_format(data.getdashboarddata.data.personal.estimates.days30, 8));
{/literal}{/if}{literal}
{/literal}{if $GLOBAL.config.payout_system == 'pplns'}{literal}
$('#b-pplns').html({/literal}{$GLOBAL.pplns.target}{literal});
{/literal}{/if}{literal}
}
// Refresh worker information
function refreshWorkerData(data) {
workers = data.getuserworkers.data;
length = workers.length;
$('#b-workers').html('');
for (var i = j = 0; i < length; i++) {
if (workers[i].hashrate > 0) {
j++;
$('#b-workers').append('<tr><td>' + workers[i].username + '</td><td align="right">' + workers[i].hashrate + '</td><td align="right">' + workers[i].difficulty + '</td></tr>');
}
}
if (j == 0) { $('#b-workers').html('<tr><td colspan="3" align="center">No active workers</td></tr>'); }
}
// Our worker process to keep gauges and graph updated
(function worker1() {
$.ajax({
url: url_dashboard,
dataType: 'json',
success: function(data) {
refreshInformation(data);
refreshStaticData(data);
},
complete: function() {
setTimeout(worker1, {/literal}{($GLOBAL.config.statistics_ajax_refresh_interval * 1000)|default:"10000"}{literal})
}
});
})();
// Our worker process to keep worker information updated
(function worker3() {
$.ajax({
url: url_balance,
dataType: 'json',
success: function(data) {
refreshBalanceData(data);
},
complete: function() {
setTimeout(worker3, {/literal}{($GLOBAL.config.statistics_ajax_long_refresh_interval * 1000)|default:"10000"}{literal})
}
});
})();
// Our worker process to keep gauges and graph updated
(function worker2() {
$.ajax({
url: url_worker,
dataType: 'json',
success: function(data) {
refreshWorkerData(data);
},
complete: function() {
setTimeout(worker2, {/literal}{($GLOBAL.config.statistics_ajax_long_refresh_interval * 1000)|default:"10000"}{literal})
}
});
})();
});
{/literal}
</script>

View File

@ -1,55 +0,0 @@
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.json2.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.dateAxisRenderer.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.highlighter.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.canvasAxisLabelRenderer.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.trendline.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.enhancedLegendRenderer.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.canvasAxisTickRenderer.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.categoryAxisRenderer.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.pointLabels.js"></script>
<script type="text/javascript" src="{$PATH}/js/plugins/jqplot.donutRenderer.js"></script>
<script>
{literal}
$(document).ready(function(){
var g1, g2, g3, g4, g5;
var jqPlotShareinfoOptions = {
title: 'Shares',
highlighter: { show: false },
grid: { drawBorder: false, background: '#fbfbfb', shadow: false },
seriesColors: [ '#26a4ed', '#ee8310', '#e9e744' ],
seriesDefaults: {
renderer: $.jqplot.DonutRenderer,
rendererOptions:{
ringMargin: 10,
sliceMargin: 10,
startAngle: -90,
showDataLabels: true,
dataLabels: 'value',
dataLabelThreshold: 0
}
},
legend: { show: false }
};
// Init shares graph
var plot2 = $.jqplot('shareinfograph', [
[['your valid', {/literal}{$GLOBAL.userdata.shares.valid}{literal}], ['pool valid', {/literal}{$GLOBAL.roundshares.valid}{literal}]],
[['your invalid', {/literal}{$GLOBAL.userdata.shares.invalid}{literal}], ['pool invalid', {/literal}{$GLOBAL.roundshares.invalid}{literal}]]
], jqPlotShareinfoOptions);
g1 = new JustGage({id: "nethashrate", value: parseFloat({/literal}{$GLOBAL.nethashrate}{literal}).toFixed(2), min: 0, max: Math.round({/literal}{$GLOBAL.nethashrate}{literal} * 2), title: "Net Hashrate", gaugeColor: '#6f7a8a', valueFontColor: '#555', shadowOpacity : 0.8, shadowSize : 0, shadowVerticalOffset : 10, label: "{/literal}{$GLOBAL.hashunits.network}{literal}"});
g2 = new JustGage({id: "poolhashrate", value: parseFloat({/literal}{$GLOBAL.hashrate}{literal}).toFixed(2), min: 0, max: Math.round({/literal}{$GLOBAL.hashrate}{literal}* 2), title: "Pool Hashrate", gaugeColor: '#6f7a8a', valueFontColor: '#555', shadowOpacity : 0.8, shadowSize : 0, shadowVerticalOffset : 10, label: "{/literal}{$GLOBAL.hashunits.pool}{literal}"});
g3 = new JustGage({id: "hashrate", value: parseFloat({/literal}{$GLOBAL.userdata.hashrate}{literal}).toFixed(2), min: 0, max: Math.round({/literal}{$GLOBAL.userdata.hashrate}{literal} * 2), title: "Hashrate", gaugeColor: '#6f7a8a', valueFontColor: '#555', shadowOpacity : 0.8, shadowSize : 0, shadowVerticalOffset : 10, label: "{/literal}{$GLOBAL.hashunits.personal}{literal}"});
if ({/literal}{$GLOBAL.userdata.sharerate}{literal} > 1) {
initSharerate = {/literal}{$GLOBAL.userdata.sharerate}{literal} * 2
} else {
initSharerate = 1
}
g4 = new JustGage({id: "sharerate", value: parseFloat({/literal}{$GLOBAL.userdata.sharerate}{literal}).toFixed(2), min: 0, max: Math.round(initSharerate), gaugeColor: '#6f7a8a', valueFontColor: '#555', shadowOpacity : 0.8, shadowSize : 0, shadowVerticalOffset : 10, title: "Sharerate", label: "shares/s"});
});
{/literal}
</script>

View File

@ -1,19 +0,0 @@
<tr>
<td colspan="2"><b><u>Network Info</u></b></td>
</tr>
<tr>
<td><b>Difficulty</b></td>
<td id="b-diff" class="right">{$NETWORK.difficulty|number_format:"8"}</td>
</tr>
<tr>
<td><b>Est Next Difficulty</b></td>
<td id="b-nextdiff" class="right">{$NETWORK.EstNextDifficulty|number_format:"8"} (Change in {$NETWORK.BlocksUntilDiffChange} Blocks)</td>
</tr>
<tr>
<td><b>Est. Avg. Time per Block</b></td>
<td id="b-esttimeperblock" class="right">{$NETWORK.EstTimePerBlock|seconds_to_words}</td>
</tr>
<tr>
<td><b>Current Block</b></td>
<td id="b-nblock" class="right">{$NETWORK.block}</td>
</tr>

View File

@ -1,26 +0,0 @@
<article class="module module width_3_quarter">
<header><h3>Overview {if $GLOBAL.config.price.currency}{$GLOBAL.config.currency}/{$GLOBAL.config.price.currency}: <span id="b-price">{$GLOBAL.price|number_format:"8"|default:"0"}</span>{/if} / Pool Workers: <span id="b-dworkers">{$GLOBAL.workers}</span></h3></header>
<div class="module_content">
<center>
<div style="display: inline-block;">
<div id="poolhashrate" style="width:120px; height:90px;"></div>
<div id="sharerate" style="width:120px; height:90px;"></div>
</div>
<div style="display: inline-block;">
<div id="hashrate" style="width:220px; height:180px;"></div>
</div>
<div style="display: inline-block;">
<div id="nethashrate" style="width:120px; height:90px;"></div>
<div id="querytime" style="width:120px; height:90px;"></div>
</div>
</center>
{if !$DISABLED_DASHBOARD and !$DISABLED_DASHBOARD_API}
<div style="margin-left: 16px; display: inline-block; width: 100%;">
<div id="hashrategraph" style="height: 160px; width: 100%;"></div>
</div>
{/if}
</div>
<footer>
<p style="margin-left: 25px">Refresh interval: {$GLOBAL.config.statistics_ajax_refresh_interval|default:"10"} seconds. Hashrate based on shares submitted in the past {$INTERVAL|default:"5"} minutes.</p>
</footer>
</article>

View File

@ -1,43 +0,0 @@
<tr>
<td colspan="2"><b><u>{$GLOBAL.config.currency} Estimates</u></b></td>
</tr>
{if $GLOBAL.config.payout_system != 'pps'}
<tr>
<td><b>Block</b></td>
<td id="b-block" class="right">{$GLOBAL.userdata.estimates.block|number_format:"8"}</td>
</tr>
<tr>
<td><b>Fees</b></td>
<td id="b-fee" class="right">{$GLOBAL.userdata.estimates.fee|number_format:"8"}</td>
</tr>
<tr>
<td><b>Donation</b></td>
<td id="b-donation" class="right">{$GLOBAL.userdata.estimates.donation|number_format:"8"}</td>
</tr>
<tr>
<td><b>Payout</b></td>
<td id="b-payout" class="right">{$GLOBAL.userdata.estimates.payout|number_format:"8"}</td>
</tr>
{else}
<tr>
<td><b>in 1 hour</b></td>
<td id="b-est1hour" align="left">{$GLOBAL.userdata.estimates.hours1|number_format:"8"}</td>
</tr>
<tr>
<td><b>in 24 hours</b></td>
<td id="b-est24hours" align="left">{($GLOBAL.userdata.estimates.hours24)|number_format:"8"}</td>
</tr>
<tr>
<td><b>in 7 days</b></td>
<td id="b-est7days" align="left">{($GLOBAL.userdata.estimates.days7)|number_format:"8"}</td>
</tr>
<tr>
<td><b>in 14 days</b></td>
<td id="b-est14days" align="left">{($GLOBAL.userdata.estimates.days14)|number_format:"8"}</td>
</tr>
<tr>
<td><b>in 30 days</b></td>
<td id="b-est30days" align="left">{($GLOBAL.userdata.estimates.days30)|number_format:"8"}</td>
</tr>
{/if}

View File

@ -1,8 +0,0 @@
<article class="module width_quarter">
<header><h3>Round Information</h3></header>
<div class="module_content">
<div id="shareinfograph" style="width: 100%; height: 100%;"></div>
</div>
<footer>
</footer>
</article>

View File

@ -1,23 +0,0 @@
<tr>
<td colspan="2"><b><u>Round Shares</u></b> <span id='tt'><img src='{$PATH}/images/questionmark.png' height='15px' width='15px' title='Submitted shares since last found block (ie. round shares)'></span></td>
</tr>
<tr>
<td><b>Est. Shares</b></td>
<td id="b-target" class="right">{$ESTIMATES.shares|number_format} (done: {$ESTIMATES.percent}%)</td>
</tr>
<tr>
<td><b>Pool Valid</b></td>
<td id="b-pvalid" class="right">{$GLOBAL.roundshares.valid|number_format}</td>
</tr>
<tr>
<td><b>Your Valid<b></td>
<td id="b-yvalid" class="right">{$GLOBAL.userdata.shares.valid|number_format}</td>
</tr>
<tr>
<td><b>Pool Invalid</b></td>
<td id="b-pivalid" class="right">{$GLOBAL.roundshares.invalid|number_format} {if $GLOBAL.roundshares.valid > 0}({($GLOBAL.roundshares.invalid / ($GLOBAL.roundshares.valid + $GLOBAL.roundshares.invalid) * 100)|number_format:"2"}%){else}(0.00%){/if}</td></td>
</tr>
<tr>
<td><b>Your Invalid</b></td>
<td id="b-yivalid" class="right">{$GLOBAL.userdata.shares.invalid|number_format} {if $GLOBAL.userdata.shares.valid > 0}({($GLOBAL.userdata.shares.invalid / ($GLOBAL.userdata.shares.valid + $GLOBAL.userdata.shares.invalid) * 100)|number_format:"2"}%){else}(0.00%){/if}</td>
</tr>

View File

@ -1,40 +0,0 @@
<article class="module width_quarter">
<header><h3>{$GLOBAL.config.payout_system|capitalize} Stats</h3></header>
<div class="module_content">
<table width="100%">
<tbody>
{if $GLOBAL.config.payout_system == 'pplns'}
<tr>
<td><b>PPLNS Target</b></td>
<td id="b-pplns" class="right">{$GLOBAL.pplns.target}</td>
</tr>
{elseif $GLOBAL.config.payout_system == 'pps'}
<tr>
<td><b>Unpaid Shares</b></td>
<td id="b-ppsunpaid">{$GLOBAL.userdata.pps.unpaidshares}</td>
</tr>
<tr>
<td><b>Baseline PPS Rate</b></td>
<td>{$GLOBAL.ppsvalue|number_format:"12"} {$GLOBAL.config.currency}</td>
</tr>
<tr>
<td><b>Pools PPS Rate</b></td>
<td>{$GLOBAL.poolppsvalue|number_format:"12"} {$GLOBAL.config.currency}</td>
</tr>
<tr>
<td><b>PPS Difficulty</b></td>
<td id="b-ppsdiff">{$GLOBAL.userdata.sharedifficulty|number_format:"2"}</td>
</tr>
{/if}
<tr><td colspan="2">&nbsp;</td></tr>
{include file="dashboard/round_shares.tpl"}
<tr><td colspan="2">&nbsp;</td></tr>
{include file="dashboard/payout_estimates.tpl"}
<tr><td colspan="2">&nbsp;</td></tr>
{include file="dashboard/network_info.tpl"}
<tr><td colspan="2">&nbsp;</td></tr>
</tbody>
</table>
</div>
</article>

View File

@ -1,16 +0,0 @@
<article class="module width_quarter">
<header><h3>Active Worker Information</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="left">Worker</th>
<th align="right">Hashrate</th>
<th align="right">Difficulty</th>
</tr>
</thead>
<tbody id="b-workers">
<td colspan="3" align="center">Loading worker information</td>
</tbody>
</tr>
</table>
</article>

View File

@ -1,6 +0,0 @@
<article class="module width_full">
<header><h3>{$GLOBAL.website.name}</h3></header>
<div class="module_content">
<p>The page you requested was not found.</p>
</div>
</article>

View File

@ -1,6 +0,0 @@
<article class="module width_full">
<header><h3>{$GLOBAL.website.name}</h3></header>
<div class="module_content">
<p>The page you requested was not found.</p>
</div>
</article>

View File

@ -1,6 +0,0 @@
<article class="module width_full">
<header><h3>Request rate limit exceeded</h3></header>
<div class="module_content">
<p>You're sending too many requests too fast!</p>
</div>
</article>

View File

@ -1,53 +0,0 @@
<article class="module width_full">
<header><h3>Getting Started Guide</h3></header>
<div class="module_content">
<p>1. <strong>Create account.</strong></p>
<ul>
<li>Register <a href="{$smarty.server.SCRIPT_NAME}?page=register">here</a>, or login if you already have account</li>
<li>Create a <a href="{$smarty.server.SCRIPT_NAME}?page=account&action=workers">worker</a> that will be used by the miner to login</li>
</ul>
</li>
<p>2. <strong>Download a miner.</strong></p>
<ul>
<li><em>CGMiner Linux/Windows:</em> <a href="http://ck.kolivas.org/apps/cgminer/" target="_blank">Download here</a></li>
<li><em>CGMiner Mac OS X:</em> <a href="http://spaceman.ca/cgminer/" target="_blank">Download here</a></li>
<li><em>Asteroids GUI Miner Mac OS X:</em> <a href="http://www.asteroidapp.com/" target="_blank">Download here</a></li>
<li><em>BFGMiner Linux/Windows:</em> <a href="http://bfgminer.org" target="_blank">Download here</a></li>
<li><em>CPU Miner Mac/Linux/Windows:</em> precompiled binaries are available <a href="https://bitcointalk.org/index.php?topic=55038.msg654850#msg654850" target="_blank">Download here</a>.</li>
</ul>
</li>
<p>3. <strong>Configure your miner.</strong></p>
<p>Settings for Stratum (recommended):</p>
<table width="50%">
<tbody>
<tr><td>STRATUM:</td><td><kbd>stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}</kbd></td></tr>
<tr><td>PORT:</td><td><kbd>{$SITESTRATUMPORT|default:"3333"}</kbd></td></tr>
<tr><td>Username:</td><td><kbd><em>Weblogin.Worker</em></kbd></td></tr>
<tr><td>Password:</td><td><kbd><em>Worker Password</em></kbd></td></tr>
</tbody>
</table>
<p>If you use a command-line miner, type:</p>
<li>CGMiner</li>
<pre>./cgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt{/if} -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u <em>Weblogin</em>.<em>Worker</em> -p <em>Worker password</em></pre>
<li>BFGMiner</li>
<pre>./bfgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt{/if} -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u <em>Weblogin</em>.<em>Worker</em> -p <em>Worker password</em></pre>
<p>If you want, you can create additional workers with usernames and passwords of your choice <a href="{$smarty.server.SCRIPT_NAME}?page=account&action=workers">here</a></p>
</li>
<p>4. <strong>Create a {$SITECOINNAME|default:"Litecoin"} address to recieve payments.</strong></p>
<ul>
<li> Downloading the client &amp; block chain: Download the {$SITECOINNAME|default:"Litecoin"} client from <a href="{$SITECOINURL|default:"http://www.litecoin.org"}" target="_blank">here</a>.
<p>Generate a new address and input it on your account page to receive payments.</p>
</li>
</ul>
</li>
<p>5. <strong>Advanced cgminer settings / FAQ</strong></p>
<ul>
<li><a href="https://github.com/ckolivas/cgminer/blob/master/SCRYPT-README" target="_blank">Scrypt readme</a></li>
<li>Don't set <b>intensity</b> too high, I=11 is standard and safest. Higher intensity takes more GPU RAM. Check for <b>hardware errors</b> in cgminer (HW). HW=0 is good, otherwise lower intensity :)</li>
<li>Set shaders according to the readme (or look at your graphic cards specifications). Cgminer uses this value at first run to calculate <b>thread-concurrency</b>. Easiest way to get this optimized is to use same settings as others have used here: <a href="http://litecoin.info/Mining_Hardware_Comparison">here</a>.</li>
<li>There's also an interesting project which gives you a GUI for cgminer. Windows only it seems.</li>
<li>Here's a great <a href="https://docs.google.com/document/d/1Gw7YPYgMgNNU42skibULbJJUx_suP_CpjSEdSi8_z9U/preview?sle=true" target="_blank">guide</a> how to get up and running with Xubuntu.</li>
</ul>
</li>
</div>
</article>

View File

@ -1,5 +0,0 @@
<div class="breadcrumbs_container">
{if $PAGE|@count == 0}{assign "PAGE" $smarty.request.page}{else}{assign "PAGE" "home"}{/if}
{if $ACTION|@count == 0}{assign "ACTION" $smarty.request.action}{else}{assign "ACTION" ""}{/if}
<article class="breadcrumbs"><a href="{$smarty.server.SCRIPT_NAME}">{$GLOBAL.website.name|default:"Unknown Pool"}</a> <div class="breadcrumb_divider"></div> <a class="{if ! $ACTION|default:""}current{/if}" {if $ACTION|default:""}href="{$smarty.server.SCRIPT_NAME}?page={$PAGE|default:"home"|escape|replace:'"':''}"{/if}>{$PAGE|escape|default:"Home"|capitalize|escape|replace:'"':''}</a>{if $ACTION|default:""} <div class="breadcrumb_divider"></div> <a class="current">{$ACTION|escape|capitalize|escape|replace:'"':''}</a>{/if}</article>
</div>

View File

@ -1,8 +0,0 @@
<p><strong>MPOS</strong> by TheSerapher, available on <a href="https://github.com/MPOS/php-mpos">GitHub</a></p>
<p>Please <strong>Donate</strong> to TheSerapher LTC: Lge95QR2frp9y1wJufjUPCycVsg5gLJPW8</p>
<p><strong>Copyright &copy; 2013 Sebastian Grewe</strong>, Theme by <a href="http://www.medialoot.com">MediaLoot</a></p>
{if $DEBUG > 0}
<div id="debug">
{nocache}{include file="system/debugger.tpl"}{/nocache}
</div>
{/if}

View File

@ -1,4 +0,0 @@
<hgroup>
<a href="{$smarty.server.SCRIPT_NAME}"><h1 class="site_title">{$GLOBAL.website.name|default:"Unknown Pool"}</h1></a>
<h2 class="section_title">{if $smarty.request.action|escape|default:""}{$smarty.request.action|escape|capitalize}{else}{$smarty.request.page|escape|default:"home"|capitalize}{/if}</h2>
</hgroup>

View File

@ -1,81 +0,0 @@
<hr/>
<li class="icon-home"><a href="{$smarty.server.SCRIPT_NAME}">Home</a></li>
{if $smarty.session.AUTHENTICATED|default:"0" == 1}
<h3>My Account</h3>
<ul class="toggle">
<li class="icon-gauge"><a href="{$smarty.server.SCRIPT_NAME}?page=dashboard">Dashboard</a></li>
<li class="icon-user"><a href="{$smarty.server.SCRIPT_NAME}?page=account&action=edit">Edit Account</a></li>
<li class="icon-photo"><a href="{$smarty.server.SCRIPT_NAME}?page=account&action=workers">My Workers</a></li>
<li class="icon-indent-left"><a href="{$smarty.server.SCRIPT_NAME}?page=account&action=transactions">Transactions</a></li>
{if !$GLOBAL.config.disable_notifications}<li class="icon-megaphone"><a href="{$smarty.server.SCRIPT_NAME}?page=account&action=notifications">Notifications</a></li>{/if}
{if !$GLOBAL.config.disable_invitations}<li class="icon-plus"><a href="{$smarty.server.SCRIPT_NAME}?page=account&action=invitations">Invitations</a></li>{/if}
<li class="icon-barcode"><a href="{$smarty.server.SCRIPT_NAME}?page=account&action=qrcode">QR Codes</a></li>
</ul>
</li>
{/if}
{if $smarty.session.AUTHENTICATED|default:"0" == 1 && $GLOBAL.userdata.is_admin == 1}
<h3>Admin Panel</h3>
<ul class="toggle">
<li class="icon-gauge"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=dashboard">Dashboard</a></li>
<li class="icon-bell"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=monitoring">Monitoring</a></li>
<li class="icon-torso"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=user">User Info</a></li>
<li class="icon-money"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=wallet">Wallet Info</a></li>
<li class="icon-exchange"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=transactions">Transactions</a></li>
<li class="icon-cog"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=settings">Settings</a></li>
<li class="icon-doc"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=news">News</a></li>
<li class="icon-chart"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=reports">Reports</a></li>
<li class="icon-edit"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=registrations">Registrations</a></li>
<li class="icon-users"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=invitations">Invitations</a></li>
<li class="icon-photo"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=poolworkers">Pool Workers</a></li>
<li class="icon-pencil"><a href="{$smarty.server.SCRIPT_NAME}?page=admin&action=templates">Templates</a></li>
</ul>
{/if}
<h3>Statistics</h3>
<ul class="toggle">
{acl_check icon='icon-align-left' page='statistics' action='pool' name='Pool' acl=$GLOBAL.acl.pool.statistics fallback='page=statistics'}
{acl_check icon='icon-th-large' page='statistics' action='blocks' name='Blocks' acl=$GLOBAL.acl.block.statistics}
{acl_check icon='icon-chart' page='statistics' action='round' name='Round' acl=$GLOBAL.acl.round.statistics}
{acl_check icon='icon-search' page='statistics' action='blockfinder' name='Blockfinder' acl=$GLOBAL.acl.blockfinder.statistics}
{acl_check icon='icon-bell' page='statistics' action='uptime' name='Uptime' acl=$GLOBAL.acl.uptime.statistics}
{acl_check icon='icon-chart' page='statistics' action='graphs' name='Graphs' acl=$GLOBAL.acl.graphs.statistics}
</ul>
<h3>Help</h3>
<ul class="toggle">
<li class="icon-desktop"><a href="{$smarty.server.SCRIPT_NAME}?page=gettingstarted">Getting Started</a></li>
{acl_check icon='icon-doc' page='about' action='pool' name='About' acl=$GLOBAL.acl.about.page}
{acl_check icon='icon-money' page='about' action='donors' name='Donors' acl=$GLOBAL.acl.donors.page}
{acl_check icon='icon-megaphone' page='about' action='chat' name='Web Chat' acl=$GLOBAL.acl.chat.page}
</ul>
<h3>Other</h3>
<ul class="toggle">
{if $smarty.session.AUTHENTICATED|default:"0" == 1}
<li class="icon-off"><a href="{$smarty.server.SCRIPT_NAME}?page=logout">Logout</a></li>
{else}
<li class="icon-login"><a href="{$smarty.server.SCRIPT_NAME}?page=login">Login</a></li>
<li class="icon-pencil"><a href="{$smarty.server.SCRIPT_NAME}?page=register">Sign Up</a></li>
{/if}
{acl_check icon='icon-mail' page='contactform' action='' name='Contact' acl=$GLOBAL.acl.contactform}
<li class="icon-doc"><a href="{$smarty.server.SCRIPT_NAME}?page=tac">Terms & Conditions</a></li>
</ul>
<ul>
<hr/>
</ul>
{if $smarty.session.AUTHENTICATED|default:"0" == 1}
<br />
{else}
<ul>
<center>
<div style="display: inline-block;">
<i><u><b><font size="2">LIVE STATS</font></b></u></i>
<div id="mr" style="width:180px; height:120px;"></div>
<div id="hr" style="width:180px; height:120px;"></div>
</div>
</center>
</ul>
<hr/>
{if !$GLOBAL.website.api.disabled && !$GLOBAL.config.disable_navbar && !$GLOBAL.config.disable_navbar_api}
{include file="global/navjs_api.tpl"}
{else}
{include file="global/navjs_static.tpl"}
{/if}
{/if}

View File

@ -1,66 +0,0 @@
<script>
{literal}
$(document).ready(function(){
var g1, g2;
// Ajax API URL
var url = "{/literal}{$smarty.server.SCRIPT_NAME}?page=api&action=getnavbardata{literal}";
g1 = new JustGage({
id: "mr",
value: parseFloat({/literal}{$GLOBAL.workers}{literal}).toFixed(0),
min: 0,
max: Math.round({/literal}{$GLOBAL.workers}{literal} * 2),
title: "Miners",
gaugeColor: '#6f7a8a',
labelFontColor: '#555',
titleFontColor: '#555',
valueFontColor: '#555',
label: "Active Miners",
relativeGaugeSize: true,
showMinMax: true,
shadowOpacity : 0.8,
shadowSize : 0,
shadowVerticalOffset : 10
});
g2 = new JustGage({
id: "hr",
value: parseFloat({/literal}{$GLOBAL.hashrate}{literal}).toFixed(2),
min: 0,
max: Math.round({/literal}{$GLOBAL.hashrate}{literal} * 2),
title: "Pool Hashrate",
gaugeColor: '#6f7a8a',
labelFontColor: '#555',
titleFontColor: '#555',
valueFontColor: '#555',
label: "{/literal}{$GLOBAL.hashunits.pool}{literal}",
relativeGaugeSize: true,
showMinMax: true,
shadowOpacity : 0.8,
shadowSize : 0,
shadowVerticalOffset : 10
});
// Helper to refresh graphs
function refreshInformation(data) {
g1.refresh(parseFloat(data.getnavbardata.data.pool.workers).toFixed(0));
g2.refresh(parseFloat(data.getnavbardata.data.pool.hashrate).toFixed(2));
}
// Our worker process to keep gauges and graph updated
(function worker() {
$.ajax({
url: url,
dataType: 'json',
success: function(data) {
refreshInformation(data);
},
complete: function() {
setTimeout(worker, {/literal}{($GLOBAL.config.statistics_ajax_refresh_interval * 1000)|default:"1000"}{literal})
}
});
})();
});
{/literal}
</script>

View File

@ -1,42 +0,0 @@
<script>
{literal}
$(document).ready(function(){
var g1, g2;
g1 = new JustGage({
id: "mr",
value: parseFloat({/literal}{$GLOBAL.workers}{literal}).toFixed(0),
min: 0,
max: Math.round({/literal}{$GLOBAL.workers}{literal} * 2),
title: "Miners",
gaugeColor: '#6f7a8a',
labelFontColor: '#555',
titleFontColor: '#555',
valueFontColor: '#555',
label: "Active Miners",
relativeGaugeSize: true,
showMinMax: true,
shadowOpacity : 0.8,
shadowSize : 0,
shadowVerticalOffset : 10
});
g2 = new JustGage({
id: "hr",
value: parseFloat({/literal}{$GLOBAL.hashrate}{literal}).toFixed(2),
min: 0,
max: Math.round({/literal}{$GLOBAL.hashrate}{literal} * 2),
title: "Pool Hashrate",
gaugeColor: '#6f7a8a',
labelFontColor: '#555',
titleFontColor: '#555',
valueFontColor: '#555',
label: "{/literal}{$GLOBAL.hashunits.pool}{literal}",
relativeGaugeSize: true,
showMinMax: true,
shadowOpacity : 0.8,
shadowSize : 0,
shadowVerticalOffset : 10
});
});
{/literal}
</script>

View File

@ -1,15 +0,0 @@
<div id="pager{$ID|default:""}">
<form>
<i class="icon-fast-backward"></i>
<i class="icon-backward"></i>
<input type="text" class="pagedisplay"/>
<i class="icon-forward"></i>
<i class="icon-fast-forward"></i>
<select class="pagesize">
<option selected="selected" value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
</select>
</form>
</div>

View File

@ -1,7 +0,0 @@
<div class="user">
{if $GLOBAL.userdata.username|default}
<p>Welcome {$smarty.session.USERDATA.username|escape}</p>
{else}
<p>Welcome Guest</p>
{/if}
</div>

View File

@ -1,9 +0,0 @@
{section name=news loop=$NEWS}
<article class="module width_full">
<header><h3>{$NEWS[news].header}, <font size=\"1px\">posted {$NEWS[news].time|date_format:"%b %e, %Y at %H:%M"}{if $HIDEAUTHOR|default:"0" == 0} by <b>{$NEWS[news].author}</b>{/if}</font></h3></header>
<div class="module_content">
{$NEWS[news].content nofilter}
<div class="clear"></div>
</div>
</article>
{/section}

View File

@ -1,24 +0,0 @@
<article class="module width_half">
<form action="{$smarty.server.SCRIPT_NAME}?page=login" method="post" id="loginForm">
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<header><h3>Login with existing account</h3></header>
<div class="module_content">
<fieldset>
<label>E-Mail</label>
<input type="email" name="username" size="22" maxlength="100" value="{$smarty.request.username|default:""|escape}" placeholder="Your email" tabindex="1" required />
</fieldset>
<fieldset>
<label>Password</label>
<input type="password" name="password" size="22" maxlength="100" placeholder="Your password" tabindex="2" required />
</fieldset>
<div class="clear"></div>
</div>
<center>{nocache}{$RECAPTCHA|default:"" nofilter}{/nocache}</center>
<footer>
<div class="submit_link">
<a href="{$smarty.server.SCRIPT_NAME}?page=password"><font size="1">Forgot your password?</font></a>
<input type="submit" value="Login" class="alt_btn" />
</div>
</footer>
</form>
</article>

View File

@ -1,17 +0,0 @@
{if $smarty.session.AUTHENTICATED|default:"0" == 0}
<div class="login_small">
<form action="{$smarty.server.SCRIPT_NAME}" method="post" id="loginForm">
<input type="hidden" name="page" value="login" />
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<fieldset2 class="small">
<label>Username</label>
<input type="text" name="username" size="22" maxlength="100" required />
<fieldset2 class="small">
<label>Password</label>
<input type="password" name="password" size="22" maxlength="100" required />
</fieldset2>
</fieldset2>
<input type="submit" value="Login" class="alt_btn" />
</form>
</div>
{/if}

View File

@ -1,73 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>{$GLOBAL.website.title} I {$smarty.request.page|escape|default:"home"|capitalize}</title>
<link rel="stylesheet" href="{$PATH}/css/layout.css" type="text/css" media="screen" />
<link rel="stylesheet" href="{$PATH}/css/fontello.css">
<link rel="stylesheet" href="{$PATH}/css/animation.css">
<!--[if IE 7]><link rel="stylesheet" href="css/fontello-ie7.css"><![endif]-->
<link rel="stylesheet" href="{$PATH}/css/visualize.css" type="text/css" media="screen" />
<link rel="stylesheet" href="{$PATH}/css/custom.css" type="text/css" media="screen" />
<link rel="stylesheet" href="{$PATH}/css/jquery.jqplot.min.css" type="text/css" media="screen" />
<!--[if lt IE 9]>
<link rel="stylesheet" href="{$PATH}/css/ie.css" type="text/css" media="screen" />
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script type="text/javascript" src="{$PATH}/js/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/hideshow.js" type="text/javascript"></script>
<script type="text/javascript" src="{$PATH}/js/jquery.visualize.js"></script>
<script type="text/javascript" src="{$PATH}/js/jquery.jqplot.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/jquery.tablesorter.min.js" type="text/javascript"></script>
<script type="text/javascript" src="{$PATH}/js/jquery.tablesorter.pager.js" type="text/javascript"></script>
<script type="text/javascript" src="{$PATH}/js/jquery.equalHeight.js"></script>
<script type="text/javascript" src="{$PATH}/js/raphael.2.1.2.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/justgage.1.0.1.min.js"></script>
<script type="text/javascript" src="{$PATH}/js/custom.js"></script>
<script type="text/javascript" src="{$PATH}/js/tinybox.js"></script>
<script type="text/javascript" src="{$PATH}/../global/js/number_format.js"></script>
<!--[if IE]><script type="text/javascript" src="{$PATH}/js/excanvas.js"></script><![endif]-->
{literal}<script>
var zxcvbnPath = "{/literal}{$PATH}{literal}/js/zxcvbn/zxcvbn.js";
</script>{/literal}
<script type="text/javascript" src="{$PATH}/js/pwcheck.js"></script>
{if $GLOBAL.statistics.analytics.enabled}
{$GLOBAL.statistics.analytics.code nofilter}
{/if}
</head>
<body>
<header id="header">
{include file="global/header.tpl"}
</header>
<section id="secondary_bar">
{include file="global/userinfo.tpl"}
{include file="global/breadcrumbs.tpl"}
</section>
<aside id="sidebar" class="column">
{include file="global/navigation.tpl"}
</aside>
<section id="main" class="column">
{nocache}
{if is_array($smarty.session.POPUP|default)}
{section popup $smarty.session.POPUP}
<h4 class="{$smarty.session.POPUP[popup].TYPE|default:"info"}">{$smarty.session.POPUP[popup].CONTENT nofilter}</h4>
{/section}
{/if}
{/nocache}
{if $CONTENT != "empty" && $CONTENT != ""}
{if file_exists($smarty.current_dir|cat:"/$PAGE/$ACTION/$CONTENT")}
{include file="$PAGE/$ACTION/$CONTENT"}
{else}
Missing template for this page
{/if}
{/if}
<div class="spacer"></div>
</section>
<footer class="footer">
{include file="global/footer.tpl"}
</footer>
</body>
</html>

View File

@ -1,39 +0,0 @@
<article class="module width_half">
<form action="{$smarty.server.SCRIPT_NAME}" method="post">
<input type="hidden" name="token" value="{$smarty.request.token|escape}">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<input type="hidden" name="do" value="resetPassword">
<header><h3>Password reset</h3></header>
<div class="module_content">
<fieldset>
<label>New Password</label>
<input type="password" name="newPassword" required>
</fieldset>
<fieldset>
<label>Repeat New Password</label>
<input type="password" name="newPassword2" required>
</fieldset>
<div class="clear"></div>
</div>
<footer>
{nocache}
<input type="hidden" name="cp_token" value="{$smarty.request.cp_token|escape|default:""}">
<input type="hidden" name="utype" value="change_pw">
{if $GLOBAL.twofactor.enabled && $GLOBAL.twofactor.options.changepw}
{if $CHANGEPASSSENT == 1 && $CHANGEPASSUNLOCKED == 1}
<input type="submit" value="Change Password" class="alt_btn">
{elseif $CHANGEPASSSENT == 0 && $CHANGEPASSUNLOCKED == 1 || $CHANGEPASSSENT == 1 && $CHANGEPASSUNLOCKED == 0}
<input type="submit" value="Change Password" class="alt_btn" disabled>
{elseif $CHANGEPASSSENT == 0 && $CHANGEPASSUNLOCKED == 0}
<input type="submit" value="Unlock" class="alt_btn" name="unlock">
{/if}
{else}
<input type="submit" value="Change Password" class="alt_btn">
{/if}
{/nocache}
</footer>
</form>
</article>

View File

@ -1,21 +0,0 @@
<article class="module width_half">
<form action="" method="POST">
<input type="hidden" name="page" value="password">
<input type="hidden" name="action" value="reset">
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<header><h3>Password reset</h3></header>
<div class="module_content">
<p>If you have an email set for your account, enter your username to get your password reset</p>
<fieldset>
<label>Username or E-Mail</label>
<input type="text" name="username" value="{$smarty.post.username|escape|default:""}" size="22" maxlength="100" required>
</fieldset>
<div class="clear"></div>
</div>
<footer>
<div class="submit_link">
<input type="submit" value="Reset" class="alt_btn">
</div>
</footer>
</form>
</article>

View File

@ -1,47 +0,0 @@
<form action="{$smarty.server.SCRIPT_NAME}" method="post">
<article class="module width_half">
<header><h3>Register new account</h3></header>
<div class="module_content">
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
{if $smarty.request.token|default:""}
<input type="hidden" name="token" value="{$smarty.request.token|escape}" />
{/if}
<input type="hidden" name="ctoken" value="{$CTOKEN|escape|default:""}" />
<input type="hidden" name="action" value="register">
<fieldset>
<label>Username</label>
<input type="text" class="text tiny" name="username" value="{$smarty.post.username|escape|default:""}" size="15" maxlength="20" required>
</fieldset>
<fieldset>
<label>Password</label>
<p style="padding-right:10px;display:block;margin-top:0px;float:right;color:#999;" id="pw_strength">Strength</p>
<input type="password" class="text tiny" name="password1" value="" size="15" maxlength="100" id="pw_field" required>
<label>Repeat Password</label>
<p style="padding-right:10px;display:block;margin-top:0px;float:right;" id="pw_match"></p>
<input type="password" class="text tiny" name="password2" value="" size="15" maxlength="100" id="pw_field2" required>
</fieldset>
<fieldset>
<label>Email</label>
<input type="text" name="email1" class="text small" value="{$smarty.post.email1|escape|default:""}" size="15" required>
<label>Email Repeat</label>
<input type="text" class="text small" name="email2" value="{$smarty.post.email2|escape|default:""}" size="15" required>
</fieldset>
<fieldset>
<label>PIN</label>
<input type="password" class="text pin" name="pin" value="" size="4" maxlength="4"><font size="1"> (4 digit number. <b>Remember this pin!</b>)</font>
</fieldset>
<fieldset>
<label>Terms and Conditions</label><a style="width:152px;" onclick="TINY.box.show({literal}{url:'?page=tacpop',height:500}{/literal})"><font size="1">Accept Terms and Conditions</font></a>
<input type="checkbox" value="1" name="tac" id="tac">
<label for="tac" style="margin:1px 0px 0px -20px"></label>
</fieldset>
<center>{nocache}{$RECAPTCHA|default:"" nofilter}{/nocache}</center>
</div>
<footer>
<div class="submit_link">
<input type="submit" value="Register" class="alt_btn">
</div>
</footer>
</article>
</form>

View File

@ -1 +0,0 @@
<br /><center><p><font size="5px">We are currently not accepting new user registrations.</font></p></center>

View File

@ -1,4 +0,0 @@
{include file="statistics/blockfinder/finder_top.tpl"}
{if $smarty.session.AUTHENTICATED|default}
{include file="statistics/blockfinder/finder_own.tpl" ALIGN="right" SHORT=true}
{/if}

View File

@ -1,25 +0,0 @@
<article class="module width_half" style="min-height: 350px">
<header><h3>Blocks found by own Workers</h3></header>
<div>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">Rank</th>
<th>Worker</th>
<th align="center">Blocks</th>
<th align="right" style="padding-right: 25px;">Coins Generated</th>
</tr>
</thead>
<tbody>
{assign var=rank value=1}
{section block $BLOCKSSOLVEDBYWORKER}
<tr class="{cycle values="odd,even"}">
<td align="center">{$rank++}</td>
<td>{$BLOCKSSOLVEDBYWORKER[block].finder|default:"unknown/deleted"|escape}</td>
<td align="center">{$BLOCKSSOLVEDBYWORKER[block].solvedblocks}</td>
<td align="right" style="padding-right: 25px;">{$BLOCKSSOLVEDBYWORKER[block].generatedcoins|number_format}</td>
</tr>
{/section}
</tbody>
</table>
</article>

View File

@ -1,25 +0,0 @@
<article class="module width_half" style="min-height: 350px">
<header><h3>Top 25 Blockfinder</h3></header>
<div>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">Rank</th>
<th>Username</th>
<th align="center">Blocks</th>
<th align="right" style="padding-right: 25px;">Coins Generated</th>
</tr>
</thead>
<tbody>
{assign var=rank value=1}
{section block $BLOCKSSOLVEDBYACCOUNT}
<tr class="{cycle values="odd,even"}">
<td align="center">{$rank++}</td>
<td>{if $BLOCKSSOLVEDBYACCOUNT[block].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$BLOCKSSOLVEDBYACCOUNT[block].finder|default:"unknown"|escape}{/if}</td>
<td align="center">{$BLOCKSSOLVEDBYACCOUNT[block].solvedblocks}</td>
<td align="right" style="padding-right: 25px;">{$BLOCKSSOLVEDBYACCOUNT[block].generatedcoins|number_format}</td>
</tr>
{/section}
</tbody>
</table>
</article>

View File

@ -1,172 +0,0 @@
<article class="module width_full">
<header><h3>Block Overview</h3></header>
<table width="100%" class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="left"></th>
<th align="center">Gen Est.</th>
<th align="center">Found</th>
<th align="center">Valid</th>
<th align="center">Orphan</th>
<th align="center">Avg Diff</th>
<th align="center">Shares Est.</th>
<th align="center">Shares</th>
<th align="center">Percentage</th>
<th align="center">Amount</th>
<th align="center">Rate Est.</th>
</tr>
</thead>
<tbody>
<tr>
<th align="left" style="padding-left: 15px">All Time</td>
<td align="center">{($FIRSTBLOCKFOUND / $COINGENTIME)|number_format:"0"}</td>
<td align="center">{$LASTBLOCKSBYTIME.Total}</td>
<td align="center">{$LASTBLOCKSBYTIME.TotalValid}</td>
<td align="center">{$LASTBLOCKSBYTIME.TotalOrphan}</td>
<td align="center">
{if $LASTBLOCKSBYTIME.TotalValid > 0}
{($LASTBLOCKSBYTIME.TotalDifficulty / $LASTBLOCKSBYTIME.TotalValid)|number_format:"4"}
{else}
0
{/if}
</td>
<td align="center">{$LASTBLOCKSBYTIME.TotalEstimatedShares}</td>
<td align="center">{$LASTBLOCKSBYTIME.TotalShares}</td>
<td align="center">
{if $LASTBLOCKSBYTIME.TotalEstimatedShares > 0}
<font color="{if (($LASTBLOCKSBYTIME.TotalShares / $LASTBLOCKSBYTIME.TotalEstimatedShares * 100) <= 100)}green{else}red{/if}">{($LASTBLOCKSBYTIME.TotalShares / $LASTBLOCKSBYTIME.TotalEstimatedShares * 100)|number_format:"2"}%</font></b>
{else}
0.00%
{/if}
</td>
<td align="center">{$LASTBLOCKSBYTIME.TotalAmount}</td>
<td align="center">{($LASTBLOCKSBYTIME.Total|default:"0.00" / ($FIRSTBLOCKFOUND / $COINGENTIME) * 100)|number_format:"2"}%</td>
</tr>
<tr>
<th align="left" style="padding-left: 15px">Last Hour</td>
<td align="center">{(3600 / $COINGENTIME)}</td>
<td align="center">{$LASTBLOCKSBYTIME.1HourTotal}</td>
<td align="center">{$LASTBLOCKSBYTIME.1HourValid}</td>
<td align="center">{$LASTBLOCKSBYTIME.1HourOrphan}</td>
<td align="center">
{if $LASTBLOCKSBYTIME.1HourValid > 0}
{($LASTBLOCKSBYTIME.1HourDifficulty / $LASTBLOCKSBYTIME.1HourValid)|number_format:"4"}
{else}
0
{/if}
</td>
<td align="center">{$LASTBLOCKSBYTIME.1HourEstimatedShares}</td>
<td align="center">{$LASTBLOCKSBYTIME.1HourShares}</td>
<td align="center">
{if $LASTBLOCKSBYTIME.1HourEstimatedShares > 0}
<font color="{if (($LASTBLOCKSBYTIME.1HourShares / $LASTBLOCKSBYTIME.1HourEstimatedShares * 100) <= 100)}green{else}red{/if}">{($LASTBLOCKSBYTIME.1HourShares / $LASTBLOCKSBYTIME.1HourEstimatedShares * 100)|number_format:"2"}%</font></b>
{else}
0.00%
{/if}
</td>
<td align="center">{$LASTBLOCKSBYTIME.1HourAmount}</td>
<td align="center">{($LASTBLOCKSBYTIME.1HourTotal|default:"0.00" / (3600 / $COINGENTIME) * 100)|number_format:"2"}%</td>
</tr>
<tr>
<th align="left" style="padding-left: 15px">Last 24 Hours</td>
<td align="center">{(86400 / $COINGENTIME)}</td>
<td align="center">{$LASTBLOCKSBYTIME.24HourTotal}</td>
<td align="center">{$LASTBLOCKSBYTIME.24HourValid}</td>
<td align="center">{$LASTBLOCKSBYTIME.24HourOrphan}</td>
<td align="center">
{if $LASTBLOCKSBYTIME.24HourValid > 0}
{($LASTBLOCKSBYTIME.24HourDifficulty / $LASTBLOCKSBYTIME.24HourValid)|number_format:"4"}
{else}
0
{/if}
</td>
<td align="center">{$LASTBLOCKSBYTIME.24HourEstimatedShares}</td>
<td align="center">{$LASTBLOCKSBYTIME.24HourShares}</td>
<td align="center">
{if $LASTBLOCKSBYTIME.24HourEstimatedShares > 0}
<font color="{if (($LASTBLOCKSBYTIME.24HourShares / $LASTBLOCKSBYTIME.24HourEstimatedShares * 100) <= 100)}green{else}red{/if}">{($LASTBLOCKSBYTIME.24HourShares / $LASTBLOCKSBYTIME.24HourEstimatedShares * 100)|number_format:"2"}%</font></b>
{else}
0.00%
{/if}
</td>
<td align="center">{$LASTBLOCKSBYTIME.24HourAmount}</td>
<td align="center">{($LASTBLOCKSBYTIME.24HourTotal|default:"0.00" / (86400 / $COINGENTIME) * 100)|number_format:"2"}%</td>
</tr>
<tr>
<th align="left" style="padding-left: 15px">Last 7 Days</td>
<td align="center">{(604800 / $COINGENTIME)}</td>
<td align="center">{$LASTBLOCKSBYTIME.7DaysTotal}</td>
<td align="center">{$LASTBLOCKSBYTIME.7DaysValid}</td>
<td align="center">{$LASTBLOCKSBYTIME.7DaysOrphan}</td>
<td align="center">
{if $LASTBLOCKSBYTIME.7DaysValid > 0}
{($LASTBLOCKSBYTIME.7DaysDifficulty / $LASTBLOCKSBYTIME.7DaysValid)|number_format:"4"}
{else}
0
{/if}
</td>
<td align="center">{$LASTBLOCKSBYTIME.7DaysEstimatedShares}</td>
<td align="center">{$LASTBLOCKSBYTIME.7DaysShares}</td>
<td align="center">
{if $LASTBLOCKSBYTIME.7DaysEstimatedShares > 0}
<font color="{if (($LASTBLOCKSBYTIME.7DaysShares / $LASTBLOCKSBYTIME.7DaysEstimatedShares * 100) <= 100)}green{else}red{/if}">{($LASTBLOCKSBYTIME.7DaysShares / $LASTBLOCKSBYTIME.7DaysEstimatedShares * 100)|number_format:"2"}%</font></b>
{else}
0.00%
{/if}
</td>
<td align="center">{$LASTBLOCKSBYTIME.7DaysAmount}</td>
<td align="center">{($LASTBLOCKSBYTIME.7DaysTotal|default:"0.00" / (604800 / $COINGENTIME) * 100)|number_format:"2"}%</td>
</tr>
<tr>
<th align="left" style="padding-left: 15px">Last 4 Weeks</td>
<td align="center">{(2419200 / $COINGENTIME)}</td>
<td align="center">{$LASTBLOCKSBYTIME.4WeeksTotal}</td>
<td align="center">{$LASTBLOCKSBYTIME.4WeeksValid}</td>
<td align="center">{$LASTBLOCKSBYTIME.4WeeksOrphan}</td>
<td align="center">
{if $LASTBLOCKSBYTIME.4WeeksValid > 0}
{($LASTBLOCKSBYTIME.4WeeksDifficulty / $LASTBLOCKSBYTIME.4WeeksValid)|number_format:"4"}
{else}
0
{/if}
</td>
<td align="center">{$LASTBLOCKSBYTIME.4WeeksEstimatedShares}</td>
<td align="center">{$LASTBLOCKSBYTIME.4WeeksShares}</td>
<td align="center">
{if $LASTBLOCKSBYTIME.4WeeksEstimatedShares > 0}
<font color="{if (($LASTBLOCKSBYTIME.4WeeksShares / $LASTBLOCKSBYTIME.4WeeksEstimatedShares * 100) <= 100)}green{else}red{/if}">{($LASTBLOCKSBYTIME.4WeeksShares / $LASTBLOCKSBYTIME.4WeeksEstimatedShares * 100)|number_format:"2"}%</font></b>
{else}
0.00%
{/if}
</td>
<td align="center">{$LASTBLOCKSBYTIME.4WeeksAmount}</td>
<td align="center">{($LASTBLOCKSBYTIME.4WeeksTotal|default:"0.00" / (2419200 / $COINGENTIME) * 100)|number_format:"2"}%</td>
</tr>
<tr>
<th align="left" style="padding-left: 15px">Last 12 Month</td>
<td align="center">{(29030400 / $COINGENTIME)}</td>
<td align="center">{$LASTBLOCKSBYTIME.12MonthTotal}</td>
<td align="center">{$LASTBLOCKSBYTIME.12MonthValid}</td>
<td align="center">{$LASTBLOCKSBYTIME.12MonthOrphan}</td>
<td align="center">
{if $LASTBLOCKSBYTIME.12MonthValid > 0}
{($LASTBLOCKSBYTIME.12MonthDifficulty / $LASTBLOCKSBYTIME.12MonthValid)|number_format:"4"}
{else}
0
{/if}
</td>
<td align="center">{$LASTBLOCKSBYTIME.12MonthEstimatedShares}</td>
<td align="center">{$LASTBLOCKSBYTIME.12MonthShares}</td>
<td align="center">
{if $LASTBLOCKSBYTIME.12MonthEstimatedShares > 0}
<font color="{if (($LASTBLOCKSBYTIME.12MonthShares / $LASTBLOCKSBYTIME.12MonthEstimatedShares * 100) <= 100)}green{else}red{/if}">{($LASTBLOCKSBYTIME.12MonthShares / $LASTBLOCKSBYTIME.12MonthEstimatedShares * 100)|number_format:"2"}%</font></b>
{else}
0.00%
{/if}
</td>
<td align="center">{$LASTBLOCKSBYTIME.12MonthAmount}</td>
<td align="center">{($LASTBLOCKSBYTIME.12MonthTotal|default:"0.00" / (29030400 / $COINGENTIME) * 100)|number_format:"2"}%</td>
</tr>
</tbody>
</table>
</article>

View File

@ -1,57 +0,0 @@
<article class="module width_full">
<header><h3>Block Shares</h3></header>
<table width="70%" class="visualize" rel="line">
<caption>Block Shares</caption>
<thead>
<tr>
{section block $BLOCKSFOUND step=-1}
<th scope="col">{$BLOCKSFOUND[block].height}</th>
{/section}
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Expected</th>
{section block $BLOCKSFOUND step=-1}
<td>{$BLOCKSFOUND[block].estshares}</td>
{/section}
</tr>
<tr>
<th scope="row">Actual</th>
{section block $BLOCKSFOUND step=-1}
<td>{$BLOCKSFOUND[block].shares|default:"0"}</td>
{/section}
</tr>
{if $GLOBAL.config.payout_system == 'pplns'}<tr>
<th scope="row">PPLNS</th>
{section block $BLOCKSFOUND step=-1}
<td>{$BLOCKSFOUND[block].pplns_shares}</td>
{/section}
</tr>{/if}
{if $USEBLOCKAVERAGE}<tr>
<th scope="row">Average</th>
{section block $BLOCKSFOUND step=-1}
<td>{$BLOCKSFOUND[block].block_avg}</td>
{/section}
</tr>{/if}
</tbody>
</table>
<table class="tablesorter">
<tbody>
<tr>
<td align="left">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&height={if is_array($BLOCKSFOUND) && count($BLOCKSFOUND) > ($BLOCKLIMIT - 1)}{$BLOCKSFOUND[$BLOCKLIMIT - 1].height}{/if}&prev=1"><i class="icon-left-open"></i></a>
</td>
<td align="right">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&height={if is_array($BLOCKSFOUND) && count($BLOCKSFOUND) > 0}{$BLOCKSFOUND[0].height}{/if}&next=1"><i class="icon-right-open"></i></a>
</td>
</tr>
</tbody>
</table>
<footer>
<p style="padding-left:30px; padding-redight:30px; font-size:10px;">
The graph above illustrates N shares to find a block vs. E Shares expected to find a block based on
target and network difficulty and assuming a zero variance scenario.
</p>
</footer>
</article>

View File

@ -1,70 +0,0 @@
<article class="module width_full">
<header><h3>Last {$BLOCKLIMIT} Blocks Found</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">Block</th>
<th align="center">Validity</th>
<th>Finder</th>
<th align="center">Time</th>
<th align="right">Difficulty</th>
<th align="right">Amount</th>
<th align="right">Expected Shares</th>
{if $GLOBAL.config.payout_system == 'pplns'}<th align="right">PPLNS Shares</th>{/if}
<th align="right">Actual Shares</th>
<th align="right" style="padding-right: 25px;">Percentage</th>
</tr>
</thead>
<tbody>
{assign var=count value=0}
{assign var=totalexpectedshares value=0}
{assign var=totalshares value=0}
{assign var=pplnsshares value=0}
{section block $BLOCKSFOUND}
{assign var="totalshares" value=$totalshares+$BLOCKSFOUND[block].shares}
{assign var="count" value=$count+1}
{if $GLOBAL.config.payout_system == 'pplns'}{assign var="pplnsshares" value=$pplnsshares+$BLOCKSFOUND[block].pplns_shares}{/if}
<tr class="{cycle values="odd,even"}">
{if ! $GLOBAL.website.blockexplorer.disabled}
<td align="center"><a href="{$smarty.server.SCRIPT_NAME}?page=statistics&action=round&height={$BLOCKSFOUND[block].height}">{$BLOCKSFOUND[block].height}</a></td>
{else}
<td align="center">{$BLOCKSFOUND[block].height}</td>
{/if}
<td align="center">
{if $BLOCKSFOUND[block].confirmations >= $GLOBAL.confirmations}
<span class="confirmed">Confirmed</span>
{else if $BLOCKSFOUND[block].confirmations == -1}
<span class="orphan">Orphan</span>
{else}
<span class="unconfirmed">{$GLOBAL.confirmations - $BLOCKSFOUND[block].confirmations} left</span>
{/if}
</td>
<td>{if $BLOCKSFOUND[block].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$BLOCKSFOUND[block].finder|default:"unknown"|escape}{/if}</td>
<td align="center">{$BLOCKSFOUND[block].time|date_format:"%d/%m %H:%M:%S"}</td>
<td align="right">{$BLOCKSFOUND[block].difficulty|number_format:"2"}</td>
<td align="right">{$BLOCKSFOUND[block].amount|number_format:"2"}</td>
<td align="right">
{assign var="totalexpectedshares" value=$totalexpectedshares+$BLOCKSFOUND[block].estshares}
{$BLOCKSFOUND[block].estshares|number_format}
</td>
{if $GLOBAL.config.payout_system == 'pplns'}<td align="right">{$BLOCKSFOUND[block].pplns_shares|number_format}</td>{/if}
<td align="right">{$BLOCKSFOUND[block].shares|number_format}</td>
<td align="right" style="padding-right: 25px;">
{math assign="percentage" equation="shares / estshares * 100" shares=$BLOCKSFOUND[block].shares|default:"0" estshares=$BLOCKSFOUND[block].estshares}
<font color="{if ($percentage <= 100)}green{else}red{/if}">{$percentage|number_format:"2"}</font>
</td>
</tr>
{/section}
<tr>
<td colspan="6" align="right"><b>Totals</b></td>
<td align="right">{$totalexpectedshares|number_format}</td>
{if $GLOBAL.config.payout_system == 'pplns'}<td align="right">{$pplnsshares|number_format}</td>{/if}
<td align="right">{$totalshares|number_format}</td>
<td align="right" style="padding-right: 25px;">{if $count > 0}<font color="{if (($totalshares / $totalexpectedshares * 100) <= 100)}green{else}red{/if}">{($totalshares / $totalexpectedshares * 100)|number_format:"2"}</font>{else}0{/if}</td>
</tr>
</tbody>
</table>
<footer>
{if $GLOBAL.config.payout_system != 'pps'}<ul><li>Note: Round Earnings are not credited until <font color="orange">{$GLOBAL.confirmations}</font> confirms.</li></ul>{/if}
</footer>
</article>

View File

@ -1,3 +0,0 @@
{include file="statistics/blocks/block_shares_graph.tpl"}
{include file="statistics/blocks/block_overview_time.tpl"}
{include file="statistics/blocks/blocks_found_details.tpl"}

View File

@ -1,35 +0,0 @@
<article class="module width_half">
<header><h3>Last Found Blocks</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">Block</th>
<th>Finder</th>
<th align="center">Time</th>
<th align="right" style="padding-right: 25px;">Actual Shares</th>
</tr>
</thead>
<tbody>
{assign var=rank value=1}
{section block $BLOCKSFOUND}
<tr class="{cycle values="odd,even"}">
{if ! $GLOBAL.website.blockexplorer.disabled}
<td align="center"><a href="{$GLOBAL.website.blockexplorer.url}{$BLOCKSFOUND[block].blockhash}" target="_new">{$BLOCKSFOUND[block].height}</a></td>
{else}
<td align="center">{$BLOCKSFOUND[block].height}</td>
{/if}
<td>{if $BLOCKSFOUND[block].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$BLOCKSFOUND[block].finder|default:"unknown"|escape}{/if}</td>
<td align="center">{$BLOCKSFOUND[block].time|date_format:"%d/%m %H:%M:%S"}</td>
<td align="right" style="padding-right: 25px;">{$BLOCKSFOUND[block].shares|number_format}</td>
</tr>
{/section}
</tbody>
</table>
{if $GLOBAL.config.payout_system != 'pps'}
<footer>
<ul>
<li>Note: Round Earnings are not credited until <font color="orange">{$GLOBAL.confirmations}</font> confirms.</font></li>
</ul>
{/if}
</footer>
</article>

View File

@ -1,28 +0,0 @@
<article class="module width_full">
<header><h3>General Statistics</h3></header>
<div class="module_content">
<table class="" width="50%" style="font-size:14px;">
<tbody>
<tr>
<td class="leftheader">Pool Hash Rate</td>
<td>{$GLOBAL.hashrate} {$GLOBAL.hashunits.pool}</td>
</tr>
<tr>
<td class="leftheader">Current Total Miners</td>
<td>{$GLOBAL.workers}</td>
</tr>
<tr>
<td class="leftheader">Current Block</td>
<td><a href="{$GLOBAL.website.blockexplorer.url}{$CURRENTBLOCK}" target="_new">{$CURRENTBLOCK}</a></td>
</tr>
<tr>
<td class="leftheader">Current Difficulty</td>
<td><a href="http://allchains.info/" target="_new">{$DIFFICULTY}</a></td>
</tr>
</tbody>
</table>
</div>
<footer>
{if !$GLOBAL.website.api.disabled}<ul><li>These stats are also available in JSON format <a href="{$smarty.server.SCRIPT_NAME}?page=api&action=public" target="_api">HERE</a></li>{/if}
</footer>
</article>

View File

@ -1,29 +0,0 @@
{if is_array($YOURHASHRATES) && is_array($POOLHASHRATES)}
<div class="tab_content" id="both">
<table class="visualize" rel="area">
<caption>Your vs Pool Hashrate</caption>
<thead>
<tr>
<td></td>
{foreach $YOURHASHRATES as $hour=>$hashrate}
<th scope="col">{$hour|default:"0"}:00</th>
{/foreach}
</tr>
</thead>
<tbody>
<tr>
<th scope="row">{$smarty.session.USERDATA.username}</th>
{foreach $YOURHASHRATES as $hour=>$hashrate}
<td>{$hashrate|default:"0"}</td>
{/foreach}
</tr>
<tr>
<th scope="row">Pool</th>
{foreach $POOLHASHRATES as $hour=>$hashrate}
<td>{$hashrate|default:"0"}</td>
{/foreach}
</tr>
</tbody>
</table>
</div>
{/if}

View File

@ -1,15 +0,0 @@
<article class="module width_full">
<header>
<h3 class="tabs_involved">Stats</h3>
<ul class="tabs">
<li><a href="#mine">Mine</a></li>
<li><a href="#pool">Pool</a></li>
<li><a href="#both">Both</a></li>
</ul>
</header>
<div class="tab_container">
{include file="{$smarty.request.page|escape}/{$smarty.request.action|escape}/mine.tpl"}
{include file="{$smarty.request.page|escape}/{$smarty.request.action|escape}/pool.tpl"}
{include file="{$smarty.request.page|escape}/{$smarty.request.action|escape}/both.tpl"}
</div>
</article>

View File

@ -1,23 +0,0 @@
{if is_array($YOURHASHRATES)}
<div class="tab_content" id="mine">
<table class="visualize" rel="area">
<caption>Your Hashrate</caption>
<thead>
<tr>
<td></td>
{foreach $YOURHASHRATES as $hour=>$hashrate}
<th scope="col">{$hour|default:"0"}:00</th>
{/foreach}
</tr>
</thead>
<tbody>
<tr>
<th scope="row">{$smarty.session.USERDATA.username}</th>
{foreach $YOURHASHRATES as $hour=>$hashrate}
<td>{$hashrate|default:"0"}</td>
{/foreach}
</tr>
</tbody>
</table>
</div>
{/if}

View File

@ -1,23 +0,0 @@
{if is_array($POOLHASHRATES)}
<div class="tab_content" id="pool">
<table class="visualize" rel="area">
<caption>Pool Hashrate</caption>
<thead>
<tr>
<td></td>
{foreach $POOLHASHRATES as $hour=>$hashrate}
<th scope="col">{$hour|default:"0"}:00</th>
{/foreach}
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Pool</th>
{foreach $POOLHASHRATES as $hour=>$hashrate}
<td>{$hashrate|default:"0"}</td>
{/foreach}
</tr>
</tbody>
</table>
</div>
{/if}

View File

@ -1,30 +0,0 @@
<script>
{literal}
$(document).ready(function(){
// Ajax API URL
var url = "{/literal}{$smarty.server.SCRIPT_NAME}?page=api&action=getnavbardata{literal}";
function refreshStaticData(data) {
$('#b-workers').html((parseFloat(data.getnavbardata.data.pool.workers).toFixed(0)));
$('#b-hashrate').html((parseFloat(data.getnavbardata.data.pool.hashrate).toFixed(3)));
$('#b-target').html(data.getnavbardata.data.pool.estimated + " (done: " + data.getnavbardata.data.pool.progress + "%)");
$('#b-diff').html(data.getnavbardata.data.network.difficulty);
}
// Our worker process to keep gauges and graph updated
(function worker() {
$.ajax({
url: url,
dataType: 'json',
success: function(data) {
refreshStaticData(data);
},
complete: function() {
setTimeout(worker, {/literal}{($GLOBAL.config.statistics_ajax_refresh_interval * 1000)|default:"10000"}{literal})
}
});
})();
});
{/literal}
</script>

View File

@ -1,49 +0,0 @@
<article class="module width_half">
<header><h3>Contributor Hashrates</h3></header>
<div>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">Rank</th>
<th align="center">Donor</th>
<th align="center" scope="col">User Name</th>
<th align="right" style="padding-right: 7px;" scope="col">KH/s</th>
<th align="right">{$GLOBAL.config.currency}/Day</th>
{if $GLOBAL.config.price.currency}<th align="right" style="padding-right: 25px;">{$GLOBAL.config.price.currency}/Day</th>{/if}
</tr>
</thead>
<tbody>
{assign var=rank value=1}
{assign var=listed value=0}
{section contrib $CONTRIBHASHES}
{math assign="estday" equation="round(reward / ( diff * pow(2,32) / ( hashrate * 1000 ) / 3600 / 24), 3)" diff=$DIFFICULTY reward=$REWARD hashrate=$CONTRIBHASHES[contrib].hashrate}
<tr{if $GLOBAL.userdata.username|default:""|lower == $CONTRIBHASHES[contrib].account|lower}{assign var=listed value=1} style="background-color:#99EB99;"{else} class="{cycle values="odd,even"}"{/if}>
<td align="center">{$rank++}</td>
<td align="center">{if $CONTRIBHASHES[contrib].donate_percent|default:"0" >= 2}<i class="icon-award">{elseif $CONTRIBHASHES[contrib].donate_percent|default:"0" < 2 AND $CONTRIBHASHES[contrib].donate_percent|default:"0" > 0}<i class="icon-star-empty">{else}<i class="icon-block"></i>{/if}</td>
<td align="center" style="padding-right: 0px;">{if $CONTRIBHASHES[contrib].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$CONTRIBHASHES[contrib].account|escape}{/if}</td>
<td align="right" style="padding-right: 0px;">{$CONTRIBHASHES[contrib].hashrate|number_format}</td>
<td align="right" style="padding-right: 0px;">{$estday|number_format:"3"}</td>
{if $GLOBAL.config.price.currency}<td align="right" style="padding-right: 30px;">{($estday * $GLOBAL.price)|default:"n/a"|number_format:"4"}</td>{/if}
</tr>
{/section}
{if $listed != 1 && $GLOBAL.userdata.username|default:"" && $GLOBAL.userdata.rawhashrate|default:"0" > 0}
{math assign="myestday" equation="round(reward / ( diff * pow(2,32) / ( hashrate * 1000 ) / 3600 / 24), 3)" diff=$DIFFICULTY reward=$REWARD hashrate=$GLOBAL.userdata.rawhashrate}
<tr>
<td align="center">n/a</td>
<td align="center">{if $GLOBAL.userdata.donate_percent|default:"0" >= 2}<i class="icon-star-empty"></i>{elseif $GLOBAL.userdata.donate_percent|default:"0" < 2 AND $GLOBAL.userdata.donate_percent|default:"0" > 0}<i class="icon-award"></i>{else}<i class="icon-block"></i>{/if}</td>
<td align="center" style="padding-right: 0px;">{$GLOBAL.userdata.username|escape}</td>
<td align="right" style="padding-right: 0px;">{$GLOBAL.userdata.rawhashrate|number_format}</td>
<td align="right" style="padding-right: 0px;">{$myestday|number_format:"3"|default:"n/a"}</td>
{if $GLOBAL.config.price.currency}<td align="right" style="padding-right: 30px;">{($myestday * $GLOBAL.price)|default:"n/a"|number_format:"4"}</td>{/if}
</tr>
{/if}
</tbody>
</table>
<footer>
<ul>
<i class="icon-block"> no Donation </i>
<i class="icon-star-empty"> 0&#37;&#45;2&#37; Donation </i>
<i class="icon-award"> 2&#37; or more Donation </i>
</ul>
</footer>
</article>

View File

@ -1,40 +0,0 @@
<article class="module width_half">
<header><h3>Contributor Shares</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">Rank</th>
<th align="center">Donor</th>
<th align="center">User Name</th>
<th align="right" style="padding-right: 30px;">Shares</th>
</tr>
</thead>
<tbody>
{assign var=rank value=1}
{assign var=listed value=0}
{section shares $CONTRIBSHARES}
<tr{if $GLOBAL.userdata.username|default:""|lower == $CONTRIBSHARES[shares].account|lower}{assign var=listed value=1} style="background-color:#99EB99;"{else} class="{cycle values="odd,even"}"{/if}>
<td align="center">{$rank++}</td>
<td align="center">{if $CONTRIBSHARES[shares].donate_percent|default:"0" >= 2}<i class="icon-award">{else if $CONTRIBSHARES[shares].donate_percent|default:"0" < 2 AND $CONTRIBSHARES[shares].donate_percent|default:"0" > 0}<i class="icon-star-empty">{else}<i class="icon-block"></i>{/if}</td>
<td align="center">{if $CONTRIBSHARES[shares].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$CONTRIBSHARES[shares].account|escape}{/if}</td>
<td align="right" style="padding-right: 30px;">{$CONTRIBSHARES[shares].shares|number_format}</td>
</tr>
{/section}
{if $listed != 1 && $GLOBAL.userdata.username|default:"" && $GLOBAL.userdata.shares.valid|default:"0" > 0}
<tr>
<td align="center">n/a</td>
<td align="center">{if $GLOBAL.userdata.donate_percent|default:"0" >= 2}<i class="icon-star-empty"></i>{elseif $GLOBAL.userdata.donate_percent|default:"0" < 2 AND $GLOBAL.userdata.donate_percent|default:"0" > 0}<i class="icon-award"></i>{else}<i class="icon-block"></i>{/if}</td>
<td align="center">{$GLOBAL.userdata.username|escape}</td>
<td align="right" style="padding-right: 30px;">{$GLOBAL.userdata.shares.valid|number_format}</td>
</tr>
{/if}
</tbody>
</table>
<footer>
<ul>
<i class="icon-block"> no Donation </i>
<i class="icon-star-empty"> 0&#37;&#45;2&#37; Donation </i>
<i class="icon-award"> 2&#37; or more Donation </i>
</ul>
</footer>
</article>

View File

@ -1,12 +0,0 @@
<!-- Wrapper -->
<div style="overflow: auto">
{include file="statistics/pool/contributors_shares.tpl"}
{include file="statistics/pool/contributors_hashrate.tpl"}
</div>
{include file="statistics/pool/general_stats.tpl"}
{include file="statistics/blocks/small_table.tpl"}
{if !$GLOBAL.website.api.disabled && !$GLOBAL.config.disable_navbar && !$GLOBAL.config.disable_navbar_api}
{include file="statistics/js.tpl"}
{/if}

View File

@ -1,71 +0,0 @@
<article class="module width_half">
<header><h3>General Statistics</h3></header>
<div class="module_content">
<table width="100%">
<tbody>
<tr>
<th align="left" width="50%">Pool Hash Rate</th>
<td width="70%"><span id="b-hashrate">{$GLOBAL.hashrate|number_format:"3"}</span> {$GLOBAL.hashunits.pool}</td>
</tr>
<tr>
<th align="left">Pool Efficiency</th>
<td>{if $GLOBAL.roundshares.valid > 0}{($GLOBAL.roundshares.valid / ($GLOBAL.roundshares.valid + $GLOBAL.roundshares.invalid) * 100)|number_format:"2"}%{else}0%{/if}</td>
</tr>
<tr>
<th align="left">Current Active Workers</th>
<td id="b-workers">{$GLOBAL.workers}</td>
</tr>
<tr>
<th align="left">Current Difficulty</th>
{if ! $GLOBAL.website.chaininfo.disabled}
<td><a href="{$GLOBAL.website.chaininfo.url}" target="_new"><font size="2"><span id="b-diff">{$NETWORK.difficulty}</span></font></a></td>
{else}
<td><font size="2"><span id="b-diff">{$NETWORK.difficulty}</span></font></td>
{/if}
</tr>
<tr>
<th align="left">Est. Next Difficulty</th>
{if ! $GLOBAL.website.chaininfo.disabled}
<td><a href="{$GLOBAL.website.chaininfo.url}" target="_new"><font size="2">{$NETWORK.EstNextDifficulty} (Change in {$NETWORK.BlocksUntilDiffChange} Blocks)</font></a></td>
{else}
<td><font size="2">{$NETWORK.EstNextDifficulty} (Change in {$NETWORK.BlocksUntilDiffChange} Blocks)</font></td>
{/if}
</tr>
<tr>
<th align="left">Est. Avg. Time per Round (Network)</th>
<td><font size="2">{$NETWORK.EstTimePerBlock|seconds_to_words}</font></td>
</tr>
<tr>
<th align="left">Est. Avg. Time per Round (Pool)</th>
<td>{$ESTTIME|seconds_to_words}</td>
</tr>
<tr>
<th align="left">Est. Shares this Round</th>
<td id="b-target">{$ESTIMATES.shares} (done: {$ESTIMATES.percent}%)</td>
</tr>
{if ! $GLOBAL.website.blockexplorer.disabled}
<tr>
<th align="left" width="50%">Next Network Block</th>
<td colspan="3">{$CURRENTBLOCK + 1} &nbsp;&nbsp;<font size="1"> (Current: <a href="{$GLOBAL.website.blockexplorer.url}{$CURRENTBLOCKHASH}" target="_new">{$CURRENTBLOCK})</a></font></td>
</tr>
{else}
<tr>
<th align="left">Next Network Block</th>
<td colspan="3">{$CURRENTBLOCK + 1} &nbsp;&nbsp; (Current: {$CURRENTBLOCK})</td>
</tr>
{/if}
<tr>
<th align="left">Last Block Found</th>
<td colspan="3"><a href="{$smarty.server.SCRIPT_NAME}?page=statistics&action=round&height={$LASTBLOCK}" target="_new">{$LASTBLOCK|default:"0"}</a></td>
</tr>
<tr>
<th align="left">Time Since Last Block</th>
<td colspan="3">{$TIMESINCELAST|seconds_to_words}</td>
</tr>
</tbody>
</table>
</div>
<footer>
{if !$GLOBAL.website.api.disabled}<ul><li>These stats are also available in JSON format <a href="{$smarty.server.SCRIPT_NAME}?page=api&action=getpoolstatus&api_key={$GLOBAL.userdata.api_key|default:""}">HERE</a></li></ul>{/if}
</footer>
</article>

View File

@ -1,54 +0,0 @@
<article class="module width_full">
<header><h3>Block Statistics</h3></header>
<table class="tablesorter">
<tbody>
<tr>
<td align="left">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page}&action={$smarty.request.action}&height={$BLOCKDETAILS.height}&prev=1"><i class="icon-left-open"></i></a>
</td>
<td colspan="7" align="right">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page}&action={$smarty.request.action}&height={$BLOCKDETAILS.height}&next=1"><i class="icon-right-open"></i></a>
</td>
</tr>
<tr class="odd">
<td>ID</td>
<td>{$BLOCKDETAILS.id|number_format:"0"|default:"0"}</td>
<td>Height</td>
{if ! $GLOBAL.website.blockexplorer.disabled}
<td><a href="{$GLOBAL.website.blockexplorer.url}{$BLOCKDETAILS.blockhash}" target="_new">{$BLOCKDETAILS.height|number_format:"0"|default:"0"}</a></td>
{else}
<td>{$BLOCKDETAILS.height|number_format:"0"|default:"0"}</td>
{/if}
<td>Amount</td>
<td>{$BLOCKDETAILS.amount|number_format|default:"0"}</td>
<td>Confirmations</td>
<td>{if $BLOCKDETAILS.confirmations >= $GLOBAL.confirmations}
<font color="green">Confirmed</font>
{else if $BLOCKDETAILS.confirmations == -1}
<font color="red">Orphan</font>
{else if $BLOCKDETAILS.confirmations == 0}0
{else}{($GLOBAL.confirmations - $BLOCKDETAILS.confirmations)|default:"0"} left{/if}</td>
</tr>
<tr class="even">
<td>Difficulty</td>
<td>{$BLOCKDETAILS.difficulty|default:"0"}</td>
<td>Time</td>
<td>{$BLOCKDETAILS.time|default:"0"}</td>
<td>Shares</td>
<td>{$BLOCKDETAILS.shares|number_format:"0"|default:"0"}</td>
<td>Finder</td>
<td>{$BLOCKDETAILS.finder|default:"unknown"}</td>
</tr>
</tbody>
</table>
<footer>
<div class="submit_link">
<form action="{$smarty.server.SCRIPT_NAME}" method="POST" id='search'>
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="text" class="pin" name="search" value="{$smarty.request.height|default:"%"|escape}">
<input type="submit" value="Search" class="alt_btn">
</form>
</div>
</footer>
</article>

View File

@ -1,13 +0,0 @@
{if $GLOBAL.config.payout_system == 'pplns'}
{include file="statistics/round/pplns_block_stats.tpl"}
{include file="statistics/round/pplns_transactions.tpl"}
{include file="statistics/round/round_shares.tpl"}
{include file="statistics/round/pplns_round_shares.tpl"}
{else if $GLOBAL.config.payout_system == 'prop'}
{include file="statistics/round/block_stats.tpl"}
{include file="statistics/round/round_shares.tpl"}
{include file="statistics/round/round_transactions.tpl"}
{else}
{include file="statistics/round/block_stats.tpl"}
{include file="statistics/round/round_shares.tpl"}
{/if}

View File

@ -1,95 +0,0 @@
<article class="module width_full">
<header><h3>Round Statistics</h3></header>
<table class="tablesorter">
<tbody>
<tr>
<td align="left">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&height={$BLOCKDETAILS.height}&prev=1"><i class="icon-left-open"></i></a>
</td>
<td align="right" colspan="4">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&height={$BLOCKDETAILS.height}&next=1"><i class="icon-right-open"></i></a>
</td>
</tr>
</tbody>
</table>
<table class="tablesorter">
<tbody>
<thead>
<tr>
<th align="center" colspan="2">Block Statistics</th>
<th align="center" colspan="2">PPLNS Round Statistics</th>
</tr>
</thead>
<tr class="odd">
<td>ID</td>
<td>{$BLOCKDETAILS.id|number_format:"0"|default:"0"}</td>
<td>PPLNS Shares</td>
<td>{$PPLNSSHARES|number_format:"0"|default:"0"}</td>
</tr>
<tr class="even">
<td>Height</td>
{if ! $GLOBAL.website.blockexplorer.disabled}
<td><a href="{$GLOBAL.website.blockexplorer.url}{$BLOCKDETAILS.blockhash}" target="_new">{$BLOCKDETAILS.height|number_format:"0"|default:"0"}</a></td>
{else}
<td>{$BLOCKDETAILS.height|number_format:"0"|default:"0"}</td>
{/if}
<td>Estimated Shares</td>
<td>{$BLOCKDETAILS.estshares|number_format|default:"0"}</td>
</tr>
<tr class="odd">
<td>Amount</td>
<td>{$BLOCKDETAILS.amount|default:"0"}</td>
<td>Target Variance</td>
{assign var=percentage value=0}
{assign var=percentage1 value=0}
{assign var=percentage2 value=0}
<td>{if $PPLNSSHARES > 0}{math assign="percentage" equation=(($BLOCKDETAILS.estshares / $PPLNSSHARES) * 100)}{/if}<font color="{if ($percentage >= 100)}green{else}red{/if}">{$percentage|number_format:"2"} %</font></td>
</tr>
<tr class="even">
<td>Confirmations</td>
<td>{if $BLOCKDETAILS.confirmations >= $GLOBAL.confirmations}
<font color="green">Confirmed</font>
{else if $BLOCKDETAILS.confirmations == -1}
<font color="red">Orphan</font>
{else if $BLOCKDETAILS.confirmations == 0}0
{else}{($GLOBAL.confirmations - $BLOCKDETAILS.confirmations)|default:"0"} left{/if}</td>
<td>Block Average</td>
<td>{$BLOCKAVERAGE|number_format:"0"|default:"0"}</td>
</tr>
<tr class="odd">
<td>Difficulty</td>
<td>{$BLOCKDETAILS.difficulty|default:"0"}</td>
<td>Average Efficiency</td>
<td>{if $BLOCKAVERAGE > 0 && $BLOCKDETAILS.estshares > 0}{math assign="percentage2" equation=(($BLOCKDETAILS.estshares / $BLOCKAVERAGE) * 100)}{/if}<font color="{if ($percentage2 >= 100)}green{else}red{/if}">{$percentage2|number_format:"2"} %</font></td>
</tr>
<tr class="even">
<td>Time</td>
<td>{$BLOCKDETAILS.time|default:"0"}</td>
<td>Target Rounds</td>
<td>{$BLOCKAVGCOUNT|number_format:"0"|default:"0"}</td>
</tr>
<tr class="odd">
<td>Shares</td>
<td>{$BLOCKDETAILS.shares|number_format:"0"|default:"0"}</td>
<td>Seconds This Round</td>
<td>{$BLOCKDETAILS.round_time|number_format:"0"|default:"0"}</td>
</tr>
<tr class="even">
<td>Finder</td>
<td>{$BLOCKDETAILS.finder|default:"unknown"}</td>
<td>Round Variance</td>
<td>{if $PPLNSSHARES > 0}{math assign="percentage1" equation=(($BLOCKDETAILS.shares / $PPLNSSHARES) * 100)}{/if}<font color="{if ($percentage1 >= 100)}green{else}red{/if}">{$percentage1|number_format:"2"} %</font></td>
</tr>
</tbody>
</table>
<footer>
<div class="submit_link">
<form action="{$smarty.server.SCRIPT_NAME}" method="POST" id='search'>
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="text" class="pin" name="search" value="{$smarty.request.height|default:"%"|escape}">
<input type="submit" value="Search" class="alt_btn">
</form>
</div>
</footer>
</article>

View File

@ -1,84 +0,0 @@
<article class="module width_full">
<header><h3>Block Statistics</h3></header>
<table class="tablesorter">
<tbody>
<tr>
<td align="left">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&height={$BLOCKDETAILS.height}&prev=1"><i class="icon-left-open"></i></a>
</td>
<td align="right" colspan="4">
<a href="{$smarty.server.SCRIPT_NAME}?page={$smarty.request.page|escape}&action={$smarty.request.action|escape}&height={$BLOCKDETAILS.height}&next=1"><i class="icon-right-open"></i></a>
</td>
</tr>
</tbody>
</table>
<table class="tablesorter">
<tbody>
<thead>
<tr>
<th align="center" colspan="4">Block Statistics</th>
<th align="center" colspan="4">PPLNS Round Statistics</th>
</tr>
</thead>
<tr class="odd">
<td>ID</td>
<td>{$BLOCKDETAILS.id|number_format:"0"|default:"0"}</td>
<td>Height</td>
{if ! $GLOBAL.website.blockexplorer.disabled}
<td><a href="{$GLOBAL.website.blockexplorer.url}{$BLOCKDETAILS.blockhash}" target="_new">{$BLOCKDETAILS.height|number_format:"0"|default:"0"}</a></td>
{else}
<td>{$BLOCKDETAILS.height|number_format:"0"|default:"0"}</td>
{/if}
<td>PPLNS Shares</td>
<td>{$PPLNSSHARES|number_format:"0"|default:"0"}</td>
<td>Estimated Shares</td>
<td>{$BLOCKDETAILS.estshares|number_format|default:"0"}</td>
</tr>
<tr class="odd">
<td>Amount</td>
<td>{$BLOCKDETAILS.amount|default:"0"}</td>
<td>Confirmations</td>
<td>{if $BLOCKDETAILS.confirmations >= $GLOBAL.confirmations}
<font color="green">Confirmed</font>
{else if $BLOCKDETAILS.confirmations == -1}
<font color="red">Orphan</font>
{else if $BLOCKDETAILS.confirmations == 0}0
{else}{($GLOBAL.confirmations - $BLOCKDETAILS.confirmations)|default:"0"} left{/if}</td>
<td>Block Average</td>
<td>{$BLOCKAVERAGE|number_format:"0"|default:"0"}</td>
<td>Average Efficiency</td>
<td>{math assign="percentage2" equation=(($BLOCKDETAILS.estshares / $BLOCKAVERAGE) * 100)}<font color="{if ($percentage2 >= 100)}green{else}red{/if}">{$percentage2|number_format:"2"} %</font></td>
</tr>
<tr class="odd">
<td>Difficulty</td>
<td>{$BLOCKDETAILS.difficulty|default:"0"}</td>
<td>Time</td>
<td>{$BLOCKDETAILS.time|default:"0"}</td>
<td>Target Rounds</td>
<td>{$BLOCKAVGCOUNT|number_format:"0"|default:"0"}</td>
<td>Target Variance</td>
<td>{math assign="percentage" equation=(($BLOCKDETAILS.estshares / $PPLNSSHARES) * 100)}<font color="{if ($percentage >= 100)}green{else}red{/if}">{$percentage|number_format:"2"} %</font></td>
</tr>
<tr class="odd">
<td>Shares</td>
<td>{$BLOCKDETAILS.shares|number_format:"0"|default:"0"}</td>
<td>Finder</td>
<td>{$BLOCKDETAILS.finder|default:"unknown"}</td>
<td>Seconds This Round</td>
<td>{$BLOCKDETAILS.round_time|number_format:"0"|default:"0"}</td>
<td>Round Variance</td>
<td>{math assign="percentage1" equation=(($BLOCKDETAILS.shares / $PPLNSSHARES) * 100)}<font color="{if ($percentage1 >= 100)}green{else}red{/if}">{$percentage1|number_format:"2"} %</font></td>
</tr>
</tbody>
</table>
<footer>
<div class="submit_link">
<form action="{$smarty.server.SCRIPT_NAME}" method="POST" id='search'>
<input type="hidden" name="page" value="{$smarty.request.page|escape}">
<input type="hidden" name="action" value="{$smarty.request.action|escape}">
<input type="text" class="pin" name="search" value="{$smarty.request.height|default:"%"|escape}">
<input type="submit" value="Search" class="alt_btn">
</form>
</div>
</footer>
</article>

View File

@ -1,26 +0,0 @@
<article class="module width_half">
<header><h3>PPLNS Round Shares</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">Rank</th>
<th align="left" >User Name</th>
<th align="right" >Valid</th>
<th align="right" >Invalid</th>
<th align="right" style="padding-right: 25px;">Invalid %</th>
</tr>
</thead>
<tbody>
{assign var=rank value=1}
{section contrib $PPLNSROUNDSHARES}
<tr{if $GLOBAL.userdata.username|default:"" == $PPLNSROUNDSHARES[contrib].username} style="background-color:#99EB99;"{else} class="{cycle values="odd,even"}"{/if}>
<td align="center">{$rank++}</td>
<td>{if $PPLNSROUNDSHARES[contrib].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$PPLNSROUNDSHARES[contrib].username|default:"unknown"|escape}{/if}</td>
<td align="right">{$PPLNSROUNDSHARES[contrib].pplns_valid|number_format}</td>
<td align="right">{$PPLNSROUNDSHARES[contrib].pplns_invalid|number_format}</td>
<td align="right" style="padding-right: 25px;">{if $PPLNSROUNDSHARES[contrib].pplns_invalid > 0 && $PPLNSROUNDSHARES[contrib].pplns_valid > 0}{($PPLNSROUNDSHARES[contrib].pplns_invalid / $PPLNSROUNDSHARES[contrib].pplns_valid * 100)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
</tr>
{/section}
</tbody>
</table>
</article>

View File

@ -1,32 +0,0 @@
<article class="module width_full">
<header><h3>Round Transactions</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th >User Name</th>
<th align="right">Round Shares</th>
<th align="right">Round %</th>
<th align="right">PPLNS Shares</th>
<th align="right">PPLNS Round %</th>
<th align="right">Variance</th>
<th align="right" style="padding-right: 25px;">Amount</th>
</tr>
</thead>
<tbody>
{assign var=percentage1 value=0}
{section txs $ROUNDTRANSACTIONS}
<tr{if $GLOBAL.userdata.username|default:"" == $ROUNDTRANSACTIONS[txs].username}{assign var=listed value=1} style="background-color:#99EB99;"{else} class="{cycle values="odd,even"}"{/if}>
<td>{if $ROUNDTRANSACTIONS[txs].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$ROUNDTRANSACTIONS[txs].username|default:"unknown"|escape}{/if}</td>
<td align="right">{$ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid|number_format}</td>
<td align="right">{if $ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid > 0 }{(( 100 / $BLOCKDETAILS.shares) * $ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid)|number_format:"2"}{else}0.00{/if}</td>
<td align="right">{$PPLNSROUNDSHARES[txs].pplns_valid|number_format|default:"0"}</td>
<td align="right">{if $PPLNSROUNDSHARES[txs].pplns_valid > 0 }{(( 100 / $PPLNSSHARES) * $PPLNSROUNDSHARES[txs].pplns_valid)|number_format:"2"|default:"0"}{else}0{/if}</td>
<td align="right">{if $ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid > 0 && $PPLNSROUNDSHARES[txs].pplns_valid > 0}{math assign="percentage1" equation=(100 / ((( 100 / $BLOCKDETAILS.shares) * $ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid) / (( 100 / $PPLNSSHARES) * $PPLNSROUNDSHARES[txs].pplns_valid)))}{else if $PPLNSROUNDSHARES[txs].pplns_valid == 0}{assign var=percentage1 value=0}{else}{assign var=percentage1 value=100}{/if}
<font color="{if ($percentage1 >= 100)}green{else}red{/if}">{$percentage1|number_format:"2"}</font></b></td>
<td align="right" style="padding-right: 25px;">{$ROUNDTRANSACTIONS[txs].amount|default:"0"|number_format:"8"}</td>
{assign var=percentage1 value=0}
</tr>
{/section}
</tbody>
</table>
</article>

View File

@ -1,39 +0,0 @@
<article class="module width_full">
<header><h3>Round Statistics</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th >User Name</th>
<th align="right">Round Valid</th>
<th align="right">Invalid</th>
<th align="right">Invalid %</th>
<th align="right">Round %</th>
<th align="right">PPLNS Valid</th>
<th align="right">Invalid</th>
<th align="right">Invalid %</th>
<th align="right">PPLNS Round %</th>
<th align="right">Variance</th>
<th align="right" style="padding-right: 25px;">Amount</th>
</tr>
</thead>
<tbody>
{section txs $ROUNDTRANSACTIONS}
<tr{if $GLOBAL.userdata.username|default:"" == $ROUNDTRANSACTIONS[txs].username}{assign var=listed value=1} style="background-color:#99EB99;"{else} class="{cycle values="odd,even"}"{/if}>
<td>{if $ROUNDTRANSACTIONS[txs].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$ROUNDTRANSACTIONS[txs].username|default:"unknown"|escape}{/if}</td>
<td align="right">{$SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid|number_format}</td>
<td align="right">{$SHARESDATA[$ROUNDTRANSACTIONS[txs].username].invalid|number_format}</td>
<td align="right">{if $SHARESDATA[$ROUNDTRANSACTIONS[txs].username].invalid > 0 }{($SHARESDATA[$ROUNDTRANSACTIONS[txs].username].invalid / $SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid * 100)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
<td align="right">{if $SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid > 0 }{(( 100 / $BLOCKDETAILS.shares) * $SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid)|number_format:"2"}{else}0.00{/if}</td>
<td align="right">{$PPLNSROUNDSHARES[txs].pplns_valid|number_format}</td>
<td align="right">{$PPLNSROUNDSHARES[txs].pplns_invalid|number_format}</td>
<td align="right">{if $PPLNSROUNDSHARES[txs].pplns_invalid > 0 }{($PPLNSROUNDSHARES[txs].pplns_invalid / $PPLNSROUNDSHARES[txs].pplns_valid * 100)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
<td align="right">{(( 100 / $PPLNSSHARES) * $PPLNSROUNDSHARES[txs].pplns_valid)|number_format:"2"}</td>
<td align="right">{if $SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid > 0 }{math assign="percentage1" equation=(100 / ((( 100 / $BLOCKDETAILS.shares) * $SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid) / (( 100 / $PPLNSSHARES) * $PPLNSROUNDSHARES[txs].pplns_valid)))}{else if $PPLNSROUNDSHARES[txs].pplns_valid == 0}{assign var=percentage1 value=0}{else}{assign var=percentage1 value=100}{/if}
<font color="{if ($percentage1 >= 100)}green{else}red{/if}">{$percentage1|number_format:"2"}</font></b></td>
<td align="right" style="padding-right: 25px;">{$ROUNDTRANSACTIONS[txs].amount|default:"0"|number_format:"8"}</td>
{assign var=percentage1 value=0}
</tr>
{/section}
</tbody>
</table>
</article>

View File

@ -1,27 +0,0 @@
<article class="module width_half">
<header><h3>Round Shares</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th align="center">Rank</th>
<th align="left">User Name</th>
<th align="right">Valid</th>
<th align="right">Invalid</th>
<th align="right" style="padding-right: 25px;">Invalid %</th>
</tr>
</thead>
<tbody>
{assign var=rank value=1}
{assign var=listed value=0}
{foreach key=id item=data from=$ROUNDSHARES}
<tr{if $GLOBAL.userdata.username|default:"" == $data.username}{assign var=listed value=1} style="background-color:#99EB99;"{else} class="{cycle values="odd,even"}"{/if}>
<td align="center">{$rank++}</td>
<td>{if $data.is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$data.username|default:"unknown"|escape}{/if}</td>
<td align="right">{$data.valid|number_format}</td>
<td align="right">{$data.invalid|number_format}</td>
<td align="right" style="padding-right: 25px;">{if $data.invalid > 0 }{($data.invalid / $data.valid * 100)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
</tr>
{/foreach}
</tbody>
</table>
</article>

View File

@ -1,25 +0,0 @@
<article class="module width_half">
<header><h3>Round Transactions</h3></header>
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th>User Name</th>
<th align="center">Type</th>
<th align="right">Round Shares</th>
<th align="right" scope="col">Round %</th>
<th align="right" style="padding-right: 25px;">Amount</th>
</tr>
</thead>
<tbody>
{section txs $ROUNDTRANSACTIONS}
<tr{if $GLOBAL.userdata.username|default:"" == $ROUNDTRANSACTIONS[txs].username} style="background-color:#99EB99;"{else} class="{cycle values="odd,even"}"{/if}>
<td>{if $ROUNDTRANSACTIONS[txs].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$ROUNDTRANSACTIONS[txs].username|default:"unknown"|escape}{/if}</td>
<td align="center">{$ROUNDTRANSACTIONS[txs].type|default:""}</td>
<td align="right">{$ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid|number_format}</td>
<td align="right">{(( 100 / $BLOCKDETAILS.shares) * $ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid)|default:"0"|number_format:"2"}</td>
<td align="right" style="padding-right: 25px;">{$ROUNDTRANSACTIONS[txs].amount|default:"0"|number_format:"8"}</td>
</tr>
{/section}
</tbody>
</table>
</article>

Some files were not shown because too many files have changed in this diff Show More