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');
// 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)) {
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')) {
// 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
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
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')));
// 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()
SQL_FREERESULT($result_holiday);
} // END - if
- if ($holidayContent['userid'] > 0) {
+ if (isValidId($holidayContent['userid'])) {
// Add receiver
array_push($TEST, $holidayContent['userid']);
$count++;
} // 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')) {
// 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
postRequestElement('url'),
bigintval(postRequestElement('cat')),
bigintval($content['target_send']),
- bigintval(postRequestElement('zip'), true, false),
+ bigintval(postRequestElement('zip'), TRUE, FALSE),
postRequestElement('html')
), __FILE__, __LINE__);
} else {
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')) {
$content['target_send'],
bigintval(postRequestElement('zip')),
postRequestElement('html'),
- bigintval($id)
+ bigintval($data['id'])
), __FILE__, __LINE__);
} else {
// No HTML extension is active
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');
+ $data['url'] = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS1');
} elseif (($ALLOWED == '0') && (getConfig('order_max_full') == 'ORDER')) {
// No more mail orders allowed
displayMessage('{--MEMBER_ORDER_ALLOWED_EXHAUSTED--}');
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)) {
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__);
$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())) {
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` ORDER BY `payment` ASC", __FILE__, __LINE__);
- $types = array();
+ $payments = array();
if (!SQL_HASZERONUMS($result)) {
// Is the error code set?
if (isGetRequestElementSet('code')) {
} // 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
} // 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 = '';
} // 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://';
$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'] .= ' <option value="' . $types[$key]['id'] . '"';
- if (($OLD_ORDER) && ($content['payment_id'] == $types[$key]['id'])) $content['type_selection'] .= ' selected="selected"';
- $content['type_selection'] .= '>{%pipe,translateComma=' . $types[$key]['price'] . '%} {--PER_MAIL--} - ' . $types[$key]['mail_title'] . ' - ' . round($types[$key]['payment']) . ' {--PAYMENT--}</option>';
+ $content['payment_selection'] .= ' <option value="' . $payments[$key]['id'] . '"';
+ if (($OLD_ORDER) && ($content['payment_id'] == $payments[$key]['id'])) $content['payment_selection'] .= ' selected="selected"';
+ $content['payment_selection'] .= '>{%pipe,translateComma=' . $payments[$key]['price'] . '%} {--PER_MAIL--} - ' . $payments[$key]['mail_title'] . ' - ' . round($payments[$key]['payment']) . ' {--PAYMENT--}</option>';
} // END - if
} // END - foreach
if (isPostRequestElementSet('zip')) {
// Output entered ZIP code
- $content['zip_content'] = loadTemplate('member_order_zip2', true, postRequestElement('zip'));
+ $content['zip_content'] = loadTemplate('member_order_zip2', TRUE, postRequestElement('zip'));
} // END - if
// No HTML extension installed by default
// HTML extension
if ((isExtensionActive('html_mail')) && (postRequestElement('html') == 'Y')) {
// Extension is active so output valid HTML tags
- $content['html_extension'] = loadTemplate('member_order_html_ext', true);
+ $content['html_extension'] = loadTemplate('member_order_html_ext', TRUE);
} // END - if
// Output form for page 2
- loadTemplate('member_order_page2', false, $content);
+ loadTemplate('member_order_page2', FALSE, $content);
} else {
// No HTML extension installed by default
$content['html_extension'] = '<input type="hidden" name="html" value="N" />';
// Remember maybe entered ZIP code in constant
if (isExtensionActive('html_mail')) {
// Add some content when html extension is active
- $content['html_extension'] = loadTemplate('member_order_html_intro', true);
+ $content['html_extension'] = loadTemplate('member_order_html_intro', TRUE);
} // END - if
// Default is no ZIP code
$content['zip_content'] = '';
- // Do we want ZIP code or not?
+ // Is sending to ZIP code enabled? (logged-in admin can always send to it)
if ((isOrderMultiPageEnabled()) || (isAdmin())) {
// Yes
if (postRequestElement('zip') > 0) {
'zip' => ''
);
}
- $content['zip_content'] = loadTemplate('member_order_zip1', true, $data);
+ $content['zip_content'] = loadTemplate('member_order_zip1', TRUE, $data);
} // END - if
// Output form for page 1 (ZIP code or HTML)
- loadTemplate('member_order_page1', false, $content);
+ loadTemplate('member_order_page1', FALSE, $content);
}
} else {
// No mail types defined
displayMessage('<span class="notice">{%message,MEMBER_ORDER_LINKS_LEFT=' . getTotalUnconfirmedMails(getMemberId()) . '%}</span>');
}
-if (!empty($url)) {
+if (!empty($data['url'])) {
// Redirect to requested URL
- redirectToUrl($url);
+ redirectToUrl($data['url']);
} // END - if
// [EOF]