X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-del_email.php;h=19816688b55a6ebabdb094889ef16a3bc938914f;hb=9b27fd714bd5db5ca84ec1bd019c7614441f504b;hp=751ad7407ebe43be7544351934e70159726b040c;hpb=feebd0199748544fe8c930b70e97452001a13f76;p=mailer.git diff --git a/inc/modules/admin/what-del_email.php b/inc/modules/admin/what-del_email.php index 751ad7407e..19816688b5 100644 --- a/inc/modules/admin/what-del_email.php +++ b/inc/modules/admin/what-del_email.php @@ -45,13 +45,18 @@ ADD_DESCR("admin", basename(__FILE__)); if (!empty($_GET['mid'])) { // Load email data - $result = SQL_QUERY_ESC("SELECT id, sender, subject, url, timestamp FROM "._MYSQL_PREFIX."_pool WHERE id=%d LIMIT 1", + $result = SQL_QUERY_ESC("SELECT id, sender, subject, url, timestamp, payment_id FROM "._MYSQL_PREFIX."_pool WHERE id=%d LIMIT 1", array(bigintval($_GET['mid'])), __FILE__, __LINE__); - list ($id, $sender, $subject, $url, $timestamp,) = SQL_FETCHROW($result); - SQL_FREERESULT($result); // Delete mail only once - if ($sender > 0) { + if (SQL_NUMROWS($result) == 1) { + // Load data + list ($id, $sender, $subject, $url, $timestamp, $payId) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + + // Get points we shall pay back per mail + $price = GET_PAY_POINTS($payId, "price"); + // Prepare data for the template define('__ID' , $id); define('__SENDER' , ADMIN_USER_PROFILE_LINK($sender)); @@ -76,19 +81,70 @@ if (!empty($_GET['mid'])) { // 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=%d LIMIT 1", +ON s.pool_id=p.id +WHERE s.pool_id=%d LIMIT 1", array(bigintval($_GET['mid'])), __FILE__, __LINE__); if (SQL_NUMROWS($result) == 1) { // Fetch stats id list($stats_id) = SQL_FETCHROW($result); + + // Free the result + SQL_FREERESULT($result); + + // 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; + + // Shall we pay the points back to the user? + if ($_CONFIG['repay_deleted_mails'] != 'SHRED') { + //* 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 + if ($_CONFIG['repay_deleted_mails'] == 'REPAY') { + // Repayed + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_POINTS_REPAYED, + number_format($totalPoints, 0, ",", ".") + )); + } else { + // To jackpot + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_POINTS_TO_JACKPOT, + number_format($totalPoints, 0, ",", ".") + )); + } + } else { + // No points repayed! + LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NO_POINTS_REPAYED); + } + } else { + // Points shredded! + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(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__); // Output link for manually removing stats entry - LOAD_TEMPLATE("admin_settings_saved", false, "".ADMIN_REMOVE_STATS_ENTRY.""); + LOAD_TEMPLATE("admin_settings_saved", false, "".ADMIN_REMOVE_STATS_ENTRY.""); } } else { // Mail already deleted! @@ -103,11 +159,13 @@ ON s.pool_id=%d LIMIT 1", // 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__); - list ($id, $subject, $url, $timestamp) = SQL_FETCHROW($result); - SQL_FREERESULT($result); // Delete mail only once - if ($id > 0) { + if (SQL_NUMROWS($result) == 1) { + // Load data + list ($id, $subject, $url, $timestamp) = SQL_FETCHROW($result); + SQL_FREERESULT($result); + // 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__);