+require "data.lib";
+
+sub guestbook_add {
+ ($to, $from, $post) = @_;
+
+ $guestbook_dir = "$datadir/guestbook/$to";
+ print STDERR "$guestbook_dir\n";
+ mkdir $guestbook_dir unless -d $guestbook_dir;
+
+ # move the old ones out of the way
+ if ("$guestbook_dir/5") {
+ open ARCHIVE, ">$guestbook_dir/archive.new";
+ open F, "$guestbook_dir/5";
+ print ARCHIVE <F>;
+ close F;
+ if (-f "$guestbook_dir/archive") {
+ open F, "$guestbook_dir/archive";
+ print ARCHIVE <F>;
+ close F;
+ }
+ rename "$guestbook_dir/archive.new", "$guestbook_dir/archive";
+ }
+ for $p (4,3,2,1) {
+ if (-f "$guestbook_dir/$p") {
+ rename "$guestbook_dir/$p", "$guestbook_dir/" . ($p + 1);
+ }
+ }
+ open POST, ">$guestbook_dir/1";
+ print POST "<div><b>Posted by $from at " . (scalar localtime) . "</b>\n";
+ print POST "<p>", $post;
+ print POST "</div>\n";
+ close POST;
+}
+
+sub guestbook_feed {
+ ($user) = @_;
+
+ $guestbook_dir = "$datadir/guestbook/$user";
+ for $post (1..5) {
+ open POST, "$guestbook_dir/$post";
+ print <POST>;
+ close POST;
+ }
+}
+
+1;
+#!/usr/bin/perl
+require "html.lib";
+require "form.lib";
+require "cookies.lib";
+require "guestbook.lib";
+
+print "Content-type: text/html\r\n\r\n";
+&html_head;
+print h1(&friendnet);
+
+if (!$cookies{loggedin}) {
+ print "<p>You must be logged in to sign the guestbook!\n";
+}
+
+if ($formdata{submit}) {
+ &guestbook_add($formdata{u}, $cookies{loggedin}, $formdata{post});
+ print <<EOD;
+<p>You posted this to $formdata{u}'s guestbook:
+<p><table cellpadding=8><tr><td><font face=courier,fixed>$formdata{post}</font></td></tr></table>
+<p>You can <a href=/cgi-bin/profile.pl?u=$formdata{u}#guestbook>view it on their profile</a> or <a href=/cgi-bin/profile.pl?u=$cookies{loggedin}>go back to your profile</a>.
+EOD
+} else {
+ print <<EOD;
+<h2>$formdata{u}'s Guestbook</h2>
+
+<form method=post>
+<input type=hidden name=u value=$formdata{u}>
+<textarea name=post rows=20 cols=80>
+</textarea>
+<p><input type=submit name=submit value=Post>
+</form>
+EOD
+}
+
+&html_foot;
"<h2>@_</h2>";
}
+sub h3 {
+ "<h3>@_</h3>";
+}
+
sub img {
$src = shift;
"<img src=$src" . attr_expando(@_) . ">";
require "form.lib";
require "data.lib";
require "cookies.lib";
+require "guestbook.lib";
$logged_in = $cookies{loggedin} eq $formdata{u};
print h2($formdata{u});
+print &h3("About $formdata{u}");
+
+if ($logged_in) {
+ print "<a href=/cgi-bin/edit_profile.pl?u=$formdata{u}>Edit profile</a>\n";
+}
+
print <<EOD;
<table bgcolor=purple border=2 cellpadding=4>
<tr>
</table>
EOD
-if ($logged_in) {
- print "<p><a href=/cgi-bin/edit_profile.pl?u=$formdata{u}>Edit profile</a>\n";
+print "<a name=guestbook><h3>Guestbook</h3>\n";
+print "<p><a href=/cgi-bin/guestbook.pl?u=$formdata{u}>Sign my guestbook!</a>\n";
+print "<p><table bgcolor=pink border=2 cellpadding=4 width=100%><tr><td>\n";
+if (-e "$datadir/guestbook/$formdata{u}") {
+ &guestbook_feed($formdata{u});
+} else {
+ print "No one has posted yet. Be the first!\n";
}
+print "</td></tr></table>\n";
&html_foot;