X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Fmonthly%2Fmonthly_bonus.php;h=2561af86c2a4e30f06e9fbe7c16ad3394a03e6ec;hb=de0c8d04d89614de9deca7be6b6acbe41f500280;hp=0210ff69b6937235db61045d930546db0e8bf4d6;hpb=67f53c107d5b68f6e735407b98803fc83e12d7b4;p=mailer.git diff --git a/inc/monthly/monthly_bonus.php b/inc/monthly/monthly_bonus.php index 0210ff69b6..2561af86c2 100644 --- a/inc/monthly/monthly_bonus.php +++ b/inc/monthly/monthly_bonus.php @@ -14,12 +14,10 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2012 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -40,50 +38,42 @@ // Some security stuff... if (!defined('__SECURITY')) { die(); -} elseif ((getScriptOutputMode() == 1) || (!isResetModeEnabled())) { - // Do not execute when script is in CSS mode or no daily reset +} elseif ((isCssOutputMode()) || (!isResetModeEnabled())) { + // Do not execute when script is in CSS mode or no hourly reset return; } elseif (!isExtensionActive('bonus')) { - logDebugMessage(__FILE__, __LINE__, 'Not resetting, needed extension disabled.'); + logDebugMessage(__FILE__, __LINE__, 'Not resetting, needed extension ext-bonus disabled'); return; } -// Get current month (2 digits) -$curr = getMonth(); +// Debug line +//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Monthly reset started'); -if (($curr != getConfig('last_month')) && (getConfig('bonus_ranks') > 0) && (getScriptOutputMode() != 1)) { +if ((getBonusRanks() > 0) && (!isCssOutputMode())) { // Extension 'autopurge' is inactive or purging of inactive accounts is deactivated - $whereStatement1 = "WHERE `status`='CONFIRMED'"; + $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 (getApInactiveSince() > 0) { - // Okay, include last online timestamp - $whereStatement1 = "WHERE `status`='CONFIRMED' AND `last_online` >= (UNIX_TIMESTAMP() - {?ap_inactive_since?})"; - } // END - if + if ((isExtensionActive('autopurge')) && ((getApInactiveSince() > 0))) { + // Okay, include last online timestamp + $whereStatement .= ' AND (UNIX_TIMESTAMP() - `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 + `userid`, + (0' . $add . ') AS `points` FROM `{?_MYSQL_PREFIX?}_user_data` -' . $whereStatement1 . ' +' . $whereStatement . ' ORDER BY `points` DESC, `userid` ASC @@ -96,11 +86,12 @@ LIMIT {?bonus_ranks?}', __FILE__, __LINE__); // 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'], '{--MEMBER_MONTHLY_BONUS_WON_SUBJECT--}', $message); + sendEmail($content['userid'], '{--MEMBER_MONTHLY_BONUS_WON_SUBJECT--}', $message); } // END - if } // END - while @@ -118,5 +109,8 @@ SET SQL_FREERESULT($result_main); } // END - if +// Debug line +//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Monthly reset ended'); + // [EOF] ?>