]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/member/what-unconfirmed.php
More usage of GET_URL() than file()
[mailer.git] / inc / modules / member / what-unconfirmed.php
index bf2112476b5dc67564b0df00209422ef7800ecb2..91725bf67df93b839a30cc88012306ca7713dc32 100644 (file)
  ************************************************************************/
 
 // 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();
+
 //
 ?>