gary: >>gelöst! / Jetzt wirklich!<<

Beitrag lesen

Hallo zusammen,

Ich bin fertig mit dem Perlprog. Jetzt kann man in der publisher.csv bestimmen, welcher Bericht, mit welchem Layout angezeigt wird:

publisher.csv:

L,rauchen.txt,rauchen.png <--bedeutet Text steht links(L), Bild dann rechts
R,auto.txt,auto.png       <--bedeutet Text steht rechts(R), Bild dann links
O,strom.txt,strom.png     <--bedeutet Text steht oben(O), Bild dann unten
U,urlaub.txt,urlaub.png   <--bedeutet Text steht unten(U), Bild dann oben

Ausserdem können jetzt Berichte geschrieben werden und ein Foto zum Bericht auf dem Server in vorgesehene Ordner abgelegt werden:

sammler/artikel_text/bericht.txt
sammler/artikel_pics/bericht.png

Das Script paßt sich der Länge der Publikationen automatich an.

So sieht es jetzt aus (Nicht über den Inhalt mekern, ist nur blabla zum Testen).

Eines hätte ich noch:
Ganz, ganz klasse wäre, wenn man den bericht.txt als Block verfassen könnte, nicht in einer Linie. Dafür müssete aber der Dateileser nach dem auslesen alle Umbrüche entfernen.

Zum Schluß noch das ultimative Layoutprogramm:

#!/usr/bin/perl -w

###############################################################################

DecisionMaker:                   Version 1.00                               #

Developed started in:            22.05.2008                                 #

Finished in:                     28.05.2008                                 #

Programmed by:                   Gary-Technologies                          #

###############################################################################

my $Layout1;
my $Thema;
my $Bild;
open(LESER, "<public/publisher.csv");
flock(LESER, LOCK_SH);

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

while(! eof(LESER)){

my $zeile = <LESER>;
my ($Layout1, $Thema, $Bild) = split(/,/,$zeile);

if($Layout1 eq "L") {
print "<!-- ############################### -->\n";
print "<!-- #Das ist die Klasse Text Links# -->\n";
print "<!-- ############################### -->\n";
print "\n";
print '<div class="inner_left_links">',"\n";
print '<p class="report">';
open(INHALT, "<../httpdocs/sammler/artikel_text/$Thema");
flock(INHALT, LOCK_SH);
$insert = <INHALT>;
close(INHALT);
print $insert;
print "</p>\n";
print "</div>\n";
print '<div class="inner_right_links">',"\n";
print '<img src="sammler/artikel_pics/';
print $Bild;
print '" alt="">',"\n";
print "</div>\n";
}

if($Layout1 eq "R") {
print "<!-- ################################ -->\n";
print "<!-- #Das ist die Klasse Text Rechts# -->\n";
print "<!-- ################################ -->\n";
print "\n";
print '<div class="inner_left_rechts">',"\n";
print '<img src="sammler/artikel_pics/';
print $Bild;
print '" alt="">',"\n";
print "</div>\n";
print '<div class="inner_right_rechts">',"\n";
print '<p class="report">';
open(INHALT, "<../httpdocs/sammler/artikel_text/$Thema");
flock(INHALT, LOCK_SH);
$insert = <INHALT>;
close(INHALT);
print $insert;
print "</p>\n";
print "</div>\n";
}

if($Layout1 eq "O") {
print "<!-- ############################## -->\n";
print "<!-- #Das ist die Klasse Text Oben# -->\n";
print "<!-- ############################## -->\n";
print "\n";
print '<div class="inner_up_oben">',"\n";
print '<p class="report">';
open(INHALT, "<../httpdocs/sammler/artikel_text/$Thema");
flock(INHALT, LOCK_SH);
$insert = <INHALT>;
close(INHALT);
print $insert;
print "</p>\n";
print "</div>\n";
print '<div class="inner_down_oben">',"\n";
print '<img src="sammler/artikel_pics/';
print $Bild;
print '" alt="">',"\n";
print "</div>\n";

}

if($Layout1 eq "U") {
print "<!-- ############################### -->\n";
print "<!-- #Das ist die Klasse Text Unten# -->\n";
print "<!-- ############################### -->\n";
print "\n";
print '<div class="inner_up_unten">',"\n";
print '<img src="sammler/artikel_pics/';
print $Bild;
print '" alt="">',"\n";
print "</div>\n";
print '<div class="inner_down_unten">',"\n";
print '<p class="report">';
open(INHALT, "<../httpdocs/sammler/artikel_text/$Thema");
flock(INHALT, LOCK_SH);
$insert = <INHALT>;
close(INHALT);
print $insert;
print "</p>\n";

}

}

close(LESER);

Wer will darf es nutzen! Ich gebe es als Open-Source frei ;)

Grüsse gary