push(@array,$string);
}
- # modified:
- if (0 && $factinfo{'modified_by'}) {
+ # modified: (TimRiker asks "why do you keep turning this off?)
+ if ($factinfo{'modified_by'}) {
$string = "last modified";
my $time = $factinfo{'modified_time'};
return;
}
- &pSReply("$factinfo{'factoid_key'} -- ". join("; ", @array) .".");
+ &performStrictReply("$factinfo{'factoid_key'} -- ". join("; ", @array) .".");
return;
}
if ($type =~ /^author$/i) {
my %hash = &sqlSelectColHash("factoids",
- "factoid_key,created_by", { },
- "created_by IS NOT NULL"
+ "factoid_key,created_by", undef,
+ "WHERE created_by IS NOT NULL"
);
my %author;
return &formListReply(0, $prefix, @list);
} elsif ($type =~ /^vandalism$/i) {
- &status("factstats(vandalism): starting...");
+ &status("factstats(vandalism): starting...");
my $start_time = &timeget();
my %data = &sqlSelectColHash("factoids",
- "factoid_key,factoid_value", { },
- "factoid_value IS NOT NULL"
+ "factoid_key,factoid_value", undef,
+ "WHERE factoid_value IS NOT NULL"
);
my @list;
my $delta_time = &timedelta($start_time);
- &status(sprintf("factstats(vandalism): %.02f sec to retreive all factoids.", $delta_time)) if ($delta_time > 0);
+ &status(sprintf("factstats(vandalism): %.02f sec to retreive all factoids.", $delta_time)) if ($delta_time > 0);
$start_time = &timeget();
# parse the factoids.
}
$delta_time = &timedelta($start_time);
- &status(sprintf("factstats(vandalism): %.02f sec to complete.", $delta_time)) if ($delta_time > 0);
+ &status(sprintf("factstats(vandalism): %.02f sec to complete.", $delta_time)) if ($delta_time > 0);
# bail out on no results.
if (scalar @list == 0) {
return &formListReply(1, $prefix, @list);
} elsif ($type =~ /^total$/i) {
- &status("factstats(total): starting...");
+ &status("factstats(total): starting...");
my $start_time = &timeget();
my @list;
my $str;
push(@list, "total prepared for deletion - $str");
# total unique authors.
- # todo: convert to sqlSelectColHash ? (or ColArray?)
+ # TODO: convert to sqlSelectColHash ? (or ColArray?)
foreach ( &sqlRawReturn("SELECT created_by FROM factoids WHERE created_by IS NOT NULL") ) {
/^(\S+)!/;
my $nick = lc $1;
### end of "job".
my $delta_time = &timedelta($start_time);
- &status(sprintf("factstats(broken): %.02f sec to retreive all factoids.", $delta_time)) if ($delta_time > 0);
+ &status(sprintf("factstats(broken): %.02f sec to retreive all factoids.", $delta_time)) if ($delta_time > 0);
$start_time = &timeget();
# bail out on no results.
}
# parse the results.
- my $prefix = "General factoid stiatistics ";
+ my $prefix = "General factoid statistics ";
return &formListReply(1, $prefix, @list);
} elsif ($type =~ /^deadredir$/i) {
return &formListReply(1, $prefix, @newlist);
} elsif ($type =~ /^dup(licate|e)$/i) {
- &status("factstats(dupe): starting...");
+ &status("factstats(dupe): starting...");
my $start_time = &timeget();
- my %hash = &sqlSelectColHash("factoids",
- "factoid_key,factoid_value", { },
- "factoid_value IS NOT NULL", 1
+ my %hash = &sqlSelectColHash("factoids",
+ "factoid_key,factoid_value", undef,
+ "WHERE factoid_value IS NOT NULL", 1
);
my $refs = 0;
my @list;
&status("factstats(dupe): (good) dupe refs: $refs.");
my $delta_time = &timedelta($start_time);
- &status(sprintf("factstats(dupe): %.02f sec to complete", $delta_time)) if ($delta_time > 0);
+ &status(sprintf("factstats(dupe): %.02f sec to complete", $delta_time)) if ($delta_time > 0);
# bail out on no results.
if (scalar @list == 0) {
return &formListReply(1, $prefix, @list);
} elsif ($type =~ /^locked$/i) {
- my %hash = &sqlSelectColhash("factoids",
- "factoid_key,locked_by", { },
- "locked_by IS NOT NULL"
+ my %hash = &sqlSelectColHash("factoids",
+ "factoid_key,locked_by", undef,
+ "WHERE locked_by IS NOT NULL"
);
my @list = keys %hash;
} elsif ($type =~ /^new$/i) {
my %hash = &sqlSelectColHash("factoids",
- "factoid_key,created_time", { },
- "created_time IS NOT NULL"
+ "factoid_key,created_time", undef,
+ "WHERE created_time IS NOT NULL"
);
my %age;
}
my $delta_time = sprintf("%.02fs", &timedelta($start_time) );
- &status("factstats(partdupe): $delta_time sec to complete.") if ($delta_time > 0);
+ &status("factstats(partdupe): $delta_time sec to complete.") if ($delta_time > 0);
# bail out on no results.
if (scalar @list == 0) {
} elsif ($type =~ /^profanity$/i) {
my %data = &sqlSelectColHash("factoids",
- "factoid_key,factoid_value", { },
- "factoid_value IS NOT NULL"
+ "factoid_key,factoid_value", undef,
+ "WHERE factoid_value IS NOT NULL"
);
my @list;
} elsif ($type =~ /^request(ed)?$/i) {
my %hash = &sqlSelectColHash("factoids",
- "factoid_key,requested_count", { },
- "requested_count IS NOT NULL", 1
+ "factoid_key,requested_count", undef,
+ "WHERE requested_count IS NOT NULL", 1
);
if (!scalar keys %hash) {
} elsif ($type =~ /^reqrate$/i) {
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
+ "factoid_key,(unix_timestamp() - created_time)/requested_count as rate", undef,
+ "WHERE requested_by IS NOT NULL and created_time IS NOT NULL ORDER BY rate LIMIT 15", 1
);
my $rate;
} elsif ($type =~ /^requesters?$/i) {
my %hash = &sqlSelectColHash("factoids",
- "factoid_key,requested_by", { },
- "requested_by IS NOT NULL"
+ "factoid_key,requested_by", undef,
+ "WHERE requested_by IS NOT NULL"
);
my %requester;
for (@list) {
my $factoid = $_;
my $val = &getFactInfo($factoid, "factoid_value");
-
+
next unless ($val =~ /^see( also)? (.*?)\.?$/i);
my $redirf = lc $2;
# parse the results.
&msg($who, "Fixed $fixed factoids.");
- &msg($who, "Self looped factoids removed: ".
- sort(keys %loop) ) if (scalar keys %loop);
+ &msg($who, "Self looped factoids removed: ". keys %loop ) if (scalar keys %loop);
my $prefix = "Loose link (dead) redirections in factoids ";
return &formListReply(1, $prefix, @newlist);
return &formListReply(1, $prefix, @list);
} elsif ($type =~ /^unrequest(ed)?$/i) {
- # todo: use sqlSelect()
- my @list = &sqlRawReturn("SELECT factoid_key FROM factoids WHERE requested_count IS NULL");
+ # TODO: use sqlSelect()
+ my ($count) = &sqlRawReturn("SELECT COUNT(*) FROM factoids WHERE requested_count = '0'");
- for (@list) {
- s/([\,\;]+)/\037$1\037/g;
- }
-
- my $prefix = "Unrequested factoids ";
- return &formListReply(0, $prefix, @list);
+ return "Unrequested factoids: $count";
}
return "error: invalid type => '$type'.";
sub CmdListAuth {
my ($query) = @_;
+ my $maxshow = &::getChanConfDefault('maxListReplyCount', 15, $chan);
my @list = &searchTable("factoids","factoid_key", "created_by", "^$query!");
+ @list=grep(!/\#DEL\#$/,@list) if (scalar(@list) > $maxshow);
my $prefix = "factoid author list by '$query' ";
&performStrictReply( &formListReply(1, $prefix, @list) );