12 our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
15 @EXPORT = qw(db_connect db_commit
16 expires2timet expirestime2show
26 foreach my $d (@INC) {
33 $dbh = DBI->connect("dbi:SQLite:away.db",
35 RaiseError=>1, ShowErrorStatement=>1
37 or die "$DBI::errstr ?";
42 my $sth= $dbh->prepare($stmt);
45 if ($row= $sth->fetchrow_hashref()) {
46 die("REFERENTIAL INTEGRITY ERROR\n".
47 "\n$stmt\n". Dumper($row),"\n");
51 sub expires2timet ($) {
53 if ($str eq '' or $str =~ m/never/i) {
56 open F, "-|", qw(date -d),'$str',qw(+%s) or die $!;
58 $?=0; $!=0; close F or die "$? $!";
59 $dtime =~ m/^\d+$/ or die "$dtime ?";
63 sub expirestime2show ($) {
68 return strftime("%Y-%m-%d %H:%M");
73 nooutput("SELECT * FROM addresses LEFT JOIN config".
74 " USING (emailaddr) WHERE forwardfile IS NULL");
75 nooutput("SELECT * FROM addresses LEFT JOIN texts".
76 " USING (textid) WHERE desc IS NULL");