\n"; // Get current month (2 digits) $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 $whereStatement1 = "WHERE `status`='CONFIRMED'"; $whereStatement2 = bigintval(getConfig('bonus_ranks')); // Shall I keep inactive members away from here? (mostly wanted in an "active-rallye" ...) if (EXT_IS_ACTIVE("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 = bigintval(getConfig('bonus_ranks')); } // 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"; // Shall we add some entries? 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__); // Some entries were found? if (SQL_NUMROWS($result_main) > 0) { // Load our winners... while ($content = SQL_FETCHARRAY($result_main)) { // 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']); // 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); } // 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__); } // END - if // Free memory SQL_FREERESULT($result_main); } // END - if // ?>