X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-order.php;h=f2822d0401d494caa5a735c4da1063fb6a3379ba;hp=cc8fdf421685eb1132743a28a07e7510ad3403a1;hb=49acdb7a7adbcf25a8e8683b5581bfcec72b23bd;hpb=175b3f506e193d8d791ec6523db42276e296dd0b diff --git a/inc/modules/member/what-order.php b/inc/modules/member/what-order.php index cc8fdf4216..f2822d0401 100644 --- a/inc/modules/member/what-order.php +++ b/inc/modules/member/what-order.php @@ -16,7 +16,7 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2013 by Mailer Developer Team * + * Copyright (c) 2009 - 2015 by Mailer Developer Team * * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -152,32 +152,15 @@ ORDER BY // Are there still receivers left? if (sqlNumRows($result) >= postRequestElement('receiver')) { // Load receivers from database - $TEST = array(); $count = '0'; + $receiverArray = array(); $count = '0'; while ($holidayContent = sqlFetchArray($result)) { - if (isExtensionInstalledAndNewer('holiday', '0.1.3')) { - // Check for his holiday status - $result_holiday = sqlQueryEscaped("SELECT - `id` -FROM - `{?_MYSQL_PREFIX?}_user_holidays` -WHERE - `userid`=%s AND - `holiday_start` < UNIX_TIMESTAMP() AND - `holiday_end` > UNIX_TIMESTAMP() -LIMIT 1", - array($holidayContent['userid']), __FILE__, __LINE__); - if (sqlNumRows($result_holiday) == 1) { - // Exclude user who are in holiday - $holidayContent['userid'] = '0'; - } // END - if - - // Free memory - sqlFreeResult($result_holiday); - } // END - if + // Run fetched data through pre filter chain + $holidayContent = runFilterChain('pre_mail_recipient_check', $holidayContent); + // Is still valid id? if (isValidId($holidayContent['userid'])) { - // Add receiver - array_push($TEST, $holidayContent['userid']); + // Add receiver then + array_push($receiverArray, $holidayContent['userid']); $count++; } // END - if } // END - while @@ -186,10 +169,10 @@ LIMIT 1", sqlFreeResult($result); // Implode array into string for the sending pool - $receivers = implode($TEST, ';'); + $receivers = implode($receiverArray, ';'); // Count array for maximum sent - $content['target_send'] = count($TEST); + $content['target_send'] = count($receiverArray); // Update receiver list sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `receive_mails`=`receive_mails`-1 WHERE `userid` IN (%s) LIMIT %s", @@ -263,7 +246,7 @@ LIMIT 1", } // Make sure only valid id numbers can pass - assert(isValidId($data['id']), 'data[id]=' . $data['id'] . ' is not a valid id number.'); + assert((isset($data['id'])) && (isValidId($data['id']))); // Id is received so we can redirect the user, used points will be added when he send's out the mail $data['url'] = 'modules.php?module=frametester&order=' . bigintval($data['id']); @@ -303,7 +286,7 @@ ORDER BY `sort` ASC', __FILE__, __LINE__); // Some categories found? - if (!ifSqlHasZeroNums($result_cats)) { + if (!ifSqlHasZeroNumRows($result_cats)) { // Enought points left? if ($totalPoints > 0) { // Initialize array... @@ -315,14 +298,10 @@ ORDER BY // Enable HTML checking // @TODO Rewrite this to a filter - $HTML = ''; $HOL_STRING = ''; + $HTML = ''; if ((isExtensionActive('html_mail')) && (postRequestElement('html') == 'Y')) { $HTML = " AND `html`='Y'"; } // END - if - if (isExtensionInstalledAndNewer('holiday', '0.1.3')) { - // Extension's version is fine - $HOL_STRING = " AND `holiday_active`='N'"; - } // END - if // ... and begin loading stuff while ($categoriesContent = sqlFetchArray($result_cats)) { @@ -335,43 +314,22 @@ ORDER BY $userid_cnt = '0'; while (list($userid) = sqlFetchRow($result_userids)) { - // Check for holiday system - $isHolidayActive = FALSE; - if (isExtensionInstalledAndNewer('holiday', '0.1.3')) { - // Check user's holiday status - $result_holiday = sqlQueryEscaped("SELECT - COUNT(`d`.`userid`) AS `cnt` -FROM - `{?_MYSQL_PREFIX?}_user_data` AS `d` -LEFT JOIN - `{?_MYSQL_PREFIX?}_user_holidays` AS `h` -ON - `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() -LIMIT 1", - array(bigintval($userid)), __FILE__, __LINE__); - - // Fetch entry - list($count) = sqlFetchRow($result_holiday); - - // Free memory - sqlFreeResult($result_holiday); + // Init filter data array + $filterData = array( + 'userid' => $userid, + 'pre_okay' => TRUE, + ); - // Is holiday is active? - $isHolidayActive = ($count == 1); - } // END - if + // Check for holiday system + $filterData = runFilterChain('pre_category_mail_order_check', $filterData); - if ($isHolidayActive === FALSE) { + // Still all fine? + if ($filterData['pre_okay'] === TRUE) { // Check if the user want's to receive mails? $result_ver = sqlQueryEscaped("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__); + // Is an entry found? if ((sqlNumRows($result_ver) == 1) && (isPostRequestElementSet('zip')) && (isOrderMultiPageEnabled())) { // Get zip code list($zip) = sqlFetchRow($result_ver); @@ -401,7 +359,7 @@ LIMIT 1", $result = sqlQuery("SELECT `id`, `price`, `payment`, `mail_title` FROM `{?_MYSQL_PREFIX?}_payments` WHERE `price` > 0 AND `payment` > 0 ORDER BY `payment` ASC", __FILE__, __LINE__); $payments = array(); - if (!ifSqlHasZeroNums($result)) { + if (!ifSqlHasZeroNumRows($result)) { // Is the error code set? if (isGetRequestElementSet('code')) { // Display error message