$VAR1 = {
'target' => '1.1.1.1',
'id' => '1025116394',
'session' => '1025116375.79921',
'domain' => 'test.com',
'type' => 'A',
'priority' => undef,
'action' => 'add'
};
$VAR2 = {
'target' => 'test.com',
'id' => '1025118001',
'session' => '1025116375.79921',
'domain' => 'www',
'type' => 'CNAME',
'priority' => undef,
'action' => 'add'
};
####
sub db_retrieve_records {
my $select_query = "SELECT * from records where session=$session";
my $sth = $dbh->prepare($select_query);
$sth->execute();
my %sessions;
while (@records_results = $sth->fetchrow_array) {
my $id = $records_results[0];
$sessions{$id}{id} = $id;
$sessions{$id}{action} = $records_results[2];
$sessions{$id}{domain} = $records_results[3];
$sessions{$id}{priority} = $records_results[4];
$sessions{$id}{target} = $records_results[5];
$sessions{$id}{type} = $records_results[6];
$sessions{$id}{session} = $session;
}
foreach my $key (sort keys %sessions) {
push(@loop,\%{$sessions{$key}});
}
return \@loop;
}
####
sub mail {
local $self = shift;
local $dbh = $self->param('dbh');
my $q = $self->query();
local $session = $q->param('session');
my %master_info = db_retrieve_master_info();
my @loop = db_retrieve_records();
my $head = Mail::Header->new;
$head->add(From => 'somebody@localhost');
$head->add(To => $master_info{$session}{email});
$head->add(Subject => "Summary of DNS Request");
my $body .= "\n";
foreach (qw( account domain )) {
$body .= "$_ $master_info{$session}{$_}\n";
}
$body .= "\n";
for my $i (0..@loop) {
foreach (qw( action type domain priority target )) {
$body .= $loop[$i]{$_};
}
$body .= "\n";
}
# $body .= Data::Dumper->Dump(@loop);
$body .= "Other Instructions: \n" if $master_info{$session}{other};
$body .= "$master_info{$session}{other}\n";
my $mail;
$mail = Mail::Internet->new(Header => $head,
Body => [$body],
Modify => 1,
);
my $success = $mail->send('sendmail');
}