]> git.p6c8.net - selfforum.git/commitdiff
Added support for yearly (month) overview.
authorfox_two <>
Fri, 8 Jun 2001 20:27:44 +0000 (20:27 +0000)
committerfox_two <>
Fri, 8 Jun 2001 20:27:44 +0000 (20:27 +0000)
selfforum-cgi/shared/Template/Archive.pm
selfforum-cgi/user/fo_arcview.pl

index 08d215cf7f1009718a55b74474373c1ef5237358..a22f26925e446482aed6697d3903b71ce34fb0bc 100644 (file)
@@ -4,7 +4,7 @@ package Template::Archive;
 #                                                                              #
 # File:        shared/Template/Archive.pm                                      #
 #                                                                              #
 #                                                                              #
 # File:        shared/Template/Archive.pm                                      #
 #                                                                              #
-# Authors:     Frank Schoenmann <fs@tower.de>, 2001-06-04                      #
+# Authors:     Frank Schoenmann <fs@tower.de>, 2001-06-08                      #
 #                                                                              #
 # Description: archive display                                                 #
 #                                                                              #
 #                                                                              #
 # Description: archive display                                                 #
 #                                                                              #
@@ -41,6 +41,7 @@ use Template::_thread;
 #
 use base qw(Exporter);
 @Template::Archive::EXPORT = qw(
 #
 use base qw(Exporter);
 @Template::Archive::EXPORT = qw(
+    print_year_as_HTML
     print_month_as_HTML
     print_thread_as_HTML
 );
     print_month_as_HTML
     print_thread_as_HTML
 );
@@ -55,7 +56,60 @@ use base qw(Exporter);
 #         $param      hash reference
 # Return: -none-
 #
 #         $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 () #####################################################
 #
 
 ### print_month_as_HTML () #####################################################
 #
index 095ad4d4828ff0d7ad21cd3ce6aa7c9358010bb5..36c075ebc0831e626d2de12ac850cf01c37dcd30 100644 (file)
@@ -38,6 +38,7 @@ use CGI::Carp qw(fatalsToBrowser);
 use Conf;
 use Conf::Admin;
 use Template::Archive qw(
 use Conf;
 use Conf::Admin;
 use Template::Archive qw(
+    print_year_as_HTML
     print_month_as_HTML
     print_thread_as_HTML
 );
     print_month_as_HTML
     print_thread_as_HTML
 );
@@ -96,7 +97,14 @@ if ($year) {
             );
         }
     } else {
             );
         }
     } 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();
     }
 } else {
 #   print_overview_as_HTML();

patrick-canterino.de