- switch ($type)
- {
- case "NORMAL":
- $result_data = SQL_QUERY_ESC("SELECT subject, timestamp_ordered, cat_id FROM `{!_MYSQL_PREFIX!}_user_stats` WHERE id=%s LIMIT 1",
- array(bigintval($id)), __FILE__, __LINE__);
- $type = "mailid"; $DATA = $id; $PROBLEM = getMessage('NORMAL_MAIL_PROBLEM');
- $LINK = "<a href=\"{!URL!}/mailid.php?uid=".$_GET['u_id']."&mailid=".$id."\" target=\"_blank\">".$id."</a>";
- break;
-
- case "BONUS":
- $result_data = SQL_QUERY_ESC("SELECT subject, timestamp, cat_id FROM `{!_MYSQL_PREFIX!}_bonus` WHERE id=%s LIMIT 1",
- array(bigintval($id2)), __FILE__, __LINE__);
- $type = "bonusid"; $DATA = $id2; $PROBLEM = getMessage('BONUS_MAIL_PROBLEM');
- $LINK = "<a href=\"{!URL!}/mailid.php?uid=".$_GET['u_id']."&bonusid=".$id2."\" target=\"_blank\">".$id2."</a>";
- break;
-
- default: // Problem in application detected!
- // Log the error
- DEBUG_LOG(__FILE__, __LINE__, sprintf("Invalid email type %s detected.", $type));
- break;
- }
-
- if (SQL_NUMROWS($result_data) == 1) {
- // Mail was found!
- list($subject, $timestamp, $cat) = SQL_FETCHROW($result_data);
- SQL_FREERESULT($result_data);
- if (empty($subject)) $subject = getMessage('DEFAULT_SUBJECT_LINE');
+ // @TODO Rewrite this to includes/filter
+ switch ($linkData['link_type']) {
+ case 'NORMAL':
+ $result_data = sqlQueryEscaped("SELECT `subject`, `timestamp_ordered` AS `timestamp`, `cat_id` FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `id`=%s LIMIT 1",
+ array(bigintval($linkData['stats_id'])), __FILE__, __LINE__);
+ $linkData['link_type'] = 'mailid';
+ $linkData['mail_id'] = $linkData['stats_id'];
+ $linkData['problem'] = '{--NORMAL_MAIL_PROBLEM--}';
+ break;
+
+ case 'BONUS':
+ $result_data = sqlQueryEscaped("SELECT `subject`, `timestamp`, `cat_id` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1",
+ array(bigintval($linkData['bonus_id'])), __FILE__, __LINE__);
+ $linkData['link_type'] = 'bonusid';
+ $linkData['mail_id'] = $linkData['bonus_id'];
+ $linkData['problem'] = '{--BONUS_MAIL_PROBLEM--}';
+ break;
+
+ default: // Problem in application detected!
+ reportBug(__FILE__, __LINE__, sprintf('Invalid email type %s detected.', $linkData['link_type']));
+ break;
+ } // END - switch
+
+ // Is there an entry?
+ if (sqlNumRows($result_data) == 1) {
+ // Mail was found
+ $mailData = merge_array($linkData, sqlFetchArray($result_data));
+
+ // Fix empty subject
+ if (empty($mailData['subject'])) {
+ // The subject line is empty so we use the default
+ $mailData['subject'] = '{--DEFAULT_SUBJECT--}';
+ } // END - if