X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-del_email.php;h=13d4b6ef0f947647e3ff6b843e92feb8ee3f9366;hb=ad851a23313d8ac6489a759a0f3d62e3bc6f4682;hp=bcc1fcc5d2607d21e02db72233b71d60ee9fd25c;hpb=ffc9f83d2e03081fbf9e6106cc845d2326920d35;p=mailer.git diff --git a/inc/modules/admin/what-del_email.php b/inc/modules/admin/what-del_email.php index bcc1fcc5d2..13d4b6ef0f 100644 --- a/inc/modules/admin/what-del_email.php +++ b/inc/modules/admin/what-del_email.php @@ -41,7 +41,7 @@ if ((!defined('__SECURITY')) || (!IS_ADMIN())) { } // Add description as navigation point -ADD_DESCR("admin", basename(__FILE__)); +ADD_DESCR("admin", __FILE__); if (!empty($_GET['mid'])) { // Load email data @@ -74,32 +74,21 @@ if (!empty($_GET['mid'])) { $msg_user = LOAD_EMAIL_TEMPLATE("order-deleted", array(), $sender); SEND_EMAIL($sender, MEMBER_ORDER_DELETED, $msg_user); - // Delete mail from queue - $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_pool WHERE id=%s LIMIT 1", - array(bigintval($_GET['mid'])), __FILE__, __LINE__); - // Fetch right stats_id from pool - $result = SQL_QUERY_ESC("SELECT s.id FROM "._MYSQL_PREFIX."_user_stats AS s + $result_pool = SQL_QUERY_ESC("SELECT s.id FROM "._MYSQL_PREFIX."_user_stats AS s LEFT JOIN "._MYSQL_PREFIX."_pool AS p ON s.pool_id=p.id WHERE s.pool_id=%s LIMIT 1", array(bigintval($_GET['mid'])), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) { + if (SQL_NUMROWS($result_pool) == 1) { // Fetch stats id - list($stats_id) = SQL_FETCHROW($result); - - // Free the result - SQL_FREERESULT($result); + list($stats_id) = SQL_FETCHROW($result_pool); // Get all user links - $result = SQL_QUERY_ESC("SELECT COUNT(id) AS 'cnt' FROM "._MYSQL_PREFIX."_user_links WHERE stats_id=%s", - array(bigintval($stats_id)), __FILE__, __LINE__); + $links = GET_TOTAL_DATA($stats_id, "user_links", "userid", "stats_id", true); - // Get unconfirmed links for calculation of total points - list($links) = SQL_FETCHROW($result); - - // Free result - SQL_FREERESULT($result); + // Reset sent mails for recipient(s) + REDUCT_RECIPIENT_RECEIVED_MAILS("stats_id", $_GET['mid'], $links); // Calc total points and pay them back $totalPoints = $links * $price; @@ -112,22 +101,22 @@ WHERE s.pool_id=%s LIMIT 1", if ($_CONFIG['repay_deleted_mails'] == "JACKPOT") { // Set jackpot $sender = 0; - } + } // END - if // Pay back points //* DEBUG: */ echo "PAYBACK:".$sender."
\n"; - ADD_POINTS_REFSYSTEM($sender, $totalPoints, true, "0", false,"direct"); + ADD_POINTS_REFSYSTEM("mail_deleted", $sender, $totalPoints, true, "0", false,"direct"); // Output message if ($_CONFIG['repay_deleted_mails'] == 'REPAY') { // Repayed LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_POINTS_REPAYED, - number_format($totalPoints, 0, ",", ".") + TRANSLATE_COMMA($totalPoints) )); } else { // To jackpot LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_POINTS_TO_JACKPOT, - number_format($totalPoints, 0, ",", ".") + TRANSLATE_COMMA($totalPoints) )); } } else { @@ -139,13 +128,20 @@ WHERE s.pool_id=%s LIMIT 1", LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_POINTS_SHREDDED, $totalPoints)); } + // Delete mail from queue + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_pool WHERE id=%s LIMIT 1", + array(bigintval($_GET['mid'])), __FILE__, __LINE__); + // Remove links from DB - $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_links WHERE stats_id=%s", - array(bigintval($stats_id)), __FILE__, __LINE__); + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_links WHERE stats_id=%s", + array(bigintval($stats_id)), __FILE__, __LINE__); // Output link for manually removing stats entry LOAD_TEMPLATE("admin_settings_saved", false, "".ADMIN_REMOVE_STATS_ENTRY.""); - } + } // END - if + + // Free the result + SQL_FREERESULT($result_pool); } else { // Mail already deleted! LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NORMAL_MAIL_ALREADY_DELETED); @@ -153,12 +149,48 @@ WHERE s.pool_id=%s LIMIT 1", } elseif (!empty($_GET['pid'])) { // Remove stats entries $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_stats WHERE pool_id=%s LIMIT 1", - array(bigintval($_GET['pid'])), __FILE__, __LINE__); + array(bigintval($_GET['pid'])), __FILE__, __LINE__); + + // Output message LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_USER_STATS_REMOVED); } elseif ((!empty($_GET['bid'])) && (EXT_IS_ACTIVE("bonus"))) { + // Load data from bonus mail + $result = SQL_QUERY_ESC("SELECT id, subject, url, timestamp, mails_sent FROM "._MYSQL_PREFIX."_bonus WHERE id=%s", + array(bigintval($_GET['bid'])), __FILE__, __LINE__); + + // Delete mail only once + if (SQL_NUMROWS($result) == 1) { + // Load data + list ($id, $subject, $url, $timestamp, $sent) = SQL_FETCHROW($result); + + // Reset sent mails for recipient(s) + REDUCT_RECIPIENT_RECEIVED_MAILS ("bonus_id", $_GET['bid'], $sent); + + // Delete bonus mail entirely from database + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_bonus WHERE id=%s LIMIT 1", + array(bigintval($_GET['bid'])), __FILE__, __LINE__); + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_links WHERE bonus_id=%s", + array(bigintval($_GET['bid'])), __FILE__, __LINE__); + + // Prepare data for the template + define('__ID' , $id); + define('__SUBJECT', $subject); + define('__URL' , DEREFERER($url)); + define('__ORDERED', MAKE_DATETIME($timestamp, "0")); + + // Load template + LOAD_TEMPLATE("admin_del_email_bonus"); + } else { + // Mail already deleted! + LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_BONUS_MAIL_ALREADY_DELETED); + } + + // Free result + SQL_FREERESULT($result); +} elseif ((!empty($_GET['nid'])) && (GET_EXT_VERSION("bonus") >= "0.8.7")) { // Load data from bonus mail $result = SQL_QUERY_ESC("SELECT id, subject, url, timestamp FROM "._MYSQL_PREFIX."_bonus WHERE id=%s", - array(bigintval($_GET['bid'])), __FILE__, __LINE__); + array(bigintval($_GET['nid'])), __FILE__, __LINE__); // Delete mail only once if (SQL_NUMROWS($result) == 1) { @@ -168,9 +200,9 @@ WHERE s.pool_id=%s LIMIT 1", // Delete bonus mail entirely from database $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_bonus WHERE id=%s LIMIT 1", - array(bigintval($_GET['bid'])), __FILE__, __LINE__); + array(bigintval($_GET['nid'])), __FILE__, __LINE__); $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_links WHERE bonus_id=%s", - array(bigintval($_GET['bid'])), __FILE__, __LINE__); + array(bigintval($_GET['nid'])), __FILE__, __LINE__); // Prepare data for the template define('__ID' , $id); @@ -179,10 +211,10 @@ WHERE s.pool_id=%s LIMIT 1", define('__ORDERED', MAKE_DATETIME($timestamp, "0")); // Load template - LOAD_TEMPLATE("admin_del_email_bonus"); + LOAD_TEMPLATE("admin_del_email_notify"); } else { // Mail already deleted! - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_BONUS_MAIL_ALREADY_DELETED); + LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NOTIFY_MAIL_ALREADY_DELETED); } } else { // No mail orders fond