X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmails%2Fbonus_mails.php;h=2493a25e5918252d47ce4df5b82ce225b31d2b8f;hp=860a33701c3c6f1cc7b95a9ae7da0c413861653a;hb=596c8ab32594401ca84abfbfe35513ddfff31bec;hpb=f9a9c09e1ae257449bfd98f8854e321efba1dc3c diff --git a/inc/mails/bonus_mails.php b/inc/mails/bonus_mails.php index 860a33701c..2493a25e59 100644 --- a/inc/mails/bonus_mails.php +++ b/inc/mails/bonus_mails.php @@ -1,7 +1,7 @@ 0 AND bonus_ral_en_notify < bonus_ral_di_notify)"; - $MODE = "en"; - } else { - // Do not notify! - $SQL = ""; - } - break; - -case "N": // Active rallye is deactivated - if (getConfig('bonus_di_notify') == "Y") { - // Okay, let's check for member accounts - $SQL .= " > 0 AND bonus_ral_di_notify < bonus_ral_en_notify"; - $MODE = "di"; - } else { - // Do not notify! - $SQL = ""; - } - break; -} - -if (!empty($SQL)) { +$sql = "SELECT `userid`, `email` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE (`bonus_rallye_enable_notify` "; +switch (getConfig('bonus_active')) { + case 'Y': // Active rallye is activated + if (getConfig('bonus_enable_notify') == '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`)'; + $mode = 'enable'; + } else { + // Do not notify! + $sql = ''; + } + break; + + case 'N': // Active rallye is deactivated + if (getConfig('bonus_disable_notify') == 'Y') { + // Okay, let's check for member accounts + $sql .= ' > 0 AND `bonus_rallye_disable_notify` < `bonus_rallye_enable_notify`'; + $mode = 'disable'; + } else { + // Do not notify! + $sql = ''; + } + break; +} // END - switch + +if (!empty($sql)) { // The SQL command needs to be finisched here (only confirmed accounts!) - $SQL .= ") AND status='CONFIRMED' ORDER BY last_online ASC"; + $sql .= ')' . runFilterChain('user_exclusion_sql', " AND `status`='CONFIRMED'") . ' ORDER BY `last_online` ASC'; // Normal notification mails or bonus mails? - $MAIL_MODE = ((getConfig('bonus_notify_points') > 0) && ($MODE == "en") && (EXT_IS_ACTIVE("bonus"))); - - // Generate subject line - $SUBJECT = constant('BONUS_RALLYE_'.strtoupper($MODE).'_NOTIFY'); + $sentBonusMails = ((getConfig('bonus_notify_points') > 0) && ($mode == 'enable') && (isExtensionActive('bonus'))); // Load message body for bonus mails - $MSG = LOAD_EMAIL_TEMPLATE("bonus_en_notify_body", "", "{PER}uid{PER}"); - $RECEIVER = ""; $UIDs = array(); + $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) { + $result_main = SQL_QUERY($sql, __FILE__, __LINE__); + if (!SQL_HASZERONUMS($result_main)) { // Okay lets notify all users! - while(list($uid, $email) = SQL_FETCHROW($result_main)) { + while ($content = SQL_FETCHARRAY($result_main)) { // Update account - $result_update = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data -SET bonus_ral_notify='%s', bonus_ral_%s_notify='%s' WHERE userid=%s LIMIT 1", - array(time(), $MODE, time(), $uid), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE + `{?_MYSQL_PREFIX?}_user_data` +SET + `bonus_rallye_%s_notify`=UNIX_TIMESTAMP() +WHERE + `userid`=%s +LIMIT 1", + array( + $mode, + $content['userid'] + ), __FILE__, __LINE__); // Load email template and send it to the user! - if ($MAIL_MODE) { + if ($sentBonusMails === TRUE) { // Add userid to queue - $UIDs[] = $uid; + array_push($userids, $content['userid']); } else { // Send normal notification mail to the members - $MSG = LOAD_EMAIL_TEMPLATE("bonus_".$MODE."_notify", array(), $uid); - SEND_EMAIL($uid, $SUBJECT, $MSG); + $message = loadEmailTemplate('bonus_' . $mode . '_notify', $content, $content['userid']); + sendEmail($content['userid'], '{--MEMBER_BONUS_RALLYE_' . strtoupper($mode) . '_SUBJECT--}', $message); } } // END - while // Shall I send out bonus mails? - if ($MAIL_MODE) { + if ($sentBonusMails === TRUE) { // Okay, make array to string - $RECEIVER = implode(";", $UIDs); + $receiver = implode(';', $userids); // Prepare URL - $url = URL."/modules.php?module=index&what=login"; + $url = 'modules.php?module=index&what=login'; // Insert mail - ADD_BONUS_MAIL_TO_QUEUE($SUBJECT, $MSG, $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, getConfig('bonus_notify_points'), getConfig('bonus_notify_wait'), $url, 0, 'normal', SQL_NUMROWS($result_main)); } // END - if } // END - if