|
|
|
@ -115,9 +115,13 @@ if (!$dbh) {
|
|
|
|
|
exit(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# mysql only, needs FIX for ALL databases
|
|
|
|
|
my $db_true; # MySQL and PgSQL use different values for TRUE
|
|
|
|
|
if ($db_type eq "mysql") {
|
|
|
|
|
$dbh->do("SET CHARACTER SET utf8;");
|
|
|
|
|
$db_true = '1';
|
|
|
|
|
} else { # Pg
|
|
|
|
|
# TODO: SET CHARACTER SET is mysql only, needs FIX for ALL databases
|
|
|
|
|
$db_true = 'True';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# used to detect infinite address lookup loops
|
|
|
|
@ -233,7 +237,7 @@ sub find_real_address {
|
|
|
|
|
panic("possible infinite loop in find_real_address for <$email>. Check for alias loop\n");
|
|
|
|
|
}
|
|
|
|
|
my $realemail;
|
|
|
|
|
my $query = qq{SELECT email FROM vacation WHERE email=? and active=true};
|
|
|
|
|
my $query = qq{SELECT email FROM vacation WHERE email=? and active=$db_true};
|
|
|
|
|
my $stm = $dbh->prepare($query) or panic_prepare($query);
|
|
|
|
|
$stm->execute($email) or panic_execute($query,"email='$email'");
|
|
|
|
|
my $rv = $stm->rows;
|
|
|
|
@ -251,7 +255,7 @@ sub find_real_address {
|
|
|
|
|
if ($rv == 1) {
|
|
|
|
|
my @row = $stm->fetchrow_array;
|
|
|
|
|
my $alias = $row[0];
|
|
|
|
|
$query = qq{SELECT email FROM vacation WHERE email=? and active=true};
|
|
|
|
|
$query = qq{SELECT email FROM vacation WHERE email=? and active=$db_true};
|
|
|
|
|
$stm = $dbh->prepare($query) or panic_prepare($query);
|
|
|
|
|
$stm->execute($alias) or panic_prepare($query,"email='$alias'");
|
|
|
|
|
$rv = $stm->rows;
|
|
|
|
|