Rewrites to use filters instead of mass if() blocks
[mailer.git] / inc / mails / bonus_mails.php
index 4cab32d50b64124bf35a62fc095018aa4a2481c7..92de0ae6b59a68be1c624ef9d93f7fcea6f7f08b 100644 (file)
@@ -51,12 +51,12 @@ $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_rallye_enable_notify` ";
+$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 (getBonusEnableNotify() == 'Y') {
                        // Okay, let's check for member accounts
-                       $sql .= '= 0 OR (`bonus_rallye_enable_notify` > 0 AND `bonus_rallye_enable_notify` < `bonus_rallye_disable_notify`)';
+                       $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!
@@ -67,7 +67,7 @@ switch (getBonusActive()) {
        case 'N': // Active rallye is deactivated
                if (getBonusDisableNotify() == 'Y') {
                        // Okay, let's check for member accounts
-                       $sql .= ' > 0 AND `bonus_rallye_disable_notify` < `bonus_rallye_enable_notify`';
+                       $sql .= ' > 0 AND `d`.`bonus_rallye_disable_notify` < `d`.`bonus_rallye_enable_notify`';
                        $mode = 'disable';
                } else {
                        // Do not notify!
@@ -77,8 +77,18 @@ switch (getBonusActive()) {
 } // 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 .= ')' . runFilterChain('user_exclusion_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 = ((getBonusNotifyPoints() > 0) && ($mode == 'enable') && (isExtensionActive('bonus')));