Strafrecht, Strafprozessrecht und juristische Zeitgeschichte
Prof. Dr. Dr. Thomas Vormbaum

use Time::Local; use Imperia; # Konstanten $filemaske = ".*\.shtml"; $root_dir = $imperia->common->{system_conf}->{'SITE-DIR'}; $root_dir =~ s/site/htdocs/; $readdir = $metainfo->getValues("directory"); # Funktion zum Vergleichen Daten in deutschem Format: TT.MM.YYYY HH:MM # (leider etwas umstaendlich und trotzdem nicht idiotensicher geworden - wegen er Uhrzeit) sub german2normdate { my $gDate = shift; # @_[0]; my $dateNorm = ""; if ($gDate =~ /\s*([0-9]{1,2})\s*\.\s*([0-9]{1,2})\s*\.\s*([0-9]{2,4})(.*)/) { $dateNorm = ""; $dateNorm .= "20" if (length($3)==2); $dateNorm .= $3; $dateNorm .= "0" if (length($2)<2); $dateNorm .= $2; $dateNorm .= "0" if (length($1)<2); $dateNorm .= $1; $dateNorm .= sprintf("%04d"); } return($dateNorm); } sub cmp_germandate { my $aDate = $FILE_META{$a}->{'terminvon'}; my $bDate = $FILE_META{$b}->{'terminvon'}; my $aDateNorm = german2normdate($aDate); my $bDateNorm = german2normdate($bDate); return ($aDateNorm cmp $bDateNorm); } sub nowNormdate { my $tm = localtime(time); my $Monatstag = $tm->mday; my $Monat = $tm->mon + 1; my $Jahr = $tm->year + 1900; $Monat = $Monat < 10 ? $Monat = "0".$Monat : $Monat; $Monatstag = $Monatstag < 10 ? $Monatstag = "0".$Monatstag : $Monatstag; $Stunden = "00"; $Minuten = "00"; return $Jahr.$Monat.$Monatstag . $Stunden.$Minuten; } sub schreibeSSI { my $inhalt = shift; my $datei_name = shift; &log("Schreibe:" . $datei_name); open(DATEI, ">$datei_name") || die "Kann nicht oeffnen: $datei_name"; print DATEI $inhalt; close(DATEI); } clearlist(); filemask($filemaske); ireaddir($readdir); @FILELIST = sort(cmp_germandate @FILELIST); &log("<--->"); my $laenge = @FILELIST; my $zaehler = 0; my $jetzt = nowNormdate(); foreach my $file (@FILELIST) { my $directory = $FILE_META{$file}->{directory}; my $filename = $FILE_META{$file}->{filename}; my $oeffentlich = $FILE_META{$file}->{oeffentlich}; my $schlagzeile = $FILE_META{$file}->{titel}; my $untertitel = $FILE_META{$file}->{untertitel}; my $terminvon = $FILE_META{$file}->{terminvon}; my $terminbis = $FILE_META{$file}->{terminbis}; my $terminvonNorm = german2normdate($terminvon); my $terminbisNorm = german2normdate($terminbis); $terminbisNorm = $terminvonNorm if (not($terminbisNorm)); my $keineIndexseite = not( $filename =~ /^(index|archiv)\.(shtml|php)$/ ); my $geplant = ($terminvonNorm>=$jetzt); my $differenzTage = (normdate2time($terminvonNorm) - normdate2time($jetzt)) / (24*60*60); # Ausgabe fuer Uebersicht if ($keineIndexseite and $schlagzeile and $geplant and ($oeffentlich eq "ja")) { print '

Geplante Veranstaltungen

    ' if ($zaehler==0); print '
  • '; print ''; print ' '.$schlagzeile.'
    '; print $untertitel if $untertitel; print '
    '; print ' ['.$terminvon.']'; #print ' (jetzt'.$jetzt.'/termin'.$terminvonNorm.')'; print '
  • '."\n"; $zaehler++; } # if schlagzeile and ... } # foreach file if ($zaehler == 0) { print ''; } else { print "
\n"; } clearlist(); filemask($filemaske); ireaddir($readdir); @FILELIST = sort(cmp_germandate @FILELIST); reverse_list(); &log("<--->"); my $laenge = @FILELIST; my $zaehler = 0; my $jetzt = nowNormdate(); my $liste = ''; foreach my $file (@FILELIST) { my $directory = $FILE_META{$file}->{directory}; my $filename = $FILE_META{$file}->{filename}; my $oeffentlich = $FILE_META{$file}->{oeffentlich}; my $schlagzeile = $FILE_META{$file}->{titel}; my $untertitel = $FILE_META{$file}->{untertitel}; my $terminvon = $FILE_META{$file}->{terminvon}; my $terminbis = $FILE_META{$file}->{terminbis}; my $terminvonNorm = german2normdate($terminvon); my $terminbisNorm = german2normdate($terminbis); $terminbisNorm = $terminvonNorm if (not($terminbisNorm)); my $keineIndexseite = not( $filename =~ /^(index|archiv|)\.(shtml|php)$/ ); my $differenzTage = (normdate2time($terminvonNorm) - normdate2time($jetzt)) / (24*60*60); my $gelaufen = ($jetzt>$terminvonNorm); # Ausgabe fuer Uebersicht if ($keineIndexseite and $schlagzeile and $gelaufen and ($oeffentlich eq "ja")) { print '

Aufzeichnungen

\n"; } $liste = '
    '.$liste.'
'; schreibeSSI($liste, $root_dir.$readdir."/aufzeichnungen.ssi");
videostreaming | 05.11.2014