**
** Handles attachment downloads to the users computer.
** Also allows displaying of attachments when possible.
+ **
+ ** $Id$
**/
- if (!isset($config_php))
- include("../config/config.php");
if (!isset($strings_php))
include("../functions/strings.php");
- if (!isset($page_header_php))
- include("../functions/page_header.php");
+ if (!isset($config_php))
+ include("../config/config.php");
if (!isset($imap_php))
include("../functions/imap.php");
if (!isset($mime_php))
include("../functions/mime.php");
if (!isset($date_php))
include("../functions/date.php");
+ if (!isset($i18n_php))
+ include("../functions/i18n.php");
+
+ session_start();
+ header("Pragma: ");
+ header("Cache-Control: cache");
include("../src/load_prefs.php");
function viewText($color, $body, $id, $entid, $mailbox, $type1, $wrap_at) {
global $where, $what, $charset;
global $startMessage;
+
displayPageHeader($color, "None");
echo "<BR><TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=2 ALIGN=CENTER><TR><TD BGCOLOR=\"$color[0]\">";
echo "<TABLE WIDTH=98% BORDER=0 CELLSPACING=0 CELLPADDING=2 ALIGN=CENTER><TR><TD BGCOLOR=\"$color[0]\">";
echo "<TR><TD BGCOLOR=\"$color[4]\"><TT>";
- if ($type1 == "html")
- echo $body;
- else
- echo translateText($body, $wrap_at, $charset);
+ if ($type1 != "html")
+ translateText($body, $wrap_at, $charset);
+
+ echo $body;
echo "</TT></TD></TR></TABLE>";
}
$message = getEntity($message, $passed_ent_id);
$header = $message->header;
- $body = mime_fetch_body($imapConnection, $passed_id, $passed_ent_id);
$charset = $header->charset;
$type0 = $header->type0;
$type1 = $header->type1;
+ if (isset($override_type0))
+ $type0 = $override_type0;
+ if (isset($override_type1))
+ $type1 = $override_type1;
$filename = decodeHeader($header->filename);
+ if (!$filename) {
+ $filename = decodeHeader($header->name);
+ }
if (strlen($filename) < 1) {
if ($type1 == "plain" && $type0 == "text") $suffix = "txt";
// is displayable (text or html), it will load them up in a text
// viewer (built in to squirrelmail). Otherwise, it sets the
// content-type as application/octet-stream
-
- if ($absolute_dl == "true") {
+
+ if (isset($absolute_dl) && $absolute_dl == "true") {
switch($type0) {
case "text":
+ $body = mime_fetch_body($imapConnection, $passed_id, $passed_ent_id);
$body = decodeBody($body, $header->encoding);
+ set_up_language(getPref($data_dir, $username, "language"));
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-type: application/octet-stream; name=\"$filename\"");
if ($type1 == "plain") {
- echo _("Subject") . ": " . decodeHeader(stripslashes($top_header->subject)) . "\n";
- echo " " . _("From") . ": " . decodeHeader(stripslashes($top_header->from)) . "\n";
- echo " " . _("To") . ": " . decodeHeader(stripslashes(getLineOfAddrs($top_header->to))) . "\n";
+ echo _("Subject") . ": " . decodeHeader($top_header->subject) . "\n";
+ echo " " . _("From") . ": " . decodeHeader($top_header->from) . "\n";
+ echo " " . _("To") . ": " . decodeHeader(getLineOfAddrs($top_header->to)) . "\n";
echo " " . _("Date") . ": " . getLongDateString($top_header->date) . "\n\n";
}
echo trim($body);
break;
default:
- $body = decodeBody($body, $header->encoding);
- header("Content-Disposition: attachment; filename=\"$filename\"");
- header("Content-type: application/octet-stream; name=\"$filename\"");
- echo $body;
+ header("Content-Disposition: inline; filename=\"$filename\"");
+ header("Content-type: application/download; name=\"$filename\"");
+ mime_print_body_lines ($imapConnection, $passed_id, $passed_ent_id, $header->encoding);
break;
}
} else {
switch ($type0) {
case "text":
- $body = decodeBody($body, $header->encoding);
- viewText($color, $body, $passed_id, $passed_ent_id, $mailbox, $type1, $wrap_at);
+ if ($type1 == "plain" || $type1 == "html") {
+ $body = mime_fetch_body($imapConnection, $passed_id, $passed_ent_id);
+ $body = decodeBody($body, $header->encoding);
+ include("../functions/page_header.php");
+ viewText($color, $body, $passed_id, $passed_ent_id, $mailbox, $type1, $wrap_at);
+ } else {
+ $body = mime_fetch_body($imapConnection, $passed_id, $passed_ent_id);
+ $body = decodeBody($body, $header->encoding);
+ header("Content-type: $type0/$type1; name=\"$filename\"");
+ header("Content-Disposition: inline; filename=\"$filename\"");
+ echo $body;
+ }
break;
case "message":
+ $body = mime_fetch_body($imapConnection, $passed_id, $passed_ent_id);
$body = decodeBody($body, $header->encoding);
+ include("../functions/page_header.php");
viewText($color, $body, $passed_id, $passed_ent_id, $mailbox, $type1, $wrap_at);
break;
default:
- $body = decodeBody($body, $header->encoding);
- header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-type: $type0/$type1; name=\"$filename\"");
- echo $body;
+ header("Content-Disposition: inline; filename=\"$filename\"");
+ mime_print_body_lines ($imapConnection, $passed_id, $passed_ent_id, $header->encoding);
break;
}
- }
-
+ }
+
sqimap_logout($imapConnection);
?>