X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fpurge%2Fpurge-general.php;h=a240140c73c8c92bf40b848f6235ddb7877fb066;hb=33a76a20bc94ffe95e9f13906eb7dc5cf354948d;hp=30c18977e406b2e62e40ac4afdffd2be1ade0adf;hpb=964a3b539e335f6d70e7779630fd3d25fd38398d;p=mailer.git diff --git a/inc/purge/purge-general.php b/inc/purge/purge-general.php index 30c18977e4..a240140c73 100644 --- a/inc/purge/purge-general.php +++ b/inc/purge/purge-general.php @@ -17,8 +17,8 @@ * $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 * @@ -41,7 +41,7 @@ if (!defined('__SECURITY')) { die(); } elseif ((!isExtensionActive('autopurge')) || (!isAutoPurgingActive())) { // Abort here - return false; + return FALSE; } if (getAutoPurge() > 0) { @@ -52,99 +52,108 @@ if (getAutoPurge() > 0) { $admin_points = '0'; // Then check for outdated mail order. We don't delete them just the confirmation links will be deleted. - $result = SQL_QUERY('SELECT - s.id, s.userid, s.pool_id, t.price + $result = sqlQuery('SELECT + `id`, + `userid`, + `pool_id`, + `payment_id` FROM - `{?_MYSQL_PREFIX?}_user_stats` AS s -LEFT JOIN - `{?_MYSQL_PREFIX?}_payments` AS t -ON - s.`payment_id`=t.`id` + `{?_MYSQL_PREFIX?}_user_stats` WHERE - (UNIX_TIMESTAMP() - s.`timestamp_ordered`) >= {?auto_purge?} + (UNIX_TIMESTAMP() - `timestamp_ordered`) >= {?auto_purge?} ORDER BY - s.userid ASC', __FILE__, __LINE__); - if (!SQL_HASZERONUMS($result)) { + `userid` ASC', __FILE__, __LINE__); + if (!ifSqlHasZeroNums($result)) { // Start deleting procedure - $userid = '0'; $points = '0'; - while ($content = SQL_FETCHARRAY($result)) { + $userid = NULL; + $points = '0'; + while ($content = sqlFetchArray($result)) { // Check if confirmation links are purged or not - $result_links = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `stats_id`=%s LIMIT 1", + $result_links = sqlQueryEscaped("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `stats_id`=%s LIMIT 1", array(bigintval($content['id'])), __FILE__, __LINE__); - if (SQL_NUMROWS($result_links) == 1) { - // Free memory - SQL_FREERESULT($result_links); + // Is there one entry? + if (sqlNumRows($result_links) == 1) { // At least one link was found, enougth to pay back the points - if (($userid != $content['userid']) && (isValidUserId($userid)) && ($points > 0)) { + if (($userid != $content['userid']) && (isValidId($userid)) && ($points > 0)) { // Directly add points back to senders account addPointsAutoPurge($userid, $points); $points = '0'; } // END - if // Add points - $userid = $content['userid']; $points += $content['price']; $admin_points += $content['price']; + $userid = $content['userid']; + $points += getPaymentPrice($content['payment_id']); + $admin_points += $content['price']; // Remove confirmation links from queue - addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `stats_id`=%s", - array(bigintval($content['id'])), __FILE__, __LINE__, false)); + addSql(sqlQueryEscaped("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `stats_id`=%s", + array(bigintval($content['id'])), __FILE__, __LINE__, FALSE)); // Update status of order - addSql(SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_pool` SET `data_type`='DELETED' WHERE `id`=%s LIMIT 1", - array(bigintval($content['pool_id'])), __FILE__, __LINE__, false)); + updatePoolDataById($content['pool_id'], 'data_type', 'DELETED'); } // END - if + + // Free memory + sqlFreeResult($result_links); } // END - while - // Add last points to last user account - if ($points > 0) addPointsAutoPurge($userid, $points); + // Are some points collected? + if (($points > 0) && (isValidId($userid))) { + // Add last points to last user account + addPointsAutoPurge($userid, $points); + } // END - if } // END - if // Free memory - SQL_FREERESULT($result); + sqlFreeResult($result); // Is the 'bonus' extension installed and activated? - if (isExtensionActive('bonus', true)) { + if (isExtensionActive('bonus', TRUE)) { // Check for bonus campaigns - $result = SQL_QUERY("SELECT `id`, `points` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `data_type`='SEND' AND `timestamp` <= {?auto_purge?} ORDER BY `id` ASC", __FILE__, __LINE__); - if (!SQL_HASZERONUMS($result)) { + $result = sqlQuery("SELECT `id`, `points` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `data_type`='SEND' AND `timestamp` <= {?auto_purge?} ORDER BY `id` ASC", __FILE__, __LINE__); + if (!ifSqlHasZeroNums($result)) { // Start deleting procedure $points = '0'; - while ($content = SQL_FETCHARRAY($result)) { + while ($content = sqlFetchArray($result)) { // Check if confirmation links are purged or not - $result_links = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `bonus_id`=%s", + $result_links = sqlQueryEscaped("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `bonus_id`=%s", array(bigintval($content['id'])), __FILE__, __LINE__); - if (!SQL_HASZERONUMS($result_links)) { + if (!ifSqlHasZeroNums($result_links)) { // At least one link was found, enougth to pay back the points - $points += $content['points'] * SQL_NUMROWS($result_links); + $points += $content['points'] * sqlNumRows($result_links); // Free memory - SQL_FREERESULT($result_links); + sqlFreeResult($result_links); // Remove confirmation links from queue - addSql(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `bonus_id`=%s", - array(bigintval($content['id'])), __FILE__, __LINE__, false)); + addSql(sqlQueryEscaped("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `bonus_id`=%s", + array(bigintval($content['id'])), __FILE__, __LINE__, FALSE)); // Update status of order - addSql(SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_bonus` SET `data_type`='DELETED' WHERE `id`=%s LIMIT 1", - array(bigintval($content['id'])), __FILE__, __LINE__, false)); + addSql(sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_bonus` SET `data_type`='DELETED' WHERE `id`=%s LIMIT 1", + array(bigintval($content['id'])), __FILE__, __LINE__, FALSE)); } // END - if } // END - while - // Add points to jackpot - if (isExtensionActive('jackpot')) addPointsToJackpot($points); + // Is ext-jackpot installed? + if (isExtensionActive('jackpot')) { + // Add points to jackpot + addPointsToJackpot($points); + } // END - if // Add points for the admin $admin_points += $points; } // END - if // Free memory - SQL_FREERESULT($result); + sqlFreeResult($result); } // END - if // Add points from deleted accounts to jackpot, but here just add to notify mail if ($admin_points > 0) { // Send mail to admin - sendAdminNotification('{--ADMIN_AUTOPURGE_SUBJECT--}', 'admin_autopurge_points', $admin_points); + sendAdminNotification('{--ADMIN_AUTOPURGE_SUBJECT--}', 'admin_purge_points', $admin_points); } // END - if // Run all SQLs here