X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-bonus.php;h=ee31c8b790e0037ba8d25a17b866198ea346b846;hb=b679042bd22371aa267e595db8d0e08941afc9eb;hp=a1058a34f74cdc7499f661a0e90b208e954dcc66;hpb=f42e417c1cd63d07563965c54bf10f6e1cd4248f;p=mailer.git diff --git a/inc/modules/member/what-bonus.php b/inc/modules/member/what-bonus.php index a1058a34f7..ee31c8b790 100644 --- a/inc/modules/member/what-bonus.php +++ b/inc/modules/member/what-bonus.php @@ -1,7 +1,7 @@ = '0.6.9') { - // Add more bonus points here - // @TODO Rewrite this to a filter - $USE = '(0'; - if (getConfig('bonus_click_yn') == 'Y') $USE .= ' + `turbo_bonus`'; - if (getConfig('bonus_login_yn') == 'Y') $USE .= ' + `login_bonus`'; - if (getConfig('bonus_order_yn') == 'Y') $USE .= ' + `bonus_order`'; - if (getConfig('bonus_stats_yn') == 'Y') $USE .= ' + `bonus_stats`'; - if (getConfig('bonus_ref_yn') == 'Y') $USE .= ' + `bonus_ref`'; - $USE .= ')'; -} else { - // Old version ??? - $USE = '`turbo_bonus`'; -} +// Add more bonus points here +$add = runFilterChain('add_bonus_points_user_columns', ''); +$pointsColumns = '`turbo_bunus`'; +if (!empty($add)) { + $pointsColumns = '(0' . $add . ')'; +} // END - if + +// Init variables +$lastOnline = '%s'; +$ONLINE = ''; // Autopurge installed? -$lastOnline = "%s"; $ONLINE = ''; -if (isExtensionActive('autopurge')) { +if ((isExtensionActive('autopurge')) && ((getApInactiveSince() > 0))) { // Use last online timestamp to keep inactive members away from here - $lastOnline = " AND `last_online` >= (UNIX_TIMESTAMP() - %s)"; - $ONLINE = getConfig('ap_inactive_since'); -} + $lastOnline = ' AND (UNIX_TIMESTAMP() - `last_online`) < {?ap_inactive_since?}'; +} // END - if // Let's check if there are some points left we can 'pay'... $result = SQL_QUERY_ESC("SELECT - `userid`, ".$USE." AS points, `last_online` + `userid`, + ".$pointsColumns." AS `points`, + `last_online` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE - ".$USE." > 0 AND `status`='CONFIRMED'".$lastOnline." + " . $pointsColumns . " > 0 AND + `status`='CONFIRMED' + " . runFilterChain('user_exclusion_sql', ' ') . " + " . $lastOnline . " ORDER BY `points` DESC, - last_online DESC, - userid ASC -LIMIT %s", + `last_online` DESC, + `userid` ASC +LIMIT {?bonus_ranks?}", array( - $ONLINE, - getConfig('bonus_ranks') + $ONLINE ), __FILE__, __LINE__); // Reset temporary variable and check for users $OUT = ''; -if (SQL_NUMROWS($result) > 0) { +if (!SQL_HASZERONUMS($result)) { // Load our winners... - $SW = 2; $cnt = 1; + $count = 1; while ($content = SQL_FETCHARRAY($result)) { // Prepare data for the template - $content = array( - 'sw' => $SW, - 'cnt' => $cnt, - 'userid' => bigintval($content['userid']), - 'points' => translateComma($content['points']), - 'last_online' => generateDateTime($content['last_online'], '2') - ); + $content['count'] = $count; + $content['last_online'] = generateDateTime($content['last_online'], '2'); // Load row template $OUT .= loadTemplate('member_bonus_row', true, $content); - // Count one up and switch colors - $cnt++; $SW = 3 - $SW; - } + // Count one up + $count++; + } // END - while } else { // No one is interested in our "active rallye" ! :-( $OUT = loadTemplate('member_bonus_404', true);