return if (&IsLocked($lhs) == 1);
# profanity.
- if (&IsParam("profanityCheck") and &hasProfanity($rhs)) {
+ if (&IsParam('profanityCheck') and &hasProfanity($rhs)) {
&performReply("please, watch your language.");
return 1;
}
# teaching.
- if (&IsFlag("t") ne "t" && &IsFlag("o") ne "o") {
+ if (&IsFlag('t') ne 't' && &IsFlag('o') ne 'o') {
&msg($who, "permission denied.");
&status("alert: $who wanted to teach me.");
return 1;
# factoid arguments handler.
# must start with a non-variable
- if (&IsChanConf("factoidArguments") and $lhs =~ /^[^\$]+.*\$/) {
+ if (&IsChanConf('factoidArguments') > 0 and $lhs =~ /^[^\$]+.*\$/) {
&status("Update: Factoid Arguments found.");
&status("Update: orig lhs => '$lhs'.");
&status("Update: orig rhs => '$rhs'.");
my @list;
my $count = 0;
- $lhs =~ s/^/CMD: /;
+ $lhs =~ s/^/cmd: /;
while ($lhs =~ s/\$(\S+)/(.*?)/) {
push(@list, "\$$1");
$count++;
# nice 'are' hack (or work-around).
if ($mhs =~ /^are$/i and $rhs !~ /<\S+>/) {
&status("Update: 'are' hack detected.");
- $mhs = "is";
+ $mhs = 'is';
$rhs = "<REPLY> are ". $rhs;
}
&status("enter: <$who> \'$lhs\' =$mhs=> \'$rhs\'");
$count{'Update'}++;
- &performAddressedReply("okay");
+ &performAddressedReply('okay');
- &sqlReplace("factoids", {
+ &sqlInsert('factoids', {
created_by => $nuh,
created_time => time(), # modified time.
factoid_key => $lhs,
factoid_value => $rhs,
} );
- if (!defined $rhs or $rhs eq "") {
+ if (!defined $rhs or $rhs eq '') {
&ERROR("Update: rhs1 == NULL.");
}
}
if ($also) { # 'is also'.
- if ($exists =~ /^<REPLY> see /i) {
+ my $redircount = 5;
+ my $origlhs = $lhs;
+ while ($exists =~ /^<REPLY> ?see (.*)/i) {
+ $redircount--;
+ unless ($redircount) {
+ &msg($who, "$origlhs has too many levels of redirection.");
+ return 1;
+ }
+
+ $lhs = $1;
+ $exists = &getFactoid($lhs);
+ unless( $exists ) {
+ &msg($who, "$1 is a dangling redirection.");
+ return 1;
+ }
+ }
+ if ($exists =~ /^<REPLY> ?see (.*)/i) {
&TODO("Update.pl: append to linked factoid.");
}
}
}
- &performAddressedReply("okay");
+ &performAddressedReply('okay');
$count{'Update'}++;
&status("update: <$who> \'$lhs\' =$mhs=> \'$rhs\'; was \'$exists\'");
- &sqlReplace("factoids", {
- factoid_key => $lhs,
+ &sqlSet('factoids', {'factoid_key' => $lhs}, {
modified_by => $nuh,
modified_time => time(),
factoid_value => $rhs,
} );
- if (!defined $rhs or $rhs eq "") {
+ if (!defined $rhs or $rhs eq '') {
&ERROR("Update: rhs1 == NULL.");
}
- } else { # not "also"
+ } else { # not 'also'
if (!$correction_plausible) { # "no, blah is ..."
if ($addressed) {
return 1;
}
- my $author = &getFactInfo($lhs, "created_by") || "";
+ my $author = &getFactInfo($lhs, 'created_by') || '';
- if (IsFlag("m") ne "m" && IsFlag("o") ne "o" &&
+ if (IsFlag('m') ne 'm' && IsFlag('o') ne 'o' &&
$author !~ /^\Q$who\E\!/i
) {
&msg($who, "you can't change that factoid.");
return 1;
}
- &performAddressedReply("okay");
+ &performAddressedReply('okay');
$count{'Update'}++;
&status("update: <$who> \'$lhs\' =$mhs=> \'$rhs\'; was \'$exists\'");
- &sqlReplace("factoids", {
- factoid_key => $lhs,
+ &sqlSet('factoids', {'factoid_key' => $lhs}, {
modified_by => $nuh,
modified_time => time(),
factoid_value => $rhs,
} );
- if (!defined $rhs or $rhs eq "") {
+ if (!defined $rhs or $rhs eq '') {
&ERROR("Update: rhs1 == NULL.");
}
}
}
1;
+
+# vim:ts=4:sw=4:expandtab:tw=80