]> git.p6c8.net - selfforum.git/blobdiff - selfforum-cgi/user/fo_view.pl
sort threads by number, not alphabetically
[selfforum.git] / selfforum-cgi / user / fo_view.pl
index ad74b50afa9e64f3daf84ef496d3512075ec4ec8..e010f3781ae1c45203d68ba619201b27739568bf 100644 (file)
-#!/usr/bin/perl
+#!/usr/bin/perl -w
+
+################################################################################
+#                                                                              #
+# File:        user/fo_view.pl                                                 #
+#                                                                              #
+# Authors:     AndrĂ© Malo <nd@o3media.de>                                      #
+#                                                                              #
+# Description: display the forum main file or a single posting                 #
+#                                                                              #
+################################################################################
 
 use strict;
-
-use vars qw($Bin $Shared $Script $t0);
+use vars qw(
+  $Bin
+  $Shared
+  $Script
+  $Config
+);
 
 BEGIN {
-  ($Bin)    = ($0 =~ /^(.*)\/.*$/)? $1 : '.';
-  $Shared   = "$Bin/../shared";
-  ($Script) = ($0 =~ /^.*\/(.*)$/)? $1 : $0;}
+#  my $null = $0; $null =~ s/\\/\//g; # for win :-(
+#  $Bin     = ($null =~ /^(.*)\/.*$/)? $1 : '.';
+#  $Shared  = "$Bin/../shared";
+#  $Config  = "$Bin/config";
+#  $Script  = ($null =~ /^.*\/(.*)$/)? $1 : $null;
+
+  my $null = $0;
+  $Bin     = ($null =~ /^(.*)\/.*$/)? $1 : '.';
+  $Config  = "$Bin/../../cgi-config/forum";
+  $Shared  = "$Bin/../../cgi-shared";
+  $Script  = ($null =~ /^.*\/(.*)$/)? $1 : $null;
+}
+
+# setting umask, remove or comment it, if you don't need
+#
+umask 000;
 
 use lib "$Shared";
-#use CGI::Carp qw(fatalsToBrowser);
+use CGI::Carp qw(fatalsToBrowser);
 
 use Conf;
 use Conf::Admin;
 use Template::Forum;
 use Template::Posting;
 
-use CGI qw(param header);
+use CGI qw(
+  param
+  header
+);
 
-print header(-type => 'text/html');
+################################################################################
+#
+# Version check
+#
+# last modified:
+#    $Date$ (GMT)
+# by $Author$
+#
+sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
 
-my $conf = read_script_conf ($Bin, $Shared, $Script);
+print header(
+  -type    => 'text/html',
+  -expires => '+10m'
+);
 
-$conf -> {wwwRoot} = 'i:/i_selfhtml/htdocs' unless ($ENV{GATEWAY_INTERFACE} =~ /CGI/);
+my $conf = read_script_conf ($Config, $Shared, $Script);
 
 my $show = $conf -> {show};
 my $show_forum = $show -> {Forum};
 my $show_posting = $show -> {Posting};
 my $cgi = $show -> {assign} -> {cgi};
 my $tree = $show -> {assign} -> {thread};
-my $adminDefault = read_admin_conf ("$Bin/".$conf -> {files} -> {adminDefault});
-
-my $forum_file = $conf -> {wwwRoot}.$conf -> {files} -> {forum};
-my $message_path = $conf -> {wwwRoot}.$conf -> {files} -> {messagePath};
+my $adminDefault = read_admin_conf ($conf -> {files} -> {adminDefault});
 
-#use Lock qw(:ALL);release_file(forum_file);die;
+my $forum_file = $conf -> {files} -> {forum};
+my $message_path = $conf -> {files} -> {messagePath};
 
 my ($tid, $mid) = (param ($cgi -> {thread}), param ($cgi -> {posting}));
 
 if (defined ($tid) and defined ($mid)) {
-  print_posting_as_HTML ($message_path,
-                         "$Bin/".$show_posting -> {templateFile},
-                        {assign       => $show_posting -> {assign},
-                         thread       => $tid,
-                         posting      => $mid,
-                         adminDefault => $adminDefault,
-                         messages     => $show_posting -> {messages},
-                         form         => $show_posting -> {form},
-                         cgi          => $cgi,
-                         tree         => $tree
-                        });}
+  print_posting_as_HTML (
+    $message_path,
+    $show_posting -> {templateFile},
+    { assign       => $show_posting -> {assign},
+      thread       => $tid,
+      posting      => $mid,
+      adminDefault => $adminDefault,
+      messages     => $conf -> {template} -> {messages},
+      form         => $show_posting -> {form},
+      cgi          => $cgi,
+      tree         => $tree,
+      firsttime    => 1,
+      cachepath    => $conf -> {files} -> {cachePath}
+    }
+  );
+}
 
 else {
-  print_forum_as_HTML ($forum_file,
-                       "$Bin/".$show_forum -> {templateFile},
-                      {assign       => $show_forum -> {assign},
-                       adminDefault => $adminDefault,
-                       cgi          => $cgi,
-                       tree         => $tree
-                      });}
-
-# eos
\ No newline at end of file
+  print_forum_as_HTML (
+    $forum_file,
+    $show_forum -> {templateFile},
+    { assign       => $show_forum -> {assign},
+      adminDefault => $adminDefault,
+      cgi          => $cgi,
+      tree         => $tree
+    }
+  );
+}
+
+#
+#
+### end of fo_view.pl ##########################################################
\ No newline at end of file

patrick-canterino.de