X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-unconfirmed.php;h=03cb14da6ee2d435e4f98ff9d9425eb9ac8de36b;hb=596c8ab32594401ca84abfbfe35513ddfff31bec;hp=ffa88d7eac8e003f866402f1a5f3e388b45ff068;hpb=a226d81121cb96048b1ed85fd8584a87d435b0db;p=mailer.git diff --git a/inc/modules/member/what-unconfirmed.php b/inc/modules/member/what-unconfirmed.php index ffa88d7eac..03cb14da6e 100644 --- a/inc/modules/member/what-unconfirmed.php +++ b/inc/modules/member/what-unconfirmed.php @@ -14,12 +14,10 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 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 * @@ -39,84 +37,121 @@ // Some security stuff... if (!defined('__SECURITY')) { - die(); + exit(); } elseif (!isMember()) { redirectToIndexMemberOnlyModule(); } // Add description as navigation point -addMenuDescription('member', __FILE__); +addYouAreHereLink('member', __FILE__); + +// Essential extension ext-mailid must be active +if (!isExtensionActive('mailid')) { + displayMessage('{%pipe,generateExtensionInactiveNotInstalledMessage=mailid%}'); + return; +} // END - if // Shall we display a mail? -if ((isGetRequestParameterSet('bonusid')) && (isExtensionActive('bonus'))) { +if ((isGetRequestElementSet('bonusid')) && (isExtensionActive('bonus'))) { // Display bonus mail by loading it's full data - $result_data = SQL_QUERY_ESC("SELECT - `id`, `subject`, `timestamp`, `cat_id` AS `category`, `points`, `text`, `is_notify`, `data_type`, `time`, `url` + $result_data = SQL_QUERY_ESC('SELECT + `id`, + `subject`, + `timestamp`, + `cat_id`, + `points`, + `text`, + `is_notify`, + `data_type`, + `time`, + `url` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s -LIMIT 1", - array(bigintval(getRequestParameter('bonusid'))), __FILE__, __LINE__); +LIMIT 1', + array(bigintval(getRequestElement('bonusid'))), __FILE__, __LINE__); // Load data $content = SQL_FETCHARRAY($result_data); // Translate some data - $content['timestamp'] = generateDateTime($content['timestamp'], 2); - $content['userid'] = getMemberId(); - $content['user_status'] = getMaskedMessage('MEMBER_MAIL_BONUS_CONFIRMED_UNKNOWN', $content['id']); - - // Is ext-user installed? - if (isExtensionInstalled('user')) { - // Get timestamp from insert - $content['user_status'] = getMaskedMessage('MEMBER_MAIL_BONUS_CONFIRMED_ON', - generateDateTime(getTimestampFromUserStats('bonusid', $content['id']), 2) - ); + $content['timestamp'] = generateDateTime($content['timestamp'], '2'); + $content['userid'] = getMemberId(); + $content['user_mail_status'] = '{%message,MEMBER_MAIL_BONUS_CONFIRMED_UNKNOWN=' . $content['id'] . '%}'; + + // Is ext-user active? + if (isExtensionActive('user')) { + // Default is never confirmed + $content['user_mail_status'] = '{%message,MEMBER_MAIL_BONUS_NEVER_CONFIRMED=' . $content['id'] . '%}'; + + // Get the timestamp from the mail + $confirmedStamp = getEpocheTimeFromUserStats('bonusid', $content['id']); + + // Have confirmed it? + if ($confirmedStamp > 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); + loadTemplate('member_mail_bonus_' . strtolower($content['data_type']), FALSE, $content); // Free result SQL_FREERESULT($result_data); -} elseif (isGetRequestParameterSet('mailid')) { +} elseif (isGetRequestElementSet('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 + 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 + `{?_MYSQL_PREFIX?}_user_stats` AS `s` LEFT JOIN - `{?_MYSQL_PREFIX?}_pool` AS p + `{?_MYSQL_PREFIX?}_pool` AS `p` ON s.pool_id=p.id LEFT JOIN - `{?_MYSQL_PREFIX?}_payments` AS pay + `{?_MYSQL_PREFIX?}_payments` AS `pay` ON - p.payment_id=pay.id + p.`payment_id`=pay.`id` WHERE - s.id=%s + s.`id`=%s LIMIT 1", - array(bigintval(getRequestParameter('mailid'))), __FILE__, __LINE__); + array(bigintval(getRequestElement('mailid'))), __FILE__, __LINE__); // Load data $content = SQL_FETCHARRAY($result_data); // Translate some data - $content['timestamp'] = generateDateTime($content['timestamp'], 2); - $content['userid'] = getMemberId(); - $content['user_status'] = getMaskedMessage('MEMBER_MAIL_NORMAL_CONFIRMED_UNKNOWN', $content['id']); - - // Is ext-user installed? - if (isExtensionInstalled('user')) { - // Get timestamp from insert - $content['user_status'] = getMaskedMessage('MEMBER_MAIL_NORMAL_CONFIRMED_ON', - generateDateTime(getTimestampFromUserStats('mailid', $content['id']), 2) - ); + $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); + loadTemplate('member_mail_normal_' . strtolower($content['data_type']), FALSE, $content); // Free result SQL_FREERESULT($result_data); @@ -127,8 +162,8 @@ if (isExtensionActive('bonus')) { $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 - $result = SQL_QUERY_ESC("SELECT `stats_id`, `stats_id`, `link_type` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `userid`=%s ORDER BY `stats_id` DESC", + // 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__); } @@ -141,47 +176,51 @@ if (!SQL_HASZERONUMS($result)) { $content = array(); // @TODO Try to rewrite this to $content = SQL_FETCHARRAY() - while (list($id, $id2, $type) = SQL_FETCHROW($result)) { + while ($row = SQL_FETCHARRAY($result)) { // Load data from stats table... $cat = ''; - $result_data = false; - $PROBLEM = '{--MEMBER_GENERAL_MAIL_PROBLEM--}'; - $DATA = $id . '/' . $id2 . '/' . $type; - switch ($type) { + $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 + s.`subject`, + s.`timestamp_ordered`, + s.`cat_id`, + s.`payment_id`, + p.`sender` FROM - `{?_MYSQL_PREFIX?}_user_stats` AS s + `{?_MYSQL_PREFIX?}_user_stats` AS `s` LEFT JOIN - `{?_MYSQL_PREFIX?}_pool` AS p + `{?_MYSQL_PREFIX?}_pool` AS `p` ON - s.pool_id=p.id + s.`pool_id`=p.`id` WHERE - s.id=%s + s.`id`=%s LIMIT 1", - array(bigintval($id)), __FILE__, __LINE__); - $type = 'mailid'; - $DATA = $id; - $PROBLEM = '{--NORMAL_MAIL_PROBLEM--}'; + 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($id2)), __FILE__, __LINE__); - $type = 'bonusid'; - $DATA = $id2; - $PROBLEM = '{--BONUS_MAIL_PROBLEM--}'; + $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! - logDebugMessage(__FILE__, __LINE__, sprintf("Unknown mail type %s detected.", $type)); + reportBug(__FILE__, __LINE__, sprintf("Unknown mail type %s detected.", $row['link_type'])); break; } // Data found to this mail? - if ((SQL_NUMROWS($result_data) == 1) && (($type == 'mailid') || ($type == 'bonusid'))) { - // Mail was found! + 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? @@ -191,10 +230,10 @@ LIMIT 1", } // END - if // Prepare sender id - if (($sender > 0) && ($type == 'mailid')) { + if ((isValidUserId($sender)) && ($row['link_type'] == 'mailid')) { // Sender id $sender = bigintval($sender); - } elseif ($type == 'bonusid') { + } elseif ($row['link_type'] == 'bonusid') { // Is admin $sender = '{--USERNAME_ADMIN_SHORT--}'; } else { @@ -204,8 +243,10 @@ LIMIT 1", // Prepare data for template $content = array( - 'data' => bigintval($DATA), - 'type' => $type, + '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), @@ -214,9 +255,9 @@ LIMIT 1", // Load row template if (getConfig('show_points_unconfirmed') == 'Y') { - $OUT .= loadTemplate('member_unconfirmed_row', true, $content); + $OUT .= loadTemplate('member_unconfirmed_row', TRUE, $content); } else { - $OUT .= loadTemplate('member_unconfirmed_row_nopoints', true, $content); + $OUT .= loadTemplate('member_unconfirmed_row_nopoints', TRUE, $content); } // Count points @@ -224,15 +265,15 @@ LIMIT 1", } else { // Prepare data for template $content = array( - 'data' => $DATA, - 'probl' => $PROBLEM, + 'data' => $data, + 'message' => $message, ); // Display points or not? if (getConfig('show_points_unconfirmed') == 'Y') { - $OUT .= loadTemplate('member_unconfirmed_404', true, $content); + $OUT .= loadTemplate('member_unconfirmed_404', TRUE, $content); } else { - $OUT .= loadTemplate('member_unconfirmed_404_nopoints', true, $content); + $OUT .= loadTemplate('member_unconfirmed_404_nopoints', TRUE, $content); } } @@ -251,13 +292,13 @@ LIMIT 1", // Load main template if (getConfig('show_points_unconfirmed') == 'Y') { - loadTemplate('member_unconfirmed_table', false, $content); + loadTemplate('member_unconfirmed_table', FALSE, $content); } else { - loadTemplate('member_unconfirmed_table_nopoints', false, $content); + loadTemplate('member_unconfirmed_table_nopoints', FALSE, $content); } } else { // No mails left to confirm... :) - loadTemplate('admin_settings_saved', false, '{--MEMBER_NO_MAILS_TO_CONFIRM--}'); + displayMessage('{--MEMBER_NO_MAILS_TO_CONFIRM--}'); } // [EOF]