* $Author:: $ *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * Copyright (c) 2009 - 2011 by Mailer Developer Team *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team *
* For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
return $filterData;
}
+// Filter for returning given user's locked order points
+function FILTER_LOCKED_ORDER_POINTS ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+ // Is ext-user installed and active?
+ if (isExtensionActive('user')) {
+ // Get the points and add them to the existing
+ $filterData['points'] += countSumTotalData($filterData['userid'], 'user_points', 'locked_order_points');
+ } // END - if
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Filter for returning all user's order points column names
+function FILTER_GET_ALL_ORDER_POINTS_COLUMN_NAMES ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+ // Add 'order_points' and 'locked_order_points'
+ $filterData['columns'] .= $filterData['alias'] . 'order_points' . $filterData['separator'] . $filterData['alias'] . 'locked_order_points' . $filterData['separator'];
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Filter for ZIP code inclusion (not exclusion but it must be run in exclusion filter chain)
+function FILTER_ORDER_ZIP_CODE_SQL ($sql) {
+ // Check if category and number of receivers is okay
+ if (isOrderMultiPageEnabled()) {
+ // Default is no zip code limitation
+ $zip = NULL;
+
+ // POST or GET elements?
+ if ((isPostRequestElementSet('zip')) && (postRequestElement('zip') != '')) {
+ // Choose recipients by zip code from POST
+ $zip = bigintval(postRequestElement('zip'));
+ } elseif ((isGetRequestElementSet('zip')) && (getRequestElement('zip') != '')) {
+ // Choose recipients by zip code from GET
+ $zip = bigintval(getRequestElement('zip'));
+ }
+
+ // Is the zip code set?
+ if (!is_null($zip)) {
+ // Is the previous SQL statement empty?
+ if (empty($sql)) {
+ // SQL statemet is empty, so use WHERE
+ $sql = sprintf(" WHERE `zip` LIKE '%s%%%%'", $zip);
+ } else {
+ // ... otherwise use AND
+ $sql .= sprintf(" AND `zip` LIKE '%s%%%%'", $zip);
+ }
+ } // END - if
+ } // END - if
+
+ // Return expanded SQL
+ return $sql;
+}
+
+// Filter for adding columns of points to array
+function FILTER_ORDER_POINTS_COLUMNS ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+ // Add column
+ array_push($filterData, 'order_points');
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Filter for generic check of subject line
+function FILTER_MAIL_ORDER_GENERIC_CHECK_SUBJECT ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+
+ // Shall I test the subject line against URLs?
+ if (!isAllowUrlInSubjectEnabled()) {
+ // @TODO 200 is hard-coded here, swap it out to config + admin_config_order.tpl
+ $filterData['subject'] = str_replace(chr(92), '[nl]', substr($filterData['subject'], 0, 200));
+
+ // Check the subject line for unwanted things
+ if ((isInStringIgnoreCase('https://', $filterData['subject'])) || (isInStringIgnoreCase('http://', $filterData['subject'])) || (isInStringIgnoreCase('www', $filterData['subject']))) {
+ // URL in subject found
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('SUBJECT_URL');
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+ } // END - if
+ } // END - if
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Filter for generic check of mail text
+function FILTER_MAIL_ORDER_GENERIC_CHECK_TEXT ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+
+ if (!isAllowUrlInTextEnabled()) {
+ // Test submitted text against some filters (length, URLs in text etc.)
+ if ((isInStringIgnoreCase('https://', $filterData['text'])) || (isInStringIgnoreCase('http://', $filterData['text'])) || (isInStringIgnoreCase('www', $filterData['text']))) {
+ // URL found
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('URL_FOUND');
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+ } // END - if
+
+ // Remove new-line and carriage-return characters
+ $TEST = str_replace(array(PHP_EOL, chr(13)), array('', ''), $filterData['text']);
+
+ // Text length within allowed length?
+ if (strlen($TEST) > getMaxTextLength()) {
+ // Text is too long!
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('OVERLENGTH');
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+ } // END - if
+ } // END - if
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Filter for generic check of mail type
+function FILTER_MAIL_ORDER_GENERIC_CHECK_TYPE ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+
+ // Is mail type set?
+ if ((!isset($filterData['mail_type'])) || ($filterData['mail_type'] < 1)) {
+ // Not correctly set
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('NO_MAIL_TYPE');
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+ } // END - if
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Filter for generic check of URL
+function FILTER_MAIL_ORDER_GENERIC_CHECK_URL ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+
+ // Validate URL
+ if (!isUrlValid($filterData['url'])) {
+ // URL is invalid!
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('INVALID_URL');
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+ } // END - if
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Filter for generic check of receiver amount
+function FILTER_MAIL_ORDER_GENERIC_CHECK_RECEIVER ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+
+ // Enougth receivers entered?
+ if (($filterData['receiver'] < getOrderMin()) && (!isAdmin())) {
+ // Less than allowed receivers entered!
+ $filterData['redirect'] = 'modules.php?module=login&what=order&code=' . getCode('MORE_RECEIVERS3');
+ $GLOBALS['filter_chain_aborted'] = TRUE;
+ } // END - if
+
+ // Return the data for next filter
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
// [EOF]
?>