#!/usr/bin/perl
use strict;
use warnings;
use CGI qw( :all );
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
# Initialisierung
my $cgi = new CGI;
my %params = $cgi->Vars();
my $file = '/SAN/content/cgi-bin/links';
my $save_error = "";
# Parameter pruefen
foreach ( keys %params ) {
}
# Linkliste erstellen
sub create_linklist {
open ( F, ">", $file ) || die "could not create $file. $!";
print F "#" x80, "\n";
printf F "# Linklist created %s.\n", scalar localtime ( time );
close F;
}
# Speichern des neuen Links wenn einer eingetragen wurde.
if ( defined $params{write} && $params{write} eq "true" ) {
$params{text} =~ s/\r?\n/<br>/sg;
if (! -f $file ) {
&create_linklist;
}
else {
if ( $params{url} =~ /^http:\/\/.*$/ ) {
open ( D, '>>', $file ) or die "Could not save data. $!";
print D "#" x80, "\n$params{url}\n$params{text}\n";
close D;
}
else {
$save_error = "<p>Bitte geben Sie den kompletten URL an, sonst kann ";
$save_error .= "Ihr Link nicht gespeichert werden.<br /> Beispiel: ";
$save_error .= "http://ihr.neuer.link.com/</p>";
}
}
}
# Laden der Linkliste
my @links;
# Ausgabe der Seite
my $author = "Andre Hornig";
print $cgi->header(),
$cgi->start_html(
-title => "Linkit - Eine kleine Favoritenliste.",
-bgcolor => "#99ccff",
'Linkit'
),
$cgi->h1('Linkit'),
$cgi->p({-style => 'color:red'}, "Verfasst von: ", $cgi->i($author)),
$cgi->hr({-noshade => undef, -size => '1'}),
$cgi->p('Eine kleine Favoritenliste');
if (! -f $file ) {
&create_linklist;
}
else {
my $url = "";
open ( F, '<', $file ) || die "Could not open $file. $!";
while(my $line = <F>){
chomp $line;
if($. % 2 == 0){
print $cgi->p('',$cgi->a( {-href => $url}, $line ) );
}
else{
$url = $line;
}
close F;
}
print $cgi->hr({-noshade => undef, -size => '1'});
print << "EOF";
<h1>Neuen Link eintragen</h1>
$save_error
<form action="" method="post">
<p>
Link:<br />
<input type="text" name="url" size="40" maxlength="40" />
</p>
<p>
Beschreibung:<br />
<textarea rows="5" cols="50" name="text"></textarea>
<input type=hidden name="write" value="true" />
</p>
<p><input type="submit" value="Absenden" /></p>
</form>
EOF
$cgi->end_html();