X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fautopurge%2Fpurge-general.php;h=f551ef47b7591c74e7b59193e56a1fa6505a87ab;hb=7638ed2cdac53be2f20153011b8093aaf7349f79;hp=c4e63c3e0ec3d72ecda49d79613f65ef8e567003;hpb=4001187f22197f55e5a1f211fc8defcc180f7c32;p=mailer.git diff --git a/inc/autopurge/purge-general.php b/inc/autopurge/purge-general.php index c4e63c3e0e..f551ef47b7 100644 --- a/inc/autopurge/purge-general.php +++ b/inc/autopurge/purge-general.php @@ -1,153 +1,3 @@ 0)) { - // Init SQLs - INIT_SQLS(); - - // First calculate the timestamp - $PURGE = getConfig('auto_purge'); - - // Init variables - $admin_points = 0; - - // Then check for outdated mail order. We don't delete them just the confirmation links will be deleted. - $result = SQL_QUERY_ESC("SELECT s.id, s.userid, s.pool_id, t.price -FROM `{!_MYSQL_PREFIX!}_user_stats` AS s -LEFT JOIN `{!_MYSQL_PREFIX!}_payments` AS t -ON s.payment_id=t.id -WHERE s.timestamp_ordered <= (UNIX_TIMESTAMP() - %s) ORDER BY s.userid", - array(bigintval($PURGE)), __FILE__, __LINE__); - if (SQL_NUMROWS($result) > 0) { - // Start deleting procedure - $uid = 0; $points = 0; - while ($content = SQL_FETCHARRAY($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", - array(bigintval($content['id'])), __FILE__, __LINE__); - if (SQL_NUMROWS($result_links) == 1) { - // Free memory - SQL_FREERESULT($result_links); - - // At least one link was found, enougth to pay back the points - if (($uid != $content['userid']) && ($uid > 0) && ($points > 0)) { - // Directly add points back to senders account - AUTOPURGE_ADD_POINTS($uid, $points); - $points = 0; - } // END - if - - // Add points - $uid = $content['userid']; $points += $content['price']; $admin_points += $content['price']; - - // Remove confirmation links from queue - ADD_SQL(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_links` WHERE stats_id=%s", - array(bigintval($content['id'])), __FILE__, __LINE__, false)); - - // Update status of order - ADD_SQL(SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_pool` SET data_type='DELETED' WHERE id=%s LIMIT 1", - array(bigintval($content['pool_id'])), __FILE__, __LINE__, false)); - } // END - if - } // END - while - - // Add last points to last user account - if ($points > 0) AUTOPURGE_ADD_POINTS($uid, $points); - } // END - if - - // Free memory - SQL_FREERESULT($result); - - // Is the 'bonus' extension installed and activated? - if (EXT_IS_ACTIVE("bonus", true)) { - // Check for bonus campaigns - $result = SQL_QUERY_ESC("SELECT id, points FROM `{!_MYSQL_PREFIX!}_bonus` WHERE data_type='SEND' AND timestamp <= %s ORDER BY `id`", - array(bigintval($PURGE)), __FILE__, __LINE__); - if (SQL_NUMROWS($result) > 0) { - // Start deleting procedure - $points = 0; - while ($content = SQL_FETCHARRAY($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", - array(bigintval($content['id'])), __FILE__, __LINE__); - if (SQL_NUMROWS($result_links) > 0) { - // At least one link was found, enougth to pay back the points - $points += $content['points'] * SQL_NUMROWS($result_links); - - // Free memory - SQL_FREERESULT($result_links); - - // Remove confirmation links from queue - ADD_SQL(SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_links` WHERE bonus_id=%s", - array(bigintval($content['id'])), __FILE__, __LINE__, false)); - - // Update status of order - ADD_SQL(SQL_QUERY_ESC("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 - ADD_JACKPOT($points); - - // Add points for the admin - $admin_points += $points; - } // END - if - - // Free memory - SQL_FREERESULT($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 - SEND_ADMIN_NOTIFICATION(getMessage('AUTOPURGE_ADMIN_SUBJECT'), "admin_autopurge_points", TRANSLATE_COMMA($points), "0"); - } // END - if - - // Run all SQLs here - runFilterChain('run_sqls'); -} // END - if - -// +// @DEPRECATED ?>