************************************************************************/
// Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN())) {
+if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
$INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
require($INC);
}
// Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
+ADD_DESCR("admin", __FILE__);
-if (!empty($_GET['mid'])) {
+// Init counter for deleted mails
+$cnt = 0;
+
+if (REQUEST_ISSET_GET(('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, payment_id FROM `{!_MYSQL_PREFIX!}_pool` WHERE id=%s LIMIT 1",
+ array(bigintval(REQUEST_GET('mid'))), __FILE__, __LINE__);
// Delete mail only once
if (SQL_NUMROWS($result) == 1) {
LOAD_TEMPLATE("admin_del_email_normal");
// Transfer data to data array
- $DATA = array($url, $subject);
+ $DATA = array('url' => $url, 'subject' => $subject);
// 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=%s LIMIT 1",
- array(bigintval($_GET['mid'])), __FILE__, __LINE__);
+ $msg_user = LOAD_EMAIL_TEMPLATE("order-deleted", array(), $sender);
+ SEND_EMAIL($sender, getMessage('MEMBER_ORDER_DELETED'), $msg_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
+ $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($_GET['mid'])), __FILE__, __LINE__);
- if (SQL_NUMROWS($result) == 1) {
+ array(bigintval(REQUEST_GET('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 = GET_TOTAL_DATA($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)
+ REDUCED_RECIPIENT_RECEIVED_MAILS("stats_id", REQUEST_GET('mid'), $links);
// 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') {
+ if (getConfig('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") {
+ if (getConfig('repay_deleted_mails') == "JACKPOT") {
// Set jackpot
$sender = 0;
- }
+ } // END - if
// Pay back points
//* DEBUG: */ echo "PAYBACK:".$sender."<br />\n";
- ADD_POINTS_REFSYSTEM($sender, $totalPoints, true, "0", false,"direct");
+ ADD_POINTS_REFSYSTEM("mail_deleted", $sender, $totalPoints, true, "0", false,"direct");
// Output message
- if ($_CONFIG['repay_deleted_mails'] == 'REPAY') {
+ if (getConfig('repay_deleted_mails') == "REPAY") {
// Repayed
- LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_POINTS_REPAYED,
- number_format($totalPoints, 0, ",", ".")
+ LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_POINTS_REPAYED'),
+ TRANSLATE_COMMA($totalPoints)
));
} else {
// To jackpot
- LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_POINTS_TO_JACKPOT,
- number_format($totalPoints, 0, ",", ".")
+ LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_POINTS_TO_JACKPOT'),
+ TRANSLATE_COMMA($totalPoints)
));
}
} else {
// No points repayed!
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NO_POINTS_REPAYED);
+ LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_NO_POINTS_REPAYED'));
}
} else {
// Points shredded!
- LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_POINTS_SHREDDED, $totalPoints));
+ LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('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__);
+ $cnt += SQL_AFFECTEDROWS();
+
+ // Load template for link
+ LOAD_TEMPLATE("admin_settings_saved", false, "<a href=\"{!URL!}/modules.php?module=admin&what=del_email&pid=".bigintval(REQUEST_GET('mid'))."\">".ADMIN_REMOVE_STATS_ENTRY."</a>");
+ } // END - if
+
+ // Free the result
+ SQL_FREERESULT($result_pool);
- // Output link for manually removing stats entry
- LOAD_TEMPLATE("admin_settings_saved", false, "<A href=\"".URL."/modules.php?module=admin&what=del_email&pid=".bigintval($_GET['mid'])."\">".ADMIN_REMOVE_STATS_ENTRY."</A>");
- }
+ // Delete mail from queue
+ SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_pool` WHERE id=%s LIMIT 1",
+ array(bigintval(REQUEST_GET('mid'))), __FILE__, __LINE__);
+ $cnt += SQL_AFFECTEDROWS();
+
+ // Output link for manually removing stats entry
+ OUTPUT_HTML(sprintf(ADMIN_DELETED_MAILS_COUNT, $cnt));
} else {
// Mail already deleted!
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NORMAL_MAIL_ALREADY_DELETED);
+ LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_NORMAL_MAIL_ALREADY_DELETED'));
}
-} elseif (!empty($_GET['pid'])) {
+} elseif (REQUEST_ISSET_GET(('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(REQUEST_GET('pid'))), __FILE__, __LINE__);
+
+ // Output message
+ LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_USER_STATS_REMOVED'));
+} elseif ((REQUEST_ISSET_GET(('bid'))) && (EXT_IS_ACTIVE("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",
+ array(bigintval(REQUEST_GET('bid'))), __FILE__, __LINE__);
+
+ // Delete mail only once
+ if (SQL_NUMROWS($result) == 1) {
+ // Load data
+ list ($id, $subject, $url, $timestamp, $sent) = SQL_FETCHROW($result);
+
+ // Reset sent mails for recipient(s)
+ REDUCED_RECIPIENT_RECEIVED_MAILS("bonus_id", REQUEST_GET('bid'), $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(REQUEST_GET('bid'))), __FILE__, __LINE__);
+ $cnt += SQL_AFFECTEDROWS();
+ SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_links` WHERE bonus_id=%s",
+ array(bigintval(REQUEST_GET('bid'))), __FILE__, __LINE__);
+ $cnt += SQL_AFFECTEDROWS();
+
+ // Prepare data for the template
+ define('__ID' , $id);
+ define('__SUBJECT', $subject);
+ define('__URL' , DEREFERER($url));
+ define('__ORDERED', MAKE_DATETIME($timestamp, "0"));
+ define('__CNT' , $cnt);
+
+ // Load template
+ LOAD_TEMPLATE("admin_del_email_bonus");
+ } else {
+ // Mail already deleted!
+ LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_BONUS_MAIL_ALREADY_DELETED'));
+ }
+
+ // Free result
+ SQL_FREERESULT($result);
+} elseif ((REQUEST_ISSET_GET(('nid'))) && (GET_EXT_VERSION("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(REQUEST_GET('nid'))), __FILE__, __LINE__);
// Delete mail only once
if (SQL_NUMROWS($result) == 1) {
list ($id, $subject, $url, $timestamp) = SQL_FETCHROW($result);
SQL_FREERESULT($result);
+ // Init counter for deleted mails
+ $cnt = 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(REQUEST_GET('nid'))), __FILE__, __LINE__);
+ $cnt += SQL_AFFECTEDROWS();
+ SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_links` WHERE bonus_id=%s",
+ array(bigintval(REQUEST_GET('nid'))), __FILE__, __LINE__);
+ $cnt += SQL_AFFECTEDROWS();
// Prepare data for the template
define('__ID' , $id);
define('__SUBJECT', $subject);
define('__URL' , DEREFERER($url));
define('__ORDERED', MAKE_DATETIME($timestamp, "0"));
+ define('__CNT' , $cnt);
// Load template
- LOAD_TEMPLATE("admin_del_email_bonus");
+ LOAD_TEMPLATE("admin_del_email_notify");
} else {
// Mail already deleted!
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_BONUS_MAIL_ALREADY_DELETED);
+ LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_NOTIFY_MAIL_ALREADY_DELETED'));
}
} else {
// No mail orders fond
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_WRONG_CALL);
+ LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_WRONG_CALL'));
}
//