示例#1
0
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;
}
示例#2
0
 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}&amp;folder={$current_folder}&amp;mid={$message['MID']}&amp;page={$page}#message\" target=\"_self\">", word_filter_add_ob_tags($message['SUBJECT'], true), "</a>";
 } else {
     echo "            <a href=\"pm_messages.php?webtag={$webtag}&amp;folder={$current_folder}&amp;mid={$message['MID']}&amp;page={$page}#message\" target=\"_self\"><i>", gettext("No Subject"), "</i></a>";
 }
 if (isset($message['AID']) && pm_has_attachments($message['MID'])) {
     echo "            &nbsp;&nbsp;<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}&amp;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}&amp;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";
示例#3
0
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;
}