X-Git-Url: https://git.p6c8.net/selfforum.git/blobdiff_plain/1bc8d7a9de9ec3bcd8bd1d494449a5dcf4250b71..14525169b53ec1bafc6fa47f7f4f84ffc4298bd1:/selfforum-cgi/shared/Template/Archive.pm diff --git a/selfforum-cgi/shared/Template/Archive.pm b/selfforum-cgi/shared/Template/Archive.pm index 08d215c..7e97add 100644 --- a/selfforum-cgi/shared/Template/Archive.pm +++ b/selfforum-cgi/shared/Template/Archive.pm @@ -4,7 +4,7 @@ package Template::Archive; # # # File: shared/Template/Archive.pm # # # -# Authors: Frank Schoenmann , 2001-06-04 # +# Authors: Frank Schoenmann , 2001-06-08 # # # # Description: archive display # # # @@ -41,21 +41,132 @@ use Template::_thread; # use base qw(Exporter); @Template::Archive::EXPORT = qw( + print_overview_as_HTML + print_year_as_HTML print_month_as_HTML print_thread_as_HTML ); +### print_overview_as_HTML () ################################################## +# +# archive entry +# +# Params: $arcdir main archive directory +# $tempfile template filename +# $param hash reference +# Return: -none- +# +sub print_overview_as_HTML($$$) { + my ($arcdir, $tempfile, $param) = @_; + + my $assign = $param->{'assign'}; + + my $template = new Template $tempfile; + + # + # archiveDocStart + # + print ${$template->scrap( + $assign->{'archiveDocStart'} + )}; + + # + # globbing to find year directories + # + for (<$arcdir????>) { + s/$arcdir//; + print ${$template->scrap( + $assign->{'archiveDocEntry'}, + { + $assign->{'year'} => $_ + } + + )}; + } + +# for (my $month = 1; $month <= 12; $month++) { +# if (-e $yeardir.$month.'/') { +# print ${$template->scrap( +# $assign->{'yearDocEntry'}, +# { +# $assign->{'year'} => $param->{'year'}, +# $assign->{'month'} => $month, +# $assign->{'monthName'} => month($month) +# } +# )}; +# } +# } + + # + # archiveDocEnd + # + print ${$template->scrap( + $assign->{'archiveDocEnd'} + )}; +} + ### print_year_as_HTML () ###################################################### # # yearly overview over months # -# Params: +# Params: $yeardir directory, which contains month directories # $tempfile template filename # $param hash reference # Return: -none- # +sub print_year_as_HTML($$$) { + my ($yeardir, $tempfile, $param) = @_; + my $assign = $param->{'assign'}; + + my $template = new Template $tempfile; + + # + # check if this year's archive exist + # + unless (-e $yeardir) { + print ${$template->scrap( + $assign->{'error'}, + { + $assign->{'errorText'} => "Es existieren keine Nachrichten für dieses Jahr." + } + )}; + } + + my $tmplparam = { + $assign->{'year'} => $param->{'year'}, + }; + + # + # yearDocStart + # + print ${$template->scrap( + $assign->{'yearDocStart'}, + $tmplparam + )}; + + for (my $month = 1; $month <= 12; $month++) { + if (-e $yeardir.$month.'/') { + print ${$template->scrap( + $assign->{'yearDocEntry'}, + { + $assign->{'year'} => $param->{'year'}, + $assign->{'month'} => $month, + $assign->{'monthName'} => month($month) + } + )}; + } + } + + # + # yearDocEnd + # + print ${$template->scrap( + $assign->{'yearDocEnd'}, + $tmplparam + )}; +} ### print_month_as_HTML () ##################################################### # @@ -140,8 +251,6 @@ sub print_month_as_HTML($$$) { $assign->{'monthDocEnd'}, $tmplparam )}; - - } ### print_thread_as_HTML () ####################################################