X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmonthly%2Fmonthly_bonus.php;h=ca916cb6bc5cffa5d892d51261882d19732c1a93;hp=446b3e26ddbe92191eab94a05ea879762c83b44b;hb=391c98ab7233ff3e640d8b9fad8df92ce45e9b31;hpb=64c8349613addc3da2242c5cd6b99d64e3fb5f8e diff --git a/inc/monthly/monthly_bonus.php b/inc/monthly/monthly_bonus.php index 446b3e26dd..ca916cb6bc 100644 --- a/inc/monthly/monthly_bonus.php +++ b/inc/monthly/monthly_bonus.php @@ -1,7 +1,7 @@ "); - -// Get current month (2 digits) -$curr = date('m', time()); +// Debug line +//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Monthly reset started.'); -if (($curr != getConfig('last_month')) && (getConfig('bonus_ranks') > 0) && (getOutputMode() != 1)) { +if ((getConfig('bonus_ranks') > 0) && (!isCssOutputMode())) { // 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 (isExtensionActive('autopurge')) { // Use last online stamp only when autopurge for inactive members is activated - if (getConfig('ap_inactive_since') > 0) { + if (getApInactiveSince() > 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 = ''; // @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`"; + 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"; + $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 + $result_main = SQL_QUERY('SELECT + `userid`, `email`, `gender`, `surname`, `family`, (0' . $add . ') AS `points` FROM `{?_MYSQL_PREFIX?}_user_data` -".$whereStatement1."".$add." +' . $whereStatement1 . ' ORDER BY `points` DESC, `userid` ASC -LIMIT %s", - array($whereStatement2), __FILE__, __LINE__); +LIMIT {?bonus_ranks?}', __FILE__, __LINE__); // Some entries were found? - if (SQL_NUMROWS($result_main) > 0) { + if (!SQL_HASZERONUMS($result_main)) { // Load our winners... while ($content = SQL_FETCHARRAY($result_main)) { // Make sure zero points are not mailed @@ -99,24 +96,28 @@ LIMIT %s", // Add points to user's account directly addPointsDirectly('monthly_bonus', $content['userid'], $content['points']); - // Translate gender/points - $content['gender'] = translateGender($content['gender']); - $content['points'] = translateComma($content['points']); - // Load email template and email it away - $message = loadEmailTemplate('member_bonus', $content['points'], bigintval($content['userid'])); - sendEmail($content['email'], getMessage('BONUS_MONTHLY_ONLINE_BONUS'), $message); + $message = loadEmailTemplate('member_bonus', $content, bigintval($content['userid'])); + sendEmail($content['email'], '{--MEMBER_MONTHLY_BONUS_WON_SUBJECT--}', $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 SQL_FREERESULT($result_main); } // END - if -// +// Debug line +//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Monthly reset ended.'); + +// [EOF] ?>