X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-del_email.php;h=f367fb9a017e9b13b08f374de965d080375cfad6;hp=635b6443e9a8399d987dfd9579420f75d676ad7f;hb=c0c6d5d58bdecd22bdcf7dfe5b24bec69e1810c7;hpb=e79e1454e88271e35086963a0422a51cc243e67a diff --git a/inc/modules/admin/what-del_email.php b/inc/modules/admin/what-del_email.php index 635b6443e9..f367fb9a01 100644 --- a/inc/modules/admin/what-del_email.php +++ b/inc/modules/admin/what-del_email.php @@ -1,22 +1,23 @@ 0) { // Prepare data for the template - define('__ID' , $id); - define('__SENDER' , ADMIN_USER_PROFILE_LINK($sender)); - define('__SUBJECT', $subject); - define('__URL' , DEREFERER($url)); - define('__ORDERED', MAKE_DATETIME($timestamp, "0")); + $content['timestamp'] = generateDateTime($content['timestamp'], 0); // Load template - LOAD_TEMPLATE("admin_del_email_normal"); - - // Transfer data to data array - $DATA = array($url, $subject); + loadTemplate('admin_delete_email_normal', FALSE, $content); // Load email template and send the email away - $msg_user = LOAD_EMAIL_TEMPLATE("order-deleted", "", $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=%d LIMIT 1", - array(bigintval($_GET['mid'])), __FILE__, __LINE__); + $message_user = loadEmailTemplate('member_order_deleted', $content, $content['sender']); + sendEmail($content['sender'], '{--MEMBER_ORDER_DELETED--}', $message_user); // Fetch right stats_id from pool - $result = 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=%d LIMIT 1", - array(bigintval($_GET['mid'])), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) { + $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(getRequestElement('id'))), __FILE__, __LINE__); + if (SQL_NUMROWS($result_pool) == 1) { // Fetch stats id - list($stats_id) = SQL_FETCHROW($result); + list($stats_id) = SQL_FETCHROW($result_pool); + + // Get all user links + $links = countSumTotalData($stats_id, 'user_links', 'userid', 'stats_id', TRUE); + + // Reset sent mails for recipient(s) + reduceRecipientReceivedMails('stats_id', getRequestElement('id'), $links); - // Free the result - SQL_FREERESULT($result); + // Calc total points and pay them back + $totalPoints = $links * $content['price']; // Shall we pay the points back to the user? - if ($_CONFIG['repay_deleted_mails'] != "NEVER") { - // Get all user links - $result = SQL_QUERY_ESC("SELECT COUNT(id) AS 'cnt' FROM "._MYSQL_PREFIX."_user_links WHERE stats_id=%d", - array(bigintval($stats_id)), __FILE__, __LINE__); - - // Get unconfirmed links for calculation of total points - list($links) = SQL_FETCHROW($result); - - // Free result - SQL_FREERESULT($result); - - // Calc total points and pay them back - $totalPoints = $links * $price; - //* DEBUG: */ echo $stats_id.":".$totalPoints."/".$links."/".$price."
\n"; - if ($totalPoints > 0) { - // Shall we payback to user or jackpot? - if ($_CONFIG['repay_deleted_mails'] == "JACKPOT") { - // Set jackpot - $sender = 0; - } - - // Pay back points - //* DEBUG: */ echo "PAYBACK:".$sender."
\n"; - ADD_POINTS_REFSYSTEM($sender, $totalPoints, true, "0", false,"direct"); - - // Output message - LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_POINTS_REPAYED, - number_format($totalPoints, 0, ",", ".") - )); + if ($totalPoints == 0) { + // No points repayed! + displayMessage('{--ADMIN_NO_POINTS_REPAYED--}'); + } elseif (getConfig('repay_deleted_mails') != 'SHRED') { + //* DEBUG: */ debugOutput($stats_id . ':' . $totalPoints . '/' . $links . '/' . $content['price']); + // Shall we payback to user or jackpot? + if (getConfig('repay_deleted_mails') == 'JACKPOT') { + // Set jackpot + $content['sender'] = '0'; + } // END - if + + // Pay back points + initReferralSystem(); + addPointsThroughReferralSystem('mail_deleted', $content['sender'], $totalPoints); + + // Output message + if (getConfig('repay_deleted_mails') == 'REPAY') { + // Repayed + displayMessage('{%message,ADMIN_POINTS_REPAYED=' . $totalPoints . '%}'); } else { - // No points repayed! - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NO_POINTS_REPAYED); + // To jackpot + displayMessage('{%message,ADMIN_POINTS_TO_JACKPOT=' . $totalPoints . '%}'); } + } else { + // Points shredded! + displayMessage('{%message,ADMIN_POINTS_SHREDDED=' . $totalPoints . '%}'); } // Remove links from DB - $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_links WHERE stats_id=%d", - 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__); + $count += SQL_AFFECTEDROWS(); + + // Load template for link + displayMessage('{--ADMIN_REMOVE_STATS_ENTRY--}'); + } // END - if + + // Free the result + SQL_FREERESULT($result_pool); - // Output link for manually removing stats entry - LOAD_TEMPLATE("admin_settings_saved", false, "".ADMIN_REMOVE_STATS_ENTRY.""); - } + // Delete mail from queue + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_pool` WHERE `id`=%s LIMIT 1", + array(bigintval(getRequestElement('id'))), __FILE__, __LINE__); + $count += SQL_AFFECTEDROWS(); + + // Output link for manually removing stats entry + outputHtml('{%message,ADMIN_DELETED_MAILS_COUNT=' . $count . '%}'); } else { // Mail already deleted! - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NORMAL_MAIL_ALREADY_DELETED); + displayMessage('{--ADMIN_NORMAL_MAIL_ALREADY_DELETED--}'); } -} elseif (!empty($_GET['pid'])) { + + // Free result + SQL_FREERESULT($result); +} elseif (isGetRequestElementSet('pid')) { // Remove stats entries - $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_stats WHERE pool_id=%d LIMIT 1", - array(bigintval($_GET['pid'])), __FILE__, __LINE__); - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_USER_STATS_REMOVED); -} elseif ((!empty($_GET['bid'])) && (EXT_IS_ACTIVE("bonus"))) { + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `pool_id`=%s LIMIT 1", + array(bigintval(getRequestElement('pid'))), __FILE__, __LINE__); + + // Output message + displayMessage('{--ADMIN_USER_STATS_REMOVED--}'); +} elseif (((isPostRequestElementSet('id')) && (isGetRequestElementSet('type')) && (postRequestElement('type') == 'bonus')) && (isExtensionActive('bonus'))) { // Load data from bonus mail - $result = SQL_QUERY_ESC("SELECT id, subject, url, timestamp FROM "._MYSQL_PREFIX."_bonus WHERE id=%d", - array(bigintval($_GET['bid'])), __FILE__, __LINE__); + $result = SQL_QUERY_ESC("SELECT `id`, `subject`, `url`, `timestamp`, `mails_sent` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1", + array(bigintval(getRequestElement('id'))), __FILE__, __LINE__); // Delete mail only once if (SQL_NUMROWS($result) == 1) { // Load data - list ($id, $subject, $url, $timestamp) = SQL_FETCHROW($result); - SQL_FREERESULT($result); + $content = SQL_FETCHARRAY($result); + + // Reset sent mails for recipient(s) + reduceRecipientReceivedMails('bonus_id', getRequestElement('id'), $content['mails_sent']); + + // Init counter for deleted mails + $count = '0'; + + // Delete bonus mail entirely from database + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1", + array(bigintval(getRequestElement('id'))), __FILE__, __LINE__); + $count += SQL_AFFECTEDROWS(); + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `bonus_id`=%s", + array(bigintval(getRequestElement('id'))), __FILE__, __LINE__); + $count += SQL_AFFECTEDROWS(); + + // Prepare data for the template + $content['timestamp'] = generateDateTime($content['timestamp'], '0'); + $content['count'] = $count; + + // Load template + loadTemplate('admin_delete_email_bonus', FALSE, $content); + } else { + // Mail already deleted! + displayMessage('{--ADMIN_BONUS_MAIL_ALREADY_DELETED--}'); + } +} elseif ((isGetRequestElementSet('nid')) && (isExtensionInstalledAndNewer('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 LIMIT 1", + array(bigintval(getRequestElement('nid'))), __FILE__, __LINE__); + + // Delete mail only once + if (SQL_NUMROWS($result) == 1) { + // Load data + $content = SQL_FETCHARRAY($result); + + // Init counter for deleted mails + $count = '0'; // Delete bonus mail entirely from database - $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_bonus WHERE id=%d LIMIT 1", - array(bigintval($_GET['bid'])), __FILE__, __LINE__); - $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_links WHERE bonus_id=%d", - array(bigintval($_GET['bid'])), __FILE__, __LINE__); + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1", + array(bigintval(getRequestElement('nid'))), __FILE__, __LINE__); + $count += SQL_AFFECTEDROWS(); + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `bonus_id`=%s", + array(bigintval(getRequestElement('nid'))), __FILE__, __LINE__); + $count += SQL_AFFECTEDROWS(); // Prepare data for the template - define('__ID' , $id); - define('__SUBJECT', $subject); - define('__URL' , DEREFERER($url)); - define('__ORDERED', MAKE_DATETIME($timestamp, "0")); + $content['timestamp'] = generateDateTime($content['timestamp'], '0'); + $content['count'] = $count; // Load template - LOAD_TEMPLATE("admin_del_email_bonus"); + loadTemplate('admin_delete_email_notify', FALSE, $content); } else { // Mail already deleted! - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_BONUS_MAIL_ALREADY_DELETED); + displayMessage('{--ADMIN_NOTIFY_MAIL_ALREADY_DELETED--}'); } + + // Free result + SQL_FREERESULT($result); } else { // No mail orders fond - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_WRONG_CALL); + displayMessage('{--ADMIN_WRONG_CALL--}'); } -// +// [EOF] ?>