X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fpool%2Fpool-user.php;h=eae45bc0e45da7487bc60af0d1e9dd7ba10db9bf;hp=bc832f06251617b24ae5a2433ec57ec22b9bea4b;hb=8fad776382e63b3f73f8dbe289f229d79cfc2c22;hpb=09fd6484d1eaf735476270c33692f799bc0c9590 diff --git a/inc/pool/pool-user.php b/inc/pool/pool-user.php index bc832f0625..eae45bc0e4 100644 --- a/inc/pool/pool-user.php +++ b/inc/pool/pool-user.php @@ -16,8 +16,8 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2011 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2012 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -55,13 +55,21 @@ $HTML = ''; // Check for freed mail orders to send out if (isExtensionActive('html_mail')) { // With HTML mails - $HTML = ', `html_msg`'; + $HTML = ',`html_msg`'; } // END - if // Main query $result_main = SQL_QUERY("SELECT - `id`, `sender` AS `sender_userid`, `subject`, `text`, `receivers`, - `payment_id`, `timestamp`, `url`, `target_send`, `cat_id` + `id`, + `sender` AS `sender_userid`, + `subject`, + `text`, + `receivers`, + `payment_id`, + `timestamp`, + `url`, + `target_send`, + `cat_id` ".$HTML." FROM `{?_MYSQL_PREFIX?}_pool` @@ -78,7 +86,7 @@ $pointsBack = array(0); if (!SQL_HASZERONUMS($result_main)) { // Parse all mails - while ($mailData = SQL_FETCHARRAY($result_main, 0, false)) { + while ($mailData = SQL_FETCHARRAY($result_main)) { // Set mail order as 'active'. That means it will be sent out SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_pool` SET `data_type`='ACTIVE' WHERE `id`=%s AND `data_type`='NEW' LIMIT 1", array($mailData['id']), __FILE__, __LINE__); @@ -100,7 +108,7 @@ if (!SQL_HASZERONUMS($result_main)) { // No users left $receivers = array(0); } - $dummy = $receivers; + $temporaryReceivers = $receivers; // Now, if we are good little boys and girls Santa Claus left us some user-ids. // We can now send mails to them... @@ -108,7 +116,7 @@ if (!SQL_HASZERONUMS($result_main)) { // Lookup user id //* DEBUG: */ debugOutput('*L:'.__LINE__.'/'.SQL_NUMROWS($result_user).'*'); if (fetchUserData($userid)) { - // Do we have a stats entry? + // Is there a stats entry? $result_stats = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `pool_id`=%s AND `userid`=%s AND timestamp_ordered='%s' LIMIT 1", array($mailData['id'], $mailData['sender_userid'], $mailData['timestamp']), __FILE__, __LINE__); @@ -116,8 +124,39 @@ if (!SQL_HASZERONUMS($result_main)) { //* DEBUG: */ debugOutput('!L:'.__LINE__.'/'.SQL_NUMROWS($result_stats).'!'); if (SQL_HASZERONUMS($result_stats)) { // No entry was found, so we add him! - SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_stats` (`pool_id` , `userid`, `cat_id`, `payment_id`, `subject`, `url` , `max_rec` , `timestamp_ordered`, `timestamp_sstart`) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s' , UNIX_TIMESTAMP())", - array(bigintval($mailData['id']), bigintval($mailData['sender_userid']), bigintval($mailData['cat_id']), bigintval($mailData['payment_id']), $mailData['subject'], $mailData['url'], $mailData['target_send'], bigintval($mailData['timestamp'])), __FILE__, __LINE__); + SQL_QUERY_ESC("INSERT INTO + `{?_MYSQL_PREFIX?}_user_stats` +( + `pool_id`, + `userid`, + `cat_id`, + `payment_id`, + `subject`, + `url`, + `max_rec`, + `timestamp_ordered`, + `timestamp_sstart` +) VALUES ( + %s, + %s, + %s, + %s, + '%s', + '%s', + %s, + %s, + UNIX_TIMESTAMP() +)", + array( + bigintval($mailData['id']), + bigintval($mailData['sender_userid']), + bigintval($mailData['cat_id']), + bigintval($mailData['payment_id']), + $mailData['subject'], + $mailData['url'], + bigintval($mailData['target_send']), + bigintval($mailData['timestamp']) + ), __FILE__, __LINE__); // Receive it's id for the links table $result_stats = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `pool_id`=%s AND `userid`=%s AND timestamp_ordered='%s' LIMIT 1", @@ -130,17 +169,17 @@ if (!SQL_HASZERONUMS($result_main)) { list($stats_id) = SQL_FETCHROW($result_stats); // Remove receiver from list - $status = removeReceiver($dummy, $key, bigintval($userid), bigintval($mailData['id']), bigintval($stats_id)); + $status = removeReceiver($temporaryReceivers, $key, bigintval($userid), bigintval($mailData['id']), bigintval($stats_id)); - //* DEBUG: */ debugOutput('?L:'.__LINE__.'/'.$dummy.'/'.$key.'/'.$userid.'('.['sender_userid'].')/'.$mailData['id'].'/'.$stats_id.'?'); + //* DEBUG: */ debugOutput('?L:'.__LINE__.'/'.$temporaryReceivers.'/'.$key.'/'.$userid.'('.['sender_userid'].')/'.$mailData['id'].'/'.$stats_id.'?'); switch ($status) { case 'done': // Prepare the mail $mailData['stats_id'] = bigintval($stats_id); // Prepare content - $mailData['time'] = getPaymentPoints($mailData['payment_id'], 'time'); - $mailData['points'] = getPaymentPoints($mailData['payment_id'], 'payment'); + $mailData['time'] = getPaymentData($mailData['payment_id'], 'time'); + $mailData['points'] = getPaymentData($mailData['payment_id'], 'payment'); // Load message template $mailText = loadEmailTemplate('member_user_pool_normal', $mailData, bigintval($userid)); @@ -182,7 +221,7 @@ if (!SQL_HASZERONUMS($result_main)) { } // END - switch } // END - if - // Do we have reached the maximum to send mails? || (getConfig('max_send') >= $GLOBALS['pool_cnt']) + // Is there reached the maximum to send mails? || (getConfig('max_send') >= $GLOBALS['pool_cnt']) //* DEBUG: */ debugOutput('*L:'.__LINE__.'/'.$GLOBALS['pool_cnt'].'>='.$mailData['target_send'].'/'.getConfig('max_send').'>='.$GLOBALS['pool_cnt'].'/'.$lastSentId.'!='.$mailData['id'].'*'); if ((($GLOBALS['pool_cnt'] >= $mailData['target_send'])) && ($lastSentId != $mailData['id'])) { // Prepare content @@ -191,7 +230,7 @@ if (!SQL_HASZERONUMS($result_main)) { 'cat_id' => $mailData['cat_id'], 'text' => $mailData['text'], 'url' => $mailData['url'], - 'expiration' => '{%pipe,createFancyTime=' . getPaymentPoints($mailData['payment_id'], 'time') . '%}' + 'expiration' => '{%pipe,createFancyTime=' . getPaymentData($mailData['payment_id'], 'time') . '%}' ); // Yes we do, so we notify admin and sender about fully sent mail! @@ -207,7 +246,7 @@ if (!SQL_HASZERONUMS($result_main)) { } // END - if // Set status to SEND because we completely send it away - SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_pool` SET `data_type`='SEND', `target_send`=0, `receivers`='' WHERE `id`=%s LIMIT 1", + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_pool` SET `data_type`='SEND',`target_send`=0,`receivers`='' WHERE `id`=%s LIMIT 1", array(bigintval($mailData['id'])), __FILE__, __LINE__); // Update send-completed-time @@ -227,14 +266,14 @@ if (!SQL_HASZERONUMS($result_main)) { //* DEBUG: */ debugOutput('*EXIT/L:'.__LINE__.'/'.$P); break; } - // Do we have send maximum mails? + // Is there send maximum mails? elseif (($GLOBALS['pool_cnt'] >= getConfig('max_send')) || ($count2 >= getConfig('max_send'))) { // There are some mails left to send for next round, so we reset the status back to NEW (=still not fully delivered) $add = ''; if ($GLOBALS['pool_cnt'] <= $mailData['target_send']) $add = ", target_send=target_send-".$GLOBALS['pool_cnt']; SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_pool` SET `data_type`='NEW', receivers='%s'" . $add . " WHERE `id`=%s LIMIT 1", array( - implode(';', $dummy), + implode(';', $temporaryReceivers), bigintval($mailData['id']) ), __FILE__, __LINE__); @@ -254,9 +293,9 @@ if (!SQL_HASZERONUMS($result_main)) { // Is the userid set? if (isValidUserId($userid)) { // User does not exists, pay points back - $points = getPaymentPoints($mailData['payment_id']); - initReferalSystem(); - addPointsThroughReferalSystem('pool_payback', $mailData['sender_userid'], $points); + $points = getPaymentData($mailData['payment_id']); + initReferralSystem(); + addPointsThroughReferralSystem('pool_payback', $mailData['sender_userid'], $points); // Add points together and remove user $pointsBack[$mailData['sender_userid']] += $points; @@ -267,17 +306,17 @@ if (!SQL_HASZERONUMS($result_main)) { } // Remove entry from list - unset($dummy[$key]); + unset($temporaryReceivers[$key]); // Update receivers SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_pool` SET `receivers`='%s' WHERE `id`=%s LIMIT 1", - array(implode(';', $dummy), bigintval($mailData['id'])), __FILE__, __LINE__); + array(implode(';', $temporaryReceivers), bigintval($mailData['id'])), __FILE__, __LINE__); } } // END - foreach } // END - if } // END - while - // Do we have points to "pay back"? + // Is there points to "pay back"? if ((count($pointsBack) > 0) && (!empty($pointsBack[0]))) { // Walk through all points foreach ($pointsBack as $userid => $PB) {