<?php
/************************************************************************
- * MXChange v0.2.1 Start: 05/29/2004 *
- * =============== Last change: 11/26/2004 *
+ * Mailer v0.2.1-FINAL Start: 05/29/2004 *
+ * =================== Last change: 11/26/2004 *
* *
* -------------------------------------------------------------------- *
* File : autopurge.php *
* $Date:: $ *
* $Tag:: 0.2.1-FINAL $ *
* $Author:: $ *
- * Needs to be in all Files and every File needs "svn propset *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009, 2010 by Mailer Developer Team *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
} // END - if
// Abort if autopurge is not active or disabled by admin
-if ((!isExtensionActive('autopurge')) || (getConfig('auto_purge_active') != 'Y')) {
+if ((!isExtensionActive('autopurge')) || (!isAutoPurgingActive()) || (getConfig('ap_del_mails') != 'Y')) {
// Abort here
return false;
} // END - if
-// Search for mails from deleted members?
-if (getConfig('ap_del_mails') == 'Y') {
- // Okay, let's check for them...
- $result_mails = SQL_QUERY("SELECT
+// Okay, let's check for deleted mails
+$result_mails = SQL_QUERY("SELECT
`sender`
FROM
`{?_MYSQL_PREFIX?}_pool`
WHERE
- `data_type`='DELETED' AND `timestamp` <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?})
+ `data_type`='DELETED' AND
+ `timestamp` <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?})
ORDER BY
`sender` ASC", __FILE__, __LINE__);
- // Reset counter...
- $DELETED = 0;
+// Reset counter...
+$deletedStats = '0';
- // Do we have "purged" mails?
- if (SQL_NUMROWS($result_mails) > 0) {
- // Okay, check for their sender's
- while ($content = SQL_FETCHARRAY($result_mails)) {
- // Check now...
- $fount = SQL_NUMROWS(SQL_QUERY_ESC("SELECT userid FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s LIMIT 1",
- array(bigintval($content['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($content['sender'])), __FILE__, __LINE__);
- $DELETED += SQL_AFFECTEDROWS();
+// 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 query (to prevent possible errors) ...;
- $result_mails = SQL_QUERY("SELECT
+ // Get all affected (deleted) rows
+ $deletedStats += SQL_AFFECTEDROWS();
+
+ // Reset query (to prevent possible errors) ...;
+ $result_mails = SQL_QUERY("SELECT
`sender`
FROM
`{?_MYSQL_PREFIX?}_pool`
WHERE
- `data_type`='DELETED' AND timestamp <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?})
+ `data_type`='DELETED' AND
+ `timestamp` <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?})
ORDER BY
`sender` ASC", __FILE__, __LINE__);
- }
- }
- }
+ } // END - if
+ } // END - while
+} // END - if
- // 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
- `sender`
+// Now let's check for stats entries as well;
+$result_mails = SQL_QUERY("SELECT
+ `userid` AS `sender`
FROM
`{?_MYSQL_PREFIX?}_user_stats`
WHERE
- `data_type`='DELETED' AND `timestamp_send` <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?})
+ `timestamp_send` <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?})
ORDER BY
- `sender` ASC", __FILE__, __LINE__);
+ `userid` ASC", __FILE__, __LINE__);
- // Do we have "purged" mails?
- if (SQL_NUMROWS($result_mails) > 0) {
- // Okay, check for their sender's
- while ($content = SQL_FETCHARRAY($result_mails)) {
- // Check now...
- $found = SQL_NUMROWS(SQL_QUERY_ESC("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s LIMIT 1",
- array(bigintval($content['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($content['sender'])), __FILE__, __LINE__);
- $DELETED += SQL_AFFECTEDROWS();
+// 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__);
- // Reset query (to prevent possible errors) ...
- $result_mails = SQL_QUERY("SELECT
- `sender`
+ // Get all affected (deleted) rows
+ $deletedStats += SQL_AFFECTEDROWS();
+
+ // Reset query (to prevent possible errors) ...
+ $result_mails = SQL_QUERY("SELECT
+ `userid`
FROM
`{?_MYSQL_PREFIX?}_user_stats`
WHERE
- `data_type`='DELETED' AND timestamp_send <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?})
+ `timestamp_send` <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?})
ORDER BY
- `sender` ASC", __FILE__, __LINE__);
- }
- }
- }
+ `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
- sendAdminNotification(getMessage('AUTOPURGE_ADMIN_DEL_MAILS_SUBJECT'), 'admin_autopurge_del_mails', $DELETED, '');
- } // END - if
-}
+// 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]
?>