X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fpool%2Fpool-user.php;h=a0b400076eaf25df527ae808ccf639ea824df2b0;hp=941f9a3f15bfd32c40b4d3cd5d9059f24f40a6e9;hb=06a24901c58897845bafc1e5b428fee99024bc64;hpb=508228c85fba8448d00865b1639cb8cd7a69e457 diff --git a/inc/pool/pool-user.php b/inc/pool/pool-user.php index 941f9a3f15..a0b400076e 100644 --- a/inc/pool/pool-user.php +++ b/inc/pool/pool-user.php @@ -10,7 +10,7 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Sendet freigegebene Mitglieder-Mails aus Pool * * -------------------------------------------------------------------- * - * $Revision:: 856 $ * + * $Revision:: $ * * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * @@ -38,7 +38,7 @@ // Some security stuff... if (!defined('__SECURITY')) { - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; + $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php'; require($INC); } @@ -46,14 +46,14 @@ if (!defined('__SECURITY')) { if (isResetModeEnabled()) { // Skip here return false; -} elseif (!EXT_IS_ACTIVE("user")) { +} elseif (!EXT_IS_ACTIVE('user')) { // Abort here if extension user is not active return false; } // Need this here // Check for freed mail orders to send out -if (EXT_IS_ACTIVE("html_mail")) { +if (EXT_IS_ACTIVE('html_mail')) { // 0 1 2 3 4 5 6 7 8 9 10 $result_main = SQL_QUERY("SELECT id, sender, subject, text, receivers, payment_id, timestamp, url, target_send, cat_id, html_msg FROM `{!_MYSQL_PREFIX!}_pool` WHERE data_type='NEW' ORDER BY timestamp DESC", __FILE__, __LINE__); } else { @@ -62,16 +62,16 @@ if (EXT_IS_ACTIVE("html_mail")) { } // Reset variables -$cnt2 = 0; $lastSentId = 0; $cnt_back = array("0"); $pointsBack = array("0"); +$cnt2 = 0; $lastSentId = 0; $cnt_back = array('0'); $pointsBack = array('0'); if (SQL_NUMROWS($result_main) > 0) { // Parse all mails while ($DATA = SQL_FETCHROW($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($DATA[0]), __FILE__, __LINE__); + // 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($DATA[0]), __FILE__, __LINE__); // Check fetched data for HTML - $HTML = $DATA[10]; if ($HTML == $DATA[0]) $HTML = "N"; + $HTML = $DATA[10]; if ($HTML == $DATA[0]) $HTML = 'N'; // Compile URL and subject line $DATA[7] = COMPILE_CODE($DATA[7]); @@ -79,15 +79,15 @@ if (SQL_NUMROWS($result_main) > 0) { // Entry updated? if (SQL_AFFECTEDROWS() == 1) { // "Explode" all receivers into an array - if (ereg(";", $DATA[4])) { + if (ereg(';', $DATA[4])) { // There's more than one receiver in the list... - $RECEIVERS = explode(";", $DATA[4]); + $RECEIVERS = explode(';', $DATA[4]); } elseif (!empty($DATA[4])) { // Only one user left $RECEIVERS = array($DATA[4]); } else { // No users left - $RECEIVERS = array("0"); + $RECEIVERS = array('0'); } $dummy = $RECEIVERS; @@ -96,10 +96,10 @@ if (SQL_NUMROWS($result_main) > 0) { foreach ($RECEIVERS as $key => $uid) { // Lookup user ID $result_user = SQL_QUERY_ESC("SELECT gender, surname, family, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", - array(bigintval($uid)), __FILE__, __LINE__); + array(bigintval($uid)), __FILE__, __LINE__); // Is his data available? - //* DEBUG: */ echo "*L:".__LINE__."/".SQL_NUMROWS($result_user)."*
"; + //* DEBUG: */ echo "*L:".__LINE__.'/'.SQL_NUMROWS($result_user)."*
"; if (SQL_NUMROWS($result_user) == 1) { // The final receiver does exists so we can continue... list($gender, $sname, $fname, $email) = SQL_FETCHROW($result_user); @@ -108,107 +108,107 @@ if (SQL_NUMROWS($result_main) > 0) { SQL_FREERESULT($result_user); // Do we have 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($DATA[0], $DATA[1], $DATA[6]), __FILE__, __LINE__); + $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($DATA[0], $DATA[1], $DATA[6]), __FILE__, __LINE__); // If there's no stats entry add it! - //* DEBUG: */ echo "!L:".__LINE__."/".SQL_NUMROWS($result_stats)."!
"; + //* DEBUG: */ echo "!L:".__LINE__.'/'.SQL_NUMROWS($result_stats)."!
"; if (SQL_NUMROWS($result_stats) == 0) { // 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($DATA[0]), bigintval($DATA[1]), bigintval($DATA[9]), bigintval($DATA[5]), $DATA[2], $DATA[7], $DATA[8], bigintval($DATA[6])), __FILE__, __LINE__); + array(bigintval($DATA[0]), bigintval($DATA[1]), bigintval($DATA[9]), bigintval($DATA[5]), $DATA[2], $DATA[7], $DATA[8], bigintval($DATA[6])), __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", - array(bigintval($DATA[0]), bigintval($DATA[1]), bigintval($DATA[6])), __FILE__, __LINE__); + $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(bigintval($DATA[0]), bigintval($DATA[1]), bigintval($DATA[6])), __FILE__, __LINE__); } // END - if - //* DEBUG: */ echo "!L:".__LINE__."/".SQL_NUMROWS($result_stats)."!
"; + //* DEBUG: */ echo "!L:".__LINE__.'/'.SQL_NUMROWS($result_stats)."!
"; if (SQL_NUMROWS($result_stats) == 1) { // We got one! list($stats_id) = SQL_FETCHROW($result_stats); // Mark this user as "spammed" ;-) And place a line for him... - //* DEBUG: */ echo "?L:".__LINE__."/".$dummy."/".$key."/".$uid."(".$DATA[1].")/".$DATA[0]."/".$stats_id."?
"; - switch (REMOVE_RECEIVER($dummy, $key, bigintval($uid), bigintval($DATA[0]), bigintval($stats_id))) + //* DEBUG: */ echo "?L:".__LINE__.'/'.$dummy.'/'.$key.'/'.$uid.'('.$DATA[1].")/".$DATA[0].'/'.$stats_id."?
"; + switch (removeReceiver($dummy, $key, bigintval($uid), bigintval($DATA[0]), bigintval($stats_id))) { - case "done": - // Prepare the mail - $DATA[11] = bigintval($stats_id); - $DATA[12] = $sname; - $DATA[13] = $fname; - $DATA[14] = TRANSLATE_GENDER($gender); - - // Replace text variables - foreach ($GLOBALS['replacer'] as $key => $value) { - if (isset($DATA[$key])) $DATA[3] = str_replace($value, $DATA[$key], $DATA[3]); - } // END - if - - // Prepare content - $content = array( + case 'done': + // Prepare the mail + $DATA[11] = bigintval($stats_id); + $DATA[12] = $sname; + $DATA[13] = $fname; + $DATA[14] = translateGender($gender); + + // Replace text variables + foreach ($GLOBALS['replacer'] as $key => $value) { + if (isset($DATA[$key])) $DATA[3] = str_replace($value, $DATA[$key], $DATA[3]); + } // END - if + + // Prepare content + $content = array( 'id' => $DATA[11], 'url' => $DATA[7], 'sender_uid' => $DATA[1], - 'category' => GET_CATEGORY($DATA[9]), - 'time' => CREATE_FANCY_TIME(GET_PAY_POINTS($DATA[5], "time")), - 'points' => TRANSLATE_COMMA(GET_PAY_POINTS($DATA[5], "payment")), + 'category' => getCategory($DATA[9]), + 'time' => createFancyTime(getPaymentPoints($DATA[5], "time")), + 'points' => translateComma(getPaymentPoints($DATA[5], "payment")), 'text' => $DATA[3] - ); + ); - // Load message template - $mailText = LOAD_EMAIL_TEMPLATE("normal-mail", $content, bigintval($uid)); + // Load message template + $mailText = LOAD_EMAIL_TEMPLATE("normal-mail", $content, bigintval($uid)); - // Send mail away - SEND_EMAIL($email, $DATA[2], $mailText, $HTML); + // Send mail away + sendEmail($email, $DATA[2], $mailText, $HTML); - // Count sent mails... - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET emails_sent=emails_sent+1 WHERE userid=%s LIMIT 1", + // Count sent mails... + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET emails_sent=emails_sent+1 WHERE userid=%s LIMIT 1", array(bigintval($DATA[1])), __FILE__, __LINE__); - 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", + 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 - - // Update mediadata if version is 0.0.4 or higher - if (GET_EXT_VERSION("mediadata") >= "0.0.4") { - // Update entry (or add missing) - //* DEBUG: */ echo "*MEDIA/L:".__LINE__."*
"; - MEDIA_UPDATE_ENTRY(array("total_send", "normal_send"), "add", 1); - } // END - if - - // And count up the mail - $GLOBALS['pool_cnt']++; - //* DEBUG: */ echo"*EXIT/L:".__LINE__."/".$GLOBALS['pool_cnt']."*
"; - break; - - case "already": - // Entry already found, but we still count one up! - $GLOBALS['pool_cnt']++; - //* DEBUG: */ echo"*EXIT/L:".__LINE__."/".$GLOBALS['pool_cnt']."
"; - break; + } // END - if + + // Update mediadata if version is 0.0.4 or higher + if (GET_EXT_VERSION('mediadata') >= '0.0.4') { + // Update entry (or add missing) + //* DEBUG: */ echo "*MEDIA/L:".__LINE__."*
"; + MEDIA_UPDATE_ENTRY(array("total_send", "normal_send"), 'add', 1); + } // END - if + + // And count up the mail + $GLOBALS['pool_cnt']++; + //* DEBUG: */ echo"*EXIT/L:".__LINE__.'/'.$GLOBALS['pool_cnt']."*
"; + break; + + case 'already': + // Entry already found, but we still count one up! + $GLOBALS['pool_cnt']++; + //* DEBUG: */ echo"*EXIT/L:".__LINE__.'/'.$GLOBALS['pool_cnt']."
"; + break; } } // Do we have reached the maximum to send mails? || (getConfig('max_send') >= $GLOBALS['pool_cnt']) - //* DEBUG: */ echo "*L:".__LINE__."/".$GLOBALS['pool_cnt'].">=".$DATA[8]."/".getConfig('max_send').">=".$GLOBALS['pool_cnt']."/".$lastSentId."!=".$DATA[0]."*
"; + //* DEBUG: */ echo "*L:".__LINE__.'/'.$GLOBALS['pool_cnt'].">=".$DATA[8].'/'.getConfig('max_send').">=".$GLOBALS['pool_cnt'].'/'.$lastSentId."!=".$DATA[0]."*
"; if ((($GLOBALS['pool_cnt'] >= $DATA[8])) && ($lastSentId != $DATA[0])) { // Prepare content $content = array( 'sender_uid' => $DATA[1], - 'category' => GET_CATEGORY($DATA[9]), + 'category' => getCategory($DATA[9]), 'text' => $DATA[3], 'url' => $DATA[7], - 'expiration' => CREATE_FANCY_TIME(GET_PAY_POINTS($DATA[5], "time")) + 'expiration' => createFancyTime(getPaymentPoints($DATA[5], "time")) ); // Yes we do, so we notify admin and sender about fully sent mail! - SEND_ADMIN_NOTIFICATION(ADMIN_SUBJ_SEND_DONE, "done-admin", $content, $uid); + sendAdminNotification(ADMIN_SUBJ_SEND_DONE, "done-admin", $content, $uid); // Get sender's data $result_sender = SQL_QUERY_ESC("SELECT surname, family, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", - array(bigintval($DATA[1])), __FILE__, __LINE__); + array(bigintval($DATA[1])), __FILE__, __LINE__); // Is the sender found? if (SQL_NUMROWS($result_sender) == 1) { @@ -219,40 +219,40 @@ if (SQL_NUMROWS($result_main) > 0) { $mailText = LOAD_EMAIL_TEMPLATE("done-member", $content, $DATA[1]); // Send it also waway - SEND_EMAIL($email, MEMBER_SUBJ_SEND_DONE, $mailText); + sendEmail($email, MEMBER_SUBJ_SEND_DONE, $mailText); } // END - if // Free result SQL_FREERESULT($result_sender); // 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", - array(bigintval($DATA[0])), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_pool` SET `data_type`='SEND', `target_send`=0, `receivers`='' WHERE `id`=%s LIMIT 1", + array(bigintval($DATA[0])), __FILE__, __LINE__); // Update send-completed-time - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_stats` SET timestamp_send=UNIX_TIMESTAMP() WHERE pool_id=%s LIMIT 1", - array(bigintval($DATA[0])), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_stats` SET `timestamp_send`=UNIX_TIMESTAMP() WHERE `pool_id`=%s LIMIT 1", + array(bigintval($DATA[0])), __FILE__, __LINE__); $lastSentId = $DATA[0]; $GLOBALS['pool_cnt'] = 0; $cnt2 += $GLOBALS['pool_cnt']; // Update mediadata if version is 0.0.4 or higher - if (GET_EXT_VERSION("mediadata") >= "0.0.4") { + if (GET_EXT_VERSION('mediadata') >= '0.0.4') { // Update entry (or add missing) //* DEBUG: */ echo "*MEDIA/L:".__LINE__."*
"; - MEDIA_UPDATE_ENTRY(array("total_orders", "normal_orders"), "add", 1); + MEDIA_UPDATE_ENTRY(array("total_orders", "normal_orders"), 'add', 1); } // END - if - //* DEBUG: */ echo"*EXIT/L:".__LINE__."/".$P."
"; + //* DEBUG: */ echo"*EXIT/L:".__LINE__.'/'.$P."
"; break; } // Do we have send maximum mails? - elseif (($GLOBALS['pool_cnt'] >= getConfig('max_send')) || ($cnt2 >= getConfig('max_send'))) { + elseif (($GLOBALS['pool_cnt'] >= getConfig('max_send')) || ($cnt2 >= 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'] <= $DATA[8]) $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), bigintval($DATA[0])), __FILE__, __LINE__); + $add = ''; + if ($GLOBALS['pool_cnt'] <= $DATA[8]) $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), bigintval($DATA[0])), __FILE__, __LINE__); //* DEBUG: */ echo"*EXIT/L:".__LINE__."*
"; break; @@ -262,16 +262,16 @@ if (SQL_NUMROWS($result_main) > 0) { SQL_FREERESULT($result_stats); } else { // User does not exists so we have add the sender's points back to sender's account - if (($RECEIVERS[0] == "0") || (empty($RECEIVERS[0]))) { + if (($RECEIVERS[0] == '0') || (empty($RECEIVERS[0]))) { // List was empty - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_pool` SET data_type='SEND' WHERE id=%s LIMIT 1", - array(bigintval($DATA[0])), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_pool` SET data_type='SEND' WHERE `id`=%s LIMIT 1", + array(bigintval($DATA[0])), __FILE__, __LINE__); } else { // Is the userid set? if ($uid > 0) { // User does not exists, pay points back - $points = GET_PAY_POINTS($DATA[5]); - ADD_POINTS_REFSYSTEM("pool_payback", $DATA[1], $points, false, "0", false, "direct"); + $points = getPaymentPoints($DATA[5]); + ADD_POINTS_REFSYSTEM_DIRECT('pool_payback', $DATA[1], $points); // Add points together and remove user $pointsBack[$DATA[1]] += $points; @@ -285,8 +285,8 @@ if (SQL_NUMROWS($result_main) > 0) { unset($dummy[$key]); // Update receivers - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_pool` SET receivers='%s' WHERE id=%s LIMIT 1", - array(implode(";", $dummy), bigintval($DATA[0])), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_pool` SET receivers='%s' WHERE `id`=%s LIMIT 1", + array(implode(';', $dummy), bigintval($DATA[0])), __FILE__, __LINE__); } } } @@ -300,12 +300,12 @@ if (SQL_NUMROWS($result_main) > 0) { if (($PB > 0) && ($uid > 0)) { // Prepare content $content = array( - 'points' => TRANSLATE_COMMA($DATA[10]) + 'points' => translateComma($DATA[10]) ); // We have to pay back some points to the sender (we add them directly :-P) $result = SQL_QUERY_ESC("SELECT email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s AND `status`='CONFIRMED' LIMIT 1", - array(bigintval($uid)), __FILE__, __LINE__); + array(bigintval($uid)), __FILE__, __LINE__); $DATA[10] = $PB; $DATA[11] = $cnt_back[$uid]; // User found? @@ -317,13 +317,13 @@ if (SQL_NUMROWS($result_main) > 0) { $mailText = LOAD_EMAIL_TEMPLATE("back-member", $content, bigintval($uid)); // Send mail out to member - SEND_EMAIL($email, MEMBER_BACK_JACKPOT." (".$uid.")", $mailText); + sendEmail($email, getMessage('MEMBER_BACK_JACKPOT')." (".$uid.')', $mailText); } else { // Add to jackpot ADD_JACKPOT($PB); // Send mail out to admin - SEND_ADMIN_NOTIFICATION(ADMIN_BACK_JACKPOT." (".$uid.")", "back-admin", $content, "admin"); + sendAdminNotification(getMessage('ADMIN_BACK_JACKPOT')." (".$uid.')', "back-admin", $content, 'admin'); } } // END - if } // END - foreach