X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-order.php;h=ae81c826143ee0476456f42a2ae8b8dd3e791e49;hp=0577688f285f31497906f59009f8ad233552a853;hb=ba973321465edf4c1239d3b499b6de1e4be1f10c;hpb=963e55ca1ea79e255f235e359cde9f7862191dc5 diff --git a/inc/modules/member/what-order.php b/inc/modules/member/what-order.php index 0577688f28..ae81c82614 100644 --- a/inc/modules/member/what-order.php +++ b/inc/modules/member/what-order.php @@ -37,52 +37,41 @@ if (!defined('__SECURITY')) { require($INC); } elseif (!IS_MEMBER()) { LOAD_URL("modules.php?module=index"); -} elseif (!EXT_IS_ACTIVE("order")) { - ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "order"); +} elseif ((!EXT_IS_ACTIVE("order")) && (!IS_ADMIN())) { + addFatalMessage(EXTENSION_PROBLEM_EXT_INACTIVE, "order"); return; } // Add description as navigation point -ADD_DESCR("member", basename(__FILE__)); +ADD_DESCR("member", __FILE__); $URL = ""; $id = 0; -$whereStatement = " WHERE visible='Y'"; +$whereStatement = " WHERE `visible`='Y'"; // Set undefined array elements if (empty($_GET['msg'])) $_GET['msg'] = ""; if (empty($_POST['zip'])) $_POST['zip'] = ""; if (empty($_POST['html'])) $_POST['html'] = ""; if (empty($_POST['receiver'])) $_POST['receiver'] = ""; -if (is_admin()) $whereStatement = ""; - -// Add slashes to every value -foreach($_POST as $key => $value) -{ - // Skip submit buttons - if (($key != "data") && ($key != "frametester")) $_POST[$key] = addslashes($value); -} +if (IS_ADMIN()) $whereStatement = ""; // Minimum mails / order -define('__MIN_VALUE', $_CONFIG['order_min']); +define('__MIN_VALUE', getConfig('order_min')); // Count unconfirmed mails -$result_links = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_user_links WHERE userid=%s", - array($GLOBALS['userid']), __FILE__, __LINE__); -$links = SQL_NUMROWS($result_links); -SQL_FREERESULT($result_links); +$links = GET_TOTAL_DATA($GLOBALS['userid'], "user_links", "id", "userid", true); // Does the user has more than 0 mails per day set? -$HOLIDAY="userid"; -if (GET_EXT_VERSION("holiday") >= "0.1.3") -{ +$HOLIDAY = "userid"; +if (GET_EXT_VERSION("holiday") >= "0.1.3") { // Fetch also holiday activation data $HOLIDAY = "holiday_active"; -} +} // END - if $result_mmails = SQL_QUERY_ESC("SELECT userid, receive_mails, mail_orders, ".$HOLIDAY." -FROM "._MYSQL_PREFIX."_user_data +FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s AND max_mails > 0 LIMIT 1", - array($GLOBALS['userid']), __FILE__, __LINE__); + array($GLOBALS['userid']), __FILE__, __LINE__); $mmails = SQL_NUMROWS($result_mmails); list($DMY, $MAXI, $ORDERS, $HOLIDAY) = SQL_FETCHROW($result_mmails); @@ -90,185 +79,163 @@ SQL_FREERESULT($result_mmails); if ($HOLIDAY == $DMY) $HOLIDAY='N'; $ALLOWED = $MAXI - $ORDERS; -if ($_CONFIG['order_max_full'] == "MAX") $ALLOWED = $MAXI; - -// Check HTML extension -$HTML_EXT = EXT_IS_ACTIVE("html_mail"); +if (getConfig('order_max_full') == "MAX") $ALLOWED = $MAXI; // Now check his points amount -$result_p = SQL_QUERY_ESC("SELECT SUM(points) FROM "._MYSQL_PREFIX."_user_points WHERE userid=%s", - array($GLOBALS['userid']), __FILE__, __LINE__); - -$TOTAL = 0; -if (SQL_NUMROWS($result_p) > 0) -{ - // Load points - list($TOTAL) = SQL_FETCHROW($result_p); - SQL_FREERESULT($result_p); - - // And subtract his used points... - $TOTAL -= GET_TOTAL_DATA($GLOBALS['userid'], "user_data", "used_points"); +$TOTAL = GET_TOTAL_DATA($GLOBALS['userid'], "user_points", "points") - GET_TOTAL_DATA($GLOBALS['userid'], "user_data", "used_points");; - // Add (maybe) missing three zeros - if (!ereg(".", $TOTAL)) $TOTAL .= ".00000"; -} - -if (($HOLIDAY == "Y") && (GET_EXT_VERSION("holiday") >= "0.1.3")) -{ +if (($HOLIDAY == "Y") && (GET_EXT_VERSION("holiday") >= "0.1.3")) { // Holiday is active! - SQL_FREERESULT($result_p); LOAD_TEMPLATE("admin_settings_saved", false, HOLIDAY_ORDER_NOT_POSSIBLE); -} - elseif ((!empty($_POST['frametester'])) && ($ALLOWED > 0) && ($_POST['receiver'] > 0)) -{ +} elseif ((!empty($_POST['frametester'])) && ($ALLOWED > 0) && ($_POST['receiver'] > 0)) { // Continue with the frametester, we first need to store the data temporary in the pool // // First we would like to store the data and get it's pool position back... - $result = SQL_QUERY_ESC("SELECT id, data_type FROM "._MYSQL_PREFIX."_pool WHERE sender=%s AND url='%s' AND timestamp > %s LIMIT 1", - array($GLOBALS['userid'], $_POST['url'], bigintval(time() - $_CONFIG['url_tlock'])), __FILE__, __LINE__); + $result = SQL_QUERY_ESC("SELECT id, data_type +FROM `{!_MYSQL_PREFIX!}_pool` +WHERE sender=%s AND url='%s' AND timestamp > (UNIX_TIMESTAMP() - %s) LIMIT 1", + array($GLOBALS['userid'], $_POST['url'], getConfig('url_tlock')), __FILE__, __LINE__); $type = "TEMP"; $id = 0; - if (SQL_NUMROWS($result) == 1) - { + if (SQL_NUMROWS($result) == 1) { + // Load id and mail type list($id, $type) = SQL_FETCHROW($result); - SQL_FREERESULT($result); - } - if ($type == "TEMP") - { + } // END - if + + // Free result + SQL_FREERESULT($result); + + if ($type == "TEMP") { // No entry found, so we need to check out the stats table as well... :) // We have to add that suff here, now we continue WITHOUT checking and check the text and subject against some filters $URL = ""; - if ($_CONFIG['test_text'] == "Y") - { + if (getConfig('test_text') == "Y") { // Test submitted text against some filters (length, URLs in text etc.) - if ((strpos(strtolower($_POST['text']), "https://") > -1) || (strpos(strtolower($_POST['text']), "http://") > -1) || (strpos(strtolower($_POST['text']), "www") > -1)) - { + if ((strpos(strtolower($_POST['text']), "https://") > -1) || (strpos(strtolower($_POST['text']), "http://") > -1) || (strpos(strtolower($_POST['text']), "www") > -1)) { // URL found! - $URL = URL."/modules.php?module=login&what=order&msg=".CODE_URL_FOUND; - } - $TEST = str_replace("\n", "", str_replace("\r", "", addslashes($_POST['text']))); - if (strlen($TEST) > $_CONFIG['max_tlength']) - { + $URL = "modules.php?module=login&what=order&msg=".constant('CODE_URL_FOUND'); + } // END - if + + // Remove new-line and carriage-return characters + $TEST = str_replace("\n", "", str_replace("\r", "", $_POST['text'])); + + // Text length within allowed length? + if (strlen($TEST) > getConfig('max_tlength')) { // Text is too long! - $URL = URL."/modules.php?module=login&what=order&msg=".CODE_OVERLENGTH; - } - } + $URL = "modules.php?module=login&what=order&msg=".constant('CODE_OVERLENGTH'); + } // END - if + } // END - if + // Shall I test the subject line against URLs? - if ($_CONFIG['test_subj'] == "Y") - { + if (getConfig('test_subj') == "Y") { // Check the subject line for issues $_POST['subject'] = str_replace("\\", "[nl]", substr($_POST['subject'], 0, 200)); - if ((strpos(strtolower($_POST['subject']), "http://") > -1) || (strpos(strtolower($_POST['subject']), "www") > -1)) - { + if ((strpos(strtolower($_POST['subject']), "http://") > -1) || (strpos(strtolower($_POST['subject']), "www") > -1)) { // URL in subject found - $URL = URL."/modules.php?module=login&what=order&msg=".CODE_SUBJ_URL; - } - } + $URL = "modules.php?module=login&what=order&msg=".constant('CODE_SUBJ_URL'); + } // END - if + } // END - if + // And shall I check that his URL is not in the black list? - if ($_CONFIG['url_blacklist'] == "Y") - { + if (getConfig('url_blacklist') == "Y") { // Ok, I do that for you know... - $result = SQL_QUERY_ESC("SELECT timestamp FROM "._MYSQL_PREFIX."_url_blist WHERE url='%s' LIMIT 1", - array($_POST['url']), __FILE__, __LINE__); + $result = SQL_QUERY_ESC("SELECT UNIX_TIMESTAMP(`timestamp`) AS tstamp FROM `{!_MYSQL_PREFIX!}_url_blacklist` WHERE `url`='%s' LIMIT 1", + array($_POST['url']), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) - { + if (SQL_NUMROWS($result) == 1) { // Jupp, we got one listed list($blist) = SQL_FETCHROW($result); - SQL_FREERESULT($result); - $URL = URL."/modules.php?module=login&what=order&msg=".CODE_BLIST_URL."&blist=".$blist; - } - } - if (($_POST['receiver'] < $_CONFIG['order_min']) && (!IS_ADMIN())) - { + + // Create redirect-URL + $URL = "modules.php?module=login&what=order&msg=".constant('CODE_BLIST_URL')."&blist=".$blist; + } // END - if + + // Free result + SQL_FREERESULT($result); + } // END - if + + // Enougth receivers entered? + if (($_POST['receiver'] < getConfig('order_min')) && (!IS_ADMIN())) { // Less than allowed receivers entered! - $URL = URL."/modules.php?module=login&what=order&msg=".CODE_MORE_RECEIVERS3; - } + $URL = "modules.php?module=login&what=order&msg=".constant('CODE_MORE_RECEIVERS3'); + } // END - if // Validate URL - if (!VALIDATE_URL($_POST['url'])) - { + if (!VALIDATE_URL($_POST['url'])) { // URL is invalid! - $URL = URL."/modules.php?module=login&what=order&msg=".CODE_INVALID_URL; - } + $URL = "modules.php?module=login&what=order&msg=".constant('CODE_INVALID_URL'); + } // END - if // Probe for HTML extension - if ($HTML_EXT) - { - if ($_POST['html'] == "Y") - { + if (EXT_IS_ACTIVE("html_mail")) { + // HTML or regular text mail? + if ($_POST['html'] == "Y") { // Chek for valid HTML tags $_POST['text'] = HTML_CHECK_TAGS($_POST['text']); // Maybe invalid tags found? - if (empty($_POST['text'])) $URL = URL."/modules.php?module=login&what=order&msg=".CODE_INVALID_TAGS."&id=".$id; - } - else - { + if (empty($_POST['text'])) $URL = "modules.php?module=login&what=order&msg=".constant('CODE_INVALID_TAGS')."&id=".$id; + } else { // Remove any HTML code $_POST['text'] = str_replace("<", "{OPEN_HTML}", str_replace(">", "{CLOSE_HTML}", $_POST['text'])); } } - } - elseif (!IS_ADMIN()) - { + } elseif (!IS_ADMIN()) { // He has already sent a mail within a specific time - $URL = URL."/modules.php?module=login&what=order&msg=".CODE_URL_TLOCK."&id=".$id; + $URL = "modules.php?module=login&what=order&msg=".constant('CODE_URL_TLOCK')."&id=".$id; } - if (empty($URL)) - { + + // Still no error? + if (empty($URL)) { // Check if category and number of receivers is okay $ADD = ""; - if (($_CONFIG['order_multi_page'] == "Y") && (!empty($_POST['zip']))) $ADD = "AND d.zip LIKE '".bigintval($_POST['zip'])."{PER}'"; + if ((getConfig('order_multi_page') == "Y") && (!empty($_POST['zip']))) { + // Choose recipients by ZIP code + $ADD = " AND d.zip LIKE '".bigintval($_POST['zip'])."{PER}'"; + } // END - if // Check for userids - $result = SQL_QUERY_ESC("SELECT DISTINCT c.userid FROM "._MYSQL_PREFIX."_user_cats AS c -LEFT JOIN "._MYSQL_PREFIX."_user_data AS d + $result = SQL_QUERY_ESC("SELECT DISTINCT c.userid FROM `{!_MYSQL_PREFIX!}_user_cats` AS c +LEFT JOIN `{!_MYSQL_PREFIX!}_user_data` AS d ON c.userid=d.userid -WHERE c.cat_id=%s AND c.userid != '%s' AND d.status='CONFIRMED' AND d.receive_mails > 0 -".$ADD." +WHERE c.cat_id=%s AND c.userid != '%s' AND d.`status`='CONFIRMED' AND d.receive_mails > 0".$ADD." ORDER BY d.%s %s", array( bigintval($_POST['cat']), $GLOBALS['userid'], - $_CONFIG['order_select'], - $_CONFIG['order_mode'], + getConfig('order_select'), + getConfig('order_mode'), ), __FILE__, __LINE__); // Do we enougth receivers left? - if (SQL_NUMROWS($result) >= $_POST['receiver']) - { + if (SQL_NUMROWS($result) >= $_POST['receiver']) { // Check for holiday extensions $HOLIDAY = false; - if (GET_EXT_VERSION("holiday") >= "0.1.3") - { + if (GET_EXT_VERSION("holiday") >= "0.1.3") { // Include checking for users in holiday $HOLIDAY = true; - } + } // END - if // Load receivers from database $TEST = array(); $cnt = 0; - while (list($REC) = SQL_FETCHROW($result)) - { - if ($HOLIDAY) - { + while (list($REC) = SQL_FETCHROW($result)) { + if ($HOLIDAY) { // Check for his holiday status - $result_holiday = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_user_holidays + $result_holiday = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_user_holidays` WHERE userid=%s AND holiday_start < UNIX_TIMESTAMP() AND holiday_end > UNIX_TIMESTAMP() LIMIT 1", array(bigintval($REC)), __FILE__, __LINE__); if (SQL_NUMROWS($result_holiday) == 1) $REC = 0; // Exclude user who are in holiday // Free memory SQL_FREERESULT($result_holiday); - } + } // END - if - if ($REC > 0) - { + if ($REC > 0) { // Add receiver $TEST[] = $REC; $cnt++; - } - } + } // END - if + } // END - while // Free memory SQL_FREERESULT($result); @@ -280,8 +247,8 @@ WHERE userid=%s AND holiday_start < UNIX_TIMESTAMP() AND holiday_end > UNIX_TIME $MAX_SEND = count($TEST); // Update receiver list - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET receive_mails=receive_mails-1 WHERE userid IN (%s) LIMIT %s", - array(str_replace(";", ", ", $RECEIVER), $MAX_SEND), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET receive_mails=receive_mails-1 WHERE userid IN (%s) LIMIT %s", + array(str_replace(";", ", ", $RECEIVER), $MAX_SEND), __FILE__, __LINE__); // Is calculated max receivers larger than wanted receivers then reset it if ($MAX_SEND > $_POST['receiver']) $MAX_SEND = $_POST['receiver']; @@ -289,24 +256,24 @@ WHERE userid=%s AND holiday_start < UNIX_TIMESTAMP() AND holiday_end > UNIX_TIME // Calculate used points $USED = $MAX_SEND * GET_PAY_POINTS(bigintval($_POST['type'])); + // Fix empty zip code + if (empty($_POST['zip'])) $_POST['zip'] = "0"; + // Check if he has enougth points for this order and selected more than 0 receivers - if (($USED > 0) && ($USED <= $TOTAL) && ($MAX_SEND > 0)) - { + if (($USED > 0) && ($USED <= $TOTAL) && ($MAX_SEND > 0)) { // Gettings points is okay, so we can add $USED later from $TIME = time(); - if (($id == "0") || ($type != "TEMP")) - { + if (($id == "0") || ($type != "TEMP")) { // New order $id = 0; - if ($HTML_EXT) - { + if (EXT_IS_ACTIVE("html_mail")) { // HTML extension is active - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_pool (sender, subject, text, receivers, payment_id, data_type, timestamp, url, cat_id, target_send, zip, html_msg) - VALUES ('%s', '%s', '%s', '%s', '%s', 'TEMP', '%s', '%s', '%s', '%s', '%s', '%s')", + SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_pool` (sender, subject, text, receivers, payment_id, data_type, timestamp, url, cat_id, target_send, zip, html_msg) + VALUES ('%s','%s','%s','%s','%s','TEMP','%s','%s','%s','%s','%s','%s')", array( $GLOBALS['userid'], - addslashes($_POST['subject']), - addslashes($_POST['text']), + $_POST['subject'], + $_POST['text'], $RECEIVER, bigintval($_POST['type']), $TIME, @@ -316,16 +283,14 @@ array( bigintval($_POST['zip']), $_POST['html'] ), __FILE__, __LINE__); - } - else - { + } else { // No HTML extension is active - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_pool (sender, subject, text, receivers, payment_id, data_type, timestamp, url, cat_id, target_send, zip) - VALUES ('%s', '%s', '%s', '%s', '%s', 'TEMP', '%s', '%s', '%s', '%s', '%s')", + SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_pool` (sender, subject, text, receivers, payment_id, data_type, timestamp, url, cat_id, target_send, zip) + VALUES ('%s','%s','%s','%s','%s','TEMP','%s','%s','%s','%s','%s')", array( $GLOBALS['userid'], - addslashes($_POST['subject']), - addslashes($_POST['text']), + $_POST['subject'], + $_POST['text'], $RECEIVER, bigintval($_POST['type']), $TIME, @@ -335,14 +300,11 @@ array( bigintval($_POST['zip']), ), __FILE__, __LINE__); } - } - else - { + } else { // Change current order - if ($HTML_EXT) - { + if (EXT_IS_ACTIVE("html_mail")) { // HTML extension is active - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_pool SET + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_pool` SET subject='%s', text='%s', receivers='%s', @@ -366,11 +328,9 @@ array( $_POST['html'], bigintval($id) ), __FILE__, __LINE__); - } - else - { + } else { // No HTML extension is active - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_pool SET + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_pool` SET subject='%s', text='%s', receivers='%s', @@ -398,7 +358,7 @@ array( // Do we need to get the ID number? if ($id == 0) { // Order is placed as temporary. We need to get it's id for the frametester - $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_pool WHERE sender=%s AND subject='%s' AND payment_id=%s AND data_type='TEMP' AND timestamp=%s LIMIT 1", + $result = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_pool` WHERE sender=%s AND subject='%s' AND payment_id=%s AND data_type='TEMP' AND timestamp=%s LIMIT 1", array( $GLOBALS['userid'], $_POST['subject'], @@ -411,44 +371,30 @@ array( } // ID is received so we can redirect the user, used points will be added when he send's out the mail - $URL = URL."/modules.php?module=frametester&order=".$id.""; - } - elseif ($MAX_SEND == 0) - { + $URL = "modules.php?module=frametester&order=".$id.""; + } elseif ($MAX_SEND == 0) { // Not enougth receivers found which can receive mails - $URL = URL."/modules.php?module=login&what=order&msg=".CODE_MORE_RECEIVERS2; - } - else - { + $URL = "modules.php?module=login&what=order&msg=".constant('CODE_MORE_RECEIVERS2'); + } else { // No enougth points left! - $URL = URL."/modules.php?module=login&what=order&msg=".CODE_MORE_POINTS; + $URL = "modules.php?module=login&what=order&msg=".constant('CODE_MORE_POINTS'); } - } - else - { + } else { // Ordered more mails than he can send in this category - $URL = URL."/modules.php?module=login&what=order&msg=".CODE_NO_RECS_LEFT; + $URL = "modules.php?module=login&what=order&msg=".constant('CODE_NO_RECS_LEFT'); } } -} - elseif ($_POST['receiver'] == "0") -{ +} elseif ($_POST['receiver'] == "0") { // Not enougth receivers selected - $URL = URL."/modules.php?module=login&what=order&msg=".CODE_MORE_RECEIVERS1; -} - elseif (($ALLOWED == 0) && ($_CONFIG['order_max_full'] == "ORDER")) -{ + $URL = "modules.php?module=login&what=order&msg=".constant('CODE_MORE_RECEIVERS1'); +} elseif (($ALLOWED == 0) && (getConfig('order_max_full') == "ORDER")) { // No more mail orders allowed - LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_ORDER_ALLOWED_EXHAUSTED); -} - elseif (($links < $_CONFIG['unconfirmed']) && ($mmails == "1")) -{ + LOAD_TEMPLATE("admin_settings_saved", false, getMessage('MEMBER_ORDER_ALLOWED_EXHAUSTED')); +} elseif (($links < getConfig('unconfirmed')) && ($mmails == "1")) { // Display order form - $result_cats = SQL_QUERY("SELECT id, cat FROM "._MYSQL_PREFIX."_cats".$whereStatement." ORDER BY sort", __FILE__, __LINE__); - if (SQL_NUMROWS($result_cats) > 0) - { - if ($TOTAL > 0) - { + $result_cats = SQL_QUERY("SELECT id, cat FROM `{!_MYSQL_PREFIX!}_cats`".$whereStatement." ORDER BY `sort`", __FILE__, __LINE__); + if (SQL_NUMROWS($result_cats) > 0) { + if ($TOTAL > 0) { // Initialize array... $CATS = array( 'id' => array(), @@ -458,91 +404,80 @@ array( // Enable HTML checking $HTML = ""; $HOLIDAY = false; $HOL_STRING = ""; - if (($HTML_EXT) && ($_POST['html'] == "Y")) $HTML = " AND html='Y'"; - if (GET_EXT_VERSION("holiday") >= "0.1.3") - { + if ((EXT_IS_ACTIVE("html_mail")) && ($_POST['html'] == "Y")) $HTML = " AND html='Y'"; + if (GET_EXT_VERSION("holiday") >= "0.1.3") { // Extension's version is fine $HOLIDAY = true; $HOL_STRING = " AND holiday_active='N'"; - } + } // END - if // ... and begin loading stuff - while (list($id, $cat) = SQL_FETCHROW($result_cats)) - { + while (list($id, $cat) = SQL_FETCHROW($result_cats)) { $CATS['id'][] = bigintval($id); $CATS['name'][] = $cat; // Select users in current category - $result_uids = SQL_QUERY_ESC("SELECT userid FROM "._MYSQL_PREFIX."_user_cats WHERE cat_id=%s AND userid != '%s' ORDER BY userid", - array(bigintval($id), $GLOBALS['userid']), __FILE__, __LINE__); + $result_uids = SQL_QUERY_ESC("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_cats` WHERE cat_id=%s AND userid != '%s' ORDER BY userid", + array(bigintval($id), $GLOBALS['userid']), __FILE__, __LINE__); $uid_cnt = 0; - while (list($ucat) = SQL_FETCHROW($result_uids)) - { + while (list($ucat) = SQL_FETCHROW($result_uids)) { // Check for holiday system $HOL_ACTIVE = false; - if ($HOLIDAY) - { + if ($HOLIDAY) { // Check user's holiday status - $result_holiday = SQL_QUERY_ESC("SELECT DISTINCT d.userid FROM "._MYSQL_PREFIX."_user_data AS d -LEFT JOIN "._MYSQL_PREFIX."_user_holidays AS h + $result_holiday = SQL_QUERY_ESC("SELECT DISTINCT d.userid FROM `{!_MYSQL_PREFIX!}_user_data` AS d +LEFT JOIN `{!_MYSQL_PREFIX!}_user_holidays` AS h ON d.userid=h.userid -WHERE d.userid=%s AND d.receive_mails > 0 AND d.status='CONFIRMED' AND d.holiday_active='Y' +WHERE d.userid=%s AND d.receive_mails > 0 AND d.`status`='CONFIRMED' AND d.holiday_active='Y' AND h.holiday_start < UNIX_TIMESTAMP() AND h.holiday_end > UNIX_TIMESTAMP() LIMIT 1", array(bigintval($ucat)), __FILE__, __LINE__); - if (SQL_NUMROWS($result_holiday) == 1) - { + if (SQL_NUMROWS($result_holiday) == 1) { // Holiday is active! $HOL_ACTIVE = true; - } + } // END - if // Free memory SQL_FREERESULT($result_holiday); - } + } // END - if - if (!$HOL_ACTIVE) - { + if (!$HOL_ACTIVE) { // Check if the user want's to receive mails? - $result_ver = SQL_QUERY_ESC("SELECT zip FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s".$HTML." AND receive_mails > 0 AND status='CONFIRMED' LIMIT 1", - array(bigintval($ucat)), __FILE__, __LINE__); + $result_ver = SQL_QUERY_ESC("SELECT zip FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s".$HTML." AND receive_mails > 0 AND `status`='CONFIRMED' LIMIT 1", + array(bigintval($ucat)), __FILE__, __LINE__); - if ((SQL_NUMROWS($result_ver) == 1) && (!empty($_POST['zip'])) && ($_CONFIG['order_multi_page'] == "Y")) - { + if ((SQL_NUMROWS($result_ver) == 1) && (!empty($_POST['zip'])) && (getConfig('order_multi_page') == "Y")) { list($zip) = SQL_FETCHROW($result_ver); SQL_FREERESULT($result_ver); - if (substr($zip, 0, strlen($_POST['zip'])) == $_POST['zip']) - { + if (substr($zip, 0, strlen($_POST['zip'])) == $_POST['zip']) { // Ok, ZIP part is found $uid_cnt++; - } - } - else - { + } // END - if + } else { // Count numbers up! $uid_cnt += SQL_NUMROWS($result_ver); } - } - } + } // END - if + } // END - while // Free memory SQL_FREERESULT($result_uids); $CATS['uids'][] = $uid_cnt; - } + } // END - while // Free memory SQL_FREERESULT($result_cats); // Now we need to load the mail types... - $result = SQL_QUERY("SELECT id, price, payment, mail_title FROM "._MYSQL_PREFIX."_payments ORDER BY payment", __FILE__, __LINE__); + $result = SQL_QUERY("SELECT id, price, payment, mail_title FROM `{!_MYSQL_PREFIX!}_payments` ORDER BY payment", __FILE__, __LINE__); $typeS = array(); - if (SQL_NUMROWS($result) > 0) - { + if (SQL_NUMROWS($result) > 0) { // Check for message ID in URL $MSG = ""; switch ($_GET['msg']) { - case CODE_URL_TLOCK: - $result = SQL_QUERY_ESC("SELECT timestamp FROM "._MYSQL_PREFIX."_pool WHERE id=%s LIMIT 1", + case constant('CODE_URL_TLOCK'): + $result = SQL_QUERY_ESC("SELECT timestamp FROM `{!_MYSQL_PREFIX!}_pool` WHERE id=%s LIMIT 1", array(bigintval($_GET['id'])), __FILE__, __LINE__); // Load timestamp from last order @@ -553,83 +488,83 @@ LIMIT 1", array(bigintval($ucat)), __FILE__, __LINE__); SQL_FREERESULT($result); // Calculate hours... - $STD = round($_CONFIG['url_tlock'] / 60 / 60); + $STD = round(getConfig('url_tlock') / 60 / 60); // Minutes... - $MIN = round(($_CONFIG['url_tlock'] - $STD * 60 * 60) / 60); + $MIN = round((getConfig('url_tlock') - $STD * 60 * 60) / 60); // And seconds - $SEC = $_CONFIG['url_tlock'] - $STD * 60 * 60 - $MIN * 60; + $SEC = getConfig('url_tlock') - $STD * 60 * 60 - $MIN * 60; // Finally contruct the message - $MSG = MEMBER_URL_TIME_LOCK."
".CONFIG_URL_TLOCK." ".$STD." ". - _HOURS.", ".$MIN." "._MINUTES." "._AND." ".$SEC." "._SECONDS."
". - MEMBER_LAST_TLOCK.": ".$LORDER; + // @TODO Rewrite this old lost code to a template + $MSG = "{!MEMBER_URL_TIME_LOCK!}
{!CONFIG_URL_TLOCK!} ".$STD." + {!_HOURS!}, ".$MIN." {!_MINUTES!} {!_AND!} ".$SEC." {!_SECONDS!}
+ {!MEMBER_LAST_TLOCK!}: ".$LORDER; break; - case CODE_OVERLENGTH: - $MSG = MEMBER_TEXT_OVERLENGTH; + case constant('CODE_OVERLENGTH'): + $MSG = getMessage('MEMBER_TEXT_OVERLENGTH'); break; - case CODE_URL_FOUND: - $MSG = MEMBER_TEXT_CONTAINS_URL; + case constant('CODE_URL_FOUND'): + $MSG = getMessage('MEMBER_TEXT_CONTAINS_URL'); break; - case CODE_SUBJ_URL: - $MSG = MEMBER_SUBJ_CONTAINS_URL; + case constant('CODE_SUBJ_URL'): + $MSG = getMessage('MEMBER_SUBJ_CONTAINS_URL'); break; - case CODE_BLIST_URL: - $MSG = MEMBER_URL_BLACK_LISTED."
-".MEMBER_BLIST_TIME.": ".MAKE_DATETIME($_GET['blist'], "0"); + case constant('CODE_BLIST_URL'): + $MSG = "{!MEMBER_URL_BLACK_LISTED!}
\n{!MEMBER_BLIST_TIME!}: ".MAKE_DATETIME($_GET['blist'], "0"); break; - case CODE_NO_RECS_LEFT: - $MSG = MEMBER_SELECTED_MORE_RECS; + case constant('CODE_NO_RECS_LEFT'): + $MSG = getMessage('MEMBER_SELECTED_MORE_RECS'); break; - case CODE_INVALID_TAGS: - $MSG = MEMBER_HTML_INVALID_TAGS; + case constant('CODE_INVALID_TAGS'): + $MSG = getMessage('MEMBER_HTML_INVALID_TAGS'); break; - case CODE_MORE_POINTS: - $MSG = MEMBER_MORE_POINTS_NEEDED; + case constant('CODE_MORE_POINTS'): + $MSG = getMessage('MEMBER_MORE_POINTS_NEEDED'); break; - case CODE_MORE_RECEIVERS1: - $MSG = MEMBER_ENTER_MORE_RECEIVERS; + case constant('CODE_MORE_RECEIVERS1'): + $MSG = getMessage('MEMBER_ENTER_MORE_RECEIVERS'); break; - case CODE_MORE_RECEIVERS2: - $MSG = MEMBER_NO_MORE_RECEIVERS_FOUND; + case constant('CODE_MORE_RECEIVERS2'): + $MSG = getMessage('MEMBER_NO_MORE_RECEIVERS_FOUND'); break; - case CODE_MORE_RECEIVERS3: - $MSG = MEMBER_ENTER_MORE_MIN_RECEIVERS_1.$_CONFIG['order_min'].MEMBER_ENTER_MORE_MIN_RECEIVERS_2; + case constant('CODE_MORE_RECEIVERS3'): + $MSG = "{!MEMBER_ENTER_MORE_MIN_RECEIVERS_1!}".getConfig('order_min')."{!MEMBER_ENTER_MORE_MIN_RECEIVERS_2!}"; break; - case CODE_INVALID_URL: - $MSG = MEMBER_ENTER_INVALID_URL; + case constant('CODE_INVALID_URL'): + $MSG = getMessage('MEMBER_ENTER_INVALID_URL'); break; case "": // When no error code is included in the URL we do not need to output an error message as well... break; default: - $MSG = UNKNOWN_CODE_1.$_GET['msg'].UNKNOWN_CODE_2; + DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown error code %s detected.", $_GET['msg'])); + $MSG = "{!UNKNOWN_CODE_1!}".$_GET['msg']."{!UNKNOWN_CODE_2!}"; break; } - if (!empty($MSG)) - { + + if (!empty($MSG)) { // We got system message so we drop it out to the user LOAD_TEMPLATE("admin_settings_saved", false, $MSG); - } + } // END - if // Load all email types... - while ($typeS[] = SQL_FETCHROW($result)) - { + while ($typeS[] = SQL_FETCHROW($result)) { // Nothing to do here... ;-) - } + } // END - while // Free memory SQL_FREERESULT($result); @@ -638,15 +573,20 @@ LIMIT 1", array(bigintval($ucat)), __FILE__, __LINE__); $TOTAL = TRANSLATE_COMMA($TOTAL); // Check how many mail orders he has placed today and how many he's allowed to send - switch ($_CONFIG['order_max_full']) + switch (getConfig('order_max_full')) { case "MAX": // He is allowed to send as much as possible - define('ORDER_MAX_VALUE', ORDER_ALLOED_MAX); + define('ORDER_MAX_VALUE', getMessage('ORDER_ALLOWED_MAX')); break; case "ORDER": // He is allowed to send as much as he setup the receiving value define('ORDER_MAX_VALUE', ORDER_ALLOWED_RECEIVE_1.$ALLOWED.ORDER_ALLOWED_RECEIVE_2.$MAXI.ORDER_ALLOWED_RECEIVE_3); break; + + default: // Unknown/invalid + DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown order_mas_full config detected.", getConfig('order_max_full'))); + define('ORDER_MAX_VALUE', getMessage('ORDER_ALLOWED_UNKNOWN')); + break; } // Load final template @@ -656,51 +596,47 @@ LIMIT 1", array(bigintval($ucat)), __FILE__, __LINE__); $OLD_ORDER = false; $subject = ""; $text = ""; $target = ""; // Check if we already have an order placed and make it editable - $result = SQL_QUERY_ESC("SELECT subject, text, payment_id, timestamp, url, target_send, cat_id, zip FROM "._MYSQL_PREFIX."_pool WHERE sender=%s AND data_type='TEMP' LIMIT 1", + $result = SQL_QUERY_ESC("SELECT subject, text, payment_id, timestamp, url, target_send, cat_id, zip FROM `{!_MYSQL_PREFIX!}_pool` WHERE sender=%s AND data_type='TEMP' LIMIT 1", array($GLOBALS['userid']), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) - { + if (SQL_NUMROWS($result) == 1) { // Old order found list($subject, $text, $payment, $tstamp, $url, $target, $cat, $zip) = SQL_FETCHROW($result); - SQL_FREERESULT($result); // Fix max receivers when it is too much - if ($target > $CATS['uids'][$cat]) $target = $CATS['uids'][$cat]; + if ((isset($CATS['uids'][$cat])) && ($target > $CATS['uids'][$cat])) $target = $CATS['uids'][$cat]; // Old order is grabbed $OLD_ORDER = true; - } - else - { + } else { // Default output for that your members don't forget it... $url = "http://"; } - // 01 2 21 12 2 23 443 3 3210 - if ((!empty($_POST['data'])) || (($_CONFIG['order_multi_page'] == "N") && ((!IS_ADMIN()) && (!$HTML_EXT)))) - { + // Free result + SQL_FREERESULT($result); + + // 01 2 21 12 2 23 443 3 3210 + if ((!empty($_POST['data'])) || ((getConfig('order_multi_page') == "N") && ((!IS_ADMIN()) && (!EXT_IS_ACTIVE("html_mail"))))) { // Pre-output categories $CAT = ""; - foreach ($CATS['id'] as $key => $value) - { - $CAT .= " \n"; + } // END - foreach + // Mail type $type = ""; - foreach ($typeS as $key => $value) - { + foreach ($typeS as $key => $value) { $P = TRANSLATE_COMMA($typeS[$key][1]); - if (is_array($value)) - { + if (is_array($value)) { // Output option line - $type .= " \n"; + } // END - if + } // END - foreach // Put all in constants for the template define('CATEGORY_SELECTION', $CAT); @@ -710,57 +646,52 @@ LIMIT 1", array(bigintval($ucat)), __FILE__, __LINE__); define('TEXT', COMPILE_CODE($text)); define('T_URL', $url); - if (!empty($_POST['zip'])) - { + if (!empty($_POST['zip'])) { // Output entered ZIP code define('ZIP_OUTPUT', LOAD_TEMPLATE("member_order-zip2", true, $_POST['zip'])); + } else { + define('ZIP_OUTPUT', " "); } - else - { - define('ZIP_OUTPUT', " "); - } + // HTML extension - if (($HTML_EXT) && ($_POST['html'] == "Y")) - { + if ((EXT_IS_ACTIVE("html_mail")) && ($_POST['html'] == "Y")) { // Extension is active so output valid HTML tags define('MEMBER_HTML_EXTENSION', LOAD_TEMPLATE("member_order-html_ext", true, HTML_ADD_VALID_TAGS())); - } - else - { + } else { // Extension not active and/or class not uploaded - define('MEMBER_HTML_EXTENSION', ""); + define('MEMBER_HTML_EXTENSION', " /"); } // Output form for page 2 LOAD_TEMPLATE("member_order_page2"); - } - else - { + } else { // Remember maybe entered ZIP code in constant $ADD = ""; - if ($HTML_EXT) - { + if (EXT_IS_ACTIVE("html_mail")) { // Add some content when html extension is active - if (($_CONFIG['order_multi_page'] == "Y") || (IS_ADMIN())) $ADD = " \n"; + if ((getConfig('order_multi_page') == "Y") || (IS_ADMIN())) $ADD = " \n"; define('MEMBER_HTML_EXTENSION', LOAD_TEMPLATE("member_order-html_intro", true)); - } - else - { + } else { // No HTML extension installed - define('MEMBER_HTML_EXTENSION', ""); + define('MEMBER_HTML_EXTENSION', ""); } + // Do we want ZIP code or not? - if (($_CONFIG['order_multi_page'] == "Y") || (IS_ADMIN())) - { + if ((getConfig('order_multi_page') == "Y") || (IS_ADMIN())) { // Yes - $content = array( - 'zip' => $_POST['zip'], - 'add' => $ADD - ); + if ($_POST['zip'] > 0) { + $content = array( + 'zip' => bigintval($_POST['zip']), + 'add' => $ADD + ); + } else { + $content = array( + 'zip' => "", + 'add' => $ADD + ); + } define('MEMBER_ZIP_CONTENT', LOAD_TEMPLATE("member_order-zip1", true, $content)); - } - else - { + } else { // No define('MEMBER_ZIP_CONTENT', ""); } @@ -768,41 +699,30 @@ LIMIT 1", array(bigintval($ucat)), __FILE__, __LINE__); // Output form for page 1 (ZIP code or HTML) LOAD_TEMPLATE("member_order_page1"); } - } - else - { + } else { // No mail types defined - OUTPUT_HTML("".MEMBER_NO_PAYMENTS.""); + LOAD_TEMPLATE("admin_settings_saved", false, "{!MEMBER_NO_PAYMENTS!}"); } - } - else - { + } else { // No points left! - OUTPUT_HTML("".MEMBER_NO_POINTS.""); + LOAD_TEMPLATE("admin_settings_saved", false, "{!MEMBER_NO_POINTS!}"); } - } - else - { + } else { // No cateogries are defined yet - OUTPUT_HTML("".MEMBER_NO_CATS.""); + LOAD_TEMPLATE("admin_settings_saved", false, "{!MEMBER_NO_CATS!}"); } -} - elseif ($mmails == "0") -{ +} elseif ($mmails == "0") { // Please set more than 0 mails per day! - LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_HAS_ZERO_MMAILS); -} - else -{ + LOAD_TEMPLATE("admin_settings_saved", false, getMessage('MEMBER_HAS_ZERO_MMAILS')); +} else { // Please confirm some mails first! - LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_LINKS_LEFT_1.$links.MEMBER_LINKS_LEFT_2.$_CONFIG['unconfirmed'].MEMBER_LINKS_LEFT_3); + LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_LINKS_LEFT_1.$links.MEMBER_LINKS_LEFT_2.getConfig('unconfirmed').MEMBER_LINKS_LEFT_3); } -if (!empty($URL)) -{ +if (!empty($URL)) { // Redirect to requested URL LOAD_URL($URL); -} +} // END - if // ?>