X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Fmails%2Fbonus_mails.php;h=058022011bc8f99dd1b90296624c8bf682e0a6b7;hb=da5c63bacddced77a951cbe7b223f314885a6c87;hp=5f0cee83710322b70382d8a5a593e2fdb0abfc4e;hpb=62b4ef5bb0b63f7cac5f0dccd816246a108a5d83;p=mailer.git diff --git a/inc/mails/bonus_mails.php b/inc/mails/bonus_mails.php index 5f0cee8371..058022011b 100644 --- a/inc/mails/bonus_mails.php +++ b/inc/mails/bonus_mails.php @@ -14,11 +14,10 @@ * $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 * - * For more information visit: http://www.mxchange.org * + * 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 * * it under the terms of the GNU General Public License as published by * @@ -39,26 +38,26 @@ // Some security stuff... if (!defined('__SECURITY')) { die(); -} elseif (!isExtensionActive('bonus')) { +} elseif ((!isExtensionActive('bonus')) || (isExtensionInstalledAndOlder('bonus', '0.9.2'))) { + // Do not execute script on missing/out-dated extension ext-bonus + return; +} elseif (!isHtmlOutputMode()) { + // Do not execute script if not in HTML mode return; } -// Do not execute when script is in CSS mode -if (getOutputMode() != 0) return; - // Create timemark from saved month -$mark = mktime(0, 0, 0, getConfig('last_month'), date('d', time()), date('Y', time())); +$mark = mktime(0, 0, 0, getLastMonthly(), getDay(), getYear()); $sql = ''; $mode = ''; // Shall I sent activation or deactivation mail? -$sql = "SELECT `userid`, `email` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE (`bonus_ral_notify` "; -switch (getConfig('bonus_active')) -{ +$sql = "SELECT `d`.`userid`, `d`.`email` FROM `{?_MYSQL_PREFIX?}_user_data` AS `d` WHERE (`d`.`bonus_rallye_enable_notify` "; +switch (getBonusActive()) { case 'Y': // Active rallye is activated - if (getConfig('bonus_en_notify') == 'Y') { + if (getBonusEnableNotify() == 'Y') { // Okay, let's check for member accounts - $sql .= '= 0 OR (`bonus_ral_notify` > 0 AND `bonus_ral_en_notify` < `bonus_ral_di_notify`)'; - $mode = 'en'; + $sql .= '= 0 OR (`d`.`bonus_rallye_enable_notify` > 0 AND `d`.`bonus_rallye_enable_notify` < `d`.`bonus_rallye_disable_notify`)'; + $mode = 'enable'; } else { // Do not notify! $sql = ''; @@ -66,41 +65,48 @@ switch (getConfig('bonus_active')) break; case 'N': // Active rallye is deactivated - if (getConfig('bonus_di_notify') == 'Y') { + if (getBonusDisableNotify() == 'Y') { // Okay, let's check for member accounts - $sql .= ' > 0 AND `bonus_ral_di_notify` < `bonus_ral_en_notify`'; - $mode = 'di'; + $sql .= ' > 0 AND `d`.`bonus_rallye_disable_notify` < `d`.`bonus_rallye_enable_notify`'; + $mode = 'disable'; } else { // Do not notify! $sql = ''; } break; -} +} // END - switch if (!empty($sql)) { + // Init additional WHERE statement + $whereStatement = ''; + + // Is ext-holiday installed? + // @TODO Rewrite these if() blocks to a filter + if (isExtensionActive('holiday')) { + // Exclude those as well + $whereStatement .= " AND `d`.`holiday_active`='N'"; + } // END - if + // The SQL command needs to be finisched here (only confirmed accounts!) - $sql .= ") AND `status`='CONFIRMED' ORDER BY `last_online` ASC"; + $sql .= ')' . $whereStatement . runFilterChain('user_exclusion_sql', " AND `d`.`status`='CONFIRMED'") . ' ORDER BY `d`.`last_online` ASC'; // Normal notification mails or bonus mails? - $sentBonusMails = ((getConfig('bonus_notify_points') > 0) && ($mode == "en") && (isExtensionActive('bonus'))); - - // Generate subject line - $subject = getMessage('BONUS_RALLYE_' . strtoupper($mode).'_NOTIFY'); + $sentBonusMails = ((getBonusNotifyPoints() > 0) && ($mode == 'enable') && (isExtensionActive('bonus'))); // Load message body for bonus mails - $message = loadEmailTemplate('bonus_en_notify_body', '', '{PER}userid{PER}'); + $message = loadEmailTemplate('bonus_enable_notify_body', '', '{PER}userid{PER}'); $receiver = ''; $userids = array(); // Check for accounts to be notified $result_main = SQL_QUERY($sql, __FILE__, __LINE__); - if (SQL_NUMROWS($result_main) > 0) { + if (!SQL_HASZERONUMS($result_main)) { // Okay lets notify all users! while ($content = SQL_FETCHARRAY($result_main)) { // Update account - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` + SQL_QUERY_ESC("UPDATE + `{?_MYSQL_PREFIX?}_user_data` SET - `bonus_ral_notify`=UNIX_TIMESTAMP(), - `bonus_ral_%s_notify`=UNIX_TIMESTAMP() + `bonus_rallye_%s_notify`=UNIX_TIMESTAMP() WHERE `userid`=%s LIMIT 1", @@ -110,26 +116,26 @@ LIMIT 1", ), __FILE__, __LINE__); // Load email template and send it to the user! - if ($sentBonusMails === true) { + if ($sentBonusMails === TRUE) { // Add userid to queue - $userids[] = $content['userid']; + array_push($userids, $content['userid']); } else { // Send normal notification mail to the members $message = loadEmailTemplate('bonus_' . $mode . '_notify', $content, $content['userid']); - sendEmail($content['email'], $subject, $message); + sendEmail($content['userid'], '{--MEMBER_BONUS_RALLYE_' . strtoupper($mode) . '_SUBJECT--}', $message); } } // END - while // Shall I send out bonus mails? - if ($sentBonusMails === true) { + if ($sentBonusMails === TRUE) { // Okay, make array to string $receiver = implode(';', $userids); // Prepare URL - $URL = 'modules.php?module=index&what=login'; + $url = 'modules.php?module=index&what=login'; // Insert mail - addBonusMailToQueue($subject, $message, $receiver, getConfig('bonus_notify_points'), getConfig('bonus_notify_wait'), $URL, 0, 'normal', SQL_NUMROWS($result_main)); + addBonusMailToQueue('{--MEMBER_BONUS_RALLYE_' . strtoupper($mode) . '_SUBJECT--}', $message, $receiver, getBonusNotifyPoints(), getConfig('bonus_notify_wait'), $url, 0, 'normal', SQL_NUMROWS($result_main)); } // END - if } // END - if