From a1a3d7e873abbb66dfa8582af9b590fe159830d6 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Fri, 24 Jan 2014 10:06:13 +0100 Subject: [PATCH] [IMPROVED] Added donation minimum and rounding * [ADDED] Config option `$config['donate_threshold']['min'] = 1;` * [VERSION] Incremented config file version to `0.0.6` * [CHANGED] Round donations to at least two digits * [CHANGED] Honor minimum set pool donation percentage * [UPDATED] Account edit template Fixes #1475 once merged --- public/include/classes/user.class.php | 5 +++-- public/include/config/global.inc.dist.php | 14 ++++++++++++-- public/include/pages/account/edit.inc.php | 1 + public/include/version.inc.php | 2 +- public/templates/mpos/account/edit/default.tpl | 4 ++-- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/public/include/classes/user.class.php b/public/include/classes/user.class.php index 552b8562..2d35ecee 100644 --- a/public/include/classes/user.class.php +++ b/public/include/classes/user.class.php @@ -382,6 +382,7 @@ class User extends Base { public function updateAccount($userID, $address, $threshold, $donate, $email, $is_anonymous, $strToken) { $this->debug->append("STA " . __METHOD__, 4); $bUser = false; + $donate = round($donate, 2); // number validation checks if (!is_numeric($threshold)) { $this->setErrorMessage('Invalid input for auto-payout'); @@ -396,8 +397,8 @@ class User extends Base { if (!is_numeric($donate)) { $this->setErrorMessage('Invalid input for donation'); return false; - } else if ($donate < 0) { - $this->setErrorMessage('Donation below allowed 0% limit'); + } else if ($donate < $this->config['donate_threshold']['min'] && $donate != 0) { + $this->setErrorMessage('Donation below allowed ' . $this->config['donate_threshold']['min'] . '% limit'); return false; } else if ($donate > 100) { $this->setErrorMessage('Donation above allowed 100% limit'); diff --git a/public/include/config/global.inc.dist.php b/public/include/config/global.inc.dist.php index 8742bcb3..9a465e77 100644 --- a/public/include/config/global.inc.dist.php +++ b/public/include/config/global.inc.dist.php @@ -7,7 +7,7 @@ if (!defined('SECURITY')) die('Hacking attempt'); * This is used in the version check to ensure you run the latest version of the configuration file. * Once you upgraded your config, change the version here too. **/ -$config['version'] = '0.0.5'; +$config['version'] = '0.0.6'; // Our include directory for additional features define('INCLUDE_DIR', BASEPATH . 'include'); @@ -135,7 +135,7 @@ $config['twofactor']['options']['changepw'] = true; * * Options: * enabled = Whether or not we will generate/check for valid CSRF tokens - * disabled_forms = Which forms you want to disable csrf protection on, if enabled + * disabled_forms = Which forms you want to disable csrf protection on, if enabled * * Valid options : login, contact, accountedit, workers, notifications, invite, register, passreset, unlockaccount * Default: * enabled = true @@ -216,6 +216,16 @@ $config['price']['currency'] = 'USD'; $config['ap_threshold']['min'] = 1; $config['ap_threshold']['max'] = 250; +/** + * Donation thresholds + * + * You can define a min and max values for you users + * donation settings here. + * + * Defaults: + * `min` = `1` + **/ +$config['donate_threshold']['min'] = 1; /** * Account specific settings diff --git a/public/include/pages/account/edit.inc.php b/public/include/pages/account/edit.inc.php index 133687e6..c62e8d4d 100644 --- a/public/include/pages/account/edit.inc.php +++ b/public/include/pages/account/edit.inc.php @@ -193,6 +193,7 @@ $smarty->assign("DETAILSUNLOCKED", $ea_editable); $smarty->assign("CHANGEPASSSENT", $cp_sent); $smarty->assign("WITHDRAWSENT", $wf_sent); $smarty->assign("DETAILSSENT", $ea_sent); +$smarty->assign("DONATE_THRESHOLD", $config['donate_threshold']); if ($csrfenabled && !in_array('accountedit', $config['csrf']['disabled_forms'])) { $token = $csrftoken->getBasic($user->getCurrentIP(), 'editaccount'); $smarty->assign('CTOKEN', $token); diff --git a/public/include/version.inc.php b/public/include/version.inc.php index c5734b85..f1fbcf4b 100644 --- a/public/include/version.inc.php +++ b/public/include/version.inc.php @@ -5,7 +5,7 @@ if (!defined('SECURITY')) die('Hacking attempt'); define('MPOS_VERSION', '0.0.2'); define('DB_VERSION', '0.0.4'); -define('CONFIG_VERSION', '0.0.5'); +define('CONFIG_VERSION', '0.0.6'); // Fetch installed database version $db_version = $setting->getValue('DB_VERSION'); diff --git a/public/templates/mpos/account/edit/default.tpl b/public/templates/mpos/account/edit/default.tpl index 0a8071bc..8b2b1dfc 100644 --- a/public/templates/mpos/account/edit/default.tpl +++ b/public/templates/mpos/account/edit/default.tpl @@ -29,8 +29,8 @@
- Donation amount in percent (example: 0.5) - {nocache}{/nocache} + Donation amount in percent ({$DONATE_THRESHOLD.min}-100%) + {nocache}{/nocache}