summaryrefslogtreecommitdiff
path: root/program/steps/mail
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2006-12-01 18:06:16 +0000
committerthomascube <thomas@roundcube.net>2006-12-01 18:06:16 +0000
commitb19097058c02f203321599bf04a5d7da7c2dafe8 (patch)
tree2e9cb4d79efe613f47048bab01016c3d0e0342ef /program/steps/mail
parent740e9ec00757ba805dbe27b22f92d12f6bd2e690 (diff)
Introducing preview pane and conditional skin tags
Diffstat (limited to 'program/steps/mail')
-rw-r--r--program/steps/mail/func.inc21
-rw-r--r--program/steps/mail/move_del.inc5
-rw-r--r--program/steps/mail/show.inc38
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