X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-bonus.php;h=ee31c8b790e0037ba8d25a17b866198ea346b846;hp=ca9002a7335dd9264fcee3e490b77a6439f694b4;hb=8fad776382e63b3f73f8dbe289f229d79cfc2c22;hpb=963e55ca1ea79e255f235e359cde9f7862191dc5 diff --git a/inc/modules/member/what-bonus.php b/inc/modules/member/what-bonus.php index ca9002a733..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 - $USE = "(0"; - if ($_CONFIG['bonus_click_yn'] == "Y") $USE .= " + turbo_bonus"; - if ($_CONFIG['bonus_login_yn'] == "Y") $USE .= " + login_bonus"; - if ($_CONFIG['bonus_order_yn'] == "Y") $USE .= " + bonus_order"; - if ($_CONFIG['bonus_stats_yn'] == "Y") $USE .= " + bonus_stats"; - if ($_CONFIG['bonus_ref_yn'] == "Y") $USE .= " + bonus_ref"; - $USE .= ")"; -} - else -{ - // Old version ??? - $USE = "turbo_bonus"; -} +if ((!isExtensionActive('bonus')) && (!isAdmin())) { + displayMessage('{%pipe,generateExtensionInactiveNotInstalledMessage=bonus%}'); + return; +} // END - if + +// 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? -$LAST = "%s"; $ONLINE = ""; -if (EXT_IS_ACTIVE("autopurge")) -{ +if ((isExtensionActive('autopurge')) && ((getApInactiveSince() > 0))) { // Use last online timestamp to keep inactive members away from here - $LAST = " AND last_online >= %s"; - $ONLINE = bigintval(time() - $_CONFIG['ap_in_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 active_bonus, last_online FROM "._MYSQL_PREFIX."_user_data -WHERE ".$USE." > 0 AND status='CONFIRMED'".$LAST." -ORDER BY active_bonus DESC, last_online DESC, userid LIMIT %s", - array($ONLINE, $_CONFIG['bonus_ranks']), __FILE__, __LINE__); +// Let's check if there are some points left we can 'pay'... +$result = SQL_QUERY_ESC("SELECT + `userid`, + ".$pointsColumns." AS `points`, + `last_online` +FROM + `{?_MYSQL_PREFIX?}_user_data` +WHERE + " . $pointsColumns . " > 0 AND + `status`='CONFIRMED' + " . runFilterChain('user_exclusion_sql', ' ') . " + " . $lastOnline . " +ORDER BY + `points` DESC, + `last_online` DESC, + `userid` ASC +LIMIT {?bonus_ranks?}", + array( + $ONLINE + ), __FILE__, __LINE__); // Reset temporary variable and check for users -$OUT = ""; -if (SQL_NUMROWS($result) > 0) -{ +$OUT = ''; +if (!SQL_HASZERONUMS($result)) { // Load our winners... - $SW = 2; $cnt = 1; - while(list($uid, $turbo, $last) = SQL_FETCHROW($result)) - { + $count = 1; + while ($content = SQL_FETCHARRAY($result)) { // Prepare data for the template - $content = array( - 'sw' => $SW, - 'cnt' => $cnt, - 'uid' => bigintval($uid), - 'points' => TRANSLATE_COMMA($turbo), - 'last' => MAKE_DATETIME($last, "2"), - ); + $content['count'] = $count; + $content['last_online'] = generateDateTime($content['last_online'], '2'); // Load row template - $OUT .= LOAD_TEMPLATE("member_bonus_row", true, $content); + $OUT .= loadTemplate('member_bonus_row', true, $content); - // Count one up and switch colors - $cnt++;$SW = 3 - $SW; - } -} - else -{ + // Count one up + $count++; + } // END - while +} else { // No one is interested in our "active rallye" ! :-( - $OUT = LOAD_TEMPLATE("member_bonus_404", true); + $OUT = loadTemplate('member_bonus_404', true); } // Free memory SQL_FREERESULT($result); -// Remeber row(s) for the template -define('__BONUS_ROWS', $OUT); +// Prepare content array +$content['rows'] = $OUT; // Load final template -LOAD_TEMPLATE("member_bonus"); +loadTemplate('member_bonus', false, $content); -// +// [EOF] ?>