X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fautopurge%2Fpurge-mails.php;h=a38879112429fd3d72d2ee550c98a59918637c56;hp=c4e1222edaccef9d5239ec2bc40859dd21e626d0;hb=9f6c30cc0e06098171d773d671292081ecee3d29;hpb=414570c5081d337bb6c28dcf521bd8bca02f69e7 diff --git a/inc/autopurge/purge-mails.php b/inc/autopurge/purge-mails.php index c4e1222eda..a388791124 100644 --- a/inc/autopurge/purge-mails.php +++ b/inc/autopurge/purge-mails.php @@ -10,14 +10,14 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Auto-Loeschung von veralteten Mail-Links * * -------------------------------------------------------------------- * - * $Revision:: 856 $ * - * $Date:: 2009-03-06 20:24:32 +0100 (Fr, 06. Mär 2009) $ * + * $Revision:: $ * + * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * - * $Author:: stelzi $ * + * $Author:: $ * * 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 * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -38,95 +38,97 @@ // Some security stuff... if (!defined('__SECURITY')) { - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); + die(); } // END - if // Abort if autopurge is not active or disabled by admin -if ((!EXT_IS_ACTIVE("autopurge")) || (getConfig('auto_purge_active') != "Y")) { +if ((!isExtensionActive('autopurge')) || (getConfig('auto_purge_active') != 'Y') || (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... - $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__); +// 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?}) +ORDER BY + `sender` ASC", __FILE__, __LINE__); - // Reset counter... - $DELETED = 0; +// Reset counter... +$DELETED = 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_NUMROWS($result_mails) > 0) { + // 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__); + $DELETED += SQL_AFFECTEDROWS(); - // 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__); - } - } - } + // 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?}) +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 - $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__); +// Now let's check for stats entries as well; +$result_mails = SQL_QUERY("SELECT + `userid` AS sender +FROM + `{?_MYSQL_PREFIX?}_user_stats` +WHERE + `timestamp_send` <= (UNIX_TIMESTAMP() - {?ap_dm_timeout?}) +ORDER BY + `sender` 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_NUMROWS($result_mails) > 0) { + // 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", + array(bigintval($content['sender'])), __FILE__, __LINE__); + $DELETED += 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 + `timestamp_send` <= (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); - // 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(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 (($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 // ?>