![]() |
Handle Post |
| |
Requests like edit and links answer forms which allow
some fields of the db record to be updated.
Here we handle a post by merging whatever fields
were present on the form with those in the db.
sub HandlePost { $title = $CookedInput{post}; &CookSpaces; &RequestLock; dbmopen(%db, $DataBase , 0666) || &AbortScript("can't open $DataBase for update\n"); %old = &RetrievePage($title); &BackupCopy; for (keys(%CookedInput)) { next if /post/ || /form/ || /title/; $old{$_} = $CookedInput{$_} if $CookedInput{$_}; } &ReplacePage($title, *old);Update recent changes. Remove the title if it appears; add today's date unless it appears; then add the title and host that posted it. A blank after $title in the search avoids matching pages that only began with $title. -- DaveSmith August 23, 1997 Removed one of the \n's after $DateToday to save some vertical space. The leading \n ensures that there's a blank line between dates if $title gets moved. --DaveSmith 12/29/97
%rc = &RetrievePage(RecentChanges);
$rc{text} =~ s/\t\* $title .*\n//;
$rc{text} .= "\n$DateToday\n" unless $rc{text} =~ /$DateToday/;
$rc{text} .= "\t* $title . . . . . . $ENV{REMOTE_HOST}\n";
&ReplacePage(RecentChanges, *rc);
I think this assignment should go here instead...--TomStambaugh
$anchor = &AsAnchor($title);
dbmclose(%db);
&ReleaseLock;
Report success with a short thank you and a reference to
the new page.
print <<EOF ;
<head><title>Thanks for $title Edits</title></head>
<body>
Thank you for editing $anchor.<br>
Your careful attention to detail is much appreciated.<br>
<img src="$SignatureUrl"><br>
p.s. Be sure to <em>Reload</em> your old pages.<br>
</body>
EOF
}
|
| Last edited November 21, 2001 Return to WelcomeVisitors |