]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/bonus_functions.php
Extension ext-forced continued:
[mailer.git] / inc / libs / bonus_functions.php
index ef8b7144c7676ce5ce7cc860a16337a678d4bd65..dd62ec7e5678d9937278fe3b11a1a26ba5fbdf7e 100644 (file)
@@ -82,7 +82,7 @@ function addTurboBonus ($mid, $userid, $type) {
                $points = getConfig('turbo_bonus');
        } else {
                // Anything else so let's explode all entered rank points
-               $test = explode(';', getConfig('turbo_rates'));
+               $test = explode(';', getTurboRates());
                if (!empty($test[$rank - 2])) {
                        // Level found
                        $points = $test[$rank - 2];
@@ -110,7 +110,7 @@ function addTurboBonus ($mid, $userid, $type) {
                ), __FUNCTION__, __LINE__);
 
        if ((isExtensionInstalledAndNewer('bonus', '0.3.5')) && (getBonusMode() != 'ADD') && ($points > 0)) {
-               handleBonusPoints($points);
+               handleBonusPoints($points, $userid);
        } // END - if
 }
 
@@ -123,7 +123,7 @@ function addBonusRanks ($data, $type, $userid) {
        $GLOBALS['ranking_content']['rankings'] = '';
 
        // How many ranks do we have?
-       $ranks = count(explode(';', getConfig('turbo_rates'))) + 1;
+       $ranks = count(explode(';', getTurboRates())) + 1;
 
        // Load current user's data
        $result = SQL_QUERY_ESC("SELECT `level`,`points`,`timemark` FROM `{?_MYSQL_PREFIX?}_bonus_turbo` WHERE `%s`=%s AND `userid`=%s LIMIT 1",
@@ -203,8 +203,8 @@ LIMIT 1",
        return $OUT;
 }
 
-//
-function handleBonusPoints ($mode) {
+// Hanle any bonus points the given user shall become
+function handleBonusPoints ($mode, $userid) {
        // Shall we add bonus points?
        if (!isBonusRallyeActive()) {
                return;
@@ -214,7 +214,7 @@ function handleBonusPoints ($mode) {
        $return = false;
 
        // Switch to jackpot-mode when no UID is supplied but userid-mode is selected
-       if ((getBonusMode() == 'UID') && (getBonusUserid() == '0') && (isExtensionActive('jackpot'))) {
+       if ((getBonusMode() == 'UID') && ($userid == '0') && (isExtensionActive('jackpot'))) {
                // Update database & config
                updateConfiguration('bonus_mode', 'JACKPOT');
        } // END - if
@@ -228,7 +228,7 @@ function handleBonusPoints ($mode) {
        }
 
        // Check his amount first
-       $total = getTotalPoints(getBonusUserid());
+       $total = getTotalPoints($userid);
 
        // Subtract points from...
        switch (getBonusMode()) {
@@ -237,10 +237,10 @@ function handleBonusPoints ($mode) {
                        break;
 
                case 'JACKPOT': // ... jackpot
-                       if ((isExtensionActive('jackpot')) && (subtractPointsFromJackpot($points) === false) && (isValidUserId(getBonusUserid()))) {
+                       if ((isExtensionActive('jackpot')) && (subtractPointsFromJackpot($points) === false) && (isValidUserId($userid))) {
                                if ($total >= $points) {
                                        // Subtract points from userid's account
-                                       $return = subtractPointsFromJackpot('bonus_payout_jackpot', getBonusUserid(), $points);
+                                       $return = subtractPointsFromJackpot('bonus_payout_jackpot', $userid, $points);
                                } // END - if
                        } // END - if
                        break;
@@ -248,7 +248,7 @@ function handleBonusPoints ($mode) {
                case 'UID': // ... userid's account
                        if ($total >= $points) {
                                // Subtract points from userid's account
-                               $return = subtractPoints('bonus_payout_userid', getBonusUserid(), $points);
+                               $return = subtractPoints('bonus_payout_userid', $userid, $points);
                        } elseif (isExtensionActive('jackpot')) {
                                // Try to subtract from jackpot
                                $return = subtractPointsFromJackpot($points);
@@ -339,5 +339,17 @@ function getBonusRanks () {
        return $GLOBALS[__FUNCTION__];
 }
 
+// Getter for turbo_rates
+function getTurboRates () {
+       // Do we have cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Determine it
+               $GLOBALS[__FUNCTION__] = getConfig('turbo_rates');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
 // [EOF]
 ?>