X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-order.php;h=f891d0609fa8f7d36799e234691f702d188df50f;hb=1c62a6c2a4ed2bb170e0f1888899625e67a27947;hp=c360728d6a4ced1ca965ea09cf2ff280f2466675;hpb=0715fa7aa8e5e70bcf1d957fb09ae655c3896c4e;p=mailer.git
diff --git a/inc/modules/member/what-order.php b/inc/modules/member/what-order.php
index c360728d6a..f891d0609f 100644
--- a/inc/modules/member/what-order.php
+++ b/inc/modules/member/what-order.php
@@ -14,8 +14,6 @@
* $Date:: $ *
* $Tag:: 0.2.1-FINAL $ *
* $Author:: $ *
- * Needs to be in all Files and every File needs "svn propset *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
* Copyright (c) 2009, 2010 by Mailer Developer Team *
@@ -27,8 +25,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 *
@@ -53,53 +49,19 @@ if ((!isExtensionActive('order')) && (!isAdmin())) {
} // END - if
$url = ''; $id = '0';
-$whereStatement = " WHERE `visible`='Y'";
-
-// Set undefined array elements
-if (isAdmin()) $whereStatement = '';
// 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 (isExtensionInstalledAndNewer('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') && (isExtensionInstalledAndNewer('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
//
@@ -110,12 +72,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';
@@ -154,12 +115,12 @@ 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
// And shall I check that his URL is not in the black list?
- if (getConfig('url_blacklist') == 'Y') {
+ if (isUrlBlaskEnabled()) {
// Ok, I do that for you know...
$result = SQL_QUERY_ESC("SELECT UNIX_TIMESTAMP(`timestamp`) AS tstamp FROM `{?_MYSQL_PREFIX?}_url_blacklist` WHERE `url`='%s' LIMIT 1",
array(postRequestParameter('url')), __FILE__, __LINE__);
@@ -210,7 +171,7 @@ LIMIT 1",
} // 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_TIME_LOCK') . '&id=' . $id;
}
// Still no error?
@@ -219,7 +180,9 @@ LIMIT 1",
$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
@@ -238,12 +201,10 @@ WHERE
d.receive_mails > 0
".$add."
ORDER BY
- d.%s %s",
+ d.{?order_select?} {?order_mode?}",
array(
bigintval(postRequestParameter('cat')),
- getMemberId(),
- getConfig('order_select'),
- getConfig('order_mode'),
+ getMemberId()
), __FILE__, __LINE__);
// Do we enougth receivers left?
@@ -285,7 +246,10 @@ LIMIT 1",
// Update receiver list
SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `receive_mails`=`receive_mails`-1 WHERE `userid` IN (%s) LIMIT %s",
- array(convertReceivers($receiver), $content['target_send']), __FILE__, __LINE__);
+ array(
+ convertReceivers($receiver),
+ $content['target_send']
+ ), __FILE__, __LINE__);
// Is calculated max receivers larger than wanted receivers then reset it
if ($content['target_send'] > postRequestParameter('receiver')) $content['target_send'] = bigintval(postRequestParameter('receiver'));
@@ -423,18 +387,24 @@ LIMIT 1",
// No enougth points left!
$url = 'modules.php?module=login&what=order&code=' . getCode('MORE_POINTS');
}
- } else {
+ } else {
// Ordered more mails than he can send in this category
$url = 'modules.php?module=login&what=order&code=' . getCode('NO_RECS_LEFT');
}
- }
+ } // END - if
} elseif (postRequestParameter('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')) {
// 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`
@@ -443,7 +413,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(
@@ -473,11 +443,13 @@ ORDER BY
$userid_cnt = '0';
while (list($ucat) = SQL_FETCHROW($result_userids)) {
// Check for holiday system
- $HOL_ACTIVE = false;
+ $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
@@ -492,14 +464,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_holiday);
// 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__);
@@ -533,7 +508,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'));
@@ -551,21 +526,21 @@ LIMIT 1",
SQL_FREERESULT($result);
// Output user's points
- $content['total'] = translateComma($total);
+ $content['total'] = $total;
// 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
@@ -604,7 +579,7 @@ LIMIT 1",
} else {
// Default output for that your members don't forget it...
$content['url'] = 'http://';
- $content['target_send'] = getConfig('order_min');
+ $content['target_send'] = '{?order_min?}';
$content['subject'] = '{--ORDER_DEFAULT_SUBJECT--}';
$content['text'] = '{--ORDER_DEFAULT_TEXT--}';
}
@@ -616,20 +591,19 @@ LIMIT 1",
// Pre-output categories
$content['category_selection'] = '';
foreach ($categories['id'] as $key => $value) {
- $content['category_selection'] .= " ';
} // END - foreach
// Mail type
$content['type_selection'] = '';
foreach ($types as $key => $value) {
- $P = translateComma($types[$key][1]);
if (is_array($value)) {
// Output option line
- $content['type_selection'] .= " ';
} // END - if
} // END - foreach
@@ -685,19 +659,16 @@ LIMIT 1",
}
} else {
// No mail types defined
- loadTemplate('admin_settings_saved', false, '{--MEMBER_NO_PAYMENTS--}');
+ loadTemplate('admin_settings_saved', false, '{--MEMBER_NO_PAYMENTS--}');
}
} else {
// No points left
- loadTemplate('admin_settings_saved', false, '{--MEMBER_NO_POINTS--}');
+ loadTemplate('admin_settings_saved', false, '{--MEMBER_NO_POINTS--}');
}
} 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);