* When you browse for an attachment, then hit the Address Book form button,
[squirrelmail.git] / src / compose.php
index 80a62db6126266eb509fe702ccecb03770316ebb..eb6dbcf86da664b403f48c6d5a0bbf45cf932f68 100644 (file)
     **
     ** $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))
@@ -46,6 +33,7 @@
        session_register('attachments');
    }
 
+
    // This function is used when not sending or adding attachments
    function newMail () {
       global $forward_id, $imapConnection, $msg, $ent_num, $body_ary, $body,
 
               $newAttachment['localfilename'] = $localfilename;
              $newAttachment['remotefilename'] = $filename;
-             $newAttachment['type0'] = strtolower($message->header->type0 .
+             $newAttachment['type'] = strtolower($message->header->type0 .
                 '/' . $message->header->type1);
 
               // Write Attachment to file
          $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;
+         $from_htmladdr_search, $location_of_buttons, $attachment_dir;
 
       $subject = decodeHeader($subject);
       $reply_subj = decodeHeader($reply_subj);
          echo "</td><td align=left bgcolor=\"$color[0]\">";
         foreach ($attachments as $key => $info) {
             echo "<input type=\"checkbox\" name=\"delete[]\" value=\"$key\">\n";
-           echo $info['remotefilename'] . "<br>\n";
+           echo $info['remotefilename'] . " - " . $info['type'] . " (";
+           echo show_readable_size(filesize($attachment_dir . 
+               $info['localfilename'])) . ")<br>\n";
          }
          
          echo "<input type=\"submit\" name=\"do_delete\" value=\""._("Delete selected attachments")."\">\n";
    function saveAttachedFiles() {
       global $HTTP_POST_FILES, $attachment_dir, $attachments;
       
-      is_logged_in();
       $localfilename = GenerateRandomString(32, '', 7);
       while (file_exists($attachment_dir . $localfilename))
           $localfilename = GenerateRandomString(32, '', 7);
          //sqimap_logout($imapConnection);
       }
    } else if (isset($html_addr_search_done)) {
-      is_logged_in();
       displayPageHeader($color, $mailbox);
 
-      for ($i=0; $i < count($send_to_search); $i++) {
-         if ($send_to)
-            $send_to .= ", ";
-         $send_to .= $send_to_search[$i];   
+      if (isset($send_to_search) && is_array($send_to_search))
+      {
+         for ($i=0; $i < count($send_to_search); $i++) {
+            if ($send_to)
+               $send_to .= ", ";
+            $send_to .= $send_to_search[$i];   
+         }
       }
       
-      for ($i=0; $i < count($send_to_cc_search); $i++) {
-         if ($send_to_cc)
-            $send_to_cc .= ", ";
-         $send_to_cc .= $send_to_cc_search[$i];   
+      if (isset($send_to_cc_search) && is_array($send_to_cc_search))
+      {
+         for ($i=0; $i < count($send_to_cc_search); $i++) {
+            if ($send_to_cc)
+               $send_to_cc .= ", ";
+            $send_to_cc .= $send_to_cc_search[$i];   
+         }
       }
       
-      for ($i=0; $i < count($send_to_bcc_search); $i++) {
-         if ($send_to_bcc)
-            $send_to_bcc .= ", ";
-         $send_to_bcc .= $send_to_bcc_search[$i];   
+      if (isset($send_to_bcc_search) && is_array($send_to_bcc_search))
+      {
+         for ($i=0; $i < count($send_to_bcc_search); $i++) {
+            if ($send_to_bcc)
+               $send_to_bcc .= ", ";
+            $send_to_bcc .= $send_to_bcc_search[$i];   
+         }
       }
       
       showInputForm();
    } else if (isset($html_addr_search)) {
+      if (isset($HTTP_POST_FILES['attachfile']) &&
+          $HTTP_POST_FILES['attachfile']['tmp_name'] &&
+          $HTTP_POST_FILES['attachfile']['tmp_name'] != 'none')
+      {
+          if (saveAttachedFiles())
+                plain_error_message(_("Could not move/copy file. File not attached"), $color);
+      }
       // I am using an include so as to elminiate an extra unnecessary click.  If you
       // can think of a better way, please implement it.
       include ("./addrbook_search_html.php");
       displayPageHeader($color, $mailbox);
       showInputForm();
    } else if (isset($do_delete)) {
-      is_logged_in();
       displayPageHeader($color, $mailbox);
 
       if (isset($delete) && is_array($delete))