X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-order.php;h=1b1dd1984c29df084f31ad63e4dd97a93faa967c;hb=34db702d004b245e5528b0ba20c6de441f61820a;hp=1ba7228f043febb1a9cee3dc5370a8defca543bc;hpb=61cf64aeeededa2abd7aa88514a8a59ce852f490;p=mailer.git
diff --git a/inc/modules/member/what-order.php b/inc/modules/member/what-order.php
index 1ba7228f04..1b1dd1984c 100644
--- a/inc/modules/member/what-order.php
+++ b/inc/modules/member/what-order.php
@@ -18,6 +18,7 @@
* svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009, 2010 by Mailer Developer Team *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -26,8 +27,6 @@
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
@@ -51,51 +50,20 @@ if ((!isExtensionActive('order')) && (!isAdmin())) {
return;
} // END - if
-$URL = ''; $id = '0';
-$whereStatement = " WHERE `visible`='Y'";
-
-// Set undefined array elements
-if (isAdmin()) $whereStatement = '';
+$url = ''; $id = '0';
// Count unconfirmed mails
$links = countSumTotalData(getMemberId(), 'user_links', 'id', 'userid', true);
-// Do we have ext-holiday installed?
-// @TODO Rewrite this to a filter
-$HOLIDAY = 'userid';
-if ((isExtensionActive('holiday')) && (getExtensionVersion('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`
-WHERE
- `userid`=%s AND
- `max_mails` > 0
-LIMIT 1",
- array(getMemberId()), __FILE__, __LINE__);
-
-$mmails = SQL_NUMROWS($result_mmails);
-list($DMY, $MAXI, $ORDERS, $HOLIDAY) = SQL_FETCHROW($result_mmails);
-
-// Free result
-SQL_FREERESULT($result_mmails);
-
-// Fix non-existent ext-holidy
-if ($HOLIDAY == $DMY) $HOLIDAY = 'N';
-
-$ALLOWED = $MAXI - $ORDERS;
-if (getConfig('order_max_full') == 'MAX') $ALLOWED = $MAXI;
+$ALLOWED = getUserData('receive_mails') - getUserData('mail_orders');
+if (getConfig('order_max_full') == 'MAX') $ALLOWED = getUserData('receive_mails');
// Now check his points amount
-$total = countSumTotalData(getMemberId(), 'user_points', 'points') - countSumTotalData(getMemberId(), 'user_data', 'used_points');;
+$total = getTotalPoints(getMemberId());
-if (($HOLIDAY == 'Y') && (getExtensionVersion('holiday') >= '0.1.3')) {
+if ((isExtensionInstalledAndNewer('holiday', '0.1.3')) && (getUserData('holiday_active') == 'Y')) {
// Holiday is active!
- loadTemplate('admin_settings_saved', false, getMessage('HOLIDAY_ORDER_NOT_POSSIBLE'));
+ loadTemplate('admin_settings_saved', false, '{--MEMBER_HOLIDAY_ORDER_NOT_POSSIBLE--}');
} elseif ((isPostRequestParameterSet('frametester')) && ($ALLOWED > 0) && (postRequestParameter('receiver') > 0)) {
// Continue with the frametester, we first need to store the data temporary in the pool
//
@@ -106,12 +74,11 @@ FROM
WHERE
`sender`=%s AND
`url`='%s' AND
- `timestamp` > (UNIX_TIMESTAMP() - %s)
+ `timestamp` > (UNIX_TIMESTAMP() - {?url_tlock?})
LIMIT 1",
array(
getMemberId(),
- postRequestParameter('url'),
- getConfig('url_tlock')
+ postRequestParameter('url')
), __FILE__, __LINE__);
$type = 'TEMP'; $id = '0';
@@ -126,12 +93,12 @@ LIMIT 1",
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 = '';
+ $url = '';
if (getConfig('allow_url_in_text') == 'Y') {
// Test submitted text against some filters (length, URLs in text etc.)
if ((strpos(strtolower(postRequestParameter('text')), 'https://') > -1) || (strpos(strtolower(postRequestParameter('text')), 'http://') > -1) || (strpos(strtolower(postRequestParameter('text')), "www") > -1)) {
// URL found!
- $URL = 'modules.php?module=login&what=order&code=' . getCode('URL_FOUND');
+ $url = 'modules.php?module=login&what=order&code=' . getCode('URL_FOUND');
} // END - if
// Remove new-line and carriage-return characters
@@ -140,7 +107,7 @@ LIMIT 1",
// 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');
+ $url = 'modules.php?module=login&what=order&code=' . getCode('OVERLENGTH');
} // END - if
} // END - if
@@ -150,7 +117,7 @@ LIMIT 1",
setPostRequestParameter('subject', str_replace("\\", '[nl]', substr(postRequestParameter('subject'), 0, 200)));
if ((strpos(strtolower(postRequestParameter('subject')), 'http://') > -1) || (strpos(strtolower(postRequestParameter('subject')), "www") > -1)) {
// URL in subject found
- $URL = 'modules.php?module=login&what=order&code=' . getCode('SUBJ_URL');
+ $url = 'modules.php?module=login&what=order&code=' . getCode('SUBJECT_URL');
} // END - if
} // END - if
@@ -165,7 +132,7 @@ LIMIT 1",
list($blist) = SQL_FETCHROW($result);
// Create redirect-URL
- $URL = 'modules.php?module=login&what=order&code=' . getCode('BLIST_URL') . '&blist=' . $blist;
+ $url = 'modules.php?module=login&what=order&code=' . getCode('BLIST_URL') . '&blist=' . $blist;
} // END - if
// Free result
@@ -175,13 +142,13 @@ LIMIT 1",
// Enougth receivers entered?
if ((postRequestParameter('receiver') < getConfig('order_min')) && (!isAdmin())) {
// Less than allowed receivers entered!
- $URL = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS3');
+ $url = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS3');
} // END - if
// Validate URL
if (!isUrlValid(postRequestParameter('url'))) {
// URL is invalid!
- $URL = 'modules.php?module=login&what=order&code=' . getCode('INVALID_URL');
+ $url = 'modules.php?module=login&what=order&code=' . getCode('INVALID_URL');
} // END - if
// Probe for HTML extension
@@ -192,24 +159,32 @@ LIMIT 1",
setPostRequestParameter('text', checkHtmlTags(postRequestParameter('text')));
// Maybe invalid tags found?
- if (!isPostRequestParameterSet('text')) $URL = 'modules.php?module=login&what=order&code=' . getCode('INVALID_TAGS')."&id=".$id;
+ if (!isPostRequestParameterSet('text')) $url = 'modules.php?module=login&what=order&code=' . getCode('INVALID_TAGS')."&id=".$id;
} else {
// Remove any HTML code
setPostRequestParameter('text', str_replace('<', '{OPEN_HTML}', str_replace('>', '{CLOSE_HTML}', postRequestParameter('text'))));
}
- }
+ } // END - if
+
+ // Is mail type set?
+ if ((!isPostRequestParameterSet('mail_type')) || (postRequestParameter('mail_type') < 1)) {
+ // Not correctly set
+ $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_TLOCK') . '&id=' . $id;
+ $url = 'modules.php?module=login&what=order&code=' . getCode('URL_TLOCK') . '&id=' . $id;
}
// Still no error?
- if (empty($URL)) {
+ if (empty($url)) {
// Check if category and number of receivers is okay
$add = '';
- if ((getConfig('order_multi_page') == 'Y') && (isPostRequestParameterSet('zip'))) {
+ if ((getConfig('order_multi_page') == 'Y') && (isPostRequestParameterSet('zip')) && (postRequestParameter('zip') != '')) {
// Choose recipients by ZIP code
- $add = " AND d.zip LIKE '".bigintval(postRequestParameter('zip'))."{PER}'";
+ $add = sprintf(" AND d.zip LIKE '%s%%'",
+ bigintval(postRequestParameter('zip'))
+ );
} // END - if
// Check for userids
@@ -222,7 +197,11 @@ LEFT JOIN
ON
c.userid=d.userid
WHERE
- c.cat_id=%s AND c.userid != '%s' AND d.`status`='CONFIRMED' AND d.receive_mails > 0".$add."
+ c.cat_id=%s AND
+ c.userid != '%s' AND
+ d.`status`='CONFIRMED' AND
+ d.receive_mails > 0
+ ".$add."
ORDER BY
d.%s %s",
array(
@@ -234,17 +213,10 @@ ORDER BY
// Do we enougth receivers left?
if (SQL_NUMROWS($result) >= postRequestParameter('receiver')) {
- // Check for holiday extensions
- $HOLIDAY = false;
- if (getExtensionVersion('holiday') >= '0.1.3') {
- // Include checking for users in holiday
- $HOLIDAY = true;
- } // END - if
-
// Load receivers from database
$TEST = array(); $cnt = '0';
while ($holidayContent = SQL_FETCHARRAY($result)) {
- if ($HOLIDAY) {
+ if (isExtensionInstalledAndNewer('holiday', '0.1.3')) {
// Check for his holiday status
$result_holiday = SQL_QUERY_ESC("SELECT
`id`
@@ -284,7 +256,7 @@ LIMIT 1",
if ($content['target_send'] > postRequestParameter('receiver')) $content['target_send'] = bigintval(postRequestParameter('receiver'));
// Calculate used points
- $USED = $content['target_send'] * getPaymentPoints(bigintval(postRequestParameter('type')));
+ $USED = $content['target_send'] * getPaymentPoints(bigintval(postRequestParameter('mail_type')));
// Fix empty zip code
if (!isPostRequestParameterSet('zip')) setPostRequestParameter('zip', 0);
@@ -298,33 +270,33 @@ LIMIT 1",
if (isExtensionActive('html_mail')) {
// HTML extension is active
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',UNIX_TIMESTAMP(),'%s','%s','%s','%s','%s')",
+VALUES (%s,'%s','%s','%s','%s','TEMP',UNIX_TIMESTAMP(),'%s',%s,%s,%s,'%s')",
array(
getMemberId(),
postRequestParameter('subject'),
postRequestParameter('text'),
$receiver,
- bigintval(postRequestParameter('type')),
+ bigintval(postRequestParameter('mail_type')),
postRequestParameter('url'),
bigintval(postRequestParameter('cat')),
$content['target_send'],
- bigintval(postRequestParameter('zip')),
+ bigintval(postRequestParameter('zip'), true, false),
postRequestParameter('html')
), __FILE__, __LINE__);
} else {
// No HTML extension is active
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',UNIX_TIMESTAMP(),'%s','%s','%s','%s')",
+VALUES (%s,'%s','%s','%s','%s','TEMP',UNIX_TIMESTAMP(),'%s',%s,%s,%s)",
array(
getMemberId(),
postRequestParameter('subject'),
postRequestParameter('text'),
$receiver,
- bigintval(postRequestParameter('type')),
+ bigintval(postRequestParameter('mail_type')),
postRequestParameter('url'),
bigintval(postRequestParameter('cat')),
$content['target_send'],
- bigintval(postRequestParameter('zip')),
+ bigintval(postRequestParameter('zip'), true, false),
), __FILE__, __LINE__);
}
} else {
@@ -351,7 +323,7 @@ LIMIT 1",
postRequestParameter('subject'),
postRequestParameter('text'),
$receiver,
- bigintval(postRequestParameter('type')),
+ bigintval(postRequestParameter('mail_type')),
postRequestParameter('url'),
bigintval(postRequestParameter('cat')),
$content['target_send'],
@@ -380,7 +352,7 @@ LIMIT 1",
postRequestParameter('subject'),
postRequestParameter('text'),
$receiver,
- bigintval(postRequestParameter('type')),
+ bigintval(postRequestParameter('mail_type')),
postRequestParameter('url'),
bigintval(postRequestParameter('cat')),
$content['target_send'],
@@ -397,7 +369,7 @@ LIMIT 1",
array(
getMemberId(),
postRequestParameter('subject'),
- bigintval(postRequestParameter('type'))
+ bigintval(postRequestParameter('mail_type'))
), __FILE__, __LINE__);
// Get pool id
@@ -408,26 +380,32 @@ LIMIT 1",
} // END - if
// 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;
+ $url = 'modules.php?module=frametester&order=' . $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');
+ $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');
+ $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');
+ $url = 'modules.php?module=login&what=order&code=' . getCode('NO_RECS_LEFT');
}
}
} elseif (postRequestParameter('receiver') == '0') {
// Not enougth receivers selected
- $URL = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS1');
+ $url = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS1');
} elseif (($ALLOWED == '0') && (getConfig('order_max_full') == 'ORDER')) {
// No more mail orders allowed
- loadTemplate('admin_settings_saved', false, getMessage('MEMBER_ORDER_ALLOWED_EXHAUSTED'));
-} elseif (($links < getConfig('unconfirmed')) && ($mmails == 1)) {
+ loadTemplate('admin_settings_saved', false, '{--MEMBER_ORDER_ALLOWED_EXHAUSTED--}');
+} elseif ($links < getConfig('unconfirmed')) {
+ // Show only enabled categories to the user ...
+ $whereStatement = " WHERE `visible`='Y'";
+
+ // ... but all to the admin
+ if (isAdmin()) $whereStatement = '';
+
// Display order form
$result_cats = SQL_QUERY("SELECT
`id`, `cat`
@@ -436,7 +414,7 @@ FROM
".$whereStatement."
ORDER BY
`sort` ASC", __FILE__, __LINE__);
- if (SQL_NUMROWS($result_cats) > 0) {
+ if (!SQL_HASZERONUMS($result_cats)) {
if ($total > 0) {
// Initialize array...
$categories = array(
@@ -447,11 +425,11 @@ ORDER BY
// Enable HTML checking
// @TODO Rewrite this to a filter
- $HTML = ''; $HOLIDAY = false; $HOL_STRING = '';
+ $HTML = ''; $HOL_STRING = '';
if ((isExtensionActive('html_mail')) && (postRequestParameter('html') == 'Y')) $HTML = " AND `html`='Y'";
- if (getExtensionVersion('holiday') >= '0.1.3') {
+ if (isExtensionInstalledAndNewer('holiday', '0.1.3')) {
// Extension's version is fine
- $HOLIDAY = true; $HOL_STRING = " AND `holiday_active`='N'";
+ $HOL_STRING = " AND `holiday_active`='N'";
} // END - if
// ... and begin loading stuff
@@ -466,11 +444,13 @@ ORDER BY
$userid_cnt = '0';
while (list($ucat) = SQL_FETCHROW($result_userids)) {
// Check for holiday system
- $HOL_ACTIVE = false;
- if ($HOLIDAY) {
+ $isHolidayActive = false;
+ if (isExtensionInstalledAndNewer('holiday', '0.1.3')) {
// Check user's holiday status
$result_holiday = SQL_QUERY_ESC("SELECT
- d.userid FROM `{?_MYSQL_PREFIX?}_user_data` AS d
+ COUNT(d.userid) AS `cnt`
+FROM
+ `{?_MYSQL_PREFIX?}_user_data` AS d
LEFT JOIN
`{?_MYSQL_PREFIX?}_user_holidays` AS h
ON
@@ -485,14 +465,17 @@ WHERE
LIMIT 1",
array(bigintval($ucat)), __FILE__, __LINE__);
- // Is holiday is active?
- $HOL_ACTIVE = (SQL_NUMROWS($result_holiday) == 1);
+ // Fetch entry
+ list($cnt) = SQL_FETCHROW($result);
// Free memory
SQL_FREERESULT($result_holiday);
+
+ // Is holiday is active?
+ $isHolidayActive = ($cont == 1);
} // END - if
- if ($HOL_ACTIVE === 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",
array(bigintval($ucat)), __FILE__, __LINE__);
@@ -526,7 +509,7 @@ LIMIT 1",
$result = SQL_QUERY("SELECT `id`, `price`, `payment`, `mail_title` FROM `{?_MYSQL_PREFIX?}_payments` ORDER BY `payment` ASC", __FILE__, __LINE__);
$types = array();
- if (SQL_NUMROWS($result) > 0) {
+ if (!SQL_HASZERONUMS($result)) {
// Check for message id in URL
$message = getMessageFromErrorCode(getRequestParameter('code'));
@@ -549,16 +532,16 @@ LIMIT 1",
// Check how many mail orders he has placed today and how many he's allowed to send
switch (getConfig('order_max_full')) {
case 'MAX': // He is allowed to send as much as possible
- $content['order_max_full'] = getMessage('MEMBER_ORDER_ALLOWED_MAX');
+ $content['order_max_full'] = '{--MEMBER_ORDER_ALLOWED_MAX--}';
break;
case 'ORDER': // He is allowed to send as much as he setup the receiving value
- $content['order_max_full'] = sprintf(getMessage('MEMBER_ORDER_ALLOWED_RECEIVE'), $ALLOWED, $MAXI);
+ $content['order_max_full'] = sprintf(getMessage('MEMBER_ORDER_ALLOWED_RECEIVE'), $ALLOWED, getUserData('receive_mails'));
break;
default: // Unknown/invalid
logDebugMessage(__FILE__, __LINE__, sprintf("Unknown order_mas_full config detected.", getConfig('order_max_full')));
- $content['order_max_full'] = getMessage('MEMBER_ORDER_ALLOWED_UNKNOWN');
+ $content['order_max_full'] = '{--MEMBER_ORDER_ALLOWED_UNKNOWN--}';
break;
} // END - switch
@@ -609,9 +592,9 @@ LIMIT 1",
// Pre-output categories
$content['category_selection'] = '';
foreach ($categories['id'] as $key => $value) {
- $content['category_selection'] .= " ';
} // END - foreach
// Mail type
@@ -620,9 +603,9 @@ LIMIT 1",
$P = translateComma($types[$key][1]);
if (is_array($value)) {
// Output option line
- $content['type_selection'] .= " ';
} // END - if
} // END - foreach
@@ -686,19 +669,16 @@ LIMIT 1",
}
} else {
// No cateogries are defined yet
- loadTemplate('admin_settings_saved', false, '{--MEMBER_NO_CATS--}');
+ loadTemplate('admin_settings_saved', false, '{--MEMBER_NO_CATEGORIES--}');
}
-} elseif ($mmails == '0') {
- // Please set more than 0 mails per day
- loadTemplate('admin_settings_saved', false, getMessage('MEMBER_HAS_ZERO_MMAILS'));
} else {
// Please confirm some mails first
loadTemplate('admin_settings_saved', false, getMaskedMessage('MEMBER_LINKS_LEFT'), $links);
}
-if (!empty($URL)) {
+if (!empty($url)) {
// Redirect to requested URL
- redirectToUrl($URL);
+ redirectToUrl($url);
} // END - if
// [EOF]