X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-order.php;h=1b1dd1984c29df084f31ad63e4dd97a93faa967c;hb=34db702d004b245e5528b0ba20c6de441f61820a;hp=ed49e2e4e92a63dd5c493da1e891feda855cb243;hpb=818e401745e18765772fc6576c5ffcd05ff78faa;p=mailer.git
diff --git a/inc/modules/member/what-order.php b/inc/modules/member/what-order.php
index ed49e2e4e9..1b1dd1984c 100644
--- a/inc/modules/member/what-order.php
+++ b/inc/modules/member/what-order.php
@@ -27,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 *
@@ -52,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
-$extraColumn = 'userid';
-if ((isExtensionActive('holiday')) && (getExtensionVersion('holiday') >= '0.1.3')) {
- // Fetch also holiday activation data
- $extraColumn = 'holiday_active';
-} // END - if
-
-$result_mmails = SQL_QUERY_ESC("SELECT
- `userid`, `receive_mails`, `mail_orders`, `".$extraColumn."`
-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
//
@@ -107,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';
@@ -127,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
@@ -141,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
@@ -151,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
@@ -166,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
@@ -176,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
@@ -193,7 +159,7 @@ 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'))));
@@ -203,20 +169,22 @@ LIMIT 1",
// 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');
+ $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')) && (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
@@ -248,7 +216,7 @@ ORDER BY
// Load receivers from database
$TEST = array(); $cnt = '0';
while ($holidayContent = SQL_FETCHARRAY($result)) {
- if (getExtensionVersion('holiday') >= '0.1.3') {
+ if (isExtensionInstalledAndNewer('holiday', '0.1.3')) {
// Check for his holiday status
$result_holiday = SQL_QUERY_ESC("SELECT
`id`
@@ -412,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`
@@ -440,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(
@@ -470,11 +444,13 @@ ORDER BY
$userid_cnt = '0';
while (list($ucat) = SQL_FETCHROW($result_userids)) {
// Check for holiday system
- $HOL_ACTIVE = false;
- if (getExtensionVersion('holiday') >= '0.1.3') {
+ $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
@@ -489,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__);
@@ -530,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'));
@@ -553,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
@@ -613,9 +592,9 @@ LIMIT 1",
// Pre-output categories
$content['category_selection'] = '';
foreach ($categories['id'] as $key => $value) {
- $content['category_selection'] .= " ';
} // END - foreach
// Mail type
@@ -624,9 +603,9 @@ LIMIT 1",
$P = translateComma($types[$key][1]);
if (is_array($value)) {
// Output option line
- $content['type_selection'] .= " ';
} // END - if
} // END - foreach
@@ -690,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]