0) {
// Send these mails away...
$cnt2 = '';
while ($DATA = 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__);
// "Explode" all receivers into an array
if (ereg(';', $DATA['receivers'])) {
// There's more than one receiver in the list...
$receiverS = explode(';', $DATA['receivers']);
} elseif (!empty($DATA['points'])) {
// Only one user left
$receiverS = array($DATA['receivers']);
} else {
// No users left
$receiverS = array(0);
}
$dummy = $receiverS;
// 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 => $userid) {
// Load personal data
if (fetchUserData($userid)) {
// The final receiver does exists so we can continue...
//* DEBUG: */ print("OK!/L:".__LINE__."
");
// Mark this user as "spammed" ;-) And place a line for him...
if (removeReceiver($dummy, $key, $userid, $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' => createFancyTime($DATA['time']),
'points' => translateComma($DATA['points']),
'category' => getCategory($DATA['cat_id']),
'text' => $DATA['text']
);
// Prepare the mail
$mailText = loadEmailTemplate('bonus-mail', $content, $userid);
// Send mail away
if (isset($DATA['html_msg'])) {
// Send HTML?
sendEmail(getUserData('email'), $DATA['subject'], $mailText, $DATA['html_msg']);
} else {
// No HTML mail!
sendEmail(getUserData('email'), $DATA['subject'], $mailText);
}
// Count one up and remove entry from dummy array
$GLOBALS['pool_cnt']++; unset($dummy[$key]);
if (getExtensionVersion('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'] >= getConfig('max_send')) || (countSelection($dummy) == '0')) {
// Yes, we have
//* DEBUG: */ print("*EXIT/L:".__LINE__."
");
break;
} // END - if
} // END - if
} // END - if
} // END - foreach
// Update mediadata if version is 0.0.4 or higher
if (getExtensionVersion('mediadata') >= '0.0.4') {
// Update entry (or add missing
$P = $GLOBALS['pool_cnt'];
if (!empty($cnt2) && empty($GLOBALS['pool_cnt'])) $P = $cnt2;
//* DEBUG: */ print("+MEDIA/L:".__LINE__.'/'.$P."+
");
updateMediadataEntry(array('total_send', 'bonus_send'), 'add', $P);
} // END - if
// Close sending system
//* DEBUG: */ print("-L:".__LINE__.'/'.countSelection($dummy)."-
");
if (countSelection($dummy) == '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: */ print("*L:".__LINE__."*
");
// Update mediadata if version is 0.0.4 or higher
if (getExtensionVersion('mediadata') >= '0.0.4') {
// Update entry (or add missing)
//* DEBUG: */ print("*MEDIA/L:".__LINE__."*
");
updateMediadataEntry(array('total_orders', 'bonus_orders'), 'add', 1);
} // END - if
} elseif ($GLOBALS['pool_cnt'] >= getConfig('max_send')) {
// 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(countSelection($dummy), implode(';', $dummy), bigintval($DATA['id'])), __FILE__, __LINE__);
//* DEBUG: */ print("*L:".__LINE__."
"); //* DEBUG: */ print(print_r($dummy, true)); //* DEBUG: */ print("\n!!!