Extension ext-coupon continued, a lot improvements applied:
[mailer.git] / inc / autopurge / purge-mails.php
index a2f0ade9a93c4c581c64c3848b3dcc1d1051e81d..61f911bdfaeebb8b3a89ce03ac01d6c55f60ed8b 100644 (file)
  * $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 - 2011 by Mailer Developer Team                   *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -42,7 +41,7 @@ if (!defined('__SECURITY')) {
 } // END - if
 
 // Abort if autopurge is not active or disabled by admin
-if ((!isExtensionActive('autopurge')) || (getConfig('auto_purge_active') != 'Y') || (getConfig('ap_del_mails') != 'Y')) {
+if ((!isExtensionActive('autopurge')) || (!isAutoPurgingActive()) || (getConfig('ap_del_mails') != 'Y')) {
        // Abort here
        return false;
 } // END - if
@@ -53,15 +52,16 @@ $result_mails = SQL_QUERY("SELECT
 FROM
        `{?_MYSQL_PREFIX?}_pool`
 WHERE
-       `data_type`='DELETED' AND `timestamp` <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?})
+       `data_type`='DELETED' AND
+       (UNIX_TIMESTAMP() - `timestamp`) >= {?ap_dm_timeout?}
 ORDER BY
        `sender` ASC", __FILE__, __LINE__);
 
 // Reset counter...
-$DELETED = '0';
+$deletedStats = '0';
 
 // Do we have "purged" mails?
-if (SQL_NUMROWS($result_mails) > 0) {
+if (!SQL_HASZERONUMS($result_mails)) {
        // Okay, check for their sender's
        while ($content = SQL_FETCHARRAY($result_mails)) {
                // Check now...
@@ -69,7 +69,9 @@ if (SQL_NUMROWS($result_mails) > 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();
+
+                       // Get all affected (deleted) rows
+                       $deletedStats += SQL_AFFECTEDROWS();
 
                        // Reset query (to prevent possible errors) ...;
                        $result_mails = SQL_QUERY("SELECT
@@ -77,7 +79,8 @@ if (SQL_NUMROWS($result_mails) > 0) {
 FROM
        `{?_MYSQL_PREFIX?}_pool`
 WHERE
-       `data_type`='DELETED' AND timestamp <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?})
+       `data_type`='DELETED' AND
+       (UNIX_TIMESTAMP() - `timestamp`) >= {?ap_dm_timeout?}
 ORDER BY
        `sender` ASC", __FILE__, __LINE__);
                } // END - if
@@ -89,34 +92,36 @@ SQL_FREERESULT($result_mails);
 
 // Now let's check for stats entries as well;
 $result_mails = SQL_QUERY("SELECT
-       `userid` AS sender
+       `userid` AS `sender`
 FROM
        `{?_MYSQL_PREFIX?}_user_stats`
 WHERE
-       `timestamp_send` <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?})
+       (UNIX_TIMESTAMP() - `timestamp_send`) >= {?ap_dm_timeout?}
 ORDER BY
-       `sender` ASC", __FILE__, __LINE__);
+       `userid` ASC", __FILE__, __LINE__);
 
 // Do we have "purged" mails?
-if (SQL_NUMROWS($result_mails) > 0) {
+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 `sender`=%s",
+                       SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `userid`=%s",
                                array(bigintval($content['sender'])), __FILE__, __LINE__);
-                       $DELETED += SQL_AFFECTEDROWS();
+
+                       // Get all affected (deleted) rows
+                       $deletedStats += SQL_AFFECTEDROWS();
 
                        // Reset query (to prevent possible errors) ...
                        $result_mails = SQL_QUERY("SELECT
-       `userid` AS sender
+       `userid` AS `sender`
 FROM
        `{?_MYSQL_PREFIX?}_user_stats`
 WHERE
-       `timestamp_send` <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?})
+       (UNIX_TIMESTAMP() - `timestamp_send`) >= {?ap_dm_timeout?}
 ORDER BY
-       `sender` ASC", __FILE__, __LINE__);
+       `userid` ASC", __FILE__, __LINE__);
                } // END - if
        } // END - while
 } // END - if
@@ -125,10 +130,10 @@ ORDER BY
 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')) {
+if (($deletedStats > 0) && (getConfig('ap_dm_notify') == 'Y')) {
        // Send out email to admin
-       sendAdminNotification(getMessage('AUTOPURGE_ADMIN_DEL_MAILS_SUBJECT'), 'admin_autopurge_del_mails', $DELETED, '');
+       sendAdminNotification('{--ADMIN_AUTOPURGE_DELETE_MAILS_SUBJECT--}', 'admin_autopurge_del_mails', $deletedStats);
 } // END - if
 
-//
+// [EOF]
 ?>