Aktuelles & Infos

Presse Infobox

use strict; # Übersetzung für Aktuelles my %uebersetzung = ( aktuelles_de => "Aktuelles & Infos", aktuelles_fr => "Actualités & Infos", aktuelles_en => "News & Info", ); # Benötigte Variablen my $savedir = $SYSTEM_CONF{'DOCUMENT-ROOT'}."/dh/ssi/generated/aktuelles"; my $directory; my $filename; my $kurztitel; my $titel; my $sortier_datum; my %aktuelles_box; my $rubrik = "presse"; start(); sub start { # Variablen für unterschiedliche Sprachen my @linguas = qw(de fr en); foreach my $lingua (@linguas) { print "Lingua: $lingua
\n"; clearlist(); my $mask = "index\.shtml\.". $lingua. "\$"; my $readdir = "/dh/aktuelles/presse"; 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); $sortier_datum = $FILE_META_INFO{$file}->getValues('sortier_datum'); next unless ($sortier_datum); # Wenn Kurztitel angegeben, soll dieser auch für die Übersicht verwendet werden if ($kurztitel) { $titel = $kurztitel; } my $box_link = "$titel"; storeAktuellesBox($box_link, $lingua); } saveBoxFiles($lingua); } } sub storeAktuellesBox { my ($link, $lingua) = @_; my $laenge = $#{$aktuelles_box{$rubrik."_".$lingua}}; if ($laenge < 3) { push (@{$aktuelles_box{$rubrik."_".$lingua}}, $link); } } sub saveBoxFiles { my ($lingua) = @_; my $savefile = $savedir."/aktuelles_".$rubrik.".shtml.".$lingua; my $links = ""; foreach my $link (@{$aktuelles_box{$rubrik."_".$lingua}}) { $links .= "
  • $link
  • \n"; } if ($links) { open (FILE, "> $savefile") or die "Konnte $savefile nicht oeffnen!"; print FILE "
    ".$uebersetzung{"aktuelles_".$lingua}."
    \n
    \n
      "; print FILE $links; print FILE "
    \n"; close FILE or die "Konnte $savefile nicht schliessen!"; } }