freebsd-ports/www/WebMagick/files/patch-aa
2006-07-26 03:45:43 +00:00

1479 lines
62 KiB
Text

Index: webmagick.in
===================================================================
RCS file: /cvsroot/webmagick/WebMagick/webmagick.in,v
retrieving revision 1.117
retrieving revision 1.154
diff -u -r1.117 -r1.154
--- webmagick.in 23 Oct 2002 16:14:47 -0000 1.117
+++ webmagick.in 26 Jul 2006 03:36:05 -0000 1.154
@@ -1,6 +1,6 @@
#! @PERL@
#
-# $Id: webmagick.in,v 1.117 2002/10/23 16:14:47 clindell Exp $
+# $Id: webmagick.in,v 1.154 2006/07/26 03:36:05 ache Exp $
#
# You are looking at the main PERL script for WebMagick, a package to
# intelligently create HTML and JavaScript index files and imagemaps
@@ -99,7 +99,8 @@
@imageThumbCoords, # Thumbnail imagemap coordinates
$imageFrameLink, # URL to use as source for image frame
%imageLabels, # Labels to use for images (if specified)
- %tableImageLabels, # labels to use in tables
+ %imageCaptions, # Captions for perimage HTML
+ %tableImageLabels, # labels to use in tables
%imageOrder, # Order that images occur in imgindex file
$inChild, # Set to true if this process is a child
$currentDate,
@@ -117,6 +118,7 @@
$opt_cacheformat,
$opt_cachegeom,
$opt_cachemin,
+ $opt_centerfooter,
$opt_lowres,
$opt_lowresdir,
$opt_lowresformat,
@@ -144,12 +146,13 @@
$opt_forcejpeg,
$opt_forcehtml,
$opt_forcemontage,
+ $opt_forcenouplink,
+ $opt_forceuplink,
$opt_frame_name_dirview,
$opt_frame_name_imageview,
$opt_frame_name_thumbview,
$opt_frame_name_top,
$opt_frameborder,
- $opt_framebordersize,
$opt_frameddirfmt,
%opt_framefmt,
%opt_framefmt_frames,
@@ -167,6 +170,7 @@
%opt_icons,
$opt_ignore,
$opt_ignorefp,
+ $opt_indexinfo,
$opt_imgindexname,
$opt_indexname,
$opt_javascript,
@@ -212,6 +216,12 @@
$opt_srcdir,
$opt_stylesheet, # URL to a CSS to use
$opt_tables,
+ $opt_tablebackcolor,
+ $opt_fancytables,
+ $opt_fancytableheight,
+ $opt_tables_bottom,
+ $opt_tables_params,
+ $opt_tables_top,
$opt_thumbbackground,
$opt_thumbbordercolor,
$opt_thumbborderwidth,
@@ -237,14 +247,20 @@
$opt_webmagickrc, # Per-directory WebMagick rc file name
$opt_zoomfilter,
$opt_pichtml,
+ $opt_pichtmlaltend,
+ $opt_pichtmlaltstart,
$opt_pichtmlbottom,
$opt_pichtmlext,
+ $opt_pichtmllink,
$opt_pichtmlnav,
+ $opt_pichtmlupfirst,
$opt_pichtmlputtitle,
+ $opt_pichtmltitletop,
$opt_pichtmltarget,
$opt_pichtmltitleend,
$opt_pichtmltitlestart,
$opt_pichtmltop,
+ $opt_edgelinksindex,
$pageStatusTime, # Time status file last modified
$pageNumber, # Current page number
$pathSep, # OS-specific path separator
@@ -368,6 +384,7 @@
$opt_ignore = 0; # Do not webmagick this directory
# but still recurse into sub-directories
$opt_ignorefp = 1; # ignore _* special FrontPage directories (on)
+$opt_indexinfo = 1; # Put "Index of files"
$opt_srcdir = '.'; # Source directory path (current directory)
$opt_verbose = 0; # Verbose flag (default off)
$opt_forcecache = 0; # Force update of cached thumbnails
@@ -376,6 +393,9 @@
$opt_forcemontage = 0; # Force montage (default off)
$opt_forcegif = 0; # Force GIF imagemaps (default off)
$opt_forcejpeg = 0; # Force JPEG imagemaps (default off)
+$opt_forcenouplink = 0; # Force there to be no uplink in directory index list
+$opt_forceuplink = 0; # Force there to be an uplink in directory index list
+ # (i.e. even if we didn't generate ../index.html)
$opt_jpegquality = 70; # Quality for JPEG imagemaps
$opt_help = 0; # Display usage message
$opt_version = 0; # Display version info
@@ -386,15 +406,28 @@
$opt_readmevisible = 0; # Make README.html be first page.
$opt_title = ''; # Page title (blank provides default title)
$opt_tables = 0; # disable tables
+$opt_tablebackcolor = '#000000'; # table background color
+$opt_fancytables = 0; # use a fancier table for index pages
+$opt_fancytableheight = 28; # the height of the fancy table border
+$opt_tables_bottom = ''; # HTML after table contents
+$opt_tables_params = 'WIDTH="90%"'; # table HTML parameters
+$opt_tables_top = ''; # HTML before table contents
$opt_address = ''; # Additonal address info for bottom of
# imagemap page
+$opt_centerfooter = 0; # Center the footer text
$opt_date = 1; # Output updates date
$opt_pichtml = 0; # Write separate HTML for each picture
+$opt_pichtmlaltend = ''; # Some words to append to ALT
+$opt_pichtmlaltstart = ''; # Some words to prepend to ALT
$opt_pichtmlbottom = '</CENTER>';
$opt_pichtmlext = '.html'; # Use .shtml for SSI
+$opt_pichtmllink = ''; # Where to link pic
$opt_pichtmlnav = 0; # Write navigation into pic's HTML
-$opt_pichtmlputtitle = 1; # Write picture title above it
+$opt_pichtmlupfirst = 1; # Put up button before next/prev
+$opt_edgelinksindex = 0; # End links link back to index
+$opt_pichtmlputtitle = 1; # Write picture title
+$opt_pichtmltitletop = 1; # Put picture title at top
$opt_pichtmltarget = '';
$opt_pichtmltitleend = '</P>'; # End tags for picture title
$opt_pichtmltitlestart = '<P>'; # Start tags for picture title
@@ -491,8 +524,7 @@
$opt_frames = 1; # Use frames
$opt_framemarginwidth = 1; # Pixels allocated to frame margin in horizontal direction
$opt_framemarginheight = 1; # Pixels allocated to frame margin in vertical direction
-$opt_framebordersize = 3 ; # Pixels allocated to frame border
-$opt_frameborder = 'YES'; # Enable (YES) or disable (NO) decorative frame borders
+$opt_frameborder = 1; # Enable (1) or disable (0) decorative frame borders
$opt_framestyle = 1; # Frame style to use (out of those available)
#
@@ -539,6 +571,7 @@
$opt_icons{'next_gray'} = 'gray_next.gif'; # Next (grayed out)
$opt_icons{'up'} = 'blue_up.gif'; # Up
$opt_icons{'help'} = 'blue_readme.gif'; # Help Readme File
+# $opt_icons{'ft_top'} = 'ft_top.gif'; # Fancy table top
# $opt_icons{'help'} = 'blue_help.gif'; # Help Alternative (Question)
# $opt_icons{'dir'} = 'blue_dir.gif'; # Directory List Icon (See below)
# $opt_icons{'ball'} = 'blue_ball.gif'; # A ball matching other icons
@@ -596,12 +629,11 @@
# | | |
# -------------
$opt_framefmt{1}=
-'<FRAMESET COLS=\"132,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize}>
- <FRAME SRC=\"${dirframelink}\" NAME=\"${opt_frame_name_dirview}\"
+'<FRAMESET COLS=\"132,*\">
+ <FRAME SRC=\"${dirframelink}\" NAME=\"${opt_frame_name_dirview}\" FRAMEBORDER=${opt_frameborder}
MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>
- <FRAME SRC=\"${pageframelink}\" NAME=\"${opt_frame_name_imageview}\"
- MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>
-</FRAMESET>';
+ <FRAME SRC=\"${pageframelink}\" NAME=\"${opt_frame_name_imageview}\" FRAMEBORDER=${opt_frameborder}
+ MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>';
$opt_framefmt_frames{1}=2; # Number of frames expressed by this frame format
# Three frame screen with directories listed in top-left frame,
@@ -616,16 +648,15 @@
# | | |
# -------------
$opt_framefmt{2}=
-'<FRAMESET COLS=\"145,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize}>
- <FRAMESET ROWS=\"20%,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize}>
- <FRAME SRC=\"${dirframelink}\" NAME=\"${opt_frame_name_dirview}\"
+'<FRAMESET COLS=\"145,*\">
+ <FRAMESET ROWS=\"20%,*\">
+ <FRAME SRC=\"${dirframelink}\" NAME=\"${opt_frame_name_dirview}\" FRAMEBORDER=${opt_frameborder}
MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>
- <FRAME SRC=\"${pageframelink}\" NAME=\"${opt_frame_name_thumbview}\"
+ <FRAME SRC=\"${pageframelink}\" NAME=\"${opt_frame_name_thumbview}\" FRAMEBORDER=${opt_frameborder}
MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>
</FRAMESET>
- <FRAME SRC=\"${imageFrameLink}\" NAME=\"${opt_frame_name_imageview}\"
- MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>
-</FRAMESET>';
+ <FRAME SRC=\"${imageFrameLink}\" NAME=\"${opt_frame_name_imageview}\" FRAMEBORDER=${opt_frameborder}
+ MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>';
$opt_framefmt_frames{2}=3; # Number of frames expressed by this frame format
# Three frame screen with directories listed in left frame,
@@ -640,16 +671,15 @@
# | | |
# -------------
$opt_framefmt{3}=
-'<FRAMESET COLS=\"132,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize}>
- <FRAME SRC=\"${dirframelink}\" NAME=\"${opt_frame_name_dirview}\"
+'<FRAMESET COLS=\"132,*\">
+ <FRAME SRC=\"${dirframelink}\" NAME=\"${opt_frame_name_dirview}\" FRAMEBORDER=${opt_frameborder}
MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>
- <FRAMESET ROWS=\"150,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize}>
- <FRAME SRC=\"${pageframelink}\" NAME=\"${opt_frame_name_thumbview}\"
+ <FRAMESET ROWS=\"150,*\">
+ <FRAME SRC=\"${pageframelink}\" NAME=\"${opt_frame_name_thumbview}\" FRAMEBORDER=${opt_frameborder}
MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>
- <FRAME SRC=\"${imageFrameLink}\" NAME=\"${opt_frame_name_imageview}\"
+ <FRAME SRC=\"${imageFrameLink}\" NAME=\"${opt_frame_name_imageview}\" FRAMEBORDER=${opt_frameborder}
MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>
- </FRAMESET>
-</FRAMESET>';
+ </FRAMESET>';
$opt_framefmt_frames{3}=3; # Number of frames expressed by this frame format
# Three frame screen with directories listed in lower-left frame,
@@ -664,16 +694,15 @@
# | | |
# -------------
$opt_framefmt{4}=
-'<FRAMESET ROWS=\"172,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize}>
- <FRAME SRC=\"${pageframelink}\" NAME=\"${opt_frame_name_thumbview}\"
+'<FRAMESET ROWS=\"172,*\">
+ <FRAME SRC=\"${pageframelink}\" NAME=\"${opt_frame_name_thumbview}\" FRAMEBORDER=${opt_frameborder}
MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>
- <FRAMESET COLS=\"132,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize}>
- <FRAME SRC=\"${dirframelink}\" NAME=\"${opt_frame_name_dirview}\"
+ <FRAMESET COLS=\"132,*\">
+ <FRAME SRC=\"${dirframelink}\" NAME=\"${opt_frame_name_dirview}\" FRAMEBORDER=${opt_frameborder}
MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>
- <FRAME SRC=\"${imageFrameLink}\" NAME=\"${opt_frame_name_imageview}\"
+ <FRAME SRC=\"${imageFrameLink}\" NAME=\"${opt_frame_name_imageview}\" FRAMEBORDER=${opt_frameborder}
MARGINWIDTH=${opt_framemarginwidth} MARGINHEIGHT=${opt_framemarginheight}>
- </FRAMESET>
-</FRAMESET>';
+ </FRAMESET>';
$opt_framefmt_frames{4}=3; # Number of frames expressed by this frame format
#
@@ -756,6 +785,7 @@
use Getopt::Long;
if ( ! GetOptions(
'address=s' => \$opt_address,
+ 'centerfooter!' => \$opt_centerfooter,
'anonymous!' => \$opt_anonymous,
'cache!' => \$opt_cache,
'cachedir=s' => \$opt_cachedir,
@@ -790,10 +820,11 @@
'forcehtml!' => \$opt_forcehtml,
'forcejpeg!' => \$opt_forcejpeg,
'forcemontage!' => \$opt_forcemontage,
+ 'forceuplink!' => \$opt_forceuplink,
+ 'forcenouplink!' => \$opt_forcenouplink,
'framemarginwidth=i' => \$opt_framemarginwidth,
'framemarginheight=i' => \$opt_framemarginheight,
- 'framebordersize=i' => \$opt_framebordersize,
- 'frameborder=s' => \$opt_frameborder,
+ 'frameborder=i' => \$opt_frameborder,
'frames!' => \$opt_frames,
'framestyle=i' => \$opt_framestyle,
'header=s' => \$opt_header,
@@ -803,6 +834,7 @@
'iconbase=s' => \$opt_iconbase,
'iconpath=s' => \$opt_iconpath,
'ignorefp!' => \$opt_ignorefp,
+ 'indexinfo!' => \$opt_indexinfo,
'imgindexname=s' => \$opt_imgindexname,
'indexname=s' => \$opt_indexname,
'javascript!' => \$opt_javascript,
@@ -828,14 +860,20 @@
'msg_up=s' => \$opt_msg_up,
'pageindexname=s' => \$opt_pageindexname,
'pichtml!' => \$opt_pichtml,
+ 'pichtmlaltend=s' => \$opt_pichtmlaltend,
+ 'pichtmlaltstart=s' => \$opt_pichtmlaltstart,
'pichtmlbottom=s' => \$opt_pichtmlbottom,
'pichtmlext=s' => \$opt_pichtmlext,
+ 'pichtmllink=s' => \$opt_pichtmllink,
'pichtmlnav!' => \$opt_pichtmlnav,
+ 'pichtmlupfirst!' => \$opt_pichtmlupfirst,
'pichtmlputtitle!' => \$opt_pichtmlputtitle,
+ 'pichtmltitletop!' => \$opt_pichtmltitletop,
'pichtmltarget=s' => \$opt_pichtmltarget,
'pichtmltitleend=s' => \$opt_pichtmltitleend,
'pichtmltitlestart=s' => \$opt_pichtmltitlestart,
'pichtmltop=s' => \$opt_pichtmltop,
+ 'edgelinksindex!' => \$opt_edgelinksindex,
'prefixpath=s' => \$opt_prefixpath,
'readme=s' => \$opt_readme,
'readmevisible!' => \$opt_readmevisible,
@@ -846,6 +884,12 @@
'srcdir=s' => \$opt_srcdir,
'stylesheet=s' => \$opt_stylesheet,
'tables!' => \$opt_tables,
+ 'tablebackcolor=s' => \$opt_tablebackcolor,
+ 'fancytables!' => \$opt_fancytables,
+ 'fancytableheight=i' => \$opt_fancytableheight,
+ 'tables_bottom=s' => \$opt_tables_bottom,
+ 'tables_params=s' => \$opt_tables_params,
+ 'tables_top=s' => \$opt_tables_top,
'thumbtexture=s' => \$opt_thumbtexture,
'thumbbackground=s' => \$opt_thumbbackground,
'thumbborderwidth=i' => \$opt_thumbborderwidth,
@@ -1187,7 +1231,6 @@
evaluateRcFiles();
-
# Decide if we want to process this directory or not based on the
# value of $opt_ignore. If not, then just return.
@@ -1329,7 +1372,6 @@
$pageStatusTime=fmtime($fileNames{'pageStatus'});
}
-
# Handle a directory name to title index file. Store alternative
# names in %dirTitles.
{
@@ -1346,34 +1388,50 @@
$tmp_dirTitles{$dirname} = escapehtml($dirtitle);
$dirOrder{$dirname} = $pos;
$pos++;
+ } elsif( defined($dirname) ) {
+ $dirOrder{$dirname} = $pos;
+ $pos++;
}
}
close( DIRINDEX );
}
- if( !defined(%dirTitles) || ( compareHash(\%dirTitles,\%tmp_dirTitles) ) ) {
+ if( compareHash(\%dirTitles,\%tmp_dirTitles) ) {
%dirTitles = %tmp_dirTitles;
- print( STDERR "Directory titles have changed, must re-do HTML indexes\n" )
+ if ($opt_frames) {
+ print( STDERR "Directory titles have changed, must re-do HTML indexes\n" )
+ if $opt_debug;
+ ++$doIndexHtml;
+ }
+ } else {
+ print( STDERR "Directory titles not needed or unchanged from last run.\n")
if $opt_debug;
- ++$doIndexHtml;
- }
+ }
}
#
- # Handle a image name to thumbnail label index file
+ # Handle an image name to thumbnail label index file
# Store alternative names in %imageLabels
#
{
my $pos = 0;
my %tmp_imageLabels;
+ undef( %tmp_imageLabels );
+ my %tmp_imageCaptions;
+ undef( %tmp_imageCaptions );
if ( -f $opt_imgindexname ) {
open( IMGINDEX, "<$opt_imgindexname" );
while( <IMGINDEX> ) {
chop;
- my ( $imgname, $imgtitle);
- ( $imgname, $imgtitle) = split( /[ \t]+/, $_, 2);
+ my ( $imgname, $imgtitle, $imgcaption, $tmpstr);
+ ( $imgname, $tmpstr) = split( /[ \t]+/, $_, 2);
+ ( $imgtitle, $imgcaption ) = split( /,+/, $tmpstr, 2);
if(defined($imgname) && defined($imgtitle)) {
$tmp_imageLabels{$imgname} = $imgtitle;
+ $tmp_imageCaptions{$imgname} = $imgcaption;
+ $imageOrder{$imgname} = $pos;
+ $pos++;
+ } elsif( defined($imgname) ) {
$imageOrder{$imgname} = $pos;
$pos++;
}
@@ -1383,11 +1441,25 @@
#
# This code is totally BOGUS since decision should be made on a per-page basis!!
#
- if( !defined(%imageLabels) || ( compareHash(\%imageLabels,\%tmp_imageLabels) ) ) {
+ if( compareHash(\%imageLabels,\%tmp_imageLabels) ) {
%imageLabels = %tmp_imageLabels;
print( STDERR "Image labels have changed, must re-do montages\n" )
if $opt_debug;
$opt_forcemontage=1;
+ } else {
+ print( STDERR "Image labels not needed or unchanged from last run.\n") if $opt_debug;
+ }
+
+ #BRAD: Added to record per image captions for perimage html page
+ if( $opt_pichtml &&
+ compareHash(\%imageCaptions,\%tmp_imageCaptions) ) {
+ %imageCaptions = %tmp_imageCaptions;
+ print( STDERR "Image captions have changed, must re-do perpage html\n" )
+ if $opt_debug;
+ $opt_forcehtml=1;
+ } else {
+ print( STDERR "Image captions not needed or unchanged from last run.\n")
+ if $opt_debug;
}
}
@@ -1396,6 +1468,7 @@
#
{
my %tmp_iconImageUrls;
+ undef (%tmp_iconImageUrls);
print( "Icon URLs:\n" ) if $opt_debug;
my $icon;
for $icon ( keys %opt_icons ) {
@@ -1405,11 +1478,14 @@
if $opt_debug;
}
}
- if( !defined(%iconImageUrls) || ( compareHash(\%iconImageUrls,\%tmp_iconImageUrls) ) ) {
+ if( compareHash(\%iconImageUrls,\%tmp_iconImageUrls) ) {
%iconImageUrls = %tmp_iconImageUrls;
print( STDERR "Icon URLs have changed, must re-do all HTML\n" )
if $opt_debug;
$opt_forcehtml = 1;;
+ } else {
+ print( STDERR "Icon URLs not needed or unchanged from last run.\n")
+ if $opt_debug;
}
}
@@ -1431,6 +1507,7 @@
# Build list of image files
#
@allImageFiles = sort( sortImages grep( /$includeRegex/io, @allFiles));
+ print( STDERR " numfiles=", scalar(@allImageFiles), "\n") if $opt_debug;
# Find subdirectory names (if any) ignoring hidden directories and
# directories without index files. Directories should have index
@@ -1446,10 +1523,9 @@
if ($opt_frames) {
grep($tarray{$_}++, @allImageFiles);
foreach $_ ( grep(! $tarray{$_},@allFiles) ) {
- #if( -f "${_}/${opt_indexname}" ) { # If directory & index file
- # exists then add to list
if( -d "${_}" ) { # If directory exists
- unless ($opt_ignorefp && /^_[a-z]/) { # and we shouldn't ignore it
+ unless (get_rc_var(${_}, 'opt_ignore', 0) eq 1) { # and dir not ignored
+ unless ($opt_ignorefp && /^_[a-z]/) { # and we shouldn't ignore it
push(@dirfiles, $_); # then add it to the list
if ($opt_javascript) {
# Check which index file to use for JavaScript
@@ -1461,6 +1537,7 @@
$dirJsLink{"$_"} = '';
}
}
+ }
}
}
}
@@ -1510,9 +1587,7 @@
if( $numimages > 0 ) {
$haveImages = 1;
}
-
-
-
+
#
# Determine page title
#
@@ -1520,10 +1595,18 @@
$pageTitle = $opt_title;
} else {
my $dirname=basename($sourceDirectory);
- $pageTitle = "${opt_msg_index_of_directory} \"$dirname\"";
+ #BRAD: if cwd or pageTitle in imageLabels, use that for directory name
+ if( $imageLabels{$dirname} ne '') {
+ $pageTitle = $imageLabels{$dirname};
+ $imageLabels{'pageTitle'} = $imageLabels{$dirname};
+ $imageCaptions{'pageTitle'} = $imageLabels{$dirname};
+ } elsif ( $imageLabels{'pageTitle'} ne '') {
+ $pageTitle = $imageLabels{'pageTitle'};
+ } else {
+ $pageTitle = "${opt_msg_index_of_directory} \"$dirname\"";
+ }
}
-
#
# Put the PerlMagick Montage options together
#
@@ -1576,7 +1659,7 @@
$tmp_montageParameters .= "mattecolor=>\'$opt_thumbframecolor\',\n "
if $opt_thumbframecolor ne 'false';
$tmp_montageParameters .= "label=>\'$opt_thumblabel\',\n "
- if $opt_thumblabel ne 'false';
+ if ($opt_thumblabel && $opt_thumblabel ne 'false');
$tmp_montageParameters .= "labelwidth=>\'$opt_thumblabelwidth\',\n ";
$tmp_montageParameters .= "\Lzoomfilter=>\'$opt_zoomfilter\'";
if( !defined($montageParameters) || ($tmp_montageParameters ne $montageParameters)) {
@@ -1597,6 +1680,7 @@
'backgroundimg' => $opt_icons{'background'},
'cachedir' => !$opt_tables ? "" : $opt_cachedir,
'cacheformat' => !$opt_tables ? "" : $opt_cacheformat,
+ 'centerfooter' => $opt_centerfooter,
'coloralink' => $opt_coloralink,
'colorback' => $opt_colorback,
'colorfore' => $opt_colorfore,
@@ -1615,11 +1699,12 @@
'dirhtmlext' => !$opt_frames ? "" : $opt_dirhtmlext,
'dirindexname' => !$opt_frames ? "" : $opt_dirindexname,
'footer' => $opt_footer,
+ 'forceuplink' => $opt_forceuplink,
+ 'forcenouplink' => $opt_forcenouplink,
'frameddirfmt' => !$opt_frames ? "" : $opt_frameddirfmt,
'framemarginwidth' => !$opt_frames ? 0 : $opt_framemarginwidth,
'framemarginheight' => !$opt_frames ? 0 : $opt_framemarginheight,
- 'framebordersize' => !$opt_frames ? 0 : $opt_framebordersize,
- 'frameborder' => !$opt_frames ? "" : $opt_frameborder,
+ 'frameborder' => !$opt_frames ? 0 : $opt_frameborder,
'frames' => $opt_frames,
'framestyle' => !$opt_frames ? 1 : $opt_framestyle,
'header' => $opt_header,
@@ -1627,6 +1712,7 @@
'htmlext' => !$opt_frames ? "" : $opt_htmlext,
'iconbase' => $opt_iconbase,
'imgindexname' => $opt_imgindexname,
+ 'indexinfo' => $opt_indexinfo,
'indexname' => $opt_indexname,
'javascript' => $opt_javascript,
'jsdirindex' => !$opt_javascript ? "" : $fileNames{'jsDirIndex'},
@@ -1647,8 +1733,8 @@
'msg_directory_navigator' => !$opt_frames ? "" : $opt_msg_directory_navigator,
'msg_images' => !$opt_frames ? "" : $opt_msg_images,
'msg_index_of_directory' => $opt_msg_index_of_directory,
- 'msg_index_of_files' => $opt_msg_index_of_files,
- 'msg_index_through' => $opt_msg_index_through,
+ 'msg_index_of_files' => !$opt_indexinfo ? "" : $opt_msg_index_of_files,
+ 'msg_index_through' => !$opt_indexinfo ? "" : $opt_msg_index_through,
'msg_next' => $opt_msg_next,
'msg_pause' => $opt_msg_pause,
'msg_page_navigator' => !$opt_frames ? "" : $opt_msg_page_navigator,
@@ -1659,14 +1745,20 @@
'numpages' => $numPages,
'pageindexname' => $opt_pageindexname,
'pichtml' => $opt_pichtml,
+ 'pichtmlaltend' => !$opt_pichtml ? "" : $opt_pichtmlaltend,
+ 'pichtmlaltstart' => !$opt_pichtml ? "" : $opt_pichtmlaltstart,
'pichtmlbottom' => !$opt_pichtml ? "" : $opt_pichtmlbottom,
'pichtmlext' => !$opt_pichtml ? "" : $opt_pichtmlext,
+ 'pichtmllink' => !$opt_pichtml ? '' : $opt_pichtmllink,
'pichtmlnav' => !$opt_pichtml ? 0 : $opt_pichtmlnav,
+ 'pichtmlupfirst' => $opt_pichtmlupfirst,
'pichtmlputtitle' => !$opt_pichtml ? 0 : $opt_pichtmlputtitle,
+ 'pichtmltitletop' => (!$opt_pichtml || !$opt_pichtmlputtitle) ? 0 : $opt_pichtmltitletop,
'pichtmltarget' => (!$opt_pichtml || !$opt_frames) ? "" : $opt_pichtmltarget,
'pichtmltitleend' => !$opt_pichtml ? "" : $opt_pichtmltitleend,
'pichtmltitlestart' => !$opt_pichtml ? "" : $opt_pichtmltitlestart,
'pichtmltop' => !$opt_pichtml ? "" : $opt_pichtmltop,
+ 'edgelinksindex' => $opt_edgelinksindex,
'prefixpath' => $opt_prefixpath,
'readme' => !$haveReadme ? "" : $opt_readme,
'readmepresent' => $haveReadme,
@@ -1676,6 +1768,12 @@
'stylesheet' => $opt_stylesheet,
'subdirectories' => !$opt_frames ? "" : join(' ',@dirNames),
'tables' => $opt_tables,
+ 'tablebackcolor' => !$opt_tables ? "" : $opt_tablebackcolor,
+ 'fancytables' => !$opt_tables ? 0 : $opt_fancytables,
+ 'fancytableheight' => !$opt_tables ? 0 : $opt_fancytableheight,
+ 'tables_bottom' => !$opt_tables ? "" : $opt_tables_bottom,
+ 'tables_params' => !$opt_tables ? "" : $opt_tables_params,
+ 'tables_top' => !$opt_tables ? "" : $opt_tables_top,
'title' => $pageTitle,
'version' => $opt_anonymous ? "" : $webmagickInfo{'version'},
);
@@ -1763,7 +1861,7 @@
if( ! $opt_tables && (! -f $fileNames{'pageStatus'} ||
( ! -f $fileNames{'montageGIF'} && ! -f $fileNames{'montageJPEG'} ))) {
# If key file is missing then do montage
- print(STDERR "\nMust do montage because a required output",
+ print(STDERR "Must do montage because a required output",
" file is missing\n")
if $opt_debug;
++$doMontage;
@@ -1975,9 +2073,10 @@
# get indexname of parent directory
my $upindexname =
get_rc_var('..', 'opt_indexname', "$opt_indexname");
- unless ( "$upindexname" eq 'NOLINK' ) {
+
+ unless ( "$upindexname" eq 'NOLINK' || "$opt_forcenouplink" || ( cwd() eq "$opt_rootpath" && ! "$opt_forceuplink" ) ) {
$uphtml = "<A HREF=\"../${upindexname}\"><IMG\n" .
- "SRC=\"$iconImageUrls{'up'}\" $iconImageSizes{'up'} ALT=\"^\" BORDER=0></A>" .
+ "SRC=\"$iconImageUrls{'up'}\" $iconImageSizes{'up'} TITLE=\"^\" ALT=\"^\" BORDER=0></A>" .
" <A HREF=\"../${upindexname}\">${opt_msg_up}</A><BR>\n";
}
@@ -1987,7 +2086,7 @@
my $helphtml = '';
if( $haveReadme ) {
$helphtml .= "<A HREF=\"" . escapeurl(${opt_readme}) . "\" TARGET=\"$frameTargets{'readmeview'}\"><IMG\n" .
- "SRC=\"$iconImageUrls{'help'}\" $iconImageSizes{'help'} ALT=\"?\" BORDER=0></A>" .
+ "SRC=\"$iconImageUrls{'help'}\" $iconImageSizes{'help'} TITLE=\"?\" ALT=\"?\" BORDER=0></A>" .
" <A HREF=\"" . escapeurl(${opt_readme}) . "\" TARGET=\"$frameTargets{'readmeview'}\">${opt_msg_readme}</A><BR>\n";
}
@@ -1997,7 +2096,7 @@
my $nexthtml = '';
if( $haveReadme && $haveImages && $opt_framefmt_frames{$opt_framestyle}<=2 ) {
$nexthtml .= "<A HREF=\"${opt_pageindexname}1$opt_htmlext\" TARGET=\"$frameTargets{'thumbview'}\"><IMG\n" .
- "SRC=\"$iconImageUrls{'next'}\" $iconImageSizes{'next'} ALT=\"*\" BORDER=0></A>" .
+ "SRC=\"$iconImageUrls{'next'}\" $iconImageSizes{'next'} TITLE=\"*\" ALT=\"*\" BORDER=0></A>" .
" <A HREF=\"${opt_pageindexname}1$opt_htmlext\" TARGET=\"$frameTargets{'thumbview'}\">${opt_msg_images}</A><BR>";
}
@@ -2023,20 +2122,19 @@
} else {
$dirtitle=$subdir;
}
-
+
# get indexname for sub-directory (default as this directory)
my $subindexname =
get_rc_var($subdir, 'opt_indexname', "$opt_indexname");
unless ( "$subindexname" eq 'NOLINK' ) {
my $url = escapeurl("$subdir/${subindexname}");
- $dirhtml .= '<NOBR>';
# If a bullet icon is defined, then use it
# otherwise use plain text only
if( defined( $iconImageUrls{'ball'} ) ) {
- $dirhtml .= "<A HREF=\"${url}\"><IMG SRC=\"$iconImageUrls{'ball'}\" $iconImageSizes{'ball'} ALT=\"*\" BORDER=0></A>";
+ $dirhtml .= "<A HREF=\"${url}\"><IMG SRC=\"$iconImageUrls{'ball'}\" $iconImageSizes{'ball'} TITLE=\"*\" ALT=\"*\" BORDER=0></A>";
}
- $dirhtml .= "<A HREF=\"${url}\">$dirtitle</A></NOBR><BR>\n";
+ $dirhtml .= "<A HREF=\"${url}\">$dirtitle</A><BR>\n";
}
}
}
@@ -2128,14 +2226,15 @@
#
open( INDEX, ">${opt_indexname}")
|| die("$0: Failed to open file ${opt_indexname} for output\n$@\n");
- print( INDEX "<HTML>\n<HEAD>\n" );
+ print( INDEX "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\" \"http://www.w3.org/TR/html4/frameset.dtd\">\n<HTML>\n<HEAD>\n" );
# Charset is better before title
print( INDEX " <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=${opt_metacharset}\">\n" )
if( "$opt_metacharset" ne '' );
print( INDEX " <TITLE>${pageTitle}</TITLE>\n" );
# Meta tags
- print( INDEX " <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" );
+ print( INDEX " <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" )
+ if (!$opt_anonymous);
print( INDEX " <META NAME=\"Author\" CONTENT=\"${opt_metaauthor}\">\n" )
if( "$opt_metaauthor" ne '' );
print( INDEX " <META NAME=\"Description\" CONTENT=\"${opt_metadescription}\">\n" )
@@ -2154,7 +2253,7 @@
# If in JavaScript mode, output code to switch to JavaScript pages
# Currently knows about certain browsers.
if( $opt_javascript ) {
- print( INDEX '<SCRIPT LANGUAGE="JavaScript1.1">' . "\n" );
+ print( INDEX '<SCRIPT TYPE="text/javascript">' );
print( INDEX '<!--' . "\n" );
print( INDEX ' var browserName = navigator.appName;', "\n" );
print( INDEX ' var browserVersion = parseInt(navigator.appVersion);', "\n" );
@@ -2164,7 +2263,7 @@
print( INDEX ' } else if ( browserName == "Microsoft Internet Explorer" && browserVersion >= 3) {', "\n" );
print( INDEX ' location = filename;', "\n" );
print( INDEX ' }', "\n" );
- print( INDEX "// -->\n" );
+ print( INDEX "// -->" );
print( INDEX "</SCRIPT>\n" );
}
@@ -2173,20 +2272,17 @@
print( INDEX $framespechtml );
print( INDEX "<NOFRAMES>\n" );
print( INDEX "<BODY\n" );
- unless ("$opt_stylesheet" ne '')
- {
- print( INDEX " TEXT=\"${opt_colorfore}\"\n" );
- print( INDEX " BGCOLOR=\"${opt_colorback}\"\n" )
- if $opt_colorback ne 'false';
- print( INDEX " BACKGROUND=\"$iconImageUrls{background}\"\n" )
- if defined $iconImageUrls{background};
- print( INDEX " LINK=\"${opt_colorlink}\"\n" );
- print( INDEX " VLINK=\"${opt_colorvlink}\"\n" );
- print( INDEX " ALINK=\"${opt_coloralink}\"");
- }
+ print( INDEX " TEXT=\"${opt_colorfore}\"\n" );
+ print( INDEX " BGCOLOR=\"${opt_colorback}\"\n" )
+ if $opt_colorback ne 'false';
+ print( INDEX " BACKGROUND=\"$iconImageUrls{background}\"\n" )
+ if defined $iconImageUrls{background};
+ print( INDEX " LINK=\"${opt_colorlink}\"\n" );
+ print( INDEX " VLINK=\"${opt_colorvlink}\"\n" );
+ print( INDEX " ALINK=\"${opt_coloralink}\"");
print( INDEX ">\n" );
print( INDEX $indexhtml );
- print( INDEX "</BODY>\n</NOFRAMES>\n</HTML>" );
+ print( INDEX "</BODY>\n</NOFRAMES>\n</FRAMESET>\n</HTML>" );
close( INDEX );
@@ -2195,12 +2291,11 @@
if( $opt_javascript ) {
open( INDEX, ">$fileNames{'jsDirIndex'}")
|| die("$0: Failed to open file $fileNames{'jsDirIndex'} for output\n$@\n");
- print( INDEX "<HTML>\n" );
- print( INDEX "<HEAD>\n" );
+ print( INDEX "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<HTML>\n<HEAD>\n" );
print( INDEX "</HEAD>\n" );
- print( INDEX q/<SCRIPT LANGUAGE="JavaScript" SRC="/ . $fileNames{'jsVariables'} . q!"></SCRIPT>! . "\n" );
- print( INDEX q/<SCRIPT LANGUAGE="JavaScript" SRC="/ . $fileNames{'jsFunctions'} . q!"></SCRIPT>! . "\n" );
- print( INDEX "<SCRIPT LANGUAGE=\"JavaScript\">\n" );
+ print( INDEX q/<SCRIPT TYPE="text\/javascript" SRC="/ . $fileNames{'jsVariables'} . q!"></SCRIPT>! . "\n" );
+ print( INDEX q/<SCRIPT TYPE="text\/javascript" SRC="/ . $fileNames{'jsFunctions'} . q!"></SCRIPT>! . "\n" );
+ print( INDEX "<SCRIPT TYPE=\"text/javascript\">\n");
print( INDEX q/document.write(returnFrameHTML());/ . "\n" );
print( INDEX q/document.close();/ . "\n" );
print( INDEX "</SCRIPT>\n" );
@@ -2214,7 +2309,7 @@
open( INDEX, ">${opt_pageindexname}dir${opt_dirhtmlext}")
|| die("$0: Failed to open file \"${opt_pageindexname}dir${opt_dirhtmlext}\"",
" for output\n$@\n");
- print( INDEX "<HTML>\n<HEAD>\n" );
+ print( INDEX "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<HTML>\n<HEAD>\n" );
# Charset is better before title
print( INDEX " <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=${opt_metacharset}\">\n" )
if( "$opt_metacharset" ne '' );
@@ -2224,7 +2319,8 @@
print( INDEX " <BASE TARGET=\"$opt_frame_name_top\">\n" );
# Meta tags
- print( INDEX " <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" );
+ print( INDEX " <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" )
+ if (!$opt_anonymous);
print( INDEX " <META NAME=\"Author\" CONTENT=\"${opt_metaauthor}\">\n" )
if( "$opt_metaauthor" ne '' );
print( INDEX " <META NAME=\"Description\" CONTENT=\"${opt_metadescription}\">\n" )
@@ -2242,17 +2338,14 @@
print( INDEX "</HEAD>\n" );
print( INDEX "<BODY\n" );
- unless ("$opt_stylesheet" ne '')
- {
- print( INDEX " TEXT=\"${opt_dircolorfore}\"\n" );
- print( INDEX " BGCOLOR=\"${opt_dircolorback}\"\n" )
- if $opt_dircolorback ne 'false';
- print( INDEX " BACKGROUND=\"$iconImageUrls{dirbackground}\"\n" )
- if defined $iconImageUrls{dirbackground};
- print( INDEX " LINK=\"${opt_dircolorlink}\"\n" );
- print( INDEX " VLINK=\"${opt_dircolorvlink}\"\n" );
- print( INDEX " ALINK=\"${opt_dircoloralink}\"" );
- }
+ print( INDEX " TEXT=\"${opt_dircolorfore}\"\n" );
+ print( INDEX " BGCOLOR=\"${opt_dircolorback}\"\n" )
+ if $opt_dircolorback ne 'false';
+ print( INDEX " BACKGROUND=\"$iconImageUrls{dirbackground}\"\n" )
+ if defined $iconImageUrls{dirbackground};
+ print( INDEX " LINK=\"${opt_dircolorlink}\"\n" );
+ print( INDEX " VLINK=\"${opt_dircolorvlink}\"\n" );
+ print( INDEX " ALINK=\"${opt_dircoloralink}\"" );
print( INDEX ">\n");
print( INDEX $pagedirhtml );
print( INDEX "</BODY></HTML>\n" );
@@ -2279,7 +2372,7 @@
# Calculate page index bar
# No link for current page
# Nothing at all when there is only one page.
- $indexbar = "<NOBR>";
+ $indexbar = "";
# Must be visible at each page, if no frames
if (!$opt_frames) {
@@ -2287,7 +2380,7 @@
# --- readme link ---
if ( $haveReadme ) {
$indexbar .= "<A HREF=\"${opt_readme}\"><IMG\n" .
- "SRC=\"$iconImageUrls{'help'}\" $iconImageSizes{'help'} ALT=\"${opt_msg_readme}\" BORDER=0></A>\n";
+ "SRC=\"$iconImageUrls{'help'}\" $iconImageSizes{'help'} TITLE=\"${opt_msg_readme}\" ALT=\"${opt_msg_readme}\" BORDER=0></A>\n";
}
# --- up link ---
@@ -2295,7 +2388,7 @@
if ( "$upindexname" ne 'NOLINK' ) {
$indexbar .= "<A HREF=\"../${upindexname}\"><IMG\n" .
- "SRC=\"$iconImageUrls{'up'}\" $iconImageSizes{'up'} ALT=\"${opt_msg_up}\" BORDER=0></A>\n";
+ "SRC=\"$iconImageUrls{'up'}\" $iconImageSizes{'up'} TITLE=\"${opt_msg_up}\" ALT=\"${opt_msg_up}\" BORDER=0></A>\n";
}
}
@@ -2312,7 +2405,7 @@
$indexbar .= " TARGET=\"$frameTargets{'thumbview'}\""
if ($opt_frames);
$indexbar .= "><IMG\n" .
- "SRC=\"$iconImageUrls{'prev'}\" $iconImageSizes{'prev'} ALT=\"${opt_msg_prev}\" BORDER=0></A>\n";
+ "SRC=\"$iconImageUrls{'prev'}\" $iconImageSizes{'prev'} TITLE=\"${opt_msg_prev}\" ALT=\"${opt_msg_prev}\" BORDER=0></A>\n";
}
# --- next link ---
@@ -2322,15 +2415,13 @@
$indexbar .= " TARGET=\"$frameTargets{'thumbview'}\""
if ($opt_frames);
$indexbar .= "><IMG\n" .
- "SRC=\"$iconImageUrls{'next'}\" $iconImageSizes{'next'} ALT=\"${opt_msg_next}\" BORDER=0></A>\n";
+ "SRC=\"$iconImageUrls{'next'}\" $iconImageSizes{'next'} TITLE=\"${opt_msg_next}\" ALT=\"${opt_msg_next}\" BORDER=0></A>\n";
} else {
# Print a grayed out arrow to maintain alignment
$indexbar .= "<IMG SRC=\"$iconImageUrls{'next_gray'}\" $iconImageSizes{'next_gray'} ALT=\"\" BORDER=0>\n";
}
}
- $indexbar .= "</NOBR>";
-
# --- page links ---
if( $numPages > 1 ) {
my $page;
@@ -2352,7 +2443,7 @@
open( INDEX, ">$fileNames{'htmlCurrentIndex'}")
|| die("$0: Failed to open file $fileNames{'htmlCurrentIndex'} for output\n$@\n");
- print( INDEX "<HTML>\n<HEAD>\n" );
+ print( INDEX "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<HTML>\n<HEAD>\n" );
# Charset is better before title
print( INDEX " <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=${opt_metacharset}\">\n" )
if( "$opt_metacharset" ne '' );
@@ -2361,7 +2452,8 @@
if ($opt_frames);
# Meta tags
- print( INDEX " <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" );
+ print( INDEX " <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" )
+ if (!$opt_anonymous);
print( INDEX " <META NAME=\"Author\" CONTENT=\"${opt_metaauthor}\">\n" )
if( "$opt_metaauthor" ne '' );
print( INDEX " <META NAME=\"Description\" CONTENT=\"${opt_metadescription}\">\n" )
@@ -2379,32 +2471,65 @@
print( INDEX "</HEAD>\n" );
print( INDEX "<BODY\n" );
- unless ("$opt_stylesheet" ne '')
- {
- print( INDEX " TEXT=\"${opt_colorfore}\"\n" );
- print( INDEX " BGCOLOR=\"${opt_colorback}\"\n" );
- print( INDEX " BACKGROUND=\"$iconImageUrls{background}\"\n" )
- if defined $iconImageUrls{background};
- print( INDEX " LINK=\"${opt_colorlink}\"\n" );
- print( INDEX " VLINK=\"${opt_colorvlink}\"\n" );
- print( INDEX " ALINK=\"${opt_coloralink}\"" );
- }
+ print( INDEX " TEXT=\"${opt_colorfore}\"\n" );
+ print( INDEX " BGCOLOR=\"${opt_colorback}\"\n" );
+ print( INDEX " BACKGROUND=\"$iconImageUrls{background}\"\n" )
+ if defined $iconImageUrls{background};
+ print( INDEX " LINK=\"${opt_colorlink}\"\n" );
+ print( INDEX " VLINK=\"${opt_colorvlink}\"\n" );
+ print( INDEX " ALINK=\"${opt_coloralink}\"" );
print( INDEX ">\n");
print( INDEX "${opt_header}\n" ) if ("$opt_header" ne '');
# Leave page blank unless there is something to show
if( $numimages > 0 ) {
- # Total HACK!!!
- if( !$opt_frames || $opt_framestyle == 1 ) {
- print( INDEX "<p><FONT SIZE=\"-1\">${opt_msg_index_of_files}\"$imageNames[$pageNumber - 1][0]\" ${opt_msg_index_through}",
- " \"$imageNames[$pageNumber - 1][$numimages-1]\"</FONT></p>\n" );
+ #BRAD: Added directory description
+ if( $imageCaptions{'pageTitle'} ne '') {
+ print( INDEX "<p><FONT SIZE=\"+3\">$imageCaptions{'pageTitle'}</FONT></p>\n");
+ print( STDERR "Using custom PageDescription\n") if $opt_debug;
+ } else {
+ print( INDEX "<P>\n" );
}
print( INDEX "$indexbar<BR>\n" );
+ if( $imageCaptions{'pageTitle'} eq '' &&
+ $opt_indexinfo && (!$opt_frames || $opt_framestyle == 1) ) {
+ my $desc1 = '';
+ my $desc2 = '';
+ if (defined($imageCaptions{$imageNames[$pageNumber -1][0]})) {
+ $desc1=escapehtml($imageCaptions{$imageNames[$pageNumber -1][0]});
+ } elsif (defined($imageLabels{$imageNames[$pageNumber -1][0]})) {
+ $desc1=escapehtml($imageLabels{$imageNames[$pageNumber -1][0]});
+ } else {
+ $desc1=escapehtml($imageNames[$pageNumber - 1][0]);
+ }
+ if (defined($imageCaptions{$imageNames[$pageNumber -1][$numimages-1]})) {
+ $desc2=escapehtml($imageCaptions{$imageNames[$pageNumber -1][$numimages-1]});
+ } elsif (defined($imageLabels{$imageNames[$pageNumber -1][$numimages-1]})) {
+ $desc2=escapehtml($imageLabels{$imageNames[$pageNumber -1][$numimages-1]});
+ } else {
+ $desc2=escapehtml($imageNames[$pageNumber - 1][$numimages-1]);
+ }
+ print( INDEX "<FONT SIZE=\"-1\">${opt_msg_index_of_files}\"",
+ $desc1, "\" ${opt_msg_index_through}", " \"", $desc2,
+ "\"</FONT><BR>\n" );
+ }
+
if ($opt_tables)
{
- print INDEX "<TABLE WIDTH=\"90%\">";
+ if ( !$opt_fancytables ) {
+ print INDEX "<TABLE ${opt_tables_params}>";
+ print INDEX "${opt_tables_top}"
+ if ($opt_tables_top ne '');
+ } else {
+ #BRAD added fancy tables based entirely on the Igal program
+ #This section prints the top of the table
+ my $cols = $opt_columns;
+ if ( $numimages < $cols) { $cols=$numimages; }
+ print INDEX "<TABLE border=0 cellspacing=0 cellpadding=3 ${opt_tables_params}>\n";
+ print INDEX "<tr><td height=$opt_fancytableheight background=\"$iconImageUrls{ft_top}\" colspan=$cols>&nbsp;</td></tr>";
+ }
}
else
{
@@ -2423,35 +2548,46 @@
}
print( INDEX
"<IMG SRC=\"$montageImages[$pageNumber - 1]\" $montageImageSizes[$pageNumber - 1]",
- " USEMAP=\"#${mapname}\" BORDER=0 ISMAP>" );
+ " USEMAP=\"#${mapname}\" BORDER=0 ISMAP ALT=\"${mapname}\">" );
print( INDEX "</A>" ) if ($opt_serversidemap);
print( INDEX "\n<MAP NAME=\"${mapname}\">\n" );
} # unless ( $opt_tables )
my $imageNum;
- for( $imageNum = 0; $imageNum <= $#{$imageNames[$pageNumber - 1]}; ++$imageNum ) {
+ my $maxNum = $#{$imageNames[$pageNumber-1]};
+
+ for( $imageNum = 0; $imageNum <= ${maxNum}; ++$imageNum ) {
my $pic = $imageNames[$pageNumber - 1][$imageNum];
my $pichtml;
+ my $altlabel;
my $target = '';
+
if ($opt_pichtml && $opt_frames && "$opt_pichtmltarget" ne '') {
$target = " TARGET=\"${opt_pichtmltarget}\"";
}
+ if (defined($imageLabels{$pic})) {
+ $altlabel = $imageLabels{$pic};
+ } else {
+ ($altlabel = $pic) =~ s/(.*)\.\w+$/$1/i;
+ $altlabel =~ y/_/ /; # Usual space replacement in file name
+ }
+ $altlabel = escapehtml($opt_pichtmlaltstart . $altlabel . $opt_pichtmlaltend);
if ( $opt_pichtml ) {
$pichtml = $pic . $opt_pichtmlext;
-
open( PICHTML, ">$pichtml")
|| die("$0: Failed to open file $pichtml for output\n$@\n");
- print( PICHTML "<HTML>\n<HEAD>\n" );
+ print( PICHTML "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<HTML>\n<HEAD>\n" );
# Charset is better before title
print( PICHTML " <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=${opt_metacharset}\">\n" )
if( "$opt_metacharset" ne '' );
- print( PICHTML " <TITLE>$pic</TITLE>\n" );
+ print( PICHTML " <TITLE>${altlabel}</TITLE>\n" );
# Meta tags
- print( PICHTML " <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" );
+ print( PICHTML " <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" )
+ if (!$opt_anonymous);
print( PICHTML " <META NAME=\"Author\" CONTENT=\"${opt_metaauthor}\">\n" )
if( "$opt_metaauthor" ne '' );
print( PICHTML " <META NAME=\"Description\" CONTENT=\"${opt_metadescription}\">\n" )
@@ -2469,32 +2605,19 @@
print( PICHTML "</HEAD>\n" );
print( PICHTML "<BODY\n" );
- unless ("$opt_stylesheet" ne '')
- {
- print( PICHTML " TEXT=\"${opt_colorfore}\"\n" );
- print( PICHTML " BGCOLOR=\"${opt_colorback}\"\n" );
- print( PICHTML " BACKGROUND=\"$iconImageUrls{background}\"\n" )
- if defined $iconImageUrls{background};
- print( PICHTML " LINK=\"${opt_colorlink}\"\n" );
- print( PICHTML " VLINK=\"${opt_colorvlink}\"\n" );
- print( PICHTML " ALINK=\"${opt_coloralink}\"");
- }
+ print( PICHTML " TEXT=\"${opt_colorfore}\"\n" );
+ print( PICHTML " BGCOLOR=\"${opt_colorback}\"\n" );
+ print( PICHTML " BACKGROUND=\"$iconImageUrls{background}\"\n" )
+ if defined $iconImageUrls{background};
+ print( PICHTML " LINK=\"${opt_colorlink}\"\n" );
+ print( PICHTML " VLINK=\"${opt_colorvlink}\"\n" );
+ print( PICHTML " ALINK=\"${opt_coloralink}\"");
print( PICHTML ">\n" );
print( PICHTML "$opt_pichtmltop") if ("$opt_pichtmltop" ne '');
- if ($opt_pichtmlputtitle) {
- print ( PICHTML "${opt_pichtmltitlestart}");
- if (defined( $imageLabels{$pic})) {
- print( PICHTML "$imageLabels{$pic}");
- } else {
- print( PICHTML "$pic");
- }
- print ( PICHTML "${opt_pichtmltitleend}");
- }
-
if ($opt_pichtmlnav) {
- print ( PICHTML "<P><NOBR>");
+ print ( PICHTML "<P>");
# Must be visible at each page, if no frames
if (!$opt_frames) {
@@ -2502,12 +2625,12 @@
# --- readme link ---
if ( $haveReadme ) {
print (PICHTML "<A HREF=\"${opt_readme}\"><IMG\n",
- "SRC=\"$iconImageUrls{'help'}\" $iconImageSizes{'help'} ALT=\"${opt_msg_readme}\" BORDER=0></A>\n");
+ "SRC=\"$iconImageUrls{'help'}\" $iconImageSizes{'help'} TITLE=\"${opt_msg_readme}\" ALT=\"${opt_msg_readme}\" BORDER=0></A>\n");
}
}
# up
- if (!$opt_frames || $opt_framestyle == 1) {
+ if ( (!$opt_frames || $opt_framestyle == 1) && $opt_pichtmlupfirst ) {
if ($opt_frames) {
print ( PICHTML "<A HREF=\"${opt_pageindexname}${pageNumber}${opt_htmlext}\"");
print ( PICHTML " TARGET=\"$frameTargets{'thumbview'}\"")
@@ -2515,51 +2638,100 @@
print ( PICHTML "<A HREF=\"${pNumber}${opt_indexname}\"");
}
print ( PICHTML "><IMG SRC=\"$iconImageUrls{'up'}\"",
- " $iconImageSizes{'up'} ALT=\"${opt_msg_up}\" BORDER=0></A>\n");
+ " $iconImageSizes{'up'} TITLE=\"${opt_msg_up}\" ALT=\"${opt_msg_up}\" BORDER=0></A>\n");
}
# prev
if (($imageNum == 0) && ($pageNumber == 1)) {
- print ( PICHTML "<IMG SRC=\"$iconImageUrls{'prev_gray'}\"",
- " $iconImageSizes{'prev_gray'} BORDER=0>\n");
+ #BRAD: Added edgelinks link back to index
+ if ( $opt_edgelinksindex ) {
+ if ($opt_frames) {
+ print ( PICHTML "<A HREF=\"${opt_pageindexname}${pageNumber}${opt_htmlext}\"");
+ print ( PICHTML " TARGET=\"$frameTargets{'thumbview'}\">");
+ } else {
+ print ( PICHTML "<A HREF=\"${pNumber}${opt_indexname}\">");
+ }
+ }
+ print ( PICHTML "<IMG SRC=\"$iconImageUrls{'prev_gray'}\"",
+ " $iconImageSizes{'prev_gray'} BORDER=0>\n");
+ if ( $opt_edgelinksindex ) {
+ print ( PICHTML "</A>");
+ }
} else {
print ( PICHTML "<A${target} HREF=\"");
if ($imageNum == 0 && $pageNumber != 1) {
- print ( PICHTML $imageNames[$pageNumber - 2][$#{$imageNames[$pageNumber - 2]}]);
+ print ( PICHTML escapeurl($imageNames[$pageNumber - 2][$#{$imageNames[$pageNumber - 2]}]) );
} else {
- print ( PICHTML $imageNames[$pageNumber - 1][${imageNum} - 1]);
+ print ( PICHTML escapeurl($imageNames[$pageNumber - 1][${imageNum} - 1]) );
}
print ( PICHTML $opt_pichtmlext);
print ( PICHTML "\"><IMG SRC=\"$iconImageUrls{'prev'}\"",
- " $iconImageSizes{'prev'} ALT=\"${opt_msg_prev}\" BORDER=0></A>\n");
+ " $iconImageSizes{'prev'} TITLE=\"${opt_msg_prev}\" ALT=\"${opt_msg_prev}\" BORDER=0></A>\n");
}
-
+
+ # up if in middle (added by BRAD)
+ if ( (!$opt_frames || $opt_framestyle == 1) && !$opt_pichtmlupfirst ) {
+ if ($opt_frames) {
+ print ( PICHTML "<A HREF=\"${opt_pageindexname}${pageNumber}${opt_htmlext}\"");
+ print ( PICHTML " TARGET=\"$frameTargets{'thumbview'}\"")
+ } else {
+ print ( PICHTML "<A HREF=\"${pNumber}${opt_indexname}\"");
+ }
+ print ( PICHTML "><IMG SRC=\"$iconImageUrls{'up'}\"",
+ " $iconImageSizes{'up'} TITLE=\"${opt_msg_up}\" ALT=\"${opt_msg_up}\" BORDER=0></A>\n");
+
+ }
+
#next
if (($pageNumber == $numPages) && ($imageNum == $#{$imageNames[$pageNumber - 1]})) {
- print ( PICHTML "<IMG SRC=\"$iconImageUrls{'next_gray'}\"",
- " $iconImageSizes{'next_gray'} BORDER=0>\n");
+ #BRAD: Added edge links back to index
+ if ( $opt_edgelinksindex ) {
+ if ($opt_frames) {
+ print ( PICHTML "<A HREF=\"${opt_pageindexname}${pageNumber}${opt_htmlext}\"");
+ print ( PICHTML " TARGET=\"$frameTargets{'thumbview'}\">");
+ } else {
+ print ( PICHTML "<A HREF=\"${pNumber}${opt_indexname}\">");
+ }
+ }
+ print ( PICHTML "<IMG SRC=\"$iconImageUrls{'next_gray'}\"",
+ " $iconImageSizes{'next_gray'} BORDER=0>\n");
+ if ( $opt_edgelinksindex ) {
+ print ( PICHTML "</A>");
+ }
} else {
print ( PICHTML "<A${target} HREF=\"");
if (($imageNum == $#{$imageNames[$pageNumber - 1]}) && $pageNumber != $numPages) {
- print ( PICHTML $imageNames[$pageNumber][0]);
+ print ( PICHTML escapeurl($imageNames[$pageNumber][0]) );
} else {
- print ( PICHTML $imageNames[$pageNumber - 1][${imageNum} + 1]);
+ print ( PICHTML escapeurl($imageNames[$pageNumber - 1][${imageNum} + 1]) );
}
print ( PICHTML $opt_pichtmlext);
print ( PICHTML "\"><IMG SRC=\"$iconImageUrls{'next'}\"",
- " $iconImageSizes{'next'} ALT=\"${opt_msg_next}\" BORDER=0></A>\n");
+ " $iconImageSizes{'next'} TITLE=\"${opt_msg_next}\" ALT=\"${opt_msg_next}\" BORDER=0></A>\n");
}
-
- print ( PICHTML "</NOBR><BR>");
}
- if ( $pic =~ /\.(jpg|jpeg?|gif|xbm|png)$/i ) {
- print( PICHTML "<IMG SRC=\"$pic\" ALT=\"\">" );
+ if ($opt_pichtmlputtitle && $opt_pichtmltitletop) {
+ print ( PICHTML "${opt_pichtmltitlestart}${altlabel}${opt_pichtmltitleend}");
+ } elsif ($opt_pichtmlnav) {
+ print ( PICHTML "<BR>");
+ }
+
+ if ($pic =~ /\.(jpg|jpeg?|gif|xbm|png)$/i) {
+ print( PICHTML "<A HREF=\"$opt_pichtmllink\">")
+ if ($opt_pichtmllink ne '');
+ print( PICHTML "<IMG SRC=\"", escapeurl($pic), "\" BORDER=0 ALT=\"${altlabel}\" TITLE=\"${altlabel}\">" );
+ print( PICHTML "</A>")
+ if ($opt_pichtmllink ne '');
} else {
- print( PICHTML "<A HREF=\"", escapeurl($pic), "\"><BIG><B>$pic</B></A> ", fsize($pic), "</BIG>" );
+ print( PICHTML "<A HREF=\"", escapeurl($pic), "\"><BIG><B>", escapehtml($pic), "</B></A> ", fsize($pic), "</BIG>" );
+ }
+
+ if ($opt_pichtmlputtitle && !$opt_pichtmltitletop) {
+ print ( PICHTML "${opt_pichtmltitlestart}${altlabel}${opt_pichtmltitleend}");
}
print( PICHTML "$opt_pichtmlbottom\n") if ("$opt_pichtmlbottom" ne '');
@@ -2570,14 +2742,14 @@
unless ($opt_tables)
{
- print( INDEX " <AREA${target} HREF=\"",
+ print( INDEX " <AREA${target} ALT=\"${altlabel}\" TITLE=\"${altlabel}\" HREF=\"",
escapeurl($pichtml), "\" SHAPE=RECT COORDS=", $imageThumbCoords[$pageNumber - 1][$imageNum],">\n" );
}
} else
{
unless ($opt_tables)
{
- print( INDEX " <AREA HREF=\"", escapeurl($pic),
+ print( INDEX " <AREA ALT=\"${altlabel}\" TITLE=\"${altlabel}\" HREF=\"", escapeurl($pic),
"\" SHAPE=RECT COORDS=", $imageThumbCoords[$pageNumber - 1][$imageNum],">\n" );
}
}
@@ -2590,7 +2762,7 @@
print INDEX "<TR ALIGN=CENTER VALIGN=TOP>";
}
- print INDEX "<TD>";
+ print INDEX "<TD BGCOLOR=${opt_tablebackcolor}>";
if ($opt_pichtml) {
print (INDEX "<A${target} HREF=\"", escapeurl($pichtml), "\">");
@@ -2601,17 +2773,34 @@
# TODO: make sure the thumbnails are created, and get some image sizes
# TODO: save the labels in a new array, maybe same with sizes
if ( $thumbImageSizes{$pic}) {
- print (INDEX "<IMG SRC=\"", $opt_cachedir, "/", escapeurl($pic), ".\L${opt_cacheformat}", "\" $thumbImageSizes{$pic} BORDER=0>");
+ print (INDEX "<IMG SRC=\"", $opt_cachedir, "/", escapeurl($pic), ".\L${opt_cacheformat}",
+ "\" $thumbImageSizes{$pic} ALT=\"${altlabel}\" TITLE=\"${altlabel}\" BORDER=0>");
} else {
- print (INDEX "<IMG SRC=\"", escapeurl($pic), "\" BORDER=0>");
+ print (INDEX "<IMG SRC=\"", escapeurl($pic),
+ "\" ALT=\"${altlabel}\" TITLE=\"${altlabel}\" BORDER=0>");
}
- print (INDEX "</A><BR><FONT SIZE=\"-1\">" . $tableImageLabels{$imageNames[$pageNumber - 1][$imageNum]} . "</FONT></TD>\n");
-
+ print (INDEX "</A>");
+ print (INDEX "<BR><FONT SIZE=\"-1\">",
+ $tableImageLabels{$imageNames[$pageNumber - 1][$imageNum]},
+ "</FONT>")
+ if ($opt_thumblabel && $opt_thumblabel ne 'false');
+ print (INDEX "</TD>\n");
+
if ($imageNum%$opt_columns == ($opt_columns - 1))
{
print INDEX "</TR>";
- }
+ #BRAD: Middle lines in a fancy tables
+ if ( $opt_fancytables && $imageNum != $maxNum) {
+ my $cols = $opt_columns;
+ if ( $maxNum - $imageNum < $opt_columns ) {
+ $cols = $maxNum%$opt_columns+1;
+ }
+ print INDEX "<tr><td height=${opt_fancytableheight} background=\"$iconImageUrls{'ft_top'}\" colspan=${opt_columns}>&nbsp;</td></tr>",
+ "<tr><td colspan=${opt_columns}=${opt_columns}>&nbsp;</td></tr>",
+ "<tr><td height=${opt_fancytableheight} background=\"$iconImageUrls{'ft_top'}\" colspan=${cols}>&nbsp;</td></tr>" ;
+ }
+ }
} # if ($opt_tables)
} # for each picture
@@ -2622,6 +2811,13 @@
{
print INDEX "</TR>";
}
+ #BRAD:The bottom of a fancy table
+ if ( $opt_fancytables ) {
+ my $cols = $maxNum%$opt_columns+1;
+ print INDEX "<tr><td height=${opt_fancytableheight} background=\"$iconImageUrls{'ft_top'}\" colspan=${cols}>&nbsp;</td></tr>";
+ }
+ print INDEX "${opt_tables_bottom}"
+ if ($opt_tables_bottom ne '');
print (INDEX "</TABLE>\n")
} else {print( INDEX "</MAP>\n" );}
}
@@ -2630,6 +2826,9 @@
# Print Copyright info on non-blank pages.
if( $numimages > 0 ) {
+ if( $opt_centerfooter ) {
+ print( INDEX "<CENTER>\n" );
+ }
if( "${opt_address}" ne '' ) {
print( INDEX "<BR><ADDRESS>${opt_address}</ADDRESS>\n" );
}
@@ -2642,13 +2841,17 @@
# If anonymous, don't show copyright and address info
if( ! $opt_anonymous ) {
print( INDEX "<HR>\n${opt_msg_produced_by} " );
- print( INDEX "<NOBR><A HREF=\"http://webmagick.sourceforge.net/\"",
+ print( INDEX "<A HREF=\"http://webmagick.sourceforge.net/\"",
" TARGET=\"_top\">WebMagick</A>" );
- print( INDEX " $webmagickInfo{version}</NOBR>, <NOBR>${opt_msg_copyright}&copy;</NOBR> <NOBR>Bob Friesenhahn</NOBR>\n" );
+ print( INDEX " $webmagickInfo{version}, ${opt_msg_copyright}&copy; Bob Friesenhahn\n" );
}
if( "$htmlOpts{'dateText'}" ne '' || !$opt_anonymous) {
print( INDEX "</FONT>\n" );
}
+ if( $opt_centerfooter ) {
+ print( INDEX "</CENTER>\n");
+ }
+
}
print( INDEX "</BODY>\n" );
@@ -2674,13 +2877,12 @@
open( JSINDEX, ">$fileNames{'jsPageIndex'}")
|| die("$0: Failed to open file $fileNames{'jsPageIndex'} for output\n$@\n");
- print( JSINDEX "<HTML>\n");
- print( JSINDEX "<HEAD>\n");
- print( JSINDEX "<SCRIPT LANGUAGE=\"JavaScript\" SRC=\"$fileNames{'jsVariables'}\"></SCRIPT>\n");
- print( JSINDEX "<SCRIPT LANGUAGE=\"JavaScript\" SRC=\"$fileNames{'jsFunctions'}\"></SCRIPT>\n");
+ print( JSINDEX "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n<HTML>\n<HEAD>\n" );
+ print( JSINDEX "<SCRIPT TYPE=\"text/javascript\" SRC=\"$fileNames{'jsVariables'}\"></SCRIPT>\n");
+ print( JSINDEX "<SCRIPT TYPE=\"text/javascript\" SRC=\"$fileNames{'jsFunctions'}\"></SCRIPT>\n");
print( JSINDEX "</HEAD>\n");
print( JSINDEX "<BODY>\n");
- print( JSINDEX "<SCRIPT LANGUAGE=\"JavaScript\">\n");
+ print( JSINDEX "<SCRIPT TYPE=\"text/javascript\">\n");
print( JSINDEX " top.drawWindows();\n");
print( JSINDEX "</SCRIPT>\n");
print( JSINDEX "</BODY>\n");
@@ -2714,6 +2916,8 @@
# Image labels
print( JSVARS "\n// image titles\n", jsHash( 'imageLabels', \%imageLabels ) );
+ # Image captions
+ print( JSVARS "\n// image captions\n", jsHash( 'imageCaptions', \%imageCaptions ) );
# Image labels
#print( JSVARS "\n// table image titles\n", jsHash( 'tableImageLabels', \%tableImageLabels ) );
@@ -2803,6 +3007,8 @@
# Image labels
print( PERLVARS "\n# image titles\n", plHash( 'imageLabels', \%imageLabels ) );
+ # Image captions
+ print( PERLVARS "\n# image captions\n", plHash( 'imageCaptions', \%imageCaptions ) );
# Table image labels
print( PERLVARS "\n# table image titles\n", plHash( 'tableImageLabels', \%tableImageLabels ) );
@@ -3465,6 +3671,10 @@
sub sortDir {
if(defined($dirOrder{$a}) && defined($dirOrder{$b})) {
$dirOrder{$a} <=> $dirOrder{$b}
+ } elsif(defined($dirOrder{$a})) {
+ return -1;
+ } elsif(defined($dirOrder{$b})) {
+ return 1;
} else {
lc($a) cmp lc($b);
}
@@ -3476,7 +3686,11 @@
sub sortImages {
if(defined($imageOrder{$a}) && defined($imageOrder{$b})) {
$imageOrder{$a} <=> $imageOrder{$b}
- } else {
+ } elsif(defined($imageOrder{$a})) {
+ return -1;
+ } elsif(defined($imageOrder{$b})) {
+ return 1;
+ } else {
lc($a) cmp lc($b);
}
}
@@ -3533,6 +3747,9 @@
sub compareHash {
my( $hash1, $hash2) = @_;
+ if (defined(%$hash1) != defined(%$hash2)) {
+ return( 1 );
+ }
if(scalar(keys(%$hash1)) != scalar(keys(%$hash2))) {
return( 1 ); # different length
}
@@ -3868,7 +4085,7 @@
# Set image label
#
my $label = '';
- if( $opt_thumblabel ne 'false' ) {
+ if( $opt_thumblabel && $opt_thumblabel ne 'false' ) {
if( defined( $imageLabels{$imagename} ) ) {
# Set image specific label
$label = $imageLabels{$imagename};
@@ -3922,7 +4139,7 @@
# put our label into the table image hash
- $tableImageLabels{$imagename} = $label;
+ $tableImageLabels{$imagename} = escapehtml($label);
$tableImageLabels{$imagename} =~ s/\n/<BR>/g;
print( STDERR "Applying image label: \"${label}\"\n" )
@@ -4073,6 +4290,7 @@
--[no]forcehtml Force HTML files to be generated (default off)
--[no]forcemontage Force montage (default off)
--[no]ignorefp Ignore directories with names like _vti (FrontPage directories) (default on)
+ --[no]indexinfo Put "Index of files" (default on)
--[no]help Display usage message (default off)
--[no]recurse Recurse directory tree (default off)
--srcdir Image directory to process
@@ -4093,6 +4311,8 @@
Filenames:
--dirindexname Directory-name to title cross-reference file name
--imgindexname Image-name to thumbnail label cross-reference file name
+ Line Format: <Image Name> <Short Description>[, <Full Description> ]
+ or: pageTitle <html page tile>[, <Montage Title> ]
--indexname Name of master index files (default server index)
--pageindexname Base name of page-related index files
--readme Name of directory info file
@@ -4138,6 +4358,7 @@
HTML Colors & Appearance:
--address Optional user address info
+ --[no]centerfooter Center the footer text (default no)
--[no]anonymous Don't show WebMagick address and copyright info on pages (default off)
--coloralink Link (active) color
--colorback Background color (also applied to JPEG montage background)
@@ -4150,31 +4371,44 @@
--dircolorlink Link (unvisited) color (directory frame)
--dircolorvlink Link (visited) color (directory frame)
--dirhtmlext Extension for directory frame
+ --forceuplink Force there to be a link to "../index.html" in directory list even if we didn't generate the file
+ --forcenouplink Force there to be no linke to "../index.hml" in directory list even if we did generate the file
--stylesheet URL to stylesheet (overrides other color options)
--[no]date Output updates date (default on)
--footer Page footer (imagemap frame) (default to </CENTER>)
--header Page header (imagemap frame) (default to <CENTER>)
--[no]javascript Enable JavaScript output (default off)
+ --[no]readmevisible Show README.html on first page rather than just linking (default off)
+ --[no]tables Use HTML tables instead of imagemaps for thumbnails (default off)
+ --tables_params Table HTML parameters
+ --tables_top HTML before table contents
+ --tables_bottom HTML after table contents
+ --title Page title
+
+Per-image HTML options:
--[no]pichtml Per-image HTML file generation (default off)
- --pichtmlext Per-image HTML file extension (default .html)
+ --pichtmlaltend Some words to append to ALT= (default "")
+ --pichtmlaltstart Some words to prepend to ALT= (default "")
--pichtmlbottom Per-image HTML, extra HTML to display below image (default to </CENTER>)
+ --pichtmlext Per-image HTML file extension (default .html)
--[no]pichtmlnav Per-image HTML, show navigation buttons (default off)
+ --[no]pichtmlupfirst Put Up icon before prev, next icons (default on)
--[no]pichtmlputtitle Put per-image HTML picture title (default on)
+ --[no]pichtmltitletop Put per-image picture title above image (default on)
+ --[no]edgelinksindex Edge-links on per-image HTML link back to index (default off)
--pichtmltarget Per-image HTML default frame target
--pichtmltitleend End tags for per-image HTML picture title (default </P>)
--pichtmltitlestart Start tags for per-image HTML picture title (default <P>)
--pichtmltop Per-image HTML, extra HTML to display above image (default to <CENTER>)
- --[no]readmevisible Show README.html on first page rather than just linking (default off)
- --[no]tables Use HTML tables instead of imagemaps for thumbnails (default off)
- --title Page title
+ --[no]fancytables Use a fancier HTML table (default off). Caution, the default
+ colors do not look good with this option.
Frame Options:
--[no]frames Use frames, if no - single directory collection assumed (default on)
- --framemarginwidth Pixels allocated to frame margin in horizontal direction
- --framemarginheight Pixels allocated to frame margin in vertical direction
- --framebordersize Pixels allocated to frame border
- --frameborder Enable (YES) or disable (NO) decorative frame borders
+ --framemarginwidth Pixels allocated to frame margin in horizontal direction (default 1)
+ --framemarginheight Pixels allocated to frame margin in vertical direction (default 1)
+ --frameborder Enable (1, default) or disable (0) decorative frame borders
--framestyle Frame style to use (out of those available)
--[no]allowconfig Allow user to configure framestyle, columns and rows (requires javascript and tables) (default off)
@@ -4296,6 +4530,7 @@
s/&/&amp;/g;
s/>/&gt;/g;
s/</&lt;/g;
+ s/\"/&quot;/g; # because we use "xxx" form sometimes
return( $_ );
}
@@ -4324,23 +4559,11 @@
# Escape unsafe characters in URLs
#
sub escapeurl {
+ no locale;
local($_) = @_;
- s/\%/%25/g; # % (must substitute first!)
- s/\"/%22/g; # "
- s/\#/%23/g; # #
- s/\</%3C/g; # <
- s/\>/%3E/g; # >
- s/\[/%5B/g; # [
- #s/\\/%5C/g; # \
- s/\]/%5D/g; # ]
- s/\^/%5E/g; # ^
- s/\`/%60/g; # `
- s/\{/%7B/g; # {
- s/\|/%7C/g; # |
- s/\}/%7D/g; # }
- s/\~/%7E/g; # ~
- s/ /%20/g; # " "
- s:\\:/:g; # replace \ with / for better URLs
+ # RFC 2396
+ # unreserved + some reserved (no query, allow path chars): "$+,/:;=@"
+ s/([^0-9a-zA-Z_.!~*'()\$+,\/:;=\@-])/sprintf("%%%02x", ord($1))/eg;
return( $_ );
}
@@ -4387,7 +4610,6 @@
my $rc;
foreach $rc (@_) {
next if ( ! -r $rc || ! -f $rc );
- print( "Sourcing ${rc}\n" ) if $opt_debug;
eval ( get_rc($rc) );
if( $@ ) {
print( STDERR "Bad Eval for file \"${rc}\"...\n$@\n" );
@@ -4468,7 +4690,7 @@
my $path=$top;
$direlem='';
do {
- # Certain values must only be vaild in the last
+ # Certain values must only be valid in the last
# current directory webmagickrc file.
$opt_ignore=0; # Ignore -- do not process this directory