X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Fpool%2Fpool-bonus.php;h=b127dac6652dc5e2f656e95b58b81a3616db3b19;hb=840659bfdfe0d0cf891135382818cdc134bf6f2e;hp=d52b7a64b173590884d410ab7a5c13dd1e055212;hpb=7a4d6209de9417c7e6a78e789c4d58a3066f00f3;p=mailer.git
diff --git a/inc/pool/pool-bonus.php b/inc/pool/pool-bonus.php
index d52b7a64b1..b127dac665 100644
--- a/inc/pool/pool-bonus.php
+++ b/inc/pool/pool-bonus.php
@@ -1,7 +1,7 @@
0) {
+ if (!SQL_HASZERONUMS($result_bonus)) {
// Send these mails away...
- $cnt2 = "";
- while ($DATA = SQL_FETCHARRAY($result_bonus)) {
- // Compile URL
- $DATA['url'] = COMPILE_CODE($DATA['url']);
-
+ $count2 = '';
+ while ($mailData = SQL_FETCHARRAY($result_bonus)) {
// Message is active in queue
- SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_bonus` SET data_type='QUEUE' WHERE id=%s LIMIT 1",
- array(bigintval($DATA['id'])), __FILE__, __LINE__);
+ SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_bonus` SET `data_type`='QUEUE' WHERE `id`=%s LIMIT 1",
+ array(bigintval($mailData['id'])), __FILE__, __LINE__);
// "Explode" all receivers into an array
- if (ereg(";", $DATA['receivers'])) {
+ if (isInString(';', $mailData['receivers'])) {
// There's more than one receiver in the list...
- $RECEIVERS = explode(";", $DATA['receivers']);
- } elseif (!empty($DATA['points'])) {
+ $receivers = explode(';', $mailData['receivers']);
+ } elseif (!empty($mailData['points'])) {
// Only one user left
- $RECEIVERS = array($DATA['receivers']);
+ $receivers = array($mailData['receivers']);
} else {
// No users left
- $RECEIVERS = array("0");
+ $receivers = array(0);
}
- $dummy = $RECEIVERS;
+ $temporaryReceivers = $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."*
";
- $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__."
";
-
- // Mark this user as "spammed" ;-) And place a line for him...
- if (REMOVE_RECEIVER($dummy, $key, $uid, $DATA['id'], $DATA['id'], true) == "done") {
- // Replace text variables
- 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
- $mailText = LOAD_EMAIL_TEMPLATE("bonus-mail", $content, $uid);
-
- // Send mail away
- if (isset($DATA['html_msg'])) {
- // Send HTML?
- SEND_EMAIL($email, $DATA['subject'], $mailText, $DATA['html_msg']);
- } else {
- // No HTML mail!
- SEND_EMAIL($email, $DATA['subject'], $mailText);
- }
-
- // Count one up and remove entry from dummy array
- $GLOBALS['pool_cnt']++; unset($dummy[$key]);
-
- if (GET_EXT_VERSION("user") >= "0.1.4") {
- // Update mails received for receiver
- SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET emails_received=emails_received+1 WHERE userid=%s LIMIT 1",
- array(bigintval($uid)), __FILE__, __LINE__);
- } // END - if
-
- // Do we have send maximum mails?
- if (($GLOBALS['pool_cnt'] >= getConfig('max_send')) || (SELECTION_COUNT($dummy) == 0)) {
- // Yes, we have
- //* DEBUG: */ echo "*EXIT/L:".__LINE__."
";
+ //* DEBUG: */ debugOutput('OK!/L:'.__LINE__);
+
+ // Remove receiver from list
+ $status = removeReceiver($temporaryReceivers, $key, $userid, $mailData['id'], $mailData['id'], true);
+
+ // Did it work?
+ switch ($status) {
+ case 'done': // Done!
+ // Prepare the mail
+ $mailText = loadEmailTemplate('member_bonus_pool_normal', $mailData, $userid);
+
+ // Send mail away
+ if (isset($mailData['html_msg'])) {
+ // Send HTML?
+ sendEmail(getUserData('userid'), $mailData['subject'], $mailText, $mailData['html_msg']);
+ } else {
+ // No HTML mail!
+ sendEmail(getUserData('userid'), $mailData['subject'], $mailText);
+ }
+
+ // Count one up and remove entry from dummy array
+ $GLOBALS['pool_cnt']++; unset($temporaryReceivers[$key]);
+
+ if (isExtensionInstalledAndNewer('user', '0.1.4')) {
+ // Update mails received for receiver
+ 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 (($GLOBALS['pool_cnt'] >= getMaxSend()) || (countSelection($temporaryReceivers) == 0)) {
+ // Yes, we have
+ //* DEBUG: */ debugOutput('*EXIT/L:'.__LINE__);
+ break;
+ } // END - if
break;
- } // END - if
- } // END - if
- } // END - if
- // Free some memory
- SQL_FREERESULT($result_user);
- }
+ default: // Unknown return type
+ logDebugMessage(__FILE__, __LINE__, 'Unknown status ' . $status . ' detected. pool_id=' . $mailData['id'] . ',userid=' . $mailData['userid'] . ',stats_id=' . $stats_id);
+ break;
+ } // END - switch
+ } // 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 = $GLOBALS['pool_cnt'];
- if (!empty($cnt2) && empty($GLOBALS['pool_cnt'])) $P = $cnt2;
- //* DEBUG: */ echo "+MEDIA/L:".__LINE__."/".$P."+
";
- MEDIA_UPDATE_ENTRY(array("total_send", "bonus_send"), "add", $P);
+ if (!empty($count2) && empty($GLOBALS['pool_cnt'])) $P = $count2;
+ //* 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)."-
";
- if (SELECTION_COUNT($dummy) == 0) {
+ //* DEBUG: */ debugOutput('-L:'.__LINE__.'/'.countSelection($temporaryReceivers).'-');
+ if (countSelection($temporaryReceivers) == 0) {
// Queue reached!
- 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__."*
";
+ SQL_QUERY_ESC("UPDATE
+ `{?_MYSQL_PREFIX?}_bonus`
+SET
+ `data_type`='SEND',
+ `target_send`=0,
+ `receivers`=''
+WHERE
+ `id`=%s
+LIMIT 1",
+ array(bigintval($mailData['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__."*
";
- MEDIA_UPDATE_ENTRY(array("total_orders", "bonus_orders"), "add", 1);
+ //* DEBUG: */ debugOutput('*MEDIA/L:'.__LINE__.'*');
+ updateMediadataEntry(array('total_orders', 'bonus_orders'), 'add', 1);
} // END - if
- } elseif ($GLOBALS['pool_cnt'] >= getConfig('max_send')) {
+ } elseif ($GLOBALS['pool_cnt'] >= getMaxSend()) {
// Update bonus pool
- 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__."
"; - //* DEBUG: */ print_r($dummy); - //* DEBUG: */ echo "\n!!!
'.print_r($temporaryReceivers, true).'!!!'); break; } - } - } + } // END - while + } // END - if // Free memory SQL_FREERESULT($result_bonus); // Remove variable unset($mailText); -} +} // END - if -// +// [EOF] ?>