X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-order.php;h=38c953be9906c1a25073a9a6caba076e9279b7e1;hp=8914ad5202f5f25d3ccdba8785d88a8507a966ac;hb=00790481119eefa7a54a8dda1cb191fdf4f29226;hpb=2df9f7a53f8b1dd5164f87824a324ccb3b6634cb diff --git a/inc/modules/member/what-order.php b/inc/modules/member/what-order.php index 8914ad5202..38c953be99 100644 --- a/inc/modules/member/what-order.php +++ b/inc/modules/member/what-order.php @@ -48,21 +48,28 @@ if ((!isExtensionActive('order')) && (!isAdmin())) { return; } // END - if -$url = ''; $id = '0'; +// Init data +$data = array( + 'id' => '0', + 'data_type' => 'TEMP', + 'url' => '', +); $ALLOWED = getUserData('receive_mails') - getUserData('mail_orders'); -if (getConfig('order_max_full') == 'MAX') $ALLOWED = getUserData('receive_mails'); +if (getOrderMaxFull() == 'MAX') $ALLOWED = getUserData('receive_mails'); // Now check his points amount $totalPoints = getTotalPoints(getMemberId()); -if ((isExtensionInstalledAndNewer('holiday', '0.1.3')) && (isUserDataEnabled('holiday_active'))) { +// Admin can always book +if ((isExtensionInstalledAndNewer('holiday', '0.1.3')) && (isUserDataEnabled('holiday_active')) && (!isAdmin())) { // Holiday is active! displayMessage('{--MEMBER_HOLIDAY_ORDER_NOT_POSSIBLE--}'); } elseif ((isPostRequestElementSet('frametester')) && ($ALLOWED > 0) && (postRequestElement('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... + // @TODO Try to move out url_tlock to a filter for extra SQL statements $result = SQL_QUERY_ESC("SELECT `id`, `data_type` @@ -78,34 +85,32 @@ LIMIT 1", postRequestElement('url') ), __FILE__, __LINE__); - $type = 'TEMP'; $id = '0'; if (SQL_NUMROWS($result) == 1) { // Load id and mail type - // @TODO Rewrite this to SQL_FETCHARRAY() - list($id, $type) = SQL_FETCHROW($result); + $data = SQL_FETCHARRAY($result); } // END - if // Free result SQL_FREERESULT($result); - if ($type == 'TEMP') { + if ($data['data_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 = ''; + $data['url'] = ''; if (getConfig('allow_url_in_text') == 'Y') { // Test submitted text against some filters (length, URLs in text etc.) if ((isInStringIgnoreCase('https://', postRequestElement('text'))) || (isInStringIgnoreCase('http://', postRequestElement('text'))) || (isInStringIgnoreCase('www', postRequestElement('text')))) { // URL found - $url = 'modules.php?module=login&what=order&code=' . getCode('URL_FOUND'); + $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('URL_FOUND'); } // END - if // Remove new-line and carriage-return characters - $TEST = str_replace(array(chr(10), chr(13)), array('', ''), postRequestElement('text')); + $TEST = str_replace(array(PHP_EOL, chr(13)), array('', ''), postRequestElement('text')); // Text length within allowed length? - if (strlen($TEST) > getConfig('max_tlength')) { + if (strlen($TEST) > getMaxTextLength()) { // Text is too long! - $url = 'modules.php?module=login&what=order&code=' . getCode('OVERLENGTH'); + $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('OVERLENGTH'); } // END - if } // END - if @@ -115,26 +120,26 @@ LIMIT 1", setPostRequestElement('subject', str_replace(chr(92), '[nl]', substr(postRequestElement('subject'), 0, 200))); if ((isInStringIgnoreCase('https://', postRequestElement('subject'))) || (isInStringIgnoreCase('http://', postRequestElement('subject'))) || (isInStringIgnoreCase('www', postRequestElement('subject')))) { // URL in subject found - $url = 'modules.php?module=login&what=order&code=' . getCode('SUBJECT_URL'); + $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('SUBJECT_URL'); } // END - if } // END - if // And shall I check that his URL is not in the black list? - if (isUrlBlacklisted(postRequestElement('url'))) { + if ((isExtensionActive('blacklist')) && (isUrlBlacklisted(postRequestElement('url')))) { // Create redirect-URL - $url = 'modules.php?module=login&what=order&code=' . getCode('BLIST_URL') . '&blist=' . $GLOBALS['blacklist_data'][postRequestElement('url')]['timestamp']; + $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('BLIST_URL') . '&blist=' . $GLOBALS['blacklist_data'][postRequestElement('url')]['timestamp']; } // END - if // Enougth receivers entered? if ((postRequestElement('receiver') < getConfig('order_min')) && (!isAdmin())) { // Less than allowed receivers entered! - $url = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS3'); + $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS3'); } // END - if // Validate URL if (!isUrlValid(postRequestElement('url'))) { // URL is invalid! - $url = 'modules.php?module=login&what=order&code=' . getCode('INVALID_URL'); + $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('INVALID_URL'); } // END - if // Probe for HTML extension @@ -145,7 +150,7 @@ LIMIT 1", setPostRequestElement('text', checkHtmlTags(postRequestElement('text'))); // Maybe invalid tags found? - if (!isPostRequestElementSet('text')) $url = 'modules.php?module=login&what=order&code=' . getCode('INVALID_TAGS')."&id=".$id; + if (!isPostRequestElementSet('text')) $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('INVALID_TAGS') . '&id=' . $data['id']; } else { // Remove any HTML code setPostRequestElement('text', str_replace(array('<', '>'), array('{OPEN_HTML}', '{CLOSE_HTML}'), postRequestElement('text'))); @@ -155,32 +160,32 @@ LIMIT 1", // Is mail type set? if ((!isPostRequestElementSet('mail_type')) || (postRequestElement('mail_type') < 1)) { // Not correctly set - $url = 'modules.php?module=login&what=order&code=' . getCode('NO_MAIL_TYPE'); + $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('NO_MAIL_TYPE'); } // END - if } elseif (!isAdmin()) { // He has already sent a mail within a specific time - $url = 'modules.php?module=login&what=order&code=' . getCode('URL_TIME_LOCK') . '&id=' . $id; + $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('URL_TIME_LOCK') . '&id=' . $data['id']; } // Still no error? - if (empty($url)) { + if (empty($data['url'])) { // Check for userids $result = SQL_QUERY_ESC("SELECT - c.`userid` + `c`.`userid` FROM - `{?_MYSQL_PREFIX?}_user_cats` AS c + `{?_MYSQL_PREFIX?}_user_cats` AS `c` INNER JOIN - `{?_MYSQL_PREFIX?}_user_data` AS d + `{?_MYSQL_PREFIX?}_user_data` AS `d` ON - c.`userid`=d.`userid` + `c`.`userid`=`d`.`userid` WHERE - c.`cat_id`=%s AND - c.`userid` != %s AND - d.`status`='CONFIRMED' + `c`.`cat_id`=%s AND + `c`.`userid` != %s AND + `d`.`status`='CONFIRMED' " . runFilterChain('user_exclusion_sql', ' ') . " AND - d.`receive_mails` > 0 + `d`.`receive_mails` > 0 ORDER BY - d.`{?order_select?}` {?order_mode?}", + `d`.`{?order_select?}` {?order_mode?}", array( bigintval(postRequestElement('cat')), getMemberId() @@ -212,7 +217,7 @@ LIMIT 1", SQL_FREERESULT($result_holiday); } // END - if - if ($holidayContent['userid'] > 0) { + if (isValidId($holidayContent['userid'])) { // Add receiver array_push($TEST, $holidayContent['userid']); $count++; @@ -241,7 +246,7 @@ LIMIT 1", } // END - if // Calculate used points - $usedPoints = $content['target_send'] * getPaymentData(bigintval(postRequestElement('mail_type'))); + $usedPoints = $content['target_send'] * getPaymentPrice(bigintval(postRequestElement('mail_type'))); // Fix empty zip code if (!isPostRequestElementSet('zip')) { @@ -251,9 +256,9 @@ LIMIT 1", // Check if he has enougth points for this order and selected more than 0 receivers if (($usedPoints > 0) && ($usedPoints <= $totalPoints) && ($content['target_send'] > 0)) { // Gettings points is okay, so we can add $usedPoints later from - if (($id == '0') || ($type != 'TEMP')) { + if ((!isValidId($data['id'])) || ($data['data_type'] != 'TEMP')) { // New order - $id = '0'; + $data['id'] = '0'; if (isExtensionActive('html_mail')) { // HTML extension is active SQL_QUERY_ESC("INSERT INTO @@ -294,7 +299,7 @@ LIMIT 1", postRequestElement('url'), bigintval(postRequestElement('cat')), bigintval($content['target_send']), - bigintval(postRequestElement('zip'), true, false), + bigintval(postRequestElement('zip'), TRUE, FALSE), postRequestElement('html') ), __FILE__, __LINE__); } else { @@ -335,12 +340,12 @@ LIMIT 1", postRequestElement('url'), bigintval(postRequestElement('cat')), bigintval($content['target_send']), - bigintval(postRequestElement('zip'), true, false), + bigintval(postRequestElement('zip'), TRUE, FALSE), ), __FILE__, __LINE__); } // Get insert id - $id = SQL_INSERTID(); + $data['id'] = SQL_INSERTID(); } else { // Change current order if (isExtensionActive('html_mail')) { @@ -371,7 +376,7 @@ LIMIT 1", $content['target_send'], bigintval(postRequestElement('zip')), postRequestElement('html'), - bigintval($id) + bigintval($data['id']) ), __FILE__, __LINE__); } else { // No HTML extension is active @@ -399,35 +404,35 @@ LIMIT 1", bigintval(postRequestElement('cat')), $content['target_send'], bigintval(postRequestElement('zip')), - bigintval($id) + bigintval($data['id']) ), __FILE__, __LINE__); } } // Make sure only valid id numbers can pass - assert((!is_bool($id)) && ($id > 0)); + assert(isValidId($data['id'])); // Id is received so we can redirect the user, used points will be added when he send's out the mail - $url = 'modules.php?module=frametester&order=' . $id; + $data['url'] = 'modules.php?module=frametester&order=' . $data['id']; } elseif ($content['target_send'] == '0') { // Not enougth receivers found which can receive mails - $url = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS2'); + $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS2'); } else { // No enougth points left! - $url = 'modules.php?module=login&what=order&code=' . getCode('MORE_POINTS'); + $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('MORE_POINTS'); } } else { // Ordered more mails than he can send in this category - $url = 'modules.php?module=login&what=order&code=' . getCode('NO_RECS_LEFT'); + $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('NO_RECS_LEFT'); } } // END - if } elseif (postRequestElement('receiver') == '0') { // Not enougth receivers selected - $url = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS1'); -} elseif (($ALLOWED == '0') && (getConfig('order_max_full') == 'ORDER')) { + $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS1'); +} elseif (($ALLOWED == '0') && (getOrderMaxFull() == 'ORDER')) { // No more mail orders allowed displayMessage('{--MEMBER_ORDER_ALLOWED_EXHAUSTED--}'); -} elseif (getTotalUnconfirmedMails(getMemberId()) < getConfig('unconfirmed')) { +} elseif (getTotalUnconfirmedMails(getMemberId()) < getConfig('max_unconfirmed')) { // Show only enabled categories to the user ... $whereStatement = " WHERE `visible`='Y'"; @@ -435,14 +440,14 @@ LIMIT 1", if (isAdmin()) $whereStatement = ''; // Display order form - $result_cats = SQL_QUERY("SELECT + $result_cats = SQL_QUERY('SELECT `id`, `cat` FROM `{?_MYSQL_PREFIX?}_cats` -".$whereStatement." +' . $whereStatement . ' ORDER BY - `sort` ASC", __FILE__, __LINE__); + `sort` ASC', __FILE__, __LINE__); // Some categories found? if (!SQL_HASZERONUMS($result_cats)) { @@ -472,30 +477,30 @@ ORDER BY array_push($categories['name'], $categoriesContent['cat']); // Select users in current category - $result_userids = SQL_QUERY_ESC("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `cat_id`=%s AND `userid` != '%s' ORDER BY `userid` ASC", + $result_userids = SQL_QUERY_ESC('SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `cat_id`=%s AND `userid` != %s ORDER BY `userid` ASC', array(bigintval($categoriesContent['id']), getMemberId()), __FILE__, __LINE__); $userid_cnt = '0'; while (list($userid) = SQL_FETCHROW($result_userids)) { // Check for holiday system - $isHolidayActive = false; + $isHolidayActive = FALSE; if (isExtensionInstalledAndNewer('holiday', '0.1.3')) { // Check user's holiday status $result_holiday = SQL_QUERY_ESC("SELECT - COUNT(d.`userid`) AS `cnt` + COUNT(`d`.`userid`) AS `cnt` FROM - `{?_MYSQL_PREFIX?}_user_data` AS d + `{?_MYSQL_PREFIX?}_user_data` AS `d` LEFT JOIN - `{?_MYSQL_PREFIX?}_user_holidays` AS h + `{?_MYSQL_PREFIX?}_user_holidays` AS `h` ON - d.`userid`=h.`userid` + `d`.`userid`=`h`.`userid` 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() + `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($userid)), __FILE__, __LINE__); @@ -509,9 +514,9 @@ LIMIT 1", $isHolidayActive = ($count == 1); } // END - if - if ($isHolidayActive === false) { + if ($isHolidayActive === FALSE) { // 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", + $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($userid)), __FILE__, __LINE__); if ((SQL_NUMROWS($result_ver) == 1) && (isPostRequestElementSet('zip')) && (isOrderMultiPageEnabled())) { @@ -540,9 +545,9 @@ LIMIT 1", 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` ASC", __FILE__, __LINE__); + $result = SQL_QUERY("SELECT `id`, `price`, `payment`, `mail_title` FROM `{?_MYSQL_PREFIX?}_payments` WHERE `price` > 0 AND `payment` > 0 ORDER BY `payment` ASC", __FILE__, __LINE__); - $types = array(); + $payments = array(); if (!SQL_HASZERONUMS($result)) { // Is the error code set? if (isGetRequestElementSet('code')) { @@ -551,8 +556,8 @@ LIMIT 1", } // END - if // Load all email types... - while ($type = SQL_FETCHARRAY($result)) { - array_push($types, $type); + while ($payment = SQL_FETCHARRAY($result)) { + array_push($payments, $payment); } // END - while // Free memory @@ -562,7 +567,7 @@ LIMIT 1", $content['total_points'] = $totalPoints; // Check how many mail orders he has placed today and how many he's allowed to send - switch (getConfig('order_max_full')) { + switch (getOrderMaxFull()) { case 'MAX': // He is allowed to send as much as possible $content['order_max_full'] = '{--MEMBER_ORDER_ALLOWED_MAX--}'; break; @@ -572,16 +577,16 @@ LIMIT 1", break; default: // Unknown/invalid - logDebugMessage(__FILE__, __LINE__, sprintf("Unknown order_mas_full config detected.", getConfig('order_max_full'))); + logDebugMessage(__FILE__, __LINE__, sprintf("Unknown order_mas_full config detected.", getOrderMaxFull())); $content['order_max_full'] = '{--MEMBER_ORDER_ALLOWED_UNKNOWN--}'; break; } // END - switch // Load final template - loadTemplate('member_order_points', false, $content); + loadTemplate('member_order_points', FALSE, $content); // Reset variables - $OLD_ORDER = false; + $OLD_ORDER = FALSE; $subject = ''; $text = ''; $target = ''; @@ -615,7 +620,7 @@ LIMIT 1", } // END - if // Old order is grabbed - $OLD_ORDER = true; + $OLD_ORDER = TRUE; } else { // Default output for that your members don't forget it... $content['url'] = 'http://'; @@ -632,13 +637,13 @@ LIMIT 1", $content['category_selection'] = generateCategoryOptionsList(((isExtensionActive('html_mail')) && (isPostRequestElementSet('html'))) ? postRequestElement('html') : 'N', getMemberId()); // Mail type - $content['type_selection'] = ''; - foreach ($types as $key => $value) { + $content['payment_selection'] = ''; + foreach ($payments as $key => $value) { if (is_array($value)) { // Output option line - $content['type_selection'] .= '