Sorry for asking again, but it doesn't work. I only changed typeimg to type1img and followed exactly your four steps. I chmoded all directopries to 777, so it should work, if it is OK. Hre is the beginning of my site_html_templates.pl:
# -------------
# Links
# -------------
# Links Manager
#
# File: site_html.pl
# Description: This library contains all the HTML that will be generated in
# the finished directory.
# Author: Alex Krohn
# Email: alex@gossamer-threads.com
# Web: http://www.gossamer-threads.com/
# Version: 2.0
#
# (c) 1998
Gossamer Threads Inc.
#
# This script is not freeware! Please read the README for full details
# on registration and terms of use.
# =====================================================================
# This file contains a modification to allow nonenglish characters in categorynames
# Author: Matthias Berndt
# Email: Matthias_Berndt@csi.com
# Web: http://www.schachbund.de/links/
# ----------------------------------------------------------------------
# The HTML in this file and the style sheet (links.css) have been authored
# by Chris Croome of webarchitects.
#
# Email: chris@atomism.demon.co.uk
# Web: http://www.webarchitects.co.uk/
# ----------------------------------------------------------------------
# You can put variables here that you would like to use in any
# of your templates.
# ***************************************** new fields modification - begin *****************
$live = qq|<a href="$db_cgi_url/help.html#type1"><IMG SRC="$build_root_url/images/live.gif" WIDTH=35 HEIGHT=15 ALT="" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$nonstop = qq|<a href="$db_cgi_url/help.html#type1"><IMG SRC="$build_root_url/images/nonstop.gif" WIDTH=75 HEIGHT=15 ALT="" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$reverse = qq|<a href="$db_cgi_url/help.htm#type1"><IMG SRC="$build_root_url/images/reverse.gif" WIDTH=75 HEIGHT=15 ALT="" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$live_nonstop = qq|<a href="$db_cgi_url/help.html#type1"><IMG SRC="$build_root_url/images/live_nonstop.gif" WIDTH=150 HEIGHT=15 ALT="" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$live_reverse = qq|<a href="$db_cgi_url/help.html#type1"><IMG SRC="$build_root_url/images/live_reverse.gif" WIDTH=150 HEIGHT=15 ALT="" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$nonstop_reverse = qq|<a href="$db_cgi_url/help.html#type1"><IMG SRC="$build_root_url/images/nonstop_reverse.gif" WIDTH=150 HEIGHT=15 ALT="" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$live_nonstop_reverse = qq|<a href="$db_cgi_url/help.html#type1"><IMG SRC="$build_root_url/images/live_nonstop_reverse.gif" WIDTH=200 HEIGHT=15 ALT="" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
# ***************************************** new fields modification - end *******************
%globals = (
date => &get_date,
time => &get_time,
db_cgi_url => $db_cgi_url,
build_root_url => $build_root_url,
site_title => $build_site_title,
css => $build_css_url,
banner => '',
# ***************************************** numlinks modification - begin ******************
numlinks => &num_records,
# ***************************************** numlinks modification - end ********************
# ***************************************** numcats modification - begin *******************
numcat => &numcat
# ***************************************** numcats modification - end ********************
);
# ***************************************** updated & new graphic modification - begin ********
$new_1 = qq|<a href="$build_root_url/help.html#new"><img src="$build_root_url/images/new1.gif" border="0" width=35 height=15 alt="NEU: 0-2 Tage alt!" align="absmiddle"></A>|;
$new_3 = qq|<a href="$build_root_url/help.html#new"><img src="$build_root_url/images/new2.gif" border="0" width=35 height=15 alt="NEU: 3-7 Tage alt!" align="absmiddle"></A>|;
$new_7 = qq|<a href="$build_root_url/help.html#new"><img src="$build_root_url/images/new3.gif" border="0" width=35 height=15 alt="NEU: 8-14 Tage alt!" align="absmiddle"></A>|;
$updated = qq|<a href="$build_root_url/help.html#new"><img src="$build_root_url/images/updated.gif" width=75 height=15 border=0 alt="UPDATED: in den letzten 14 Tagen aktualisiert!" align="absmiddle"></A>|;
# ***************************************** updated & new graphic modification - end *********
# ***************************************** numlinks modification - begin ******************
sub num_records {
#-------------------------------------------------------------
# Displays number of records
my $count = 0;
open (DB, "<$db_file_name") or
&cgierr("error in num_records. unable to open database:$db_file_name.\nReason: $!");
LINE: while (<DB> ) {
if (!(/^#/) && !(/^\s*$/)) {
$line = $_;
chomp ($line);
@fields = &split_decode ($line);
++$count;
}
}
close DB;
return $count;
}
# ***************************************** numlinks modification - end *******************
# ***************************************** numcats modification - begin *******************
sub numcat {
#------------------------------------------------------------------
# Displays number of categories
my $count = 0;
open (DB, "<$db_category_name") or
&cgierr("error in numbercat. unable to open database:$db_category_name.\nReason:
$!");
LINE: while (<DB> ) {
if (!(/^#/) && !(/^\s*$/)) {
$line = $_;
chomp ($line);
@fields = &split_decode ($line);
$count;
}
}
close DB;
return $count;
}
# ***************************************** numcats modification - end ********************
sub site_html_link {
# --------------------------------------------------------
# This routine is used to display what a link should look
# like.
my %rec = @_;
# ***************************************** updated & new graphic modification - begin ********
my $days_old;
my $new_mod_img = "";
# ***************************************** updated & new graphic modification - end *********
# ***************************************** ratings by images modification - begin ************
my $rate_img = "";
# ***************************************** ratings by images modification - end *************
# Set new and pop to either 1 or 0 for templates.
# ***************************************** updated & new graphic modification - begin ********
# The record is either New, Updated, or neither. Only a New or Updated
# graphic can be displayed for a link, but never both.
# First, check to see if the link is new.
if ($rec{'isNew'} eq "Yes") {
# Calculate age of link based on Date Added, not Date Modified.
$days_old = &days_old($rec{'DateAdded'});
# Display appropriate New graphic based on age of link.
if ($days_old <= 2) { $new_mod_img = $new_1; }
elsif ($days_old <= 7) { $new_mod_img = $new_3; }
elsif ($days_old <= $db_new_cutoff) { $new_mod_img = $new_7; }
}
# If the link is not new, check to see if it has been updated.
elsif (&compare_dates($rec{'Date'}, $rec{'DateAdded'})) {
# Calculate age of link based on Date Modified, not Date Added.
$days_old = &days_old($rec{'Date'});
if ($days_old <= $db_new_cutoff) { $new_mod_img = qq~ $updated~; }
}
# ***************************************** updated & new graphic modification - end *********
($rec{'isPopular'} eq 'Yes') ? ($rec{'isPopular'} = 1) : (delete $rec{'isPopular'});
# ***************************************** ratings by images modification - begin ************
$rate_00 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate0.gif" WIDTH=154 HEIGHT=15 ALT="Kommentar abgeben!" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_01 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate1.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_02 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate2.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_03 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate3.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_04 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate4.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_05 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate5.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_06 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate6.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_07 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate7.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_08 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate8.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_09 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate9.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_10 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate10.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_11 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate11.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_12 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate12.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_13 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate13.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_14 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate14.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_15 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate15.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_16 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate16.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_17 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate17.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_18 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate18.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_19 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate19.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
$rate_20 = qq|<a href="$db_cgi_url/review.cgi?ID=$rec{'ID'}"><IMG SRC="$build_root_url/images/rate20.gif" WIDTH=154 HEIGHT=15 ALT="Note: $rec{'Rating'}, $rec{'Votes'} Stimme(n)" BORDER="0" ALIGN="ABSMIDDLE"></A>|;
if ($rec{'Rating'} eq '10.00') { $rate_img = $rate_20; }
elsif ($rec{'Rating'} eq '0') { $rate_img = $rate_00; }
elsif ($rec{'Rating'} le '0.50') { $rate_img = $rate_01; }
elsif ($rec{'Rating'} le '1.00') { $rate_img = $rate_02; }
elsif ($rec{'Rating'} le '1.50') { $rate_img = $rate_03; }
elsif ($rec{'Rating'} le '2.00') { $rate_img = $rate_04; }
elsif ($rec{'Rating'} le '2.50') { $rate_img = $rate_05; }
elsif ($rec{'Rating'} le '3.00') { $rate_img = $rate_06; }
elsif ($rec{'Rating'} le '3.50') { $rate_img = $rate_07; }
elsif ($rec{'Rating'} le '4.00') { $rate_img = $rate_08; }
elsif ($rec{'Rating'} le '4.50') { $rate_img = $rate_09; }
elsif ($rec{'Rating'} le '5.00') { $rate_img = $rate_10; }
elsif ($rec{'Rating'} le '5.50') { $rate_img = $rate_11; }
elsif ($rec{'Rating'} le '6.00') { $rate_img = $rate_12; }
elsif ($rec{'Rating'} le '6.50') { $rate_img = $rate_13; }
elsif ($rec{'Rating'} le '7.00') { $rate_img = $rate_14; }
elsif ($rec{'Rating'} le '7.50') { $rate_img = $rate_15; }
elsif ($rec{'Rating'} le '8.00') { $rate_img = $rate_16; }
elsif ($rec{'Rating'} le '8.50') { $rate_img = $rate_17; }
elsif ($rec{'Rating'} le '9.00') { $rate_img = $rate_18; }
elsif ($rec{'Rating'} le '9.50') { $rate_img = $rate_19; }
else { $rate_img = $rate_20; }
# ***************************************** ratings by images modification - end *************
# ***************************************** new fields modification - begin *****************
if ($rec{'Type1'} eq "live") {
$type1img = $live;
}
elsif ($rec{'Type1'} eq "nonstop") {
$type1img = $nonstop;
}
elsif ($rec{'Type1'} eq "reverse") {
$type1img = $reverse;
}
elsif (($rec{'Type1'} eq "live") && ($rec{'Type1'} eq "nonstop")) {
$type1img = $live_nonstop;
}
elsif (($rec{'Type1'} eq "live") && ($rec{'Type1'} eq "reverse")) {
$type1img = $live_reverse;
}
elsif (($rec{'Type1'} eq "nonstop") && ($rec{'Type1'} eq "reverse")) {
$type1img = $nonstop_reverse;
}
elsif (($rec{'Type1'} eq "nonstop") && ($rec{'Type1'} eq "reverse") && ($rec{'Type1'} eq "live")) {
$type1img = $nonstop_reverse;
}
else {
$type1img .= qq|No Image|;
}
# ***************************************** new fields modification - end *******************
return &load_template ('link.html', {
new_mod_img => $new_mod_img,
detailed_url => "$build_detail_url/$rec{'ID'}$build_extension",
# ***************************************** ratings by images modification - begin ************
rate_img => $rate_img,
# ***************************************** ratings by images modification - end *************
# ***************************************** new fields modification - begin *****************
type1img => $type1img,
# ***************************************** new fields modification - end ******************
%rec,
%globals
});
# ***************************************** updated & new graphic modification - end *********
}