]> git.donarmstrong.com Git - infobot.git/commitdiff
safe delete did not run delFactoid, hah! found by asuffield
authordms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Tue, 13 Feb 2001 14:18:17 +0000 (14:18 +0000)
committerdms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Tue, 13 Feb 2001 14:18:17 +0000 (14:18 +0000)
git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@388 c11ca15a-4712-0410-83d8-924469b57eb5

src/Process.pl

index abdff267d45cdf35e0900fe5f10ae7c36219dc9d..ac2573b62506ee1575a60f70ccc83de235437071 100644 (file)
@@ -344,15 +344,20 @@ sub FactoidStuff {
 
            if (&IsParam("factoidDeleteDelay")) {
                &status("forgot (safe delete): <$who> '$faqtoid' =is=> '$result'");
-               &setFactInfo($faqtoid, "factoid_key", $faqtoid." #DEL#");
-
-               ### delete info. modified_ isn't really used.
-               &setFactInfo($faqtoid, "modified_by", $who);
-               &setFactInfo($faqtoid, "modified_time", time());
+               ### TODO: check if the "backup" exists and overwrite it
+               my $check = &getFactoid("$faqtoid #DEL#");
+               if (!$check) {
+                   &setFactInfo($faqtoid, "factoid_key", $faqtoid." #DEL#");
+
+                   &setFactInfo($faqtoid, "modified_by", $who);
+                   &setFactInfo($faqtoid, "modified_time", time());
+               } else {
+                   &status("forget: not overwriting backup!");
+               }
            } else {
                &status("forget: <$who> '$faqtoid' =is=> '$result'");
-               &delFactoid($faqtoid);
            }
+           &delFactoid($faqtoid);
 
            &performReply("i forgot $faqtoid");
 
@@ -388,6 +393,7 @@ sub FactoidStuff {
            return;
        }
 
+       &DEBUG("unforget: check => $check");
        if (defined $check) {
            &performReply("cannot undeleted '$faqtoid' because it already exists?");
            return;