Initial revision
[mir.git] / dbscripts / mail2table.pl
1 #!/usr/bin/perl
2
3 use DBI;
4 use POSIX qw(strftime);
5
6 $db_user="aktuell";
7 $db_password="aktuell";
8 $dbi_string="DBI:mysql:hostname=192.168.4.8;database=nadiraktuell";
9
10 die unless ($dbh=DBI->connect($dbi_string,$db_user,$db_password));
11
12
13 ### prepare
14 $mo_insert_q="insert into content_objekt (titel, urheber, freigeschaltet, datum, ishtml, storage_path, thema_id, contentdata, created, lastchange, mail_sent) values (?,?,0,?,0,?,0,?,NOW(),NOW(),0)";
15 $mo_insert_sth=$dbh->prepare($mo_insert_q);
16
17 # setze datum
18
19 $datum = &POSIX::strftime( '%Y%m%d', localtime time );
20 $storage_path=&POSIX::strftime( '%Y/%m/%d', localtime time );  
21
22
23 $headermode=1;
24 $titel="";$from="";$contentdata="";
25 while (<>) {
26         if($headermode==1) {
27                 if (/^Subject: (.*)/) {
28                         $titel=$1;
29                         if (/^Subject: <nadir-aktuell> (.*)/) {
30                         $titel=$1;
31                         }
32                 }
33                 if (/^From: (.*)/) {
34                         $from = $1;
35                 }
36                 if (/^$/) {
37                  print "Switched to Body\n";
38                 $headermode=0;
39                 }             
40     }
41         else {
42           $contentdata = $contentdata . $_;
43         }
44 }
45     print "$datum $storage_path $from $titel \n";
46     $mo_insert_sth->execute($titel, $from, $datum, $storage_path, $contentdata);
47
48
49 1;
50