Fixed logfile writing in installation phase, .revision is now ignored
[mailer.git] / inc / autopurge / purge-general.php
index 782b69d6f0e8a9b26f6e56611ab50d5df20c641b..16445c000a766277ced7d1fa37560eba2636d4ba 100644 (file)
  * Kurzbeschreibung  : Allgemeine, nicht erweiterunsabhaengige Auto-    *
  *                     Loeschung                                        *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision:: 856                                                    $ *
+ * $Date:: 2009-03-06 20:24:32 +0100 (Fr, 06. Mär 2009)              $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author:: stelzi                                                   $ *
+ * Needs to be in all Files and every File needs "svn propset           *
+ * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2008 by Roland Haeder                           *
  * For more information visit: http://www.mxchange.org                  *
@@ -45,6 +50,9 @@ if ((!EXT_IS_ACTIVE("autopurge")) || (getConfig('auto_purge_active') != "Y")) {
 }
 
 if ((getConfig('auto_purge_active') == "Y") && (getConfig('auto_purge') > 0)) {
+       // Init SQLs
+       INIT_SQLS();
+
        // First calculate the timestamp
        $PURGE = getConfig('auto_purge');
 
@@ -57,35 +65,35 @@ 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__);
+               array(bigintval($PURGE)), __FILE__, __LINE__);
        if (SQL_NUMROWS($result) > 0) {
                // Start deleting procedure
                $uid = 0; $points = 0;
-               while (list($mid, $sender, $pool, $price) = SQL_FETCHROW($result)) {
+               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($mid)), __FILE__, __LINE__);
+                               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 != $sender) && ($uid > 0) && ($points > 0)) {
+                               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 = $sender; $points += $price; $admin_points += $price;
+                               $uid = $content['userid']; $points += $content['price']; $admin_points += $content['price'];
 
                                // Remove confirmation links from queue
-                               SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_links` WHERE stats_id=%s",
-                                       array(bigintval($mid)), __FILE__, __LINE__);
+                               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
-                               SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_pool` SET data_type='DELETED' WHERE id=%s LIMIT 1",
-                                       array(bigintval($pool)), __FILE__, __LINE__);
+                               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
 
@@ -104,24 +112,24 @@ WHERE s.timestamp_ordered <= (UNIX_TIMESTAMP() - %s) ORDER BY s.userid",
                if (SQL_NUMROWS($result) > 0) {
                        // Start deleting procedure
                        $points = 0;
-                       while (list($bid, $price) = SQL_FETCHROW($result)) {
+                       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($bid)), __FILE__, __LINE__);
+                                       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 += $price * SQL_NUMROWS($result_links);
+                                       $points += $content['points'] * SQL_NUMROWS($result_links);
 
                                        // Free memory
                                        SQL_FREERESULT($result_links);
 
                                        // Remove confirmation links from queue
-                                       SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_links` WHERE bonus_id=%s",
-                                               array(bigintval($bid)), __FILE__, __LINE__);
+                                       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
-                                       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_bonus` SET data_type='DELETED' WHERE id=%s LIMIT 1",
-                                               array(bigintval($bid)), __FILE__, __LINE__);
+                                       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
 
@@ -139,8 +147,11 @@ WHERE s.timestamp_ordered <= (UNIX_TIMESTAMP() - %s) ORDER BY s.userid",
        // 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(AUTOPURGE_ADMIN_SUBJECT, "admin_autopurge_points", TRANSLATE_COMMA($points), "0");
+               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
 
 //