From f46d5dbbe5d2426a35407a3914666bc4d1bb9d18 Mon Sep 17 00:00:00 2001 From: fox_two <> Date: Fri, 8 Jun 2001 20:27:44 +0000 Subject: [PATCH] Added support for yearly (month) overview. --- selfforum-cgi/shared/Template/Archive.pm | 56 +++++++++++++++++++++++- selfforum-cgi/user/fo_arcview.pl | 10 ++++- 2 files changed, 64 insertions(+), 2 deletions(-) diff --git a/selfforum-cgi/shared/Template/Archive.pm b/selfforum-cgi/shared/Template/Archive.pm index 08d215c..a22f269 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,6 +41,7 @@ use Template::_thread; # use base qw(Exporter); @Template::Archive::EXPORT = qw( + print_year_as_HTML print_month_as_HTML print_thread_as_HTML ); @@ -55,7 +56,60 @@ use base qw(Exporter); # $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'}, +# $assign->{'month'} => $param->{'month'}, +# $assign->{'monthName'} => month($param->{'month'}) + }; + + # + # 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 () ##################################################### # diff --git a/selfforum-cgi/user/fo_arcview.pl b/selfforum-cgi/user/fo_arcview.pl index 095ad4d..36c075e 100644 --- a/selfforum-cgi/user/fo_arcview.pl +++ b/selfforum-cgi/user/fo_arcview.pl @@ -38,6 +38,7 @@ use CGI::Carp qw(fatalsToBrowser); use Conf; use Conf::Admin; use Template::Archive qw( + print_year_as_HTML print_month_as_HTML print_thread_as_HTML ); @@ -96,7 +97,14 @@ if ($year) { ); } } else { -# print_year_as_HTML(); + print_year_as_HTML( + $conf->{'files'}->{'archivePath'} . $year . '/', + $show_archive->{'templateFile'}, + { + 'assign' => $show_archive->{'assign'}, + 'year' => $year + } + ); } } else { # print_overview_as_HTML(); -- 2.34.1