X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=inline;f=inc%2Flibs%2Fbonus_functions.php;h=e9e982ff6eea67a825f157639b84ae9ad92c95e0;hb=34297125f617f854d2cc009d3cc4f16b6581a1f5;hp=286a79e3ee117ec9ed933d41dad273967c8d1545;hpb=c8d76610eb94093d4eed4fcd8a6cb72e74c8f6d8;p=mailer.git diff --git a/inc/libs/bonus_functions.php b/inc/libs/bonus_functions.php index 286a79e3ee..e9e982ff6e 100644 --- a/inc/libs/bonus_functions.php +++ b/inc/libs/bonus_functions.php @@ -107,7 +107,9 @@ function addTurboBonus ($mid, $userid, $type) { $points ), __FUNCTION__, __LINE__); - if ((isExtensionInstalledAndNewer('bonus', '0.3.5')) && (getConfig('bonus_mode') != 'ADD') && ($points > 0)) handleBonusPoints($points); + if ((isExtensionInstalledAndNewer('bonus', '0.3.5')) && (getBonusMode() != 'ADD') && ($points > 0)) { + handleBonusPoints($points); + } // END - if } // @@ -214,7 +216,7 @@ function handleBonusPoints ($mode) { if (!isBonusRallyeActive()) return; // Switch to jackpot-mode when no UID is supplied but userid-mode is selected - if ((getConfig('bonus_mode') == 'UID') && (getBonusUserId() == '0') && (isExtensionActive('jackpot'))) { + if ((getBonusMode() == 'UID') && (getBonusUserId() == '0') && (isExtensionActive('jackpot'))) { // Update database & config updateConfiguration('bonus_mode', 'JACKPOT'); } // END - if @@ -231,7 +233,11 @@ function handleBonusPoints ($mode) { $total = getTotalPoints(getBonusUserId()); // Subtract points from... - switch (getConfig('bonus_mode')) { + switch (getBonusMode()) { + case 'ADD': // Only add them (no subtraction) + // Ignored + break; + case 'JACKPOT': // ... jackpot if ((isExtensionActive('jackpot')) && (subtractPointsFromJackpot($points) == -1) && (isValidUserId(getBonusUserId()))) { if ($total >= $points) { @@ -250,6 +256,10 @@ function handleBonusPoints ($mode) { $dummy = subtractPointsFromJackpot($points); } break; + + default: // This should not happen + debug_report_bug(__FUNCTION__, __LINE__, 'Invalid bonus-mode ' . getBonusMode() . ' detected.'); + break; } // END - switch } @@ -258,7 +268,7 @@ function purgeExpiredTurboBonus() { // Remove entries $result = SQL_QUERY('DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_bonus_turbo` WHERE `timemark` < (UNIX_TIMESTAMP() - {?bonus_timeout?})', __FUNCTION__, __LINE__); - if (SQL_AFFECTEDROWS() > 0) { + if (!SQL_HASZEROAFFECTED()) { // Send out email to admin sendAdminNotification('{--ADMIN_AUTOPURGE_TURBO_SUBJECT--}', 'admin_autopurge_turbo', SQL_AFFECTEDROWS()); } // END - if @@ -295,7 +305,7 @@ LIMIT 1', ); // Updated entry? - $bonus = (SQL_AFFECTEDROWS() == 1); + $bonus = (!SQL_HASZEROAFFECTED()); } // END - if if (($bonus === true) && (getRequestParameter('mode') == 'bonus')) { @@ -347,5 +357,29 @@ function getBonusTimeout () { return $GLOBALS[__FUNCTION__]; } +// Getter for bonus_mode +function getBonusMode () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('bonus_mode'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + +// Getter for bonus_ranks +function getBonusRanks () { + // Do we have cache? + if (!isset($GLOBALS[__FUNCTION__])) { + // Determine it + $GLOBALS[__FUNCTION__] = getConfig('bonus_ranks'); + } // END - if + + // Return cache + return $GLOBALS[__FUNCTION__]; +} + // [EOF] ?>