X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmonthly%2Fmonthly_bonus.php;h=ed3dfaa445d0089e4520d316e137bbb38883e6af;hp=244505c28ae03afefa4be51605877f18fdc15e7d;hb=0715fa7aa8e5e70bcf1d957fb09ae655c3896c4e;hpb=e01fcf1ca8ddeb72af76465df3ef72301a1cdae7 diff --git a/inc/monthly/monthly_bonus.php b/inc/monthly/monthly_bonus.php index 244505c28a..ed3dfaa445 100644 --- a/inc/monthly/monthly_bonus.php +++ b/inc/monthly/monthly_bonus.php @@ -1,7 +1,7 @@ \n"; +if ((getOutputMode() == 1) || (!isResetModeEnabled())) return; +//* DEBUG: */ outputHtml(basename(__FILE__)."
"); // Get current month (2 digits) -$curr = date("m", time()); +$curr = date('m', time()); -if (($curr != getConfig('last_month')) && (getConfig('bonus_ranks') > 0) && ($GLOBALS['output_mode'] != 1)) { - // Extension "autopurge" is inactive or purging of inactive accounts is deactivated +if (($curr != getConfig('last_month')) && (getConfig('bonus_ranks') > 0) && (getOutputMode() != 1)) { + // Extension 'autopurge' is inactive or purging of inactive accounts is deactivated $whereStatement1 = "WHERE `status`='CONFIRMED'"; - $whereStatement2 = getConfig(('bonus_ranks')); // Shall I keep inactive members away from here? (mostly wanted in an "active-rallye" ...) - if (EXT_IS_ACTIVE("autopurge")) { + if (isExtensionActive('autopurge')) { // Use last online stamp only when autopurge for inactive members is activated if (getConfig('ap_inactive_since') > 0) { // Okay, include last online timestamp - $whereStatement1 = sprintf("WHERE `status`='CONFIRMED' AND last_online >= (UNIX_TIMESTAMP() - %s)", getConfig('ap_inactive_since')); - $whereStatement2 = getConfig(('bonus_ranks')); + $whereStatement1 = "WHERE `status`='CONFIRMED' AND `last_online` >= (UNIX_TIMESTAMP() - {?ap_inactive_since?})"; } // END - if } // END - if // Add more bonus points here - $ADD = ""; - if (getConfig('bonus_click_yn') == "Y") $ADD .= " + turbo_bonus"; - if (getConfig('bonus_login_yn') == "Y") $ADD .= " + login_bonus"; - if (getConfig('bonus_order_yn') == "Y") $ADD .= " + bonus_order"; - if (getConfig('bonus_stats_yn') == "Y") $ADD .= " + bonus_stats"; - if (getConfig('bonus_ref_yn') == "Y") $ADD .= " + bonus_ref"; + $add = ''; + // @TODO Rewrite this to a filter + if (getConfig('bonus_click_yn') == 'Y') $add .= ' + `turbo_bonus`'; + if (getConfig('bonus_login_yn') == 'Y') $add .= ' + `login_bonus`'; + if (getConfig('bonus_order_yn') == 'Y') $add .= ' + `bonus_order`'; + if (getConfig('bonus_stats_yn') == 'Y') $add .= ' + `bonus_stats`'; + if (getConfig('bonus_ref_yn') == 'Y') $add .= ' + `bonus_ref`'; // Shall we add some entries? - if (!empty($ADD)) { - $whereStatement1 .= " AND (0".$ADD.") > 0"; + if (!empty($add)) { + $whereStatement1 .= ' AND (0' . $add . ') > 0'; } // END - if // Run SQL string to check for accounts - $result_main = SQL_QUERY_ESC("SELECT userid, email, gender, surname, family, (0".$ADD.") AS points -FROM `{!_MYSQL_PREFIX!}_user_data` -".$whereStatement1."".$ADD." -ORDER BY points DESC, userid -LIMIT %s", - array($whereStatement2), __FILE__, __LINE__); + $result_main = SQL_QUERY("SELECT + `userid`, `email`, `gender`, `surname`, `family`, (0" . $add . ") AS points +FROM + `{?_MYSQL_PREFIX?}_user_data` +" . $whereStatement1 . " +ORDER BY + `points` DESC, + `userid` ASC +LIMIT {?bonus_ranks?}", __FILE__, __LINE__); // Some entries were found? if (SQL_NUMROWS($result_main) > 0) { @@ -94,21 +96,22 @@ LIMIT %s", // Make sure zero points are not mailed if ($content['points'] > 0) { // Add points to user's account directly - ADD_POINTS_REFSYSTEM("monthly_bonus", $content['uid'], $content['points'], false, "0", false, "direct"); - - // Translate gender/points - $content['gender'] = TRANSLATE_GENDER($content['gender']); - $content['points'] = TRANSLATE_COMMA($content['points']); + addPointsDirectly('monthly_bonus', $content['userid'], $content['points']); // Load email template and email it away - $msg = LOAD_EMAIL_TEMPLATE("member_bonus", $content['points'], bigintval($content['uid'])); - SEND_EMAIL($content['email'], BONUS_MONTHLY_ONLINE_BONUS, $msg); + $message = loadEmailTemplate('member_bonus', $content, bigintval($content['userid'])); + sendEmail($content['email'], getMessage('BONUS_MONTHLY_ONLINE_BONUS'), $message); } // END - if } // END - while - // Reset accounts - $result = SQL_QUERY("UPDATE `{!_MYSQL_PREFIX!}_user_data` -SET turbo_bonus=0, login_bonus=0, bonus_order=0, bonus_stats=0, bonus_ref=0", __FILE__, __LINE__); + // Reset all accounts + $result = SQL_QUERY('UPDATE `{?_MYSQL_PREFIX?}_user_data` +SET + `turbo_bonus`=0, + `login_bonus`=0, + `bonus_order`=0, + `bonus_stats`=0, + `bonus_ref`=0', __FILE__, __LINE__); } // END - if // Free memory