X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-unconfirmed.php;h=91725bf67df93b839a30cc88012306ca7713dc32;hp=bf2112476b5dc67564b0df00209422ef7800ecb2;hb=d0c792100bf4b67acd1824860204929c1540f6fb;hpb=75ad748a68473ace540251427a74fb781b1145e9 diff --git a/inc/modules/member/what-unconfirmed.php b/inc/modules/member/what-unconfirmed.php index bf2112476b..91725bf67d 100644 --- a/inc/modules/member/what-unconfirmed.php +++ b/inc/modules/member/what-unconfirmed.php @@ -32,92 +32,171 @@ ************************************************************************/ // 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()) -{ - LOAD_URL(URL."/modules.php?module=index"); +} elseif (!IS_MEMBER()) { + LOAD_URL("modules.php?module=index"); +} elseif (!EXT_IS_ACTIVE("mailid")) { + LOAD_URL("modules.php?module=login"); } // Add description as navigation point -ADD_DESCR("member", basename(__FILE__)); +ADD_DESCR("member", __FILE__); -OPEN_TABLE("100%", "member_content member_content_align", ""); -if (EXT_IS_ACTIVE("bonus")) -{ +// Shall we display a mail? +if ((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($_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 (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($_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=%d ORDER BY bonus_id DESC", + $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 -{ +} else { // Don't load bonus ID - $result = SQL_QUERY_ESC("SELECT stats_id, stats_id, link_type FROM "._MYSQL_PREFIX."_user_links WHERE userid=%d ORDER BY stats_id DESC", + $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 = ""; 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=%d LIMIT 1", + $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; + $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=%d 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; + $type = "bonusid"; $DATA = $id2; $PROBLEM = BONUS_MAIL_PROBLEM; 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=%d 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 ($_CONFIG['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, @@ -125,11 +204,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 ($_CONFIG['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); @@ -141,13 +229,17 @@ if (SQL_NUMROWS($result) > 0) define('__UNCONFIRMED_ROWS', $OUT); // Load main template - LOAD_TEMPLATE("member_unconfirmed_table"); + if ($_CONFIG['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); } -CLOSE_TABLE(); + // ?>