]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/what-del_email.php
Bad things are now 'classified' as bad (CSS class 'bad' is being used instead of...
[mailer.git] / inc / modules / admin / what-del_email.php
index da714d623e8863213720bb1ac92d7ea91686a3a2..9b566b697bf38f31cb06b30d5629445e81f1b3d4 100644 (file)
@@ -1,22 +1,23 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 02/12/2004 *
- * ================                             Last change: 02/27/2004 *
+ * Mailer v0.2.1-FINAL                                Start: 02/12/2004 *
+ * ===================                          Last change: 02/27/2004 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : what-del_email.php                               *
  * -------------------------------------------------------------------- *
  * Short description : Delete a bonus or normal mail                    *
  * -------------------------------------------------------------------- *
- * Kurzbeschreibung  : Bonus- / Normal-Mail loeschen                    *
+ * Kurzbeschreibung  : Bonus- / Mitglied-Mail loeschen                  *
  * -------------------------------------------------------------------- *
- *                                                                      *
- *  Module by Robert Niedziela, Megacomputing                           *
- *          web : http://mc-p.mcserver.de                               *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
- * For more information visit: http://www.mxchange.org                  *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
+ * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  * it under the terms of the GNU General Public License as published by *
  ************************************************************************/
 
 // Some security stuff...
-if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
-       require($INC);
-}
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+       die();
+} // END - if
 
 // Add description as navigation point
-ADD_DESCR("admin", __FILE__);
+addYouAreHereLink('admin', __FILE__);
 
-if (!empty($_GET['mid'])) {
+// Init counter for deleted mails
+$count = '0';
+
+if (isGetRequestElementSet('mid')) {
        // Load email data
-       $result = SQL_QUERY_ESC("SELECT id, sender, subject, url, timestamp, payment_id FROM "._MYSQL_PREFIX."_pool WHERE id=%s LIMIT 1",
-        array(bigintval($_GET['mid'])), __FILE__, __LINE__);
+       $result = SQL_QUERY_ESC("SELECT `id`,`sender`,`subject`,`url`,`timestamp`,`cat_id`,`payment_id` FROM `{?_MYSQL_PREFIX?}_pool` WHERE `id`=%s LIMIT 1",
+               array(bigintval(getRequestElement('mid'))), __FILE__, __LINE__);
 
        // Delete mail only once
        if (SQL_NUMROWS($result) == 1) {
                // Load data
-               list ($id, $sender, $subject, $url, $timestamp, $payId) = SQL_FETCHROW($result);
-               SQL_FREERESULT($result);
+               $content = SQL_FETCHARRAY($result);
 
                // Get points we shall pay back per mail
-               $price = GET_PAY_POINTS($payId, "price");
+               $content['price'] = getPaymentPoints($content['payment_id'], 'price');
+               // @TODO Unused: cat_id, payment_id
 
                // 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' => $url, 'subject' => $subject);
+               loadTemplate('admin_delete_email_normal', false, $content);
 
                // Load email template and send the email away
-               $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__);
+               $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=%s 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('mid'))), __FILE__, __LINE__);
+               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 = countSumTotalData($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)
+                       reduceRecipientReceivedMails('stats_id', getRequestElement('mid'), $links);
 
                        // Calc total points and pay them back
-                       $totalPoints = $links * $price;
+                       $totalPoints = $links * $content['price'];
 
                        // Shall we pay the points back to the user?
-                       if ($_CONFIG['repay_deleted_mails'] != 'SHRED') {
-                               //* DEBUG: */ echo $stats_id.":".$totalPoints."/".$links."/".$price."<br />\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."<br />\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, ",", ".")
-                                               ));
-                                       }
+                       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!
-                               LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_POINTS_SHREDDED, $totalPoints));
+                               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=%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__);
+                       $count += SQL_AFFECTEDROWS();
 
-                       // Output link for manually removing stats entry
-                       LOAD_TEMPLATE("admin_settings_saved", false, "<A href=\"".URL."/modules.php?module=admin&amp;what=del_email&amp;pid=".bigintval($_GET['mid'])."\">".ADMIN_REMOVE_STATS_ENTRY."</A>");
-               }
+                       // Load template for link
+                       displayMessage('<a href="{%url=modules.php?module=admin&amp;what=del_email&amp;pid=' . bigintval(getRequestElement('mid')) . '%}">{--ADMIN_REMOVE_STATS_ENTRY--}</a>');
+               } // END - if
+
+               // Free the result
+               SQL_FREERESULT($result_pool);
+
+               // Delete mail from queue
+               SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_pool` WHERE `id`=%s LIMIT 1",
+                       array(bigintval(getRequestElement('mid'))), __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=%s 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 ((isGetRequestElementSet('bid')) && (isExtensionActive('bonus'))) {
        // 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__);
+       $result = SQL_QUERY_ESC("SELECT `id`,`subject`,`url`,`timestamp`,`mails_sent` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1",
+               array(bigintval(getRequestElement('bid'))), __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('bid'), $content['mails_sent']);
+
+               // 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=%s LIMIT 1",
-                array(bigintval($_GET['bid'])), __FILE__, __LINE__);
-               $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_links WHERE bonus_id=%s",
-                array(bigintval($_GET['bid'])), __FILE__, __LINE__);
+               SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1",
+                       array(bigintval(getRequestElement('bid'))), __FILE__, __LINE__);
+               $count += SQL_AFFECTEDROWS();
+               SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `bonus_id`=%s",
+                       array(bigintval(getRequestElement('bid'))), __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_bonus', false, $content);
        } else {
                // Mail already deleted!
-               LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_BONUS_MAIL_ALREADY_DELETED);
+               displayMessage('{--ADMIN_BONUS_MAIL_ALREADY_DELETED--}');
        }
-} elseif ((!empty($_GET['nid'])) && (GET_EXT_VERSION("bonus") >= "0.8.7")) {
+
+       // Free result
+       SQL_FREERESULT($result);
+} 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",
-        array(bigintval($_GET['nid'])), __FILE__, __LINE__);
+       $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
-               list ($id, $subject, $url, $timestamp) = SQL_FETCHROW($result);
-               SQL_FREERESULT($result);
+               $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=%s LIMIT 1",
-                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['nid'])), __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_notify");
+               loadTemplate('admin_delete_email_notify', false, $content);
        } else {
                // Mail already deleted!
-               LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NOTIFY_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]
 ?>