X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-unlock_emails.php;h=0cf0c8583fe4111124e33cf9895093f05c6c4849;hp=89da1f3e73feb4c4dd2645a6d22a0f83e0cb425c;hb=2df9f7a53f8b1dd5164f87824a324ccb3b6634cb;hpb=2da53ff496ae7ea2043c2b03323b5d6852eb0bea diff --git a/inc/modules/admin/what-unlock_emails.php b/inc/modules/admin/what-unlock_emails.php index 89da1f3e73..0cf0c8583f 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`, + `timestamp`, + `url`, + `target_send`, + `cat_id` +FROM + `{?_MYSQL_PREFIX?}_pool` +WHERE + `data_type`='ADMIN' +ORDER BY + `timestamp` ASC", __FILE__, __LINE__); + +if ((!SQL_HASZERONUMS($result_main)) || (isFormSent('lock'))) { + if (isFormSent('accept')) { + if (ifPostContainsSelections()) { // 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=%s AND data_type='ADMIN' LIMIT 1", - array($id), __FILE__, __LINE__); + // 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_AFFECTEDROWS($link, __FILE__, __LINE__) == 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 -LIMIT 1", - array($id), __FILE__, __LINE__); - + 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 + doSurfbarAdminMigrateUrl($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')) && (isBonusRallyeActive())) { // 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']); - } - - // Check for surfbar extension - $msg_user = "MISSING"; - if (EXT_IS_ACTIVE("surfbar")) { - // Add the url - $insertId = SURFBAR_ADMIN_ADD_URL($DATA['url'], $DATA['sender'], $DATA['payment'], $DATA['payment_id']); - - // Load email template - $msg_user = LOAD_EMAIL_TEMPLATE("order_accept_sb", $insertId, $DATA['sender']); - } else { - // Load email template - $msg_user = LOAD_EMAIL_TEMPLATE("order-accept", "", $DATA['sender']); - } + handleBonusPoints(getConfig('bonus_order'), $content['sender']); + } // END - if + + // Load email template + $message_user = loadEmailTemplate('member_order_accepted', $content, $content['sender']); // Send email - SEND_EMAIL($DATA['sender'], MEMBER_ORDER_ACCEPTED, $msg_user); - } - } + sendEmail($content['sender'], '{--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 + + // Free result + SQL_FREERESULT($result); + } // END - foreach // Set message - $MSG = ADMIN_MAILS_ACTIVATED; + $message = '{--ADMIN_MAILS_ACTIVATED--}'; } else { // Nothing checked! - $MSG = ADMIN_MAILS_NOTHING_CHECKED; + $message = '{--ADMIN_MAILS_NOTHING_CHECKED--}'; } // Mails unlocked for mail delivery - LOAD_TEMPLATE("admin_settings_saved", false, $MSG); - } elseif (isset($_POST['reject'])) { - if ($SEL > 0) { + displayMessage($message); + } elseif (isPostRequestElementSet('reject')) { + if (ifPostContainsSelections()) { // Reject mail orders - $SW = 2; $OUT = ""; - foreach ($_POST['sel'] as $id=>$value) { - // Secure ID number + $OUT = ''; + 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=%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('member_order_rejected', $content, $content['sender']); + sendEmail($content['sender'], '{--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://')) { + setPostRequestElement('redirect', getUrl()); + } // END - if // 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(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); - $SW = 3 - $SW; - } - define('__URL_ROWS', $OUT); + $OUT .= loadTemplate('admin_unlock_emails_redir_row', true, $content); + } // END - foreach // 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); + displayMessage('{--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')) && (ifPostContainsSelections()) && (isUrlBlacklistEnabled())) { + // 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_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 + displayMessage('{--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 = ''; + 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, - ); + $content['timestamp'] = generateDateTime($content['timestamp'], 2); // Load row template and switch colors - $OUT .= LOAD_TEMPLATE("admin_unlock_emails_row", true, $content); - $SW = 3 - $SW; - } + $OUT .= loadTemplate('admin_unlock_emails_row', true, $content); + } // 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')) && (!isUrlBlacklistEnabled())) { + // URL blacklist not activated + displayMessage('{--ADMIN_URL_BLACKLIST_DISABLED--}'); } else { // Wrong call! - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_WRONG_CALL); + displayMessage('{--ADMIN_WRONG_CALL--}'); } } else { // No mail orders fond - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NO_MAILS_IN_POOL); + displayMessage('{--ADMIN_NO_MAILS_IN_POOL--}'); } -CLOSE_TABLE(); -// +// [EOF] ?>