#                                                                              #
 # File:        shared/Template/Archive.pm                                      #
 #                                                                              #
-# Authors:     Andre Malo       <nd@o3media.de>, 2001-06-16                    #
-#              Frank Schoenmann <fs@tower.de>,   2001-06-08                    #
+# Authors:     André Malo <nd@o3media.de>                                      #
+#              Frank Schönmann <fs@tower.de>                                   #
 #                                                                              #
 # Description: archive display                                                 #
 #                                                                              #
 use strict;
 use vars qw(
   @EXPORT
-  $VERSION
 );
 
-use Lock qw(:READ);
+use Lock;
 use Encode::Posting;
 use Encode::Plain; $Encode::Plain::utf8 = 1;
 use Posting::_lib qw(
 #
 # Version check
 #
-$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+# last modified:
+#    $Date$ (GMT)
+# by $Author$
+#
+sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
 
 ################################################################################
 #
     print_thread_as_HTML
 );
 
-
 ### print_overview_as_HTML () ##################################################
 #
 # archive entry
 #
 sub print_month_as_HTML($$$) {
     my ($mainfile, $tempfile, $param) = @_;
+    my $main = new Lock($mainfile);
 
     my $assign = $param->{'assign'};
 
     #
     # check if XML file exists
     #
-    unless (-e $mainfile) {
+    unless (-f $main->filename) {
         print ${$template->scrap(
             $assign->{'error'},
             {
     #
     # try locking and read/parse threads
     #
-    my ($threads, $locked);
-    unless ($locked = lock_file($mainfile) and $threads = get_all_threads($mainfile, KILL_DELETED)) {
+    my $threads;
+    unless ($main->lock (LH_SHARED) and $threads = get_all_threads($mainfile, KILL_DELETED)) {
         print ${$template->scrap(
             $assign->{'error'},
             {
         )};
         return;
     }
-    unlock_file($mainfile);
+    $main -> unlock;
 
     my $tmplparam = {
             $assign->{'year'}           => $param->{'year'},
     #
     # check if XML file exists
     #
-    unless (-e $mainfile) {
+    unless (-f $mainfile) {
         print ${$template->scrap(
             $assign->{'error'},
             {
 
 #                                                                              #
 # File:        shared/Template/Forum.pm                                        #
 #                                                                              #
-# Authors:     André Malo <nd@o3media.de>, 2001-06-16                          #
+# Authors:     André Malo <nd@o3media.de>                                      #
 #                                                                              #
 # Description: print Forum main file to STDOUT                                 #
 #                                                                              #
 use strict;
 use vars qw(
   @EXPORT
-  $VERSION
 );
 
 use Lock;
 #
 # Version check
 #
-$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+# last modified:
+#    $Date$ (GMT)
+# by $Author$
+#
+sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
 
 ################################################################################
 #
 
 #                                                                              #
 # File:        shared/Template/Posting.pm                                      #
 #                                                                              #
-# Authors:     Andre Malo       <nd@o3media.de>, 2001-06-16                    #
+# Authors:     André Malo <nd@o3media.de>                                      #
 #                                                                              #
 # Description: show HTML formatted posting                                     #
 #                                                                              #
 use strict;
 use vars qw(
   @EXPORT
-  $VERSION
 );
 
 use Encode::Posting;
 #
 # Version check
 #
-$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+# last modified:
+#    $Date$ (GMT)
+# by $Author$
+#
+sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
 
 ################################################################################
 #
 
 #                                                                              #
 # File:        shared/Template/_conf.pm                                        #
 #                                                                              #
-# Authors:     André Malo <nd@o3media.de>, 2001-06-16                          #
+# Authors:     André Malo <nd@o3media.de>                                      #
 #                                                                              #
 # Description: combine user and default config                                 #
 #                                                                              #
 use strict;
 use vars qw(
   @EXPORT
-  $VERSION
 );
 
 ################################################################################
 #
 # Version check
 #
-$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+# last modified:
+#    $Date$ (GMT)
+# by $Author$
+#
+sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
 
 ################################################################################
 #
 
 #
 #
-### end of Template::_conf #####################################################
+### end of Template::_conf #####################################################
\ No newline at end of file
 
 #                                                                              #
 # File:        shared/Template/_query.pm                                       #
 #                                                                              #
-# Authors:     André Malo <nd@o3media.de>, 2001-06-16                          #
+# Authors:     André Malo <nd@o3media.de>                                      #
 #                                                                              #
 # Description: compose a query string                                          #
 #                                                                              #
 use strict;
 use vars qw(
   @EXPORT
-  $VERSION
 );
 
 ################################################################################
 #
 # Version check
 #
-$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+# last modified:
+#    $Date$ (GMT)
+# by $Author$
+#
+sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
 
 ################################################################################
 #
 #
 sub url_encode ($) {
   my $string = shift;
-  $string=~s/([^a-zA-Z\d_.-])/uc sprintf('%%%02x',ord($1))/eg;
+  $string=~s/([^a-zA-Z\d_.-])/uc sprintf('%%%02x' => ord($1))/eg;
 
   $string;
 }
 
 #
 #
-### end of Template::_query ####################################################
+### end of Template::_query ####################################################
\ No newline at end of file
 
 #                                                                              #
 # File:        shared/Template/_thread.pm                                      #
 #                                                                              #
-# Authors:     Andre Malo <nd@o3media.de>, 2001-06-16                          #
+# Authors:     André Malo <nd@o3media.de>                                      #
 #                                                                              #
 # Description: convert parsed thread to HTML                                   #
 #                                                                              #
 use strict;
 use vars qw(
   @EXPORT
-  $VERSION
 );
 
 use Encode::Plain; $Encode::Plain::utf8 = 1;
 #
 # Version check
 #
-$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+# last modified:
+#    $Date$ (GMT)
+# by $Author$
+#
+sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
 
 ################################################################################
 #