]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Factoids/Update.pl
- second round of changes from lear@OPN. thanks!
[infobot.git] / src / Factoids / Update.pl
index 5fa7c4edceef36f11ce89d12cd618bcb5309fddf..5df526a5fa53265e30db301c0e0d60b9d4573962 100644 (file)
@@ -55,7 +55,7 @@ sub update {
     # freshmeat
     if (&IsChanConf("freshmeatForFactoid")) {
        # todo: "name" is invalid for fm ][
-       if (&dbGet("freshmeat", "name", $lhs, "name")) {
+       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;
@@ -107,9 +107,19 @@ sub update {
 
        &performAddressedReply("okay");
 
-       &setFactInfo($lhs,"created_by", $nuh);
-       &setFactInfo($lhs,"created_time", time());
-       &setFactInfo($lhs,"factoid_value", $rhs);
+       if (1) {        # old
+           &setFactInfo($lhs,"factoid_value", $rhs);
+           &setFactInfo($lhs,"created_by", $nuh);
+           &setFactInfo($lhs,"created_time", time());
+       } else {
+           ### BROKEN!!!
+           # I'd prefer to use dbReplace but it don't work.
+           &dbReplace("factoids", "factoid_key", (
+               factoid_key     => $lhs,
+               created_by      => time(),
+               factoid_value   => $rhs,
+           ) );
+       }
 
        if (!defined $rhs or $rhs eq "") {
            &ERROR("Update: rhs1 == NULL.");
@@ -196,7 +206,7 @@ sub update {
                &performStrictReply("...but \002$lhs\002 is already something else...");
                &status("FAILED update: <$who> \'$lhs\' =$mhs=> \'$rhs\'");
            }
-           return;
+           return 1;
        }
 
        my $author = &getFactInfo($lhs, "created_by") || "";