]> git.p6c8.net - selfforum.git/blobdiff - selfforum-cgi/shared/Template/Forum.pm
made perl 5.005 compilant
[selfforum.git] / selfforum-cgi / shared / Template / Forum.pm
index 6b29a226b9c7262f3147fbb9c853fc0efb4e62f3..675494127cb13965d625ac463e8bb7a68fdef7fa 100644 (file)
@@ -1,41 +1,54 @@
-# Template/Forum.pm
+package Template::Forum;
 
-# ====================================================
-# Autor: n.d.p. / 2001-01-12
-# lm   : n.d.p. / 2001-01-12
-# ====================================================
-# Funktion:
-#      Erzeugung der HTML-Ausgabe der
-#      Forumshauptdatei
-# ====================================================
+################################################################################
+#                                                                              #
+# File:        shared/Template/Forum.pm                                        #
+#                                                                              #
+# Authors:     AndrĂ© Malo <nd@o3media.de>, 2001-06-16                          #
+#                                                                              #
+# Description: print Forum main file to STDOUT                                 #
+#                                                                              #
+################################################################################
 
 use strict;
-
-package Template::Forum;
-
-use vars qw(@ISA @EXPORT);
+use vars qw(
+  @EXPORT
+  $VERSION
+);
 
 use Lock qw(:READ);
 use Encode::Plain; $Encode::Plain::utf8 = 1;
-use Posting::_lib qw(get_all_threads long_hr_time);
+use Posting::_lib qw(
+  get_all_threads
+  long_hr_time
+);
 use Template;
 use Template::_conf;
 use Template::_thread;
 
-# ====================================================
-# Funktionsexport
-# ====================================================
+################################################################################
+#
+# Version check
+#
+$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
 
-require Exporter;
-@ISA    = qw(Exporter);
+################################################################################
+#
+# Export
+#
+use base qw(Exporter);
 @EXPORT = qw(print_forum_as_HTML);
 
-################################
-# sub print_forum_as_HTML
+### print_forum_as_HTML () #####################################################
+#
+# print Forum main file to STDOUT
+#
+# Params: $mainfile - main xml file name
+#         $tempfile - template file name
+#         $param    - hash reference (see doc for details)
+#
+# Return: ~none~
 #
-# HTML erstellen
-################################
-
 sub print_forum_as_HTML ($$$) {
   my ($mainfile, $tempfile, $param) = @_;
   my $assign = $param -> {assign};
@@ -45,29 +58,43 @@ sub print_forum_as_HTML ($$$) {
   my ($threads, $stat);
 
   unless ($stat = lock_file ($mainfile)) {
-    if ($stat == 0) {
+    if (defined $stat) {
       violent_unlock_file ($mainfile);
-      print "aha!"
-      # ueberlastet
+      print ${$template -> scrap (
+        $assign -> {errorDoc},
+        { $assign -> {errorText} => $template -> insert ($assign -> {'occupied'}) }
+      )};
     }
-
     else {
-     # Mastersperre...
+      print ${$template -> scrap (
+        $assign -> {errorDoc},
+        { $assign -> {errorText} => $template -> insert ($assign -> {'notAvailable'}) }
+      )};
     }}
 
   else {
-    my $view = get_view_params ({adminDefault => $param -> {adminDefault}
-                               });
+    my $view = get_view_params (
+      { adminDefault => $param -> {adminDefault} }
+    );
+
+    # set process priority, remove if you don't need...
+    #
+    eval {setpriority 0,0,1};
 
     $threads = get_all_threads ($mainfile, $param -> {showDeleted}, $view -> {sortedMsg});
     violent_unlock_file ($mainfile) unless (unlock_file ($mainfile));
 
-    print ${$template -> scrap ($assign -> {mainDocStart},
-                               {$assign -> {loadingTime} => plain (long_hr_time (time)) } )},"\n<dl>";
+    print ${$template -> scrap (
+      $assign -> {mainDocStart},
+      {  $assign -> {loadingTime} => plain (long_hr_time (time)) }
+      )
+    },"\n<dl>";
 
-    my $tpar = {template => $param -> {tree},
-                cgi      => $param -> {cgi},
-                start    => -1};
+    my $tpar = {
+      template => $param -> {tree},
+      cgi      => $param -> {cgi},
+      start    => -1
+    };
 
     my @threads;
 
@@ -78,6 +105,7 @@ sub print_forum_as_HTML ($$$) {
 
     for (@threads) {
       $tpar -> {thread} = "$_";
+      $|++;
       print ${html_thread ($threads -> {$_}, $template, $tpar)},"\n",'<dd>&nbsp;</dd>',"\n";}
 
     print "</dl>\n",${$template -> scrap ($assign -> {mainDocEnd})};}
@@ -85,13 +113,9 @@ sub print_forum_as_HTML ($$$) {
   return;
 }
 
-# ====================================================
-# Modulinitialisierung
-# ====================================================
-
-# making require happy
+# keep 'require' happy
 1;
 
-# ====================================================
-# end of Template::Forum
-# ====================================================
\ No newline at end of file
+#
+#
+### end of Template::Forum #####################################################
\ No newline at end of file

patrick-canterino.de