- $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);
+ $result = SQL_QUERY_ESC("SELECT `id`, `subject`, `url`, `timestamp`, `mails_sent` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s",
+ array(bigintval(getRequestParameter('bid'))), __FILE__, __LINE__);
+
+ // Delete mail only once
+ if (SQL_NUMROWS($result) == 1) {
+ // Load data
+ $content = SQL_FETCHARRAY($result);
+
+ // Reset sent mails for recipient(s)
+ reduceRecipientReceivedMails('bonus_id', getRequestParameter('bid'), $content['mails_sent']);
+
+ // Init counter for deleted mails
+ $cnt = '0';
+
+ // Delete bonus mail entirely from database
+ SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1",
+ array(bigintval(getRequestParameter('bid'))), __FILE__, __LINE__);
+ $cnt += SQL_AFFECTEDROWS();
+ SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `bonus_id`=%s",
+ array(bigintval(getRequestParameter('bid'))), __FILE__, __LINE__);
+ $cnt += SQL_AFFECTEDROWS();
+
+ // Prepare data for the template
+ $content['url'] = generateDerefererUrl($content['url']);
+ $content['timestamp'] = generateDateTime($content['timestamp'], 0);
+ $content['cnt'] = $cnt;
+
+ // Load template
+ loadTemplate('admin_del_email_bonus', false, $content);
+ } else {
+ // Mail already deleted!
+ loadTemplate('admin_settings_saved', false, '{--ADMIN_BONUS_MAIL_ALREADY_DELETED--}');
+ }
+
+ // Free result