# Created: 1997
#
-if (&IsParam("useStrict")) { use strict; }
+# use strict; # TODO
sub update {
my($lhs, $mhs, $rhs) = @_;
}
# teaching.
- if (&IsFlag("t") ne "t") {
+ if (&IsFlag("t") ne "t" && &IsFlag("o") ne "o") {
&msg($who, "permission denied.");
&status("alert: $who wanted to teach me.");
return 1;
&performAddressedReply("okay");
- if (0) { # old
- &setFactInfo($lhs, "factoid_value", $rhs);
- &setFactInfo($lhs, "created_by", $nuh);
- &setFactInfo($lhs, "created_time", time());
- } else {
- &dbReplace("factoids", "factoid_key", (
+ &dbReplace("factoids", "factoid_key", (
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("todo: append to linked factoid.");
+ &DEBUG("Update.pl: todo: append to linked factoid.");
}
if ($also_or) { # 'is also ||'.
my $author = &getFactInfo($lhs, "created_by") || "";
- if (IsFlag("m") ne "m" and $author !~ /^\Q$who\E\!/i) {
+ if (IsFlag("m") ne "m" && IsFlag("o") ne "o" &&
+ $author !~ /^\Q$who\E\!/i
+ ) {
&msg($who, "you can't change that factoid.");
return 1;
}
&status("update: <$who> \'$lhs\' =$mhs=> \'$rhs\'; was \'$exists\'");
# should dbReplace be used here?
- &delFactoid($lhs);
- &setFactInfo($lhs,"created_by", $nuh);
- &setFactInfo($lhs,"created_time", time());
+ #&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);
if (!defined $rhs or $rhs eq "") {