#!/usr/bin/perl -w

use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use strict;

my $pfad	= "../../httpdocs/data/";
my $FN_blog 	= $pfad."blog.csv";

my (undef, undef, undef, $tag, $monat, $jahr) = localtime(time);
$monat++;
$monat = $monat > 9 ? $monat : '0'.$monat;
$jahr += 1900;

########## Alte Einträge einlesen
my @alte_zeilen 	= read_file($FN_blog);	#enthält Zeilen der Blogdatei
chomp @alte_zeilen;
my %d;			#Hash enthaelt DATUMSTRING => Eintrag (String)

print "Content-type: text/html\n\n";

foreach (@alte_zeilen) {
	my @t = split(/\t/);
	$d{$t[0]}	= $t[1];	#Hash füllen mit DATUMSTRING => Eintrag
}

if(param()) {
	my $neuesdatum	= conv_date($tag, $monat, $jahr);
	$d{$neuesdatum} = param('Eintrag');
}

my @daten	= keys(%d);

foreach(@daten) {
	$d{$_} =~ s/[\n\r]{1,2}/<\/p><p>/g;	# Alle Zeilenumbrueche durch Absätze ersetzen
	delete $d{$_} if($d{$_} eq "");		# Paare mit leerem Eintrag löschen
}
@daten	= sort(keys(%d));
@daten	= reverse(@daten);

########### Ausgabe an Browser und in Datei

print <<HTMLANFANG;
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Brennsuppe - Blog-Eintrag</title>
<meta name="author" content="Martin Gürtel, econosite">
<meta name="generator" content="Quanta+">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
<meta name="robots" content="noindex">
</head>

<body>
<table width="90%" border="0" align="center"><tr>
      <td valign="top">
<h2>Blog-Eingabeformular für www.Brennsuppe.de</h2>
<h3>Letzter Eintrag</h3>
HTMLANFANG

my $neu_eintrag = "";

print reverse_date($daten[0]),":<br>";
print $d{$daten[0]};

foreach(@daten) {
	$neu_eintrag .= $_."\t";
	$neu_eintrag .= $d{$_}."\n";
}

print <<HTMLENDE;
<h3>Neuer Eintrag:</h3>
<form name="NeuerEintrag" action="/cgi-bin/protect/blog.pl" method="post">
<textarea class="feld" name="Eintrag" cols="80" rows="25"></textarea>
<p><input type="Submit" name="" value="Eintragen"></p>
</form>
<p><a href="/hoam/index.php">[Zurück zur Homepage]</a></p>
</body>
</html>
HTMLENDE

write_file($FN_blog,$neu_eintrag);

sub conv_date{
	my $dstring	= "$_[2]-$_[1]-$_[0]";
	return ($dstring);
}
sub reverse_date{
	my @ymd	= split(/-/,$_[0]);
	return ("$ymd[2].$ymd[1].$ymd[0]");
}
sub read_file{
	open(F, $_[0]) || error("Can't open file $_[0]: $!");
	my @data = <F>;
	close F;
	return @data;
}
sub write_file{
	open(F, ">".$_[0]) || error("Can't open file $_[0]: $!");
	print F $_[1];
	close F;
}
sub error{
	print "Content-type: text/html\n\n";
	print $_[0];
}