X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-unconfirmed.php;h=88249052ccb9097b3fe3806ca102f6fd732439fa;hp=adf2c160e9da8626977d8abc50d766e7476d2554;hb=d8148e3f1f3a6762b2e786dbe99ada269dcf2ea0;hpb=0b90ed76f7de1c4b42dc24bd8525264a13ed62b5 diff --git a/inc/modules/member/what-unconfirmed.php b/inc/modules/member/what-unconfirmed.php index adf2c160e9..88249052cc 100644 --- a/inc/modules/member/what-unconfirmed.php +++ b/inc/modules/member/what-unconfirmed.php @@ -32,87 +32,175 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) { +if (!defined('__SECURITY')) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; require($INC); -} elseif (!IS_LOGGED_IN()) { +} elseif (!IS_MEMBER()) { LOAD_URL("modules.php?module=index"); -} elseif (!EXT_IS_ACTIVE("mailid"))) { +} elseif ((!EXT_IS_ACTIVE("mailid")) && (!IS_ADMIN())) { LOAD_URL("modules.php?module=login"); } // Add description as navigation point -ADD_DESCR("member", basename(__FILE__)); +ADD_DESCR("member", __FILE__); + +// Shall we display a mail? +if ((REQUEST_ISSET_GET(('bonusid'))) && (EXT_IS_ACTIVE("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(REQUEST_GET('bonusid'))), __FILE__, __LINE__); + + // Load data + $content = SQL_FETCHARRAY($result_data); + + // "Translate some data + $content['subject'] = COMPILE_CODE($content['subject']); + $content['text'] = COMPILE_CODE($content['text']); + $content['timestamp'] = MAKE_DATETIME($content['timestamp'], "2"); + $content['category'] = GET_CATEGORY($content['cat_id']); + $content['points'] = TRANSLATE_COMMA($content['points']); + $content['is_notify'] = TRANSLATE_YESNO($content['is_notify']); + $content['sender'] = _ADMIN_SHORT; + $content['time'] = CREATE_FANCY_TIME($content['time']); + $content['uid'] = $GLOBALS['userid']; + + // Get timestamp from insert + $content['user_status'] = sprintf(MEMBER_MAIL_BONUS_CONFIRMED_ON, + MAKE_DATETIME(USER_STATS_GET_TIMESTAMP("bonusid", $content['id']), "2") + ); + + // Display it depending on mail (data) type + LOAD_TEMPLATE("member_mail_bonus_".strtolower($content['data_type']), false, $content); + + // Free result + SQL_FREERESULT($result_data); +} elseif (REQUEST_ISSET_GET(('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(REQUEST_GET('mailid'))), __FILE__, __LINE__); + + // Load data + $content = SQL_FETCHARRAY($result_data); + + // "Translate some data + $content['subject'] = COMPILE_CODE($content['subject']); + $content['text'] = COMPILE_CODE($content['text']); + $content['timestamp'] = MAKE_DATETIME($content['timestamp'], "2"); + $content['category'] = GET_CATEGORY($content['cat_id']); + $content['points'] = TRANSLATE_COMMA($content['points']); + $content['time'] = CREATE_FANCY_TIME($content['time']); + $content['uid'] = $GLOBALS['userid']; + + // Get timestamp from insert + $content['user_status'] = sprintf(MEMBER_MAIL_NORMAL_CONFIRMED_ON, + MAKE_DATETIME(USER_STATS_GET_TIMESTAMP("mailid", $content['id']), "2") + ); + + // Display it depending on mail (data) type + LOAD_TEMPLATE("member_mail_normal_".strtolower($content['data_type']), false, $content); + + // Free result + SQL_FREERESULT($result_data); +} if (EXT_IS_ACTIVE("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($GLOBALS['userid']), __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($GLOBALS['userid']), __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; $SW = 2; $OUT = ""; + while (list($id, $id2, $type) = SQL_FETCHROW($result)) { // Load data from stats table... - $cat = ""; + $cat = ""; $result_data = false; 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__); + $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 = 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", + $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; break; + + default: // Unknown type detected! + DEBUG_LOG(__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 = DEFAULT_SUBJECT_LINE; + } else { + // Compile it + $subject = COMPILE_CODE($subject); + } + + // Prepare sender id + if (($sender > 0) && ($type == "mailid")) { + // Sender id + $sender = bigintval($sender); + } elseif ($type == "bonusid") { + // Is admin + $sender = _ADMIN_SHORT; + } else { + // Deleted + $sender = 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, + 'uid' => $GLOBALS['userid'], + 'data' => bigintval($DATA), + 'type' => $type, + 'subject' => $subject, + 'sender' => $sender, + 'stamp' => MAKE_DATETIME($timestamp, "2"), + 'cat' => GET_CATEGORY($cat), + 'points' => TRANSLATE_COMMA($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 .= LOAD_TEMPLATE("member_unconfirmed_row", true, $content); + } else { + $OUT .= LOAD_TEMPLATE("member_unconfirmed_row_nopoints", true, $content); + } + + // Count points $sum += $pay; - } - else - { + } else { // Prepare data for template $content = array( 'sw' => $SW, @@ -120,11 +208,20 @@ 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 .= LOAD_TEMPLATE("member_unconfirmed_404", true, $content); + } else { + $OUT .= LOAD_TEMPLATE("member_unconfirmed_404_nopoints", true, $content); + } } + + // Free result + SQL_FREERESULT($result_data); + + // Switch color $SW = 3 - $SW; - } + } // END - while // Free memory SQL_FREERESULT($result); @@ -136,12 +233,14 @@ if (SQL_NUMROWS($result) > 0) define('__UNCONFIRMED_ROWS', $OUT); // Load main template - LOAD_TEMPLATE("member_unconfirmed_table"); -} - else -{ + if (getConfig('show_points_unconfirmed') == "Y") { + LOAD_TEMPLATE("member_unconfirmed_table"); + } else { + LOAD_TEMPLATE("member_unconfirmed_table_nopoints"); + } +} else { // No mails left to confirm... :) - LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_NO_MAILS_TO_CONFIRM); + LOAD_TEMPLATE("admin_settings_saved", false, getMessage('MEMBER_NO_MAILS_TO_CONFIRM')); } //