X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Fmonthly%2Fmonthly_bonus.php;h=9e8e2d636191b7f8ce1761f574a620dd4b6614e6;hb=4373e155854012d687fdfcae4c69d1a940883fab;hp=037b2a949c7f0a5f65f2b467d4648f7fe9f88086;hpb=11a9294db20070dc0c2f578d3a91b69cc7c1182d;p=mailer.git diff --git a/inc/monthly/monthly_bonus.php b/inc/monthly/monthly_bonus.php index 037b2a949c..9e8e2d6361 100644 --- a/inc/monthly/monthly_bonus.php +++ b/inc/monthly/monthly_bonus.php @@ -10,14 +10,9 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Monatlicher Bonus von Klick-Verguetung * * -------------------------------------------------------------------- * - * $Revision:: $ * - * $Date:: $ * - * $Tag:: 0.2.1-FINAL $ * - * $Author:: $ * - * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2011 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2013 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 * @@ -38,35 +33,30 @@ // Some security stuff... if (!defined('__SECURITY')) { die(); -} elseif ((isCssOutputMode()) || (!isResetModeEnabled())) { - // Do not execute when script is in CSS mode or no hourly reset +} elseif ((!isHtmlOutputMode()) || (!isMonthlyResetEnabled())) { + // Do not execute when script is in non-HTML mode or no hourly reset return; } elseif (!isExtensionActive('bonus')) { - logDebugMessage(__FILE__, __LINE__, 'Not resetting, needed extension disabled.'); + if (isDebugModeEnabled()) logDebugMessage(__FILE__, __LINE__, 'Not resetting, needed extension ext-bonus disabled.'); return; } // Debug line //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Monthly reset started.'); -if ((getConfig('bonus_ranks') > 0) && (!isCssOutputMode())) { - // Extension 'autopurge' is inactive or purging of inactive accounts is deactivated - $whereStatement = "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" ...) + // @TODO Rewrite these if() blocks to a filter if ((isExtensionActive('autopurge')) && ((getApInactiveSince() > 0))) { // Okay, include last online timestamp - $whereStatement .= ' AND (UNIX_TIMESTAMP() - `last_online`) >= {?ap_inactive_since?}'; + $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)) { @@ -74,24 +64,26 @@ if ((getConfig('bonus_ranks') > 0) && (!isCssOutputMode())) { } // 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` + `{?_MYSQL_PREFIX?}_user_data` AS `d` ' . $whereStatement . ' ORDER BY `points` DESC, - `userid` ASC + `d`.`userid` ASC LIMIT {?bonus_ranks?}', __FILE__, __LINE__); // Some entries were found? - if (!SQL_HASZERONUMS($result_main)) { + if (!ifSqlHasZeroNums($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'])); @@ -100,7 +92,7 @@ LIMIT {?bonus_ranks?}', __FILE__, __LINE__); } // 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, @@ -110,7 +102,7 @@ SET } // END - if // Free memory - SQL_FREERESULT($result_main); + sqlFreeResult($result_main); } // END - if // Debug line