Blog-Simple-HTMLOnly

 view release on metacpan or  search on metacpan

blog.cgi  view on Meta::CPAN

				$CGI->param('author'),
				$CGI->param('email'),
				$CGI->param('summary'),
				$content
			);
			print h2("Blogged!");
			$BLOGGER->render_current($FORMAT,1);
			print p("<a href='$ENV{SCRIPT_NAME}?all'>SHOW ALL BLOGS</a>");
		}
	} else {
		my $err = join", ", (grep { $CGI->param($_) eq '' } $CGI->param);
		if ($err){
			$err = "Your forgot to do the <i>$err</i>.";
		}
		&form($err);
	}
} else {
	$BLOGGER->render_current($FORMAT,1);
}

&print_footer unless $CGI->param('template') and $CGI->param('template') eq 'false';
exit;

sub print_header {
	local (*IN,$_);
	open IN,$TEMPLATE_PATH or die "Could not open $TEMPLATE_PATH from dir ".cwd;
	read IN,$_,-s IN;
	close IN;
	($TEMPLATE_TOP,$TEMPLATE_BOTTOM) = /^(.*)<!--\sinsert.*?-->(.*)$/sig;
	$TEMPLATE_TOP =~ s/<\s*title\s*>.*?<\/\s*title\s*>/<title>$TITLE<\/title>/si;
	print $CGI->header, $TEMPLATE_TOP;
}

sub print_footer { print $TEMPLATE_BOTTOM }

sub form { my $err=shift;
	print
		h1("Add a Blog"),
		($err? h3($err):""),
		start_form,
		"<table align='center' cellpadding='1' cellspacing='1' border='0'>\n",
		"<tr>",
		"<td>Title:</small></td><td>",
		textfield(
			-name=>'title',
			-size=>65,
			-maxlength=>65
		),
		"</td></tr><tr><td>Summary: </td><td>",
		textfield(
			-name=>'summary',
			-default=>'',
			-size=>65,
			-maxlength=>65
		),
		"</td></tr><tr><td>Content:</small></td><td>",
		"<textarea name='content' rows='15' cols='50' wrap='soft'>",
		$CGI->param("content")?$CGI->param("content"):"",
		"</textarea>",
		"</td></tr><tr><td>",
		"Author: </td><td>",$CGI->popup_menu(
			-name=>'author',
			-values=>[qw/Lee/],
			-default=>'Lee'
		),
		"</td></tr><tr><td>",
		"E-mail: </td><td>", textfield(
			-name=>'email',
			-default=>'blog@leegoddard.com',
			-size=>65,
			-maxlength=>65
		),
		"</td></tr><tr><td>",
		"Password: </td><td>",
		password_field(
			-name=>'password',
			-default=>'',
			-override=>1,
			-size=>65,
			-maxlength=>65
		),
		"</td></tr><tr><td colspan='2'><hr size='1'/>",
		"</td></tr><tr><td>&nbsp;</td><td>",
		submit,
		"</td></tr></table>",
		end_form;
}



sub format_text {
	@_ = map {"<p>$_</p>"} split (/[\n\r\f]+/,shift) ;
	return join ("",@_);
}







=head1 HTML TEMPLATE

The template isn't used by this script; instead SSI is used to pull this script's output
into an SHTML page. Note the C<template=false> in the query string.

	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
	<html>
	<head>
		<title>Blah Blah Blah</title>
	</head>
	<body>

	<!--#include virtual="/cgi-bin/blog.cgi?template=false" -->

	<!--#include virtual="/cgi-bin/blogcal.cgi?template=false" -->

	</body>
	</html>



( run in 0.814 second using v1.01-cache-2.11-cpan-364913b4093 )