]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Modules/Countdown.pl
- last set of changes to convert from db*() to sql*()
[infobot.git] / src / Modules / Countdown.pl
index 88477fa3c0f7bef01c279d946655d1d39a57827b..162e395de31fdeef9733f5f8d2324bae3a921dbf 100644 (file)
@@ -1,6 +1,6 @@
 #
 # Countdown.pl: Count down to a particular date.
-#       Author: xk <xk@leguin.openprojects.net>
+#       Author: dms
 #      Version: v0.1 (20000104)
 #      Created: 20000104
 #
@@ -11,7 +11,7 @@ use strict;
 
 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;
 
@@ -44,16 +44,24 @@ sub Countdown {
        ### 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];
+       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]];
+
        } elsif ($param{'DBType'} =~ /^dbm$/i) {
-           &DEBUG("Countdown: FIXME!!!");
+           &FIXME("Countdown: no dbm support");
 #          $to_days = 
 #          $dayname = 
 #          $monname = 
            return 1;
+
        } else {
            &ERROR("Countdown: invalid DBType?");
            return 1;