X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fpurge%2Fpurge-general.php;h=a240140c73c8c92bf40b848f6235ddb7877fb066;hb=33a76a20bc94ffe95e9f13906eb7dc5cf354948d;hp=07205e280fe3bddd5f4838163135208cb45a0dca;hpb=4f7df133f736da124e6f7bd02008b9093f736451;p=mailer.git diff --git a/inc/purge/purge-general.php b/inc/purge/purge-general.php index 07205e280f..a240140c73 100644 --- a/inc/purge/purge-general.php +++ b/inc/purge/purge-general.php @@ -17,7 +17,7 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2012 by Mailer Developer Team * + * 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 * @@ -52,33 +52,28 @@ 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 = NULL; $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 `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']) && (isValidId($userid)) && ($points > 0)) { // Directly add points back to senders account @@ -87,55 +82,63 @@ ORDER BY } // 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", + 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)) { // 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", + 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", + 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 + // Is ext-jackpot installed? if (isExtensionActive('jackpot')) { + // Add points to jackpot addPointsToJackpot($points); } // END - if @@ -144,13 +147,13 @@ ORDER BY } // 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