]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Modules/Countdown.pl
ws
[infobot.git] / src / Modules / Countdown.pl
index 0fdbdd3c1c4849b5f63f1c530bddef1af951c4a4..a5e9edffcaa9873a01566039814290f5912d62aa 100644 (file)
@@ -44,18 +44,19 @@ 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];
-       } 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;
        }