-# 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> #
+# #
+# Description: print Forum main file to STDOUT #
+# #
+################################################################################
use strict;
+use vars qw(
+ @EXPORT
+);
-package Template::Forum;
-
-use Lock qw(:READ);
+use Lock;
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
+#
+# last modified:
+# $Date$ (GMT)
+# by $Author$
+#
+sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
+################################################################################
+#
+# Export
+#
use base qw(Exporter);
-@Template::Forum::EXPORT = qw(print_forum_as_HTML);
+@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};
my $template = new Template $tempfile;
my ($threads, $stat);
-
- unless ($stat = lock_file ($mainfile)) {
- if ($stat == 0) {
- violent_unlock_file ($mainfile);
- print "aha!"
- # ueberlastet
+ my $main = new Lock ($mainfile);
+
+ unless ($main -> lock (LH_SHARED)) {
+ unless ($main -> masterlocked) {
+ 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} }
+ );
- $threads = get_all_threads ($mainfile, $param -> {showDeleted}, $view -> {sortedMsg});
- violent_unlock_file ($mainfile) unless (unlock_file ($mainfile));
+ # set process priority, remove if you don't need...
+ #
+ eval {setpriority 0,0,1};
- print ${$template -> scrap ($assign -> {mainDocStart},
- {$assign -> {loadingTime} => plain (long_hr_time (time)) } )},"\n<dl>";
+ $threads = get_all_threads ($main -> filename, $param -> {showDeleted}, $view -> {sortedMsg});
+ $main -> unlock;
- my $tpar = {template => $param -> {tree},
- cgi => $param -> {cgi},
- start => -1};
+ 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 @threads;
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