Aktuelles & Infos

Archiv

use strict; my %weiter_uebersetzung = ( de => "Weiter", fr => "Continuez", en => "More" ); my $savedir_archiv = $SYSTEM_CONF{'DOCUMENT-ROOT'}."/dh/aktuelles/archiv"; my $header_file = $SYSTEM_CONF{'DOCUMENT-ROOT'}."/dh/ssi/generated/aktuelles/archiv/header.ssi."; my $footer_file = $SYSTEM_CONF{'DOCUMENT-ROOT'}."/dh/ssi/generated/aktuelles/archiv/footer.ssi."; my $directory; my $filename; my $kurztitel; my $titel; my $teaser; my $sortier_datum; my $anzeige_datum; my $rubrik = "presse"; my %aktuelles_box; my %aktuelles_archiv_uebersicht; my $akt_jahr; my $rubrik = "archiv"; # Pfad zur menu.html.(de|fr|en) my $menu_dir = $SYSTEM_CONF{'DOCUMENT-ROOT'} ."/dh/ssi/generated/navigation/vnav/dh/aktuelles/archiv"; start(); sub start { # Variablen für unterschiedliche Sprachen my @linguas = qw(de fr en); foreach my $lingua (@linguas) { print "Lingua: $lingua
\n"; # Hashtable für nächsten Durchlauf leeren %aktuelles_archiv_uebersicht = (); clearlist(); my $mask = "index\.shtml\.". $lingua. "\$"; my $readdir = "/dh/aktuelles/"; filemask($mask); ireaddir($readdir); sort_by_meta("-sortier_datum"); foreach my $file (@FILELIST) { $directory = $FILE_META_INFO{$file}->getValues('directory'); $filename = $FILE_META_INFO{$file}->getValues('filename'); $kurztitel = $FILE_META_INFO{$file}->getValues('presse_kurztitel_'.$lingua); $titel = $FILE_META_INFO{$file}->getValues('title_'.$lingua); $teaser = $FILE_META_INFO{$file}->getValues('teaser_'.$lingua); $sortier_datum = $FILE_META_INFO{$file}->getValues('sortier_datum'); $anzeige_datum = $FILE_META_INFO{$file}->getValues('anzeige_datum'); next unless ($sortier_datum); # Wenn Kurztitel angegeben, soll dieser auch für die Übersicht verwendet werden if ($kurztitel) { $titel = $kurztitel; } my $uebersicht_link = "
$titel
$anzeige_datum - $teaser [$weiter_uebersetzung{$lingua} ...]
"; $sortier_datum =~ m|(\d{4})|; $akt_jahr = $1; storeAktuellesArchiv($akt_jahr, $uebersicht_link); } saveArchivUebersichtFiles($rubrik, $lingua); createNavigation($lingua); } } sub storeAktuellesArchiv { my ($akt_jahr, $link) = @_; push (@{$aktuelles_archiv_uebersicht{$akt_jahr}}, $link); } sub saveArchivUebersichtFiles { my ($rubrik, $lingua) = @_; foreach my $jahr (keys %aktuelles_archiv_uebersicht) { my $savefile = $savedir_archiv."/aktuelles_".$rubrik."_".$jahr.".shtml.".$lingua; open (FILE, "> $savefile") or die "Konnte $savefile nicht oeffnen!"; open (HEADER, "< $header_file".$lingua) or die "Konnte $savefile nicht oeffnen!"; while (
) { chomp; # Links zur gleichen Seite anpassen (z.B. bei Flaggen) if ( $_ =~ /[an error occurred while processing this directive]/ || $_ =~ /[an error occurred while processing this directive]/ ) { my $old = '[an error occurred while processing this directive]'; my $new; my $flagge = $2; open (FLAGGE,"< ".$SYSTEM_CONF{'DOCUMENT-ROOT'}.$1) or die "$!\n"; while (my $line = ) { $new .= $line; } close FLAGGE; $new =~ s///g; $_ =~ s/$old/$new/g; } # Navigation anpassen my $old = '[an error occurred while processing this directive]'; my $new = '[an error occurred while processing this directive]'; $_ =~ s/$old/$new/g; print FILE $_."\n"; } close HEADER; print FILE "
"; # Einfügen der Links foreach my $link (@{$aktuelles_archiv_uebersicht{$jahr}}) { print FILE "$link\n"; } print FILE "
 
"; open (FOOTER, "< $footer_file".$lingua) or die "Konnte $footer_file nicht oeffnen!"; while (