sub Countdown {
my ($query) = @_;
- my $file = "$infobot_base_dir/$param{'ircUser'}.countdown";
+ my $file = "$bot_base_dir/$param{'ircUser'}.countdown";
my (%date, %desc);
my $reply;
### SQL SPECIFIC.
my ($to_days,$dayname,$monname);
- if ($param{'DBType'} =~ /pg|postgres|mysql/i) {
- $to_days = (&dbRawReturn("SELECT TO_DAYS(NOW()) - TO_DAYS('$sqldate')"))[0];
- $dayname = (&dbRawReturn("SELECT DAYNAME('$sqldate')"))[0];
- $monname = (&dbRawReturn("SELECT MONTHNAME('$sqldate')"))[0];
- } elsif ($param{'DBType'} =~ /^dbm$/i) {
- &DEBUG("Countdown: FIXME!!!");
-# $to_days =
-# $dayname =
-# $monname =
- return 1;
+ if ($param{'DBType'} =~ /^mysql|sqlite$/i) {
+ $to_days = (&sqlRawReturn("SELECT TO_DAYS(NOW()) - TO_DAYS('$sqldate')"))[0];
+ $dayname = (&sqlRawReturn("SELECT DAYNAME('$sqldate')"))[0];
+ $monname = (&sqlRawReturn("SELECT MONTHNAME('$sqldate')"))[0];
+
+ } elsif ($param{'DBType'} =~ /^pgsql$/i) {
+ $to_days = (&sqlRawReturn("SELECT date_trunc('day',
+ 'now'::timestamp - '$sqldate')"))[0];
+ $dayname = qw(Sun Mon Tue Wed Thu Fri Sat)[(&sqlRawReturn("SELECT extract(dow from timestamp '$sqldate')"))[0]];
+ $monname = qw(BAD Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)[(&sqlRawReturn("SELECT extract(month from timestamp '$sqldate')"))[0]];
+
} else {
- &ERROR("Countdown: invalid DBType?");
+ &ERROR("Countdown: invalid DBType " . $param{'DBType'} . ".");
return 1;
}