#!/usr/bin/perl
#script to import a bunch of mboxes at the command line

require "prontolib.pl";
use Pronto::Data::Message;

	if (!@ARGV) { die "usage: import box1 box2 box3 .. \n" }	
	
	read_prefs();
	$conn = open_db_conn();
	
	make_filter_and_get_account();
	import_boxes();	


sub import_boxes
{

	foreach my $file (@ARGV) {
		open(MBOX, $file);
		$/ = "\nFrom ";
		while ($body = <MBOX>) {
			$body =~ s/\nFrom $//s;
			$body =~ s/^.*\n//m;
			$error = &save_message($conn, $body, \%filter, $account);
		}
		$/="\n";
		close(MBOX);
	}	
	
}

sub make_filter_and_get_account
{
	$sql = "select sorder, type, boxid, regex, addr, trueregex, count, id from filters  order by sorder";
	$query=$conn->prepare($sql);
	$query->execute();
	while (@row = $query->fetchrow_array()) {
		$filter{$row[0]} = {
			'id' => $row[7],
			'type' => $row[1],
			'boxid' => $row[2],
			'regex' => $row[3],
			'addr' => $row[4],
			'trueregex' => $row[5],
			'count' => $row[6]
		}
	}

	$sql = "select id, friendly, reply from accounts where def = ?";
       	$query=$conn->prepare($sql);
	$query->execute("y");
	($account->{'id'}, $account->{'friendly'}, $account->{'reply'}) = $query->fetchrow_array();
	($account->{'dm'} = "n");
	($account->{'dupecheck'}='y');
	unless (defined $account->{'id'} && $account->{'id'}){$account->{'id'}=1;}
}
