X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fcompose.php;h=eb6dbcf86da664b403f48c6d5a0bbf45cf932f68;hb=f17728d175ccf6056977ef6443e65701c04417e2;hp=3b4782dd9eeba5e383f3e8b98490d52f7406722f;hpb=d07176935b853bf32aa1157a1fe8c4ad725e62a2;p=squirrelmail.git
diff --git a/src/compose.php b/src/compose.php
index 3b4782dd..eb6dbcf8 100644
--- a/src/compose.php
+++ b/src/compose.php
@@ -14,34 +14,25 @@
**
** $Id$
**/
-
- session_start();
-
- if (!isset($strings_php))
- include("../functions/strings.php");
- if (!isset($config_php))
- include("../config/config.php");
- if (!isset($page_header_php))
- include("../functions/page_header.php");
- if (!isset($imap_php))
- include("../functions/imap.php");
- if (!isset($date_php))
- include("../functions/date.php");
- if (!isset($mime_php))
- include("../functions/mime.php");
- if (!isset($smtp_php))
- include("../functions/smtp.php");
- if (!isset($display_messages_php))
- include("../functions/display_messages.php");
- if (!isset($auth_php))
- include ("../functions/auth.php");
- if (!isset($plugin_php))
- include ("../functions/plugin.php");
+ include('../src/validate.php');
+ include("../functions/strings.php");
+ include("../config/config.php");
+ include("../functions/page_header.php");
+ include("../functions/imap.php");
+ include("../functions/date.php");
+ include("../functions/mime.php");
+ include("../functions/smtp.php");
+ include("../functions/display_messages.php");
+ include ("../functions/plugin.php");
include("../src/load_prefs.php");
if (!isset($attachments))
+ {
$attachments = array();
+ session_register('attachments');
+ }
+
// This function is used when not sending or adding attachments
function newMail () {
@@ -155,47 +146,52 @@
function getAttachments($message) {
global $mailbox, $attachments, $attachment_dir, $imapConnection,
$ent_num, $forward_id;
-
+
if (!$message) {
sqimap_mailbox_select($imapConnection, $mailbox);
- $message = sqimap_get_message($imapConnection, $forward_id, $mailbox); }
-
- if (!$message->entities) {
- if ($message->header->entity_id != $ent_num) {
- $filename = decodeHeader($message->header->filename);
-
- if ($filename == "")
- $filename = "untitled-".$message->header->entity_id;
+ $message = sqimap_get_message($imapConnection, $forward_id,
+ $mailbox);
+ }
- $localfilename = md5($filename.", $REMOTE_IP, REMOTE_PORT, $UNIQUE_ID, extra-stuff here");
+ if (count($message->entities) == 0) {
+ if ($message->header->entity_id != $ent_num) {
+ $filename = decodeHeader($message->header->filename);
- // Write File Info
- $fp = fopen ($attachment_dir.$localfilename.".info", "w");
- fputs ($fp, strtolower($message->header->type0)."/".strtolower($message->header->type1)."\n".$filename."\n");
- fclose ($fp);
-
- // Write Attachment to file
- $fp = fopen ($attachment_dir.$localfilename, "w");
- fputs ($fp, decodeBody(mime_fetch_body($imapConnection, $forward_id, $message->header->entity_id), $message->header->encoding));
- fclose ($fp);
+ if ($filename == "")
+ $filename = "untitled-".$message->header->entity_id;
- $attachments[$localfilename] = $filename;
+ $localfilename = GenerateRandomString(32, '', 7);
+ while (file_exists($attachment_dir . $localfilename))
+ $localfilename = GenerateRandomString(32, '', 7);
+
+ $newAttachment['localfilename'] = $localfilename;
+ $newAttachment['remotefilename'] = $filename;
+ $newAttachment['type'] = strtolower($message->header->type0 .
+ '/' . $message->header->type1);
+
+ // Write Attachment to file
+ $fp = fopen ($attachment_dir.$localfilename, 'w');
+ fputs ($fp, decodeBody(mime_fetch_body($imapConnection,
+ $forward_id, $message->header->entity_id),
+ $message->header->encoding));
+ fclose ($fp);
- }
+ $attachments[] = $newAttachment;
+ }
} else {
- for ($i = 0; $i < count($message->entities); $i++) {
+ for ($i = 0; $i < count($message->entities); $i++) {
getAttachments($message->entities[$i]);
- }
+ }
}
return;
- }
+ }
function showInputForm () {
global $send_to, $send_to_cc, $reply_subj, $forward_subj, $body,
- $passed_body, $color, $use_signature, $signature, $editor_size,
- $attachments, $subject, $newmail, $use_javascript_addr_book,
- $send_to_bcc, $reply_id, $mailbox, $from_htmladdr_search,
- $location_of_buttons;
+ $passed_body, $color, $use_signature, $signature, $prefix_sig,
+ $editor_size, $attachments, $subject, $newmail,
+ $use_javascript_addr_book, $send_to_bcc, $reply_id, $mailbox,
+ $from_htmladdr_search, $location_of_buttons, $attachment_dir;
$subject = decodeHeader($subject);
$reply_subj = decodeHeader($reply_subj);
@@ -259,11 +255,10 @@
printf(" ",
htmlspecialchars($reply_subj));
} else if ($forward_subj) {
- $forward_subj = str_replace("\"", "'", $forward_subj);
$forward_subj = trim($forward_subj);
- if ((substr(strtolower($forward_subj), 0, 4) != "fwd:") &&
- (substr(strtolower($forward_subj), 0, 5) != "[fwd:") &&
- (substr(strtolower($forward_subj), 0, 6) != "[ fwd:"))
+ if ((substr(strtolower($forward_subj), 0, 4) != 'fwd:') &&
+ (substr(strtolower($forward_subj), 0, 5) != '[fwd:') &&
+ (substr(strtolower($forward_subj), 0, 6) != '[ fwd:'))
$forward_subj = "[Fwd: $forward_subj]";
printf(" ",
htmlspecialchars($forward_subj));
@@ -280,7 +275,10 @@
echo "
\n";
echo " \n";
@@ -302,13 +300,16 @@
echo " value=\"" . _("Add") ."\">\n";
echo " \n";
echo " \n";
- if (isset($attachments) && count($attachments)>0) {
+ if (count($attachments))
+ {
echo "