Changeset 1400 in subversion for trunk/roundcubemail/program/steps/mail/show.inc
- Timestamp:
- May 17, 2008 1:46:43 PM (5 years ago)
- File:
-
- 1 edited
-
trunk/roundcubemail/program/steps/mail/show.inc (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/roundcubemail/program/steps/mail/show.inc
r1366 r1400 23 23 24 24 // similar code as in program/steps/mail/get.inc 25 if ($_GET['_uid']) 26 { 27 $MESSAGE = array('UID' => get_input_value('_uid', RCUBE_INPUT_GET)); 28 $MESSAGE['headers'] = $IMAP->get_headers($MESSAGE['UID']); 25 if ($_GET['_uid']) { 26 $MESSAGE = new rcube_message(get_input_value('_uid', RCUBE_INPUT_GET)); 29 27 30 28 // set message charset as default 31 if (!empty($MESSAGE ['headers']->charset))32 $IMAP->set_charset($MESSAGE ['headers']->charset);29 if (!empty($MESSAGE->headers->charset)) 30 $IMAP->set_charset($MESSAGE->headers->charset); 33 31 34 32 // go back to list if message not found (wrong UID) 35 if (!$MESSAGE['headers']) 36 { 33 if (empty($MESSAGE->headers)) { 37 34 $OUTPUT->show_message('messageopenerror', 'error'); 38 35 if ($RCMAIL->action=='preview' && template_exists('messagepreview')) 39 36 $OUTPUT->send('messagepreview'); 40 else 41 { 37 else { 42 38 $RCMAIL->action = 'list'; 43 39 return; 44 }45 40 } 41 } 46 42 47 // check if safe flag is set48 if ($MESSAGE['is_safe'] = intval($_GET['_safe']))49 $_SESSION['safe_messages'][$MESSAGE['UID']] = true;50 else if ($_SESSION['safe_messages'][$MESSAGE['UID']])51 $MESSAGE['is_safe'] = 1;52 53 43 $mbox_name = $IMAP->get_mailbox_name(); 54 44 55 45 // calculate Etag for this request 56 $etag = md5($MESSAGE ['UID'].$mbox_name.session_id().intval($MESSAGE['headers']->mdn_sent).intval($MESSAGE['is_safe']).intval($PRINT_MODE));46 $etag = md5($MESSAGE->uid.$mbox_name.session_id().intval($MESSAGE->headers->mdn_sent).intval($MESSAGE->is_safe).intval($PRINT_MODE)); 57 47 58 48 // allow caching, unless remote images are present 59 if ((bool)$MESSAGE ['is_safe'])49 if ((bool)$MESSAGE->is_safe) 60 50 send_nocacheing_headers(); 61 51 else if (empty($CONFIG['devel_mode'])) 62 send_modified_header($_SESSION['login_time'], $etag, !$MESSAGE ['headers']->seen);52 send_modified_header($_SESSION['login_time'], $etag, !$MESSAGE->headers->seen); 63 53 64 $MESSAGE['subject'] = $IMAP->decode_header($MESSAGE['headers']->subject); 65 $OUTPUT->set_pagetitle($MESSAGE['subject']); 54 $OUTPUT->set_pagetitle($MESSAGE->subject); 66 55 67 if ($MESSAGE['structure'] = $IMAP->get_structure($MESSAGE['UID']))68 list($MESSAGE['parts'], $MESSAGE['attachments']) = rcmail_parse_message(69 $MESSAGE['structure'],70 array('safe' => $MESSAGE['is_safe'],71 'prefer_html' => $CONFIG['prefer_html'],72 'get_url' => $GET_URL.'&_part=%s')73 );74 else75 $MESSAGE['body'] = $IMAP->get_body($MESSAGE['UID']);76 77 56 // mark message as read 78 if (!$MESSAGE ['headers']->seen)57 if (!$MESSAGE->headers->seen) 79 58 { 80 $marked = $IMAP->set_flag($MESSAGE ['UID'], 'SEEN');59 $marked = $IMAP->set_flag($MESSAGE->uid, 'SEEN'); 81 60 if($RCMAIL->action == 'preview' && $marked != -1) 82 61 { 83 62 $OUTPUT->command('set_unread_count_from_preview', $mbox_name, $IMAP->messagecount($mbox_name, 'UNSEEN'), ($mbox_name == 'INBOX')); 84 $OUTPUT->command('mark_as_read_from_preview', $MESSAGE ['UID']);63 $OUTPUT->command('mark_as_read_from_preview', $MESSAGE->uid); 85 64 } 86 65 } 87 66 88 67 // give message uid to the client 89 $OUTPUT->set_env('uid', $MESSAGE ['UID']);90 $OUTPUT->set_env('safemode', $MESSAGE ['is_safe']);68 $OUTPUT->set_env('uid', $MESSAGE->uid); 69 $OUTPUT->set_env('safemode', $MESSAGE->is_safe); 91 70 92 71 // check for unset disposition notification 93 if ($MESSAGE['headers']->mdn_to && !$MESSAGE['headers']->mdn_sent && $mbox_name != $CONFIG['drafts_mbox']) 72 if ($MESSAGE->headers->mdn_to && !$MESSAGE->headers->mdn_sent && 73 $mbox_name != $CONFIG['drafts_mbox'] && $mbox_name != $CONFIG['sent_mbox']) 94 74 { 95 75 if (intval($CONFIG['mdn_requests']) === 1) 96 76 { 97 if (rcmail_send_mdn($MESSAGE ['UID']))77 if (rcmail_send_mdn($MESSAGE->uid)) 98 78 $OUTPUT->show_message('receiptsent', 'confirmation'); 99 79 } … … 114 94 $a_msg_index = $IMAP->message_index(NULL, $_SESSION['sort_col'], $_SESSION['sort_order']); 115 95 116 $MESSAGE ['index'] = array_search((string)$MESSAGE['UID'], $a_msg_index, TRUE);117 $prev = isset($a_msg_index[$MESSAGE ['index']-1]) ? $a_msg_index[$MESSAGE['index']-1] : -1 ;96 $MESSAGE->index = array_search((string)$MESSAGE->uid, $a_msg_index, TRUE); 97 $prev = isset($a_msg_index[$MESSAGE->index-1]) ? $a_msg_index[$MESSAGE->index-1] : -1 ; 118 98 $first = count($a_msg_index)>0 ? $a_msg_index[0] : -1; 119 $next = isset($a_msg_index[$MESSAGE ['index']+1]) ? $a_msg_index[$MESSAGE['index']+1] : -1 ;99 $next = isset($a_msg_index[$MESSAGE->index+1]) ? $a_msg_index[$MESSAGE->index+1] : -1 ; 120 100 $last = count($a_msg_index)>0 ? $a_msg_index[count($a_msg_index)-1] : -1; 121 101 } … … 123 103 { 124 104 // this assumes that we are sorted by date_DESC 125 $seq = $IMAP->get_id($MESSAGE ['UID']);105 $seq = $IMAP->get_id($MESSAGE->uid); 126 106 $prev = $IMAP->get_uid($seq + 1); 127 107 $first = $IMAP->get_uid($IMAP->messagecount()); 128 108 $next = $IMAP->get_uid($seq - 1); 129 109 $last = $IMAP->get_uid(1); 130 $MESSAGE ['index']= $IMAP->messagecount() - $seq;110 $MESSAGE->index = $IMAP->messagecount() - $seq; 131 111 } 132 112 … … 144 124 145 125 function rcmail_message_attachments($attrib) 146 { 147 global $CONFIG, $OUTPUT, $PRINT_MODE, $MESSAGE, $GET_URL; 126 { 127 global $PRINT_MODE, $MESSAGE; 128 129 $out = $ol = ''; 148 130 149 if (sizeof($MESSAGE['attachments'])) 150 { 151 // allow the following attributes to be added to the <ul> tag 152 $attrib_str = create_attrib_string($attrib, array('style', 'class', 'id')); 153 $out = '<ul' . $attrib_str . ">\n"; 131 if (sizeof($MESSAGE->attachments)) { 132 foreach ($MESSAGE->attachments as $attach_prop) { 133 if ($PRINT_MODE) { 134 $ol .= html::tag('li', null, sprintf("%s (%s)", Q($attach_prop->filename), Q(show_bytes($attach_prop->size)))); 135 } 136 else { 137 $ol .= html::tag('li', null, 138 html::a(array( 139 'href' => $MESSAGE->get_part_url($attach_prop->mime_id), 140 'onclick' => sprintf( 141 'return %s.command(\'load-attachment\',{part:\'%s\', mimetype:\'%s\'},this)', 142 JS_OBJECT_NAME, 143 $attach_prop->mime_id, 144 $attach_prop->mimetype), 145 ), 146 Q($attach_prop->filename))); 147 } 148 } 154 149 155 foreach ($MESSAGE['attachments'] as $attach_prop) 156 { 157 if ($PRINT_MODE) 158 $out .= sprintf('<li>%s (%s)</li>'."\n", 159 $attach_prop->filename, 160 show_bytes($attach_prop->size)); 161 else 162 $out .= sprintf('<li><a href="%s&_part=%s" onclick="return %s.command(\'load-attachment\',{part:\'%s\', mimetype:\'%s\'},this)">%s</a></li>'."\n", 163 htmlspecialchars($GET_URL), 164 $attach_prop->mime_id, 165 JS_OBJECT_NAME, 166 $attach_prop->mime_id, 167 $attach_prop->mimetype, 168 $attach_prop->filename); 169 } 170 171 $out .= "</ul>"; 172 return $out; 173 } 174 } 150 $out = html::tag('ul', $attrib, $ol, html::$common_attrib); 151 } 152 153 return $out; 154 } 175 155 176 156
Note: See TracChangeset
for help on using the changeset viewer.
