X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-unlock_emails.php;h=7ca464c8892a95bcf1077b9b975fb7b2a1c25fec;hp=badd8c36e455c850bf07c19e1661cf2425f03b73;hb=e2148142f8b1a8f40fd6e7ca32185569c5a9083e;hpb=e1653405d28923c78b2e292125306ccf61138f24 diff --git a/inc/modules/admin/what-unlock_emails.php b/inc/modules/admin/what-unlock_emails.php index badd8c36e4..7ca464c889 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']); - } - } - 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) || (isPostRequestElementSet('lock'))) { + if (isPostRequestElementSet('accept')) { + if (countPostSelection() > 0) { // Accept mail orders - foreach ($_POST['sel'] as $id=>$value) - { - // Secure ID number + foreach (postRequestElement('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=%d AND data_type='ADMIN' LIMIT 1", - array($id), __FILE__, __LINE__); - if (SQL_AFFECTEDROWS($link, __FILE__, __LINE__) == 1) - { - // Order placed in queue... - $result = SQL_QUERY_ESC("SELECT url, subject, sender FROM "._MYSQL_PREFIX."_pool WHERE id=%d LIMIT 1", - array($id), __FILE__, __LINE__); - $DATA = SQL_FETCHROW($result); + // 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__); + + // Update wents fine? + if (SQL_NUMROWS($result) == 1) { + // Load data + $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 ((getExtensionVersion('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=%d LIMIT 1", - array(bigintval($DATA[2])), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `bonus_order`=`bonus_order`+".getConfig('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[2]); + $message_user = loadEmailTemplate('order-accept', $content, $content['sender']); // Send email - SEND_EMAIL($DATA[2], 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; - } - else - { + $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 (isPostRequestElementSet(('reject'))) { + if (countPostSelection() > 0) { // Reject mail orders - $SW = 2; $OUT = ""; - foreach ($_POST['sel'] as $id=>$value) - { - // Secure ID number + $OUT = ''; $SW = 2; + foreach (postRequestElement('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=%d LIMIT 1", - array($id), __FILE__, __LINE__); - $DATA = SQL_FETCHROW($result); + $result = SQL_QUERY_ESC("SELECT `url`, `subject`, `sender` FROM `{?_MYSQL_PREFIX?}_pool` WHERE `id`=%s LIMIT 1", + array($id), __FILE__, __LINE__); + + // Load data + $content = SQL_FETCHARRAY($result); + + // Free result SQL_FREERESULT($result); // Load email template and send it away - $msg_user = LOAD_EMAIL_TEMPLATE("order-reject", "", $DATA[2]); - SEND_EMAIL($DATA[2], 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 ((!isPostRequestElementSet(('redirect'))) || (postRequestElement('redirect') == 'http://')) setRequestPostElement('redirect', getConfig('URL')); // Redirect URL - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_pool SET url='%s', data_type='NEW' WHERE id=%d 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(postRequestElement('redirect'), $id),__FILE__, __LINE__); // Prepare data for the row template $content = array( 'sw' => $SW, 'id' => $id, - 'url' => $_POST['url'][$id], + 'url' => postRequestElement('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"); - } - else - { + 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) - { - $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 ((isPostRequestElementSet('lock')) && (countPostSelection() > 0) && (getConfig('url_blacklist') == 'Y')) { + // Lock URLs + foreach (postRequestElement('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_NUMROWS($result) == '0') { + // 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 ((!isPostRequestElementSet('lock')) && (!isPostRequestElementSet('accept')) && (!isPostRequestElementSet(('reject'))) && (getConfig('url_blacklist') == 'Y')) { // 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"); - } - else - { + loadTemplate('admin_unlock_emails', false, $content); + } elseif ((isPostRequestElementSet('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 -{ +} 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')); } -CLOSE_TABLE(); -// +// [EOF] ?>