X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmails%2Fbeg_mails.php;h=58fae33f77bf0cf589351da5ddc6685a92ac368b;hp=fee209debf188c05173fa2b883eaf4579acba22c;hb=61621983cc6d7195fcc7eab29b5f6080ff283b34;hpb=7b0f17cd637e388049d2167811e4332cec1e979b diff --git a/inc/mails/beg_mails.php b/inc/mails/beg_mails.php index fee209debf..58fae33f77 100644 --- a/inc/mails/beg_mails.php +++ b/inc/mails/beg_mails.php @@ -1,7 +1,7 @@ 0 AND beg_ral_en_notify < beg_ral_di_notify)"; - $mode = "en"; - } - else - { - // Do not notify! - $sql = ''; - } - break; - -case 'N': // Begging rallye is deactivated - if (getConfig('beg_ral_di_notify') == 'Y') - { - // Okay, let's check for member accounts - $sql .= " > 0 AND beg_ral_di_notify < beg_ral_en_notify"; - $mode = "di"; - } - else - { - // Do not notify! - $sql = ''; - } - break; -} +$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 (`d`.`beg_rallye_enable_notify` > 0 AND `d`.`beg_rallye_enable_notify` < `d`.`beg_rallye_disable_notify`)'; + $mode = 'enable'; + } else { + // Do not notify! + $sql = ''; + } + break; + + case 'N': // Begging rallye is deactivated + if (isBegRallyeDisableNotifyEnabled()) { + // Okay, let's check for member accounts + $sql .= ' > 0 AND `d`.`beg_rallye_disable_notify` < `d`.`beg_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"; - - // Prepare data for the template - define('__BEG_MIN_POINTS' , translateComma(getConfig('beg_points'))); - define('__BEG_MAX_POINTS' , translateComma(getConfig('beg_points_max'))); - define('__BEG_MAX_WINNERS', round(getConfig('beg_ranks'))); - if (getConfig('beg_ip_timeout') == 0) - { - // No IP locking setuped! - define('__BEG_IP_LOCKER', getMessage('BEG_NO_LIMITATION')); - } - else - { + $sql .= ')' . 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--}'; + + if (getBegIpTimeout() > 0) { // Create timemark - define('__BEG_IP_LOCKER', createFancyTime(getConfig('beg_ip_timeout'))); - } + $content['ip_locker'] = '{%config,createFancyTime=beg_ip_timeout%}'; + } // END - if // Check for accounts to be notified - $result_main = SQL_QUERY($sql, __FILE__, __LINE__); - if (SQL_NUMROWS($result_main) > 0) { - // Normal notification mails or bonus mails? - $sentBonusMails = ((getConfig('beg_notify_bonus') > 0) && ($mode == "en") && (EXT_IS_ACTIVE('bonus'))); + $result_main = sqlQuery($sql, __FILE__, __LINE__); - // Generate subject line - $subject = constant('BEG_RALLYE_'.strtoupper($mode).'_NOTIFY'); + if (!ifSqlHasZeroNumRows($result_main)) { + // Normal notification mails or bonus mails? + $sentBonusMails = ((getBegNotifyBonus() > 0) && ($mode == 'enable') && (isExtensionActive('bonus'))); // Load message body for bonus mails - $message = LOAD_EMAIL_TEMPLATE("beg_en_notify_body", '', "{PER}uid{PER}"); - $RECEIVER = ''; $UIDs = array(); + $message = loadEmailTemplate('beg_enable_notify_body', '', '{PER}userid{PER}'); + $receiver = ''; $userids = array(); // Okay lets notify all users! - while ($content = SQL_FETCHARRAY($result_main)) { + while ($row = sqlFetchArray($result_main)) { + // Merge arrays + $content = merge_array($content, $row); + // Update account - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` -SET beg_ral_notify='%s', beg_ral_%s_notify='%s' -WHERE userid=%s + sqlQueryEscaped("UPDATE + `{?_MYSQL_PREFIX?}_user_data` +SET + `beg_rallye_%s_notify`=UNIX_TIMESTAMP() +WHERE + `userid`=%s LIMIT 1", - array(time(), $mode, time(), $content['userid']), __FILE__, __LINE__); + array( + $mode, + $content['userid'] + ), __FILE__, __LINE__); // Load email template and send it to the user! - if ($sentBonusMails === true) { + if ($sentBonusMails === TRUE) { // Add userid to queue - $UIDs[] = $content['userid']; + array_push($userids, $content['userid']); } else { // Send normal notification mail to the members - $message = LOAD_EMAIL_TEMPLATE('beg_' . $mode . '_notify', array(), $content['userid']); - sendEmail($content['email'], $subject, $message); + $message = loadEmailTemplate('beg_' . $mode . '_notify', $content, $content['userid']); + sendEmail($content['userid'], '{--BEG_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(';', $UIDs); + $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('beg_notify_bonus'), getConfig('beg_notify_wait'), $URL, 0, 'normal', SQL_NUMROWS($result_main)); + addBonusMailToQueue('{--BEG_RALLYE_' . strtoupper($mode) . '_SUBJECT--}', $message, $receiver, getBegNotifyBonus(), getBegNotifyWait(), $url, 0, 'normal', sqlNumRows($result_main)); } // END - if } // END - if // Free memory - SQL_FREERESULT($result_main); + sqlFreeResult($result_main); } // END - if -// +// [EOF] ?>