X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fautopurge%2Fpurge-mails.php;h=61f911bdfaeebb8b3a89ce03ac01d6c55f60ed8b;hp=3970e29008f94b49dac5902c8ae61eb85c04ee82;hb=2e394cb5b8a6225a39a6942b1fcc17c37a17a175;hpb=b7aada7890a3c7d1c1da4d2b36d8d7683fa61c06 diff --git a/inc/autopurge/purge-mails.php b/inc/autopurge/purge-mails.php index 3970e29008..61f911bdfa 100644 --- a/inc/autopurge/purge-mails.php +++ b/inc/autopurge/purge-mails.php @@ -1,7 +1,7 @@ = {?ap_dm_timeout?} +ORDER BY + `sender` ASC", __FILE__, __LINE__); + +// Reset counter... +$deletedStats = '0'; + +// Do we have "purged" mails? +if (!SQL_HASZERONUMS($result_mails)) { + // Okay, check for their sender's + while ($content = SQL_FETCHARRAY($result_mails)) { + // Check now... + if (!fetchUserData($content['sender'])) { + // Okay we found some mails! + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_pool` WHERE `sender`=%s", + array(bigintval($content['sender'])), __FILE__, __LINE__); - // Reset counter... - $DELETED = 0; + // Get all affected (deleted) rows + $deletedStats += SQL_AFFECTEDROWS(); - // Do we have "purged" mails? - if (SQL_NUMROWS($result_mails) > 0) { - // Okay, check for their sender's - while (list($sender) = SQL_FETCHROW($result_mails)) { - // Check now... - $fount = SQL_NUMROWS(SQL_QUERY_ESC("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", - array(bigintval($sender)), __FILE__, __LINE__)); - if ($found == 0) { - // Okay we found some mails! - SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_pool` WHERE sender=%s", - array(bigintval($sender)), __FILE__, __LINE__); - $DELETED += SQL_AFFECTEDROWS(); + // Reset query (to prevent possible errors) ...; + $result_mails = SQL_QUERY("SELECT + `sender` +FROM + `{?_MYSQL_PREFIX?}_pool` +WHERE + `data_type`='DELETED' AND + (UNIX_TIMESTAMP() - `timestamp`) >= {?ap_dm_timeout?} +ORDER BY + `sender` ASC", __FILE__, __LINE__); + } // END - if + } // END - while +} // END - if - // Reset query (to prevent possible errors) ... - $since = getConfig(('ap_dm_timeout')); - $result_mails = SQL_QUERY_ESC("SELECT sender -FROM `{!_MYSQL_PREFIX!}_pool` -WHERE data_type='DELETED' AND timestamp <= (UNIX_TIMESTAMP() - %s) -ORDER BY sender ASC", - array($since), __FILE__, __LINE__); - } - } - } +// Free memory +SQL_FREERESULT($result_mails); - // Free memory - SQL_FREERESULT($result_mails); +// Now let's check for stats entries as well; +$result_mails = SQL_QUERY("SELECT + `userid` AS `sender` +FROM + `{?_MYSQL_PREFIX?}_user_stats` +WHERE + (UNIX_TIMESTAMP() - `timestamp_send`) >= {?ap_dm_timeout?} +ORDER BY + `userid` ASC", __FILE__, __LINE__); - // Now let's check for stats entries as well - $since = getConfig(('ap_dm_timeout')); - $result_mails = SQL_QUERY_ESC("SELECT sender -FROM `{!_MYSQL_PREFIX!}_user_stats` -WHERE data_type='DELETED' AND timestamp_send <= (UNIX_TIMESTAMP() - %s) -ORDER BY sender ASC", - array($since), __FILE__, __LINE__); +// Do we have "purged" mails? +if (!SQL_HASZERONUMS($result_mails)) { + // Okay, check for their sender's + while ($content = SQL_FETCHARRAY($result_mails)) { + // Check now... + if (!fetchUserData($content['sender'])) { + // Okay we found some mails! + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `userid`=%s", + array(bigintval($content['sender'])), __FILE__, __LINE__); - // Do we have "purged" mails? - if (SQL_NUMROWS($result_mails) > 0) { - // Okay, check for their sender's - while (list($sender) = SQL_FETCHROW($result_mails)) { - // Check now... - $found = SQL_NUMROWS(SQL_QUERY_ESC("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", array(bigintval($sender)), __FILE__, __LINE__)); - if ($found == 0) { - // Okay we found some mails! - SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_stats` WHERE sender=%s", array(bigintval($sender)), __FILE__, __LINE__); - $DELETED += SQL_AFFECTEDROWS(); + // Get all affected (deleted) rows + $deletedStats += SQL_AFFECTEDROWS(); - // Reset query (to prevent possible errors) ... - $since = getConfig(('ap_dm_timeout')); - $result_mails = SQL_QUERY_ESC("SELECT sender -FROM `{!_MYSQL_PREFIX!}_user_stats` -WHERE data_type='DELETED' AND timestamp_send <= (UNIX_TIMESTAMP() - %s) -ORDER BY sender ASC", - array($since), __FILE__, __LINE__); - } - } - } + // Reset query (to prevent possible errors) ... + $result_mails = SQL_QUERY("SELECT + `userid` AS `sender` +FROM + `{?_MYSQL_PREFIX?}_user_stats` +WHERE + (UNIX_TIMESTAMP() - `timestamp_send`) >= {?ap_dm_timeout?} +ORDER BY + `userid` ASC", __FILE__, __LINE__); + } // END - if + } // END - while +} // END - if - // Free memory - SQL_FREERESULT($result_mails); +// Free memory +SQL_FREERESULT($result_mails); - // Do we have deleted mails and the admin want's to receive a notification - if (($DELETED > 0) && (getConfig('ap_dm_notify') == "Y")) { - // Send out email to admin - SEND_ADMIN_NOTIFICATION(AUTOPURGE_ADMIN_DEL_MAILS_SUBJECT, "admin_autopurge_del_mails", $DELETED, ""); - } -} +// Do we have deleted mails and the admin want's to receive a notification +if (($deletedStats > 0) && (getConfig('ap_dm_notify') == 'Y')) { + // Send out email to admin + sendAdminNotification('{--ADMIN_AUTOPURGE_DELETE_MAILS_SUBJECT--}', 'admin_autopurge_del_mails', $deletedStats); +} // END - if -// +// [EOF] ?>