From 94035b58f722416125d91eccbb5d2442c3e7a86a Mon Sep 17 00:00:00 2001 From: Shawn Read Date: Sun, 23 Mar 2014 11:52:13 -0400 Subject: [PATCH 1/6] Update bootstrap.php Add in a more user friendly error that tells the user WHERE the script is looking for the file (in case the base path or other variable is wrong) --- public/include/bootstrap.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/include/bootstrap.php b/public/include/bootstrap.php index c63ad5fa..1ecaca1a 100644 --- a/public/include/bootstrap.php +++ b/public/include/bootstrap.php @@ -11,11 +11,11 @@ define('THEME_DIR', BASEPATH . 'templates'); $quickstartlink = "Quick Start Guide"; // Include our configuration (holding defines for the requires) -if (!include_once(BASEPATH . 'include/config/global.inc.dist.php')) die('Unable to load base global config - '.$quickstartlink); -if (!@include_once(BASEPATH . 'include/config/global.inc.php')) die('Unable to load your global config - '.$quickstartlink); +if (!include_once(BASEPATH . 'include/config/global.inc.dist.php')) die('Unable to load base global config from ['.BASEPATH . 'include/config/global.inc.dist.php' . '] - '.$quickstartlink); +if (!@include_once(BASEPATH . 'include/config/global.inc.php')) die('Unable to load your global config from ['.BASEPATH . 'include/config/global.inc.php' . '] - '.$quickstartlink); // load our security configs -if (!include_once(BASEPATH . 'include/config/security.inc.dist.php')) die('Unable to load base security config - '.$quickstartlink); +if (!include_once(BASEPATH . 'include/config/security.inc.dist.php')) die('Unable to load base security config from ['.BASEPATH . 'include/config/security.inc.dist.php' . '] - '.$quickstartlink); if (@file_exists(BASEPATH . 'include/config/security.inc.php')) include_once(BASEPATH . 'include/config/security.inc.php'); // start our session, we need it for smarty caching From 1de50786ae7b4b507fadb41774cb83de10a6f419 Mon Sep 17 00:00:00 2001 From: John Doe Date: Sun, 23 Mar 2014 14:05:45 -0600 Subject: [PATCH 2/6] Fix Typo --- public/include/config/error_codes.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/include/config/error_codes.inc.php b/public/include/config/error_codes.inc.php index 7d24bdae..36a40b0f 100644 --- a/public/include/config/error_codes.inc.php +++ b/public/include/config/error_codes.inc.php @@ -35,7 +35,7 @@ $aErrorCodes['E0030'] = 'Unable to fetch a valid token for this invitation'; $aErrorCodes['E0031'] = 'Failed to send e-mail via mail() function'; $aErrorCodes['E0032'] = 'Failed to run API call: %s'; $aErrorCodes['E0033'] = 'Failed to store uptime status: %s'; -$aErrorCodes['E0034'] = 'Subjcet may only contain alphanumeric characters'; +$aErrorCodes['E0034'] = 'Subject may only contain alphanumeric characters'; $aErrorCodes['E0035'] = 'Failed to add news record'; $aErrorCodes['E0036'] = 'Failed to delete news record'; $aErrorCodes['E0037'] = 'Failed to update news record'; From 1ca9c9e3368b5487641fd12c8f6a28ff36839f73 Mon Sep 17 00:00:00 2001 From: iAmShorty Date: Mon, 24 Mar 2014 17:58:07 +0100 Subject: [PATCH 3/6] [UPDATE] removed baseline shares from api --- public/include/pages/api/getpoolstatus.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/include/pages/api/getpoolstatus.inc.php b/public/include/pages/api/getpoolstatus.inc.php index a364a45b..27512426 100644 --- a/public/include/pages/api/getpoolstatus.inc.php +++ b/public/include/pages/api/getpoolstatus.inc.php @@ -33,7 +33,7 @@ if ($iCurrentPoolHashrate > $dNetworkHashrate) $dNetworkHashrate = $iCurrentPool // Time in seconds, not hours, using modifier in smarty to translate $iCurrentPoolHashrate > 0 ? $iEstTime = $dDifficulty * pow(2,32) / ($iCurrentPoolHashrate * 1000) : $iEstTime = 0; -$iEstShares = (pow(2, 32 - $config['difficulty']) * $dDifficulty); +$iEstShares = $statistics->getEstimatedShares($dDifficulty); // Time since last $now = new DateTime( "now" ); From d4c23fe1b240cd4e36aad5691a6739828dc2d850 Mon Sep 17 00:00:00 2001 From: Contex Date: Mon, 24 Mar 2014 19:59:59 +0100 Subject: [PATCH 4/6] Cloudflare IP forwarding when using getCurrentIP() HTTP_X_FORWARDED_FOR doesn't always work with Cloudflare, HTTP_CF_CONNECTING_IP however does. https://support.cloudflare.com/hc/en-us/articles/200170986-How-does-CloudFlare-handle-HTTP-Request-headers- --- public/include/classes/user.class.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/public/include/classes/user.class.php b/public/include/classes/user.class.php index 498ac584..e5d078aa 100644 --- a/public/include/classes/user.class.php +++ b/public/include/classes/user.class.php @@ -923,23 +923,28 @@ public function isAuthenticated($logout=true) { /** * Convenience function to get IP address, no params is the same as REMOTE_ADDR - * @param trustremote bool must be FALSE to checkclient or checkforwarded + * @param trustremote bool must be FALSE to checkcloudflare, checkclient or checkforwarded + * @param checkcloudflare bool check HTTP_CF_CONNECTING_IP for a valid ip first * @param checkclient bool check HTTP_CLIENT_IP for a valid ip first * @param checkforwarded bool check HTTP_X_FORWARDED_FOR for a valid ip first * @return string IP address */ - public function getCurrentIP($trustremote=false, $checkclient=false, $checkforwarded=true) { + public function getCurrentIP($trustremote=false, $checkcloudflare=true, $checkclient=false, $checkforwarded=true) { + $cf = (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) ? $_SERVER['HTTP_CF_CONNECTING_IP'] : false; $client = (isset($_SERVER['HTTP_CLIENT_IP'])) ? $_SERVER['HTTP_CLIENT_IP'] : false; $fwd = (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : false; $remote = (isset($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : @$_SERVER['REMOTE_ADDR']; // shared internet - if (filter_var($client, FILTER_VALIDATE_IP) && !$trustremote && $checkclient) { + if (!$trustremote && $checkcloudflare && filter_var($cf, FILTER_VALIDATE_IP)) { + // cloudflare + return $cf; + } else if (!$trustremote && $checkclient && filter_var($client, FILTER_VALIDATE_IP)) { return $client; - } else if (strpos($fwd, ',') !== false && !$trustremote && $checkforwarded) { + } else if (!$trustremote && $checkforwarded && strpos($fwd, ',') !== false) { // multiple proxies $ips = explode(',', $fwd); return $ips[0]; - } else if (filter_var($fwd, FILTER_VALIDATE_IP) && !$trustremote && $checkforwarded) { + } else if (!$trustremote && $checkforwarded && filter_var($fwd, FILTER_VALIDATE_IP)) { // single return $fwd; } else { From 22b6901149d0f38e6ac663c6dd1f7e50405f9910 Mon Sep 17 00:00:00 2001 From: iAmShorty Date: Tue, 25 Mar 2014 09:20:48 +0100 Subject: [PATCH 5/6] [FIX] getbalance fix for coins with getbalance problems --- cronjobs/payouts.php | 20 +++++++++---------- public/include/config/global.inc.dist.php | 7 +++++++ public/include/smarty_globals.inc.php | 1 + .../templates/mpos/admin/wallet/default.tpl | 4 ++++ 4 files changed, 22 insertions(+), 10 deletions(-) mode change 100755 => 100644 cronjobs/payouts.php diff --git a/cronjobs/payouts.php b/cronjobs/payouts.php old mode 100755 new mode 100644 index 23730052..0edb9b3c --- a/cronjobs/payouts.php +++ b/cronjobs/payouts.php @@ -46,12 +46,12 @@ if (!$dWalletBalance = $bitcoin->getrealbalance()) // Fetch unconfirmed amount from blocks table empty($config['network_confirmations']) ? $confirmations = 120 : $confirmations = $config['network_confirmations']; -$aBlocksUnconfirmed = $block->getAllUnconfirmed($confirmations); -$dBlocksUnconfirmedBalance = 0; +if ($config['getbalancewithunconfirmed']) { + $aBlocksUnconfirmed = $block->getAllUnconfirmed($confirmations); + $dBlocksUnconfirmedBalance = 0; if (!empty($aBlocksUnconfirmed))foreach ($aBlocksUnconfirmed as $aData) $dBlocksUnconfirmedBalance += $aData['amount']; - -$dWalletBalance -= $dBlocksUnconfirmedBalance; - + $dWalletBalance -= $dBlocksUnconfirmedBalance; +} // Fetch Newmint $aGetInfo = $bitcoin->getinfo(); if (is_array($aGetInfo) && array_key_exists('newmint', $aGetInfo)) { @@ -133,12 +133,12 @@ if (!$dWalletBalance = $bitcoin->getrealbalance()) // Fetch unconfirmed amount from blocks table empty($config['network_confirmations']) ? $confirmations = 120 : $confirmations = $config['network_confirmations']; -$aBlocksUnconfirmed = $block->getAllUnconfirmed($confirmations); -$dBlocksUnconfirmedBalance = 0; +if ($config['getbalancewithunconfirmed']) { + $aBlocksUnconfirmed = $block->getAllUnconfirmed($confirmations); + $dBlocksUnconfirmedBalance = 0; if (!empty($aBlocksUnconfirmed))foreach ($aBlocksUnconfirmed as $aData) $dBlocksUnconfirmedBalance += $aData['amount']; - -$dWalletBalance -= $dBlocksUnconfirmedBalance; - + $dWalletBalance -= $dBlocksUnconfirmedBalance; +} // Fetch Newmint $aGetInfo = $bitcoin->getinfo(); if (is_array($aGetInfo) && array_key_exists('newmint', $aGetInfo)) { diff --git a/public/include/config/global.inc.dist.php b/public/include/config/global.inc.dist.php index b1a2d7a7..861cf2bb 100644 --- a/public/include/config/global.inc.dist.php +++ b/public/include/config/global.inc.dist.php @@ -29,6 +29,13 @@ $config['SALTY'] = 'THISSHOULDALSOBERRAANNDDOOM'; **/ $config['algorithm'] = 'scrypt'; +/** + * Getbalance API Calls + * System used for getting actual Balance from Wallet + * https://github.com/MPOS/php-mpos/wiki/Config-Setup#getbalance-api-calls + **/ +$config['getbalancewithunconfirmed'] = true; + /** * Database configuration * MySQL database configuration diff --git a/public/include/smarty_globals.inc.php b/public/include/smarty_globals.inc.php index 88253f24..cb882168 100644 --- a/public/include/smarty_globals.inc.php +++ b/public/include/smarty_globals.inc.php @@ -75,6 +75,7 @@ $aGlobal = array( 'disable_contactform' => $setting->getValue('disable_contactform'), 'disable_contactform_guest' => $setting->getValue('disable_contactform_guest'), 'algorithm' => $config['algorithm'], + 'getbalancewithunconfirmed' => $config['getbalancewithunconfirmed'], 'target_bits' => $coin->getTargetBits(), 'accounts' => $config['accounts'], 'disable_invitations' => $setting->getValue('disable_invitations'), diff --git a/public/templates/mpos/admin/wallet/default.tpl b/public/templates/mpos/admin/wallet/default.tpl index f536ee46..2f275000 100644 --- a/public/templates/mpos/admin/wallet/default.tpl +++ b/public/templates/mpos/admin/wallet/default.tpl @@ -20,7 +20,11 @@ {if $NEWMINT >= 0} Liquid Assets + {if $GLOBAL.config.getbalancewithunconfirmed} {($BALANCE - $LOCKED - $UNCONFIRMED + $NEWMINT|default:"0")|number_format:"8"} + {else} + {($BALANCE - $LOCKED + $NEWMINT|default:"0")|number_format:"8"} + {/if} PoS New Mint From 25323f324d4f550ebda6567607a08f6ce1d9b1af Mon Sep 17 00:00:00 2001 From: iAmShorty Date: Tue, 25 Mar 2014 09:21:15 +0100 Subject: [PATCH 6/6] [FIX] file rights --- cronjobs/payouts.php | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 cronjobs/payouts.php diff --git a/cronjobs/payouts.php b/cronjobs/payouts.php old mode 100644 new mode 100755