A lot has been rewritten, ext-teams added, ext-forced continued:
[mailer.git] / inc / modules / member / what-unconfirmed.php
index 1389c33d6abf03212bbd06436156cf4488b5860a..23502f4ed31d66eb1a5c98ecc1bf70fc9138e105 100644 (file)
@@ -45,11 +45,17 @@ if (!defined('__SECURITY')) {
 // Add description as navigation point
 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'))) {
        // 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`
+       `id`,`subject`,`timestamp`,`cat_id`,`points`,`text`,`is_notify`,`data_type`,`time`,`url`
 FROM
        `{?_MYSQL_PREFIX?}_bonus`
 WHERE
@@ -61,14 +67,23 @@ LIMIT 1",
        $content = SQL_FETCHARRAY($result_data);
 
        // Translate some data
-       $content['timestamp']   = generateDateTime($content['timestamp'], 2);
-       $content['userid']      = getMemberId();
-       $content['user_status'] = '{%message,MEMBER_MAIL_BONUS_CONFIRMED_UNKNOWN=' . $content['id'] . '%}';
+       $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')) {
-               // Get timestamp from insert
-               $content['user_status'] = '{%message,MEMBER_MAIL_BONUS_CONFIRMED_ON=' . generateDateTime(getEpocheTimeFromUserStats('bonusid', $content['id']), '2') . '%}';
+               // 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
@@ -100,14 +115,23 @@ LIMIT 1",
        $content = SQL_FETCHARRAY($result_data);
 
        // Translate some data
-       $content['timestamp']   = generateDateTime($content['timestamp'], '2');
-       $content['userid']      = getMemberId();
-       $content['user_status'] = '{%message,MEMBER_MAIL_NORMAL_CONFIRMED_UNKNOWN=' . $content['id'] . '%}';
+       $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')) {
-               // Get timestamp from insert
-               $content['user_status'] = '{%message,MEMBER_MAIL_NORMAL_CONFIRMED_ON=' . generateDateTime(getEpocheTimeFromUserStats('mailid', $content['id']), '2') . '%}';
+               // 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
@@ -119,11 +143,11 @@ LIMIT 1",
 
 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, stats_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(getMemberId()), __FILE__, __LINE__);
 } else {
        // 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",
+       $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__);
 }
 
@@ -162,7 +186,7 @@ LIMIT 1",
                                break;
 
                        case 'BONUS':
-                               $result_data = SQL_QUERY_ESC("SELECT `subject`, `timestamp`, `cat_id`, `points`, 0 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($row['bonus_id'])), __FILE__, __LINE__);
                                $row['link_type'] = 'bonusid';
                                $data = $row['bonus_id'];
@@ -170,7 +194,7 @@ LIMIT 1",
                                break;
 
                        default: // Unknown type detected!
-                               logDebugMessage(__FILE__, __LINE__, sprintf("Unknown mail type %s detected.", $row['link_type']));
+                               debug_report_bug(__FILE__, __LINE__, sprintf("Unknown mail type %s detected.", $row['link_type']));
                                break;
                }