Rewrites to use filters instead of mass if() blocks
[mailer.git] / inc / mails / beg_mails.php
index 7c5217a3d94838e09f61d24685ee9353784f3c0f..ea429a5a366bb5eedb211c37b36aa6bb2b58fde0 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 (`beg_rallye_enable_notify` ";
+$sql = "SELECT `d`.`userid`, `d`.`email` FROM `{?_MYSQL_PREFIX?}_user_data` AS `d` WHERE (`d`.`beg_rallye_enable_notify` ";
 switch (getBegRallye()) {
        case 'Y': // Begging rallye is activated
                if (isBegRallyeEnableNotifyEnabled()) {
                        // Okay, let's check for member accounts
-                       $sql .= '= 0 OR (`beg_rallye_enable_notify` > 0 AND `beg_rallye_enable_notify` < `beg_rallye_disable_notify`)';
+                       $sql .= '= 0 OR (`d`.`beg_rallye_enable_notify` > 0 AND `d`.`beg_rallye_enable_notify` < `d`.`beg_rallye_disable_notify`)';
                        $mode = 'enable';
                } else {
                        // Do not notify!
@@ -67,7 +67,7 @@ switch (getBegRallye()) {
        case 'N': // Begging rallye is deactivated
                if (isBegRallyeDisableNotifyEnabled()) {
                        // Okay, let's check for member accounts
-                       $sql .= ' > 0 AND `beg_rallye_disable_notify` < `beg_rallye_enable_notify`';
+                       $sql .= ' > 0 AND `d`.`beg_rallye_disable_notify` < `d`.`beg_rallye_enable_notify`';
                        $mode = 'disable';
                } else {
                        // Do not notify!
@@ -77,8 +77,18 @@ switch (getBegRallye()) {
 } // 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';
 
        // No IP locking setuped by default
        $content['ip_locker'] = '{--BEG_NO_LIMITATION--}';