my $also = ($rhs =~ s/^-?also //i);
my $also_or = ($also and $rhs =~ s/\s+(or|\|\|)\s+//);
- # freshmeat
- if (&IsChanConf("freshmeatForFactoid")) {
- # todo: "name" is invalid for fm ][
- if ( &dbGet("freshmeat", "name", "name=".&dbQuote($lhs)) ) {
- &msg($who, "permission denied. (freshmeat)");
- &status("alert: $who wanted to teach me something that freshmeat already has info on.");
- return 1;
- }
- }
-
# factoid arguments handler.
- if (&IsChanConf("factoidArguments") and $lhs =~ /\$/) {
+ # must start with a non-variable
+ if (&IsChanConf("factoidArguments") and $lhs =~ /^[^\$]+.*\$/) {
&status("Update: Factoid Arguments found.");
&status("Update: orig lhs => '$lhs'.");
&status("Update: orig rhs => '$rhs'.");
if ($count >= 10) {
&msg($who, "error: could not SAR properly.");
- &DEBUG("error: lhs => '$lhs'.");
- &DEBUG("error: rhs => '$rhs'.");
+ &DEBUG("error: lhs => '$lhs' rhs => '$rhs'.");
return;
}
my $z = join(',',@list);
$rhs =~ s/^/($z): /;
- &status("Update: new lhs => '$lhs'.");
- &status("Update: new rhs => '$rhs'.");
+ &status("Update: new lhs => '$lhs' rhs => '$rhs'.");
}
# the fun begins.
&performAddressedReply("okay");
- &dbReplace("factoids", "factoid_key", (
+ &sqlReplace("factoids", {
created_by => $nuh,
created_time => time(), # modified time.
factoid_key => $lhs,
factoid_value => $rhs,
- ) );
+ } );
if (!defined $rhs or $rhs eq "") {
&ERROR("Update: rhs1 == NULL.");
if ($also) { # 'is also'.
if ($exists =~ /^<REPLY> see /i) {
- &DEBUG("Update.pl: todo: append to linked factoid.");
+ &TODO("Update.pl: append to linked factoid.");
}
if ($also_or) { # 'is also ||'.
$count{'Update'}++;
&status("update: <$who> \'$lhs\' =$mhs=> \'$rhs\'; was \'$exists\'");
- &AddModified($lhs,$nuh);
- &setFactInfo($lhs, "factoid_value", $rhs);
+ &sqlReplace("factoids", {
+ factoid_key => $lhs,
+ modified_by => $nuh,
+ modified_time => time(),
+ factoid_value => $rhs,
+ } );
if (!defined $rhs or $rhs eq "") {
&ERROR("Update: rhs1 == NULL.");
$count{'Update'}++;
&status("update: <$who> \'$lhs\' =$mhs=> \'$rhs\'; was \'$exists\'");
- # should dbReplace be used here?
- #&delFactoid($lhs); # breaks dbm. leave it and use modified_* - Tim Riker <Tim@Rikers.org>
- &setFactInfo($lhs,"modified_by", $nuh);
- &setFactInfo($lhs,"modified_time", time());
- &setFactInfo($lhs,"factoid_value", $rhs);
+ &sqlReplace("factoids", {
+ factoid_key => $lhs,
+ modified_by => $nuh,
+ modified_time => time(),
+ factoid_value => $rhs,
+ } );
if (!defined $rhs or $rhs eq "") {
&ERROR("Update: rhs1 == NULL.");