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]
?>