<?php
/************************************************************************
- * MXChange v0.2.1 Start: 12/12/2008 *
- * =============== Last change: 12/12/2008 *
+ * Mailer v0.2.1-FINAL Start: 12/12/2008 *
+ * =================== Last change: 12/12/2008 *
* *
* -------------------------------------------------------------------- *
* File : pool-bonus.php *
* -------------------------------------------------------------------- *
* Kurzbeschreibung : Sendet freigegebene Bonus-Mails aus dem Pool *
* -------------------------------------------------------------------- *
- * *
+ * $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 *
+ * Copyright (c) 2009, 2010 by Mailer Developer Team *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
// Some security stuff...
if (!defined('__SECURITY')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
+ die();
}
// Don't run on daily reset
-if (defined('__DAILY_RESET')) {
+if (isResetModeEnabled()) {
// Skip here
return false;
-} elseif (!EXT_IS_ACTIVE("bonus")) {
+} elseif (!isExtensionActive('bonus')) {
// Abort if extension bonus is not active
return false;
}
+// Need this here
// Only send bonus mail when bonus extension is active and maximum send-mails is not reached
-if ($cnt < $_CONFIG['max_send']) {
+if ($GLOBALS['pool_cnt'] < getConfig('max_send')) {
// Do we need to send out bonus mails?
- if (EXT_IS_ACTIVE("html_mail")) {
- // 0 1 2 3 4 5 6 7 8 9 10 11
- $result_bonus = SQL_QUERY("SELECT id, subject, text, receivers, points, time, data_type, timestamp, url, cat_id, target_send, html_msg FROM "._MYSQL_PREFIX."_bonus WHERE data_type='NEW' ORDER BY timestamp DESC", __FILE__, __LINE__);
+ if (isExtensionActive('html_mail')) {
+ // 0 1 2 3 4 5 6 7 8 9 10 11
+ $result_bonus = SQL_QUERY("SELECT `id`, `subject`, `text`, `receivers`, `points`, `time`, `data_type`, `timestamp`, `url`, `cat_id`, `target_send`, `html_msg` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `data_type`='NEW' ORDER BY `timestamp` DESC", __FILE__, __LINE__);
} else {
- // 0 1 2 3 4 5 6 7 8 9 10
- $result_bonus = SQL_QUERY("SELECT id, subject, text, receivers, points, time, data_type, timestamp, url, cat_id, target_send FROM "._MYSQL_PREFIX."_bonus WHERE data_type='NEW' ORDER BY timestamp DESC", __FILE__, __LINE__);
+ // 0 1 2 3 4 5 6 7 8 9 10
+ $result_bonus = SQL_QUERY("SELECT `id`, `subject`, `text`, `receivers`, `points`, `time`, `data_type`, `timestamp`, `url`, `cat_id`, `target_send` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `data_type`='NEW' ORDER BY `timestamp` DESC", __FILE__, __LINE__);
}
if (SQL_NUMROWS($result_bonus) > 0) {
// Send these mails away...
- $cnt2 = "";
+ $cnt2 = '';
while ($DATA = SQL_FETCHARRAY($result_bonus)) {
- // Compile URL
- $DATA['url'] = COMPILE_CODE($DATA['url']);
-
// Message is active in queue
- $result_queue = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_bonus SET data_type='QUEUE' WHERE id=%s LIMIT 1",
+ SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_bonus` SET `data_type`='QUEUE' WHERE `id`=%s LIMIT 1",
array(bigintval($DATA['id'])), __FILE__, __LINE__);
// "Explode" all receivers into an array
- if (ereg(";", $DATA['receivers'])) {
+ if (isInString(';', $DATA['receivers'])) {
// There's more than one receiver in the list...
- $RECEIVERS = explode(";", $DATA['receivers']);
+ $receiverS = explode(';', $DATA['receivers']);
} elseif (!empty($DATA['points'])) {
// Only one user left
- $RECEIVERS = array($DATA['receivers']);
+ $receiverS = array($DATA['receivers']);
} else {
// No users left
- $RECEIVERS = array("0");
+ $receiverS = array(0);
}
- $dummy = $RECEIVERS;
+ $dummy = $receiverS;
- // Now, if we are good little boys and girls Santa left us some user-ids.
+ // Now, if we are good little boys and girls Santa Claus left us some user-ids.
// We can now send mails to them...
- foreach ($RECEIVERS as $key => $uid) {
+ foreach ($receiverS as $key => $userid) {
// Load personal data
- //* DEBUG: */ echo "*L:".__LINE__."/".$uid."*<br />";
- $result_user = SQL_QUERY_ESC("SELECT surname, family, email FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
- array(bigintval($uid)), __FILE__, __LINE__);
-
- // Is his data available?
- if (SQL_NUMROWS($result_user) == 1)
- {
+ if (fetchUserData($userid)) {
// The final receiver does exists so we can continue...
- list($sname, $fname, $email) = SQL_FETCHROW($result_user);
- //* DEBUG: */ echo "OK!/L:".__LINE__."<br />";
+ //* DEBUG: */ debugOutput('OK!/L:'.__LINE__);
// Mark this user as "spammed" ;-) And place a line for him...
- if (REMOVE_RECEIVER($dummy, $key, $uid, $DATA['id'], $DATA['id'], true) == "done")
- {
+ if (removeReceiver($dummy, $key, $userid, $DATA['id'], $DATA['id'], true) == 'done') {
// Replace text variables
- foreach ($REPLACER as $key => $value) {
+ foreach ($GLOBALS['replacer'] as $key => $value) {
if (isset($DATA[$key])) $DATA['text'] = str_replace($value, $DATA[$key], $DATA['text']);
} // END - foreach
- // Prepare content
- $content = array(
- 'id' => $DATA['id'],
- 'url' => $DATA['url'],
- 'time' => CREATE_FANCY_TIME($DATA['time']),
- 'points' => TRANSLATE_COMMA($DATA['points']),
- 'category' => GET_CATEGORY($DATA['cat_id']),
- 'text' => $DATA['text']
- );
-
// Prepare the mail
- $msg = LOAD_EMAIL_TEMPLATE("bonus-mail", $content, $uid);
+ $mailText = loadEmailTemplate('bonus-mail', $DATA, $userid);
// Send mail away
if (isset($DATA['html_msg'])) {
// Send HTML?
- SEND_EMAIL($email, $DATA['subject'], $msg, $DATA['html_msg']);
+ sendEmail(getUserData('email'), $DATA['subject'], $mailText, $DATA['html_msg']);
} else {
// No HTML mail!
- SEND_EMAIL($email, $DATA['subject'], $msg);
+ sendEmail(getUserData('email'), $DATA['subject'], $mailText);
}
// Count one up and remove entry from dummy array
- $cnt++; unset($dummy[$key]);
+ $GLOBALS['pool_cnt']++; unset($dummy[$key]);
- if (GET_EXT_VERSION("user") >= "0.1.4")
- {
+ if (isExtensionInstalledAndNewer('user', '0.1.4')) {
// Update mails received for receiver
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET emails_received=emails_received+1 WHERE userid=%s LIMIT 1",
- array(bigintval($uid)), __FILE__, __LINE__);
- }
+ SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `emails_received`=`emails_received`+1 WHERE `userid`=%s LIMIT 1",
+ array(bigintval($userid)), __FILE__, __LINE__);
+ } // END - if
// Do we have send maximum mails?
- if (($cnt >= $_CONFIG['max_send']) || (SELECTION_COUNT($dummy) == 0))
- {
+ if (($GLOBALS['pool_cnt'] >= getConfig('max_send')) || (countSelection($dummy) == 0)) {
// Yes, we have
- //* DEBUG: */ echo "*EXIT/L:".__LINE__."<br />";
+ //* DEBUG: */ debugOutput('*EXIT/L:'.__LINE__);
break;
- }
- }
- }
-
- // Free some memory
- SQL_FREERESULT($result_user);
- }
+ } // END - if
+ } // END - if
+ } // END - if
+ } // END - foreach
// Update mediadata if version is 0.0.4 or higher
- if (GET_EXT_VERSION("mediadata") >= "0.0.4")
- {
+ if (isExtensionInstalledAndNewer('mediadata', '0.0.4')) {
// Update entry (or add missing
- $P = $cnt;
- if (!empty($cnt2) && empty($cnt)) $P = $cnt2;
- //* DEBUG: */ echo "+MEDIA/L:".__LINE__."/".$P."+<br />";
- MEDIA_UPDATE_ENTRY(array("total_send", "bonus_send"), "add", $P);
- }
+ $P = $GLOBALS['pool_cnt'];
+ if (!empty($cnt2) && empty($GLOBALS['pool_cnt'])) $P = $cnt2;
+ //* DEBUG: */ debugOutput('+MEDIA/L:'.__LINE__.'/'.$P.'+');
+ updateMediadataEntry(array('total_send', 'bonus_send'), 'add', $P);
+ } // END - if
// Close sending system
- //* DEBUG: */ echo "-L:".__LINE__."/".SELECTION_COUNT($dummy)."-<br />";
- if (SELECTION_COUNT($dummy) == 0)
- {
+ //* DEBUG: */ debugOutput('-L:'.__LINE__.'/'.countSelection($dummy).'-');
+ if (countSelection($dummy) == 0) {
// Queue reached!
- $result_done = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_bonus SET data_type='SEND', target_send='0', receivers='' WHERE id=%s LIMIT 1",
- array(bigintval($DATA['id'])), __FILE__, __LINE__);
- //* DEBUG: */ echo "*L:".__LINE__."*<br />";
+ SQL_QUERY_ESC("UPDATE
+ `{?_MYSQL_PREFIX?}_bonus`
+SET
+ `data_type`='SEND',
+ `target_send`=0,
+ `receivers`=''
+WHERE
+ `id`=%s
+LIMIT 1",
+ array(bigintval($DATA['id'])), __FILE__, __LINE__);
+ //* DEBUG: */ debugOutput('*L:'.__LINE__.'*');
// Update mediadata if version is 0.0.4 or higher
- if (GET_EXT_VERSION("mediadata") >= "0.0.4")
- {
+ if (isExtensionInstalledAndNewer('mediadata', '0.0.4')) {
// Update entry (or add missing)
- //* DEBUG: */ echo "*MEDIA/L:".__LINE__."*<br />";
- MEDIA_UPDATE_ENTRY(array("total_orders", "bonus_orders"), "add", 1);
- }
- }
- elseif ($cnt >= $_CONFIG['max_send'])
- {
+ //* DEBUG: */ debugOutput('*MEDIA/L:'.__LINE__.'*');
+ updateMediadataEntry(array('total_orders', 'bonus_orders'), 'add', 1);
+ } // END - if
+ } elseif ($GLOBALS['pool_cnt'] >= getConfig('max_send')) {
// Update bonus pool
- $result_done = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_bonus SET data_type='NEW', target_send=%s, receivers='%s' WHERE id=%s LIMIT 1",
- array(SELECTION_COUNT($dummy), implode(";", $dummy), bigintval($DATA['id'])), __FILE__, __LINE__);
- //* DEBUG: */ echo "*L:".__LINE__."<PRE>";
- //* DEBUG: */ print_r($dummy);
- //* DEBUG: */ echo "</PRE>\n!!!<br />";
+ SQL_QUERY_ESC("UPDATE
+ `{?_MYSQL_PREFIX?}_bonus`
+SET
+ `data_type`='NEW',
+ `target_send`=%s,
+ `receivers`='%s'
+WHERE
+ `id`=%s
+LIMIT 1",
+ array(
+ countSelection($dummy),
+ implode(';', $dummy),
+ bigintval($DATA['id'])
+ ), __FILE__, __LINE__);
+ //* DEBUG: */ debugOutput('*L:'.__LINE__.'<pre>'.print_r($dummy, true).'</pre>!!!');
break;
}
- }
- }
+ } // END - while
+ } // END - if
// Free memory
SQL_FREERESULT($result_bonus);
-}
-// Remove message (IMPORTANT!)
-unset($msg);
+ // Remove variable
+ unset($mailText);
+} // END - if
-//
+// [EOF]
?>