]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/what-del_email.php
Fix for deleting email
[mailer.git] / inc / modules / admin / what-del_email.php
index 751ad7407ebe43be7544351934e70159726b040c..3401751e7de08c4293b6bb5051116882ad164a9d 100644 (file)
@@ -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));
@@ -70,25 +75,45 @@ if (!empty($_GET['mid'])) {
                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__);
+               //$result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_pool WHERE id=%d 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
 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);
                        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;
+                       //* DEBUG: */ echo $stats_id.":".$totalPoints."/".$links."/".$price."<br />\n";
+                       if ($totalPoints > 0) {
+                               // Pay back points
+                               //* DEBUG: */ echo "PAYBACK:".$sender."<br />\n";
+                               ADD_POINTS_REFSYSTEM($sender, $totalPoints, true, "0", false,"direct");
+                       }
+
                        // 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__);
+                       //$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, "<A href=\"".URL."/modules.php?module=admin&amp;what=del_email&amp;pid=".$_GET['mid']."\">".ADMIN_REMOVE_STATS_ENTRY."</A>");
+                       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>");
                }
        } else {
                // Mail already deleted!
@@ -103,11 +128,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__);