X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_bonus.php;h=648aa7ed31b4765e0ea7a7b87f2d139fa275f183;hp=1a225c96f34836ffe89e8cc740750b81f907ea70;hb=61621983cc6d7195fcc7eab29b5f6080ff283b34;hpb=7b0f17cd637e388049d2167811e4332cec1e979b diff --git a/inc/modules/admin/what-list_bonus.php b/inc/modules/admin/what-list_bonus.php index 1a225c96f3..648aa7ed31 100644 --- a/inc/modules/admin/what-list_bonus.php +++ b/inc/modules/admin/what-list_bonus.php @@ -1,7 +1,7 @@ = '0.6.9') { + // Old version ??? + $pointsColumns = '`turbo_bonus`'; + + // Run filter chain to find more columns + $add = runFilterChain('add_bonus_points_user_columns', ''); + + // Add them, if some where configured + if (!empty($add)) { // Add more bonus points here - $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"; - } + $pointsColumns = '(0' . $add . ')'; + } // END - if + + // Init variables + $lastOnline = ''; // Autopurge installed? - $lastOnline = "%s"; $ONLINE = ''; - if (EXT_IS_ACTIVE('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 // Check if at least one is in the active rallye - $result = SQL_QUERY_ESC("SELECT userid AS uid, email, gender, surname, family, ".$USE." AS points, last_online AS last -FROM `{!_MYSQL_PREFIX!}_user_data` -WHERE `status`='CONFIRMED' AND ".$USE." > 0".$lastOnline." -ORDER BY points DESC, last_online DESC, userid", - array($ONLINE), __FILE__, __LINE__); + $result = sqlQuery("SELECT + `userid`, + `email`, + " . $pointsColumns . " AS `points`, + `last_online` +FROM + `{?_MYSQL_PREFIX?}_user_data` +WHERE + `status`='CONFIRMED' AND + " . $pointsColumns . " > 0 + " . $lastOnline . " + " . runFilterChain('user_exclusion_sql', ' ') . " +ORDER BY + `points` DESC, + `last_online` DESC, + `userid` ASC", __FILE__, __LINE__); - if (SQL_NUMROWS($result) > 0) { + if (!ifSqlHasZeroNumRows($result)) { // List users - $OUT = '';$SW = 2; $cnt = 1; $total = 0; - while ($content = SQL_FETCHARRAY($result)) { + $OUT = ''; + $count = 1; + $total = '0'; + while ($content = sqlFetchArray($result)) { // Add total points $total += $content['points']; // Generate array fore the dynamic template $WIN1 = ''; $WIN2 = ''; - if ($cnt <= getConfig('bonus_ranks')) { + if ($count <= getBonusRanks()) { // Maybe he can win his active bonus? - $WIN1 = ""; - $WIN2 = ""; - } + $WIN1 = ''; + $WIN2 = ''; + } // END - if // Prepare content - $content['uid'] = generateUserProfileLink($content['uid']); - $content['email'] = generateMemberEmailLink($content['email'], "user_data"); - $content['gender'] = translateGender($content['gender']); - $content['points'] = translateComma($content['points']); - $content['last'] = generateDateTime($content['last'], "2"); - $content['sw'] = $SW; - $content['win1'] = $WIN1; - $content['win2'] = $WIN2; - $content['cnt'] = $cnt; + $content['email'] = generateEmailLink($content['email'], 'user_data'); + $content['last_online'] = generateDateTime($content['last_online'], 2); + $content['win1'] = $WIN1; + $content['win2'] = $WIN2; + $content['count'] = $count; // Load template and add it - $OUT .= LOAD_TEMPLATE("admin_list_bonus_rows", true, $content); - $SW = 3 - $SW; $cnt++; - } - define('__BONUS_ROWS', $OUT); - define('__TOTAL', translateComma($total)); + $OUT .= loadTemplate('admin_list_bonus_rows', TRUE, $content); + $count++; + } // END - while + + $content['rows'] = $OUT; + $content['total_points'] = $total; // Check if we need to display form or not with manuel withdraw - if (getConfig('last_month') == date('m', time())) { + if (getLastMonthly() == getMonth()) { // Load form - define('__BONUS_WITHDRAW_FORM', LOAD_TEMPLATE("admin_list_bonus_form", true)); + $content['withdraw_form'] = loadTemplate('admin_list_bonus_form', TRUE); } else { // Display message "no manual withdraw possible" - define('__BONUS_WITHDRAW_FORM', "
{--ADMIN_BONUS_ALREADY_WITHDRAW--}
"); + $content['withdraw_form'] = returnErrorMessage('{--ADMIN_BONUS_ALREADY_WITHDRAW--}'); } // Prepare constant for timemark - if (EXT_IS_ACTIVE('autopurge')) { - define('__AUTOPURGE_TIMEOUT', generateDateTime(time() - getConfig('ap_inactive_since'), "2")); + // @TODO Can't this be moved into our expression language? + if (isExtensionActive('autopurge')) { + $content['autopurge_timeout'] = '{%message,ADMIN_BONUS_TIMEOUT=' . generateDateTime(time() - getApInactiveSince(), 2) . '%}'; } else { - define('__AUTOPURGE_TIMEOUT', sprintf(getMessage('EXTENSION_PROBLEM_NOT_INSTALLED'), 'autopurge')); + $content['autopurge_timeout'] = '{%pipe,generateExtensionInactiveNotInstalledMessage=autopurge%}'; } // Load final template - LOAD_TEMPLATE("admin_list_bonus"); + loadTemplate('admin_list_bonus', FALSE, $content); } else { // No one has become an "activity bonus"... - LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_BONUS_NO_ACTIVE_RALLYE')); + displayMessage('{--ADMIN_BONUS_NO_ACTIVE_RALLYE--}'); } } else { // Aktive-Rallye not activated - LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_BONUS_RALLYE_DEACTIVATED')); + displayMessage('{--ADMIN_BONUS_RALLYE_DEACTIVATED--}'); } -// +// [EOF] ?>