X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-unconfirmed.php;h=5c1a4d65833e3c37217a14dca52a73c638d95c1f;hp=114276f7abdb9902572fad44bf81c31e9ac18436;hb=55720dee9b4e61803333b4f098849d786ad4829e;hpb=ae80e170b5d25a4782af90a7c3d81fbb176fa293 diff --git a/inc/modules/member/what-unconfirmed.php b/inc/modules/member/what-unconfirmed.php index 114276f7ab..5c1a4d6583 100644 --- a/inc/modules/member/what-unconfirmed.php +++ b/inc/modules/member/what-unconfirmed.php @@ -8,11 +8,16 @@ * -------------------------------------------------------------------- * * Short description : Unconfirmed mails * * -------------------------------------------------------------------- * - * Kurzbeschreibung : Unbestaetigte Mails * + * Kurzbeschreibung : Unbestätigte Mails * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $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 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,87 +37,195 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) { - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); -} elseif (!IS_MEMBER()) { - LOAD_URL("modules.php?module=index"); -} elseif (!EXT_IS_ACTIVE("mailid")) { - LOAD_URL("modules.php?module=login"); +if (!defined('__SECURITY')) { + die(); +} elseif (!isMember()) { + redirectToIndexMemberOnlyModule(); +} elseif ((!isExtensionActive('mailid')) && (!isAdmin())) { + redirectToUrl('modules.php?module=login'); } // Add description as navigation point -ADD_DESCR("member", basename(__FILE__)); +addMenuDescription('member', __FILE__); + +// Shall we display a mail? +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`, `points`, `text`, `is_notify`, `data_type`, `time`, `url` +FROM + `{?_MYSQL_PREFIX?}_bonus` +WHERE + `id`=%s +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['category'] = getCategory($content['cat_id']); + $content['points'] = translateComma($content['points']); + $content['is_notify'] = translateYesNo($content['is_notify']); + $content['sender'] = getMessage('_ADMIN_SHORT'); + $content['time'] = createFancyTime($content['time']); + $content['userid'] = getUserId(); + + // Get timestamp from insert + $content['user_status'] = sprintf(getMessage('MEMBER_MAIL_BONUS_CONFIRMED_ON'), + generateDateTime(getTimestampFromUserStats('bonusid', $content['id']), 2) + ); + + // Display it depending on mail (data) type + loadTemplate('member_mail_bonus_'.strtolower($content['data_type']), false, $content); + + // Free result + SQL_FREERESULT($result_data); +} 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 +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(getRequestElement('mailid'))), __FILE__, __LINE__); + + // Load data + $content = SQL_FETCHARRAY($result_data); -if (EXT_IS_ACTIVE("bonus")) { + // Translate some data + $content['timestamp'] = generateDateTime($content['timestamp'], 2); + $content['category'] = getCategory($content['cat_id']); + $content['points'] = translateComma($content['points']); + $content['time'] = createFancyTime($content['time']); + $content['userid'] = getUserId(); + + // Get timestamp from insert + $content['user_status'] = sprintf(getMessage('MEMBER_MAIL_NORMAL_CONFIRMED_ON'), + generateDateTime(getTimestampFromUserStats('mailid', $content['id']), 2) + ); + + // 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", - array($GLOBALS['userid']), __FILE__, __LINE__); + $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(getUserId()), __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", - array($GLOBALS['userid']), __FILE__, __LINE__); + $result = SQL_QUERY_ESC("SELECT `stats_id`, `stats_id`, `link_type` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `userid`=%s ORDER BY `stats_id` DESC", + array(getUserId()), __FILE__, __LINE__); } -if (SQL_NUMROWS($result) > 0) -{ +// Mails left for confirmation? +if (SQL_NUMROWS($result) > 0) { // Please confirm these mails! - $sum = "0"; $SW = 2; $OUT = ""; - while (list($id, $id2, $type) = SQL_FETCHROW($result)) - { + $sum = 0; $OUT = ''; $SW = 2; + + // Init content + $content = array(); + + // @TODO Try to rewrite this to $content = SQL_FETCHARRAY() + while (list($id, $id2, $type) = SQL_FETCHROW($result)) { // Load data from stats table... - $cat = ""; - switch ($type) - { - case "NORMAL": - $result_data = SQL_QUERY_ESC("SELECT subject, subject, timestamp_ordered, cat_id, payment_id, pool_id FROM "._MYSQL_PREFIX."_user_stats WHERE id=%s LIMIT 1", - array(bigintval($id)), __FILE__, __LINE__); - $type = "mailid"; $DATA = $id; $PROBLEM = NORMAL_MAIL_PROBLEM; - break; - - case "BONUS": - $result_data = SQL_QUERY_ESC("SELECT subject, text, timestamp, cat_id, points, id FROM "._MYSQL_PREFIX."_bonus WHERE id=%s LIMIT 1", - array(bigintval($id2)), __FILE__, __LINE__); - $type = "bonusid"; $DATA = $id2; $PROBLEM = BONUS_MAIL_PROBLEM; - break; + $cat = ''; + $result_data = false; + $PROBLEM = getMessage('MEMBER_GENERAL_MAIL_PROBLEM'); + $DATA = $id . '/' . $id2 . '/' . $type; + switch ($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($id)), __FILE__, __LINE__); + $type = 'mailid'; + $DATA = $id; + $PROBLEM = getMessage('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 = getMessage('BONUS_MAIL_PROBLEM'); + break; + + default: // Unknown type detected! + logDebugMessage(__FILE__, __LINE__, sprintf("Unknown mail type %s detected.", $type)); + break; } - if (SQL_NUMROWS($result_data) == 1) - { + // Data found to this mail? + if ((SQL_NUMROWS($result_data) == 1) && (($type == 'mailid') || ($type == 'bonusid'))) { // Mail was found! - list($subject, $text, $timestamp, $cat, $pay, $pool) = SQL_FETCHROW($result_data); - SQL_FREERESULT($result_data); - if ($type == "NORMAL") - { - $pay = GET_PAY_POINTS($pay, "payment"); - $result_text = SQL_QUERY_ESC("SELECT text FROM "._MYSQL_PREFIX."_pool WHERE id=%s LIMIT 1", - array(bigintval($pool)), __FILE__, __LINE__); - list($text) = SQL_FETCHROW($result_text); - SQL_FREERESULT($result_text); + list($subject, $timestamp, $cat, $pay, $sender) = SQL_FETCHROW($result_data); + + // Subject line found? + if (empty($subject)) { + // No subject line! + $subject = getMessage('DEFAULT_SUBJECT_LINE'); + } // END - if + + // Prepare sender id + if (($sender > 0) && ($type == 'mailid')) { + // Sender id + $sender = bigintval($sender); + } elseif ($type == 'bonusid') { + // Is admin + $sender = getMessage('_ADMIN_SHORT'); + } else { + // Deleted + $sender = getMessage('EMAIL_STATUS_DELETED'); } - if (empty($subject)) $subject = DEFAULT_SUBJECT_LINE; - if (empty($text)) $text = "---"; - $subject = COMPILE_CODE($subject); // Prepare data for template $content = array( - 'sw' => $SW, - 'uid' => $GLOBALS['userid'], - 'data' => $DATA, - 'type' => $type, - 'subj' => $subject, - 'text' => COMPILE_CODE($text), - 'stamp' => MAKE_DATETIME($timestamp, "0"), - 'cat' => GET_CATEGORY($cat), - 'points' => TRANSLATE_COMMA($pay), + 'sw' => $SW, + 'userid' => getUserId(), + 'data' => bigintval($DATA), + 'type' => $type, + 'subject' => $subject, + 'sender' => $sender, + 'stamp' => generateDateTime($timestamp, 2), + 'cat' => getCategory($cat), + 'points' => translateComma($pay), ); - // Load row template and count points - $OUT .= LOAD_TEMPLATE("member_unconfirmed_row", true, $content); + // 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 - { + } else { // Prepare data for template $content = array( 'sw' => $SW, @@ -120,29 +233,40 @@ if (SQL_NUMROWS($result) > 0) 'probl' => $PROBLEM, ); - // Problem with mail detected - $OUT .= LOAD_TEMPLATE("member_unconfirmed_404", true, $content); + // 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); + + // Switch color $SW = 3 - $SW; - } + } // END - while // Free memory SQL_FREERESULT($result); // Remember total points - define('__TOTAL_POINTS', TRANSLATE_COMMA($sum)); + $content['total_points'] = translateComma($sum); // Remember all generated rows in constant for the template - define('__UNCONFIRMED_ROWS', $OUT); + $content['rows'] = $OUT; // Load main template - LOAD_TEMPLATE("member_unconfirmed_table"); -} - else -{ + 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... :) - LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_NO_MAILS_TO_CONFIRM); + loadTemplate('admin_settings_saved', false, getMessage('MEMBER_NO_MAILS_TO_CONFIRM')); } -// +// [EOF] ?>