]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Modules/Factoids.pl
remove old comment
[infobot.git] / src / Modules / Factoids.pl
index 9ca5c547c1fea0b643ccbbae7fe6a30ebea24b74..729ec8e77a7969e2b54a16995a9e2fe411615ebb 100644 (file)
@@ -22,7 +22,9 @@ sub CmdFactInfo {
        return;
     }
 
-    my %factinfo = &dbGetColNiceHash("factoids", "*", "factoid_key=".&dbQuote($faqtoid));
+    my %factinfo = &sqlSelectRowHash("factoids", "*",
+       { factoid_key => $faqtoid }
+    );
 
     # factoid does not exist.
     if (scalar (keys %factinfo) <= 1) {
@@ -52,7 +54,7 @@ sub CmdFactInfo {
        if ($time) {
            if (time() - $time > 60*60*24*7) {
                my $days = int( (time() - $time)/60/60/24 );
-               $string .= " at \037". scalar(localtime $time). "\037" .
+               $string .= " at \037". scalar(gmtime $time). "\037" .
                                " ($days days)";
            } else {
                $string .= " ".&Time2String(time() - $time)." ago";
@@ -63,26 +65,20 @@ sub CmdFactInfo {
     }
 
     # modified:
-    if ($factinfo{'modified_by'}) {
+    if (0 && $factinfo{'modified_by'}) {
        $string = "last modified";
 
        my $time = $factinfo{'modified_time'};
        if ($time) {
            if (time() - $time > 60*60*24*7) {
-               $string .= " at \037". scalar(localtime $time). "\037";
+               $string .= " at \037". scalar(gmtime $time). "\037";
            } else {
                $string .= " ".&Time2String(time() - $time)." ago ";
            }
        }
 
-       my @x;
-       foreach (split ",", $factinfo{'modified_by'}) {
-           /\!/;
-           push(@x, $`);
-       }
-       $string .= "by ".&IJoin(@x);
+       $string .= " by ".(split ",", $factinfo{'modified_by'})[0];
 
-       $i++;
        push(@array,$string);
     }
 
@@ -98,24 +94,24 @@ sub CmdFactInfo {
                $string .= "\002". $requested_count. "\002 ".
                        &fixPlural("time", $requested_count);
            }
-       }
-
-       $string .= ", " if ($string ne "");
 
-       my $requested_by = $factinfo{'requested_by'};
-       $requested_by =~ /\!/;
-       $string .= "last by $`";
+           my $requested_by = $factinfo{'requested_by'};
+           $requested_by =~ /\!/;
+           $string .= ", last by $`";
 
-       my $requested_time = $factinfo{'requested_time'};
-       if ($requested_time) {
-           if (time() - $requested_time > 60*60*24*7) {
-               $string .= " at \037". scalar(localtime $requested_time). "\037";
-           } else {
-               $string .= ", ".&Time2String(time() - $requested_time)." ago";
+           my $requested_time = $factinfo{'requested_time'};
+           if ($requested_time) {
+               if (time() - $requested_time > 60*60*24*7) {
+                   $string .= " at \037". scalar(localtime $requested_time). "\037";
+               } else {
+                   $string .= ", ".&Time2String(time() - $requested_time)." ago";
+               }
            }
+       } else {
+           $string  = "has not been requested yet";
        }
 
-       push(@array,$string);
+       push(@array, $string);
     }
 
     # locked:
@@ -132,7 +128,7 @@ sub CmdFactInfo {
        return;
     }
 
-    &performStrictReply("$factinfo{'factoid_key'} -- ". join("; ", @array) .".");
+    &pSReply("$factinfo{'factoid_key'} -- ". join("; ", @array) .".");
     return;
 }
 
@@ -140,10 +136,13 @@ sub CmdFactStats {
     my ($type) = @_;
 
     if ($type =~ /^author$/i) {
-       my %hash = &dbGetCol("factoids", "factoid_key,created_by", "created_by IS NOT NULL");
+       my @array = &sqlSelectColArray("factoids",
+               "factoid_key,created_by", { },
+               "created_by IS NOT NULL"
+       );
        my %author;
 
-       foreach (keys %hash) {
+       foreach (@array) {
            my $thisnuh = $hash{$_};
 
            $thisnuh =~ /^(\S+)!\S+@\S+$/;
@@ -174,7 +173,10 @@ sub CmdFactStats {
     } elsif ($type =~ /^vandalism$/i) {
         &status("factstats(vandalism): starting...");
        my $start_time  = &timeget();
-       my %data        = &dbGetCol("factoids", "factoid_key,factoid_value", "factoid_value IS NOT NULL");
+       my %data        = &sqlSelectColHash("factoids",
+               "factoid_key,factoid_value", { },
+               "factoid_value IS NOT NULL"
+       );
        my @list;
 
        my $delta_time  = &timedelta($start_time);
@@ -233,7 +235,8 @@ sub CmdFactStats {
        push(@list, "total prepared for deletion - $str");
 
        # total unique authors.
-       foreach ( &dbRawReturn("SELECT created_by FROM factoids WHERE created_by IS NOT NULL") ) {
+       # todo: convert to sqlSelectColHash ? (or ColArray?)
+       foreach ( &sqlRawReturn("SELECT created_by FROM factoids WHERE created_by IS NOT NULL") ) {
            /^(\S+)!/;
            my $nick = lc $1;
            $hash{$nick}++;
@@ -242,7 +245,7 @@ sub CmdFactStats {
        undef %hash;
 
        # total unique requesters.
-       foreach ( &dbRawReturn("SELECT requested_by FROM factoids WHERE requested_by IS NOT NULL") ) {
+       foreach ( &sqlRawReturn("SELECT requested_by FROM factoids WHERE requested_by IS NOT NULL") ) {
            /^(\S+)!/;
            my $nick = lc $1;
            $hash{$nick}++;
@@ -301,7 +304,10 @@ sub CmdFactStats {
     } elsif ($type =~ /^dup(licate|e)$/i) {
         &status("factstats(dupe): starting...");
        my $start_time  = &timeget();
-       my %hash        = &dbGetCol("factoids", "factoid_key,factoid_value", "factoid_value IS NOT NULL", 1);
+       my %hash        = &sqlSelectColHash("factoids", 
+               "factoid_key,factoid_value", { },
+               "factoid_value IS NOT NULL", 1
+       );
        my $refs        = 0;
        my @list;
        my $v;
@@ -417,7 +423,10 @@ sub CmdFactStats {
        return &formListReply(1, $prefix, @list);
 
     } elsif ($type =~ /^locked$/i) {
-       my %hash = &dbGetCol("factoids", "factoid_key,locked_by", "locked_by IS NOT NULL");
+       my %hash = &sqlSelectColhash("factoids", 
+               "factoid_key,locked_by", { },
+               "locked_by IS NOT NULL"
+       );
        my @list = keys %hash;
 
        for (@list) {
@@ -428,7 +437,10 @@ sub CmdFactStats {
        return &formListReply(0, $prefix, @list);
 
     } elsif ($type =~ /^new$/i) {
-       my %hash = &dbGetCol("factoids", "factoid_key,created_time", "created_time IS NOT NULL");
+       my %hash = &sqlSelectColHash("factoids",
+               "factoid_key,created_time", { },
+               "created_time IS NOT NULL"
+       );
        my %age;
 
        foreach (keys %hash) {
@@ -506,7 +518,10 @@ sub CmdFactStats {
        return &formListReply(1, $prefix, @list);
 
     } elsif ($type =~ /^profanity$/i) {
-       my %data = &dbGetCol("factoids", "factoid_key,factoid_value", "factoid_value IS NOT NULL");
+       my %data = &sqlSelectColHash("factoids",
+               "factoid_key,factoid_value", { },
+               "factoid_value IS NOT NULL"
+       );
        my @list;
 
        foreach (keys %data) {
@@ -552,7 +567,10 @@ sub CmdFactStats {
        return &formListReply(1, $prefix, @newlist);
 
     } elsif ($type =~ /^request(ed)?$/i) {
-       my %hash = &dbGetCol("factoids", "factoid_key,requested_count", "requested_count IS NOT NULL", 1);
+       my %hash = &sqlSelectColHash("factoids",
+               "factoid_key,requested_count", { },
+               "requested_count IS NOT NULL", 1
+       );
 
        if (!scalar keys %hash) {
            return 'sorry, no factoids have been questioned.';
@@ -577,9 +595,10 @@ sub CmdFactStats {
        return &formListReply(0, $prefix, @list);
 
     } elsif ($type =~ /^reqrate$/i) {
-       my %hash = &dbGetCol("factoids",
-               "factoid_key,(unix_timestamp() - created_time)/requested_count as rate",
-               "requested_by IS NOT NULL and created_time IS NOT NULL ORDER BY rate LIMIT 15", 1);
+       my %hash = &sqlSelectColHash("factoids",
+               "factoid_key,(unix_timestamp() - created_time)/requested_count as rate", { },
+               "requested_by IS NOT NULL and created_time IS NOT NULL ORDER BY rate LIMIT 15", 1
+       );
 
        my $rate;
        my @list;
@@ -596,7 +615,10 @@ sub CmdFactStats {
        return &formListReply(0, $prefix, @list);
 
     } elsif ($type =~ /^requesters?$/i) {
-       my %hash = &dbGetCol("factoids", "factoid_key,requested_by", "requested_by IS NOT NULL");
+       my %hash = &sqlSelectColHash("factoids",
+               "factoid_key,requested_by", { },
+               "requested_by IS NOT NULL"
+       );
        my %requester;
 
        foreach (keys %hash) {
@@ -703,7 +725,8 @@ sub CmdFactStats {
        return &formListReply(1, $prefix, @list);
 
     } elsif ($type =~ /^unrequest(ed)?$/i) {
-       my @list = &dbRawReturn("SELECT factoid_key FROM factoids WHERE requested_count IS NULL");
+       # todo: use sqlSelect()
+       my @list = &sqlRawReturn("SELECT factoid_key FROM factoids WHERE requested_count IS NULL");
 
        for (@list) {
            s/([\,\;]+)/\037$1\037/g;