diff options
author | thomascube <thomas@roundcube.net> | 2006-12-01 18:06:16 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2006-12-01 18:06:16 +0000 |
commit | b19097058c02f203321599bf04a5d7da7c2dafe8 (patch) | |
tree | 2e9cb4d79efe613f47048bab01016c3d0e0342ef /program/steps/mail | |
parent | 740e9ec00757ba805dbe27b22f92d12f6bd2e690 (diff) |
Introducing preview pane and conditional skin tags
Diffstat (limited to 'program/steps/mail')
-rw-r--r-- | program/steps/mail/func.inc | 21 | ||||
-rw-r--r-- | program/steps/mail/move_del.inc | 5 | ||||
-rw-r--r-- | program/steps/mail/show.inc | 38 |
3 files changed, 35 insertions, 29 deletions
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 76bb9b712..d655a3316 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -558,6 +558,27 @@ function rcmail_js_message_list($a_headers, $insert_top=FALSE) } +// return an HTML iframe for loading mail content +function rcmail_messagecontent_frame($attrib) + { + global $OUTPUT, $JS_OBJECT_NAME; + + if (empty($attrib['id'])) + $attrib['id'] = 'rcmailcontentwindow'; + + // allow the following attributes to be added to the <iframe> tag + $attrib_str = create_attrib_string($attrib, array('id', 'class', 'style', 'src', 'width', 'height', 'frameborder')); + $framename = $attrib['id']; + + $out = sprintf('<iframe name="%s"%s></iframe>'."\n", + $framename, + $attrib_str); + + $OUTPUT->add_script("$JS_OBJECT_NAME.set_env('contentframe', '$framename');"); + + return $out; + } + // return code for search function function rcmail_search_form($attrib) { diff --git a/program/steps/mail/move_del.inc b/program/steps/mail/move_del.inc index 80b2ad8d6..a7aa5c782 100644 --- a/program/steps/mail/move_del.inc +++ b/program/steps/mail/move_del.inc @@ -24,7 +24,7 @@ $REMOTE_REQUEST = TRUE; // move messages if ($_action=='moveto' && $_GET['_uid'] && $_GET['_target_mbox']) { - $count = sizeof(explode(',', $_GET['_uid'])); + $count = sizeof(explode(',', $_GET['_uid'])); $moved = $IMAP->move_message($_GET['_uid'], $_GET['_target_mbox'], $_GET['_mbox']); if (!$moved) @@ -62,8 +62,7 @@ else // update message count display $pages = ceil($IMAP->messagecount()/$IMAP->page_size); -$commands = "if (this.message_list) this.message_list.init();\n"; -$commands .= sprintf("this.set_rowcount('%s');\n", rcmail_get_messagecount_text()); +$commands = sprintf("this.set_rowcount('%s');\n", rcmail_get_messagecount_text()); $commands .= sprintf("this.set_env('pagecount', %d);\n", $pages); diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc index c8e493756..8e6c3cd36 100644 --- a/program/steps/mail/show.inc +++ b/program/steps/mail/show.inc @@ -30,12 +30,18 @@ if ($_GET['_uid']) $MESSAGE = array('UID' => get_input_value('_uid', RCUBE_INPUT_GET)); $MESSAGE['headers'] = $IMAP->get_headers($MESSAGE['UID']); $MESSAGE['structure'] = $IMAP->get_structure($MESSAGE['UID']); - + // go back to list if message not found (wrong UID) if (!$MESSAGE['headers'] || !$MESSAGE['structure']) { - $_action = 'list'; - return; + show_message('messageopenerror', 'error'); + if ($_action=='preview' && template_exists('messagepreview')) + parse_template('messagepreview'); + else + { + $_action = 'list'; + return; + } } $MESSAGE['subject'] = $IMAP->decode_header($MESSAGE['headers']->subject); @@ -131,28 +137,6 @@ function rcmail_message_attachments($attrib) -// return an HTML iframe for loading mail content -function rcmail_messagecontent_frame($attrib) - { - global $COMM_PATH, $OUTPUT, $GET_URL, $JS_OBJECT_NAME; - - // allow the following attributes to be added to the <iframe> tag - $attrib_str = create_attrib_string($attrib); - $framename = 'rcmailcontentwindow'; - - $out = sprintf('<iframe src="%s" name="%s"%s>%s</iframe>'."\n", - $GET_URL, - $framename, - $attrib_str, - rcube_label('loading')); - - - $OUTPUT->add_script("$JS_OBJECT_NAME.set_env('contentframe', '$framename');"); - - return $out; - } - - function rcmail_remote_objects_msg($attrib) { global $CONFIG, $OUTPUT, $JS_OBJECT_NAME; @@ -177,8 +161,10 @@ function rcmail_remote_objects_msg($attrib) } -if ($_action=='print') +if ($_action=='print' && template_exists('printmessage')) parse_template('printmessage'); +else if ($_action=='preview' && template_exists('messagepreview')) + parse_template('messagepreview'); else parse_template('message'); ?>
\ No newline at end of file |