X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmails%2Fbonus_mails.php;h=568a2f0f98e116f2cd0cd160e8122c7ca5578d55;hb=c89bf2a2baabaf9d0597399bcd340750149019d6;hp=673681010457c5346a55a77e919f7f517974bab5;hpb=60494e212a67fe360bfbb481eb4928480a6f379b;p=mailer.git diff --git a/inc/mails/bonus_mails.php b/inc/mails/bonus_mails.php index 6736810104..568a2f0f98 100644 --- a/inc/mails/bonus_mails.php +++ b/inc/mails/bonus_mails.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Versendet Erinnerungsmails * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $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 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,123 +37,105 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) -{ - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); -} - elseif ((!EXT_IS_ACTIVE("bonus")) && (!IS_ADMIN())) -{ - ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "bonus"); +if (!defined('__SECURITY')) { + die(); +} elseif (!isExtensionActive('bonus')) { return; } // Do not execute when script is in CSS mode -if ($CSS == 1) return; +if (getOutputMode() != 0) return; // Create timemark from saved month -$mark = mktime(0, 0, 0, $_CONFIG['bonus_month'], date("d", time()), date('Y', time())); -$SQL = ""; $MODE = ""; +$mark = mktime(0, 0, 0, getConfig('last_month'), date('d', time()), date('Y', time())); +$sql = ''; $mode = ''; // Shall I sent activation or deactivation mail? -$SQL = "SELECT userid, email FROM "._MYSQL_PREFIX."_user_data WHERE (bonus_ral_notify "; -switch ($_CONFIG['bonus_active']) +$sql = "SELECT `userid`, `email` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE (`bonus_ral_notify` "; +switch (getConfig('bonus_active')) { -case 'Y': // Active rallye is activated - if ($_CONFIG['bonus_en_notify'] == '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"; - } - else - { - // Do not notify! - $SQL = ""; - } - break; - -case 'N': // Active rallye is deactivated - if ($_CONFIG['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; + case 'Y': // Active rallye is activated + if (getConfig('bonus_en_notify') == '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'; + } 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)) -{ +if (!empty($sql)) { // The SQL command needs to be finisched here (only confirmed accounts!) - $SQL .= ") AND status='CONFIRMED' ORDER BY last_online ASC"; + $sql .= ") AND `status`='CONFIRMED' ORDER BY `last_online` ASC"; // Normal notification mails or bonus mails? - $MAIL_MODE = (($_CONFIG['bonus_notify_points'] > 0) && ($MODE == "en") && (EXT_IS_ACTIVE("bonus"))); + $sentBonusMails = ((getConfig('bonus_notify_points') > 0) && ($mode == "en") && (isExtensionActive('bonus'))); // Generate subject line - $eval = "\$SUBJECT = BONUS_RALLYE_".strtoupper($MODE)."_NOTIFY;"; - eval($eval); + $subject = getMessage('BONUS_RALLYE_' . strtoupper($mode).'_NOTIFY'); // Load message body for bonus mails - $MSG = LOAD_EMAIL_TEMPLATE("bonus_en_notify_body", "", "{PER}uid{PER}"); - $RECEIVER = ""; $UIDs = array(); + $message = loadEmailTemplate('bonus_en_notify_body', '', '{PER}userid{PER}'); + $RECEIVER = ''; $UIDs = 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_NUMROWS($result_main) > 0) { // 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=%d LIMIT 1", - array(time(), $MODE, time(), $uid), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` +SET + `bonus_ral_notify`=UNIX_TIMESTAMP(), + `bonus_ral_%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; - } - else - { + $UIDs[] = $content['userid']; + } else { // Send normal notification mail to the members - $MSG = LOAD_EMAIL_TEMPLATE("bonus_".$MODE."_notify", "", $uid); - SEND_EMAIL($email, $SUBJECT, $MSG); + $message = loadEmailTemplate('bonus_' . $mode . '_notify', $content, $content['userid']); + sendEmail($content['email'], $subject, $message); } - } + } // END - while // Shall I send out bonus mails? - if ($MAIL_MODE) - { + if ($sentBonusMails === true) { // Okay, make array to string - $RECEIVER = implode(";", $UIDs); - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_bonus -(subject, text, receivers, points, time, data_type, timestamp, url, cat_id, target_send, mails_sent, is_notify) -VALUES ('%s', '%s', '%s', '%s', '%s', 'NEW', UNIX_TIMESTAMP(), '%s', '%s', '%s', '%s', 'Y')", - array( - $SUBJECT, - $MSG, - $RECEIVER, - $_CONFIG['bonus_notify_points'], - $_CONFIG['bonus_notify_wait'], - URL."/modules.php?module=index&what=login", - 0, - SELECTION_COUNT(explode(";", $RECEIVER)), - SQL_NUMROWS($result_main), -), __FILE__, __LINE__); - } - } + $RECEIVER = implode(';', $UIDs); + + // Prepare URL + $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)); + } // END - if + } // END - if // Free memory SQL_FREERESULT($result_main); -} +} // END - if + // ?>