0) { // Init SQLs initSqls(); // Init variables $admin_points = '0'; // Then check for outdated mail order. We don't delete them just the confirmation links will be deleted. $result = sqlQuery('SELECT `id`, `userid`, `pool_id`, `payment_id` FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE (UNIX_TIMESTAMP() - `timestamp_ordered`) >= {?auto_purge?} ORDER BY `userid` ASC', __FILE__, __LINE__); if (!ifSqlHasZeroNumRows($result)) { // Start deleting procedure $userid = NULL; $points = '0'; while ($content = sqlFetchArray($result)) { // Check if confirmation links are purged or not $result_links = sqlQueryEscaped("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `stats_id`=%s LIMIT 1", array(bigintval($content['id'])), __FILE__, __LINE__); // 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 addPointsAutoPurge($userid, $points); $points = '0'; } // END - if // Add points $userid = $content['userid']; $points += getPaymentPrice($content['payment_id']); $admin_points += $content['price']; // Remove confirmation links from queue 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 updatePoolDataById($content['pool_id'], 'data_type', 'DELETED'); } // END - if // Free memory sqlFreeResult($result_links); } // END - while // 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 sqlFreeResult($result); // Is the 'bonus' extension installed and activated? if (isExtensionActive('bonus', TRUE)) { // Check for bonus campaigns $result = sqlQuery("SELECT `id`, `points` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `data_type`='SEND' AND `timestamp` <= {?auto_purge?} ORDER BY `id` ASC", __FILE__, __LINE__); if (!ifSqlHasZeroNumRows($result)) { // Start deleting procedure $points = '0'; while ($content = sqlFetchArray($result)) { // Check if confirmation links are purged or not $result_links = sqlQueryEscaped("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `bonus_id`=%s", array(bigintval($content['id'])), __FILE__, __LINE__); if (!ifSqlHasZeroNumRows($result_links)) { // At least one link was found, enougth to pay back the points $points += $content['points'] * sqlNumRows($result_links); // Free memory sqlFreeResult($result_links); // Remove confirmation links from queue 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(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 // 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 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_purge_points', $admin_points); } // END - if // Run all SQLs here runFilterChain('run_sqls'); } // END - if // [EOF] ?>