New function fetchUserData() introduced to API, total rewrite (not all)
[mailer.git] / inc / pool / pool-user.php
index a2d1bc1bfd3dddc7b9f038b37da1cdbdcc09eefe..b6b705170c7742eb14fd73847b6675a4d6037564 100644 (file)
@@ -92,18 +92,8 @@ if (SQL_NUMROWS($result_main) > 0) {
                        // We can now send mails to them...
                        foreach ($RECEIVERS as $key => $userid) {
                                // 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($userid)), __FILE__, __LINE__);
-
-                               // Is his data available?
                                //* DEBUG: */ outputHtml("*L:".__LINE__.'/'.SQL_NUMROWS($result_user)."*<br />");
-                               if (SQL_NUMROWS($result_user) == 1) {
-                                       // The final receiver does exists so we can continue...
-                                       list($gender, $surname, $family, $email) = SQL_FETCHROW($result_user);
-
-                                       // Free memory
-                                       SQL_FREERESULT($result_user);
-
+                               if (fetchUserData($userid)) {
                                        // 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['id'], $DATA['sender'], $DATA['timestamp']), __FILE__, __LINE__);
@@ -131,9 +121,9 @@ if (SQL_NUMROWS($result_main) > 0) {
                                                        case 'done':
                                                                // Prepare the mail
                                                                $DATA['stats_id'] = bigintval($stats_id);
-                                                               $DATA['surname']  = $surname;
-                                                               $DATA['family']   = $family;
-                                                               $DATA['gender']   = translateGender($gender);
+                                                               $DATA['surname']  = getUserData('surname');
+                                                               $DATA['family']   = getUserData('family');
+                                                               $DATA['gender']   = translateGender(getUserData('gender'));
 
                                                                // Replace text variables
                                                                foreach ($GLOBALS['replacer'] as $key => $value) {
@@ -155,7 +145,7 @@ if (SQL_NUMROWS($result_main) > 0) {
                                                                $mailText = loadEmailTemplate('normal-mail', $content, bigintval($userid));
 
                                                                // Send mail away
-                                                               sendEmail($email, $DATA['subject'], $mailText, $HTML);
+                                                               sendEmail(getUserData('email'), $DATA['subject'], $mailText, $HTML);
 
                                                                // Count sent mails...
                                                                SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET emails_sent=emails_sent+1 WHERE `userid`=%s LIMIT 1",
@@ -203,24 +193,14 @@ if (SQL_NUMROWS($result_main) > 0) {
                                                sendAdminNotification(getMessage('ADMIN_SUBJ_SEND_DONE'), 'done-admin', $content, $userid);
 
                                                // 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['sender'])), __FILE__, __LINE__);
-
-                                               // Is the sender found?
-                                               if (SQL_NUMROWS($result_sender) == 1) {
-                                                       // Load data and prepare mail
-                                                       list($surname, $family, $email) = SQL_FETCHROW($result_sender);
-
+                                               if (fetchUserData($DATA['sender'])) {
                                                        // Load email template
                                                        $mailText = loadEmailTemplate('done-member', $content, $DATA['sender']);
 
                                                        // Send it also waway
-                                                       sendEmail($email, getMessage('MEMBER_SUBJ_SEND_DONE'), $mailText);
+                                                       sendEmail(getUserData('email'), getMessage('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['id'])), __FILE__, __LINE__);
@@ -300,19 +280,12 @@ if (SQL_NUMROWS($result_main) > 0) {
                                );
 
                                // 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($userid)), __FILE__, __LINE__);
-
-                               // User found?
-                               if (SQL_NUMROWS($result) == 1) {
-                                       // Get email
-                                       list($email) = SQL_FETCHROW($result);
-
+                               if (fetchUserData($userid)) {
                                        // User account does exists, so we can safely pay back!
                                        $mailText = loadEmailTemplate('back-member', $content, bigintval($userid));
 
                                        // Send mail out to member
-                                       sendEmail($email, getMessage('MEMBER_BACK_JACKPOT') . ' (' . $userid . ')', $mailText);
+                                       sendEmail(getUserData('email'), getMessage('MEMBER_BACK_JACKPOT') . ' (' . $userid . ')', $mailText);
                                } elseif (isExtensionActive('jackpot')) {
                                        // Add to jackpot
                                        addPointsToJackpot($PB);
@@ -320,9 +293,6 @@ if (SQL_NUMROWS($result_main) > 0) {
                                        // Send mail out to admin
                                        sendAdminNotification(getMessage('ADMIN_BACK_JACKPOT') . ' (' . $userid . ')', 'back-admin', $content, 'admin');
                                }
-
-                               // Free result
-                               SQL_FREERESULT($result);
                        } // END - if
                } // END - foreach
        } // END - if