0) { // Get timestamp from insert $content['user_mail_status'] = '{%message,MEMBER_MAIL_BONUS_CONFIRMED_ON=' . generateDateTime($confirmedStamp, '2') . '%}'; } // END - if } // END - if // Display it depending on mail (data) type loadTemplate('member_mail_bonus_' . strtolower($content['data_type']), false, $content); // Free result SQL_FREERESULT($result_data); } elseif (isGetRequestParameterSet('mailid')) { // Display regular member mail by loading its full data $result_data = SQL_QUERY_ESC("SELECT s.id, s.subject, p.text, s.timestamp_ordered AS `timestamp`, s.cat_id, pay.price AS `points`, p.sender, pay.time, p.data_type FROM `{?_MYSQL_PREFIX?}_user_stats` AS s LEFT JOIN `{?_MYSQL_PREFIX?}_pool` AS p ON s.pool_id=p.id LEFT JOIN `{?_MYSQL_PREFIX?}_payments` AS pay ON p.payment_id=pay.id WHERE s.id=%s LIMIT 1", array(bigintval(getRequestParameter('mailid'))), __FILE__, __LINE__); // Load data $content = SQL_FETCHARRAY($result_data); // Translate some data $content['timestamp'] = generateDateTime($content['timestamp'], '2'); $content['userid'] = getMemberId(); $content['user_mail_status'] = '{%message,MEMBER_MAIL_NORMAL_CONFIRMED_UNKNOWN=' . $content['id'] . '%}'; // Is ext-user active? if (isExtensionActive('user')) { // Default is never confirmed $content['user_mail_status'] = '{%message,MEMBER_MAIL_NORMAL_NEVER_CONFIRMED=' . $content['id'] . '%}'; // Get the timestamp from the mail $confirmedStamp = getEpocheTimeFromUserStats('mailid', $content['id']); // Have confirmed it? if ($confirmedStamp > 0) { // Get timestamp from insert $content['user_mail_status'] = '{%message,MEMBER_MAIL_NORMAL_CONFIRMED_ON=' . generateDateTime($confirmedStamp, '2') . '%}'; } // END - if } // END - if // Display it depending on mail (data) type loadTemplate('member_mail_normal_' . strtolower($content['data_type']), false, $content); // Free result SQL_FREERESULT($result_data); } if (isExtensionActive('bonus')) { // Load bonus id $result = SQL_QUERY_ESC("SELECT `stats_id`,`bonus_id`,`link_type` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `userid`=%s ORDER BY `bonus_id` DESC, stats_id DESC", array(getMemberId()), __FILE__, __LINE__); } else { // Don't load bonus id if ext-bonus is not installed $result = SQL_QUERY_ESC("SELECT `stats_id`,`link_type` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `userid`=%s ORDER BY `stats_id` DESC", array(getMemberId()), __FILE__, __LINE__); } // Mails left for confirmation? if (!SQL_HASZERONUMS($result)) { // Please confirm these mails! $sum = '0'; $OUT = ''; // Init content $content = array(); // @TODO Try to rewrite this to $content = SQL_FETCHARRAY() while ($row = SQL_FETCHARRAY($result)) { // Load data from stats table... $cat = ''; $result_data = false; $message = '{--MEMBER_GENERAL_MAIL_PROBLEM--}'; $data = $row['stats_id'] . '/' . $row['bonus_id'] . '/' . $row['link_type']; switch ($row['link_type']) { case 'NORMAL': $result_data = SQL_QUERY_ESC("SELECT s.subject, s.timestamp_ordered, s.cat_id, s.payment_id, p.sender FROM `{?_MYSQL_PREFIX?}_user_stats` AS s LEFT JOIN `{?_MYSQL_PREFIX?}_pool` AS p ON s.pool_id=p.id WHERE s.id=%s LIMIT 1", array(bigintval($row['stats_id'])), __FILE__, __LINE__); $row['link_type'] = 'mailid'; $data = $row['stats_id']; $message = '{--NORMAL_MAIL_PROBLEM--}'; break; case 'BONUS': $result_data = SQL_QUERY_ESC("SELECT `subject`,`timestamp`,`cat_id`,`points`, 0 FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1", array(bigintval($row['bonus_id'])), __FILE__, __LINE__); $row['link_type'] = 'bonusid'; $data = $row['bonus_id']; $message = '{--BONUS_MAIL_PROBLEM--}'; break; default: // Unknown type detected! debug_report_bug(__FILE__, __LINE__, sprintf("Unknown mail type %s detected.", $row['link_type'])); break; } // Data found to this mail? if ((SQL_NUMROWS($result_data) == 1) && (($row['link_type'] == 'mailid') || ($row['link_type'] == 'bonusid'))) { // Mail was found list($subject, $timestamp, $cat, $pay, $sender) = SQL_FETCHROW($result_data); // Subject line found? if (empty($subject)) { // No subject line! $subject = '{--DEFAULT_SUBJECT_LINE--}'; } // END - if // Prepare sender id if ((isValidUserId($sender)) && ($row['link_type'] == 'mailid')) { // Sender id $sender = bigintval($sender); } elseif ($row['link_type'] == 'bonusid') { // Is admin $sender = '{--USERNAME_ADMIN_SHORT--}'; } else { // Deleted $sender = '{--EMAIL_STATUS_DELETED--}'; } // Prepare data for template $content = array( 'data' => bigintval($data), // @TODO This 'userid' cannot be saved because of encapsulated EL code 'userid' => getMemberId(), 'link_type' => $row['link_type'], 'subject' => $subject, 'sender' => $sender, 'timestamp' => generateDateTime($timestamp, 2), 'points' => $pay, ); // Load row template if (getConfig('show_points_unconfirmed') == 'Y') { $OUT .= loadTemplate('member_unconfirmed_row', true, $content); } else { $OUT .= loadTemplate('member_unconfirmed_row_nopoints', true, $content); } // Count points $sum += $pay; } else { // Prepare data for template $content = array( 'data' => $data, 'message' => $message, ); // Display points or not? if (getConfig('show_points_unconfirmed') == 'Y') { $OUT .= loadTemplate('member_unconfirmed_404', true, $content); } else { $OUT .= loadTemplate('member_unconfirmed_404_nopoints', true, $content); } } // Free result SQL_FREERESULT($result_data); } // END - while // Free memory SQL_FREERESULT($result); // Remember total points $content['total_points'] = $sum; // Remember all generated rows in constant for the template $content['rows'] = $OUT; // Load main template if (getConfig('show_points_unconfirmed') == 'Y') { loadTemplate('member_unconfirmed_table', false, $content); } else { loadTemplate('member_unconfirmed_table_nopoints', false, $content); } } else { // No mails left to confirm... :) displayMessage('{--MEMBER_NO_MAILS_TO_CONFIRM--}'); } // [EOF] ?>