function pm_message_get($mid) { if (!($db = db::get())) { return false; } if (!isset($_SESSION['UID']) || !is_numeric($_SESSION['UID'])) { return false; } if (!is_numeric($mid)) { return false; } $pm_outbox = PM_OUTBOX; $sql = "SELECT SQL_CALC_FOUND_ROWS PM.MID, PM.REPLY_TO_MID, PM.FROM_UID, PM.SUBJECT, "; $sql .= "UNIX_TIMESTAMP(PM.CREATED) AS CREATED, USER.LOGON AS FROM_LOGON, USER.NICKNAME AS FROM_NICKNAME, "; $sql .= "PM_TYPE.TYPE, COUNT(PM_RECIPIENT.TO_UID) = COALESCE(OUTBOX.COUNT, 0) AS EDITABLE "; $sql .= "FROM PM INNER JOIN PM_RECIPIENT ON (PM_RECIPIENT.MID = PM.MID) "; $sql .= "INNER JOIN PM_TYPE ON (PM_TYPE.MID = PM.MID AND PM_TYPE.UID = '{$_SESSION['UID']}') "; $sql .= "LEFT JOIN USER ON (USER.UID = PM.FROM_UID) LEFT JOIN (SELECT PM_TYPE.MID, COUNT(*) AS COUNT "; $sql .= "FROM PM_TYPE WHERE (PM_TYPE.TYPE & {$pm_outbox}) GROUP BY PM_TYPE.MID) AS OUTBOX "; $sql .= "ON (OUTBOX.MID = PM.MID) WHERE PM.MID = '{$mid}' GROUP BY PM.MID "; if (!($result = $db->query($sql))) { return false; } if ($result->num_rows == 0) { return false; } if (!($message_data = $result->fetch_assoc())) { return false; } pm_get_recipients($message_data); pm_has_attachments($message_data); return $message_data; }
if ($mid == $message['MID']) { echo " <td class=\"postbody\" align=\"center\" valign=\"top\" width=\"1%\"><img src=\"" . html_style_image('current_thread.png') . "\" title=\"", gettext("Current Message"), "\" alt=\"", gettext("Current Message"), "\" /></td>"; } else { if ($message['TYPE'] == PM_UNREAD) { echo " <td class=\"postbody\" align=\"center\" valign=\"top\" width=\"1%\"><img src=\"" . html_style_image('pmunread.png') . "\" title=\"", gettext("Unread Message"), "\" alt=\"", gettext("Unread Message"), "\" /></td>"; } else { echo " <td class=\"postbody\" align=\"center\" valign=\"top\" width=\"1%\"><img src=\"" . html_style_image('pmread.png') . "\" title=\"", gettext("Read Message"), "\" alt=\"", gettext("Read Message"), "\" /></td>"; } } echo " <td align=\"left\" class=\"postbody\" width=\"50%\" valign=\"top\">"; if (strlen(trim($message['SUBJECT'])) > 0) { echo " <a href=\"pm_messages.php?webtag={$webtag}&folder={$current_folder}&mid={$message['MID']}&page={$page}#message\" target=\"_self\">", word_filter_add_ob_tags($message['SUBJECT'], true), "</a>"; } else { echo " <a href=\"pm_messages.php?webtag={$webtag}&folder={$current_folder}&mid={$message['MID']}&page={$page}#message\" target=\"_self\"><i>", gettext("No Subject"), "</i></a>"; } if (isset($message['AID']) && pm_has_attachments($message['MID'])) { echo " <img src=\"" . html_style_image('attach.png') . "\" border=\"0\" alt=\"", gettext("Attachment"), " - {$message['AID']}\" title=\"", gettext("Attachment"), "\" />"; } echo " </td>\n"; if ($current_folder == PM_FOLDER_SENT || $current_folder == PM_FOLDER_OUTBOX) { echo " <td align=\"left\" class=\"postbody\" valign=\"top\">\n"; echo " <a href=\"user_profile.php?webtag={$webtag}&uid={$message['TO_UID']}\" target=\"_blank\" class=\"popup 650x500\">", word_filter_add_ob_tags(format_user_name($message['TLOGON'], $message['TNICK']), true), "</a>\n"; echo " </td>\n"; echo " <td align=\"left\" class=\"postbody\">", format_time($message['CREATED']), "</td>\n"; echo " </tr>\n"; } else { if ($current_folder == PM_FOLDER_SAVED) { echo " <td align=\"left\" class=\"postbody\" valign=\"top\">\n"; echo " <a href=\"user_profile.php?webtag={$webtag}&uid={$message['FROM_UID']}\" target=\"_blank\" class=\"popup 650x500\">", word_filter_add_ob_tags(format_user_name($message['FLOGON'], $message['FNICK']), true), "</a>\n"; echo " </td>\n"; echo " <td align=\"left\" class=\"postbody\" valign=\"top\">\n";
function pm_message_get($mid) { if (!($db = db::get())) { return false; } if (($uid = session::get_value('UID')) === false) { return false; } if (!is_numeric($mid)) { return false; } $pm_inbox_items = PM_INBOX_ITEMS; $pm_sent_items = PM_SENT_ITEMS; $pm_outbox_items = PM_OUTBOX_ITEMS; $pm_saved_out = PM_SAVED_OUT; $pm_saved_in = PM_SAVED_IN; $pm_draft_items = PM_DRAFT_ITEMS; $sql = "SELECT PM.MID, PM.TYPE, PM.FROM_UID, PM.TO_UID, PM.SUBJECT, "; $sql .= "PM.RECIPIENTS, UNIX_TIMESTAMP(PM.CREATED) AS CREATED, FUSER.LOGON AS FLOGON, "; $sql .= "TUSER.LOGON AS TLOGON, FUSER.NICKNAME AS FNICK, "; $sql .= "TUSER.NICKNAME AS TNICK FROM PM PM "; $sql .= "LEFT JOIN USER FUSER ON (PM.FROM_UID = FUSER.UID) "; $sql .= "LEFT JOIN USER TUSER ON (PM.TO_UID = TUSER.UID) "; $sql .= "WHERE (((PM.TYPE & {$pm_inbox_items} > 0) AND PM.TO_UID = '{$uid}') "; $sql .= "OR ((PM.TYPE & {$pm_sent_items} > 0) AND PM.FROM_UID = '{$uid}' AND PM.SMID = 0) "; $sql .= "OR ((PM.TYPE & {$pm_outbox_items} > 0) AND PM.FROM_UID = '{$uid}') "; $sql .= "OR ((PM.TYPE & {$pm_saved_out} > 0) AND PM.FROM_UID = '{$uid}') "; $sql .= "OR ((PM.TYPE & {$pm_saved_in} > 0) AND PM.TO_UID = '{$uid}') "; $sql .= "OR ((PM.TYPE & {$pm_draft_items} > 0) AND PM.FROM_UID = '{$uid}')) "; $sql .= "AND PM.MID = '{$mid}' LIMIT 0, 1"; if (!($result = $db->query($sql))) { return false; } if ($result->num_rows == 0) { return false; } if (!($pm_message_array = $result->fetch_assoc())) { return false; } if (!($folder = pm_message_get_folder($mid, $pm_message_array['TYPE']))) { return false; } if ($pm_message_array['TO_UID'] == $uid && $pm_message_array['TYPE'] == PM_UNREAD && $folder == PM_FOLDER_INBOX) { pm_mark_as_read($mid); } if ($aid = pm_has_attachments($mid)) { $pm_message_array['AID'] = $aid; } return $pm_message_array; }