// Load rankings
$result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_bonus_turbo` WHERE `%s`=%s ORDER BY `level` ASC LIMIT {?bonus_lines?}",
array($type, $data), __FUNCTION__, __LINE__);
- if (SQL_NUMROWS($result) > 0) {
+ if (!SQL_HASZERONUMS($result)) {
// Start generating the ranking list
$max = SQL_NUMROWS($result);
if (!isBonusRallyeActive()) return;
// Switch to jackpot-mode when no UID is supplied but userid-mode is selected
- if ((getConfig('bonus_mode') == 'UID') && (getConfig('bonus_userid') == '0') && (isExtensionActive('jackpot'))) {
+ if ((getConfig('bonus_mode') == 'UID') && (getBonusUserId() == '0') && (isExtensionActive('jackpot'))) {
// Update database & config
updateConfiguration('bonus_mode', 'JACKPOT');
} // END - if
}
// Check his amount first
- $total = countSumTotalData(getConfig('bonus_userid'), 'user_points', 'points') - countSumTotalData(getConfig('bonus_userid'), 'user_data', 'used_points');
+ $total = getTotalPoints(getBonusUserId());
// Subtract points from...
switch (getConfig('bonus_mode')) {
case 'JACKPOT': // ... jackpot
- if ((isExtensionActive('jackpot')) && (subtractPointsFromJackpot($points) == -1) && (getConfig('bonus_userid') > 0)) {
+ if ((isExtensionActive('jackpot')) && (subtractPointsFromJackpot($points) == -1) && (isValidUserId(getBonusUserId()))) {
if ($total >= $points) {
// Subtract points from userid's account
- subtractPointsFromJackpot('bonus_payout_jackpot', getConfig('bonus_userid'), $points);
+ subtractPointsFromJackpot('bonus_payout_jackpot', getBonusUserId(), $points);
} // END - if
} // END - if
break;
case 'UID': // ... userid's account
if ($total >= $points) {
// Subtract points from userid's account
- subtractPoints('bonus_payout_userid', getConfig('bonus_userid'), $points);
+ subtractPoints('bonus_payout_userid', getBonusUserId(), $points);
} elseif (isExtensionActive('jackpot')) {
// Try to subtract from jackpot
$dummy = subtractPointsFromJackpot($points);
// Bonus is not given by default ;-)
$bonus = false;
- if ((isExtensionInstalledAndNewer('sql_patches', '0.2.8')) && (ifBonusRallyeActive()) && (getConfig('bonus_login_yn') == 'Y')) {
+ if ((isExtensionInstalledAndNewer('sql_patches', '0.2.8')) && (isBonusRallyeActive()) && (getConfig('bonus_login_yn') == 'Y')) {
// Update last login if far enougth away
// @TODO This query isn't right, it will only update if the user was for a longer time away!
SQL_QUERY_ESC('UPDATE