X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmonthly%2Fmonthly_bonus.php;h=8078ecee3341de376d3ef75d7496e311cd0555b8;hp=ed3dfaa445d0089e4520d316e137bbb38883e6af;hb=49acdb7a7adbcf25a8e8683b5581bfcec72b23bd;hpb=0715fa7aa8e5e70bcf1d957fb09ae655c3896c4e diff --git a/inc/monthly/monthly_bonus.php b/inc/monthly/monthly_bonus.php index ed3dfaa445..8078ecee33 100644 --- a/inc/monthly/monthly_bonus.php +++ b/inc/monthly/monthly_bonus.php @@ -1,7 +1,7 @@ "); +// Debug line +//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Monthly reset started.'); -// Get current month (2 digits) -$curr = date('m', time()); - -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'"; +if ((getBonusRanks() > 0) && (!isCssOutputMode())) { + // Extension 'autopurge' is inactive or purging of inactive accounts is deactivated\ + $whereStatement = runFilterChain('user_exclusion_sql', "WHERE `status`='CONFIRMED'"); // 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) { - // Okay, include last online timestamp - $whereStatement1 = "WHERE `status`='CONFIRMED' AND `last_online` >= (UNIX_TIMESTAMP() - {?ap_inactive_since?})"; - } // END - if + // @TODO Rewrite these if() blocks to a filter + if ((isExtensionActive('autopurge')) && ((getApInactiveSince() > 0))) { + // Okay, include last online timestamp + $whereStatement .= ' AND (UNIX_TIMESTAMP() - `d`.`last_online`) < {?ap_inactive_since?}'; } // 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`'; + // Add more bonus points here by running a filter + $add = runFilterChain('add_bonus_points_user_columns', ''); // Shall we add some entries? if (!empty($add)) { - $whereStatement1 .= ' AND (0' . $add . ') > 0'; + $whereStatement .= ' AND (0' . $add . ') > 0'; } // END - if // Run SQL string to check for accounts - $result_main = SQL_QUERY("SELECT - `userid`, `email`, `gender`, `surname`, `family`, (0" . $add . ") AS points + $result_main = sqlQuery('SELECT + `d`.`userid`, + (0' . $add . ') AS `points` FROM - `{?_MYSQL_PREFIX?}_user_data` -" . $whereStatement1 . " + `{?_MYSQL_PREFIX?}_user_data` AS `d` +' . $whereStatement . ' ORDER BY `points` DESC, - `userid` ASC -LIMIT {?bonus_ranks?}", __FILE__, __LINE__); + `d`.`userid` ASC +LIMIT {?bonus_ranks?}', __FILE__, __LINE__); // Some entries were found? - if (SQL_NUMROWS($result_main) > 0) { + if (!ifSqlHasZeroNumRows($result_main)) { // Load our winners... - while ($content = SQL_FETCHARRAY($result_main)) { + while ($content = sqlFetchArray($result_main)) { // Make sure zero points are not mailed if ($content['points'] > 0) { // Add points to user's account directly - addPointsDirectly('monthly_bonus', $content['userid'], $content['points']); + initReferralSystem(); + addPointsThroughReferralSystem('monthly_bonus', $content['userid'], $content['points']); // Load email template and email it away $message = loadEmailTemplate('member_bonus', $content, bigintval($content['userid'])); - sendEmail($content['email'], getMessage('BONUS_MONTHLY_ONLINE_BONUS'), $message); + sendEmail($content['userid'], '{--MEMBER_MONTHLY_BONUS_WON_SUBJECT--}', $message); } // END - if } // END - while // Reset all accounts - $result = SQL_QUERY('UPDATE `{?_MYSQL_PREFIX?}_user_data` + $result = sqlQuery('UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `turbo_bonus`=0, `login_bonus`=0, @@ -115,8 +102,11 @@ SET } // END - if // Free memory - SQL_FREERESULT($result_main); + sqlFreeResult($result_main); } // END - if -// +// Debug line +//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Monthly reset ended.'); + +// [EOF] ?>