X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-unlock_emails.php;h=5fb789f51cb2cac5cb977318eb18e8d12cbaf9c8;hp=270fd49de8e83b796f4b5f1ef21d8defcf5c68f6;hb=4b7f401f2a4680ae46ca41c57f749cfe35163660;hpb=6032b7018b83778f1592383238f4e0d28f718622 diff --git a/inc/modules/admin/what-unlock_emails.php b/inc/modules/admin/what-unlock_emails.php index 270fd49de8..5fb789f51c 100644 --- a/inc/modules/admin/what-unlock_emails.php +++ b/inc/modules/admin/what-unlock_emails.php @@ -1,7 +1,7 @@ 0) || (isset($_POST['lock']))) { - // Count checked checkboxes - $SEL = 0; - if (isset($_POST['sel'])) { - // Are there checked boxes? - if (count($_POST['sel']) > 0) { - // Count now... We use an own function for now - $SEL = SELECTION_COUNT($_POST['sel']); - } // END - if - } // END - if - - if (isset($_POST['accept'])) { - if ($SEL > 0) { +$result_main = SQL_QUERY("SELECT + `id`,`sender`,`subject`,`payment_id` AS `payment`,`timestamp`,`url`,`target_send`,`cat_id` AS category +FROM + `{?_MYSQL_PREFIX?}_pool` +WHERE + `data_type`='ADMIN' +ORDER BY + `timestamp` ASC", __FILE__, __LINE__); + +if ((SQL_NUMROWS($result_main) > 0) || (isFormSent('lock'))) { + if (isFormSent('accept')) { + if (countPostSelection() > 0) { // Accept mail orders - foreach ($_POST['sel'] as $id => $value) { - // Secure ID number + foreach (postRequestParameter('sel') as $id => $value) { + // Secure id number $id = bigintval($id); - // Unlock selected email - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_pool SET data_type='NEW' WHERE id=%s AND data_type='ADMIN' LIMIT 1", - array($id), __FILE__, __LINE__); - - // Update wents fine? - if (SQL_AFFECTEDROWS() == 1) { - // Order placed in queue... 0 1 2 3 4 - $result = SQL_QUERY_ESC("SELECT po.url, po.subject, po.sender, pay.payment, po.payment_id -FROM "._MYSQL_PREFIX."_pool AS po -INNER JOIN "._MYSQL_PREFIX."_payments AS pay -ON po.payment_id=pay.id -WHERE po.id=%s + // Order placed in queue... + $result = SQL_QUERY_ESC("SELECT + po.url, po.subject, po.sender, pay.payment, po.payment_id +FROM + `{?_MYSQL_PREFIX?}_pool` AS po +INNER JOIN + `{?_MYSQL_PREFIX?}_payments` AS pay +ON + po.payment_id=pay.id +WHERE + po.id=%s LIMIT 1", - array($id), __FILE__, __LINE__); + array($id), __FILE__, __LINE__); + // Update wents fine? + if (SQL_NUMROWS($result) == 1) { // Load data - $DATA = SQL_FETCHARRAY($result); + $content = SQL_FETCHARRAY($result); // Free result SQL_FREERESULT($result); + // Is the surfbar installed? + // @TODO Rewrite these if-blocks to a filter + if ((isExtensionActive('surfbar')) && (getConfig('surfbar_migrate_order') == 'Y')) { + // Then "migrate" the URL to the surfbar + SURFBAR_ADMIN_MIGRATE_URL($content['url'], $content['sender']); + } // END - if + // Check for bonus extension version >= 0.4.4 for the order bonus - if ((GET_EXT_VERSION("bonus") >= "0.4.4") && ($_CONFIG['bonus_active'] == "Y")) { + if ((isExtensionInstalledAndNewer('bonus', '0.4.4')) && (getConfig('bonus_active') == 'Y')) { // Add points directly - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET bonus_order=bonus_order+".$_CONFIG['bonus_order']." WHERE userid=%s LIMIT 1", - array(bigintval($DATA['sender'])), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `bonus_order`=`bonus_order`+{?bonus_order?} WHERE `userid`=%s LIMIT 1", + array(bigintval($content['sender'])), __FILE__, __LINE__); // Subtract bonus points from system - BONUS_POINTS_HANDLER($_CONFIG['bonus_order']); + handleBonusPoints(getConfig('bonus_order')); } // END - if // Load email template - $msg_user = LOAD_EMAIL_TEMPLATE("order-accept", "", $DATA['sender']); + $message_user = loadEmailTemplate('order-accept', $content, $content['sender']); // Send email - SEND_EMAIL($DATA['sender'], MEMBER_ORDER_ACCEPTED, $msg_user); + sendEmail($content['sender'], getMessage('MEMBER_ORDER_ACCEPTED'), $message_user); + + // Unlock selected email + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_pool` SET `data_type`='NEW' WHERE `id`=%s AND `data_type`='ADMIN' LIMIT 1", + array($id), __FILE__, __LINE__); } // END - if } // END - foreach // Set message - $MSG = ADMIN_MAILS_ACTIVATED; + $message = getMessage('ADMIN_MAILS_ACTIVATED'); } else { // Nothing checked! - $MSG = ADMIN_MAILS_NOTHING_CHECKED; + $message = getMessage('ADMIN_MAILS_NOTHING_CHECKED'); } // Mails unlocked for mail delivery - LOAD_TEMPLATE("admin_settings_saved", false, $MSG); - } elseif (isset($_POST['reject'])) { - if ($SEL > 0) { + loadTemplate('admin_settings_saved', false, $message); + } elseif (isPostRequestParameterSet(('reject'))) { + if (countPostSelection() > 0) { // Reject mail orders - $SW = 2; $OUT = ""; - foreach ($_POST['sel'] as $id=>$value) { - // Secure ID number + $OUT = ''; $SW = 2; + foreach (postRequestParameter('sel') as $id => $value) { + // Secure id number $id = bigintval($id); // Load URL and subject from pool - $result = SQL_QUERY_ESC("SELECT url, subject, sender FROM "._MYSQL_PREFIX."_pool WHERE id=%s LIMIT 1", - array($id), __FILE__, __LINE__); + $result = SQL_QUERY_ESC("SELECT `url`, `subject`, `sender` FROM `{?_MYSQL_PREFIX?}_pool` WHERE `id`=%s LIMIT 1", + array($id), __FILE__, __LINE__); // Load data - $DATA = SQL_FETCHARRAY($result); + $content = SQL_FETCHARRAY($result); // Free result SQL_FREERESULT($result); // Load email template and send it away - $msg_user = LOAD_EMAIL_TEMPLATE("order-reject", "", $DATA['sender']); - SEND_EMAIL($DATA['sender'], MEMBER_ORDER_REJECTED, $msg_user); + $message_user = loadEmailTemplate('order-reject', $content, $content['sender']); + sendEmail($content['sender'], getMessage('MEMBER_ORDER_REJECTED'), $message_user); // If you do not enter an URL to redirect to, your URL will be set! - if ((empty($_POST['redirect'])) || ($_POST['redirect'] == "http://")) $_POST['redirect'] = URL; + if ((!isPostRequestParameterSet('redirect')) || (postRequestParameter('redirect') == 'http://')) setPostRequestParameter('redirect', getConfig('URL')); // Redirect URL - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_pool SET url='%s', data_type='NEW' WHERE id=%s LIMIT 1", - array($_POST['redirect'], $id),__FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_pool` SET url='%s', `data_type`='NEW' WHERE `id`=%s LIMIT 1", + array(postRequestParameter('redirect'), $id),__FILE__, __LINE__); // Prepare data for the row template $content = array( 'sw' => $SW, 'id' => $id, - 'url' => $_POST['url'][$id], + 'url' => postRequestParameter('url', $id), ); // Load row template and switch colors - $OUT .= LOAD_TEMPLATE("admin_unlock_emails_redir_row", true, $content); + $OUT .= loadTemplate('admin_unlock_emails_redir_row', true, $content); $SW = 3 - $SW; } - define('__URL_ROWS', $OUT); // Load main template - LOAD_TEMPLATE("admin_unlock_emails_redir"); + loadTemplate('admin_unlock_emails_redir', false, $OUT); } else { // Nothing selected - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_MAILS_NOTHING_CHECKED); + loadTemplate('admin_settings_saved', false, getMessage('ADMIN_MAILS_NOTHING_CHECKED')); } - } elseif ((isset($_POST['lock'])) || ($SEL > 0)) { - if ($SEL > 0) { - // Lock URLs - foreach ($_POST['sel'] as $id=>$url) { - // Lookup in blacklist - $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_url_blist WHERE url='%s' LIMIT 1", - array($url), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 0) { - // Did not find a record so we can add it... :) - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_url_blist (url, timestamp) VALUES ('%s', UNIX_TIMESTAMP())", - array($url), __FILE__, __LINE__); - } else { - // Free memory - SQL_FREERESULT($result); - } - } - - // Set message - $MSG = ADMIN_URLS_BLOCKED; - } else { - // Nothing selected - $MSG = ADMIN_MAILS_NOTHING_CHECKED; - } - LOAD_TEMPLATE("admin_settings_saved", false, $MSG); - } elseif ((empty($_POST['lock'])) && (empty($_POST['accept'])) && (empty($_POST['reject']))) { + } elseif ((isFormSent('lock')) && (countPostSelection() > 0) && (getConfig('url_blacklist') == 'Y')) { + // Lock URLs + foreach (postRequestParameter('sel') as $id => $url) { + // Secure id number + $id = bigintval($id); + + // Lookup in blacklist + $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_url_blacklist` WHERE `url`='%s' LIMIT 1", + array($url), __FILE__, __LINE__); + if (SQL_HASZERONUMS($result)) { + // Did not find a record so we can add it... :) + SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_url_blacklist` (`url`,`pool_id`) VALUES ('%s',%s)", + array($url, $id), __FILE__, __LINE__); + } // END - if + + // Free memory + SQL_FREERESULT($result); + } // END - foreach + + // Output message + loadTemplate('admin_settings_saved', false, getMessage('ADMIN_URLS_BLOCKED')); + } elseif ((!isFormSent('lock')) && (!isFormSent('accept')) && (!isFormSent('reject'))) { // Mail orders are in pool so we can display them - $SW = 2; $OUT = ""; - while (list($id, $sender, $subj, $pay, $time, $url, $tsend, $cat) = SQL_FETCHROW($result_main)) - { + $OUT = ''; $SW = 2; + while ($content = SQL_FETCHARRAY($result_main)) { // Prepare data for the template $content = array( - 'sw' => $SW, - 'id' => $id, - 'sender' => $sender, - 'u_link' => ADMIN_USER_PROFILE_LINK($sender), - 'subj' => COMPILE_CODE($subj), - 'tester' => FRAMETESTER($url), - 'url' => $url, - 'cat_title' => str_replace("\"", """, GET_CATEGORY($cat)), - 'cat_link' => $cat, - 'pay_title' => str_replace("\"", """, GET_PAYMENT($pay, true)), - 'pay_link' => $pay, - 'ordered' => MAKE_DATETIME($time, "2"), - 'tsend' => $tsend, + 'sw' => $SW, + 'id' => $content['id'], + 'sender' => $content['sender'], + 'u_link' => generateUserProfileLink($content['sender']), + 'subject' => $content['subject'], + 'tester' => generateFrametesterUrl($content['url']), + 'url' => $content['url'], + 'cat_title' => str_replace("\"", '"', getCategory($content['category'])), + 'cat_link' => $content['category'], + 'pay_title' => str_replace("\"", '"', getPaymentTitlePrice($content['payment'], true)), + 'pay_link' => $content['payment'], + 'timestamp' => generateDateTime($content['timestamp'], 2), + 'target_send' => $content['target_send'], ); // Load row template and switch colors - $OUT .= LOAD_TEMPLATE("admin_unlock_emails_row", true, $content); + $OUT .= loadTemplate('admin_unlock_emails_row', true, $content); $SW = 3 - $SW; - } + } // END - while // Free memory - SQL_FREERESULT($result); - define('__UNLOCK_ROWS', $OUT); + SQL_FREERESULT($result_main); - // Prepare rejection URL - $REJECT = "http://"; - if (GET_EXT_VERSION("other") >= "0.1.6") $REJECT = $_CONFIG['reject_url']; - define('__REJECT_URL', $REJECT); + // Remember in array + $content['rows'] = $OUT; // Load main template - LOAD_TEMPLATE("admin_unlock_emails"); + loadTemplate('admin_unlock_emails', false, $content); + } elseif ((isFormSent('lock')) && (getConfig('url_blacklist') != 'Y')) { + // URL blacklist not activated + loadTemplate('admin_settings_saved', false, getMessage('ADMIN_URL_BLACKLIST_DISABLED')); } else { // Wrong call! - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_WRONG_CALL); + loadTemplate('admin_settings_saved', false, getMessage('ADMIN_WRONG_CALL')); } } else { // No mail orders fond - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NO_MAILS_IN_POOL); + loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NO_MAILS_IN_POOL')); } -// +// [EOF] ?>