src/strip.vala
[app.mailtrimmer] / src / strip.vala
index 1265159..e05a408 100644 (file)
@@ -374,7 +374,7 @@ public class Strip : GLib.Object {
                        int.parse(sid)));  
 
                 
-               if (matches !="") {      
+               if (matches == "") {     
                        // our old mailfort code deleted the crap out of old records...
                        // if this occurs we will need to create the record again..
                        this.fix_deleted_attachment_db(int.parse(sid),attachment);
@@ -443,27 +443,95 @@ public class Strip : GLib.Object {
                
         var filename = attachment.get_header("X-strip-content-name");
         var file_path  = attachment.get_header("X-strip-path");
-               var content_type = attachment.get_header("X-strip-content-type");
-               
-               GLib.error("GOT FN: %s  | PATH: %s | CT: %s", filename, file_path, content_type);
-     
+        var fn =  StripApplication.opt_target_path + "/" + file_path;
+        var chksum = this.md5_file(fn);
+               var mime_type = attachment.get_header("X-strip-content-type");
+
+               var fileinfo = File.new_for_path(fn)
+                                       .query_info(GLib.FileAttribute.STANDARD_SIZE+","+GLib.FileAttribute.TIME_MODIFIED
+                                               ,GLib.FileQueryInfoFlags.NONE,null);
+       var file_size = (int) fileinfo.get_size();
+
                
+
+      
                this.query("""
-                        INSERT INTO Attachments
-                               (id, exim_msg?, chksum, filesize)
-                               values
+                      
+                      
+                               INSERT INTO Attachment  (  
+                                       id, 
+                                       
+                                   msgid ,
+                                   queue_id ,
+                                   mime_filename ,
+                                   mime_type,
+                                    
+                                   stored_filename ,
+                                   mime_charset ,
+                                   mime_cdisp ,
+                                   mime_is_cover ,
+                                   
+                                   mime_is_multi ,
+                                   mime_is_mail,
+                                   mime_size ,
+                                   filesize,
+                                   
+                                   checksum
+
+                               ) VALUES (
+                                       %d,  -- id
+                                   '%s' , -- msgid
+                                   0,
+                                   '%s'  , -- filename
+                                   '', 
+                                   '',
+                                   '',
+                                   'attachment',
+                                   0,
+                                   0,
+                                   0,
+                                   %d, -- size
+                                   %d, -- size
+                                   '%s' -- checkum
+
+                               )"
+                      
+                      
+                        INSERT INTO Attachment (
+                               id, msgid, checksum, mime_type,
+                               mime_filename,  filesize,mime_size,  mime_cdisp
+                               ) values (
                                ( 
-                            %d,   '%s', '%s',  '%s', %d
+                            %d,   '%s', '%s',  '%s',
+                            '%s'  %d, %d, 'attachment', 
+                            
                             ) 
                             
                      """.printf(
                                id,
                                      this.mysql_escape(this.active_message_exim_id),
                                      this.mysql_escape(chksum),
-                                 this.mysql_escape(mime_filename),                       
-                                     int.parse(filesize)
-                       ));
-                       
+                                 this.mysql_escape(mime_type),                                                       
+                                     this.mysql_escape(filename),                        
+                                     file_size
+                        ));
+                        
+                this.query("""
+                 SELECT attachment_update(
+                      %d, -- in_id INT(11),
+                      '%s', -- in_mime_type varchar(255),
+                      '%s', -- in_created DATETIME,
+                      '%s' -- in_mailfort_sig varchar(64)
+                 )
+             """.printf(
+                               id,
+                       "", // this will be ignored..
+                               this.created_date,
+                               this.mysql_escape(this.active_message_x_mailfort_sig)
+             
+             )
+               );
+                GLib.error("added attachment?");
     }