head	1.76;
access;
symbols
	RELEASE_8_3_0:1.72
	RELEASE_9_0_0:1.69
	RELEASE_7_4_0:1.62
	RELEASE_8_2_0:1.62
	RELEASE_6_EOL:1.62
	RELEASE_8_1_0:1.58
	RELEASE_7_3_0:1.58
	RELEASE_8_0_0:1.58
	RELEASE_7_2_0:1.57
	RELEASE_7_1_0:1.57
	RELEASE_6_4_0:1.57
	RELEASE_5_EOL:1.57
	RELEASE_7_0_0:1.57
	RELEASE_6_3_0:1.57
	PRE_XORG_7:1.57
	RELEASE_4_EOL:1.57
	RELEASE_6_2_0:1.57
	RELEASE_6_1_0:1.56
	RELEASE_5_5_0:1.56
	RELEASE_6_0_0:1.54
	RELEASE_5_4_0:1.54
	RELEASE_4_11_0:1.54
	RELEASE_5_3_0:1.52
	RELEASE_4_10_0:1.45
	RELEASE_5_2_1:1.43
	RELEASE_5_2_0:1.43
	RELEASE_4_9_0:1.41
	RELEASE_5_1_0:1.39
	RELEASE_4_8_0:1.39
	RELEASE_4_7_0:1.32
	RELEASE_4_6_2:1.24
	RELEASE_4_6_1:1.24
	RELEASE_4_6_0:1.24
	RELEASE_5_0_DP1:1.24
	RELEASE_4_4_0:1.22
	RELEASE_4_3_0:1.17
	RELEASE_4_2_0:1.16
	RELEASE_4_1_1:1.16
	RELEASE_4_1_0:1.16
	RELEASE_3_5_0:1.16
	RELEASE_4_0_0:1.16
	RELEASE_3_4_0:1.16
	RELEASE_3_3_0:1.12
	RELEASE_3_2_0:1.11
	RELEASE_3_1_0:1.9
	RELEASE_2_2_8:1.9
	RELEASE_3_0_0:1.9
	RELEASE_2_2_7:1.6
	ache_1_0:1.1.1.1
	ache:1.1.1;
locks; strict;
comment	@# @;


1.76
date	2012.04.07.06.11.06;	author ache;	state dead;
branches;
next	1.75;

1.75
date	2012.04.05.10.25.15;	author ache;	state Exp;
branches;
next	1.74;

1.74
date	2012.04.01.03.47.05;	author ache;	state Exp;
branches;
next	1.73;

1.73
date	2012.03.31.19.48.50;	author ache;	state Exp;
branches;
next	1.72;

1.72
date	2012.02.27.18.19.28;	author ache;	state Exp;
branches;
next	1.71;

1.71
date	2012.01.22.18.25.56;	author ache;	state Exp;
branches;
next	1.70;

1.70
date	2011.12.14.19.06.48;	author ache;	state Exp;
branches;
next	1.69;

1.69
date	2011.12.11.22.54.03;	author ache;	state Exp;
branches;
next	1.68;

1.68
date	2011.09.21.06.04.23;	author ache;	state Exp;
branches;
next	1.67;

1.67
date	2011.09.08.01.44.30;	author ache;	state Exp;
branches;
next	1.66;

1.66
date	2011.04.25.18.30.53;	author ache;	state Exp;
branches;
next	1.65;

1.65
date	2011.04.06.08.02.58;	author ache;	state Exp;
branches;
next	1.64;

1.64
date	2011.04.05.14.47.17;	author ache;	state Exp;
branches;
next	1.63;

1.63
date	2011.04.04.03.48.54;	author ache;	state Exp;
branches;
next	1.62;

1.62
date	2010.09.15.05.26.17;	author ache;	state Exp;
branches;
next	1.61;

1.61
date	2010.07.24.14.16.22;	author ache;	state Exp;
branches;
next	1.60;

1.60
date	2010.07.18.09.56.16;	author ache;	state Exp;
branches;
next	1.59;

1.59
date	2010.07.10.21.42.10;	author ache;	state Exp;
branches;
next	1.58;

1.58
date	2009.08.24.02.35.56;	author ache;	state Exp;
branches;
next	1.57;

1.57
date	2006.07.26.03.45.43;	author ache;	state Exp;
branches;
next	1.56;

1.56
date	2005.12.28.21.55.28;	author ache;	state Exp;
branches;
next	1.55;

1.55
date	2005.12.28.20.36.05;	author ache;	state Exp;
branches;
next	1.54;

1.54
date	2004.11.20.05.27.06;	author ache;	state Exp;
branches;
next	1.53;

1.53
date	2004.11.20.04.16.26;	author ache;	state Exp;
branches;
next	1.52;

1.52
date	2004.06.16.14.50.54;	author ache;	state Exp;
branches;
next	1.51;

1.51
date	2004.05.30.18.58.08;	author ache;	state Exp;
branches;
next	1.50;

1.50
date	2004.05.29.02.28.06;	author ache;	state Exp;
branches;
next	1.49;

1.49
date	2004.05.27.13.06.41;	author ache;	state Exp;
branches;
next	1.48;

1.48
date	2004.05.27.02.05.46;	author ache;	state Exp;
branches;
next	1.47;

1.47
date	2004.05.27.00.40.34;	author ache;	state Exp;
branches;
next	1.46;

1.46
date	2004.05.27.00.02.49;	author ache;	state Exp;
branches;
next	1.45;

1.45
date	2004.02.21.02.35.21;	author ache;	state Exp;
branches;
next	1.44;

1.44
date	2004.01.19.22.22.39;	author ache;	state Exp;
branches;
next	1.43;

1.43
date	2003.10.19.09.08.13;	author ache;	state Exp;
branches;
next	1.42;

1.42
date	2003.10.19.08.38.06;	author ache;	state Exp;
branches;
next	1.41;

1.41
date	2003.07.18.00.41.36;	author ache;	state Exp;
branches;
next	1.40;

1.40
date	2003.06.02.09.58.03;	author ache;	state Exp;
branches;
next	1.39;

1.39
date	2003.01.30.12.28.19;	author ache;	state Exp;
branches;
next	1.38;

1.38
date	2003.01.30.12.07.49;	author ache;	state Exp;
branches;
next	1.37;

1.37
date	2003.01.30.04.30.15;	author ache;	state Exp;
branches;
next	1.36;

1.36
date	2003.01.30.00.03.37;	author ache;	state Exp;
branches;
next	1.35;

1.35
date	2002.10.23.21.32.40;	author ache;	state dead;
branches;
next	1.34;

1.34
date	2002.10.23.00.59.11;	author ache;	state Exp;
branches;
next	1.33;

1.33
date	2002.10.23.00.41.57;	author ache;	state Exp;
branches;
next	1.32;

1.32
date	2002.09.09.06.32.24;	author ache;	state Exp;
branches;
next	1.31;

1.31
date	2002.09.07.16.12.21;	author ache;	state Exp;
branches;
next	1.30;

1.30
date	2002.09.07.10.07.09;	author ache;	state Exp;
branches;
next	1.29;

1.29
date	2002.09.07.01.28.49;	author ache;	state Exp;
branches;
next	1.28;

1.28
date	2002.09.06.23.40.17;	author ache;	state Exp;
branches;
next	1.27;

1.27
date	2002.09.05.18.28.38;	author ache;	state Exp;
branches;
next	1.26;

1.26
date	2002.09.05.17.48.32;	author ache;	state Exp;
branches;
next	1.25;

1.25
date	2002.08.27.23.43.19;	author ache;	state dead;
branches;
next	1.24;

1.24
date	2002.03.15.03.37.33;	author ache;	state Exp;
branches;
next	1.23;

1.23
date	2001.09.14.04.03.28;	author ache;	state dead;
branches;
next	1.22;

1.22
date	2001.08.12.03.48.46;	author ache;	state Exp;
branches;
next	1.21;

1.21
date	2001.08.10.04.46.02;	author ache;	state dead;
branches;
next	1.20;

1.20
date	2001.08.09.03.31.18;	author ache;	state Exp;
branches;
next	1.19;

1.19
date	2001.08.09.02.22.48;	author ache;	state Exp;
branches;
next	1.18;

1.18
date	2001.08.09.01.53.57;	author ache;	state Exp;
branches;
next	1.17;

1.17
date	2001.03.23.14.01.35;	author ache;	state Exp;
branches;
next	1.16;

1.16
date	99.11.29.11.13.29;	author ache;	state Exp;
branches;
next	1.15;

1.15
date	99.11.27.04.57.46;	author ache;	state Exp;
branches;
next	1.14;

1.14
date	99.11.25.21.08.02;	author ache;	state Exp;
branches;
next	1.13;

1.13
date	99.11.21.02.59.57;	author ache;	state Exp;
branches;
next	1.12;

1.12
date	99.06.12.16.12.00;	author ache;	state Exp;
branches;
next	1.11;

1.11
date	99.03.25.03.29.08;	author ache;	state Exp;
branches;
next	1.10;

1.10
date	99.02.21.20.30.19;	author ache;	state Exp;
branches;
next	1.9;

1.9
date	98.09.25.16.23.52;	author ache;	state Exp;
branches;
next	1.8;

1.8
date	98.09.25.01.21.46;	author ache;	state Exp;
branches;
next	1.7;

1.7
date	98.08.12.21.35.54;	author ache;	state Exp;
branches;
next	1.6;

1.6
date	98.05.22.17.13.32;	author ache;	state Exp;
branches;
next	1.5;

1.5
date	98.05.22.00.33.23;	author ache;	state Exp;
branches;
next	1.4;

1.4
date	98.05.21.19.00.27;	author ache;	state Exp;
branches;
next	1.3;

1.3
date	98.05.20.22.34.55;	author ache;	state Exp;
branches;
next	1.2;

1.2
date	98.05.20.22.17.12;	author ache;	state Exp;
branches;
next	1.1;

1.1
date	98.05.19.23.09.47;	author ache;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	98.05.19.23.09.47;	author ache;	state Exp;
branches;
next	;


desc
@@


1.76
log
@1) Remove patches reflecting the project CVS and update to equivalent
just released 2.03pre4 beta.
2) Use autotools.
3) Add LICENSE.

Feature safe: yes
@
text
@Index: webmagick.in
===================================================================
RCS file: /cvsroot/webmagick/WebMagick/webmagick.in,v
retrieving revision 1.117
retrieving revision 1.186
diff -u -r1.117 -r1.186
--- webmagick.in	23 Oct 2002 16:14:47 -0000	1.117
+++ webmagick.in	5 Apr 2012 10:13:53 -0000	1.186
@@@@ -1,6 +1,6 @@@@
 #! @@PERL@@ 
 #
-# $Id: webmagick.in,v 1.117 2002/10/23 16:14:47 clindell Exp $
+# $Id: webmagick.in,v 1.186 2012/04/05 10:13:53 ache Exp $
 #
 # You are looking at the main PERL script for WebMagick, a package to
 # intelligently create HTML and JavaScript index files and imagemaps
@@@@ -78,6 +78,7 @@@@
     @@allFiles,		# List of files in current directory
     @@allImageFiles,	# List of all source file names in directory
     @@cacheFiles,	# List of files in the image cache
+    $cacheParams,       # String form of cache parameters
     @@lowresFiles,	# List of files in the image lowres cache
     $currentDirectory,	# Current directory (absolute)
     $doMontage,		# Set to true if montage must be generated
@@@@ -90,6 +91,7 @@@@
     $haveImages,	# Set to true if there are images in directory
     $haveReadme,	# Set to true if there is a README file in directory
     %htmlOpts,		# Options that effect HTML output
+    %cacheOpts,         # Options that effect cache
     $htmlParams,	# String form of HTML parameters
     %iconImageSizes,	# Size of icons
     %iconImageUrls,	# URLs for icons
@@@@ -99,7 +101,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,
@@@@ -112,16 +115,13 @@@@
     $opt_address,
     $opt_allowconfig,
     $opt_anonymous,
+    $opt_bodytagins,
     $opt_cache,
     $opt_cachedir,
     $opt_cacheformat,
     $opt_cachegeom,
     $opt_cachemin,
-    $opt_lowres,
-    $opt_lowresdir,
-    $opt_lowresformat,
-    $opt_lowresgeom,
-    $opt_lowresmin,
+    $opt_centerfooter,
     $opt_coloralink,
     $opt_colorback,
     $opt_colorfore,
@@@@ -138,18 +138,24 @@@@
     $opt_dirfmt,
     $opt_dirhtmlext,
     $opt_dirindexname,
+    $opt_divs,
+    $opt_edgelinksindex,
+    $opt_fancytables,
+    $opt_fancytableheight,
+    $opt_footer,
     $opt_forcecache,
     $opt_forcelowres,
     $opt_forcegif,
     $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,
@@@@ -159,7 +165,7 @@@@
     $opt_framestyle,
     $opt_htmlext,
     $opt_header,
-    $opt_footer,
+    $opt_headins,
     $opt_help,
     $opt_htimage,
     $opt_iconbase,
@@@@ -167,11 +173,18 @@@@
     %opt_icons,
     $opt_ignore,
     $opt_ignorefp,
+    $opt_indexinfo,
     $opt_imgindexname,
+    $opt_imgprefixpath,
     $opt_indexname,
     $opt_javascript,
     $opt_jpegquality,
     $opt_lockfile,
+    $opt_lowres,
+    $opt_lowresdir,
+    $opt_lowresformat,
+    $opt_lowresgeom,
+    $opt_lowresmin,
     $opt_mapnetscape,
     $opt_maptype,
     $opt_maxgif,
@@@@ -199,6 +212,7 @@@@
     $opt_msg_up,
     $opt_pageindexname,
     $opt_prefixpath,
+    $opt_prepend,
     $opt_prune,
     $opt_readfailhook,
     $opt_readme,
@@@@ -212,6 +226,10 @@@@
     $opt_srcdir,
     $opt_stylesheet, 	# URL to a CSS to use
     $opt_tables,
+    $opt_tablebackcolor,
+    $opt_tables_bottom,
+    $opt_tables_params,
+    $opt_tables_top,
     $opt_thumbbackground,
     $opt_thumbbordercolor,
     $opt_thumbborderwidth,
@@@@ -232,15 +250,22 @@@@
     $opt_thumbtexture,
     $opt_thumbtransparent,
     $opt_title,
+    $opt_unsharp,
     $opt_verbose,
     $opt_version,
     $opt_webmagickrc,	# Per-directory WebMagick rc file name
     $opt_zoomfilter,
     $opt_pichtml,
+    $opt_pichtmlaltdrop,
+    $opt_pichtmlaltend,
+    $opt_pichtmlaltstart,
     $opt_pichtmlbottom,
     $opt_pichtmlext,
+    $opt_pichtmllink,
     $opt_pichtmlnav,
+    $opt_pichtmlupfirst,
     $opt_pichtmlputtitle,
+    $opt_pichtmltitletop,
     $opt_pichtmltarget,
     $opt_pichtmltitleend,
     $opt_pichtmltitlestart,
@@@@ -286,6 +311,7 @@@@
 				# Relative path under rootpath / prefixpath
 $opt_iconbase   = '';
 				# Global icons base URL, if not empty
+$opt_imgprefixpath      = '';   # Add to any image URL
 $prefix = '@@prefix@@'; # installation directory
 
 #
@@@@ -368,6 +394,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,25 +403,47 @@@@
 $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_unsharp            = '0.64x0.64'; # Unsharp for all images
 $opt_help		= 0;	# Display usage message
 $opt_version		= 0;	# Display version info
 $opt_htmlext            = '.html'; # Use .shtml for SSI
+$opt_bodytagins         = '';   # Insert something into <BODY> tag
 $opt_header             = '<CENTER>';   # Imagemap extra page header (HTML)
 $opt_footer             = '</CENTER>';   # Imagemap extra page footer (HTML)
+$opt_prepend            = '';   # Prepend this to the very top of each HTML
+$opt_headins            = '';   # Insert something into <HEAD> section
 $opt_javascript         = 0;    # Enable JavaScript output
 $opt_readmevisible	= 0;	# Make README.html be first page.
 $opt_title		= '';	# Page title (blank provides default title)
+$opt_divs               = 0;    # disable divs
 $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_pichtmlaltdrop     = '';   # Regexp to drop from ALT
+$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 +540,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 +587,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 +645,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 +664,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 +687,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 +710,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,23 +801,20 @@@@
 use Getopt::Long;
 if ( ! GetOptions(
 		'address=s'		=> \$opt_address,
+		'allowconfig!'          => \$opt_allowconfig,
 		'anonymous!'		=> \$opt_anonymous,
+		'bodytagins=s'          => \$opt_bodytagins,
 		'cache!'		=> \$opt_cache,
 		'cachedir=s'		=> \$opt_cachedir,
 		'cacheformat=s'		=> \$opt_cacheformat,
 		'cachegeom=s'		=> \$opt_cachegeom,
 		'cachemin=i'		=> \$opt_cachemin,
-		'lowres!'		=> \$opt_lowres,
-		'lowresdir=s'		=> \$opt_lowresdir,
-		'lowresformat=s'		=> \$opt_lowresformat,
-		'lowresgeom=s'		=> \$opt_lowresgeom,
-		'lowresmin=i'		=> \$opt_lowresmin,
+		'centerfooter!'         => \$opt_centerfooter,
 		'coloralink=s'		=> \$opt_coloralink,
 		'colorback=s'		=> \$opt_colorback,
 		'colorfore=s'		=> \$opt_colorfore,
 		'colorlink=s'		=> \$opt_colorlink,
 		'colorvlink=s'		=> \$opt_colorvlink,
-		'allowconfig!'          => \$opt_allowconfig,
 		'columns=i'		=> \$opt_columns,
 		'date!'                 => \$opt_date,
 		'debug!'		=> \$opt_debug,
@@@@ -783,6 +825,10 @@@@
 		'dircolorvlink=s'	=> \$opt_dircolorvlink,
 		'dirhtmlext=s'          => \$opt_dirhtmlext,
 		'dirindexname=s'	=> \$opt_dirindexname,
+		'divs!'                 => \$opt_divs,
+		'edgelinksindex!'       => \$opt_edgelinksindex,
+		'fancytables!'          => \$opt_fancytables,
+		'fancytableheight=i'    => \$opt_fancytableheight,
 		'footer=s'              => \$opt_footer,
 		'forcecache!'		=> \$opt_forcecache,
 		'forcelowres!'		=> \$opt_forcelowres,
@@@@ -790,23 +836,32 @@@@
 		'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,
+		'headins=s'             => \$opt_headins,
 		'help!'			=> \$opt_help,
 		'htimage=s'		=> \$opt_htimage,
 		'htmlext=s'             => \$opt_htmlext,
 		'iconbase=s'            => \$opt_iconbase,
 		'iconpath=s'		=> \$opt_iconpath,
 		'ignorefp!'             => \$opt_ignorefp,
+		'indexinfo!'            => \$opt_indexinfo,
 		'imgindexname=s'	=> \$opt_imgindexname,
+		'imgprefixpath=s'       => \$opt_imgprefixpath,
 		'indexname=s'		=> \$opt_indexname,
 		'javascript!'		=> \$opt_javascript,
 		'jpegquality=i'         => \$opt_jpegquality,
+		'lowres!'		=> \$opt_lowres,
+		'lowresdir=s'		=> \$opt_lowresdir,
+		'lowresformat=s'        => \$opt_lowresformat,
+		'lowresgeom=s'		=> \$opt_lowresgeom,
+		'lowresmin=i'		=> \$opt_lowresmin,
 		'mapnetscape!'		=> \$opt_mapnetscape,
 		'maptype=s'		=> \$opt_maptype,
 		'maxgif=i'		=> \$opt_maxgif,
@@@@ -828,15 +883,22 @@@@
 		'msg_up=s'              => \$opt_msg_up,
 		'pageindexname=s'	=> \$opt_pageindexname,
 		'pichtml!'              => \$opt_pichtml,
+		'pichtmlaltdrop=s'      => \$opt_pichtmlaltdrop,
+		'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,
 		'prefixpath=s'		=> \$opt_prefixpath,
+		'prepend=s'             => \$opt_prepend,
 		'readme=s'		=> \$opt_readme,
 		'readmevisible!'	=> \$opt_readmevisible,
 		'recurse!'		=> \$opt_recurse,
@@@@ -846,6 +908,10 @@@@
 		'srcdir=s'		=> \$opt_srcdir,
 		'stylesheet=s'		=> \$opt_stylesheet,
 		'tables!'		=> \$opt_tables,
+		'tablebackcolor=s'      => \$opt_tablebackcolor,
+		'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,
@@@@ -861,6 +927,7 @@@@
 		'thumbshadow=s'		=> \$opt_thumbshadow,
 		'thumbtransparent=s'	=> \$opt_thumbtransparent,
 		'title=s'		=> \$opt_title,
+		'unsharp=s'             => \$opt_unsharp,
 		'verbose!'		=> \$opt_verbose,
 		'version!'		=> \$opt_version,
 		'zoomfilter=s'		=> \$opt_zoomfilter
@@@@ -1085,6 +1152,30 @@@@
     }
 }
 
+sub FileChoose {
+    my $oldname = shift;
+    my $newname = shift;
+    my ($oldfile, $newfile, $oldcont, $newcont);
+
+    open FILECON, "<${oldname}";
+    $oldcont = do { local $/; <FILECON> };
+    close FILECON;
+
+    open FILECON, "<${newname}";
+    $newcont = do { local $/; <FILECON> };
+    close FILECON;
+
+    if ($oldcont ne $newcont) {
+	print(STDERR "Rename $newname to $oldname since changed from last run.\n")
+	    if $opt_debug;
+	unlink($oldname);
+	rename($newname, $oldname);
+    } else {
+	print(STDERR "Keep old $oldname since unchanged from last run.\n")
+	    if $opt_debug;
+	unlink($newname);
+    }
+}
 
 # Execute dodir with the protection of a fork.  This ensures that
 # current directory and global webmagick configuration values are
@@@@ -1153,12 +1244,12 @@@@
 	'|(\.eps2$)|(\.epsf$)|(\.epsi$)|(\.ept$)|(\.fax$)|(\.fig$)' .
         '|(\.fits$)|(\.fpx$)|(\.g3$)|(\.gif$)|(\.gplt$)|(\.hdf$)' .
         '|(\.hpgl$)|(\.ico$)|(\.im1$)|(\.im24$)|(\.im8$)|(\.jbg$)' .
-        '|(\.jbig$)|(\.jpeg$)|(\.jpg$)|(\.m2v$)|(\.man$)|(\.mif$)' .
-        '|(\.miff$)|(\.mng$)|(\.mpeg$)|(\.mpg$)|(\.mtv$)|(\.p7$)' .
+	'|(\.jbig$)|(\.jpeg?$)|(\.jpg$)|(\.m2v$)|(\.man$)|(\.mif$)' .
+	'|(\.miff$)|(\.mng$)|(\.mpe?g$)|(\.mtv$)|(\.p7$)' .
         '|(\.pbm$)|(\.pcd$)|(\.pcds$)|(\.pcx$)|(\.pdf$)|(\.pgm$)' .
         '|(\.pic$)|(\.pict$)|(\.pix$)|(\.png$)|(\.pnm$)|(\.pov$)' .
         '|(\.ppm$)|(\.ps$)|(\.psd$)|(\.rad$)|(\.rla$)|(\.rle$)' .
-        '|(\.sgi$)|(\.sun$)|(\.tga$)|(\.tif$)|(\.tiff$)|(\.tim$)' .
+	'|(\.sgi$)|(\.sun$)|(\.tga$)|(\.tiff?$)|(\.tim$)' .
         '|(\.ttf$)|(\.vicar$)|(\.viff$)|(\.wmf$)|(\.xbm$)|(\.xpm$)' .
         '|(\.xwd$)';
 
@@@@ -1187,7 +1278,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 +1419,6 @@@@
 	$pageStatusTime=fmtime($fileNames{'pageStatus'});
     }
 
-
     # Handle a directory name to title index file.  Store alternative
     # names in %dirTitles.
     {
@@@@ -1346,34 +1435,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 +1488,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 +1515,7 @@@@
     #
     {
 	my %tmp_iconImageUrls;
+	undef (%tmp_iconImageUrls);
 	print( "Icon URLs:\n" )  if $opt_debug;
 	my $icon;
 	for $icon ( keys %opt_icons ) {
@@@@ -1405,11 +1525,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 +1554,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 +1570,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 +1584,7 @@@@
 				    $dirJsLink{"$_"} = '';
 				}
 			    }
+                        }
 		    }
 		}
 	    }
@@@@ -1510,9 +1634,7 @@@@
     if( $numimages > 0 ) {
     	$haveImages = 1;
     }
-
-
-    
+  
     #
     # Determine page title
     #
@@@@ -1520,50 +1642,56 @@@@
         $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
     #
     $montageArguments =  ''; #"\n ";
 
     $montageArguments .= "background=>\'$opt_thumbbackground\',\n "
-	if $opt_thumbbackground ne 'false';
+	if $opt_thumbbackground !~ /^(|false)$/;
 
     $montageArguments .= "borderwidth=>\'$opt_thumbborderwidth\',\n ";
 
     $montageArguments .= "compose=>\'$opt_thumbcompose\',\n "
-	if $opt_thumbcompose ne 'false';
+	if $opt_thumbcompose !~ /^(|false)$/;
 
     $montageArguments .= "font=>\'$opt_thumbfont\',\n "
-	if $opt_thumbfont ne 'false';
+	if $opt_thumbfont !~ /^(|false)$/;
 
-	$montageArguments .= "fill=>\'$opt_thumbforeground\',\n "
-	if $opt_thumbforeground ne 'false';
+    $montageArguments .= "fill=>\'$opt_thumbforeground\',\n "
+	if $opt_thumbforeground !~ /^(|false)$/;
 
     $montageArguments .= "frame=>\'$opt_thumbframe\',\n "
-	if $opt_thumbframe ne 'false';
+	if $opt_thumbframe !~ /^(|false)$/;
 
     $montageArguments .= "geometry=>\'${opt_thumbgeometry}\',\n "
-	if $opt_thumbgeometry ne 'false';
+	if $opt_thumbgeometry !~ /^(|false)$/;
 
     $montageArguments .= "gravity=>\'$opt_thumbgravity\',\n "
-	if $opt_thumbgravity ne 'false';
+	if $opt_thumbgravity !~ /^(|false)$/;
 
     $montageArguments .= "shadow=>\'$opt_thumbshadow\',\n "
-	if $opt_thumbshadow ne 'false';
+	if $opt_thumbshadow !~ /^(|false)$/;
 
     $montageArguments .= "texture=>\'$opt_thumbtexture\',\n "
-	if $opt_thumbtexture ne 'false';
+	if $opt_thumbtexture !~ /^(|false)$/;
 
     $montageArguments .= "tile=>\'${opt_columns}x${opt_rows}\',\n ";
 
     $montageArguments .= "transparent=>\'$opt_thumbtransparent\'\n "
-	if $opt_thumbtransparent ne 'false';
-
-
+	if $opt_thumbtransparent !~ /^(|false)$/;
 
     # Compute a conglomeration of all parameters that effect the
     # montage image to use for comparison with the parameters used in
@@@@ -1571,12 +1699,12 @@@@
     {
 	my $tmp_montageParameters = "$montageArguments";
 	$tmp_montageParameters .= "bordercolor=>\'$opt_thumbframebgcolor\',\n "
-	    if $opt_thumbframebgcolor ne 'false';
+	    if $opt_thumbframebgcolor !~ /^(|false)$/;
 	$tmp_montageParameters .= "mapnetscape=>\'$opt_mapnetscape\',\n ";
 	$tmp_montageParameters .= "mattecolor=>\'$opt_thumbframecolor\',\n "
-	    if $opt_thumbframecolor ne 'false';
+	    if $opt_thumbframecolor !~ /^(|false)$/;
 	$tmp_montageParameters .= "label=>\'$opt_thumblabel\',\n "
-	    if $opt_thumblabel ne 'false';
+	    if $opt_thumblabel !~ /^(|false)$/;
 	$tmp_montageParameters .= "labelwidth=>\'$opt_thumblabelwidth\',\n ";
 	$tmp_montageParameters .= "\Lzoomfilter=>\'$opt_zoomfilter\'";
 	if( !defined($montageParameters) || ($tmp_montageParameters ne $montageParameters)) {
@@@@ -1595,8 +1723,10 @@@@
 	 'address'		=> $opt_address,	 
 	 'anonymous'		=> $opt_anonymous,
 	 'backgroundimg'	=> $opt_icons{'background'},
-	 'cachedir'             => !$opt_tables ? "" : $opt_cachedir,
-	 'cacheformat'          => !$opt_tables ? "" : $opt_cacheformat,
+	 'bodytagins'           => $opt_bodytagins,
+	 'cachedir'             => (!$opt_tables && !$opt_divs) ? "" : $opt_cachedir,
+	 'cacheformat'          => (!$opt_tables && !$opt_divs) ? "" : $opt_cacheformat,
+	 'centerfooter'         => $opt_centerfooter,
 	 'coloralink'		=> $opt_coloralink,
 	 'colorback'		=> $opt_colorback,
 	 'colorfore'		=> $opt_colorfore,
@@@@ -1614,19 +1744,27 @@@@
 	 'dirfmt'               => !$opt_frames ? "" : $opt_dirfmt,
 	 'dirhtmlext'           => !$opt_frames ? "" : $opt_dirhtmlext,
 	 'dirindexname'         => !$opt_frames ? "" : $opt_dirindexname,
+	 'divs'                 => $opt_divs,
+	 'edgelinksindex'       => $opt_edgelinksindex,
+	 'fancytables'          => !$opt_tables ? 0 : $opt_fancytables,
+	 'fancytableheight'     => !$opt_tables ? 0 : $opt_fancytableheight,
 	 '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,
+	 'headins'              => $opt_headins,
 	 'htimage'              => !$opt_serversidemap ? "" : $opt_htimage,
 	 'htmlext'              => !$opt_frames ? "" : $opt_htmlext,
 	 'iconbase'             => $opt_iconbase,
 	 'imgindexname'		=> $opt_imgindexname,
+	 'imgprefixpath'        => $opt_imgprefixpath,
+	 'indexinfo'            => $opt_indexinfo,
 	 'indexname'            => $opt_indexname,
 	 'javascript'           => $opt_javascript,
 	 'jsdirindex'           => !$opt_javascript ? "" : $fileNames{'jsDirIndex'},
@@@@ -1647,8 +1785,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,15 +1797,22 @@@@
 	 'numpages'		=> $numPages,
 	 'pageindexname'        => $opt_pageindexname,
 	 'pichtml'              => $opt_pichtml,
+	 'pichtmlaltdrop'       => !$opt_pichtml ? "" : $opt_pichtmlaltdrop,
+	 '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,
 	 'prefixpath'		=> $opt_prefixpath,
+	 'prepend'              => $opt_prepend,
 	 'readme'               => !$haveReadme ? "" : $opt_readme,
 	 'readmepresent'	=> $haveReadme,
 	 'readmevisible'        => !$haveReadme ? 0 : $opt_readmevisible,
@@@@ -1676,8 +1821,13 @@@@
 	 'stylesheet'		=> $opt_stylesheet,
 	 'subdirectories'       => !$opt_frames ? "" : join(' ',@@dirNames),
 	 'tables'		=> $opt_tables,
+	 'tablebackcolor'       => !$opt_tables ? "" : $opt_tablebackcolor,
+	 'tables_bottom'        => !$opt_tables ? "" : $opt_tables_bottom,
+	 'tables_params'        => !$opt_tables ? "" : $opt_tables_params,
+	 'tables_top'           => !$opt_tables ? "" : $opt_tables_top,
+	 'thumblabelwidth'      => ($opt_divs || $opt_tables) ? $opt_thumblabelwidth : 0,
 	 'title'		=> $pageTitle,
-	 'version'              => $opt_anonymous ? "" : $webmagickInfo{'version'},
+	 'version'              => $opt_anonymous ? "" : $webmagickInfo{'version'}
 	 );
 
     # Compute a conglomeration of all parameters that effect the HTML
@@@@ -1704,7 +1854,42 @@@@
 	}
     }
 
+    #
+    # Store cache options in associative array to make them easier to deal with
+    #
+    %cacheOpts =
+	(
+	 'cacheformat'          => $opt_cacheformat,
+	 'cachegeom'            => $opt_cachegeom,
+	 'cachemin'             => $opt_cachemin,
+	 'quality'              => ($opt_cacheformat =~ /^JPE?G$/) ? $opt_jpegquality : 0,
+	 'unsharp'              => $opt_unsharp
+	 );
 
+    # Compute a conglomeration of all parameters that effect the cache
+    # to use for comparison with the parameters used in the last run.
+    {
+	my $firstparam = 1;
+	my $tmp_cacheParams = '';
+	my $key;
+	foreach $key (sort(keys(%cacheOpts))) {
+	    if(defined($cacheOpts{$key})) {
+		if( $firstparam ) {
+		    $firstparam = 0;
+		} else {
+		    $tmp_cacheParams .= ",\n ";
+		}
+		$tmp_cacheParams .= $key . '=>\'' . $cacheOpts{$key} . '\'';
+	    }
+	}
+	if( !defined($cacheParams) || ($tmp_cacheParams ne $cacheParams)) {
+	    $cacheParams = $tmp_cacheParams;
+	    print( STDERR "cache parameters have changed, must re-do cache amd montage\n" )
+		if $opt_debug;
+	    $opt_forcecache = 1;
+	    $opt_forcemontage = 1;
+	}
+    }
     #
     # Print statistics message
     #
@@@@ -1749,7 +1934,7 @@@@
     if ( $perlVarsVersion < $requiredPerlVarsVersion) {
     	print ( STDERR "Need to do montage, HTML and cache because",
     		" version has changed\n") if $opt_debug;
-    	$opt_forcehtml = 1;
+		$opt_forcehtml = 1;
 		$opt_forcemontage = 1;
 		$opt_forcecache = 1;
 		$opt_forcelowres = 1;
@@@@ -1760,10 +1945,10 @@@@
 	# Check for missing output files
 	# Check for new input files
         if( $numfiles > 0 ) {
-            if( ! $opt_tables && (! -f $fileNames{'pageStatus'} ||
+	    if( !$opt_divs && !$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;
@@@@ -1801,6 +1986,9 @@@@
 	}
 	
 	# Overrides
+	if( $opt_forcecache ) {
+	    ++$doIndexHtml if ($opt_frames);
+	}
 	if( $opt_forcehtml ) {
 	    ++$doPageHtml;
 	    ++$doIndexHtml if ($opt_frames);
@@@@ -1905,7 +2093,7 @@@@
     #
     # Clean up cached thumbnails
     #
-    if( ($opt_cache || $opt_tables) && -d $opt_cachedir ) {
+    if( ($opt_cache || $opt_tables || $opt_divs) && -d $opt_cachedir ) {
         my @@extra;
         my %tarray;
 
@@@@ -1975,9 +2163,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 +2176,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 +2186,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 +2212,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";
 	    } 
 	}
     }
@@@@ -2126,27 +2314,32 @@@@
 
     # ----- Output Top Index File (usually "index.html") -------
     #
-    open( INDEX, ">${opt_indexname}")
-	|| die("$0: Failed to open file ${opt_indexname} for output\n$@@\n");
-    print( INDEX "<HTML>\n<HEAD>\n" );
+    my $indexnametmp = $opt_indexname . ".tmp";
+    open( INDEX, ">${indexnametmp}")
+	|| die("$0: Failed to open file ${indexnametmp} for output\n$@@\n");
+    if( "$opt_prepend" ne '' ) {
+	print( INDEX "${opt_prepend}" );
+    }
+    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=\"Author\" CONTENT=\"${opt_metaauthor}\">\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" )
+    print( INDEX "  <META NAME=\"description\" CONTENT=\"${opt_metadescription}\">\n" )
 	if( "$opt_metadescription" ne '' );
-    print( INDEX "  <META NAME=\"Keywords\" CONTENT=\"${opt_metakeywords}\">\n" )
+    print( INDEX "  <META NAME=\"keywords\" CONTENT=\"${opt_metakeywords}\">\n" )
 	if( "$opt_metakeywords" ne '' );
-    print( INDEX "  <META NAME=\"Classification\" CONTENT=\"${opt_metaclassification}\">\n" )
+    print( INDEX "  <META NAME=\"classification\" CONTENT=\"${opt_metaclassification}\">\n" )
 	if( "$opt_metaclassification" ne '' );
     # The value of $opt_metaexpires should be similar to:
     #   "Tue, 20 Aug 1996 14:25:27 GMT"
-    print( INDEX "  <META HTTP-EQUIV=\"Expires\" CONTENT=\"${opt_metaexpires}\">\n" )
+    print( INDEX "  <META HTTP-EQUIV=\"expires\" CONTENT=\"${opt_metaexpires}\">\n" )
 	if( "$opt_metaexpires" ne '' );
     print( INDEX "  <LINK REL=\"stylesheet\" type=\"text/css\" HREF=\"${opt_stylesheet}\">\n")
 	if ("$opt_stylesheet" ne '');
@@@@ -2154,7 +2347,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 +2357,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,48 +2366,55 @@@@
     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 );
-
+    FileChoose($opt_indexname, $indexnametmp);
 
     # ----- Output Top JavaScript Index File (usually "indexjs.html") -------
     #
     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" );
+    my $jsdirindex = $fileNames{'jsDirIndex'};
+    my $jsdirindextmp = $jsdirindex . ".tmp";
+    open( INDEX, ">${jsdirindextmp}")
+	|| die("$0: Failed to open file ${jsdirindextmp} for output\n$@@\n");
+    if( "$opt_prepend" ne '' ) {
+	print( INDEX "${opt_prepend}" );
+    }
+    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" );
     print( INDEX "</HTML>\n" );
     close( INDEX );
+    FileChoose($jsdirindex, $jsdirindextmp);
     }
 
 
     # ----- Output Frame Directory File (usally ".indexdir.html") ------
     #
-    open( INDEX, ">${opt_pageindexname}dir${opt_dirhtmlext}")
-	|| die("$0: Failed to open file \"${opt_pageindexname}dir${opt_dirhtmlext}\"",
+    my $indexdir = "${opt_pageindexname}dir${opt_dirhtmlext}";
+    my $indexdirtmp = $indexdir . ".tmp";
+    open( INDEX, ">${indexdirtmp}")
+	|| die("$0: Failed to open file ${indexdirtmp}",
                 " for output\n$@@\n");
-    print( INDEX "<HTML>\n<HEAD>\n" );
+    if( "$opt_prepend" ne '' ) {
+	print( INDEX "${opt_prepend}" );
+    }
+    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,44 +2424,154 @@@@
     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=\"Author\" CONTENT=\"${opt_metaauthor}\">\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" )
+    print( INDEX "  <META NAME=\"description\" CONTENT=\"${opt_metadescription}\">\n" )
 	if( "$opt_metadescription" ne '' );
-    print( INDEX "  <META NAME=\"Keywords\" CONTENT=\"${opt_metakeywords}\">\n" )
+    print( INDEX "  <META NAME=\"keywords\" CONTENT=\"${opt_metakeywords}\">\n" )
 	if( "$opt_metakeywords" ne '' );
-    print( INDEX "  <META NAME=\"Classification\" CONTENT=\"${opt_metaclassification}\">\n" )
+    print( INDEX "  <META NAME=\"classification\" CONTENT=\"${opt_metaclassification}\">\n" )
 	if( "$opt_metaclassification" ne '' );
     # The value of $opt_metaexpires should be similar to:
     #   "Tue, 20 Aug 1996 14:25:27 GMT"
-    print( INDEX "  <META HTTP-EQUIV=\"Expires\" CONTENT=\"${opt_metaexpires}\">\n" )
+    print( INDEX "  <META HTTP-EQUIV=\"expires\" CONTENT=\"${opt_metaexpires}\">\n" )
 	if( "$opt_metaexpires" ne '' );
     print( INDEX "  <LINK REL=\"stylesheet\" type=\"text/css\" HREF=\"${opt_stylesheet}\">\n")
 	if ("$opt_stylesheet" ne '');
-    
+    print( INDEX "  $opt_headins\n")
+	if ("$opt_headins" ne '');
+
     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 "  $opt_bodytagins\n" )
+	if ("$opt_bodytagins" 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 ">\n");
     print( INDEX $pagedirhtml );
     print( INDEX "</BODY></HTML>\n" );
     close( INDEX );
-
+    FileChoose($indexdir, $indexdirtmp);
 
     return ( 0 );
 }
 
+#
+# Navigation buttons
+#
+sub writePicNav {
+    local *PICHTML = shift;
+    my $pNumber = shift;
+    my $imageNum = shift;
+    my $target = shift;
+    my $url;
+
+    print(PICHTML "<DIV class='wm_picnav'>");
+
+    # Must be visible at each page, if no frames
+    if (!$opt_frames) {
+
+	# --- readme link ---
+	if ( $haveReadme ) {
+	    print (PICHTML "<A HREF=\"${opt_readme}\"><IMG\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) && $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");
+    }
+
+    # prev
+    if (($imageNum == 0) && ($pageNumber == 1)) {
+	#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'} ALT=\"\" BORDER=0>\n");
+	if ( $opt_edgelinksindex ) {
+	    print ( PICHTML "</A>");
+	}
+    } else {
+	print ( PICHTML "<A${target} HREF=\"");
+	if ($imageNum == 0 && $pageNumber != 1) {
+		$url = $imageNames[$pageNumber - 2][$#{$imageNames[$pageNumber - 2]}];
+	} else {
+		$url = $imageNames[$pageNumber - 1][${imageNum} - 1];
+	}
+	$url =~ s/(.*)\.\w+$/$1/;
+	print ( PICHTML "" . escapeurl($url . $opt_pichtmlext));
+	print ( PICHTML "\"><IMG SRC=\"$iconImageUrls{'prev'}\"",
+		" $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]})) {
+	#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'} ALT=\"\" BORDER=0>\n");
+	if ( $opt_edgelinksindex ) {
+	    print ( PICHTML "</A>");
+	}
+    } else {
+	print ( PICHTML "<A${target} HREF=\"");
+	if (($imageNum == $#{$imageNames[$pageNumber - 1]}) && $pageNumber != $numPages) {
+		$url = $imageNames[$pageNumber][0];
+	} else {
+		$url = $imageNames[$pageNumber - 1][${imageNum} + 1];
+	}
+	$url =~ s/(.*)\.\w+$/$1/;
+	print ( PICHTML "" . escapeurl($url . $opt_pichtmlext));
+	print ( PICHTML "\"><IMG SRC=\"$iconImageUrls{'next'}\"",
+		" $iconImageSizes{'next'} TITLE=\"${opt_msg_next}\" ALT=\"${opt_msg_next}\" BORDER=0></A>\n");
+    }
+
+    print(PICHTML "</DIV>");
+
+    return;
+}
 
 #
 # Write out page index files
@@@@ -2279,7 +2589,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 +2597,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 +2605,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 +2622,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 +2632,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;
@@@@ -2350,9 +2658,14 @@@@
 	}
     }
     
-    open( INDEX, ">$fileNames{'htmlCurrentIndex'}")
-        || die("$0: Failed to open file $fileNames{'htmlCurrentIndex'} for output\n$@@\n");
-    print( INDEX "<HTML>\n<HEAD>\n" );
+    my $pageindex = $fileNames{'htmlCurrentIndex'};
+    my $pageindextmp = $pageindex . ".tmp";
+    open( INDEX, ">${pageindextmp}")
+	|| die("$0: Failed to open file ${pageindextmp} for output\n$@@\n");
+    if( "$opt_prepend" ne '' ) {
+	print( INDEX "${opt_prepend}" );
+    }
+    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,50 +2674,88 @@@@
 	if ($opt_frames);
 
     # Meta tags
-    print( INDEX "  <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" );
-    print( INDEX "  <META NAME=\"Author\" CONTENT=\"${opt_metaauthor}\">\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" )
+    print( INDEX "  <META NAME=\"description\" CONTENT=\"${opt_metadescription}\">\n" )
 	if( "$opt_metadescription" ne '' );
-    print( INDEX "  <META NAME=\"Keywords\" CONTENT=\"${opt_metakeywords}\">\n" )
+    print( INDEX "  <META NAME=\"keywords\" CONTENT=\"${opt_metakeywords}\">\n" )
 	if( "$opt_metakeywords" ne '' );
-    print( INDEX "  <META NAME=\"Classification\" CONTENT=\"${opt_metaclassification}\">\n" )
+    print( INDEX "  <META NAME=\"classification\" CONTENT=\"${opt_metaclassification}\">\n" )
 	if( "$opt_metaclassification" ne '' );
     # The value of $opt_metaexpires should be similar to:
     #   "Tue, 20 Aug 1996 14:25:27 GMT"
-    print( INDEX "  <META HTTP-EQUIV=\"Expires\" CONTENT=\"${opt_metaexpires}\">\n" )
+    print( INDEX "  <META HTTP-EQUIV=\"expires\" CONTENT=\"${opt_metaexpires}\">\n" )
 	if( "$opt_metaexpires" ne '' );
     print( INDEX "  <LINK REL=\"stylesheet\" type=\"text/css\" HREF=\"${opt_stylesheet}\">\n")
 	if ("$opt_stylesheet" ne '');
+    print( INDEX "  $opt_headins\n")
+	if ("$opt_headins" ne '');
 
     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 "  $opt_bodytagins\n" )
+	if ("$opt_bodytagins" 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 ">\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;
 	}
-	print( INDEX "$indexbar<BR>\n" );
 
-	if ($opt_tables)
+	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 "<DIV class='wm_msgindex'>${opt_msg_index_of_files}\"",
+		   $desc1, "\" ${opt_msg_index_through}", " \"", $desc2,
+		   "\"</DIV>\n" );
+	}
+	print( INDEX "<DIV class='wm_indexbar'>$indexbar</DIV>\n" );
+
+	if ($opt_tables || $opt_divs)
 	{
-		print INDEX "<TABLE WIDTH=\"90%\">";
+	    if (!$opt_divs) {
+		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
 	{
@@@@ -2422,144 +2773,110 @@@@
 		    }
 		}
 		print( INDEX
-		      "<IMG SRC=\"$montageImages[$pageNumber - 1]\" $montageImageSizes[$pageNumber - 1]",
-		      " USEMAP=\"#${mapname}\" BORDER=0 ISMAP>" );
+		      "<IMG SRC=\"$opt_imgprefixpath$montageImages[$pageNumber - 1]\" $montageImageSizes[$pageNumber - 1]",
+		      " USEMAP=\"#${mapname}\" BORDER=0 ISMAP ALT=\"${mapname}\">" );
 		print( INDEX "</A>" ) if ($opt_serversidemap);
 		print( INDEX "\n<MAP NAME=\"${mapname}\">\n" );
-	} # unless ( $opt_tables )
+	} # unless ( $opt_tables || $opt_divs )
 
 	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 $altfinallabel;
 	    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/;
+		$altlabel =~ s/$opt_pichtmlaltdrop//;
+		$altlabel =~ y/_/ /; # Usual space replacement in file name
+	    }
+	    $altfinallabel = $opt_pichtmlaltstart . escapehtml($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" );
+			my $pichtmltmp;
+			($pichtml = $pic) =~ s/(.*)\.\w+$/$1/;
+			$pichtml .= $opt_pichtmlext;
+			$pichtmltmp = $pichtml . ".tmp";
+			open( PICHTML, ">$pichtmltmp")
+			    || die("$0: Failed to open file ${pichtmltmp} for output\n$@@\n");
+			if( "$opt_prepend" ne '' ) {
+			    print( PICHTML "${opt_prepend}" );
+			}
+			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>${altfinallabel}</TITLE>\n" );
 
 			# Meta tags
-			print( PICHTML "  <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" );
-			print( PICHTML "  <META NAME=\"Author\" CONTENT=\"${opt_metaauthor}\">\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" )
+			print( PICHTML "  <META NAME=\"description\" CONTENT=\"${opt_metadescription}\">\n" )
 			    if( "$opt_metadescription" ne '' );
-			print( PICHTML "  <META NAME=\"Keywords\" CONTENT=\"${opt_metakeywords}\">\n" )
+			print( PICHTML "  <META NAME=\"keywords\" CONTENT=\"${opt_metakeywords}\">\n" )
 			    if( "$opt_metakeywords" ne '' );
-			print( PICHTML "  <META NAME=\"Classification\" CONTENT=\"${opt_metaclassification}\">\n" )
+			print( PICHTML "  <META NAME=\"classification\" CONTENT=\"${opt_metaclassification}\">\n" )
 			    if( "$opt_metaclassification" ne '' );
 			# The value of $opt_metaexpires should be similar to:
 			#   "Tue, 20 Aug 1996 14:25:27 GMT"
-			print( PICHTML "  <META HTTP-EQUIV=\"Expires\" CONTENT=\"${opt_metaexpires}\">\n" )
+			print( PICHTML "  <META HTTP-EQUIV=\"expires\" CONTENT=\"${opt_metaexpires}\">\n" )
 			    if( "$opt_metaexpires" ne '' );
 			print( PICHTML "  <LINK REL=\"stylesheet\" type=\"text/css\" HREF=\"${opt_stylesheet}\">\n")
 			    if ("$opt_stylesheet" ne '');
+			print( PICHTML "  $opt_headins\n")
+			    if ("$opt_headins" ne '');
 
 			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 "  $opt_bodytagins\n" )
+			    if ("$opt_bodytagins" 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 ">\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>");
-					
-				# Must be visible at each page, if no frames
-				if (!$opt_frames) {
-
-				    # --- 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");
-				    }
-				}
+			    writePicNav(*PICHTML, $pNumber, $imageNum, $target);
+			}
 
-				# up
-				if (!$opt_frames || $opt_framestyle == 1) {
-					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'} 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");
-				} else {
-					print ( PICHTML "<A${target} HREF=\"");
-					if ($imageNum == 0 && $pageNumber != 1) {
-						print ( PICHTML $imageNames[$pageNumber - 2][$#{$imageNames[$pageNumber - 2]}]);
-					} else {
-						print ( PICHTML $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");
-						
-				}
-				
-				#next
-				if (($pageNumber == $numPages) && ($imageNum == $#{$imageNames[$pageNumber - 1]})) {
-					print ( PICHTML "<IMG SRC=\"$iconImageUrls{'next_gray'}\"",
-						" $iconImageSizes{'next_gray'} BORDER=0>\n");
-				} else {
-					print ( PICHTML "<A${target} HREF=\"");
-					if (($imageNum == $#{$imageNames[$pageNumber - 1]}) && $pageNumber != $numPages) {
-						print ( PICHTML $imageNames[$pageNumber][0]);
-					} else {
-						print ( PICHTML $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");
-						
-				}
-				
-				print ( PICHTML "</NOBR><BR>");
+			if ($opt_pichtmlputtitle && $opt_pichtmltitletop) {
+			    print ( PICHTML "${opt_pichtmltitlestart}${altlabel}${opt_pichtmltitleend}");
 			}
 
-			if ( $pic =~ /\.(jpg|jpeg?|gif|xbm|png)$/i ) {
-			    print( PICHTML "<IMG SRC=\"$pic\" ALT=\"\">" );
+			if ($pic =~ /\.(jpg|jpeg?|gif|xbm|png|bmp|ico)$/i) {
+			    print( PICHTML "<A HREF=\"$opt_pichtmllink\">")
+				if ($opt_pichtmllink ne '');
+			    print( PICHTML "<IMG class='wm_pic' SRC=\"$opt_imgprefixpath", escapeurl($pic), "\" BORDER=0 ALT=\"${altfinallabel}\" TITLE=\"${altfinallabel}\">" );
+			    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}");
+			}
+
+			if ($opt_pichtmlnav) {
+			    writePicNav(*PICHTML, $pNumber, $imageNum, $target);
 			}
 
 			print( PICHTML "$opt_pichtmlbottom\n") if ("$opt_pichtmlbottom" ne '');
@@@@ -2567,31 +2884,36 @@@@
 			print( PICHTML "</BODY>\n" );
 			print( PICHTML "</HTML>\n" );
 			close ( PICHTML );
+			FileChoose($pichtml, $pichtmltmp);
 
-			unless ($opt_tables)
+			unless ($opt_tables || $opt_divs)
 			{				
-				print( INDEX "  <AREA${target} HREF=\"",
-				       escapeurl($pichtml), "\" SHAPE=RECT COORDS=", $imageThumbCoords[$pageNumber - 1][$imageNum],">\n" );
+				print( INDEX "  <AREA${target} ALT=\"${altlabel}\" TITLE=\"${altlabel}\" HREF=\"",
+				       escapeurl($pichtml), "\" SHAPE=RECT COORDS=\"", $imageThumbCoords[$pageNumber - 1][$imageNum],"\">\n" );
 			}
-	    } else 
-	    { 
-		    unless ($opt_tables) 
+	    } else
+	    {
+		    unless ($opt_tables || $opt_divs)
 		    {
-				print( INDEX "  <AREA HREF=\"", escapeurl($pic),
-				       "\" SHAPE=RECT COORDS=", $imageThumbCoords[$pageNumber - 1][$imageNum],">\n" );
+				print( INDEX "  <AREA ALT=\"${altlabel}\" TITLE=\"${altlabel}\" HREF=\"", escapeurl($pic),
+				       "\" SHAPE=RECT COORDS=\"", $imageThumbCoords[$pageNumber - 1][$imageNum],"\">\n" );
 		    } 
 	    }
 	    
 	    
-	    if ($opt_tables)
+	    if ($opt_tables || $opt_divs)
 		{
-			if ($imageNum%$opt_columns == 0)
-			{
-				print INDEX "<TR ALIGN=CENTER VALIGN=TOP>";
+			if ($opt_tables) {
+				if ($imageNum%$opt_columns == 0)
+				{
+					print INDEX "<TR ALIGN=CENTER VALIGN=TOP>";
+				}
+
+				print INDEX "<TD BGCOLOR=${opt_tablebackcolor}>";
+			} else {
+				print INDEX "<DIV class='wm_thumb'><DIV class='wm_thpic'>";
 			}
-				
-			print INDEX "<TD>";
-			
+
 			if ($opt_pichtml) {
 				print (INDEX "<A${target} HREF=\"", escapeurl($pichtml), "\">");
 			} else {
@@@@ -2601,28 +2923,68 @@@@
 			# 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_imgprefixpath", $opt_cachedir, "/", escapeurl($pic), ".\L${opt_cacheformat}",
+				       "\" $thumbImageSizes{$pic} ALT=\"${altfinallabel}\" TITLE=\"${altfinallabel}\" BORDER=0>");
 			} else {
-				print (INDEX "<IMG SRC=\"", escapeurl($pic), "\" BORDER=0>");
+				print (INDEX "<IMG SRC=\"$opt_imgprefixpath", escapeurl($pic),
+				       "\" ALT=\"${altfinallabel}\" TITLE=\"${altfinallabel}\" BORDER=0>");
 			}
 			
-			print (INDEX "</A><BR><FONT SIZE=\"-1\">" . $tableImageLabels{$imageNames[$pageNumber - 1][$imageNum]} . "</FONT></TD>\n");
-						
-			if ($imageNum%$opt_columns == ($opt_columns - 1))
-			{
-				print INDEX "</TR>";
+			print (INDEX "</A>");
+			if ($opt_divs) {
+				print INDEX "</DIV>";
 			}
-		} # if ($opt_tables)
+			if ($opt_thumblabel && $opt_thumblabel ne 'false') {
+				if ($opt_pichtml) {
+					print (INDEX "<A${target} CLASS='wm_label' HREF=\"", escapeurl($pichtml), "\">");
+				} else {
+					print (INDEX "<A CLASS='wm_label' HREF=\"", escapeurl($pic), "\">");
+				}
+				print (INDEX
+					$tableImageLabels{$imageNames[$pageNumber - 1][$imageNum]},
+					"</A>");
+			}
+
+			if ($opt_tables) {
+				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>"    ;
+					}
+				}
+			} else {
+				print INDEX "</DIV>";
+			}
+		} # if ($opt_tables || $opt_divs)
 	
 	} # for each picture
 	
-	if ($opt_tables) 
+	if ($opt_tables || $opt_divs)
 	{
-		unless ($imageNum%$opt_columns == ($opt_columns - 1))
-		{
-			print INDEX "</TR>";
+		if ($opt_tables) {
+			unless ($imageNum%$opt_columns == ($opt_columns - 1))
+			{
+				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")
 		}
-		print (INDEX "</TABLE>\n")
 	} else {print( INDEX "</MAP>\n" );}
     }
 
@@@@ -2630,6 +2992,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 +3007,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" );
@@@@ -2656,6 +3025,7 @@@@
 
     # Close current HTML index file
     close( INDEX );
+    FileChoose($pageindex, $pageindextmp);
 
     return ( $errorstat );
 }
@@@@ -2671,28 +3041,34 @@@@
     # Write JavaScript "index" page.
     # This page loads JavaScript source files and ensures that windows are drawn
     #
-    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");
+    my $jspageindex = $fileNames{'jsPageIndex'};
+    my $jspageindextmp = $jspageindex . ".tmp";
+    open( JSINDEX, ">${$jspageindextmp}")
+	|| die("$0: Failed to open file ${$jspageindextmp} for output\n$@@\n");
+
+    if( "$opt_prepend" ne '' ) {
+	print( JSINDEX "${opt_prepend}" );
+    }
+    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");
     print( JSINDEX "</HTML>\n");
     close( JSINDEX );    
-
+    FileChoose($jspageindex, $jspageindextmp);
 
     #
     # JavaScript Variable definitions
     #
-    open( JSVARS, ">$fileNames{'jsVariables'}")
-        || die("$0: Failed to open file $fileNames{'jsVariables'} for output\n$@@\n");
+    my $jsvariables = $fileNames{'jsVariables'};
+    my $jsvariablestmp = $jsvariables . ".tmp";
+    open( JSVARS, ">${jsvariablestmp}")
+	|| die("$0: Failed to open file ${$jsvariablestmp} for output\n$@@\n");
 
     print( JSVARS "//\n// WebMagick Run Status File -- JavaScript Format\n//\n" );
 
@@@@ -2714,6 +3090,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 ) );
@@@@ -2775,6 +3153,8 @@@@
     print( JSVARS "\nvar jsVarsLoaded = 1;\n" );
 
     close( JSVARS );
+    FileChoose($jsvariables, $jsvariablestmp);
+
     print("Done writing JavaScript\n") if $opt_debug;
 }
 
@@@@ -2803,6 +3183,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 ) );
@@@@ -2816,6 +3198,10 @@@@
     print( PERLVARS "\n# HTML options\n",
 	  plVariable( 'htmlParams', \$htmlParams ) );
 
+    # HTML options ($cacheParams)
+    print( PERLVARS "\n# cache options\n",
+	  plVariable( 'cacheParams', \$cacheParams ) );
+
     # Icon URLs
     print( PERLVARS "\n# icon URLs\n",
 	  plHash( 'iconImageUrls', \%iconImageUrls ) );
@@@@ -2893,7 +3279,7 @@@@
     #
     # If caching thumbnails then ensure that directory exists
     #
-    mkdir( $opt_cachedir, 0755 ) if ($opt_cache || $opt_tables) && ! -d $opt_cachedir;
+    mkdir( $opt_cachedir, 0755 ) if ($opt_cache || $opt_tables || $opt_divs) && ! -d $opt_cachedir;
 
     #
     # If caching low resolution images then ensure that directory exists
@@@@ -2948,7 +3334,7 @@@@
 
 	    #then do the thumbnail
 	    ($rc, $filesize, $width, $height, $magick) =
-		&createLowResolutionImage ($image, $opt_cachedir, $imagename, $opt_cache, 0, $opt_tables,
+		&createLowResolutionImage ($image, $opt_cachedir, $imagename, $opt_cache, 0, ($opt_tables || $opt_divs),
 					   $opt_forcecache, $opt_thumbgeometry,
 					   $opt_cacheformat, $opt_cachemin,
 					   $opt_thumbprehook, $opt_thumbposthook);
@@@@ -2995,7 +3381,7 @@@@
 	    }
         }
 
-	unless ($opt_tables)
+	unless ($opt_tables || $opt_divs)
 	{
 		#
 		# Do the montage
@@@@ -3012,8 +3398,14 @@@@
 		
 		last MONTAGE unless ref($montage);
 	
-	
-	
+		if ($opt_unsharp !~ /^(|false)$/) {
+		    print( STDERR "Applying montage unsharp: ${opt_unsharp}\n") if $opt_debug;
+		    $status = $montage->UnsharpMask($opt_unsharp);
+		    if ("$status") {
+			handleMagickError( __FILE__, __LINE__, "", $status);
+			last MONTAGE;
+		    }
+		}
 
 		#
 		# Obtain imagemap info (thanks to Cristy for the relevant code)
@@@@ -3062,7 +3454,7 @@@@
 		# Copy image so we can play with it without effecting original
 		print( STDERR "Copying montage to scratch ...\n" )
 		    if $opt_debug;
-		$image = $montage->Copy();
+		$image = $montage->Clone();
 		handleMagickError( __FILE__, __LINE__, "", $image) unless ref($image);
 		last MONTAGE unless ref($image);
 	
@@@@ -3074,15 +3466,15 @@@@
 		}
 	
 		if( ! $opt_forcejpeg ) {
-		print( STDERR "Writing $fileNames{'montageGIF'} ...\n" ) if $opt_debug;
-		$status = $image->Write(
-					dither=>'True',
-					filename=>"GIF:$fileNames{'montageGIF'}",
-					interlace=>'Line'
-					);
-		handleMagickError( __FILE__, __LINE__, $fileNames{'montageGIF'}, $status) if "$status";
-		last MONTAGE if "$status";
-		undef @@$image;
+		    print( STDERR "Writing $fileNames{'montageGIF'} ...\n" ) if $opt_debug;
+		    $status = $image->Write(
+					    filename=>"GIF:$fileNames{'montageGIF'}",
+					    interlace=>'Line',
+					    dither=>'True'
+					    );
+		    handleMagickError( __FILE__, __LINE__, $fileNames{'montageGIF'}, $status) if "$status";
+		    last MONTAGE if "$status";
+		    undef @@$image;
 		}
 	
 		# If not doing GIF only, do JPEG	      
@@@@ -3122,7 +3514,7 @@@@
 			unlink($fileNames{'montageJPEG'}); # Use GIF
 		    }
 		}
-	} # unless ($opt_tables)
+	} # unless ($opt_tables || $opt_divs)
 	$errorstat = 0;	# If it made it this far, then no error
     }
 
@@@@ -3173,8 +3565,10 @@@@
     # or support relative URLs from the referrer (Apache &
     # latest NCSA do).
     print( STDERR "Writing file $fileNames{'montageServerMap'} ...\n" ) if $opt_debug;
-    open( IMAGEMAP, ">$fileNames{'montageServerMap'}" )
-	|| die("$0: Failed to open file $fileNames{'montageServerMap'} for output\n$@@\n");
+    my $imagemap = $fileNames{'montageServerMap'};
+    my $imagemaptmp = $imagemap . ".tmp";
+    open( IMAGEMAP, ">${$imagemaptmp}" )
+	|| die("$0: Failed to open file ${$imagemaptmp} for output\n$@@\n");
     # default URL
     if (!$opt_frames) {
 	$pNumber = ($pageNumber == 1) ? "" : "$pageNumber";
@@@@ -3191,12 +3585,16 @@@@
     }
     my $imageNum;
     for( $imageNum = 0; $imageNum <= $#{$imageNames[$pageNumber - 1]}; ++$imageNum ) {
-	my $url = escapeurl($imageNames[$pageNumber - 1][$imageNum]);
+	my $url;
 	my($x1,$y1,$x2,$y2);
+
 	($x1,$y1,$x2,$y2) = split(',', $imageThumbCoords[$pageNumber - 1][$imageNum]);
+	$url = $imageNames[$pageNumber - 1][$imageNum];
 	if( $opt_pichtml ) {
+	    $url =~ s/(.*)\.\w+$/$1/;
 	    $url .= $opt_pichtmlext;
 	}
+	$url = escapeurl($url);
 	if( $opt_maptype eq 'ncsa' ) {
 	    if ( "${opt_htimage}" ne '' ) {
 		print( IMAGEMAP "rect "
@@@@ -3219,6 +3617,8 @@@@
 	}
     }
     close( IMAGEMAP );
+    FileChoose($imagemap, $imagemaptmp);
+
     $errorstat=0;
     return( $errorstat );
 }
@@@@ -3465,6 +3865,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 +3880,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 +3941,9 @@@@
 sub compareHash {
     my( $hash1, $hash2) = @@_;
 
+    if (!%$hash1 != !%$hash2) {
+	return( 1 );
+    }
     if(scalar(keys(%$hash1)) != scalar(keys(%$hash2))) {
 	return( 1 ); # different length
     }
@@@@ -3633,7 +4044,7 @@@@
 	}
     }
     
-    if( !defined(%iconImageSizes) || (  compareHash(\%iconImageSizes,\%tmp_iconImageSizes) ) ) {
+    if( !%iconImageSizes || (  compareHash(\%iconImageSizes,\%tmp_iconImageSizes) ) ) {
 	%iconImageSizes = %tmp_iconImageSizes;
 	print( STDERR "Icon sizes have changed, must re-do all HTML\n" )
 	    if $opt_debug;
@@@@ -3836,6 +4247,14 @@@@
 				handleMagickError( __FILE__, __LINE__, $cachename, $status);
 				return -1;
 			}
+			if ($opt_unsharp !~ /^(|false)$/) {
+			    print( STDERR "Applying image unsharp: ${opt_unsharp}\n") if $opt_debug;
+			    $status = $image->UnsharpMask($opt_unsharp);
+			    if ("$status") {
+				handleMagickError( __FILE__, __LINE__, $cachename, $status);
+				return -1;
+			    }
+			}
 		    
 			print( STDERR "Writing ${cachename} ...\n" )
 			    if $opt_debug;
@@@@ -3845,12 +4264,14 @@@@
 			if ( $a_cacheformat eq 'JPEG' || $a_cacheformat eq 'JPG' ) {
 				$status = $image->Write(
 							filename=>"${a_cacheformat}:${cachename}",
-							interlace=>'None',
-							quality=>85
+							interlace=>'Plane',
+							quality=>$opt_jpegquality
 						       );
 			} else {
 				$status = $image->Write(
-							filename=>"${a_cacheformat}:${cachename}"
+							filename=>"${a_cacheformat}:${cachename}",
+							interlace=>'Line',
+							dither=>'True'
 						       );
 			}
 			if ("$status") {
@@@@ -3868,7 +4289,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 +4343,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 +4494,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
@@@@ -4082,6 +4504,7 @@@@
 Paths:
   --iconpath	     Relative path under rootdir to webmagick icons
   --iconbase         Global base URL for webmagick icons
+  --imgprefixpath    Add to any image URL
   --prefixpath       Path to prepend to generated URLs (e.g. /~username)
   --rootpath	     Absolute path to server root (NCSA DocumentRoot)
 
@@@@ -4093,6 +4516,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
@@@@ -4134,11 +4559,14 @@@@
   --thumbshadow      Enable decorative shadow under thumbnail
   --thumbtexture     Texture to tile onto the image background
   --thumbtransparent Transparent color
+  --unsharp          Unsharping parameters (for all images)
   --zoomfilter       Zoom filter algorithm (Box/Triangle/Mitchell)
 
 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)
+  --bodytagins       Insert argument into <BODY> tag
   --coloralink	     Link (active) color
   --colorback	     Background color (also applied to JPEG montage background)
   --colorfore	     Foreground text color
@@@@ -4150,31 +4578,48 @@@@
   --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>)
+  --headins          Insert argument into <HEAD> section
+  --prepend          Prepend to the very top of each HTML
   --[no]javascript   Enable JavaScript output (default off)
+  --[no]readmevisible Show README.html on first page rather than just linking (default off)
+  --[no]divs         Use HTML divs instead of imagemaps for thumbnails (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)
+  --pichtmlaltdrop   Regexp to drop from ALT= (default "")
+  --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 +4741,7 @@@@
     s/&/&amp;/g;
     s/>/&gt;/g;
     s/</&lt;/g;
+    s/\"/&quot;/g;  # because we use "xxx" form sometimes
     return( $_ );
 }
 
@@@@ -4324,23 +4770,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 +4821,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 +4901,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
 
@


1.75
log
@1) Update to the latest version from the project CVS
2) Don't overwrite user-changed /usr/local/etc/webmagickrc

Feature safe: yes
@
text
@@


1.74
log
@Update to the latest version from the project CVS

Feature safe: yes
@
text
@d5 2
a6 2
retrieving revision 1.178
diff -u -r1.117 -r1.178
d8 1
a8 1
+++ webmagick.in	1 Apr 2012 03:32:43 -0000	1.178
d13 1
a13 1
+# $Id: webmagick.in,v 1.178 2012/04/01 03:32:43 ache Exp $
d17 17
a33 1
@@@@ -99,7 +99,8 @@@@
d43 1
a43 1
@@@@ -112,11 +113,13 @@@@
d53 5
d59 15
a73 4
     $opt_lowres,
     $opt_lowresdir,
     $opt_lowresformat,
@@@@ -144,12 +147,13 @@@@
d88 1
a88 1
@@@@ -159,6 +163,7 @@@@
d92 1
a93 1
     $opt_footer,
d96 2
a97 1
@@@@ -167,7 +172,9 @@@@
d107 10
a116 1
@@@@ -199,6 +206,7 @@@@
d124 1
a124 2
@@@@ -211,7 +219,14 @@@@
     $opt_skip,
a126 1
+    $opt_divs,
a128 2
+    $opt_fancytables,
+    $opt_fancytableheight,
d135 7
a141 1
@@@@ -237,14 +252,21 @@@@
d158 1
a158 6
     $opt_pichtmltop,
+    $opt_edgelinksindex,
     $pageStatusTime,	# Time status file last modified
     $pageNumber,	# Current page number
     $pathSep,		# OS-specific path separator
@@@@ -286,6 +308,7 @@@@
d166 1
a166 1
@@@@ -368,6 +391,7 @@@@
d174 1
a174 1
@@@@ -376,25 +400,46 @@@@
d182 1
d223 1
a223 1
@@@@ -491,8 +536,7 @@@@
d233 1
a233 1
@@@@ -539,6 +583,7 @@@@
d241 1
a241 1
@@@@ -596,12 +641,11 @@@@
d258 1
a258 1
@@@@ -616,16 +660,15 @@@@
d281 1
a281 1
@@@@ -640,16 +683,15 @@@@
d304 1
a304 1
@@@@ -664,16 +706,15 @@@@
d327 1
a327 1
@@@@ -756,7 +797,9 @@@@
d331 1
a331 1
+		'centerfooter!'         => \$opt_centerfooter,
d337 29
a365 1
@@@@ -790,20 +833,24 @@@@
d392 9
a400 1
@@@@ -828,15 +875,23 @@@@
a417 1
+		'edgelinksindex!'       => \$opt_edgelinksindex,
d423 1
a423 2
@@@@ -845,7 +900,14 @@@@
 		'serversidemap!'        => \$opt_serversidemap,
a425 1
+		'divs!'                 => \$opt_divs,
a427 2
+		'fancytables!'          => \$opt_fancytables,
+		'fancytableheight=i'    => \$opt_fancytableheight,
d434 40
a473 1
@@@@ -1153,12 +1215,12 @@@@
d489 1
a489 1
@@@@ -1187,7 +1249,6 @@@@
d497 1
a497 1
@@@@ -1329,7 +1390,6 @@@@
d505 1
a505 1
@@@@ -1346,34 +1406,50 @@@@
d563 1
a563 1
@@@@ -1383,11 +1459,25 @@@@
d590 1
a590 1
@@@@ -1396,6 +1486,7 @@@@
d598 1
a598 1
@@@@ -1405,11 +1496,14 @@@@
d614 1
a614 1
@@@@ -1431,6 +1525,7 @@@@
d622 1
a622 1
@@@@ -1446,10 +1541,9 @@@@
d635 1
a635 1
@@@@ -1461,6 +1555,7 @@@@
d643 1
a643 1
@@@@ -1510,9 +1605,7 @@@@
d654 1
a654 1
@@@@ -1520,10 +1613,18 @@@@
d675 58
a732 1
@@@@ -1576,7 +1677,7 @@@@
d734 2
a735 1
 	    if $opt_thumbframecolor ne 'false';
d738 1
a738 1
+	    if ($opt_thumblabel && $opt_thumblabel ne 'false');
d742 1
a742 1
@@@@ -1595,8 +1696,10 @@@@
d755 2
a756 1
@@@@ -1615,18 +1718,22 @@@@
d759 4
d785 1
a785 1
@@@@ -1647,8 +1754,8 @@@@
d796 1
a796 1
@@@@ -1659,15 +1766,23 @@@@
a813 1
+	 'edgelinksindex'       => $opt_edgelinksindex,
d819 1
a819 2
@@@@ -1675,7 +1790,14 @@@@
 	 'serversidemap'        => $opt_serversidemap,
a821 1
+	 'divs'                 => $opt_divs,
a823 2
+	 'fancytables'          => !$opt_tables ? 0 : $opt_fancytables,
+	 'fancytableheight'     => !$opt_tables ? 0 : $opt_fancytableheight,
d827 1
d829 2
a830 1
 	 'version'              => $opt_anonymous ? "" : $webmagickInfo{'version'},
d832 46
a877 1
@@@@ -1749,7 +1871,7 @@@@
d886 1
a886 1
@@@@ -1760,10 +1882,10 @@@@
d899 11
a909 1
@@@@ -1905,7 +2027,7 @@@@
d918 1
a918 1
@@@@ -1975,9 +2097,10 @@@@
d931 1
a931 1
@@@@ -1987,7 +2110,7 @@@@
d940 1
a940 1
@@@@ -1997,7 +2120,7 @@@@
d949 1
a949 1
@@@@ -2023,20 +2146,19 @@@@
d973 3
a975 1
@@@@ -2128,25 +2250,29 @@@@
d977 2
a978 2
     open( INDEX, ">${opt_indexname}")
 	|| die("$0: Failed to open file ${opt_indexname} for output\n$@@\n");
d980 3
d1015 1
a1015 1
@@@@ -2154,7 +2280,7 @@@@
d1024 1
a1024 1
@@@@ -2164,7 +2290,7 @@@@
d1033 1
a1033 1
@@@@ -2173,20 +2299,17 @@@@
d1061 2
d1064 2
a1065 2
 
@@@@ -2195,12 +2318,14 @@@@
d1067 2
a1068 2
     open( INDEX, ">$fileNames{'jsDirIndex'}")
 	|| die("$0: Failed to open file $fileNames{'jsDirIndex'} for output\n$@@\n");
d1071 4
d1089 14
a1102 3
@@@@ -2214,7 +2339,10 @@@@
     open( INDEX, ">${opt_pageindexname}dir${opt_dirhtmlext}")
 	|| die("$0: Failed to open file \"${opt_pageindexname}dir${opt_dirhtmlext}\"",
d1112 1
a1112 1
@@@@ -2224,35 +2352,37 @@@@
d1168 4
a1171 1
@@@@ -2262,6 +2392,114 @@@@
d1286 1
a1286 1
@@@@ -2279,7 +2517,7 @@@@
d1295 1
a1295 1
@@@@ -2287,7 +2525,7 @@@@
d1304 1
a1304 1
@@@@ -2295,7 +2533,7 @@@@
d1313 1
a1313 1
@@@@ -2312,7 +2550,7 @@@@
d1322 1
a1322 1
@@@@ -2322,15 +2560,13 @@@@
d1339 3
a1341 1
@@@@ -2352,7 +2588,10 @@@@
d1343 2
a1344 2
     open( INDEX, ">$fileNames{'htmlCurrentIndex'}")
         || die("$0: Failed to open file $fileNames{'htmlCurrentIndex'} for output\n$@@\n");
d1346 4
d1357 1
a1357 1
@@@@ -2361,50 +2600,88 @@@@
d1421 4
a1424 2
+	}
+
d1446 1
a1446 2
 	}
-	print( INDEX "$indexbar<BR>\n" );
d1448 1
a1448 2
 
-	if ($opt_tables)
d1469 1
a1469 1
@@@@ -2422,144 +2699,109 @@@@
d1508 1
a1508 1
 			
d1511 4
d1517 3
a1519 3
 			open( PICHTML, ">$pichtml")
 			    || die("$0: Failed to open file $pichtml for output\n$@@\n");
-			print( PICHTML "<HTML>\n<HEAD>\n" );
d1680 2
a1681 1
@@@@ -2568,30 +2810,34 @@@@
d1684 1
d1732 1
a1732 1
@@@@ -2601,28 +2847,68 @@@@
d1814 1
a1814 1
@@@@ -2630,6 +2916,9 @@@@
d1824 1
a1824 1
@@@@ -2642,13 +2931,17 @@@@
d1844 5
a1848 3
@@@@ -2674,13 +2967,15 @@@@
     open( JSINDEX, ">$fileNames{'jsPageIndex'}")
         || die("$0: Failed to open file $fileNames{'jsPageIndex'} for output\n$@@\n");
d1850 9
d1863 5
d1881 18
a1898 1
@@@@ -2714,6 +3009,8 @@@@
d1907 10
a1916 1
@@@@ -2803,6 +3100,8 @@@@
d1925 12
a1936 1
@@@@ -2893,7 +3192,7 @@@@
d1945 1
a1945 1
@@@@ -2948,7 +3247,7 @@@@
d1954 1
a1954 1
@@@@ -2995,7 +3294,7 @@@@
d1963 18
a1980 1
@@@@ -3062,7 +3361,7 @@@@
d1989 26
a2014 1
@@@@ -3122,7 +3421,7 @@@@
d2023 14
a2036 1
@@@@ -3191,12 +3490,16 @@@@
d2054 10
a2063 1
@@@@ -3465,6 +3768,10 @@@@
d2074 1
a2074 1
@@@@ -3476,7 +3783,11 @@@@
d2087 1
a2087 1
@@@@ -3533,6 +3844,9 @@@@
d2097 1
a2097 1
@@@@ -3633,7 +3947,7 @@@@
d2106 16
a2121 1
@@@@ -3845,12 +4159,14 @@@@
d2139 1
a2139 1
@@@@ -3868,7 +4184,7 @@@@
d2148 1
a2148 1
@@@@ -3922,7 +4238,7 @@@@
d2157 1
a2157 1
@@@@ -4073,6 +4389,7 @@@@
d2165 1
a2165 1
@@@@ -4082,6 +4399,7 @@@@
d2173 1
a2173 1
@@@@ -4093,6 +4411,8 @@@@
d2182 6
a2187 1
@@@@ -4138,7 +4458,9 @@@@
d2197 1
a2197 1
@@@@ -4150,31 +4472,48 @@@@
d2254 1
a2254 1
@@@@ -4296,6 +4635,7 @@@@
d2262 1
a2262 1
@@@@ -4324,23 +4664,11 @@@@
d2290 1
a2290 1
@@@@ -4387,7 +4715,6 @@@@
d2298 1
a2298 1
@@@@ -4468,7 +4795,7 @@@@
@


1.73
log
@Update to the latest version from the project CVS

Feature safe: yes
@
text
@d5 2
a6 2
retrieving revision 1.177
diff -u -r1.117 -r1.177
d8 1
a8 1
+++ webmagick.in	31 Mar 2012 19:07:43 -0000	1.177
d13 1
a13 1
+# $Id: webmagick.in,v 1.177 2012/03/31 19:07:43 ache Exp $
d1165 2
a1166 4
 	}
-	print( INDEX "$indexbar<BR>\n" );
 
-	if ($opt_tables)
d1188 2
a1189 1
+	}
d1191 2
a1192 1
+
d1461 1
a1461 1
+				print INDEX "<DIV class='wm_thumb'>";
d1470 1
a1470 1
@@@@ -2601,28 +2847,66 @@@@
d1489 4
a1493 1
+				print (INDEX "<BR>");
d1523 1
a1523 2
 			}
-		} # if ($opt_tables)
d1552 1
a1552 1
@@@@ -2630,6 +2914,9 @@@@
d1562 1
a1562 1
@@@@ -2642,13 +2929,17 @@@@
d1582 1
a1582 1
@@@@ -2674,13 +2965,15 @@@@
d1603 1
a1603 1
@@@@ -2714,6 +3007,8 @@@@
d1612 1
a1612 1
@@@@ -2803,6 +3098,8 @@@@
d1621 1
a1621 1
@@@@ -2893,7 +3190,7 @@@@
d1630 1
a1630 1
@@@@ -2948,7 +3245,7 @@@@
d1639 1
a1639 1
@@@@ -2995,7 +3292,7 @@@@
d1648 1
a1648 1
@@@@ -3062,7 +3359,7 @@@@
d1657 1
a1657 1
@@@@ -3122,7 +3419,7 @@@@
d1666 1
a1666 1
@@@@ -3191,12 +3488,16 @@@@
d1684 1
a1684 1
@@@@ -3465,6 +3766,10 @@@@
d1695 1
a1695 1
@@@@ -3476,7 +3781,11 @@@@
d1708 1
a1708 1
@@@@ -3533,6 +3842,9 @@@@
d1718 1
a1718 1
@@@@ -3633,7 +3945,7 @@@@
d1727 19
a1745 1
@@@@ -3868,7 +4180,7 @@@@
d1754 1
a1754 1
@@@@ -3922,7 +4234,7 @@@@
d1763 1
a1763 1
@@@@ -4073,6 +4385,7 @@@@
d1771 1
a1771 1
@@@@ -4082,6 +4395,7 @@@@
d1779 1
a1779 1
@@@@ -4093,6 +4407,8 @@@@
d1788 1
a1788 1
@@@@ -4138,7 +4454,9 @@@@
d1798 1
a1798 1
@@@@ -4150,31 +4468,48 @@@@
d1855 1
a1855 1
@@@@ -4296,6 +4631,7 @@@@
d1863 1
a1863 1
@@@@ -4324,23 +4660,11 @@@@
d1891 1
a1891 1
@@@@ -4387,7 +4711,6 @@@@
d1899 1
a1899 1
@@@@ -4468,7 +4791,7 @@@@
@


1.72
log
@Update to the latest version from the project CVS
@
text
@d5 2
a6 2
retrieving revision 1.176
diff -u -r1.117 -r1.176
d8 1
a8 1
+++ webmagick.in	27 Feb 2012 17:59:21 -0000	1.176
d13 1
a13 1
+# $Id: webmagick.in,v 1.176 2012/02/27 17:59:21 ache Exp $
d82 2
a83 1
@@@@ -212,6 +220,12 @@@@
d86 1
d97 1
a97 1
@@@@ -237,14 +251,21 @@@@
d119 1
a119 1
@@@@ -286,6 +307,7 @@@@
d127 1
a127 1
@@@@ -368,6 +390,7 @@@@
d135 1
a135 1
@@@@ -376,25 +399,45 @@@@
d154 1
d183 1
a183 1
@@@@ -491,8 +534,7 @@@@
d193 1
a193 1
@@@@ -539,6 +581,7 @@@@
d201 1
a201 1
@@@@ -596,12 +639,11 @@@@
d218 1
a218 1
@@@@ -616,16 +658,15 @@@@
d241 1
a241 1
@@@@ -640,16 +681,15 @@@@
d264 1
a264 1
@@@@ -664,16 +704,15 @@@@
d287 1
a287 1
@@@@ -756,7 +795,9 @@@@
d297 1
a297 1
@@@@ -790,20 +831,24 @@@@
d324 1
a324 1
@@@@ -828,15 +873,23 @@@@
d348 2
a349 1
@@@@ -846,6 +899,12 @@@@
d352 1
d363 1
a363 1
@@@@ -1153,12 +1212,12 @@@@
d379 1
a379 1
@@@@ -1187,7 +1246,6 @@@@
d387 1
a387 1
@@@@ -1329,7 +1387,6 @@@@
d395 1
a395 1
@@@@ -1346,34 +1403,50 @@@@
d453 1
a453 1
@@@@ -1383,11 +1456,25 @@@@
d480 1
a480 1
@@@@ -1396,6 +1483,7 @@@@
d488 1
a488 1
@@@@ -1405,11 +1493,14 @@@@
d504 1
a504 1
@@@@ -1431,6 +1522,7 @@@@
d512 1
a512 1
@@@@ -1446,10 +1538,9 @@@@
d525 1
a525 1
@@@@ -1461,6 +1552,7 @@@@
d533 1
a533 1
@@@@ -1510,9 +1602,7 @@@@
d544 1
a544 1
@@@@ -1520,10 +1610,18 @@@@
d565 1
a565 1
@@@@ -1576,7 +1674,7 @@@@
d574 1
a574 1
@@@@ -1595,8 +1693,10 @@@@
d578 2
d581 2
a582 2
 	 'cachedir'             => !$opt_tables ? "" : $opt_cachedir,
 	 'cacheformat'          => !$opt_tables ? "" : $opt_cacheformat,
d587 1
a587 1
@@@@ -1615,18 +1715,22 @@@@
d612 1
a612 1
@@@@ -1647,8 +1751,8 @@@@
d623 1
a623 1
@@@@ -1659,15 +1763,23 @@@@
d647 2
a648 1
@@@@ -1676,6 +1788,12 @@@@
d651 1
d662 1
a662 1
@@@@ -1749,7 +1867,7 @@@@
d671 6
a676 2
@@@@ -1763,7 +1881,7 @@@@
             if( ! $opt_tables && (! -f $fileNames{'pageStatus'} ||
d684 10
a693 1
@@@@ -1975,9 +2093,10 @@@@
d706 1
a706 1
@@@@ -1987,7 +2106,7 @@@@
d715 1
a715 1
@@@@ -1997,7 +2116,7 @@@@
d724 1
a724 1
@@@@ -2023,20 +2142,19 @@@@
d748 1
a748 1
@@@@ -2128,25 +2246,29 @@@@
d785 1
a785 1
@@@@ -2154,7 +2276,7 @@@@
d794 1
a794 1
@@@@ -2164,7 +2286,7 @@@@
d803 1
a803 1
@@@@ -2173,20 +2295,17 @@@@
d833 1
a833 1
@@@@ -2195,12 +2314,14 @@@@
d853 1
a853 1
@@@@ -2214,7 +2335,10 @@@@
d865 1
a865 1
@@@@ -2224,35 +2348,37 @@@@
d921 1
a921 1
@@@@ -2262,6 +2388,114 @@@@
d1036 1
a1036 1
@@@@ -2279,7 +2513,7 @@@@
d1045 1
a1045 1
@@@@ -2287,7 +2521,7 @@@@
d1054 1
a1054 1
@@@@ -2295,7 +2529,7 @@@@
d1063 1
a1063 1
@@@@ -2312,7 +2546,7 @@@@
d1072 1
a1072 1
@@@@ -2322,15 +2556,13 @@@@
d1089 1
a1089 1
@@@@ -2352,7 +2584,10 @@@@
d1101 1
a1101 1
@@@@ -2361,50 +2596,86 @@@@
d1167 2
a1168 1
+
d1192 2
a1193 2
 
 	if ($opt_tables)
d1196 14
a1209 12
+	    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>";
+            }
d1213 1
a1213 1
@@@@ -2422,144 +2693,109 @@@@
d1223 2
a1224 1
 	} # unless ( $opt_tables )
d1420 3
a1422 1
@@@@ -2570,15 +2806,15 @@@@
d1424 2
a1425 1
 			unless ($opt_tables)
d1432 6
a1437 3
 	    } else 
 	    { 
 		    unless ($opt_tables) 
d1446 16
a1461 2
@@@@ -2590,7 +2826,7 @@@@
 				print INDEX "<TR ALIGN=CENTER VALIGN=TOP>";
d1463 1
a1463 1
 				
d1465 2
a1466 2
+			print INDEX "<TD BGCOLOR=${opt_tablebackcolor}>";
 			
d1469 2
a1470 1
@@@@ -2601,17 +2837,34 @@@@
d1485 3
d1489 28
a1516 19
+			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>"    ;
d1518 5
a1522 2
+      			}
 		} # if ($opt_tables)
d1525 20
a1544 3
@@@@ -2622,6 +2875,13 @@@@
 		{
 			print INDEX "</TR>";
d1546 1
a1546 8
+		#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")
d1549 2
a1550 1
@@@@ -2630,6 +2890,9 @@@@
d1560 1
a1560 1
@@@@ -2642,13 +2905,17 @@@@
d1580 1
a1580 1
@@@@ -2674,13 +2941,15 @@@@
d1601 1
a1601 1
@@@@ -2714,6 +2983,8 @@@@
d1610 1
a1610 1
@@@@ -2803,6 +3074,8 @@@@
d1619 28
a1646 1
@@@@ -3062,7 +3335,7 @@@@
d1655 10
a1664 1
@@@@ -3191,12 +3464,16 @@@@
d1682 1
a1682 1
@@@@ -3465,6 +3742,10 @@@@
d1693 1
a1693 1
@@@@ -3476,7 +3757,11 @@@@
d1706 1
a1706 1
@@@@ -3533,6 +3818,9 @@@@
d1716 1
a1716 1
@@@@ -3633,7 +3921,7 @@@@
d1725 1
a1725 1
@@@@ -3868,7 +4156,7 @@@@
d1734 1
a1734 1
@@@@ -3922,7 +4210,7 @@@@
d1743 1
a1743 1
@@@@ -4073,6 +4361,7 @@@@
d1751 1
a1751 1
@@@@ -4082,6 +4371,7 @@@@
d1759 1
a1759 1
@@@@ -4093,6 +4383,8 @@@@
d1768 1
a1768 1
@@@@ -4138,7 +4430,9 @@@@
d1778 1
a1778 1
@@@@ -4150,31 +4444,47 @@@@
d1793 1
d1835 1
a1835 1
@@@@ -4296,6 +4606,7 @@@@
d1843 1
a1843 1
@@@@ -4324,23 +4635,11 @@@@
d1871 1
a1871 1
@@@@ -4387,7 +4686,6 @@@@
d1879 1
a1879 1
@@@@ -4468,7 +4766,7 @@@@
@


1.71
log
@Update to the latest version from the project CVS
(--prepend added)
@
text
@d5 2
a6 2
retrieving revision 1.175
diff -u -r1.117 -r1.175
d8 1
a8 1
+++ webmagick.in	22 Jan 2012 18:20:40 -0000	1.175
d13 1
a13 1
+# $Id: webmagick.in,v 1.175 2012/01/22 18:20:40 ache Exp $
d64 1
a64 1
@@@@ -167,6 +172,7 @@@@
d70 1
d73 2
a74 1
@@@@ -199,6 +205,7 @@@@
d82 1
a82 1
@@@@ -212,6 +219,12 @@@@
d95 1
a95 1
@@@@ -237,14 +250,21 @@@@
d117 9
a125 1
@@@@ -368,6 +388,7 @@@@
d133 1
a133 1
@@@@ -376,25 +397,45 @@@@
d180 1
a180 1
@@@@ -491,8 +532,7 @@@@
d190 1
a190 1
@@@@ -539,6 +579,7 @@@@
d198 1
a198 1
@@@@ -596,12 +637,11 @@@@
d215 1
a215 1
@@@@ -616,16 +656,15 @@@@
d238 1
a238 1
@@@@ -640,16 +679,15 @@@@
d261 1
a261 1
@@@@ -664,16 +702,15 @@@@
d284 1
a284 1
@@@@ -756,7 +793,9 @@@@
d294 1
a294 1
@@@@ -790,19 +829,22 @@@@
d317 1
d320 2
a321 1
@@@@ -828,15 +870,23 @@@@
d345 1
a345 1
@@@@ -846,6 +896,12 @@@@
d358 1
a358 1
@@@@ -1153,12 +1209,12 @@@@
d374 1
a374 1
@@@@ -1187,7 +1243,6 @@@@
d382 1
a382 1
@@@@ -1329,7 +1384,6 @@@@
d390 1
a390 1
@@@@ -1346,34 +1400,50 @@@@
d448 1
a448 1
@@@@ -1383,11 +1453,25 @@@@
d475 1
a475 1
@@@@ -1396,6 +1480,7 @@@@
d483 1
a483 1
@@@@ -1405,11 +1490,14 @@@@
d499 1
a499 1
@@@@ -1431,6 +1519,7 @@@@
d507 1
a507 1
@@@@ -1446,10 +1535,9 @@@@
d520 1
a520 1
@@@@ -1461,6 +1549,7 @@@@
d528 1
a528 1
@@@@ -1510,9 +1599,7 @@@@
d539 1
a539 1
@@@@ -1520,10 +1607,18 @@@@
d560 1
a560 1
@@@@ -1576,7 +1671,7 @@@@
d569 1
a569 1
@@@@ -1595,8 +1690,10 @@@@
d580 1
a580 1
@@@@ -1615,18 +1712,21 @@@@
d600 1
d605 1
a605 1
@@@@ -1647,8 +1747,8 @@@@
d616 1
a616 1
@@@@ -1659,15 +1759,23 @@@@
d640 1
a640 1
@@@@ -1676,6 +1784,12 @@@@
d653 1
a653 1
@@@@ -1749,7 +1863,7 @@@@
d662 1
a662 1
@@@@ -1763,7 +1877,7 @@@@
d671 1
a671 1
@@@@ -1975,9 +2089,10 @@@@
d684 1
a684 1
@@@@ -1987,7 +2102,7 @@@@
d693 1
a693 1
@@@@ -1997,7 +2112,7 @@@@
d702 1
a702 1
@@@@ -2023,20 +2138,19 @@@@
d726 1
a726 1
@@@@ -2128,25 +2242,29 @@@@
d763 1
a763 1
@@@@ -2154,7 +2272,7 @@@@
d772 1
a772 1
@@@@ -2164,7 +2282,7 @@@@
d781 1
a781 1
@@@@ -2173,20 +2291,17 @@@@
d811 1
a811 1
@@@@ -2195,12 +2310,14 @@@@
d831 1
a831 1
@@@@ -2214,7 +2331,10 @@@@
d843 1
a843 1
@@@@ -2224,35 +2344,37 @@@@
d899 1
a899 1
@@@@ -2262,6 +2384,114 @@@@
d1014 1
a1014 1
@@@@ -2279,7 +2509,7 @@@@
d1023 1
a1023 1
@@@@ -2287,7 +2517,7 @@@@
d1032 1
a1032 1
@@@@ -2295,7 +2525,7 @@@@
d1041 1
a1041 1
@@@@ -2312,7 +2542,7 @@@@
d1050 1
a1050 1
@@@@ -2322,15 +2552,13 @@@@
d1067 1
a1067 1
@@@@ -2352,7 +2580,10 @@@@
d1079 1
a1079 1
@@@@ -2361,50 +2592,86 @@@@
d1188 2
a1189 1
@@@@ -2423,143 +2690,108 @@@@
d1192 1
a1192 1
 		      "<IMG SRC=\"$montageImages[$pageNumber - 1]\" $montageImageSizes[$pageNumber - 1]",
d1194 1
d1377 1
a1377 1
+			    print( PICHTML "<IMG class='wm_pic' SRC=\"", escapeurl($pic), "\" BORDER=0 ALT=\"${altfinallabel}\" TITLE=\"${altfinallabel}\">" );
d1394 1
a1394 1
@@@@ -2570,15 +2802,15 @@@@
d1414 1
a1414 1
@@@@ -2590,7 +2822,7 @@@@
d1423 1
a1423 1
@@@@ -2601,17 +2833,34 @@@@
d1428 1
a1428 1
+				print (INDEX "<IMG SRC=\"", $opt_cachedir, "/", escapeurl($pic), ".\L${opt_cacheformat}",
d1432 1
a1432 1
+				print (INDEX "<IMG SRC=\"", escapeurl($pic),
d1463 1
a1463 1
@@@@ -2622,6 +2871,13 @@@@
d1477 1
a1477 1
@@@@ -2630,6 +2886,9 @@@@
d1487 1
a1487 1
@@@@ -2642,13 +2901,17 @@@@
d1507 1
a1507 1
@@@@ -2674,13 +2937,15 @@@@
d1528 1
a1528 1
@@@@ -2714,6 +2979,8 @@@@
d1537 1
a1537 1
@@@@ -2803,6 +3070,8 @@@@
d1546 1
a1546 1
@@@@ -3062,7 +3331,7 @@@@
d1555 1
a1555 1
@@@@ -3191,12 +3460,16 @@@@
d1573 1
a1573 1
@@@@ -3465,6 +3738,10 @@@@
d1584 1
a1584 1
@@@@ -3476,7 +3753,11 @@@@
d1597 1
a1597 1
@@@@ -3533,6 +3814,9 @@@@
d1607 1
a1607 1
@@@@ -3633,7 +3917,7 @@@@
d1616 1
a1616 1
@@@@ -3868,7 +4152,7 @@@@
d1625 1
a1625 1
@@@@ -3922,7 +4206,7 @@@@
d1634 1
a1634 1
@@@@ -4073,6 +4357,7 @@@@
d1642 9
a1650 1
@@@@ -4093,6 +4378,8 @@@@
d1659 1
a1659 1
@@@@ -4138,7 +4425,9 @@@@
d1669 1
a1669 1
@@@@ -4150,31 +4439,47 @@@@
d1725 1
a1725 1
@@@@ -4296,6 +4601,7 @@@@
d1733 1
a1733 1
@@@@ -4324,23 +4630,11 @@@@
d1761 1
a1761 1
@@@@ -4387,7 +4681,6 @@@@
d1769 1
a1769 1
@@@@ -4468,7 +4761,7 @@@@
@


1.70
log
@Update to the latest from the project CVS

Feature safe:  yes
@
text
@d5 2
a6 2
retrieving revision 1.172
diff -u -r1.117 -r1.172
d8 1
a8 1
+++ webmagick.in	14 Dec 2011 18:58:00 -0000	1.172
d13 1
a13 1
+# $Id: webmagick.in,v 1.172 2011/12/14 18:58:00 ache Exp $
d72 9
a80 1
@@@@ -212,6 +218,12 @@@@
d93 1
a93 1
@@@@ -237,14 +249,21 @@@@
d115 1
a115 1
@@@@ -368,6 +387,7 @@@@
d123 1
a123 1
@@@@ -376,25 +396,44 @@@@
d137 1
d170 1
a170 1
@@@@ -491,8 +530,7 @@@@
d180 1
a180 1
@@@@ -539,6 +577,7 @@@@
d188 1
a188 1
@@@@ -596,12 +635,11 @@@@
d205 1
a205 1
@@@@ -616,16 +654,15 @@@@
d228 1
a228 1
@@@@ -640,16 +677,15 @@@@
d251 1
a251 1
@@@@ -664,16 +700,15 @@@@
d274 1
a274 1
@@@@ -756,7 +791,9 @@@@
d284 1
a284 1
@@@@ -790,19 +827,22 @@@@
d309 1
a309 1
@@@@ -828,14 +868,21 @@@@
d329 1
d332 2
a333 1
@@@@ -846,6 +893,12 @@@@
d346 1
a346 1
@@@@ -1153,12 +1206,12 @@@@
d362 1
a362 1
@@@@ -1187,7 +1240,6 @@@@
d370 1
a370 1
@@@@ -1329,7 +1381,6 @@@@
d378 1
a378 1
@@@@ -1346,34 +1397,50 @@@@
d436 1
a436 1
@@@@ -1383,11 +1450,25 @@@@
d463 1
a463 1
@@@@ -1396,6 +1477,7 @@@@
d471 1
a471 1
@@@@ -1405,11 +1487,14 @@@@
d487 1
a487 1
@@@@ -1431,6 +1516,7 @@@@
d495 1
a495 1
@@@@ -1446,10 +1532,9 @@@@
d508 1
a508 1
@@@@ -1461,6 +1546,7 @@@@
d516 1
a516 1
@@@@ -1510,9 +1596,7 @@@@
d527 1
a527 1
@@@@ -1520,10 +1604,18 @@@@
d548 1
a548 1
@@@@ -1576,7 +1668,7 @@@@
d557 1
a557 1
@@@@ -1595,8 +1687,10 @@@@
d568 1
a568 1
@@@@ -1615,18 +1709,21 @@@@
d592 1
a592 1
@@@@ -1647,8 +1744,8 @@@@
d603 1
a603 1
@@@@ -1659,14 +1756,21 @@@@
d623 1
d626 2
a627 1
@@@@ -1676,6 +1780,12 @@@@
d640 1
a640 1
@@@@ -1749,7 +1859,7 @@@@
d649 1
a649 1
@@@@ -1763,7 +1873,7 @@@@
d658 1
a658 1
@@@@ -1975,9 +2085,10 @@@@
d671 1
a671 1
@@@@ -1987,7 +2098,7 @@@@
d680 1
a680 1
@@@@ -1997,7 +2108,7 @@@@
d689 1
a689 1
@@@@ -2023,20 +2134,19 @@@@
d713 1
a713 1
@@@@ -2128,25 +2238,26 @@@@
d718 3
d750 1
a750 1
@@@@ -2154,7 +2265,7 @@@@
d759 1
a759 1
@@@@ -2164,7 +2275,7 @@@@
d768 1
a768 1
@@@@ -2173,20 +2284,17 @@@@
d798 1
a798 1
@@@@ -2195,12 +2303,11 @@@@
d804 3
d818 1
a818 1
@@@@ -2214,7 +2321,7 @@@@
d823 3
d830 1
a830 1
@@@@ -2224,35 +2331,37 @@@@
d886 1
a886 1
@@@@ -2262,6 +2371,114 @@@@
d1001 1
a1001 1
@@@@ -2279,7 +2496,7 @@@@
d1010 1
a1010 1
@@@@ -2287,7 +2504,7 @@@@
d1019 1
a1019 1
@@@@ -2295,7 +2512,7 @@@@
d1028 1
a1028 1
@@@@ -2312,7 +2529,7 @@@@
d1037 1
a1037 1
@@@@ -2322,15 +2539,13 @@@@
d1054 1
a1054 1
@@@@ -2352,7 +2567,7 @@@@
d1059 3
d1066 1
a1066 1
@@@@ -2361,50 +2576,86 @@@@
d1130 2
a1131 1
+	}
d1154 1
a1154 2
 	}
-	print( INDEX "$indexbar<BR>\n" );
d1175 1
a1175 1
@@@@ -2423,143 +2674,105 @@@@
d1219 3
d1379 1
a1379 1
@@@@ -2570,15 +2783,15 @@@@
d1399 1
a1399 1
@@@@ -2590,7 +2803,7 @@@@
d1408 1
a1408 1
@@@@ -2601,17 +2814,34 @@@@
d1448 1
a1448 1
@@@@ -2622,6 +2852,13 @@@@
d1462 1
a1462 1
@@@@ -2630,6 +2867,9 @@@@
d1472 1
a1472 1
@@@@ -2642,13 +2882,17 @@@@
d1492 1
a1492 1
@@@@ -2674,13 +2918,12 @@@@
d1500 3
d1513 1
a1513 1
@@@@ -2714,6 +2957,8 @@@@
d1522 1
a1522 1
@@@@ -2803,6 +3048,8 @@@@
d1531 1
a1531 1
@@@@ -3062,7 +3309,7 @@@@
d1540 1
a1540 1
@@@@ -3191,12 +3438,16 @@@@
d1558 1
a1558 1
@@@@ -3465,6 +3716,10 @@@@
d1569 1
a1569 1
@@@@ -3476,7 +3731,11 @@@@
d1582 1
a1582 1
@@@@ -3533,6 +3792,9 @@@@
d1592 1
a1592 1
@@@@ -3633,7 +3895,7 @@@@
d1601 1
a1601 1
@@@@ -3868,7 +4130,7 @@@@
d1610 1
a1610 1
@@@@ -3922,7 +4184,7 @@@@
d1619 1
a1619 1
@@@@ -4073,6 +4335,7 @@@@
d1627 1
a1627 1
@@@@ -4093,6 +4356,8 @@@@
d1636 1
a1636 1
@@@@ -4138,7 +4403,9 @@@@
d1646 1
a1646 1
@@@@ -4150,31 +4417,46 @@@@
d1658 1
d1702 1
a1702 1
@@@@ -4296,6 +4578,7 @@@@
d1710 1
a1710 1
@@@@ -4324,23 +4607,11 @@@@
d1738 1
a1738 1
@@@@ -4387,7 +4658,6 @@@@
d1746 1
a1746 1
@@@@ -4468,7 +4738,7 @@@@
@


1.69
log
@Fix new perl warning "defined(%hash) is deprecated"
(from the project CVS)

Feature safe:   yes
@
text
@d5 2
a6 2
retrieving revision 1.170
diff -u -r1.117 -r1.170
d8 1
a8 1
+++ webmagick.in	11 Dec 2011 22:46:56 -0000	1.170
d13 1
a13 1
+# $Id: webmagick.in,v 1.170 2011/12/11 22:46:56 ache Exp $
d1150 1
a1150 1
@@@@ -2423,143 +2674,104 @@@@
d1170 1
d1183 1
a1183 1
+	    $altlabel = $opt_pichtmlaltstart . escapehtml($altlabel) . $opt_pichtmlaltend;
d1199 1
a1199 1
+			print( PICHTML "  <TITLE>${altlabel}</TITLE>\n" );
d1334 1
a1334 1
+			    print( PICHTML "<IMG class='wm_pic' SRC=\"", escapeurl($pic), "\" BORDER=0 ALT=\"${altlabel}\" TITLE=\"${altlabel}\">" );
d1351 1
a1351 1
@@@@ -2570,15 +2782,15 @@@@
d1371 1
a1371 1
@@@@ -2590,7 +2802,7 @@@@
d1380 1
a1380 1
@@@@ -2601,17 +2813,34 @@@@
d1386 1
a1386 1
+				       "\" $thumbImageSizes{$pic} ALT=\"${altlabel}\" TITLE=\"${altlabel}\" BORDER=0>");
d1390 1
a1390 1
+				       "\" ALT=\"${altlabel}\" TITLE=\"${altlabel}\" BORDER=0>");
d1420 1
a1420 1
@@@@ -2622,6 +2851,13 @@@@
d1434 1
a1434 1
@@@@ -2630,6 +2866,9 @@@@
d1444 1
a1444 1
@@@@ -2642,13 +2881,17 @@@@
d1464 1
a1464 1
@@@@ -2674,13 +2917,12 @@@@
d1482 1
a1482 1
@@@@ -2714,6 +2956,8 @@@@
d1491 1
a1491 1
@@@@ -2803,6 +3047,8 @@@@
d1500 1
a1500 1
@@@@ -3062,7 +3308,7 @@@@
d1509 1
a1509 1
@@@@ -3191,12 +3437,16 @@@@
d1527 1
a1527 1
@@@@ -3465,6 +3715,10 @@@@
d1538 1
a1538 1
@@@@ -3476,7 +3730,11 @@@@
d1551 1
a1551 1
@@@@ -3533,6 +3791,9 @@@@
d1561 1
a1561 1
@@@@ -3633,7 +3894,7 @@@@
d1570 1
a1570 1
@@@@ -3868,7 +4129,7 @@@@
d1579 1
a1579 1
@@@@ -3922,7 +4183,7 @@@@
d1588 1
a1588 1
@@@@ -4073,6 +4334,7 @@@@
d1596 1
a1596 1
@@@@ -4093,6 +4355,8 @@@@
d1605 1
a1605 1
@@@@ -4138,7 +4402,9 @@@@
d1615 1
a1615 1
@@@@ -4150,31 +4416,46 @@@@
d1670 1
a1670 1
@@@@ -4296,6 +4577,7 @@@@
d1678 1
a1678 1
@@@@ -4324,23 +4606,11 @@@@
d1706 1
a1706 1
@@@@ -4387,7 +4657,6 @@@@
d1714 1
a1714 1
@@@@ -4468,7 +4737,7 @@@@
@


1.68
log
@Update to latest version from the project CVS
@
text
@d5 2
a6 2
retrieving revision 1.169
diff -u -r1.117 -r1.169
d8 1
a8 1
+++ webmagick.in	21 Sep 2011 05:54:43 -0000	1.169
d13 1
a13 1
+# $Id: webmagick.in,v 1.169 2011/09/21 05:54:43 ache Exp $
d1554 1
a1554 1
+    if (defined(%$hash1) != defined(%$hash2)) {
d1560 9
@


1.67
log
@Sync with the latest variant from the project CVS
@
text
@d5 2
a6 2
retrieving revision 1.168
diff -u -r1.117 -r1.168
d8 1
a8 1
+++ webmagick.in	8 Sep 2011 01:41:16 -0000	1.168
d13 1
a13 1
+# $Id: webmagick.in,v 1.168 2011/09/08 01:41:16 ache Exp $
d1691 2
a1692 2
+    # unreserved + some reserved (no query, allow path chars): "$+,/:;=@@"
+    s/([^0-9a-zA-Z_.!~*'()\$+,\/:;=\@@-])/sprintf("%%%02x", ord($1))/eg;
@


1.66
log
@Update to the latest version from the project cvs
@
text
@d5 2
a6 2
retrieving revision 1.167
diff -u -r1.117 -r1.167
d8 1
a8 1
+++ webmagick.in	25 Apr 2011 18:05:53 -0000	1.167
d13 1
a13 1
+# $Id: webmagick.in,v 1.167 2011/04/25 18:05:53 ache Exp $
d1333 1
a1333 1
+			    print( PICHTML "<IMG SRC=\"", escapeurl($pic), "\" BORDER=0 ALT=\"${altlabel}\" TITLE=\"${altlabel}\">" );
@


1.65
log
@Update to latest variant from the project cvs
@
text
@d5 2
a6 2
retrieving revision 1.165
diff -u -r1.117 -r1.165
d8 1
a8 1
+++ webmagick.in	6 Apr 2011 06:58:30 -0000	1.165
d13 1
a13 1
+# $Id: webmagick.in,v 1.165 2011/04/06 06:58:30 ache Exp $
d864 116
a979 1
@@@@ -2279,7 +2388,7 @@@@
d988 1
a988 1
@@@@ -2287,7 +2396,7 @@@@
d997 1
a997 1
@@@@ -2295,7 +2404,7 @@@@
d1006 1
a1006 1
@@@@ -2312,7 +2421,7 @@@@
d1015 1
a1015 1
@@@@ -2322,15 +2431,13 @@@@
d1032 1
a1032 1
@@@@ -2352,7 +2459,7 @@@@
d1041 1
a1041 1
@@@@ -2361,50 +2468,86 @@@@
d1150 1
a1150 1
@@@@ -2423,78 +2566,84 @@@@
d1263 7
a1269 10
+				my $url;
+
+				print ( PICHTML "<P>");
 					
 				# Must be visible at each page, if no frames
 				if (!$opt_frames) {
@@@@ -2502,12 +2651,12 @@@@
 				    # --- readme link ---
 				    if ( $haveReadme ) {
 					print (PICHTML "<A HREF=\"${opt_readme}\"><IMG\n",
d1271 4
a1274 3
+					    "SRC=\"$iconImageUrls{'help'}\" $iconImageSizes{'help'} TITLE=\"${opt_msg_readme}\" ALT=\"${opt_msg_readme}\" BORDER=0></A>\n");
 				    }
 				}
d1276 1
a1276 1
 				# up
d1278 7
a1284 8
+				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 +2664,102 @@@@
 					    print ( PICHTML "<A HREF=\"${pNumber}${opt_indexname}\"");
 					}
 					print ( PICHTML "><IMG SRC=\"$iconImageUrls{'up'}\"",
d1286 5
a1290 6
+						" $iconImageSizes{'up'} TITLE=\"${opt_msg_up}\" ALT=\"${opt_msg_up}\" BORDER=0></A>\n");
 					
 				}
 				
 				# prev
 				if (($imageNum == 0) && ($pageNumber == 1)) {
d1293 3
a1295 17
+				    #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'} ALT=\"\" BORDER=0>\n");
+				    if ( $opt_edgelinksindex ) {
+					print ( PICHTML "</A>");
+				    }
 				} else {
 					print ( PICHTML "<A${target} HREF=\"");
 					if ($imageNum == 0 && $pageNumber != 1) {
d1297 1
a1297 2
+						$url = $imageNames[$pageNumber - 2][$#{$imageNames[$pageNumber - 2]}];
 					} else {
d1299 1
a1299 2
+						$url = $imageNames[$pageNumber - 1][${imageNum} - 1];
 					}
d1301 1
a1301 3
+					$url =~ s/(.*)\.\w+$/$1/;
+					print ( PICHTML escapeurl($url . $opt_pichtmlext));
 					print ( PICHTML "\"><IMG SRC=\"$iconImageUrls{'prev'}\"",
d1303 2
a1304 3
+						" $iconImageSizes{'prev'} TITLE=\"${opt_msg_prev}\" ALT=\"${opt_msg_prev}\" BORDER=0></A>\n");
 						
 				}
d1306 2
a1307 16
+
+				# 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]})) {
d1310 3
a1312 17
+				    #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'} ALT=\"\" BORDER=0>\n");
+				    if ( $opt_edgelinksindex ) {
+					print ( PICHTML "</A>");
+				    }
 				} else {
 					print ( PICHTML "<A${target} HREF=\"");
 					if (($imageNum == $#{$imageNames[$pageNumber - 1]}) && $pageNumber != $numPages) {
d1314 1
a1314 2
+						$url = $imageNames[$pageNumber][0];
 					} else {
d1316 1
a1316 2
+						$url = $imageNames[$pageNumber - 1][${imageNum} + 1];
 					}
d1318 1
a1318 3
+					$url =~ s/(.*)\.\w+$/$1/;
+					print ( PICHTML escapeurl($url . $opt_pichtmlext));
 					print ( PICHTML "\"><IMG SRC=\"$iconImageUrls{'next'}\"",
d1320 2
a1321 3
+						" $iconImageSizes{'next'} TITLE=\"${opt_msg_next}\" ALT=\"${opt_msg_next}\" BORDER=0></A>\n");
 						
 				}
d1324 2
a1329 6
+			if ($opt_pichtmlputtitle && $opt_pichtmltitletop) {
+			    print ( PICHTML "${opt_pichtmltitlestart}${altlabel}${opt_pichtmltitleend}");
+			} elsif ($opt_pichtmlnav) {
+			    print ( PICHTML "<BR>");
+			}
+
d1343 4
d1350 1
a1350 1
@@@@ -2570,15 +2770,15 @@@@
d1370 1
a1370 1
@@@@ -2590,7 +2790,7 @@@@
d1379 1
a1379 1
@@@@ -2601,17 +2801,34 @@@@
d1419 1
a1419 1
@@@@ -2622,6 +2839,13 @@@@
d1433 1
a1433 1
@@@@ -2630,6 +2854,9 @@@@
d1443 1
a1443 1
@@@@ -2642,13 +2869,17 @@@@
d1463 1
a1463 1
@@@@ -2674,13 +2905,12 @@@@
d1481 1
a1481 1
@@@@ -2714,6 +2944,8 @@@@
d1490 1
a1490 1
@@@@ -2803,6 +3035,8 @@@@
d1499 1
a1499 1
@@@@ -3062,7 +3296,7 @@@@
d1508 1
a1508 1
@@@@ -3191,12 +3425,16 @@@@
d1526 1
a1526 1
@@@@ -3465,6 +3703,10 @@@@
d1537 1
a1537 1
@@@@ -3476,7 +3718,11 @@@@
d1550 1
a1550 1
@@@@ -3533,6 +3779,9 @@@@
d1560 1
a1560 1
@@@@ -3868,7 +4117,7 @@@@
d1569 1
a1569 1
@@@@ -3922,7 +4171,7 @@@@
d1578 1
a1578 1
@@@@ -4073,6 +4322,7 @@@@
d1586 1
a1586 1
@@@@ -4093,6 +4343,8 @@@@
d1595 1
a1595 1
@@@@ -4138,7 +4390,9 @@@@
d1605 1
a1605 1
@@@@ -4150,31 +4404,46 @@@@
d1660 1
a1660 1
@@@@ -4296,6 +4565,7 @@@@
d1668 1
a1668 1
@@@@ -4324,23 +4594,11 @@@@
d1696 1
a1696 1
@@@@ -4387,7 +4645,6 @@@@
d1704 1
a1704 1
@@@@ -4468,7 +4725,7 @@@@
@


1.64
log
@Update to latest version from the project cvs
@
text
@d5 2
a6 2
retrieving revision 1.163
diff -u -r1.117 -r1.163
d8 1
a8 1
+++ webmagick.in	5 Apr 2011 13:53:47 -0000	1.163
d13 1
a13 1
+# $Id: webmagick.in,v 1.163 2011/04/05 13:53:47 ache Exp $
d335 16
d700 1
a700 1
@@@@ -2128,14 +2238,15 @@@@
d713 2
a714 1
+    print( INDEX "  <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" )
d716 1
a716 1
     print( INDEX "  <META NAME=\"Author\" CONTENT=\"${opt_metaauthor}\">\n" )
d718 16
a733 1
     print( INDEX "  <META NAME=\"Description\" CONTENT=\"${opt_metadescription}\">\n" )
d808 1
a808 1
@@@@ -2224,7 +2331,8 @@@@
d813 2
a814 1
+    print( INDEX "  <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" )
d816 1
a816 1
     print( INDEX "  <META NAME=\"Author\" CONTENT=\"${opt_metaauthor}\">\n" )
d818 13
a830 2
     print( INDEX "  <META NAME=\"Description\" CONTENT=\"${opt_metadescription}\">\n" )
@@@@ -2239,20 +2347,21 @@@@
d926 1
a926 1
@@@@ -2361,7 +2468,8 @@@@
d931 2
a932 1
+    print( INDEX "  <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" )
d934 1
a934 1
     print( INDEX "  <META NAME=\"Author\" CONTENT=\"${opt_metaauthor}\">\n" )
d936 13
a948 2
     print( INDEX "  <META NAME=\"Description\" CONTENT=\"${opt_metadescription}\">\n" )
@@@@ -2376,35 +2484,70 @@@@
d990 1
a990 2
 	}
-	print( INDEX "$indexbar<BR>\n" );
d1013 2
a1014 1
+	}
d1035 1
a1035 1
@@@@ -2423,35 +2566,47 @@@@
d1047 1
d1051 1
a1051 1
 	
d1063 1
a1063 1
+		($altlabel = $pic) =~ s/(.*)\.\w+$/$1/i;
d1071 1
a1071 1
 			$pichtml = $pic . $opt_pichtmlext;
d1073 2
d1087 2
a1088 1
+			print( PICHTML "  <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" )
d1090 1
a1090 1
 			print( PICHTML "  <META NAME=\"Author\" CONTENT=\"${opt_metaauthor}\">\n" )
d1092 13
a1104 2
 			print( PICHTML "  <META NAME=\"Description\" CONTENT=\"${opt_metadescription}\">\n" )
@@@@ -2466,35 +2621,26 @@@@
d1148 2
d1154 1
a1154 1
@@@@ -2502,12 +2648,12 @@@@
d1169 1
a1169 1
@@@@ -2515,51 +2661,100 @@@@
d1200 1
a1200 1
+						print ( PICHTML escapeurl($imageNames[$pageNumber - 2][$#{$imageNames[$pageNumber - 2]}]) );
d1203 1
a1203 1
+						print ( PICHTML escapeurl($imageNames[$pageNumber - 1][${imageNum} - 1]) );
d1205 3
a1207 1
 					print ( PICHTML $opt_pichtmlext);
d1250 1
a1250 1
+						print ( PICHTML escapeurl($imageNames[$pageNumber][0]) );
d1253 1
a1253 1
+						print ( PICHTML escapeurl($imageNames[$pageNumber - 1][${imageNum} + 1]) );
d1255 3
a1257 1
 					print ( PICHTML $opt_pichtmlext);
d1275 1
a1275 1
+			if ($pic =~ /\.(jpg|jpeg?|gif|xbm|png)$/i) {
d1291 1
a1291 1
@@@@ -2570,15 +2765,15 @@@@
d1311 1
a1311 1
@@@@ -2590,7 +2785,7 @@@@
d1320 1
a1320 1
@@@@ -2601,17 +2796,34 @@@@
d1360 1
a1360 1
@@@@ -2622,6 +2834,13 @@@@
d1374 1
a1374 1
@@@@ -2630,6 +2849,9 @@@@
d1384 1
a1384 1
@@@@ -2642,13 +2864,17 @@@@
d1404 1
a1404 1
@@@@ -2674,13 +2900,12 @@@@
d1422 1
a1422 1
@@@@ -2714,6 +2939,8 @@@@
d1431 1
a1431 1
@@@@ -2803,6 +3030,8 @@@@
d1440 1
a1440 1
@@@@ -3062,7 +3291,7 @@@@
d1449 19
a1467 1
@@@@ -3465,6 +3694,10 @@@@
d1478 1
a1478 1
@@@@ -3476,7 +3709,11 @@@@
d1491 1
a1491 1
@@@@ -3533,6 +3770,9 @@@@
d1501 1
a1501 1
@@@@ -3868,7 +4108,7 @@@@
d1510 1
a1510 1
@@@@ -3922,7 +4162,7 @@@@
d1519 1
a1519 1
@@@@ -4073,6 +4313,7 @@@@
d1527 1
a1527 1
@@@@ -4093,6 +4334,8 @@@@
d1536 1
a1536 1
@@@@ -4138,7 +4381,9 @@@@
d1546 1
a1546 1
@@@@ -4150,31 +4395,46 @@@@
d1601 1
a1601 1
@@@@ -4296,6 +4556,7 @@@@
d1609 1
a1609 1
@@@@ -4324,23 +4585,11 @@@@
d1637 1
a1637 1
@@@@ -4387,7 +4636,6 @@@@
d1645 1
a1645 1
@@@@ -4468,7 +4716,7 @@@@
@


1.63
log
@Sync with latest project cvs
@
text
@d5 2
a6 2
retrieving revision 1.162
diff -u -r1.117 -r1.162
d8 1
a8 1
+++ webmagick.in	4 Apr 2011 00:06:12 -0000	1.162
d13 1
a13 1
+# $Id: webmagick.in,v 1.162 2011/04/04 00:06:12 ache Exp $
d786 8
a793 2
@@@@ -2242,17 +2350,14 @@@@
     
d807 2
d820 1
a820 1
@@@@ -2279,7 +2384,7 @@@@
d829 1
a829 1
@@@@ -2287,7 +2392,7 @@@@
d838 1
a838 1
@@@@ -2295,7 +2400,7 @@@@
d847 1
a847 1
@@@@ -2312,7 +2417,7 @@@@
d856 1
a856 1
@@@@ -2322,15 +2427,13 @@@@
d873 1
a873 1
@@@@ -2352,7 +2455,7 @@@@
d882 1
a882 1
@@@@ -2361,7 +2464,8 @@@@
d892 1
a892 1
@@@@ -2376,35 +2480,70 @@@@
d934 2
a935 1
+	}
d958 1
a958 2
 	}
-	print( INDEX "$indexbar<BR>\n" );
d979 1
a979 1
@@@@ -2423,35 +2562,47 @@@@
d1033 1
a1033 1
@@@@ -2466,35 +2617,26 @@@@
d1081 1
a1081 1
@@@@ -2502,12 +2644,12 @@@@
d1096 1
a1096 1
@@@@ -2515,51 +2657,100 @@@@
d1214 1
a1214 1
@@@@ -2570,15 +2761,15 @@@@
d1234 1
a1234 1
@@@@ -2590,7 +2781,7 @@@@
d1243 1
a1243 1
@@@@ -2601,17 +2792,34 @@@@
d1283 1
a1283 1
@@@@ -2622,6 +2830,13 @@@@
d1297 1
a1297 1
@@@@ -2630,6 +2845,9 @@@@
d1307 1
a1307 1
@@@@ -2642,13 +2860,17 @@@@
d1327 1
a1327 1
@@@@ -2674,13 +2896,12 @@@@
d1345 1
a1345 1
@@@@ -2714,6 +2935,8 @@@@
d1354 1
a1354 1
@@@@ -2803,6 +3026,8 @@@@
d1363 1
a1363 1
@@@@ -3062,7 +3287,7 @@@@
d1372 1
a1372 1
@@@@ -3465,6 +3690,10 @@@@
d1383 1
a1383 1
@@@@ -3476,7 +3705,11 @@@@
d1396 1
a1396 1
@@@@ -3533,6 +3766,9 @@@@
d1406 1
a1406 1
@@@@ -3868,7 +4104,7 @@@@
d1415 1
a1415 1
@@@@ -3922,7 +4158,7 @@@@
d1424 1
a1424 1
@@@@ -4073,6 +4309,7 @@@@
d1432 1
a1432 1
@@@@ -4093,6 +4330,8 @@@@
d1441 1
a1441 1
@@@@ -4138,7 +4377,9 @@@@
d1451 1
a1451 1
@@@@ -4150,31 +4391,46 @@@@
d1506 1
a1506 1
@@@@ -4296,6 +4552,7 @@@@
d1514 1
a1514 1
@@@@ -4324,23 +4581,11 @@@@
d1542 1
a1542 1
@@@@ -4387,7 +4632,6 @@@@
d1550 1
a1550 1
@@@@ -4468,7 +4712,7 @@@@
@


1.62
log
@Update from project cvs
@
text
@d5 2
a6 2
retrieving revision 1.161
diff -u -r1.117 -r1.161
d8 1
a8 1
+++ webmagick.in	15 Sep 2010 05:07:23 -0000	1.161
d13 1
a13 1
+# $Id: webmagick.in,v 1.161 2010/09/15 05:07:23 ache Exp $
d27 7
a33 1
@@@@ -117,6 +118,7 @@@@
d41 1
a41 1
@@@@ -144,12 +146,13 @@@@
d56 9
a64 1
@@@@ -167,6 +170,7 @@@@
d72 1
a72 1
@@@@ -212,6 +216,12 @@@@
d85 1
a85 1
@@@@ -237,14 +247,21 @@@@
d107 1
a107 1
@@@@ -368,6 +385,7 @@@@
d115 1
a115 1
@@@@ -376,6 +394,9 @@@@
d125 6
a130 1
@@@@ -386,15 +407,29 @@@@
d161 1
a161 1
@@@@ -491,8 +526,7 @@@@
d171 1
a171 1
@@@@ -539,6 +573,7 @@@@
d179 1
a179 1
@@@@ -596,12 +631,11 @@@@
d196 1
a196 1
@@@@ -616,16 +650,15 @@@@
d219 1
a219 1
@@@@ -640,16 +673,15 @@@@
d242 1
a242 1
@@@@ -664,16 +696,15 @@@@
d265 1
a265 1
@@@@ -756,6 +787,7 @@@@
d271 1
d274 2
a275 1
@@@@ -790,10 +822,11 @@@@
d289 4
a292 1
@@@@ -803,6 +836,7 @@@@
d300 1
a300 1
@@@@ -828,14 +862,21 @@@@
d322 1
a322 1
@@@@ -846,6 +887,12 @@@@
d335 1
a335 1
@@@@ -1187,7 +1234,6 @@@@
d343 1
a343 1
@@@@ -1329,7 +1375,6 @@@@
d351 1
a351 1
@@@@ -1346,34 +1391,50 @@@@
d409 1
a409 1
@@@@ -1383,11 +1444,25 @@@@
d436 1
a436 1
@@@@ -1396,6 +1471,7 @@@@
d444 1
a444 1
@@@@ -1405,11 +1481,14 @@@@
d460 1
a460 1
@@@@ -1431,6 +1510,7 @@@@
d468 1
a468 1
@@@@ -1446,10 +1526,9 @@@@
d481 1
a481 1
@@@@ -1461,6 +1540,7 @@@@
d489 1
a489 1
@@@@ -1510,9 +1590,7 @@@@
d500 1
a500 1
@@@@ -1520,10 +1598,18 @@@@
d521 1
a521 1
@@@@ -1576,7 +1662,7 @@@@
d530 3
a532 1
@@@@ -1597,6 +1683,7 @@@@
d534 1
d541 1
a541 1
@@@@ -1615,11 +1702,12 @@@@
d556 2
a557 1
@@@@ -1627,6 +1715,7 @@@@
d565 1
a565 1
@@@@ -1647,8 +1736,8 @@@@
d576 1
a576 1
@@@@ -1659,14 +1748,21 @@@@
d598 1
a598 1
@@@@ -1676,6 +1772,12 @@@@
d611 10
a620 1
@@@@ -1763,7 +1865,7 @@@@
d629 1
a629 1
@@@@ -1975,9 +2077,10 @@@@
d642 1
a642 1
@@@@ -1987,7 +2090,7 @@@@
d651 1
a651 1
@@@@ -1997,7 +2100,7 @@@@
d660 1
a660 1
@@@@ -2023,20 +2126,19 @@@@
d684 1
a684 1
@@@@ -2128,14 +2230,15 @@@@
d702 1
a702 1
@@@@ -2154,7 +2257,7 @@@@
d711 1
a711 1
@@@@ -2164,7 +2267,7 @@@@
d720 1
a720 1
@@@@ -2173,20 +2276,17 @@@@
d750 1
a750 1
@@@@ -2195,12 +2295,11 @@@@
d767 1
a767 1
@@@@ -2214,7 +2313,7 @@@@
d776 1
a776 1
@@@@ -2224,7 +2323,8 @@@@
d786 1
a786 1
@@@@ -2242,17 +2342,14 @@@@
d812 1
a812 1
@@@@ -2279,7 +2376,7 @@@@
d821 1
a821 1
@@@@ -2287,7 +2384,7 @@@@
d830 1
a830 1
@@@@ -2295,7 +2392,7 @@@@
d839 1
a839 1
@@@@ -2312,7 +2409,7 @@@@
d848 1
a848 1
@@@@ -2322,15 +2419,13 @@@@
d865 1
a865 1
@@@@ -2352,7 +2447,7 @@@@
d874 1
a874 1
@@@@ -2361,7 +2456,8 @@@@
d884 6
a889 1
@@@@ -2379,32 +2475,63 @@@@
d903 2
d971 1
a971 1
@@@@ -2423,35 +2550,47 @@@@
d1025 6
a1030 1
@@@@ -2469,32 +2608,19 @@@@
d1044 2
d1073 1
a1073 1
@@@@ -2502,12 +2628,12 @@@@
d1088 1
a1088 1
@@@@ -2515,51 +2641,100 @@@@
d1206 1
a1206 1
@@@@ -2570,15 +2745,15 @@@@
d1226 1
a1226 1
@@@@ -2590,7 +2765,7 @@@@
d1235 1
a1235 1
@@@@ -2601,17 +2776,34 @@@@
d1275 1
a1275 1
@@@@ -2622,6 +2814,13 @@@@
d1289 1
a1289 1
@@@@ -2630,6 +2829,9 @@@@
d1299 1
a1299 1
@@@@ -2642,13 +2844,17 @@@@
d1319 1
a1319 1
@@@@ -2674,13 +2880,12 @@@@
d1337 1
a1337 1
@@@@ -2714,6 +2919,8 @@@@
d1346 1
a1346 1
@@@@ -2803,6 +3010,8 @@@@
d1355 1
a1355 1
@@@@ -3062,7 +3271,7 @@@@
d1364 1
a1364 1
@@@@ -3465,6 +3674,10 @@@@
d1375 1
a1375 1
@@@@ -3476,7 +3689,11 @@@@
d1388 1
a1388 1
@@@@ -3533,6 +3750,9 @@@@
d1398 1
a1398 1
@@@@ -3868,7 +4088,7 @@@@
d1407 1
a1407 1
@@@@ -3922,7 +4142,7 @@@@
d1416 1
a1416 1
@@@@ -4073,6 +4293,7 @@@@
d1424 1
a1424 1
@@@@ -4093,6 +4314,8 @@@@
d1433 1
a1433 1
@@@@ -4138,6 +4361,7 @@@@
d1439 1
d1442 2
a1443 1
@@@@ -4150,31 +4374,45 @@@@
d1454 1
d1498 1
a1498 1
@@@@ -4296,6 +4534,7 @@@@
d1506 1
a1506 1
@@@@ -4324,23 +4563,11 @@@@
d1534 1
a1534 1
@@@@ -4387,7 +4614,6 @@@@
d1542 1
a1542 1
@@@@ -4468,7 +4694,7 @@@@
@


1.61
log
@Update from project CVS
@
text
@d5 2
a6 2
retrieving revision 1.159
diff -u -r1.117 -r1.159
d8 1
a8 1
+++ webmagick.in	24 Jul 2010 14:12:39 -0000	1.159
d13 1
a13 1
+# $Id: webmagick.in,v 1.159 2010/07/24 14:12:39 ache Exp $
d847 1
a847 1
@@@@ -2379,32 +2475,65 @@@@
d882 2
a883 5
+	} else {
+	    print( INDEX "<P>\n" );
 	}
 	print( INDEX "$indexbar<BR>\n" );
 
d902 1
a902 1
+	    print( INDEX "<FONT SIZE=\"-1\">${opt_msg_index_of_files}\"",
d904 5
a908 3
+		   "\"</FONT><BR>\n" );
+	}
+
d927 1
a927 1
@@@@ -2423,35 +2552,47 @@@@
d981 1
a981 1
@@@@ -2469,32 +2610,19 @@@@
d1022 1
a1022 1
@@@@ -2502,12 +2630,12 @@@@
d1037 1
a1037 1
@@@@ -2515,51 +2643,100 @@@@
d1155 1
a1155 1
@@@@ -2570,15 +2747,15 @@@@
d1175 1
a1175 1
@@@@ -2590,7 +2767,7 @@@@
d1184 1
a1184 1
@@@@ -2601,17 +2778,34 @@@@
d1224 1
a1224 1
@@@@ -2622,6 +2816,13 @@@@
d1238 1
a1238 1
@@@@ -2630,6 +2831,9 @@@@
d1248 1
a1248 1
@@@@ -2642,13 +2846,17 @@@@
d1268 1
a1268 1
@@@@ -2674,13 +2882,12 @@@@
d1286 1
a1286 1
@@@@ -2714,6 +2921,8 @@@@
d1295 1
a1295 1
@@@@ -2803,6 +3012,8 @@@@
d1304 1
a1304 1
@@@@ -3062,7 +3273,7 @@@@
d1313 1
a1313 1
@@@@ -3465,6 +3676,10 @@@@
d1324 1
a1324 1
@@@@ -3476,7 +3691,11 @@@@
d1337 1
a1337 1
@@@@ -3533,6 +3752,9 @@@@
d1347 1
a1347 1
@@@@ -3868,7 +4090,7 @@@@
d1356 1
a1356 1
@@@@ -3922,7 +4144,7 @@@@
d1365 1
a1365 1
@@@@ -4073,6 +4295,7 @@@@
d1373 1
a1373 1
@@@@ -4093,6 +4316,8 @@@@
d1382 1
a1382 1
@@@@ -4138,6 +4363,7 @@@@
d1390 1
a1390 1
@@@@ -4150,31 +4376,45 @@@@
d1444 1
a1444 1
@@@@ -4296,6 +4536,7 @@@@
d1452 1
a1452 1
@@@@ -4324,23 +4565,11 @@@@
d1480 1
a1480 1
@@@@ -4387,7 +4616,6 @@@@
d1488 1
a1488 1
@@@@ -4468,7 +4696,7 @@@@
@


1.60
log
@Sync with project's cvs
@
text
@d5 2
a6 2
retrieving revision 1.158
diff -u -r1.117 -r1.158
d8 1
a8 1
+++ webmagick.in	18 Jul 2010 09:27:17 -0000	1.158
d13 1
a13 1
+# $Id: webmagick.in,v 1.158 2010/07/18 09:27:17 ache Exp $
d959 1
a959 1
+	    $altlabel = escapehtml($opt_pichtmlaltstart . $altlabel . $opt_pichtmlaltend);
@


1.59
log
@Quote COORDS value and add ALT="" to pass HTML validators.

Feature safe:   yes
@
text
@d5 2
a6 2
retrieving revision 1.157
diff -u -r1.117 -r1.157
d8 1
a8 1
+++ webmagick.in	10 Jul 2010 21:34:55 -0000	1.157
d13 1
a13 1
+# $Id: webmagick.in,v 1.157 2010/07/10 21:34:55 ache Exp $
d71 1
a71 1
@@@@ -237,14 +247,20 @@@@
d75 1
d93 1
a93 1
@@@@ -368,6 +384,7 @@@@
d101 1
a101 1
@@@@ -376,6 +393,9 @@@@
d111 1
a111 1
@@@@ -386,15 +406,28 @@@@
d127 1
d142 1
a142 1
@@@@ -491,8 +524,7 @@@@
d152 1
a152 1
@@@@ -539,6 +571,7 @@@@
d160 1
a160 1
@@@@ -596,12 +629,11 @@@@
d177 1
a177 1
@@@@ -616,16 +648,15 @@@@
d200 1
a200 1
@@@@ -640,16 +671,15 @@@@
d223 1
a223 1
@@@@ -664,16 +694,15 @@@@
d246 1
a246 1
@@@@ -756,6 +785,7 @@@@
d254 1
a254 1
@@@@ -790,10 +820,11 @@@@
d268 1
a268 1
@@@@ -803,6 +834,7 @@@@
d276 1
a276 1
@@@@ -828,14 +860,20 @@@@
d280 1
d298 1
a298 1
@@@@ -846,6 +884,12 @@@@
d311 1
a311 1
@@@@ -1187,7 +1231,6 @@@@
d319 1
a319 1
@@@@ -1329,7 +1372,6 @@@@
d327 1
a327 1
@@@@ -1346,34 +1388,50 @@@@
d385 1
a385 1
@@@@ -1383,11 +1441,25 @@@@
d412 1
a412 1
@@@@ -1396,6 +1468,7 @@@@
d420 1
a420 1
@@@@ -1405,11 +1478,14 @@@@
d436 1
a436 1
@@@@ -1431,6 +1507,7 @@@@
d444 1
a444 1
@@@@ -1446,10 +1523,9 @@@@
d457 1
a457 1
@@@@ -1461,6 +1537,7 @@@@
d465 1
a465 1
@@@@ -1510,9 +1587,7 @@@@
d476 1
a476 1
@@@@ -1520,10 +1595,18 @@@@
d497 1
a497 1
@@@@ -1576,7 +1659,7 @@@@
d506 1
a506 1
@@@@ -1597,6 +1680,7 @@@@
d514 1
a514 1
@@@@ -1615,11 +1699,12 @@@@
d529 1
a529 1
@@@@ -1627,6 +1712,7 @@@@
d537 1
a537 1
@@@@ -1647,8 +1733,8 @@@@
d548 1
a548 1
@@@@ -1659,14 +1745,20 @@@@
d552 1
d570 1
a570 1
@@@@ -1676,6 +1768,12 @@@@
d583 1
a583 1
@@@@ -1763,7 +1861,7 @@@@
d592 1
a592 1
@@@@ -1975,9 +2073,10 @@@@
d605 1
a605 1
@@@@ -1987,7 +2086,7 @@@@
d614 1
a614 1
@@@@ -1997,7 +2096,7 @@@@
d623 1
a623 1
@@@@ -2023,20 +2122,19 @@@@
d647 1
a647 1
@@@@ -2128,14 +2226,15 @@@@
d665 1
a665 1
@@@@ -2154,7 +2253,7 @@@@
d674 1
a674 1
@@@@ -2164,7 +2263,7 @@@@
d683 1
a683 1
@@@@ -2173,20 +2272,17 @@@@
d713 1
a713 1
@@@@ -2195,12 +2291,11 @@@@
d730 1
a730 1
@@@@ -2214,7 +2309,7 @@@@
d739 1
a739 1
@@@@ -2224,7 +2319,8 @@@@
d749 1
a749 1
@@@@ -2242,17 +2338,14 @@@@
d775 1
a775 1
@@@@ -2279,7 +2372,7 @@@@
d784 1
a784 1
@@@@ -2287,7 +2380,7 @@@@
d793 1
a793 1
@@@@ -2295,7 +2388,7 @@@@
d802 1
a802 1
@@@@ -2312,7 +2405,7 @@@@
d811 1
a811 1
@@@@ -2322,15 +2415,13 @@@@
d828 1
a828 1
@@@@ -2352,7 +2443,7 @@@@
d837 1
a837 1
@@@@ -2361,7 +2452,8 @@@@
d847 1
a847 1
@@@@ -2379,32 +2471,65 @@@@
d928 1
a928 1
@@@@ -2423,35 +2548,46 @@@@
d956 1
d982 1
a982 1
@@@@ -2469,32 +2605,19 @@@@
d1023 1
a1023 1
@@@@ -2502,12 +2625,12 @@@@
d1038 1
a1038 1
@@@@ -2515,51 +2638,100 @@@@
d1156 1
a1156 1
@@@@ -2570,15 +2742,15 @@@@
d1176 1
a1176 1
@@@@ -2590,7 +2762,7 @@@@
d1185 1
a1185 1
@@@@ -2601,17 +2773,34 @@@@
d1225 1
a1225 1
@@@@ -2622,6 +2811,13 @@@@
d1239 1
a1239 1
@@@@ -2630,6 +2826,9 @@@@
d1249 1
a1249 1
@@@@ -2642,13 +2841,17 @@@@
d1269 1
a1269 1
@@@@ -2674,13 +2877,12 @@@@
d1287 1
a1287 1
@@@@ -2714,6 +2916,8 @@@@
d1296 1
a1296 1
@@@@ -2803,6 +3007,8 @@@@
d1305 1
a1305 1
@@@@ -3062,7 +3268,7 @@@@
d1314 1
a1314 1
@@@@ -3465,6 +3671,10 @@@@
d1325 1
a1325 1
@@@@ -3476,7 +3686,11 @@@@
d1338 1
a1338 1
@@@@ -3533,6 +3747,9 @@@@
d1348 1
a1348 1
@@@@ -3868,7 +4085,7 @@@@
d1357 1
a1357 1
@@@@ -3922,7 +4139,7 @@@@
d1366 1
a1366 1
@@@@ -4073,6 +4290,7 @@@@
d1374 1
a1374 1
@@@@ -4093,6 +4311,8 @@@@
d1383 1
a1383 1
@@@@ -4138,6 +4358,7 @@@@
d1391 1
a1391 1
@@@@ -4150,31 +4371,44 @@@@
d1413 1
d1445 1
a1445 1
@@@@ -4296,6 +4530,7 @@@@
d1453 1
a1453 1
@@@@ -4324,23 +4559,11 @@@@
d1481 1
a1481 1
@@@@ -4387,7 +4610,6 @@@@
d1489 1
a1489 1
@@@@ -4468,7 +4690,7 @@@@
@


1.58
log
@Update to the latest snapshot from the project CVS
@
text
@d5 2
a6 2
retrieving revision 1.155
diff -u -r1.117 -r1.155
d8 1
a8 1
+++ webmagick.in	24 Aug 2009 02:31:29 -0000	1.155
d13 1
a13 1
+# $Id: webmagick.in,v 1.155 2009/08/24 02:31:29 ache Exp $
d1056 1
a1056 1
+					    " $iconImageSizes{'prev_gray'} BORDER=0>\n");
d1104 1
a1104 1
+					    " $iconImageSizes{'next_gray'} BORDER=0>\n");
d1151 1
a1151 1
@@@@ -2570,14 +2742,14 @@@@
d1156 1
d1158 1
a1158 1
 				       escapeurl($pichtml), "\" SHAPE=RECT COORDS=", $imageThumbCoords[$pageNumber - 1][$imageNum],">\n" );
d1165 1
d1167 1
a1167 1
 				       "\" SHAPE=RECT COORDS=", $imageThumbCoords[$pageNumber - 1][$imageNum],">\n" );
d1170 1
@


1.57
log
@Update to the latest variant from the project CVS
@
text
@d5 2
a6 2
retrieving revision 1.154
diff -u -r1.117 -r1.154
d8 1
a8 1
+++ webmagick.in	26 Jul 2006 03:36:05 -0000	1.154
d13 1
a13 1
+# $Id: webmagick.in,v 1.154 2006/07/26 03:36:05 ache Exp $
d1297 9
@


1.56
log
@Update to latest variant from project CVS (part II)
@
text
@d5 2
a6 2
retrieving revision 1.153
diff -u -r1.117 -r1.153
d8 1
a8 1
+++ webmagick.in	28 Dec 2005 21:44:47 -0000	1.153
d13 1
a13 1
+# $Id: webmagick.in,v 1.153 2005/12/28 21:44:47 ache Exp $
d588 1
a588 1
@@@@ -1975,7 +2073,8 @@@@
d596 2
a597 1
 	  "SRC=\"$iconImageUrls{'up'}\" $iconImageSizes{'up'} ALT=\"^\" BORDER=0></A>" .
d599 20
d635 2
a636 1
 		    $dirhtml .= "<A HREF=\"${url}\"><IMG SRC=\"$iconImageUrls{'ball'}\" $iconImageSizes{'ball'} ALT=\"*\" BORDER=0></A>";
d780 36
a815 1
@@@@ -2329,8 +2422,6 @@@@
d1018 7
a1024 1
@@@@ -2507,7 +2630,7 @@@@
d1033 8
a1040 1
@@@@ -2521,45 +2644,94 @@@@
d1071 2
a1072 1
 						" $iconImageSizes{'prev'} ALT=\"${opt_msg_prev}\" BORDER=0></A>\n");
d1086 1
a1086 1
+						" $iconImageSizes{'up'} ALT=\"${opt_msg_up}\" BORDER=0></A>\n");
d1119 2
a1120 1
 						" $iconImageSizes{'next'} ALT=\"${opt_msg_next}\" BORDER=0></A>\n");
@


1.55
log
@Update to latest variant from project CVS
@
text
@d5 2
a6 2
retrieving revision 1.151
diff -u -r1.117 -r1.151
d8 1
a8 1
+++ webmagick.in	28 Dec 2005 20:25:54 -0000	1.151
d13 1
a13 1
+# $Id: webmagick.in,v 1.151 2005/12/28 20:25:54 ache Exp $
d1363 1
a1363 1
@@@@ -4324,23 +4559,10 @@@@
d1386 2
a1387 1
+    s/([^0-9a-zA-Z_.!~*'()-])/sprintf("%%%02x", ord($1))/eg;
d1391 1
a1391 1
@@@@ -4387,7 +4609,6 @@@@
d1399 1
a1399 1
@@@@ -4468,7 +4689,7 @@@@
@


1.54
log
@Yet one update to project CVS
@
text
@d5 2
a6 2
retrieving revision 1.150
diff -u -r1.117 -r1.150
d8 1
a8 1
+++ webmagick.in	20 Nov 2004 05:22:55 -0000	1.150
d13 1
a13 1
+# $Id: webmagick.in,v 1.150 2004/11/20 05:22:55 ache Exp $
d1363 1
a1363 1
@@@@ -4324,22 +4559,10 @@@@
d1384 3
a1386 3
+    # ' is here because some bots (Google) goes crazy on "xxx'xxx"
+    s/([][\x00-\x20"#%'<>^`{|}~\x7F-\xFF])/sprintf("%%%02x", ord($1))/eg;
     s:\\:/:g; # replace \ with / for better URLs
d1389 2
a1390 1
@@@@ -4387,7 +4610,6 @@@@
d1398 1
a1398 1
@@@@ -4468,7 +4690,7 @@@@
@


1.53
log
@Update to latest variant from project CVS
@
text
@d5 2
a6 2
retrieving revision 1.149
diff -u -r1.117 -r1.149
d8 1
a8 1
+++ webmagick.in	20 Nov 2004 04:11:43 -0000	1.149
d13 1
a13 1
+# $Id: webmagick.in,v 1.149 2004/11/20 04:11:43 ache Exp $
d1066 1
a1066 1
+			    print( PICHTML "<IMG SRC=\"", escapeurl($pic), "\" BORDER=0 ALT=\"${altlabel}\">" );
d1084 1
a1084 1
+				print( INDEX "  <AREA${target} ALT=\"${altlabel}\" HREF=\"",
d1092 1
a1092 1
+				print( INDEX "  <AREA ALT=\"${altlabel}\" HREF=\"", escapeurl($pic),
d1111 1
a1111 1
+				       "\" $thumbImageSizes{$pic} ALT=\"${altlabel}\" BORDER=0>");
d1115 1
a1115 1
+				       "\" ALT=\"${altlabel}\" BORDER=0>");
@


1.52
log
@Update to latest project CVS
@
text
@d5 2
a6 2
retrieving revision 1.148
diff -u -r1.117 -r1.148
d8 1
a8 1
+++ webmagick.in	16 Jun 2004 14:47:03 -0000	1.148
d13 1
a13 1
+# $Id: webmagick.in,v 1.148 2004/06/16 14:47:03 ache Exp $
d1079 17
@


1.51
log
@Update from project CVS
@
text
@d5 2
a6 2
retrieving revision 1.147
diff -u -r1.117 -r1.147
d8 1
a8 1
+++ webmagick.in	30 May 2004 18:54:37 -0000	1.147
d13 1
a13 1
+# $Id: webmagick.in,v 1.147 2004/05/30 18:54:37 ache Exp $
d626 1
a626 1
+    print( INDEX "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\">\n<HTML>\n<HEAD>\n" );
d693 1
a693 1
+    print( INDEX "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<HTML>\n<HEAD>\n" );
d709 1
a709 1
+    print( INDEX "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<HTML>\n<HEAD>\n" );
d772 1
a772 1
+    print( INDEX "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<HTML>\n<HEAD>\n" );
d906 1
a906 1
+			print( PICHTML "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<HTML>\n<HEAD>\n" );
d1180 1
a1180 1
+    print( JSINDEX "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<HTML>\n<HEAD>\n" );
@


1.50
log
@Update to latest variant from project CVS
@
text
@d5 2
a6 2
retrieving revision 1.146
diff -u -r1.117 -r1.146
d8 1
a8 1
+++ webmagick.in	27 May 2004 23:42:17 -0000	1.146
d13 1
a13 1
+# $Id: webmagick.in,v 1.146 2004/05/27 23:42:17 ache Exp $
d700 1
a700 1
+    print( INDEX '<SCRIPT TYPE="text/javascript">\n' );
d1186 1
a1186 1
+    print( JSINDEX '<SCRIPT TYPE="text/javascript">\n');
@


1.49
log
@Update to latest variant from project's CVS
@
text
@d5 2
a6 2
retrieving revision 1.145
diff -u -r1.117 -r1.145
d8 1
a8 1
+++ webmagick.in	27 May 2004 12:32:06 -0000	1.145
d13 1
a13 1
+# $Id: webmagick.in,v 1.145 2004/05/27 12:32:06 ache Exp $
d35 1
a35 9
@@@@ -124,6 +126,7 @@@@
     $opt_lowresmin,
     $opt_coloralink,
     $opt_colorback,
+    $opt_tablebackcolor,
     $opt_colorfore,
     $opt_colorlink,
     $opt_colorvlink,
@@@@ -144,12 +147,13 @@@@
d50 1
a50 1
@@@@ -167,6 +171,7 @@@@
d58 1
a58 1
@@@@ -212,6 +217,12 @@@@
d71 1
a71 1
@@@@ -237,14 +248,20 @@@@
d92 1
a92 1
@@@@ -368,6 +385,7 @@@@
d100 1
a100 1
@@@@ -376,6 +394,9 @@@@
d110 1
a110 1
@@@@ -386,15 +407,28 @@@@
d140 1
a140 1
@@@@ -491,8 +525,7 @@@@
d150 1
a150 1
@@@@ -539,6 +572,7 @@@@
d158 1
a158 1
@@@@ -596,12 +630,11 @@@@
d175 1
a175 1
@@@@ -616,16 +649,15 @@@@
d198 1
a198 1
@@@@ -640,16 +672,15 @@@@
d221 1
a221 1
@@@@ -664,16 +695,15 @@@@
d244 1
a244 1
@@@@ -756,6 +786,7 @@@@
d252 1
a252 1
@@@@ -790,10 +821,11 @@@@
d266 1
a266 1
@@@@ -803,6 +835,7 @@@@
d274 1
a274 1
@@@@ -828,14 +861,20 @@@@
d295 1
a295 1
@@@@ -846,6 +885,12 @@@@
d308 1
a308 1
@@@@ -1187,7 +1232,6 @@@@
d316 1
a316 1
@@@@ -1329,7 +1373,6 @@@@
d324 1
a324 1
@@@@ -1346,34 +1389,50 @@@@
d382 1
a382 1
@@@@ -1383,11 +1442,25 @@@@
d409 1
a409 1
@@@@ -1396,6 +1469,7 @@@@
d417 1
a417 1
@@@@ -1405,11 +1479,14 @@@@
d433 1
a433 1
@@@@ -1431,6 +1508,7 @@@@
d441 1
a441 1
@@@@ -1446,10 +1524,9 @@@@
d454 1
a454 1
@@@@ -1461,6 +1538,7 @@@@
d462 1
a462 1
@@@@ -1510,9 +1588,7 @@@@
d473 1
a473 1
@@@@ -1520,10 +1596,18 @@@@
d494 1
a494 1
@@@@ -1576,7 +1660,7 @@@@
d503 1
a503 1
@@@@ -1597,6 +1681,7 @@@@
d511 1
a511 1
@@@@ -1615,11 +1700,12 @@@@
d526 1
a526 1
@@@@ -1627,6 +1713,7 @@@@
d534 1
a534 1
@@@@ -1647,8 +1734,8 @@@@
d545 1
a545 1
@@@@ -1659,14 +1746,20 @@@@
d566 1
a566 1
@@@@ -1676,6 +1769,12 @@@@
d570 3
a572 3
+	 'tablebackcolor'       => $opt_tablebackcolor,
+	 'fancytables'          => $opt_fancytables,
+	 'fancytableheight'     => $opt_fancytableheight,
d579 1
a579 1
@@@@ -1763,7 +1862,7 @@@@
d588 1
a588 1
@@@@ -1975,7 +2074,8 @@@@
d598 1
a598 1
@@@@ -2023,20 +2123,19 @@@@
d621 1
a621 1
@@@@ -2128,14 +2227,15 @@@@
d639 1
a639 1
@@@@ -2154,7 +2254,7 @@@@
d648 1
a648 1
@@@@ -2164,7 +2264,7 @@@@
d657 1
a657 1
@@@@ -2173,20 +2273,17 @@@@
d687 1
a687 1
@@@@ -2195,12 +2292,11 @@@@
d704 1
a704 1
@@@@ -2214,7 +2310,7 @@@@
d713 1
a713 1
@@@@ -2224,7 +2320,8 @@@@
d723 1
a723 1
@@@@ -2242,17 +2339,14 @@@@
d749 1
a749 1
@@@@ -2279,7 +2373,7 @@@@
d758 1
a758 1
@@@@ -2329,8 +2423,6 @@@@
d767 1
a767 1
@@@@ -2352,7 +2444,7 @@@@
d776 1
a776 1
@@@@ -2361,7 +2453,8 @@@@
d786 1
a786 1
@@@@ -2379,32 +2472,65 @@@@
d867 1
a867 1
@@@@ -2423,35 +2549,46 @@@@
d920 1
a920 1
@@@@ -2469,32 +2606,19 @@@@
d961 1
a961 1
@@@@ -2507,7 +2631,7 @@@@
d970 1
a970 1
@@@@ -2521,45 +2645,94 @@@@
d1079 1
a1079 1
@@@@ -2590,7 +2763,7 @@@@
d1088 1
a1088 1
@@@@ -2601,17 +2774,34 @@@@
d1128 1
a1128 1
@@@@ -2622,6 +2812,13 @@@@
d1142 1
a1142 1
@@@@ -2630,6 +2827,9 @@@@
d1152 1
a1152 1
@@@@ -2642,13 +2842,17 @@@@
d1172 1
a1172 1
@@@@ -2674,13 +2878,12 @@@@
d1190 1
a1190 1
@@@@ -2714,6 +2917,8 @@@@
d1199 1
a1199 1
@@@@ -2803,6 +3008,8 @@@@
d1208 1
a1208 1
@@@@ -3465,6 +3672,10 @@@@
d1219 1
a1219 1
@@@@ -3476,7 +3687,11 @@@@
d1232 1
a1232 1
@@@@ -3533,6 +3748,9 @@@@
d1242 1
a1242 1
@@@@ -3868,7 +4086,7 @@@@
d1251 1
a1251 1
@@@@ -3922,7 +4140,7 @@@@
d1260 1
a1260 1
@@@@ -4073,6 +4291,7 @@@@
d1268 1
a1268 1
@@@@ -4093,6 +4312,8 @@@@
d1277 1
a1277 1
@@@@ -4138,6 +4359,7 @@@@
d1285 1
a1285 1
@@@@ -4150,31 +4372,44 @@@@
d1338 1
a1338 1
@@@@ -4296,6 +4531,7 @@@@
d1346 1
a1346 1
@@@@ -4324,22 +4560,10 @@@@
d1372 1
a1372 1
@@@@ -4387,7 +4611,6 @@@@
d1380 1
a1380 1
@@@@ -4468,7 +4691,7 @@@@
@


1.48
log
@Put Index_of close to the map
@
text
@d5 2
a6 2
retrieving revision 1.139
diff -u -r1.117 -r1.139
d8 1
a8 1
+++ webmagick.in	27 May 2004 01:26:54 -0000	1.139
d13 1
a13 1
+# $Id: webmagick.in,v 1.139 2004/05/27 01:26:54 ache Exp $
d332 1
a332 1
@@@@ -1346,6 +1389,9 @@@@
d342 1
a342 1
@@@@ -1353,27 +1399,35 @@@@
d344 2
a345 1
 	if( !defined(%dirTitles) || (  compareHash(\%dirTitles,\%tmp_dirTitles) ) ) {
a347 2
-		if $opt_debug;
-	    ++$doIndexHtml;
d353 6
a358 1
 	}	
d369 1
d371 1
d390 7
a396 1
@@@@ -1388,6 +1442,19 @@@@
d401 1
a401 1
+	    print( STDERR "Image labels unchanged from last run.\n") if $opt_debug;
d405 2
a406 1
+	if( $opt_pichtml && (!defined(%imageCaptions) || (  compareHash(\%imageCaptions,\%tmp_imageCaptions)))) {
d417 25
a441 1
@@@@ -1431,6 +1498,7 @@@@
d449 1
a449 1
@@@@ -1446,10 +1514,9 @@@@
d462 1
a462 1
@@@@ -1461,6 +1528,7 @@@@
d470 1
a470 1
@@@@ -1510,9 +1578,7 @@@@
d481 1
a481 1
@@@@ -1520,10 +1586,18 @@@@
d502 1
a502 1
@@@@ -1576,7 +1650,7 @@@@
d511 1
a511 1
@@@@ -1597,6 +1671,7 @@@@
d519 1
a519 1
@@@@ -1615,11 +1690,12 @@@@
d534 1
a534 1
@@@@ -1627,6 +1703,7 @@@@
d542 1
a542 1
@@@@ -1647,8 +1724,8 @@@@
d553 1
a553 1
@@@@ -1659,14 +1736,20 @@@@
d574 1
a574 1
@@@@ -1676,6 +1759,12 @@@@
d587 1
a587 1
@@@@ -1763,7 +1852,7 @@@@
d596 1
a596 1
@@@@ -1975,7 +2064,8 @@@@
d606 1
a606 1
@@@@ -2023,20 +2113,19 @@@@
d629 1
a629 1
@@@@ -2128,14 +2217,15 @@@@
d647 1
a647 1
@@@@ -2154,7 +2244,7 @@@@
d656 1
a656 1
@@@@ -2164,7 +2254,7 @@@@
d665 1
a665 1
@@@@ -2173,20 +2263,17 @@@@
d695 1
a695 1
@@@@ -2195,12 +2282,11 @@@@
d712 1
a712 1
@@@@ -2214,7 +2300,7 @@@@
d721 1
a721 1
@@@@ -2224,7 +2310,8 @@@@
d731 1
a731 1
@@@@ -2242,17 +2329,14 @@@@
d757 1
a757 1
@@@@ -2279,7 +2363,7 @@@@
d766 1
a766 1
@@@@ -2329,8 +2413,6 @@@@
d775 1
a775 1
@@@@ -2352,7 +2434,7 @@@@
d784 1
a784 1
@@@@ -2361,7 +2443,8 @@@@
d794 1
a794 1
@@@@ -2379,32 +2462,67 @@@@
d831 3
a833 3
+	}
+	print( INDEX "$indexbar\n" );
+
d852 1
a852 1
+	    print( INDEX "<p><FONT SIZE=\"-1\">${opt_msg_index_of_files}\"",
d854 3
a856 6
+		   "\"</FONT></p>\n" );
+	} else {
+	    print( INDEX "<BR>\n" );
 	}
-	print( INDEX "$indexbar<BR>\n" );
 
d875 1
a875 1
@@@@ -2423,35 +2541,46 @@@@
d928 1
a928 1
@@@@ -2469,32 +2598,19 @@@@
d969 1
a969 1
@@@@ -2507,7 +2623,7 @@@@
d978 1
a978 1
@@@@ -2521,45 +2637,94 @@@@
d1087 1
a1087 1
@@@@ -2590,7 +2755,7 @@@@
d1096 1
a1096 1
@@@@ -2601,17 +2766,34 @@@@
d1136 1
a1136 1
@@@@ -2622,6 +2804,13 @@@@
d1150 1
a1150 1
@@@@ -2630,6 +2819,9 @@@@
d1160 1
a1160 1
@@@@ -2642,13 +2834,17 @@@@
d1180 1
a1180 1
@@@@ -2674,13 +2870,12 @@@@
d1198 19
a1216 1
@@@@ -3465,6 +3660,10 @@@@
d1227 1
a1227 1
@@@@ -3476,7 +3675,11 @@@@
d1240 11
a1250 1
@@@@ -3868,7 +4071,7 @@@@
d1259 1
a1259 1
@@@@ -3922,7 +4125,7 @@@@
d1268 1
a1268 1
@@@@ -4073,6 +4276,7 @@@@
d1276 1
a1276 1
@@@@ -4093,6 +4297,8 @@@@
d1285 1
a1285 1
@@@@ -4138,6 +4344,7 @@@@
d1293 1
a1293 1
@@@@ -4150,31 +4357,44 @@@@
d1346 1
a1346 1
@@@@ -4296,6 +4516,7 @@@@
d1354 1
a1354 1
@@@@ -4324,22 +4545,10 @@@@
d1380 1
a1380 1
@@@@ -4387,7 +4596,6 @@@@
d1388 1
a1388 1
@@@@ -4468,7 +4676,7 @@@@
@


1.47
log
@Fix mess with titles
@
text
@d5 2
a6 2
retrieving revision 1.137
diff -u -r1.117 -r1.137
d8 1
a8 1
+++ webmagick.in	27 May 2004 00:25:52 -0000	1.137
d13 1
a13 1
+# $Id: webmagick.in,v 1.137 2004/05/27 00:25:52 ache Exp $
d528 1
a528 1
+	 'pichtmltitletop'      => !$opt_pichtml ? 0 : $opt_pichtmltitletop,
d757 1
a757 1
@@@@ -2379,32 +2462,62 @@@@
d784 4
d791 8
a798 6
+	    print( STDERR "Using custom PageDescription\n") if $opt_debug
 	# 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" );
+	} elsif( !$opt_frames || $opt_framestyle == 1 ) {
d816 4
a819 3
+		   $desc1, "\" ${opt_msg_index_through}", " \"", $desc2, 
+		   "\"</FONT></p>\n" )
+		     if ($opt_indexinfo);
d821 1
a821 1
 	print( INDEX "$indexbar<BR>\n" );
d841 1
a841 1
@@@@ -2423,35 +2536,46 @@@@
d894 1
a894 1
@@@@ -2469,32 +2593,19 @@@@
d935 1
a935 1
@@@@ -2507,7 +2618,7 @@@@
d944 1
a944 1
@@@@ -2521,31 +2632,68 @@@@
d1022 1
a1022 1
@@@@ -2553,13 +2701,25 @@@@
d1025 1
a1025 1
 				
a1026 5
+				print ( PICHTML "<BR>");
+			}
+
+			if ($opt_pichtmlputtitle && $opt_pichtmltitletop) {
+			    print ( PICHTML "${opt_pichtmltitlestart}${altlabel}${opt_pichtmltitleend}");
d1031 6
d1053 1
a1053 1
@@@@ -2590,7 +2750,7 @@@@
d1062 1
a1062 1
@@@@ -2601,17 +2761,34 @@@@
d1102 1
a1102 1
@@@@ -2622,6 +2799,13 @@@@
d1116 1
a1116 1
@@@@ -2630,6 +2814,9 @@@@
d1126 1
a1126 1
@@@@ -2642,13 +2829,17 @@@@
d1146 1
a1146 1
@@@@ -2674,13 +2865,12 @@@@
d1164 1
a1164 1
@@@@ -3465,6 +3655,10 @@@@
d1175 1
a1175 1
@@@@ -3476,7 +3670,11 @@@@
d1188 1
a1188 1
@@@@ -3868,7 +4066,7 @@@@
d1197 1
a1197 1
@@@@ -3922,7 +4120,7 @@@@
d1206 1
a1206 1
@@@@ -4073,6 +4271,7 @@@@
d1214 1
a1214 1
@@@@ -4093,6 +4292,8 @@@@
d1223 1
a1223 1
@@@@ -4138,6 +4339,7 @@@@
d1231 1
a1231 1
@@@@ -4150,31 +4352,44 @@@@
d1284 1
a1284 1
@@@@ -4296,6 +4511,7 @@@@
d1292 1
a1292 1
@@@@ -4324,22 +4540,10 @@@@
d1318 1
a1318 1
@@@@ -4387,7 +4591,6 @@@@
d1326 1
a1326 1
@@@@ -4468,7 +4671,7 @@@@
@


1.46
log
@Update to latest variant from project's CVS

PR:             67070 (partially)
Submitted by:   Vladimir I. Chukharev <chu@@h33.erkki.ton.tut.fi>
@
text
@d5 2
a6 2
retrieving revision 1.136
diff -u -r1.117 -r1.136
d8 1
a8 1
+++ webmagick.in	26 May 2004 23:28:43 -0000	1.136
d13 1
a13 1
+# $Id: webmagick.in,v 1.136 2004/05/26 23:28:43 ache Exp $
d140 1
d143 2
a144 2
 $opt_pichtmlputtitle    = 1;    # Write picture title above it
+$opt_pichtmltitletop    = 1;     # Put picture title at top
d887 1
a887 1
@@@@ -2469,32 +2593,32 @@@@
d917 5
a921 13
+			if ($opt_pichtmlputtitle && $opt_pichtmltitletop) {
+			    print ( PICHTML "${opt_pichtmltitlestart}${altlabel}${opt_pichtmltitleend}");
+			    if (defined( $imageLabels{$pic} ) ) {
+				print( PICHTML "$imageLabels{$pic}" );
+			    } elsif ( '' ne '' ) {
+			    # else if ( "${altlabel}" ne '' ) {
+				print( PICHTML "${altlabel}" );
+			    } else {	
 				print( PICHTML "$pic");
 			    }
 			    print ( PICHTML "${opt_pichtmltitleend}");
 			}
 
d928 1
a928 1
@@@@ -2507,7 +2631,7 @@@@
d937 1
a937 1
@@@@ -2521,31 +2645,68 @@@@
d1015 1
a1015 1
@@@@ -2553,13 +2714,43 @@@@
d1021 4
a1028 13
+	                #BRAD added to put picture title at top
+			if ($opt_pichtmlputtitle && $opt_pichtmltitletop) {
+			    print ( PICHTML "${opt_pichtmltitlestart}");
+			    if (defined( $imageCaptions{$pic})) {
+				print( PICHTML "$imageCaptions{$pic}");
+			    } elsif (defined( $imageLabels{$pic})) {
+				print( PICHTML "$imageLabels{$pic}");
+			    } else {
+				print( PICHTML "$pic");
+			    }
+			    print ( PICHTML "${opt_pichtmltitleend}");
+			}
+
a1039 1
+	                #BRAD added to put picture title at bottom
d1041 1
a1041 9
+			    print ( PICHTML "${opt_pichtmltitlestart}");
+			    if (defined( $imageCaptions{$pic})) {
+				print( PICHTML "$imageCaptions{$pic}");
+			    } elsif (defined( $imageLabels{$pic})) {
+				print( PICHTML "$imageLabels{$pic}");
+			    } else {
+				print( PICHTML "$pic");
+			    }
+			    print ( PICHTML "${opt_pichtmltitleend}");
d1045 1
a1045 1
@@@@ -2590,7 +2781,7 @@@@
d1054 1
a1054 1
@@@@ -2601,17 +2792,34 @@@@
d1094 1
a1094 1
@@@@ -2622,6 +2830,13 @@@@
d1108 1
a1108 1
@@@@ -2630,6 +2845,9 @@@@
d1118 1
a1118 1
@@@@ -2642,13 +2860,17 @@@@
d1138 1
a1138 1
@@@@ -2674,13 +2896,12 @@@@
d1156 1
a1156 1
@@@@ -3465,6 +3686,10 @@@@
d1167 1
a1167 1
@@@@ -3476,7 +3701,11 @@@@
d1180 1
a1180 1
@@@@ -3868,7 +4097,7 @@@@
d1189 1
a1189 1
@@@@ -3922,7 +4151,7 @@@@
d1198 1
a1198 1
@@@@ -4073,6 +4302,7 @@@@
d1206 1
a1206 1
@@@@ -4093,6 +4323,8 @@@@
d1215 1
a1215 1
@@@@ -4138,6 +4370,7 @@@@
d1223 1
a1223 1
@@@@ -4150,31 +4383,44 @@@@
d1276 1
a1276 1
@@@@ -4296,6 +4542,7 @@@@
d1284 1
a1284 1
@@@@ -4324,22 +4571,10 @@@@
d1310 1
a1310 1
@@@@ -4387,7 +4622,6 @@@@
d1318 1
a1318 1
@@@@ -4468,7 +4702,7 @@@@
@


1.45
log
@Update to latest project CVS variant
@
text
@d5 2
a6 2
retrieving revision 1.129
diff -u -r1.117 -r1.129
d8 1
a8 1
+++ webmagick.in	21 Feb 2004 02:27:24 -0000	1.129
d13 1
a13 1
+# $Id: webmagick.in,v 1.129 2004/02/21 02:27:24 ache Exp $
d17 42
a58 1
@@@@ -167,6 +167,7 @@@@
d66 1
a66 1
@@@@ -212,6 +213,9 @@@@
d70 3
d79 1
a79 1
@@@@ -237,8 +241,11 @@@@
d89 1
d91 1
d93 8
a100 1
@@@@ -368,6 +375,7 @@@@
d108 11
a118 1
@@@@ -386,13 +394,19 @@@@
d122 3
d130 1
d140 2
d143 1
d145 4
a148 1
@@@@ -492,7 +506,7 @@@@
d151 1
a151 1
 $opt_framebordersize	= 3 ;		# Pixels allocated to frame border
d157 9
a165 1
@@@@ -596,12 +610,11 @@@@
d170 3
a172 2
+'<FRAMESET COLS=\"132,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize} FRAMESPACING=${opt_framebordersize}>
  <FRAME SRC=\"${dirframelink}\" NAME=\"${opt_frame_name_dirview}\"
d174 1
a174 1
  <FRAME SRC=\"${pageframelink}\" NAME=\"${opt_frame_name_imageview}\"
d177 1
d182 1
a182 1
@@@@ -616,16 +629,15 @@@@
d188 4
a191 3
+'<FRAMESET COLS=\"145,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize} FRAMESPACING=${opt_framebordersize}>
+ <FRAMESET ROWS=\"20%,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize} FRAMESPACING=${opt_framebordersize}>
   <FRAME SRC=\"${dirframelink}\" NAME=\"${opt_frame_name_dirview}\"
d193 2
a194 1
   <FRAME SRC=\"${pageframelink}\" NAME=\"${opt_frame_name_thumbview}\"
d197 1
a197 1
  <FRAME SRC=\"${imageFrameLink}\" NAME=\"${opt_frame_name_imageview}\"
d200 1
d205 1
a205 1
@@@@ -640,16 +652,15 @@@@
d210 3
a212 2
+'<FRAMESET COLS=\"132,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize} FRAMESPACING=${opt_framebordersize}>
  <FRAME SRC=\"${dirframelink}\" NAME=\"${opt_frame_name_dirview}\"
d215 3
a217 2
+ <FRAMESET ROWS=\"150,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize} FRAMESPACING=${opt_framebordersize}>
    <FRAME SRC=\"${pageframelink}\" NAME=\"${opt_frame_name_thumbview}\"
d219 2
a220 1
    <FRAME SRC=\"${imageFrameLink}\" NAME=\"${opt_frame_name_imageview}\"
d228 1
a228 1
@@@@ -664,16 +675,15 @@@@
d233 3
a235 2
+'<FRAMESET ROWS=\"172,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize} FRAMESPACING=${opt_framebordersize}>
  <FRAME SRC=\"${pageframelink}\" NAME=\"${opt_frame_name_thumbview}\"
d238 3
a240 2
+ <FRAMESET COLS=\"132,*\" FRAMEBORDER=${opt_frameborder} BORDER=${opt_framebordersize} FRAMESPACING=${opt_framebordersize}>
    <FRAME SRC=\"${dirframelink}\" NAME=\"${opt_frame_name_dirview}\"
d242 2
a243 1
    <FRAME SRC=\"${imageFrameLink}\" NAME=\"${opt_frame_name_imageview}\"
d251 14
a264 1
@@@@ -793,7 +803,7 @@@@
d267 1
a267 1
 		'framebordersize=i'	=> \$opt_framebordersize,
d273 1
a273 1
@@@@ -803,6 +813,7 @@@@
d281 1
a281 1
@@@@ -828,8 +839,11 @@@@
d291 1
d293 1
d295 8
a302 1
@@@@ -846,6 +860,9 @@@@
d306 3
d315 27
a341 1
@@@@ -1353,9 +1370,11 @@@@
d356 109
a464 1
@@@@ -1576,7 +1595,7 @@@@
d473 15
a487 1
@@@@ -1619,7 +1638,7 @@@@
d490 1
a490 1
 	 'framebordersize'      => !$opt_frames ? 0 : $opt_framebordersize,
d496 1
a496 1
@@@@ -1627,6 +1646,7 @@@@
d504 1
a504 1
@@@@ -1647,8 +1667,8 @@@@
d515 1
a515 1
@@@@ -1659,8 +1679,11 @@@@
d525 1
d527 1
d529 8
a536 1
@@@@ -1676,6 +1699,9 @@@@
d540 3
d549 51
a599 1
@@@@ -2135,7 +2161,8 @@@@
d609 19
a627 1
@@@@ -2173,20 +2200,17 @@@@
d657 27
a683 1
@@@@ -2224,7 +2248,8 @@@@
d693 1
a693 1
@@@@ -2242,17 +2267,14 @@@@
d719 28
a746 1
@@@@ -2361,7 +2383,8 @@@@
d756 1
a756 1
@@@@ -2379,16 +2402,13 @@@@
d780 2
a781 1
@@@@ -2397,14 +2417,21 @@@@
d783 4
d788 1
a788 1
 	if( !$opt_frames || $opt_framestyle == 1 ) {
d791 17
d809 3
a811 6
+		  escapehtml($imageNames[$pageNumber - 1][0]),
+		  "\" ${opt_msg_index_through}",
+		  " \"",
+		  escapehtml($imageNames[$pageNumber - 1][$numimages-1]),
+		  "\"</FONT></p>\n" )
+			if ($opt_indexinfo);
d818 1
d822 8
d833 15
a847 1
@@@@ -2433,25 +2460,34 @@@@
d871 2
a872 1
 			print( PICHTML "<HTML>\n<HEAD>\n" );
d886 1
a886 1
@@@@ -2469,28 +2505,19 @@@@
d911 1
a911 1
 			if ($opt_pichtmlputtitle) {
d916 1
a916 3
-				print( PICHTML "$pic");
-			    }
-			    print ( PICHTML "${opt_pichtmltitleend}");
d918 9
d930 34
a963 1
@@@@ -2526,9 +2553,9 @@@@
d975 36
a1010 1
@@@@ -2543,9 +2570,9 @@@@
d1022 6
a1027 2
@@@@ -2556,10 +2583,14 @@@@
 				print ( PICHTML "</NOBR><BR>");
d1032 13
d1054 13
d1070 10
a1079 1
@@@@ -2601,12 +2632,19 @@@@
d1093 1
d1100 1
a1100 1
 						
d1103 17
a1119 1
@@@@ -2622,6 +2660,8 @@@@
d1123 5
d1133 73
a1205 1
@@@@ -3868,7 +3908,7 @@@@
d1214 1
a1214 1
@@@@ -3922,7 +3962,7 @@@@
d1223 1
a1223 1
@@@@ -4073,6 +4113,7 @@@@
d1231 26
a1256 1
@@@@ -4156,25 +4197,33 @@@@
d1275 1
a1275 1
+  --pichtmllink      Per-image HTML link (default "")
d1277 2
d1286 2
d1291 3
a1293 3
   --framemarginwidth Pixels allocated to frame margin in horizontal direction
   --framemarginheight Pixels allocated to frame margin in vertical direction
   --framebordersize  Pixels allocated to frame border
d1295 3
a1297 1
+  --frameborder      Enable (1) or disable (0) decorative frame borders
d1301 1
a1301 1
@@@@ -4296,6 +4345,7 @@@@
d1309 1
a1309 1
@@@@ -4324,22 +4374,10 @@@@
d1335 17
@


1.44
log
@Upgrade to latest variant from project CVS
@
text
@d5 2
a6 2
retrieving revision 1.128
diff -u -r1.117 -r1.128
d8 1
a8 1
+++ webmagick.in	19 Jan 2004 22:12:20 -0000	1.128
d13 1
a13 1
+# $Id: webmagick.in,v 1.128 2004/01/19 22:12:20 ache Exp $
d198 16
a213 1
@@@@ -1576,7 +1593,7 @@@@
d222 1
a222 1
@@@@ -1619,7 +1636,7 @@@@
d231 1
a231 1
@@@@ -1627,6 +1644,7 @@@@
d239 1
a239 1
@@@@ -1647,8 +1665,8 @@@@
d250 1
a250 1
@@@@ -1659,8 +1677,11 @@@@
d262 1
a262 1
@@@@ -1676,6 +1697,9 @@@@
d272 1
a272 1
@@@@ -2135,7 +2159,8 @@@@
d282 1
a282 1
@@@@ -2173,20 +2198,17 @@@@
d312 1
a312 1
@@@@ -2224,7 +2246,8 @@@@
d322 1
a322 1
@@@@ -2242,17 +2265,14 @@@@
d348 1
a348 1
@@@@ -2361,7 +2381,8 @@@@
d358 1
a358 1
@@@@ -2379,16 +2400,13 @@@@
d382 1
a382 1
@@@@ -2397,14 +2415,21 @@@@
d407 1
a407 1
@@@@ -2433,25 +2458,34 @@@@
d445 1
a445 1
@@@@ -2469,28 +2503,19 @@@@
d482 1
a482 1
@@@@ -2526,9 +2551,9 @@@@
d494 1
a494 1
@@@@ -2543,9 +2568,9 @@@@
d506 1
a506 1
@@@@ -2556,10 +2581,14 @@@@
d524 1
a524 1
@@@@ -2601,12 +2630,19 @@@@
d547 1
a547 1
@@@@ -2622,6 +2658,8 @@@@
d556 1
a556 1
@@@@ -3868,7 +3906,7 @@@@
d565 1
a565 1
@@@@ -3922,7 +3960,7 @@@@
d574 1
a574 1
@@@@ -4073,6 +4111,7 @@@@
d582 1
a582 1
@@@@ -4156,25 +4195,33 @@@@
d621 1
a621 1
@@@@ -4296,6 +4343,7 @@@@
d629 1
a629 1
@@@@ -4324,22 +4372,10 @@@@
@


1.43
log
@Prev. update was incomplete
@
text
@d5 2
a6 2
retrieving revision 1.127
diff -u -r1.117 -r1.127
d8 1
a8 1
+++ webmagick.in	19 Oct 2003 09:06:14 -0000	1.127
d13 1
a13 1
+# $Id: webmagick.in,v 1.127 2003/10/19 09:06:14 ache Exp $
d17 19
a35 1
@@@@ -237,6 +237,8 @@@@
d43 1
d45 19
a63 1
@@@@ -391,6 +393,8 @@@@
d71 1
d73 3
a75 1
@@@@ -492,7 +496,7 @@@@
d84 1
a84 1
@@@@ -596,12 +600,11 @@@@
d99 1
a99 1
@@@@ -616,16 +619,15 @@@@
d119 1
a119 1
@@@@ -640,16 +642,15 @@@@
d139 1
a139 1
@@@@ -664,16 +665,15 @@@@
d159 1
a159 1
@@@@ -793,7 +793,7 @@@@
d168 9
a176 1
@@@@ -828,6 +828,8 @@@@
d184 1
d186 22
a207 1
@@@@ -1619,7 +1621,7 @@@@
d216 20
a235 1
@@@@ -1659,6 +1661,8 @@@@
d243 1
d245 13
a257 1
@@@@ -2135,7 +2139,8 @@@@
d267 1
a267 1
@@@@ -2173,20 +2178,17 @@@@
d297 1
a297 1
@@@@ -2224,7 +2226,8 @@@@
d307 1
a307 1
@@@@ -2242,17 +2245,14 @@@@
d333 1
a333 1
@@@@ -2361,7 +2361,8 @@@@
d343 1
a343 1
@@@@ -2379,16 +2380,13 @@@@
d367 1
a367 1
@@@@ -2397,8 +2395,12 @@@@
d378 2
a379 1
+		  "\"</FONT></p>\n" );
d383 10
a392 1
@@@@ -2433,25 +2435,34 @@@@
d430 1
a430 1
@@@@ -2469,28 +2480,19 @@@@
d467 1
a467 1
@@@@ -2526,9 +2528,9 @@@@
d479 1
a479 1
@@@@ -2543,9 +2545,9 @@@@
d491 1
a491 1
@@@@ -2556,10 +2558,10 @@@@
d498 5
a502 1
+			    print( PICHTML "<IMG SRC=\"", escapeurl($pic), "\" ALT=\"${altlabel}\">" );
d509 1
a509 1
@@@@ -2601,12 +2603,16 @@@@
d523 6
a528 3
+			print (INDEX "</A><BR><FONT SIZE=\"-1\">",
+				escapehtml($tableImageLabels{$imageNames[$pageNumber - 1][$imageNum]}),
+				"</FONT></TD>\n");
d532 36
a567 1
@@@@ -4156,25 +4162,29 @@@@
d573 3
d586 1
d606 1
a606 1
@@@@ -4296,6 +4306,7 @@@@
d614 1
a614 1
@@@@ -4324,22 +4335,10 @@@@
@


1.42
log
@Update from latest project CVS
@
text
@d5 2
a6 2
retrieving revision 1.126
diff -u -r1.117 -r1.126
d8 1
a8 1
+++ webmagick.in	19 Oct 2003 08:12:35 -0000	1.126
d13 1
a13 1
+# $Id: webmagick.in,v 1.126 2003/10/19 08:12:35 ache Exp $
d195 11
a205 1
@@@@ -2242,17 +2244,14 @@@@
d231 11
a241 1
@@@@ -2379,16 +2378,13 @@@@
d265 1
a265 1
@@@@ -2397,8 +2393,12 @@@@
d280 1
a280 1
@@@@ -2433,22 +2433,30 @@@@
d312 7
a318 2
 			print( PICHTML "  <META NAME=\"GENERATOR\" CONTENT=\"WebMagick/$webmagickInfo{version} [WebMagick]\">\n" );
@@@@ -2469,28 +2477,19 @@@@
d355 1
a355 1
@@@@ -2526,9 +2525,9 @@@@
d367 1
a367 1
@@@@ -2543,9 +2542,9 @@@@
d379 1
a379 1
@@@@ -2556,10 +2555,10 @@@@
d393 1
a393 1
@@@@ -2601,12 +2600,16 @@@@
d413 1
a413 1
@@@@ -4156,25 +4159,29 @@@@
d448 1
a448 1
@@@@ -4296,6 +4303,7 @@@@
d456 1
a456 1
@@@@ -4324,22 +4332,10 @@@@
@


1.41
log
@Update to the latest version from project CVS
@
text
@d5 2
a6 2
retrieving revision 1.125
diff -u -r1.117 -r1.125
d8 1
a8 1
+++ webmagick.in	18 Jul 2003 00:27:35 -0000	1.125
d13 1
a13 1
+# $Id: webmagick.in,v 1.125 2003/07/18 00:27:35 ache Exp $
d155 11
a165 1
@@@@ -2173,20 +2177,17 @@@@
d195 1
a195 1
@@@@ -2242,17 +2243,14 @@@@
d221 1
a221 1
@@@@ -2379,16 +2377,13 @@@@
d245 1
a245 1
@@@@ -2397,8 +2392,12 @@@@
d260 1
a260 1
@@@@ -2433,22 +2432,30 @@@@
d293 1
a293 1
@@@@ -2469,28 +2476,19 @@@@
d330 1
a330 1
@@@@ -2526,9 +2524,9 @@@@
d342 1
a342 1
@@@@ -2543,9 +2541,9 @@@@
d354 1
a354 1
@@@@ -2556,10 +2554,10 @@@@
d368 1
a368 1
@@@@ -2601,12 +2599,16 @@@@
d388 1
a388 1
@@@@ -4156,25 +4158,29 @@@@
d423 1
a423 1
@@@@ -4296,6 +4302,7 @@@@
d431 1
a431 1
@@@@ -4324,22 +4331,10 @@@@
@


1.40
log
@Update from project CVS
@
text
@d5 2
a6 2
retrieving revision 1.124
diff -u -r1.117 -r1.124
d8 1
a8 1
+++ webmagick.in	2 Jun 2003 09:35:07 -0000	1.124
d13 1
a13 1
+# $Id: webmagick.in,v 1.124 2003/06/02 09:35:07 ache Exp $
d17 19
a35 1
@@@@ -492,7 +492,7 @@@@
d44 1
a44 1
@@@@ -596,12 +596,11 @@@@
d59 1
a59 1
@@@@ -616,16 +615,15 @@@@
d79 1
a79 1
@@@@ -640,16 +638,15 @@@@
d99 1
a99 1
@@@@ -664,16 +661,15 @@@@
d119 1
a119 1
@@@@ -793,7 +789,7 @@@@
d128 10
a137 1
@@@@ -1619,7 +1615,7 @@@@
d146 10
a155 1
@@@@ -2173,20 +2169,17 @@@@
d185 1
a185 1
@@@@ -2242,17 +2235,14 @@@@
d211 1
a211 1
@@@@ -2379,16 +2369,13 @@@@
d235 1
a235 1
@@@@ -2397,8 +2384,12 @@@@
d250 1
a250 1
@@@@ -2433,22 +2424,30 @@@@
d266 1
a266 1
+	    $altlabel = escapehtml($altlabel);
d283 1
a283 1
@@@@ -2469,28 +2468,19 @@@@
d320 1
a320 1
@@@@ -2526,9 +2516,9 @@@@
d332 1
a332 1
@@@@ -2543,9 +2533,9 @@@@
d344 1
a344 1
@@@@ -2556,10 +2546,10 @@@@
d358 1
a358 1
@@@@ -2601,12 +2591,16 @@@@
d378 27
a404 1
@@@@ -4174,7 +4168,7 @@@@
d413 1
a413 1
@@@@ -4296,6 +4290,7 @@@@
d421 1
a421 1
@@@@ -4324,22 +4319,10 @@@@
@


1.39
log
@Fix minor mistake in prev. commit
@
text
@d5 2
a6 2
retrieving revision 1.123
diff -u -r1.117 -r1.123
d8 1
a8 1
+++ webmagick.in	30 Jan 2003 12:22:14 -0000	1.123
d13 1
a13 1
+# $Id: webmagick.in,v 1.123 2003/01/30 12:22:14 ache Exp $
d17 103
a119 1
@@@@ -2173,17 +2173,14 @@@@
d144 6
a149 2
     print( INDEX "</BODY>\n</NOFRAMES>\n</HTML>" );
@@@@ -2242,17 +2239,14 @@@@
d175 1
a175 1
@@@@ -2379,16 +2373,13 @@@@
d199 1
a199 1
@@@@ -2397,8 +2388,12 @@@@
d214 1
a214 1
@@@@ -2433,22 +2428,30 @@@@
d247 1
a247 1
@@@@ -2469,28 +2472,19 @@@@
d284 1
a284 1
@@@@ -2526,9 +2520,9 @@@@
d296 1
a296 1
@@@@ -2543,9 +2537,9 @@@@
d308 1
a308 1
@@@@ -2556,10 +2550,10 @@@@
d322 1
a322 1
@@@@ -2601,12 +2595,16 @@@@
d342 10
a351 1
@@@@ -4296,6 +4294,7 @@@@
d359 1
a359 1
@@@@ -4324,22 +4323,10 @@@@
@


1.38
log
@Update to the latest variant from the project CVS
@
text
@d5 2
a6 2
retrieving revision 1.122
diff -u -r1.117 -r1.122
d8 1
a8 1
+++ webmagick.in	30 Jan 2003 12:02:29 -0000	1.122
d13 1
a13 1
+# $Id: webmagick.in,v 1.122 2003/01/30 12:02:29 ache Exp $
d244 2
a245 1
@@@@ -4325,21 +4324,8 @@@@
d248 1
@


1.37
log
@Update to the latest variant from the project CVS
@
text
@d5 2
a6 2
retrieving revision 1.119
diff -u -r1.117 -r1.119
d8 1
a8 1
+++ webmagick.in	30 Jan 2003 04:19:33 -0000	1.119
d13 1
a13 1
+# $Id: webmagick.in,v 1.119 2003/01/30 04:19:33 ache Exp $
d93 16
a108 1
@@@@ -2433,7 +2424,9 @@@@
d118 8
a125 1
@@@@ -2441,6 +2434,12 @@@@
d129 1
a129 7
+			if (defined($imageLabels{$pic})) {
+			    $altlabel = $imageLabels{$pic};
+			} else {
+			    ($altlabel = $pic) =~ s/(.*)\.\w+$/$1/i;
+			    $altlabel =~ y/_/ /; # Usual space replacement in file name
+			}
 
d132 1
a132 1
@@@@ -2448,7 +2447,7 @@@@
d137 1
a137 1
+			print( PICHTML "  <TITLE>", escapehtml($altlabel), "</TITLE>\n" );
d141 1
a141 1
@@@@ -2469,27 +2468,20 @@@@
d167 1
a167 1
 			    print ( PICHTML "${opt_pichtmltitlestart}");
d173 2
a174 2
+			    print ( PICHTML escapehtml($altlabel));
 			    print ( PICHTML "${opt_pichtmltitleend}");
d177 26
a202 1
@@@@ -2556,10 +2548,10 @@@@
d209 1
a209 1
+			    print( PICHTML "<IMG SRC=\"", escapeurl($pic), "\" ALT=\"", escapehtml($altlabel), "\">" );
d216 21
a236 1
@@@@ -4296,6 +4288,7 @@@@
d244 24
@


1.36
log
@Update to the latest variant from the project CVS
@
text
@d5 2
a6 2
retrieving revision 1.118
diff -u -r1.117 -r1.118
d8 1
a8 1
+++ webmagick.in	29 Jan 2003 23:52:55 -0000	1.118
d13 1
a13 1
+# $Id: webmagick.in,v 1.118 2003/01/29 23:52:55 ache Exp $
d93 33
a125 1
@@@@ -2469,16 +2460,13 @@@@
d149 34
@


1.35
log
@Upgrade to 2.03pre3
@
text
@d4 5
a8 5
retrieving revision 1.114
retrieving revision 1.116
diff -u -r1.114 -r1.116
--- webmagick.in	25 Sep 2002 01:00:20 -0000	1.114
+++ webmagick.in	23 Oct 2002 00:57:06 -0000	1.116
d12 2
a13 2
-# $Id: webmagick.in,v 1.114 2002/09/25 01:00:20 clindell Exp $
+# $Id: webmagick.in,v 1.116 2002/10/23 00:57:06 ache Exp $
d17 53
a69 30
@@@@ -1595,9 +1595,6 @@@@
 	 'address'		=> $opt_address,	 
 	 'anonymous'		=> $opt_anonymous,
 	 'backgroundimg'	=> $opt_icons{'background'},
-	 'lowres'			=> $opt_lowres,
-	 'lowresdir'             => !$opt_lowres ? "" : $opt_lowresdir,
-	 'lowresformat'			=> !$opt_lowres ? "" : $opt_lowresformat,
 	 'cachedir'             => !$opt_tables ? "" : $opt_cachedir,
 	 'cacheformat'          => !$opt_tables ? "" : $opt_cacheformat,
 	 'coloralink'		=> $opt_coloralink,
@@@@ -1636,6 +1633,9 @@@@
 	 'jsfunctions'          => !$opt_javascript ? "" : $fileNames{'jsFunctions'},
 	 'jspageindex'          => !$opt_javascript ? "" : $fileNames{'jsPageIndex'},
 	 'jsvariables'          => !$opt_javascript ? "" : $fileNames{'jsVariables'},
+	 'lowres'               => $opt_lowres,
+	 'lowresdir'            => !$opt_lowres ? "" : $opt_lowresdir,
+	 'lowresformat'         => !$opt_lowres ? "" : $opt_lowresformat,
 	 'metaauthor'		=> $opt_metaauthor,
 	 'metacharset'          => $opt_metacharset,
 	 'metaclassification'	=> $opt_metaclassification,
@@@@ -2937,11 +2937,13 @@@@
 					       $opt_forcelowres, $opt_lowresgeom,
 					       $opt_lowresformat, $opt_lowresmin,
 					       0, 0);
+		undef @@$image; # Only delete image data, not object
+
 		if ($rc == -1) {
+		    print("Trying next image...\n");
 		    next READ;
 		}
d71 20
a90 2
-		undef @@$image; # Only delete image data, not object
 	    }
d92 2
a93 10
 	    #then do the thumbnail
@@@@ -2951,7 +2953,9 @@@@
 					   $opt_cacheformat, $opt_cachemin,
 					   $opt_thumbprehook, $opt_thumbposthook);
 	    if ($rc == -1) {
-			next READ;
+		undef @@$image; # Only delete image data, not object
+		print("Trying next image...\n");
+		next READ;
 	    }
d95 20
a114 38
 	    #
@@@@ -2959,8 +2963,6 @@@@
 	    #
 	    push(@@$thumbs, @@$image);
 	     
-	    #print( STDERR "Freeing $imagename ...\n") if $opt_debug;
-             
 	    # Only delete image data, not object
 	    undef @@$image;
 	}
@@@@ -3698,7 +3700,6 @@@@
 		print( STDERR "Reading $cachename ...\n" ) if $opt_debug;
 		$status = $image->Read("$cachename");
 		if ("$status") {
-			undef @@$image;						# Only delete image data, not object
 			handleMagickError( __FILE__, __LINE__, $cachename, $status);
 			return -1;								# Try to read next image
 		}
@@@@ -3731,14 +3732,16 @@@@
 		# scaled sizes) but not smaller.
 		# This uses a feature available in PerlMagick 1.12 and beyond
 		$status = $image->Set(size=>$a_geometry);
-		handleMagickError( __FILE__, __LINE__, "$a_geometry", $status) if "$status";
+		if ("$status") {
+			handleMagickError( __FILE__, __LINE__, "$a_geometry", $status);
+			return -1;								# Try to read next image		    }
+		}
 		
 		# Read image
 		print( STDERR "Reading ${imagename}\[0\] with geometry ${a_geometry}...\n" ) if $opt_debug;
 		$status = $image->Read("${imagename}\[0\]");
-		if ("$status" && handleMagickError( __FILE__, __LINE__, $imagename, $status)) {
-			undef @@$image;						# Only delete image data, not object
-			print("Trying next image ...\n" );
+		if ("$status") {
+			handleMagickError( __FILE__, __LINE__, $imagename, $status);
 			return -1;								# Try to read next image		    }
 		}
d116 1
a116 49
@@@@ -3802,7 +3805,6 @@@@
 			}
 		    
 			if ("$status") {
-				undef @@$image;					# Only delete image data, not object
 				handleMagickError( __FILE__, __LINE__, $imagename, $status);
 				return -1;							# Try to read next image
 			}
@@@@ -3826,7 +3828,10 @@@@
 
 			# Apply comment to thumbnail image
 			$status = $image->Comment( $comment );
-			handleMagickError( __FILE__, __LINE__, $cachename, $status) if "$status";
+			if ("$status") {
+				handleMagickError( __FILE__, __LINE__, $cachename, $status);
+				return -1;
+			}
 		    
 			print( STDERR "Writing ${cachename} ...\n" )
 			    if $opt_debug;
@@@@ -3844,7 +3849,10 @@@@
 							filename=>"${a_cacheformat}:${cachename}"
 						       );
 			}
-			handleMagickError( __FILE__, __LINE__, $cachename, $status) if "$status";
+			if ("$status") {
+				handleMagickError( __FILE__, __LINE__, $cachename, $status);
+				return -1;
+			}
 			if (! $a_lowres) {
 			# TODO: for some reason, the output looks like these are getting put in twice, once with .cache/
 				$thumbImageSizes{$imagename} = html_imgsize($cachename);
@@@@ -3916,12 +3924,12 @@@@
 	    print( STDERR "Applying image label: \"${label}\"\n" )
 		if $opt_debug;
 	    $status = $image->Label( $label );
-	    handleMagickError( __FILE__, __LINE__, $imagename, $status) if "$status";
+	    if ("$status") {
+		    handleMagickError( __FILE__, __LINE__, $imagename, $status);
+		    return -1;
+	    }
 	}
 	
-	undef @@$image;
-	undef $image;
-
 	return 0;
 }
 ######################################################################
@


1.34
log
@Update to latest patch from project CVS
@
text
@@


1.33
log
@Upgrade to 2.03pre2
@
text
@d1 16
a16 2
--- webmagick.orig	Wed Oct 23 03:50:49 2002
+++ webmagick.in	Wed Oct 23 04:25:13 2002
d37 2
a38 1
@@@@ -2938,6 +2938,8 @@@@
d41 2
a43 1
+		    # @@$image already deleted
d48 4
d57 1
a57 1
+		# @@$image already deleted
d63 18
a80 1
@@@@ -3731,14 +3735,18 @@@@
a85 1
+			undef @@$image;
a96 1
+			undef @@$image;
d101 9
a109 1
@@@@ -3826,7 +3834,11 @@@@
a114 1
+				undef @@$image;
d121 1
a121 1
@@@@ -3844,7 +3856,11 @@@@
a126 1
+				undef @@$image;
d133 1
a133 1
@@@@ -3916,12 +3932,13 @@@@
a138 1
+		    undef @@$image;
@


1.32
log
@Update from latest project CVS
@
text
@d1 3
a3 64
Index: webmagick.in
===================================================================
RCS file: /cvsroot/webmagick/WebMagick/webmagick.in,v
retrieving revision 1.102
retrieving revision 1.112
diff -u -r1.102 -r1.112
--- webmagick.in	21 Aug 2002 20:36:28 -0000	1.102
+++ webmagick.in	7 Sep 2002 16:35:38 -0000	1.112
@@@@ -1,6 +1,6 @@@@
 #! @@PERL@@
 #
-# $Id: webmagick.in,v 1.102 2002/08/21 20:36:28 clindell Exp $
+# $Id: webmagick.in,v 1.112 2002/09/07 16:35:38 ache Exp $
 #
 # You are looking at the main PERL script for WebMagick, a package to
 # intelligently create HTML and JavaScript index files and imagemaps
@@@@ -122,7 +122,6 @@@@
     $opt_lowresformat,
     $opt_lowresgeom,
     $opt_lowresmin,
-    $opt_lowresgeometry,
     $opt_coloralink,
     $opt_colorback,
     $opt_colorfore,
@@@@ -302,7 +301,7 @@@@
 $opt_serversidemap = 0;         # Enable server-side maps writting
 				
 $perlVarsVersion = 0; # default this to 0 for it to be overidden by appropriate status files				
-$requiredPerlVarsVersion = 2.2; # need this version to avoid regeneration of files
+$requiredPerlVarsVersion = 2.3; # need this version to avoid regeneration of files
 
 #
 # RC files
@@@@ -459,11 +458,10 @@@@
 					#  this size will not be cached.
 
 #PMF: I have added a low resolution of the pictures, by default 640x480
-$opt_lowresgeometry	= '640x480+2+2>'; # Size of low resolution images (width x height)
 $opt_lowres		= 1;		# Cache low resolution images
 $opt_lowresdir		= '.640x480';	# Subdirectory to cache low resolution images in
 $opt_lowresformat	= 'JPEG';	# Format to use for low resolution images
-$opt_lowresgeom		= $opt_lowresgeometry; # Low Resolution Images geometry
+$opt_lowresgeom         = '640x480+2+2>'; # Size of low resolution images (width x height)
 $opt_lowresmin		= 640*480;	# Smallest image to cache in total pixels
 					#  (width * height).  Images smaller than
 					#  this size will not be cached.
@@@@ -769,7 +767,6 @@@@
 		'lowresformat=s'		=> \$opt_lowresformat,
 		'lowresgeom=s'		=> \$opt_lowresgeom,
 		'lowresmin=i'		=> \$opt_lowresmin,
-		'lowresgeometry=s'	=> \$opt_lowresgeometry,
 		'coloralink=s'		=> \$opt_coloralink,
 		'colorback=s'		=> \$opt_colorback,
 		'colorfore=s'		=> \$opt_colorfore,
@@@@ -1214,6 +1211,8 @@@@
     #	close LOCKFILE;
     #}	
 
+    # XXX: lowres implemented for javascript only
+    $opt_lowres = 0 if !$opt_javascript;
 
     $currentDate = strftime ($opt_msg_date_format, localtime);
 
@@@@ -1596,8 +1595,8 @@@@
d7 5
a11 4
-	 'cachedir'             => $opt_cachedir,
-	 'lowresdir'             => $opt_lowresdir,
+	 'cachedir'             => !$opt_tables ? "" : $opt_cachedir,
+	 'cacheformat'          => !$opt_tables ? "" : $opt_cacheformat,
d13 13
a25 119
 	 'colorback'		=> $opt_colorback,
 	 'colorfore'		=> $opt_colorfore,
@@@@ -1675,7 +1674,7 @@@@
 	 'subdirectories'       => !$opt_frames ? "" : join(' ',@@dirNames),
 	 'tables'		=> $opt_tables,
 	 'title'		=> $pageTitle,
-	 'version'		=> $webmagickInfo{'version'},
+	 'version'              => $opt_anonymous ? "" : $webmagickInfo{'version'},
 	 );
 
     # Compute a conglomeration of all parameters that effect the HTML
@@@@ -1903,38 +1902,40 @@@@
     #
     # Clean up cached thumbnails
     #
-    if( $opt_cache && -d $opt_cachedir ) {
+    if( ($opt_cache || $opt_tables) && -d $opt_cachedir ) {
+        my @@extra;
+        my %tarray;
+
         opendir( CACHEDIR, "$opt_cachedir")
             || die("$0: Failed to open directory $opt_cachedir\n$@@\n");
         @@cacheFiles = grep(!/$excludeRegex/io,readdir( CACHEDIR ));
         closedir( CACHEDIR );
-    }
-    {
-        my @@extra;
-        my %tarray;
 
-        grep( $tarray{$_}++, @@imgfiles );
+	grep( $tarray{"$_.\L${opt_cacheformat}"}++, @@imgfiles );
         @@extra = grep( $_ = "$opt_cachedir/$_", grep( ! $tarray{$_}, @@cacheFiles ));
-        print( STDERR "Removing extra cache files @@extra\n") if $opt_debug;
-        unlink( @@extra );
+	if ($#extra >= 0) {
+	    print( STDERR "Removing extra cache files @@extra\n") if $opt_debug;
+	    unlink( @@extra );
+	}
     }
     #
     # Clean up cached low resolution images
     #
     if( $opt_lowres && -d $opt_lowresdir ) {
+        my @@extra;
+        my %tarray;
+
         opendir( LOWRESDIR, "$opt_lowresdir")
             || die("$0: Failed to open directory $opt_lowresdir\n$@@\n");
         @@lowresFiles = grep(!/$excludeRegex/io,readdir( LOWRESDIR ));
         closedir( LOWRESDIR );
-    }
-    {
-        my @@extra;
-        my %tarray;
 
-        grep( $tarray{$_}++, @@imgfiles );
+	grep( $tarray{"$_.\L${opt_lowresformat}"}++, @@imgfiles );
         @@extra = grep( $_ = "$opt_lowresdir/$_", grep( ! $tarray{$_}, @@lowresFiles ));
-        print( STDERR "Removing extra lowres files @@extra\n") if $opt_debug;
-        unlink( @@extra );
+	if ($#extra >= 0) {
+	    print( STDERR "Removing extra lowres files @@extra\n") if $opt_debug;
+	    unlink( @@extra );
+	}
     }
 
     #
@@@@ -2597,7 +2598,7 @@@@
 			# 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), "\" $thumbImageSizes{$pic} BORDER=0>");				
+				print (INDEX "<IMG SRC=\"", $opt_cachedir, "/", escapeurl($pic), ".\L${opt_cacheformat}", "\" $thumbImageSizes{$pic} BORDER=0>");
 			} else {
 				print (INDEX "<IMG SRC=\"", escapeurl($pic), "\" BORDER=0>");
 			}
@@@@ -2889,12 +2890,12 @@@@
     #
     # If caching thumbnails then ensure that directory exists
     #
-    mkdir( $opt_cachedir, 0755 ) if ! -d $opt_cachedir;
+    mkdir( $opt_cachedir, 0755 ) if ($opt_cache || $opt_tables) && ! -d $opt_cachedir;
 
     #
     # If caching low resolution images then ensure that directory exists
     #
-    mkdir( $opt_lowresdir, 0755 ) if ! -d $opt_lowresdir;
+    mkdir( $opt_lowresdir, 0755 ) if $opt_lowres && ! -d $opt_lowresdir;
 
     # Read images into PerlMagick object
     print( STDERR "\nReading images: ", join(' ', @@{$imageNames[$pageNumber - 1]}), "\n" )
@@@@ -2919,217 +2920,37 @@@@
 READ:       
 	foreach $imagename (@@{$imageNames[$pageNumber - 1]}) {
 
-		my ($rc, #return code
-				$width,		# Image width
-				$height,	# Image height
-				$filesize,	# Image file size
-				$magick);
+	    my ($rc,        #return code
+		$width,     # Image width
+		$height,    # Image height
+		$filesize,  # Image file size
+		$magick);
 
+	    if ($opt_lowres) {
 #PMF: resize images using createLowResolutionImage()
 		#first do the low resolution image
-		($rc, $filesize, $width, $height, $magick) = 
-			&createLowResolutionImage ($image, $opt_lowresdir, $imagename, 0, $opt_lowres, 0,
-																 $opt_forcelowres, $opt_lowresgeometry, 
-																 $opt_lowresformat, $opt_lowresmin, 
-																 0, 0);
+		($rc, $filesize, $width, $height, $magick) =
+		    &createLowResolutionImage ($image, $opt_lowresdir, $imagename, 0, 1, 0,
+					       $opt_forcelowres, $opt_lowresgeom,
+					       $opt_lowresformat, $opt_lowresmin,
+					       0, 0);
d27 3
a29 2
-			next READ;
+		    next READ;
d32 4
a35 10
 		undef @@$image; # Only delete image data, not object
+	    }
 
-		#then do the thumbnail
-		($rc, $filesize, $width, $height, $magick) = 
-			&createLowResolutionImage ($image, $opt_cachedir, $imagename, $opt_cache, 0, $opt_tables,
-																 $opt_forcecache, $opt_thumbgeometry, 
-																 $opt_cacheformat, $opt_cachemin,
-																 $opt_thumbprehook, $opt_thumbposthook);
-		if ($rc	== -1) {
d37 2
a38 189
-		}
-
-#PMF: moved to createLowResolutionImage()
-#	    my (
-#		$width,		# Image width
-#		$height,	# Image height
-#		$base_columns,	# Original width
-#		$base_rows,	# Original height
-#		$class,		# Image class
-#		$comment,	# Image comment
-#		$depth,		# Image color depth
-#		$filesize,	# Image file size
-#		$magick,	# Image magick
-#		);
-#	    #
-#	    # Handle thumbnail cache
-#	    #
-#	    my $cachename = "$opt_cachedir/$imagename";
-
-#	    $newthumb = 1;	# Start presuming that thumbnail is new
-#	    # If we are caching, and cache thumbnail exists and is newer then use it
-#	    # always make cache if doing tables, or if version is not correct
-#	    if ( ($opt_cache || $opt_tables) && ! $opt_forcecache && -f $cachename 
-#	    	&& (fmtime($cachename) >= fmtime($imagename))) {
-#		# Read image
-#		print( STDERR "Reading $cachename ...\n" ) if $opt_debug;
-#		$status = $image->Read("$cachename");
-#		if("$status") {
-#		    undef @@$image; # Only delete image data, not object
-#		    handleMagickError( __FILE__, __LINE__, $cachename, $status);
-#		    next READ; # Try to read next image
-#		}
-
-#		# Obtain original image parameters
-#		$comment = $image->Get("comment");
-#		if ($comment =~
-#		    # xv 3.00 & 3.10 format
-#		    /IMGINFO:(\d+)x(\d+) (\S+) file\s+\((\d+) bytes\)/ ) {
-#		    $width = $1;
-#		    $height = $2;
-#		    $magick = $3;
-#		    $filesize = $4;
-#		} else {
-#		    print( STDERR "Failed to grock image info from thumbnail ${cachename}!\n",
-#			  "Removing cache file ...\n" );
-#		    print( STDERR "Run WebMagick again to re-generate the thumbnail.\n" );
-#		    print( STDERR "If problem continues then your ImageMagick is out of date.\n" );
-#		    unlink( $cachename );
-#		}
-
-#		# Indicate that thumbnail came from cache
-#		$newthumb = 0;
-#	    } else {
-#		# Otherwise, read and scale image
-
-#		# Set desired image read size.  The JPEG library will
-#		# read and return a reduced image which is at least
-#		# the size specified (it returns a number of standard
-#		# scaled sizes) but not smaller.
-#		# This uses a feature available in PerlMagick 1.12 and beyond
-#		$status = $image->Set(size=>$opt_thumbgeometry);
-#		handleMagickError( __FILE__, __LINE__, "$opt_thumbgeometry", $status) if "$status";
-		
-#		# Read image
-#		print( STDERR "Reading ${imagename}\[0\] ...\n" ) if $opt_debug;
-#		$status = $image->Read("${imagename}\[0\]");
-#		if("$status" && handleMagickError( __FILE__, __LINE__, $imagename, $status)) {
-#		    undef @@$image; # Only delete image data, not object
-#		    print("Trying next image ...\n" );
-#		    next READ; # Try to read next image		    }
-#		}
-
-#		# Scale image and obtain original parameters if not from cache
-#		if( $newthumb ) {
-
-#		    #
-#		    # Apply any PerlMagick operations specified by $opt_thumbprehook
-#		    #
-#		    if( $opt_thumbprehook ) {
-#			print("Evaluating thumbnail pre-hook ...\n$opt_thumbprehook\n" )
-#			    if $opt_debug;
-#			eval $opt_thumbprehook;
-#		    }
-
-#		    # Obtain image parameters
-#		    ( $width, $height, $filesize, $magick, $class, $depth ) =
-#			$image->Get(
-#				    'width',
-#				    'height',
-#				    'filesize',
-#				    'magick',
-#				    'class',
-#				    'depth');
-		    
-#		    if( $opt_debug ) {
-#		      print("Image: ${width}x${height} $class $filesize bytes $magick $depth bits\n");
-#		    }
-
-#		    # Obtain original image size.  This uses a feature
-#		    # available in PerlMagick 1.12 and beyond.  If the
-#		    # feature is not supported then undefined values
-#		    # should be returned.
-#		    ($base_columns, $base_rows) = $image->Get('base-columns', 'base-rows');
-#		    if( defined($base_columns) && defined($base_rows) ) {
-#			$width = $base_columns;
-#			$height = $base_rows;
-#			print("Saving original image size ${base_columns}x${base_rows}\n")
-#			    if $opt_debug;
-#		    }
-
-#		    my $geometry;
-#		    if( $opt_cache ) {
-#			$geometry = $opt_cachegeom;
-#		    } else {
-#			$geometry = $opt_thumbgeometry;
-#		    }
-
-#		    my $opt_sampling = 0; # Set to 1 to enable sampling
-#		    if( $class eq 'PseudoClass' && $opt_sampling ) {
-#			print( STDERR "Sampling $imagename to geometry \"${geometry}>\" ...\n")
-#			    if $opt_debug;
-#			$status = $image->Sample(geometry=>"${geometry}>");
-			
-#		    } else {
-#			print( STDERR "Zooming $imagename with geometry \"${geometry}>\" ...\n")
-#			    if $opt_debug;
-#			$status = $image->Zoom(filter=>"${opt_zoomfilter}",
-#					       blur=>0.6,
-#					       geometry=>"${geometry}>" );
-#		    }
-		    
-#		    if("$status") {
-#			undef @@$image; # Only delete image data, not object
-#			handleMagickError( __FILE__, __LINE__, $imagename, $status);
-#			next READ; # Try to read next image
-#		    }
-#		}
-
-#		#
-#		# Apply any PerlMagick operations specified by $opt_thumbposthook
-#		#
-#		if( $opt_thumbposthook ) {
-#		    print("Evaluating thumbnail post-hook ...\n$opt_thumbposthook\n" ) if $opt_debug;
-#		    eval $opt_thumbposthook;
-#		}
-
-#		# If we are caching, thumbnail is new, and image is
-#		# large enough, then write it to thumbnail cache
-#		# if we are using tables, then we cache as long as it's new
-#		if( ($opt_cache || $opt_tables) && $newthumb && ((($width*$height) > $opt_cachemin) || $opt_tables)) {
-		
-
-#		    my $comment="IMGINFO:${width}x${height} ${magick} file  (${filesize} bytes)";
-#		    print( STDERR "Applying image comment:\n${comment}\n") if $opt_debug;
-
-#		    # Apply comment to thumbnail image
-#		    $status = $image->Comment( $comment );
-#		    handleMagickError( __FILE__, __LINE__, $cachename, $status) if "$status";
-		    
-#		    print( STDERR "Writing ${cachename} with format ${opt_cacheformat} ...\n" )
-#			if $opt_debug;
-#                    #
-#                    # Give JPEG files special treatment
-#                    #
-#                    if( $opt_cacheformat eq 'JPEG' || $opt_cacheformat eq 'JPG' ) {
-#		        $status = $image->Write(
-#                                                  filename=>"${opt_cacheformat}:${cachename}",
-#					          interlace=>'None',
-#					          quality=>85
-#                                                );
-#                    } else {
-#		        $status = $image->Write(
-#                                                  filename=>"${opt_cacheformat}:${cachename}"
-#                                               );
-#                    }
-#		    handleMagickError( __FILE__, __LINE__, $cachename, $status) if "$status";
-#		    # TODO: for some reason, the output looks like these are getting put in twice, once with .cache/
-#		    $thumbImageSizes{$imagename} = html_imgsize($cachename);
-		    		    
-#		}
-
-#	    }
+	    #then do the thumbnail
+	    ($rc, $filesize, $width, $height, $magick) =
+		&createLowResolutionImage ($image, $opt_cachedir, $imagename, $opt_cache, 0, $opt_tables,
+					   $opt_forcecache, $opt_thumbgeometry,
+					   $opt_cacheformat, $opt_cachemin,
+					   $opt_thumbprehook, $opt_thumbposthook);
+	    if ($rc == -1) {
d40 1
a40 1
+	    }
a41 1
-	    
d43 10
a52 70
 	    # Add thumbnail to thumbs array
 	    #
@@@@ -3205,9 +3026,6 @@@@
 		    print( STDERR "Montage directory = $directory\n" ) if $opt_debug;
 		    for (split(/\n/,$directory))
 		    {
-			# Eliminate cache dir from path HACK! HACK!
-			s%$opt_cachedir/%% if $opt_cache;
-			my $img = $_;
 			my $x1 = $x;
 			my $y1 = $y;
 			my $x2 = $x+$thumbWidth-1;
@@@@ -3215,7 +3033,6 @@@@
 	
 			push(@@thumbCoords, "$x1,$y1,$x2,$y2");
 	
-			#print "  <area href=", escapeurl($_), " shape=rect coords=$x1,$y1,", $x2,',', $y2, ">\n";
 			$x+=$thumbWidth;
 			if ($x >= $montageWidth)
 			{
@@@@ -3845,29 +3662,29 @@@@
 #returns 0 if everything went fine, -1 if the image does not exist
 sub createLowResolutionImage () {
 	my ($image, $a_dir, $imagename, $a_cache, $a_lowres, $a_tables,
-			$a_force, $a_geometry, $a_cacheformat, $a_cachemin, 
-			$a_prehook, $a_posthook) = @@_;
+	    $a_force, $a_geometry, $a_cacheformat, $a_cachemin,
+	    $a_prehook, $a_posthook) = @@_;
+
+	my (
+	    $newthumb,              # Set to 1 if new thumbnail
+	    $status         # Return status
+	   );
 
 	my (
-			$newthumb,		# Set to 1 if new thumbnail
-			$status		# Return status
-		 );
-
-	    my (
-		$width,		# Image width
-		$height,	# Image height
-		$base_columns,	# Original width
-		$base_rows,	# Original height
-		$class,		# Image class
-		$comment,	# Image comment
-		$depth,		# Image color depth
-		$filesize,	# Image file size
-		$magick,	# Image magick
-		);
+	    $width,         # Image width
+	    $height,        # Image height
+	    $base_columns,  # Original width
+	    $base_rows,     # Original height
+	    $class,         # Image class
+	    $comment,       # Image comment
+	    $depth,         # Image color depth
+	    $filesize,      # Image file size
+	    $magick         # Image magick
+	   );
 	#
 	# Handle thumbnail/lowres cache
 	#
-	my $cachename = "$a_dir/$imagename";
+	my $cachename = "${a_dir}/${imagename}.\L${a_cacheformat}";
 
 	$newthumb = 1;								# Start presuming that thumbnail is new
 	# If we are caching, and cache thumbnail exists and is newer then use it
@@@@ -3914,8 +3731,8 @@@@
 		handleMagickError( __FILE__, __LINE__, "$a_geometry", $status) if "$status";
d55 10
a64 15
-		print( STDERR "Reading ${imagename} ...\n" ) if $opt_debug;
-		$status = $image->Read("${imagename}");
+		print( STDERR "Reading ${imagename}\[0\] with geometry ${a_geometry}...\n" ) if $opt_debug;
+		$status = $image->Read("${imagename}\[0\]");
 		if ("$status" && handleMagickError( __FILE__, __LINE__, $imagename, $status)) {
 			undef @@$image;						# Only delete image data, not object
 			print("Trying next image ...\n" );
@@@@ -3930,20 +3747,20 @@@@
 			#
 			if ( $a_prehook ) {
 				print("Evaluating thumbnail pre-hook ...\n$a_prehook\n" )
-			    if $opt_debug;
+				    if $opt_debug;
 				eval $a_prehook;
 			}
d66 1
a66 27
 			# Obtain image parameters
 			( $width, $height, $filesize, $magick, $class, $depth ) =
 				$image->Get(
-										'width',
-										'height',
-										'filesize',
-										'magick',
-										'class',
-										'depth');
-		    
+					    'width',
+					    'height',
+					    'filesize',
+					    'magick',
+					    'class',
+					    'depth');
+
 			if ( $opt_debug ) {
 				print("Image: ${width}x${height} $class $filesize bytes $magick $depth bits\n");
 			}
@@@@ -3957,30 +3774,28 @@@@
 				$width = $base_columns;
 				$height = $base_rows;
 				print("Saving original image size ${base_columns}x${base_rows}\n")
-			    if $opt_debug;
+				    if $opt_debug;
 			}
d68 7
a74 12
 			my $geometry;
-#			if ( $a_cache ) {
-#				$geometry = $opt_cachegeom;
-#			} else {
-#				$geometry = $a_geometry;
-#			}
-			#PMF: I simplified this calculation of the geometry
-			$geometry = $a_geometry;
+			if ($a_cache && !$a_tables && !$a_lowres) {
+				$geometry = $opt_cachegeom;
+			} else {
+				$geometry = $a_geometry;
a75 18
 
 			my $a_sampling = 0;			# Set to 1 to enable sampling
 			if ( $class eq 'PseudoClass' && $a_sampling ) {
 				print( STDERR "Sampling $imagename to geometry \"${geometry}>\" ...\n")
-			    if $opt_debug;
+				    if $opt_debug;
 				$status = $image->Sample(geometry=>"${geometry}>");
 			
 			} else {
 				print( STDERR "Zooming $imagename with geometry \"${geometry}>\" ...\n")
-			    if $opt_debug;
+				    if $opt_debug;
 				$status = $image->Zoom(filter=>"${opt_zoomfilter}",
-															 blur=>0.6,
-															 geometry=>"${geometry}>" );
+						       blur=>0.6,
+						       geometry=>"${geometry}>" );
 			}
d77 12
a88 42
 			if ("$status") {
@@@@ -4000,9 +3815,8 @@@@
 
 		# If we are caching, thumbnail is new, and image is
 		# large enough, then write it to thumbnail cache
-		# if we are using tables, then we cache as long as it's new
-		if ( ($a_cache || $a_tables || $a_lowres) && $newthumb && ((($width*$height) > $a_cachemin) || $a_tables)) {
-		
+		# if we are using tables or lowres, then we cache as long as it's new
+		if ( ($a_cache || $a_tables || $a_lowres) && $newthumb && ((($width*$height) > $a_cachemin) || ($a_tables || $a_lowres ))) {
 
 			my $comment="IMGINFO:${width}x${height} ${magick} file  (${filesize} bytes)";
 			print( STDERR "Applying image comment:\n${comment}\n") if $opt_debug;
@@@@ -4011,21 +3825,21 @@@@
 			$status = $image->Comment( $comment );
 			handleMagickError( __FILE__, __LINE__, $cachename, $status) if "$status";
 		    
-			print( STDERR "Writing ${cachename} with format ${a_cacheformat} ...\n" )
-				if $opt_debug;
+			print( STDERR "Writing ${cachename} ...\n" )
+			    if $opt_debug;
 			#
 			# Give JPEG files special treatment
 			#
 			if ( $a_cacheformat eq 'JPEG' || $a_cacheformat eq 'JPG' ) {
 				$status = $image->Write(
-																filename=>"${a_cacheformat}:${cachename}",
-																interlace=>'None',
-																quality=>85
-															 );
+							filename=>"${a_cacheformat}:${cachename}",
+							interlace=>'None',
+							quality=>85
+						       );
 			} else {
 				$status = $image->Write(
-																filename=>"${a_cacheformat}:${cachename}"
-															 );
+							filename=>"${a_cacheformat}:${cachename}"
+						       );
 			}
 			handleMagickError( __FILE__, __LINE__, $cachename, $status) if "$status";
d90 12
a101 1
@@@@ -4036,73 +3850,73 @@@@
d104 2
a105 41
 	#
-	    # Set image label
-	    #
-	    my $label = '';
-	    if( $opt_thumblabel ne 'false' ) {
-		if( defined( $imageLabels{$imagename} ) ) {
-		    # Set image specific label
-		    $label = $imageLabels{$imagename};
-		} else {
-		    # Set default label
-		    $label = $opt_thumblabel;
-		}
+	# Set image label
+	#
+	my $label = '';
+	if( $opt_thumblabel ne 'false' ) {
+	    if( defined( $imageLabels{$imagename} ) ) {
+		# Set image specific label
+		$label = $imageLabels{$imagename};
+	    } else {
+		# Set default label
+		$label = $opt_thumblabel;
 	    }
+	}
 
-	    if ($label ne '') {
-		my $sizestr;
-		my $kb = 1024;
-		my $mb = $kb * $kb;
-		if( $filesize <= 9999 ) {
-		    # print as bytes
-		    $sizestr = "${filesize}b";
-		} elsif( $filesize <= 9999999 ) {
-		    # print as kilobytes
-		    my $size = int($filesize/$kb);
-		    $sizestr = "${size}kb";	    
-		} else {
-		    # print as megabytes
-		    my $size = int($filesize/$mb);
-		    $sizestr = "${size}Mb";
-		}
a106 89
-		#
-		# Truncate label down to width $opt_thumblabelwidth
-		#
-		my $imagebase;
-		($imagebase = $imagename) =~ s/\.[^\.]*$//g;
-		# %b = file size
-		# %d = directory (not implemented)
-		# %e = extension (not implemented)
-		# %f = full filename
-		# %h = height
-		# %m = magick
-		# %n = filename minus extension
-		# %s = scene number (not implemented)
-		# %t = top of filename (not implemented)
-		# %w = width
-		$label =~ s/%b/$sizestr/g;
-		$label =~ s/%f/$imagename/g;
-		$label =~ s/%h/$height/g;
-		$label =~ s/%m/$magick/g;
-		$label =~ s/%n/$imagebase/g;
-		$label =~ s/%w/$width/g;
-		my @@llines = split(/\\n/, $label);
-		grep($_ = substr( $_, 0, $opt_thumblabelwidth), @@llines);
-		$label = join("\n", @@llines);
-		
-		# put our label into the table image hash 
-		
-		$tableImageLabels{$imagename} = $label;
-		$tableImageLabels{$imagename} =~ s/\n/<BR>/g;
-		
-		print( STDERR "Applying image label: \"${label}\"\n" )
-		    if $opt_debug;
-		$status = $image->Label( $label );
-		handleMagickError( __FILE__, __LINE__, $imagename, $status) if "$status";
+	if ($label ne '') {
+	    my $sizestr;
+	    my $kb = 1024;
+	    my $mb = $kb * $kb;
+	    if( $filesize <= 9999 ) {
+		# print as bytes
+		$sizestr = "${filesize}b";
+	    } elsif( $filesize <= 9999999 ) {
+		# print as kilobytes
+		my $size = int($filesize/$kb);
+		$sizestr = "${size}kb";
+	    } else {
+		# print as megabytes
+		my $size = int($filesize/$mb);
+		$sizestr = "${size}Mb";
 	    }
 
-	
+	    #
+	    # Truncate label down to width $opt_thumblabelwidth
+	    #
+	    my $imagebase;
+	    ($imagebase = $imagename) =~ s/\.[^\.]*$//g;
+	    # %b = file size
+	    # %d = directory (not implemented)
+	    # %e = extension (not implemented)
+	    # %f = full filename
+	    # %h = height
+	    # %m = magick
+	    # %n = filename minus extension
+	    # %s = scene number (not implemented)
+	    # %t = top of filename (not implemented)
+	    # %w = width
+	    $label =~ s/%b/$sizestr/g;
+	    $label =~ s/%f/$imagename/g;
+	    $label =~ s/%h/$height/g;
+	    $label =~ s/%m/$magick/g;
+	    $label =~ s/%n/$imagebase/g;
+	    $label =~ s/%w/$width/g;
+	    my @@llines = split(/\\n/, $label);
+	    grep($_ = substr( $_, 0, $opt_thumblabelwidth), @@llines);
+	    $label = join("\n", @@llines);
+
+	    # put our label into the table image hash
+
+	    $tableImageLabels{$imagename} = $label;
+	    $tableImageLabels{$imagename} =~ s/\n/<BR>/g;
+
+	    print( STDERR "Applying image label: \"${label}\"\n" )
+		if $opt_debug;
+	    $status = $image->Label( $label );
+	    handleMagickError( __FILE__, __LINE__, $imagename, $status) if "$status";
+	}
+
+
a109 14
@@@@ -4274,12 +4088,11 @@@@
   --cachemin         Smallest image to cache in pixels. (default 300*200)
 
 Low resolution images:
-  --[no]lowres        Cache low resolution images (default on)
+  --[no]lowres        Cache low resolution images (default on for Javascript, off otherwise)
   --lowresdir         Subdirectory name to cache low resolution images in (default .640x480)
   --lowresformat      Format of cached low resolution images (default JPEG)
   --lowresgeom        Cache low resolution geometry (default 640x480+2+2)
   --lowresmin         Smallest image to resize in pixels. (default 640*480)
-  --lowresgeometry    Low resolution geometry (widthxheight)
 
 Montage:
   --[no]forcegif     Force imagemap to be in GIF format (default off)
@


1.31
log
@Update to latest variant from project CVS
@
text
@d5 2
a6 2
retrieving revision 1.111
diff -u -r1.102 -r1.111
d8 1
a8 1
+++ webmagick.in	7 Sep 2002 15:57:27 -0000	1.111
d13 1
a13 1
+# $Id: webmagick.in,v 1.111 2002/09/07 15:57:27 ache Exp $
d75 9
@


1.30
log
@Update from latest project CVS
@
text
@d5 2
a6 2
retrieving revision 1.108
diff -u -r1.102 -r1.108
d8 9
a16 1
+++ webmagick.in	7 Sep 2002 09:26:20 -0000	1.108
d75 1
a75 1
@@@@ -1903,17 +1902,16 @@@@
d96 8
a103 3
         print( STDERR "Removing extra cache files @@extra\n") if $opt_debug;
         unlink( @@extra );
@@@@ -1922,16 +1920,15 @@@@
d122 19
a140 3
         print( STDERR "Removing extra lowres files @@extra\n") if $opt_debug;
         unlink( @@extra );
@@@@ -2889,12 +2886,12 @@@@
d155 1
a155 1
@@@@ -2919,217 +2916,38 @@@@
d384 1
a384 2
+					   $opt_forcecache,
+					   $opt_cache ? $opt_cachegeom : $opt_thumbgeometry,
d395 19
a413 1
@@@@ -3845,29 +3663,29 @@@@
d461 1
a461 9
@@@@ -3910,7 +3728,10 @@@@
 		# the size specified (it returns a number of standard
 		# scaled sizes) but not smaller.
 		# This uses a feature available in PerlMagick 1.12 and beyond
-		$status = $image->Set(size=>$a_geometry);
+
+		# subrange 1: read only first image from animated GIFs, etc.
+
+		$status = $image->Set(size=>$a_geometry,subrange=>1);
d465 8
a472 1
@@@@ -3930,20 +3751,20 @@@@
d501 1
a501 1
@@@@ -3957,30 +3778,21 @@@@
d509 1
a509 1
-			my $geometry;
d517 6
a522 1
-
d525 1
a525 1
-				print( STDERR "Sampling $imagename to geometry \"${geometry}>\" ...\n")
a526 2
-				$status = $image->Sample(geometry=>"${geometry}>");
+				print( STDERR "Sampling $imagename to geometry \"${a_geometry}>\" ...\n")
d528 1
a528 1
+				$status = $image->Sample(geometry=>"${a_geometry}>");
d531 1
a531 1
-				print( STDERR "Zooming $imagename with geometry \"${geometry}>\" ...\n")
a532 1
+				print( STDERR "Zooming $imagename with geometry \"${a_geometry}>\" ...\n")
d538 1
a538 1
+						       geometry=>"${a_geometry}>" );
d542 1
a542 1
@@@@ -4000,9 +3812,8 @@@@
d554 1
a554 1
@@@@ -4011,21 +3822,21 @@@@
d584 1
a584 1
@@@@ -4036,73 +3847,73 @@@@
d721 1
a721 1
@@@@ -4274,12 +4085,11 @@@@
@


1.29
log
@Update to latest patch from project CVS
@
text
@d4 5
a8 4
retrieving revision 1.103
diff -u -r1.103 webmagick.in
--- webmagick.in	28 Aug 2002 21:42:32 -0000	1.103
+++ webmagick.in	7 Sep 2002 01:06:29 -0000
d17 9
d56 1
a56 1
@@@@ -1596,8 +1595,7 @@@@
d63 1
d67 1
a67 1
@@@@ -1903,15 +1901,14 @@@@
d85 2
a86 1
         grep( $tarray{$_}++, @@imgfiles );
d88 3
a90 1
@@@@ -1922,14 +1919,13 @@@@
d106 2
a107 1
         grep( $tarray{$_}++, @@imgfiles );
d109 3
a111 1
@@@@ -2889,12 +2885,12 @@@@
d126 1
a126 1
@@@@ -2919,217 +2915,38 @@@@
d367 49
a415 1
@@@@ -3910,7 +3727,10 @@@@
d427 35
a461 2
@@@@ -3960,27 +3780,18 @@@@
 			    if $opt_debug;
d476 2
d479 1
a479 2
 			    if $opt_debug;
-				$status = $image->Sample(geometry=>"${geometry}>");
d484 1
d486 1
a486 1
 			    if $opt_debug;
d495 180
a674 1
@@@@ -4276,12 +4087,11 @@@@
@


1.28
log
@%htmlOpts tuning
@
text
@d5 1
a5 2
retrieving revision 1.106
diff -u -r1.103 -r1.106
d7 31
a37 11
+++ webmagick.in	6 Sep 2002 23:28:46 -0000	1.106
@@@@ -302,7 +302,7 @@@@
 $opt_serversidemap = 0;         # Enable server-side maps writting
 				
 $perlVarsVersion = 0; # default this to 0 for it to be overidden by appropriate status files				
-$requiredPerlVarsVersion = 2.2; # need this version to avoid regeneration of files
+$requiredPerlVarsVersion = 2.3; # need this version to avoid regeneration of files
 
 #
 # RC files
@@@@ -1214,6 +1214,8 @@@@
d46 1
a46 1
@@@@ -1596,8 +1598,8 @@@@
d52 1
a52 2
+	 'cache'                => !$opt_tables ? 0 : $opt_cache,
+	 'cachedir'             => !$opt_cache || !$opt_tables ? "" : $opt_cachedir,
d56 2
a57 1
@@@@ -1904,14 +1906,13 @@@@
d60 2
a61 1
     if( $opt_cache && -d $opt_cachedir ) {
d76 1
a76 1
@@@@ -1922,14 +1923,13 @@@@
d94 1
a94 1
@@@@ -2889,12 +2889,12 @@@@
d99 1
a99 1
+    mkdir( $opt_cachedir, 0755 ) if $opt_cache && ! -d $opt_cachedir;
d109 14
a122 3
@@@@ -2925,18 +2925,20 @@@@
 				$filesize,	# Image file size
 				$magick);
d124 1
a124 1
+		if ($opt_lowres) {
d126 1
a126 1
-		#first do the low resolution image
d132 20
a151 1
-		if ($rc == -1) {
d154 197
a350 17
+			#first do the low resolution image
+			($rc, $filesize, $width, $height, $magick) =
+				&createLowResolutionImage ($image, $opt_lowresdir, $imagename, 0, 1, 0,
+																	 $opt_forcelowres, $opt_lowresgeometry,
+																	 $opt_lowresformat, $opt_lowresmin,
+																	 0, 0);
+			if ($rc == -1) {
+				next READ;
+			}
 
-		undef @@$image; # Only delete image data, not object
+			undef @@$image; # Only delete image data, not object
+		}
 
 		#then do the thumbnail
 		($rc, $filesize, $width, $height, $magick) = 
@@@@ -3910,7 +3912,10 @@@@
d362 47
@


1.27
log
@Tweak %htmlOpts more
@
text
@d5 2
a6 2
retrieving revision 1.105
diff -u -r1.103 -r1.105
d8 1
a8 1
+++ webmagick.in	5 Sep 2002 18:21:47 -0000	1.105
d27 1
a27 1
@@@@ -1596,8 +1598,11 @@@@
d33 2
a34 5
+	 'cache'                => $opt_cache,
+	 'cachedir'             => !$opt_cache ? "" : $opt_cachedir,
+	 'cacheformat'          => !$opt_cache ? "" : $opt_cacheformat,
+	 'cachegeom'            => !$opt_cache ? "" : $opt_cachegeom,
+	 'cachemin'             => !$opt_cache ? 0 : $opt_cachemin,
d38 1
a38 13
@@@@ -1634,6 +1639,11 @@@@
 	 'jsfunctions'          => !$opt_javascript ? "" : $fileNames{'jsFunctions'},
 	 'jspageindex'          => !$opt_javascript ? "" : $fileNames{'jsPageIndex'},
 	 'jsvariables'          => !$opt_javascript ? "" : $fileNames{'jsVariables'},
+	 'lowres'               => $opt_lowres,
+	 'lowresdir'            => !$opt_lowres ? "" : $opt_lowresdir,
+	 'lowresformat'         => !$opt_lowres ? "" : $opt_lowresformat,
+	 'lowresgeom'           => !$opt_lowres ? "" : $opt_lowresgeom,
+	 'lowresmin'            => !$opt_lowres ? 0 : $opt_lowresmin,
 	 'metaauthor'		=> $opt_metaauthor,
 	 'metacharset'          => $opt_metacharset,
 	 'metaclassification'	=> $opt_metaclassification,
@@@@ -1904,14 +1914,13 @@@@
d56 1
a56 1
@@@@ -1922,14 +1931,13 @@@@
d74 1
a74 1
@@@@ -2889,12 +2897,12 @@@@
d89 1
a89 1
@@@@ -2925,18 +2933,20 @@@@
d120 1
a120 1
@@@@ -3910,7 +3920,10 @@@@
@


1.26
log
@1) Turn off opt_lowres if no javascript is active since it does nothing
for perl-generated pages (i.e. not implemented).
2) Properly store all lowres* options in %htmlOpts.
3) Don't even call createLowResolutionImage() if not opt_lowres - speedup
WebMagick twice.
4) Don't try to clean lowresdir and cachedir if they are not exists or
corresponding options are not turned on.
5) Don't try to create lowresdir and cachedir if corresponding options
are not turned on.
6) Read only first image from multi-image sequence such as animated GIFs
or MPEGs, lowres|cache image can't be created otherwise (they are not
exists after ->Write).
@
text
@d5 2
a6 1
diff -u -r1.103 webmagick.in
d8 1
a8 1
+++ webmagick.in	5 Sep 2002 17:28:04 -0000
d27 2
a28 1
@@@@ -1597,7 +1599,6 @@@@
d31 1
a31 1
 	 'cachedir'             => $opt_cachedir,
d33 5
d41 1
a41 1
@@@@ -1634,6 +1635,12 @@@@
a48 1
+	 'lowresgeometry'       => !$opt_lowres ? "" : $opt_lowresgeometry,
d53 1
a53 1
@@@@ -1904,14 +1911,13 @@@@
d71 1
a71 1
@@@@ -1922,14 +1928,13 @@@@
d89 1
a89 1
@@@@ -2889,12 +2894,12 @@@@
d104 1
a104 1
@@@@ -2925,18 +2930,20 @@@@
d135 1
a135 1
@@@@ -3910,7 +3917,10 @@@@
@


1.25
log
@Upgrade to 2.03pre1
@
text
@d1 140
a140 11
--- webmagick.in.bak	Wed Dec  5 16:52:39 2001
+++ webmagick.in	Fri Mar 15 06:23:40 2002
@@@@ -2472,7 +2472,7 @@@@
 				} else {
 					print ( PICHTML "<A${target} HREF=\"");
 					if ($imageNum == 0 && $pageNumber != 1) {
-						print ( PICHTML $imageNames[$pageNumber - 2][${numimages} - 1]);
+						print ( PICHTML $imageNames[$pageNumber - 2][$#{$imageNames[$pageNumber - 2]}]);
 					} else {
 						print ( PICHTML $imageNames[$pageNumber - 1][${imageNum} - 1]);
 					}
@


1.24
log
@Fix wrong prev link from the first picture on the last page.
@
text
@@


1.23
log
@Upgrade to 2.02pre1
@
text
@d1 11
a11 27
--- webmagick.in.bak	Thu Aug  9 09:59:52 2001
+++ webmagick.in	Sun Aug 12 07:31:59 2001
@@@@ -1828,9 +1828,9 @@@@
     #
     my $helphtml = '';
     if( $haveReadme ) {
-        $helphtml = "<A HREF=\"escapeurl(${opt_readme})\" TARGET=\"$frameTargets{'readmeview'}\">
+	$helphtml = "<A HREF=\"" . escapeurl(${opt_readme}) . "\" TARGET=\"$frameTargets{'readmeview'}\">
     <IMG SRC=\"$iconImageUrls{'help'}\" $iconImageSizes{'help'} ALT=\"?\" BORDER=0></A>
-    <A HREF=\"escapeurl(${opt_readme})\" TARGET=\"$frameTargets{'readmeview'}\">ReadMe</A><BR>";
+    <A HREF=\"" . escapeurl(${opt_readme}) . "\" TARGET=\"$frameTargets{'readmeview'}\">ReadMe</A><BR>";
     }
 
     #
@@@@ -2265,10 +2265,10 @@@@
 			}
 			print( PICHTML ">\n\n" );
 			print( PICHTML "$opt_pichtmltop") if $opt_pichtmltop;
-			if ( $pic =~ /\.(jpg|jpeg?|gif|xbm)$/i ) {
+			if ( $pic =~ /\.(jpg|jpeg?|gif|xbm|png)$/i ) {
 			    print( PICHTML "<IMG SRC=\"$pic\">" );
 			} else {
-			    print( PICHTML "<A HREF=\"escapeurl($pic)\"><BIG><B>$pic</B></A> ", fsize($pic), "</BIG>" );
+			    print( PICHTML "<A HREF=\"", escapeurl($pic), "\"><BIG><B>$pic</B></A> ", fsize($pic), "</BIG>" );
 			}
 			print( PICHTML "$opt_pichtmlbottom\n") if $opt_pichtmlbottom;
 			print( PICHTML "</BODY>\n" );
@


1.22
log
@Fix escapeurl() not expanded and png linking
@
text
@@


1.21
log
@Upgrade to 2.01
@
text
@d1 11
a11 3
--- webmagick.in.bak	Sat Jul 14 01:35:08 2001
+++ webmagick.in	Thu Aug  9 06:51:38 2001
@@@@ -2109,9 +2109,17 @@@@
d13 15
a27 37
     # --- prev link ---
     if( $pageNumber == 1 ) {
-        # Go to base index page if on first page
-	$indexbar .= "<A HREF=\"${opt_indexname}\" TARGET=\"$opt_frame_name_top\"><IMG
-	SRC=\"$iconImageUrls{'prev'}\" $iconImageSizes{'prev'} ALT=\"Prev\" BORDER=0></A>\n";
+	my $indexname = get_rc_var('..', 'opt_indexname', $opt_indexname);
+
+	if ( !$haveReadme && $indexname ne 'NOLINK' ) {
+	    # Go to up index page if on first page
+	    $indexbar .= "<A HREF=\"../${indexname}\" TARGET=\"$opt_frame_name_top\"><IMG
+	    SRC=\"$iconImageUrls{'up'}\" $iconImageSizes{'up'} ALT=\"^\" BORDER=0></A>\n";
+	} else {
+	    # Go to base index page if on first page
+	    $indexbar .= "<A HREF=\"${opt_indexname}\" TARGET=\"$opt_frame_name_top\"><IMG
+	    SRC=\"$iconImageUrls{'prev'}\" $iconImageSizes{'prev'} ALT=\"Prev\" BORDER=0></A>\n";
+	}
     } else {
         # Go to preceding page
 	$indexbar .= "<A HREF=\"$fileNames{'htmlPrevIndex'}\" TARGET=\"$frameTargets{'thumbview'}\"><IMG
@@@@ -2700,7 +2708,7 @@@@
 		    # available in PerlMagick 1.12 and beyond.  If the
 		    # feature is not supported then undefined values
 		    # should be returned.
-		    ($base_columns, $base_rows) = $image->Get('base_columns', 'base_rows');
+		    ($base_columns, $base_rows) = $image->Get('base-columns', 'base-rows');
 		    if( defined($base_columns) && defined($base_rows) ) {
 			$width = $base_columns;
 			$height = $base_rows;
@@@@ -2971,8 +2979,6 @@@@
 		if( ! $opt_forcejpeg ) {
 		print( STDERR "Writing $fileNames{'montageGIF'} ...\n" ) if $opt_debug;
 		$status = $image->Write(
-					colors=>256,
-					colorspace=>'YUV',
 					dither=>'True',
 					filename=>"GIF:$fileNames{'montageGIF'}",
 					interlace=>'Line'
@


1.20
log
@Upgrade to 2.0pre4
@
text
@@


1.19
log
@While writing GIF montage, remove parameters unneded for new PerlMagick
@
text
@d1 3
a3 211
--- webmagick.in.orig	Sun Oct 17 23:55:14 1999
+++ webmagick.in	Thu Aug  9 06:19:29 2001
@@@@ -127,6 +127,7 @@@@
     $opt_dircolorlink,
     $opt_dircolorvlink,
     $opt_dirfmt,
+    $opt_dirhtmlext,
     $opt_dirindexname,
     $opt_forcecache,
     $opt_forcegif,
@@@@ -150,12 +151,14 @@@@
     $opt_footer,
     $opt_help,
     $opt_htimage,
+    $opt_iconbase,
     $opt_iconpath,
     %opt_icons,
     $opt_ignore,
     $opt_imgindexname,
     $opt_indexname,
     $opt_javascript,
+    $opt_jpegquality,
     $opt_mapnetscape,
     $opt_maptype,
     $opt_maxgif,
@@@@ -164,6 +167,7 @@@@
     $opt_metadescription,
     $opt_metaexpires,
     $opt_metakeywords,
+    $opt_nodate,
     $opt_pageindexname,
     $opt_prefixpath,
     $opt_prune,
@@@@ -239,7 +243,8 @@@@
 				# Not used if local relative paths used
 $opt_iconpath	= '@@ICONPATH@@';
 				# Relative path under rootpath / prefixpath
-
+$opt_iconbase   = '';
+				# Global icons base URL, if not empty
 #
 # Server-side imagemap settings
 # !!!MAY NEED TO EDIT OR OVERRIDE!!!
@@@@ -267,6 +272,7 @@@@
 $opt_pageindexname	= '.index';	# Base name of secondary index files
 $opt_dirindexname	= '.dirindex';	# Subdirectory Title cross-reference
 					#  dirname   Directory Title
+$opt_dirhtmlext         = '.html';      # Use .shtml for SSI
 $opt_imgindexname	= '.imgindex';	# Image name to label cross-reference file
 
 #
@@@@ -309,6 +315,7 @@@@
 $opt_forcemontage	= 0;	# Force montage (default off)
 $opt_forcegif		= 0;	# Force GIF imagemaps (default off)
 $opt_forcejpeg          = 0;    # Force JPEG imagemaps (default off)
+$opt_jpegquality        = 70;   # Quality for JPEG imagemaps
 $opt_help		= 0;	# Display usage message
 $opt_version		= 0;	# Display version info
 $opt_htmlext            = '.html'; # Use .shtml for SSI
@@@@ -319,6 +326,7 @@@@
 $opt_title		= '';	# Page title (blank provides default title)
 $opt_address		= '';	# Additonal address info for bottom of
                                 #    imagemap page
+$opt_nodate             = 0;    # Don't show updates date
 $opt_pichtml            = 0;    # Write separate HTML for each picture
 $opt_pichtmlext         = '.html'; # Use .shtml for SSI
 $opt_pichtmltarget      = '';
@@@@ -572,6 +580,7 @@@@
 <FONT SIZE=-1>
 ${uphtml}
 ${nexthtml}
+</FONT>
 </P>
 ${dirhtml}
 ';
@@@@ -658,6 +667,7 @@@@
 		'dircolorfore=s'	=> \$opt_dircolorfore,
 		'dircolorlink=s'	=> \$opt_dircolorlink,
 		'dircolorvlink=s'	=> \$opt_dircolorvlink,
+		'dirhtmlext=s'          => \$opt_dirhtmlext,
 		'dirindexname=s'	=> \$opt_dirindexname,
 		'footer=s'              => \$opt_footer,
 		'forcecache!'		=> \$opt_forcecache,
@@@@ -674,13 +684,16 @@@@
 		'help!'			=> \$opt_help,
 		'htimage=s'		=> \$opt_htimage,
 		'htmlext=s'             => \$opt_htmlext,
+		'iconbase=s'            => \$opt_iconbase,
 		'iconpath=s'		=> \$opt_iconpath,
 		'imgindexname=s'	=> \$opt_imgindexname,
 		'indexname=s'		=> \$opt_indexname,
 		'javascript!'		=> \$opt_javascript,
+		'jpegquality=i'         => \$opt_jpegquality,
 		'mapnetscape!'		=> \$opt_mapnetscape,
 		'maptype=s'		=> \$opt_maptype,
 		'maxgif=i'		=> \$opt_maxgif,
+		'nodate!'               => \$opt_nodate,
 		'pageindexname=s'	=> \$opt_pageindexname,
 		'pichtml!'              => \$opt_pichtml,
 		'pichtmlbottom=s'       => \$opt_pichtmlbottom,
@@@@ -870,7 +883,7 @@@@
     # for each directory ignoring hidden directories
     use File::Find;
     print( "Processing directory tree $opt_srcdir ...\n" ) if $opt_debug;
-    finddepth( \&wanted, $opt_srcdir );
+    find( \&wanted, $opt_srcdir );
 } else {
     print( "Processing directory $opt_srcdir ...\n" ) if $opt_debug;
     $sourceDirectory = $opt_srcdir;
@@@@ -934,7 +947,7 @@@@
 sub wanted {
     my($dev,$ino,$mode,$nlink,$uid,$gid);
     ($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_);
-    if ( -d $_ && !/^\..+/ ) {
+    if ( -d _ && -w _ && !/^\..+/ ) {
         if( $_ ne '.' && get_rc_var('.', 'opt_prune', 0) ) {
             $File::Find::prune=1;
 	    # following funny logic is to avoid warnings about $prune
@@@@ -1137,14 +1150,22 @@@@
     # 
     $opt_maptype = "\L${opt_maptype}";
 
-    #
-    # Compute URL to top of icon directory
-    #
-    # Attempt to convert to relative URL
-    $icon_base_url = relative( $currentDirectory, $icon_dir_path);
-    if ( $icon_base_url =~ m|^/| ) {
-        # If did not convert to relative URL then convert to absolute URL
-        $icon_base_url = escapeurl( abs_path_to_url($icon_dir_path));
+    if ($opt_iconbase) {
+	if ($opt_iconbase =~ !/^\//) {
+	    die("$0: Iconbase must start with '/', use prefixpath to make it non-root related\n");
+	} else {
+	    $icon_base_url = "${opt_prefixpath}${opt_iconbase}";
+	}
+    } else {
+	#
+	# Compute URL to top of icon directory
+	#
+	# Attempt to convert to relative URL
+	$icon_base_url = relative( $currentDirectory, $icon_dir_path);
+	if ( $icon_base_url =~ m|^/| ) {
+	    # If did not convert to relative URL then convert to absolute URL
+	    $icon_base_url = escapeurl( abs_path_to_url($icon_dir_path));
+	}
     }
 
     #
@@@@ -1425,6 +1446,7 @@@@
 	 'dircolorfore'		=> $opt_dircolorfore,
 	 'dircolorlink'		=> $opt_dircolorlink,
 	 'dircolorvlink'	=> $opt_dircolorvlink,
+	 'dirhtmlext'           => $opt_dirhtmlext,
 	 'dirindexname'		=> $opt_dirindexname,
 	 'footer'               => $opt_footer,
 	 'framemarginwidth'	=> $opt_framemarginwidth,
@@@@ -1434,6 +1456,7 @@@@
 	 'framestyle'		=> $opt_framestyle,
 	 'header'		=> $opt_header,
 	 'htmlext'              => $opt_htmlext,
+	 'iconbase'             => $opt_iconbase,
 	 'imgindexname'		=> $opt_imgindexname,
 	 'indexname'		=> $opt_indexname,
 	 'jsdirindex'		=> $fileNames{'jsDirIndex'},
@@@@ -1450,7 +1473,7 @@@@
 	 'readme'		=> $opt_readme,
 	 'readmepresent'	=> $haveReadme,
 	 'readmevisible'	=> $opt_readmevisible,
-	 'dateText'		=> "Page updated on $calendarMonths[$dateMonth] $dateDay, $dateYear",
+	 'dateText'             => $opt_nodate ? "" : "Page updated on $calendarMonths[$dateMonth] $dateDay, $dateYear",
 	 'subdirectories'	=> join(' ',@@dirNames),
 	 'title'		=> $pageTitle,
 	 'version'		=> $webmagickInfo{'version'},
@@@@ -1694,7 +1717,7 @@@@
 sub writeTopIndexes {
 
     print( STDERR "Writing Index Files ${opt_indexname} & ",
-                "${opt_pageindexname}dir.html ...\n" )
+		"${opt_pageindexname}dir${opt_dirhtmlext} ...\n" )
                 if $opt_debug;
 
     #---- Generate the Variables for Format Options ----
@@@@ -1805,7 +1828,7 @@@@
     # Pull README into thumbnail frame if it exists, and is
     # either marked always visible or there are no images.
     #
-    $dirframelink = "${opt_pageindexname}dir.html";
+    $dirframelink = "${opt_pageindexname}dir${opt_dirhtmlext}";
 
     if( $opt_framefmt_frames{$opt_framestyle} <= 2 ) {
 	if( $haveReadme && ( $opt_readmevisible || ! $haveImages ) ) {
@@@@ -1923,8 +1946,8 @@@@
 
     # ----- Output Frame Directory File (usally ".indexdir.html") ------
     #
-    open( INDEX, ">${opt_pageindexname}dir.html")
-	|| die("$0: Failed to open file \"${opt_pageindexname}dir.html\"",
+    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 "  <TITLE>${pageTitle}</TITLE>\n" );
@@@@ -1985,24 +2008,32 @@@@
 
     # --- readme link ---
     if ( $haveReadme ) {
-	$indexbar .= "<A HREF=\"${opt_readme}\" TARGET=\"$frameTargets{'readmeview'}\"
-    ><IMG SRC=\"$iconImageUrls{'help'}\" $iconImageSizes{'help'} ALT=\"ReadMe\" BORDER=0></A>\n";
+	$indexbar .= "<A HREF=\"${opt_readme}\" TARGET=\"$frameTargets{'readmeview'}\"><IMG
+	SRC=\"$iconImageUrls{'help'}\" $iconImageSizes{'help'} ALT=\"ReadMe\" BORDER=0></A>\n";
d8 2
a9 2
-        $indexbar .= "<A HREF=\"${opt_indexname}\" TARGET=\"$opt_frame_name_top\"
-     ><IMG SRC=\"$iconImageUrls{'prev'}\" $iconImageSizes{'prev'} ALT=\"Prev\" BORDER=0></A>\n";
d23 2
a24 33
-        $indexbar .= "<A HREF=\"$fileNames{'htmlPrevIndex'}\" TARGET=\"$frameTargets{'thumbview'}\"
-    ><IMG SRC=\"$iconImageUrls{'prev'}\" $iconImageSizes{'prev'} ALT=\"Prev\" BORDER=0></A>\n";
+	$indexbar .= "<A HREF=\"$fileNames{'htmlPrevIndex'}\" TARGET=\"$frameTargets{'thumbview'}\"><IMG
+	SRC=\"$iconImageUrls{'prev'}\" $iconImageSizes{'prev'} ALT=\"Prev\" BORDER=0></A>\n";
     }
     # --- next link ---
     if( $numPages > 1 ) {
 	if( $pageNumber < $numPages ) {
-	    $indexbar .= "<A HREF=\"$fileNames{'htmlNextIndex'}\" TARGET=\"$frameTargets{'thumbview'}\"
-    ><IMG SRC=\"$iconImageUrls{'next'}\" $iconImageSizes{'next'} ALT=\"Next\" BORDER=0></A>\n";
+	    $indexbar .= "<A HREF=\"$fileNames{'htmlNextIndex'}\" TARGET=\"$frameTargets{'thumbview'}\"><IMG
+	    SRC=\"$iconImageUrls{'next'}\" $iconImageSizes{'next'} ALT=\"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";
@@@@ -2058,7 +2089,7 @@@@
 	# Total HACK!!!
 	if( $opt_framestyle == 1 ) {
 	    print( INDEX "<p><FONT SIZE=-1>Index of files \"$imageNames[$pageNumber - 1][0]\" through",
-		  " \"$imageNames[$pageNumber - 1][$numimages-1]\"</p>\n" );
+		  " \"$imageNames[$pageNumber - 1][$numimages-1]\"</FONT></p>\n" );
 	}
 	print( INDEX "\n$indexbar<BR>\n\n" );
 
@@@@ -2143,6 +2174,7 @@@@
 		 ">WebMagick</A>" );
 	   print( INDEX " $webmagickInfo{version}</NOBR>, <NOBR>Copyright &copy;</NOBR> <NOBR>Bob Friesenhahn</NOBR>\n" );
        }
+       print( INDEX "</FONT>\n" );
        print( INDEX "</ADDRESS>\n" );
     }
 
@@@@ -2484,7 +2516,7 @@@@
d33 9
a41 47
@@@@ -2740,8 +2772,6 @@@@
 	if( ! $opt_forcejpeg ) {
 	print( STDERR "Writing $fileNames{'montageGIF'} ...\n" ) if $opt_debug;
 	$status = $image->Write(
-				colors=>256,
-				colorspace=>'YUV',
 				dither=>'True',
 				filename=>"GIF:$fileNames{'montageGIF'}",
 				interlace=>'Line'
@@@@ -2762,7 +2792,7 @@@@
 		$status = $montage->Write(
 					  filename=>"JPEG:$fileNames{'montageJPEG'}",
 					  interlace=>'Plane',
-					  quality=>70
+					  quality=>$opt_jpegquality
 					  );
 		handleMagickError( __FILE__, __LINE__, $fileNames{'montageJPEG'}, $status) if "$status";
 		last MONTAGE if "$status";
@@@@ -3346,6 +3376,7 @@@@
 
 Paths:
   --iconpath	     Relative path under rootdir to webmagick icons
+  --iconbase         Global base URL for webmagick icons
   --prefixpath       Path to prepend to generated URLs (e.g. /~username)
   --rootpath	     Absolute path to server root (NCSA DocumentRoot)
 
@@@@ -3369,6 +3400,8 @@@@
 
 Montage:
   --forcegif         Force imagemap to be in GIF format
+  --forcejpeg        Force imagemap to be in JPEG format
+  --jpegquality      Quality of JPEG imagemaps
   --maxgif           Maximum size of GIF imagemap before trying JPEG
   --columns	     Montage columns
   --rows	     Montage rows (max)
@@@@ -3408,9 +3441,11 @@@@
   --dircolorfore     Foreground color (directory frame)
   --dircolorlink     Link (unvisited) color (directory frame)
   --dircolorvlink    Link (visited) color (directory frame)
+  --dirhtmlext       Extension for directory frame
 
   --javascript	     Enable JavaScript output
   --header           Page header (imagemap frame)
+  --nodate           Don't print updates date
   --title            Page title
   --pichtml          Per-image HTML file generation
   --pichtmlext       Per-image HTML file extension (default .html)
@


1.18
log
@Follow new PerlMagick and rename
base_rows -> base-rows
base_columns -> base-columns
@
text
@d2 1
a2 1
+++ webmagick.in	Thu Aug  9 05:43:20 2001
d272 10
a281 1
@@@@ -2762,7 +2794,7 @@@@
d290 1
a290 1
@@@@ -3346,6 +3378,7 @@@@
d298 1
a298 1
@@@@ -3369,6 +3402,8 @@@@
d307 1
a307 1
@@@@ -3408,9 +3443,11 @@@@
@


1.17
log
@Generate Up button on the first page when possible
@
text
@d1 2
a2 2
--- webmagick.in.old	Sun Oct 17 23:55:14 1999
+++ webmagick.in	Fri Mar 23 16:50:54 2001
d263 9
@


1.16
log
@fix HTML error generated
@
text
@d1 2
a2 2
--- webmagick.in.orig	Sun Oct 17 23:55:14 1999
+++ webmagick.in	Mon Nov 29 13:50:46 1999
d204 1
a204 1
@@@@ -1985,24 +2008,24 @@@@
d215 1
a215 1
         # Go to base index page if on first page
d218 11
a228 2
+	$indexbar .= "<A HREF=\"${opt_indexname}\" TARGET=\"$opt_frame_name_top\"><IMG
+	SRC=\"$iconImageUrls{'prev'}\" $iconImageSizes{'prev'} ALT=\"Prev\" BORDER=0></A>\n";
d246 1
a246 1
@@@@ -2058,7 +2081,7 @@@@
d255 1
a255 1
@@@@ -2143,6 +2166,7 @@@@
d263 1
a263 1
@@@@ -2762,7 +2786,7 @@@@
d272 1
a272 1
@@@@ -3346,6 +3370,7 @@@@
d280 1
a280 1
@@@@ -3369,6 +3394,8 @@@@
d289 1
a289 1
@@@@ -3408,9 +3435,11 @@@@
@


1.15
log
@add iconbase option
@
text
@d2 1
a2 1
+++ webmagick.in	Sat Nov 27 07:28:05 1999
d68 9
a76 1
@@@@ -658,6 +666,7 @@@@
d84 1
a84 1
@@@@ -674,13 +683,16 @@@@
d101 1
a101 1
@@@@ -870,7 +882,7 @@@@
d110 1
a110 1
@@@@ -934,7 +946,7 @@@@
d119 1
a119 1
@@@@ -1137,14 +1149,22 @@@@
d150 1
a150 1
@@@@ -1425,6 +1445,7 @@@@
d158 1
a158 1
@@@@ -1434,6 +1455,7 @@@@
d166 1
a166 1
@@@@ -1450,7 +1472,7 @@@@
d175 1
a175 1
@@@@ -1694,7 +1716,7 @@@@
d184 1
a184 1
@@@@ -1805,7 +1827,7 @@@@
d193 1
a193 1
@@@@ -1923,8 +1945,8 @@@@
d204 43
a246 1
@@@@ -2143,6 +2165,7 @@@@
d254 1
a254 1
@@@@ -2762,7 +2785,7 @@@@
d263 1
a263 1
@@@@ -3346,6 +3369,7 @@@@
d271 1
a271 1
@@@@ -3369,6 +3393,8 @@@@
d280 1
a280 1
@@@@ -3408,9 +3434,11 @@@@
@


1.14
log
@add --nodate option
@
text
@d2 1
a2 1
+++ webmagick.in	Thu Nov 25 23:44:06 1999
d11 8
a18 1
@@@@ -156,6 +157,7 @@@@
d26 1
a26 1
@@@@ -164,6 +166,7 @@@@
d34 11
a44 1
@@@@ -267,6 +270,7 @@@@
d52 1
a52 1
@@@@ -309,6 +313,7 @@@@
d60 1
a60 1
@@@@ -319,6 +324,7 @@@@
d68 1
a68 1
@@@@ -658,6 +664,7 @@@@
d76 6
a81 1
@@@@ -678,9 +685,11 @@@@
d93 1
a93 1
@@@@ -870,7 +879,7 @@@@
d102 1
a102 1
@@@@ -934,7 +943,7 @@@@
d111 32
a142 1
@@@@ -1425,6 +1434,7 @@@@
d150 9
a158 1
@@@@ -1450,7 +1460,7 @@@@
d167 1
a167 1
@@@@ -1694,7 +1704,7 @@@@
d176 1
a176 1
@@@@ -1805,7 +1815,7 @@@@
d185 1
a185 1
@@@@ -1923,8 +1933,8 @@@@
d196 1
a196 1
@@@@ -2143,6 +2153,7 @@@@
d204 1
a204 1
@@@@ -2762,7 +2773,7 @@@@
d213 9
a221 1
@@@@ -3369,6 +3380,8 @@@@
d230 1
a230 1
@@@@ -3408,9 +3421,11 @@@@
@


1.13
log
@upgrade to 1.46
@
text
@d1 2
a2 2
--- webmagick.in.old	Sun Oct 17 23:55:14 1999
+++ webmagick.in	Sun Nov 21 05:37:03 1999
d19 9
a27 1
@@@@ -267,6 +269,7 @@@@
d35 1
a35 1
@@@@ -309,6 +312,7 @@@@
d43 9
a51 1
@@@@ -658,6 +662,7 @@@@
d59 1
a59 1
@@@@ -678,6 +683,7 @@@@
d67 5
a71 1
@@@@ -870,7 +876,7 @@@@
d80 1
a80 1
@@@@ -934,7 +940,7 @@@@
d89 1
a89 1
@@@@ -1425,6 +1431,7 @@@@
d97 10
a106 1
@@@@ -1694,7 +1701,7 @@@@
d115 1
a115 1
@@@@ -1805,7 +1812,7 @@@@
d124 1
a124 1
@@@@ -1923,8 +1930,8 @@@@
d135 9
a143 1
@@@@ -2762,7 +2769,7 @@@@
d152 1
a152 1
@@@@ -3369,6 +3376,8 @@@@
d161 1
a161 1
@@@@ -3408,6 +3417,7 @@@@
d169 4
@


1.12
log
@use find instead of finddept because of prune cutt of whole tree
use _ instead of $_
@
text
@d1 3
a3 3
--- webmagick.in.orig	Sun Dec 20 01:03:12 1998
+++ webmagick.in	Sat Jun 12 20:01:35 1999
@@@@ -128,6 +128,7 @@@@
d11 1
a11 1
@@@@ -157,6 +158,7 @@@@
d19 1
a19 1
@@@@ -268,6 +270,7 @@@@
d27 1
a27 1
@@@@ -310,6 +313,7 @@@@
d35 1
a35 1
@@@@ -660,6 +664,7 @@@@
d43 1
a43 1
@@@@ -680,6 +685,7 @@@@
d51 1
a51 1
@@@@ -872,7 +878,7 @@@@
d60 1
a60 1
@@@@ -936,7 +942,7 @@@@
d69 1
a69 1
@@@@ -1426,6 +1432,7 @@@@
d77 1
a77 1
@@@@ -1695,7 +1702,7 @@@@
d86 1
a86 1
@@@@ -1806,7 +1813,7 @@@@
d95 1
a95 1
@@@@ -1924,8 +1931,8 @@@@
d115 1
a115 1
@@@@ -3373,6 +3380,8 @@@@
d124 1
a124 1
@@@@ -3412,6 +3421,7 @@@@
d128 1
a128 1
+  --dirhtmlext       Extension for directories frame
@


1.11
log
@add an option to set jpeg imagemaps quality
@
text
@d2 1
a2 1
+++ webmagick.in	Thu Mar 25 05:12:58 1999
d51 9
d65 1
a65 1
+    if ( -d $_ && -w $_ && !/^\..+/ ) {
@


1.10
log
@upgrade to 1.45
@
text
@d2 1
a2 1
+++ webmagick.in	Sun Feb 21 21:54:48 1999
d11 9
a19 1
@@@@ -268,6 +269,7 @@@@
d27 9
a35 1
@@@@ -660,6 +662,7 @@@@
d43 9
a51 1
@@@@ -936,7 +939,7 @@@@
d60 1
a60 1
@@@@ -1426,6 +1429,7 @@@@
d68 1
a68 1
@@@@ -1695,7 +1699,7 @@@@
d77 1
a77 1
@@@@ -1806,7 +1810,7 @@@@
d86 1
a86 1
@@@@ -1924,8 +1928,8 @@@@
d97 19
a115 1
@@@@ -3412,6 +3416,7 @@@@
@


1.9
log
@add help description for new options
@
text
@d1 80
a80 603
*** webmagick.in.orig	Tue Mar 24 07:45:45 1998
--- webmagick.in	Fri Sep 25 20:15:09 1998
***************
*** 127,135 ****
--- 127,137 ----
      $opt_dircolorlink,
      $opt_dircolorvlink,
      $opt_dirfmt,
+     $opt_dirhtmlext,
      $opt_dirindexname,
      $opt_forcecache,
      $opt_forcegif,
+     $opt_forcejpeg,
      $opt_forcehtml,
      $opt_forcemontage,
      $opt_frame_name_dirview,
***************
*** 144,150 ****
--- 146,154 ----
      $opt_framemarginheight,
      $opt_framemarginwidth,
      $opt_framestyle,
+     $opt_htmlext,
      $opt_header,
+     $opt_footer,
      $opt_help,
      $opt_htimage,
      $opt_iconpath,
***************
*** 196,201 ****
--- 200,210 ----
      $opt_verbose,
      $opt_webmagickrc,	# Per-directory WebMagick rc file name
      $opt_zoomfilter,
+     $opt_pichtml,
+     $opt_pichtmlext,
+     $opt_pichtmltarget,
+     $opt_pichtmltop,
+     $opt_pichtmlbottom,
      $pageStatusTime,	# Time status file last modified
      $pageNumber,	# Current page number
      $perlVarsLoaded,	# Set to one when directory status file sourced
***************
*** 249,255 ****
  # Name of per-directory rc file
  $opt_webmagickrc	= '.webmagickrc';
  # global rc files
! @@global_option_files	= ("/etc/webmagickrc", "$ENV{'HOME'}/${opt_webmagickrc}");
  
  
  # File naming
--- 258,264 ----
  # Name of per-directory rc file
  $opt_webmagickrc	= '.webmagickrc';
  # global rc files
! @@global_option_files    = ("@@prefix@@/etc/webmagickrc", "$ENV{'HOME'}/${opt_webmagickrc}");
  
  
  # File naming
***************
*** 258,263 ****
--- 267,273 ----
  $opt_pageindexname	= '.index';	# Base name of secondary index files
  $opt_dirindexname	= '.dirindex';	# Subdirectory Title cross-reference
  					#  dirname   Directory Title
+ $opt_dirhtmlext         = '.html';      # Use .shtml for SSI
  $opt_imgindexname	= '.imgindex';	# Image name to label cross-reference file
  
  #
***************
*** 299,311 ****
--- 309,329 ----
  $opt_forcehtml		= 0;	# Force HTML files to be generated (default off)
  $opt_forcemontage	= 0;	# Force montage (default off)
  $opt_forcegif		= 0;	# Force GIF imagemaps (default off)
+ $opt_forcejpeg          = 0;    # Force JPEG imagemaps (default off)
  $opt_help		= 0;	# Display usage message
+ $opt_htmlext            = '.html'; # Use .shtml for SSI
  $opt_header		= '';	# Imagemap extra page header (HTML)
+ $opt_footer             = '';   # Imagemap extra page footer (HTML)
  $opt_javascript		= 1;	# Enable JavaScript output
  $opt_readmevisible	= 0;	# Make README.html be first page.
  $opt_title		= '';	# Page title (blank provides default title)
  $opt_address		= '';	# Additonal address info for bottom of
                                  #    imagemap page
+ $opt_pichtml            = 0;    # Write separate HTML for each picture
+ $opt_pichtmlext         = '.html'; # Use .shtml for SSI
+ $opt_pichtmltarget      = '';
+ $opt_pichtmltop         = '';
+ $opt_pichtmlbottom      = '';
  
  #				
  # ImageMagick Montage settings
***************
*** 641,650 ****
--- 659,671 ----
  		'dircolorfore=s'	=> \$opt_dircolorfore,
  		'dircolorlink=s'	=> \$opt_dircolorlink,
  		'dircolorvlink=s'	=> \$opt_dircolorvlink,
+ 		'dirhtmlext=s'          => \$opt_dirhtmlext,
  		'dirindexname=s'	=> \$opt_dirindexname,
+ 		'footer=s'              => \$opt_footer,
  		'forcecache!'		=> \$opt_forcecache,
  		'forcegif!'		=> \$opt_forcegif,
  		'forcehtml!'		=> \$opt_forcehtml,
+ 		'forcejpeg!'            => \$opt_forcejpeg,
  		'forcemontage!'		=> \$opt_forcemontage,
  		'framemarginwidth=i'	=> \$opt_framemarginwidth,
  		'framemarginheight=i'	=> \$opt_framemarginheight,
***************
*** 654,659 ****
--- 675,681 ----
  		'header=s'		=> \$opt_header,
  		'help!'			=> \$opt_help,
  		'htimage=s'		=> \$opt_htimage,
+ 		'htmlext=s'             => \$opt_htmlext,
  		'iconpath=s'		=> \$opt_iconpath,
  		'imgindexname=s'	=> \$opt_imgindexname,
  		'indexname=s'		=> \$opt_indexname,
***************
*** 662,667 ****
--- 684,694 ----
  		'maptype=s'		=> \$opt_maptype,
  		'maxgif=i'		=> \$opt_maxgif,
  		'pageindexname=s'	=> \$opt_pageindexname,
+ 		'pichtml!'              => \$opt_pichtml,
+ 		'pichtmlbottom=s'       => \$opt_pichtmlbottom,
+ 		'pichtmlext=s'          => \$opt_pichtmlext,
+ 		'pichtmltarget=s'       => \$opt_pichtmltarget,
+ 		'pichtmltop=s'          => \$opt_pichtmltop,
  		'prefixpath=s'		=> \$opt_prefixpath,
  		'readme=s'		=> \$opt_readme,
  		'readmevisible!'	=> \$opt_readmevisible,
***************
*** 900,906 ****
  sub wanted {
      my($dev,$ino,$mode,$nlink,$uid,$gid);
      ($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_);
!     if ( -d $_ && !/^\..+/ ) {
          if( $_ ne '.' && get_rc_var('.', 'opt_prune', 0) ) {
              $File::Find::prune=1;
  	    # following funny logic is to avoid warnings about $prune
--- 927,933 ----
  sub wanted {
      my($dev,$ino,$mode,$nlink,$uid,$gid);
      ($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_);
!     if ( -d $_ && -w $_ && !/^\..+/ ) {
          if( $_ ne '.' && get_rc_var('.', 'opt_prune', 0) ) {
              $File::Find::prune=1;
  	    # following funny logic is to avoid warnings about $prune
***************
*** 1385,1397 ****
--- 1412,1427 ----
  	 'dircolorfore'		=> $opt_dircolorfore,
  	 'dircolorlink'		=> $opt_dircolorlink,
  	 'dircolorvlink'	=> $opt_dircolorvlink,
+ 	 'dirhtmlext'           => $opt_dirhtmlext,
  	 'dirindexname'		=> $opt_dirindexname,
+ 	 'footer'               => $opt_footer,
  	 'framemarginwidth'	=> $opt_framemarginwidth,
  	 'framemarginheight'	=> $opt_framemarginheight,
  	 'framebordersize'	=> $opt_framebordersize,
  	 'frameborder'		=> $opt_frameborder,
  	 'framestyle'		=> $opt_framestyle,
  	 'header'		=> $opt_header,
+ 	 'htmlext'              => $opt_htmlext,
  	 'imgindexname'		=> $opt_imgindexname,
  	 'indexname'		=> $opt_indexname,
  	 'jsdirindex'		=> $fileNames{'jsDirIndex'},
***************
*** 1584,1590 ****
--- 1614,1622 ----
  		# Save run status (source files and montage options)
  		#
  		writePerlIndexFiles();
+ 		if( $opt_javascript ) {
  		writeJavaScriptIndexFiles();
+ 		}
              }
  
  	    # Clear error flag
***************
*** 1650,1656 ****
  sub writeTopIndexes {
  
      print( STDERR "Writing Index Files ${opt_indexname} & ",
!                 "${opt_pageindexname}dir.html ...\n" )
                  if $opt_debug;
  
      #---- Generate the Variables for Format Options ----
--- 1682,1688 ----
  sub writeTopIndexes {
  
      print( STDERR "Writing Index Files ${opt_indexname} & ",
! 		"${opt_pageindexname}dir${opt_dirhtmlext} ...\n" )
                  if $opt_debug;
  
      #---- Generate the Variables for Format Options ----
***************
*** 1682,1690 ****
      #
      my $nexthtml = '';
      if( $haveReadme && $haveImages && $opt_framefmt_frames{$opt_framestyle}<=2 ) {
!        $nexthtml .= "<A HREF=\"${opt_pageindexname}1.html\" TARGET=\"$frameTargets{'thumbview'}\">
      <IMG SRC=\"$iconImageUrls{'next'}\" $iconImageSizes{'next'} ALT=\"\" BORDER=0></A>
!     <A HREF=\"${opt_pageindexname}1.html\" TARGET=\"$frameTargets{'thumbview'}\">Images</A><BR>";
      }
  
      #
--- 1714,1722 ----
      #
      my $nexthtml = '';
      if( $haveReadme && $haveImages && $opt_framefmt_frames{$opt_framestyle}<=2 ) {
!        $nexthtml .= "<A HREF=\"${opt_pageindexname}1$opt_htmlext\" TARGET=\"$frameTargets{'thumbview'}\">
      <IMG SRC=\"$iconImageUrls{'next'}\" $iconImageSizes{'next'} ALT=\"\" BORDER=0></A>
!     <A HREF=\"${opt_pageindexname}1$opt_htmlext\" TARGET=\"$frameTargets{'thumbview'}\">Images</A><BR>";
      }
  
      #
***************
*** 1729,1735 ****
  	my $i;
          for( $i=1; $i <= $numPages; ++$i ) {
              $pageindexhtml .= 
!                 "  <A HREF=\"${opt_pageindexname}${i}.html\">${i}</A><BR>\n";
          }
      }
  
--- 1761,1767 ----
  	my $i;
          for( $i=1; $i <= $numPages; ++$i ) {
              $pageindexhtml .= 
! 		"  <A HREF=\"${opt_pageindexname}${i}$opt_htmlext\">${i}</A><BR>\n";
          }
      }
  
***************
*** 1761,1767 ****
      # Pull README into thumbnail frame if it exists, and is
      # either marked always visible or there are no images.
      #
!     $dirframelink = "${opt_pageindexname}dir.html";
  
      if( $opt_framefmt_frames{$opt_framestyle} <= 2 ) {
  	if( $haveReadme && ( $opt_readmevisible || ! $haveImages ) ) {
--- 1793,1799 ----
      # Pull README into thumbnail frame if it exists, and is
      # either marked always visible or there are no images.
      #
!     $dirframelink = "${opt_pageindexname}dir${opt_dirhtmlext}";
  
      if( $opt_framefmt_frames{$opt_framestyle} <= 2 ) {
  	if( $haveReadme && ( $opt_readmevisible || ! $haveImages ) ) {
***************
*** 1769,1784 ****
  	    $pageframelink = $opt_readme;
  	} else {
  	    # Point to first image page
! 	    $pageframelink = "${opt_pageindexname}1.html";
  	}
      } else {
  	if( $haveReadme && $opt_readmevisible ) {
  	    # Point to README.html
! 	    $pageframelink = "${opt_pageindexname}1.html";
  	    $imageFrameLink = $opt_readme;
  	} else {
  	    # Point to first image page
! 	    $pageframelink = "${opt_pageindexname}1.html";
  	    $imageFrameLink = $fileNames{'htmlBlankPage'};
  	}
      }
--- 1801,1816 ----
  	    $pageframelink = $opt_readme;
  	} else {
  	    # Point to first image page
! 	    $pageframelink = "${opt_pageindexname}1$opt_htmlext";
  	}
      } else {
  	if( $haveReadme && $opt_readmevisible ) {
  	    # Point to README.html
! 	    $pageframelink = "${opt_pageindexname}1$opt_htmlext";
  	    $imageFrameLink = $opt_readme;
  	} else {
  	    # Point to first image page
! 	    $pageframelink = "${opt_pageindexname}1$opt_htmlext";
  	    $imageFrameLink = $fileNames{'htmlBlankPage'};
  	}
      }
***************
*** 1860,1865 ****
--- 1892,1898 ----
  
      # ----- Output Top JavaScript Index File (usually "indexjs.html") -------
      #
+     if( $opt_javascript ) {
      open( INDEX, ">$fileNames{'jsDirIndex'}")
  	|| die("$0: Failed to open file $fileNames{'jsDirIndex'} for output\n$@@\n");
      print( INDEX "<HTML>\n" );
***************
*** 1873,1884 ****
      print( INDEX "</SCRIPT>\n" );
      print( INDEX "</HTML>\n" );
      close( INDEX );
  
  
      # ----- Output Frame Directory File (usally ".indexdir.html") ------
      #
!     open( INDEX, ">${opt_pageindexname}dir.html")
! 	|| die("$0: Failed to open file \"${opt_pageindexname}dir.html\"",
                  " for output\n$@@\n");
      print( INDEX "<HTML>\n<HEAD>\n" );
      print( INDEX "  <TITLE>${pageTitle}</TITLE>\n" );
--- 1906,1918 ----
      print( INDEX "</SCRIPT>\n" );
      print( INDEX "</HTML>\n" );
      close( INDEX );
+     }
  
  
      # ----- Output Frame Directory File (usally ".indexdir.html") ------
      #
!     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 "  <TITLE>${pageTitle}</TITLE>\n" );
***************
*** 1965,1971 ****
  	my $page;
  	for ( $page = 1; $page <= $numPages; ++$page) {
  	    if ( $page != $pageNumber ) {
!                 $indexbar .= "<A HREF=\"${opt_pageindexname}${page}.html\" TARGET=\"$frameTargets{'thumbview'}\">${page}</A>\n";
  	    } else {
          	$indexbar .= " ${page}\n";
  	    }
--- 1999,2005 ----
  	my $page;
  	for ( $page = 1; $page <= $numPages; ++$page) {
  	    if ( $page != $pageNumber ) {
! 		$indexbar .= "<A HREF=\"${opt_pageindexname}${page}$opt_htmlext\" TARGET=\"$frameTargets{'thumbview'}\">${page}</A>\n";
  	    } else {
          	$indexbar .= " ${page}\n";
  	    }
***************
*** 2005,2014 ****
      print( INDEX "  VLINK=\"${opt_colorvlink}\"\n" );
      print( INDEX "  ALINK=\"${opt_coloralink}\">\n\n" );
  
  
      # Leave page blank unless there is something to show
      if( $numimages > 0 ) {
-         print( INDEX "${opt_header}\n" ) if $opt_header;
  	# Total HACK!!!
  	if( $opt_framestyle == 1 ) {
  	    print( INDEX "<p><FONT SIZE=-1>Index of files \"$imageNames[$pageNumber - 1][0]\" through",
--- 2039,2048 ----
      print( INDEX "  VLINK=\"${opt_colorvlink}\"\n" );
      print( INDEX "  ALINK=\"${opt_coloralink}\">\n\n" );
  
+     print( INDEX "${opt_header}\n" ) if $opt_header;
  
      # Leave page blank unless there is something to show
      if( $numimages > 0 ) {
  	# Total HACK!!!
  	if( $opt_framestyle == 1 ) {
  	    print( INDEX "<p><FONT SIZE=-1>Index of files \"$imageNames[$pageNumber - 1][0]\" through",
***************
*** 2034,2045 ****
  	print( INDEX "<MAP NAME=\"${mapname}\">\n" );
  	my $imageNum;
  	for( $imageNum = 0; $imageNum <= $#{$imageNames[$pageNumber - 1]}; ++$imageNum ) {
! 	    print( INDEX "  <AREA HREF=\"", $imageNames[$pageNumber - 1][$imageNum],
  		  "\" SHAPE=RECT COORDS=", $imageThumbCoords[$pageNumber - 1][$imageNum],">\n" );
  	}
  	print( INDEX "</MAP>\n" );
      }
  
      # Print Copyright info on non-blank pages.
      if( $numimages > 0 ) {
         print( INDEX "<BR><ADDRESS>\n" );
--- 2068,2121 ----
  	print( INDEX "<MAP NAME=\"${mapname}\">\n" );
  	my $imageNum;
  	for( $imageNum = 0; $imageNum <= $#{$imageNames[$pageNumber - 1]}; ++$imageNum ) {
! 	    my $pic = $imageNames[$pageNumber - 1][$imageNum];
! 	    if ( $opt_pichtml ) {
! 		my $pichtml;
! 		my $target = '';
! 
! 		if( !$opt_pichtmlext ) {
! 			$pichtml = $pic . ".html";
! 		} else {
! 			$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 "  <TITLE>$pic</TITLE>\n" );
! 		print( PICHTML "</HEAD>\n" );
! 		print( PICHTML "<BODY\n" );
! 		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}\">\n\n" );
! 		print( PICHTML "$opt_pichtmltop") if $opt_pichtmltop;
! 		if ( $pic =~ /\.(jpg|jpeg?|gif|xbm)$/i ) {
! 		    print( PICHTML "<IMG SRC=\"$pic\">" );
! 		} else {
! 		    print( PICHTML "<A HREF=\"$pic\"><BIG><B>$pic</B></A> ", fsize($pic), "</BIG>" );
! 		}
! 		print( PICHTML "$opt_pichtmlbottom\n") if $opt_pichtmlbottom;
! 		print( PICHTML "</BODY>\n" );
! 		print( PICHTML "</HTML>\n" );
! 		close ( PICHTML );
! 		if ($opt_pichtmltarget) {
! 		    $target = " TARGET=\"$opt_pichtmltarget\"";
! 		}
! 		print( INDEX "  <AREA$target HREF=\"", $pichtml,
  		  "\" SHAPE=RECT COORDS=", $imageThumbCoords[$pageNumber - 1][$imageNum],">\n" );
+ 	    } else {
+ 		print( INDEX "  <AREA HREF=\"", $pic,
+ 		  "\" SHAPE=RECT COORDS=", $imageThumbCoords[$pageNumber - 1][$imageNum],">\n" );
+ 	    }
  	}
  	print( INDEX "</MAP>\n" );
      }
  
+     print( INDEX "${opt_footer}\n" ) if $opt_footer;
+ 
      # Print Copyright info on non-blank pages.
      if( $numimages > 0 ) {
         print( INDEX "<BR><ADDRESS>\n" );
***************
*** 2648,2653 ****
--- 2724,2730 ----
  	    handleMagickError( __FILE__, __LINE__, "", $status) if "$status";
  	}
  
+ 	if( ! $opt_forcejpeg ) {
  	print( STDERR "Writing $fileNames{'montageGIF'} ...\n" ) if $opt_debug;
  	$status = $image->Write(
  				colors=>256,
***************
*** 2659,2676 ****
  	handleMagickError( __FILE__, __LINE__, $fileNames{'montageGIF'}, $status) if "$status";
  	last MONTAGE if "$status";
  	undef @@$image;
  
  	# If not doing GIF only, do JPEG	      
  	if( ! $opt_forcegif ) {
  	    # Only do JPEG if GIF is large.
  	    # Most reasonable GIFs are under 30K
! 	    if( fsize( $fileNames{'montageGIF'} ) > $opt_maxgif ) {
  		# Write JPEG file
  		print( STDERR "Writing $fileNames{'montageJPEG'} ...\n" )
  		    if $opt_debug;
  		$status = $montage->Write(
  					  filename=>"JPEG:$fileNames{'montageJPEG'}",
! 					  interlace=>'None',
  					  quality=>70
  					  );
  		handleMagickError( __FILE__, __LINE__, $fileNames{'montageJPEG'}, $status) if "$status";
--- 2736,2754 ----
  	handleMagickError( __FILE__, __LINE__, $fileNames{'montageGIF'}, $status) if "$status";
  	last MONTAGE if "$status";
  	undef @@$image;
+ 	}
  
  	# If not doing GIF only, do JPEG	      
  	if( ! $opt_forcegif ) {
  	    # Only do JPEG if GIF is large.
  	    # Most reasonable GIFs are under 30K
! 	    if( $opt_forcejpeg || fsize( $fileNames{'montageGIF'} ) > $opt_maxgif ) {
  		# Write JPEG file
  		print( STDERR "Writing $fileNames{'montageJPEG'} ...\n" )
  		    if $opt_debug;
  		$status = $montage->Write(
  					  filename=>"JPEG:$fileNames{'montageJPEG'}",
! 					  interlace=>'Plane',
  					  quality=>70
  					  );
  		handleMagickError( __FILE__, __LINE__, $fileNames{'montageJPEG'}, $status) if "$status";
***************
*** 2747,2762 ****
      # default URL
      if ( "${opt_htimage}" ne '' ) {
  	print( IMAGEMAP "default "
! 	      . abs_path_to_url("${sourceDirectory}/${opt_pageindexname}${pageNumber}.html")
  	      . "\n" );
      } else {
! 	print( IMAGEMAP "default ${opt_pageindexname}${pageNumber}.html\n" );
      }
      my $imageNum;
      for( $imageNum = 0; $imageNum <= $#{$imageNames[$pageNumber - 1]}; ++$imageNum ) {
  	my $url = $imageNames[$pageNumber - 1][$imageNum];
  	my($x1,$y1,$x2,$y2);
  	($x1,$y1,$x2,$y2) = split(',', $imageThumbCoords[$pageNumber - 1][$imageNum]);
  	if( $opt_maptype eq 'ncsa' ) {
  	    if ( "${opt_htimage}" ne '' ) {
  		print( IMAGEMAP "rect "
--- 2825,2847 ----
      # default URL
      if ( "${opt_htimage}" ne '' ) {
  	print( IMAGEMAP "default "
! 	      . abs_path_to_url("${sourceDirectory}/${opt_pageindexname}${pageNumber}$opt_htmlext")
  	      . "\n" );
      } else {
! 	print( IMAGEMAP "default ${opt_pageindexname}${pageNumber}$opt_htmlext\n" );
      }
      my $imageNum;
      for( $imageNum = 0; $imageNum <= $#{$imageNames[$pageNumber - 1]}; ++$imageNum ) {
  	my $url = $imageNames[$pageNumber - 1][$imageNum];
  	my($x1,$y1,$x2,$y2);
  	($x1,$y1,$x2,$y2) = split(',', $imageThumbCoords[$pageNumber - 1][$imageNum]);
+ 	if( $opt_pichtml ) {
+ 		if( !$opt_pichtmlext ) {
+ 			$url .= ".html";
+ 		} else {
+ 			$url .= $opt_pichtmlext;
+ 		}
+ 	}
  	if( $opt_maptype eq 'ncsa' ) {
  	    if ( "${opt_htimage}" ne '' ) {
  		print( IMAGEMAP "rect "
***************
*** 3258,3263 ****
--- 3343,3349 ----
  
   Montage:
    --forcegif         Force imagemap to be in GIF format
+   --forcejpeg        Force imagemap to be in JPEG format
    --maxgif           Maximum size of GIF imagemap before trying JPEG
    --columns	     Montage columns
    --rows	     Montage rows (max)
***************
*** 3298,3308 ****
--- 3384,3403 ----
    --dircolorlink     Link (unvisited) color (directory frame)
    --dircolorvlink    Link (visited) color (directory frame)
  
+   --dirhtmlext       Extension for directories frame
    --javascript	     Enable JavaScript output
    --header           Page header (imagemap frame)
+   --htmlext          Extension for imagemap frame
+   --footer           Page footer (imagemap frame)
    --readmevisible    Show README.html on first page rather than just linking.
    --title            Page title
  
+   --pichtml          Generate separate pages for pictures
+   --pichtmlext       Extension for pictures pages
+   --pichtmltarget    Target for pictures pages
+   --pichtmltop       Picture page header
+   --pichtmlbottom    Picture page footer
+ 
   Frame Options:
    --framemarginwidth Pixels allocated to frame margin in horizontal direction
    --framemarginheight Pixels allocated to frame margin in vertical direction
***************
*** 3345,3364 ****
      $fileNames{'montageServerMap'} = "${sourceDirectory}/${opt_pageindexname}${pageNumber}.map";
  
      # Name for current HTML index page
!     $fileNames{'htmlCurrentIndex'} = "${opt_pageindexname}${pageNumber}.html";
      
      # Name for next HTML index page
      if($pageNumber == $numPages) {
  	$fileNames{'htmlNextIndex'} = '';
      } else {
! 	$fileNames{'htmlNextIndex'} = "${opt_pageindexname}${nextPageNumber}.html";
      }
      
      # Name for previous HTML index page
      if($pageNumber == 1) {
  	$fileNames{'htmlPrevIndex'} = '';
      } else {
! 	$fileNames{'htmlPrevIndex'} = "${opt_pageindexname}${previousPageNumber}.html";
      }
  
  
--- 3440,3459 ----
      $fileNames{'montageServerMap'} = "${sourceDirectory}/${opt_pageindexname}${pageNumber}.map";
  
      # Name for current HTML index page
!     $fileNames{'htmlCurrentIndex'} = "${opt_pageindexname}${pageNumber}$opt_htmlext";
      
      # Name for next HTML index page
      if($pageNumber == $numPages) {
  	$fileNames{'htmlNextIndex'} = '';
      } else {
! 	$fileNames{'htmlNextIndex'} = "${opt_pageindexname}${nextPageNumber}$opt_htmlext";
      }
      
      # Name for previous HTML index page
      if($pageNumber == 1) {
  	$fileNames{'htmlPrevIndex'} = '';
      } else {
! 	$fileNames{'htmlPrevIndex'} = "${opt_pageindexname}${previousPageNumber}$opt_htmlext";
      }
  
  
@


1.8
log
@customize indexdir extension
@
text
@d2 1
a2 1
--- webmagick.in	Thu Sep 24 08:31:07 1998
d529 33
d583 1
a583 1
--- 3430,3449 ----
@


1.7
log
@do not attempt to recurse in non-writeable directories
@
text
@d2 1
a2 1
--- webmagick.in	Thu Aug 13 01:26:44 1998
d4 6
a9 2
*** 130,135 ****
--- 130,136 ----
d19 1
a19 1
--- 145,153 ----
d31 1
a31 1
--- 199,209 ----
d52 1
a52 1
--- 257,263 ----
d61 10
d72 1
a72 1
--- 307,327 ----
d95 3
a97 2
*** 642,650 ****
--- 658,668 ----
d100 1
d112 1
a112 1
--- 672,678 ----
d122 1
a122 1
--- 681,691 ----
d143 1
a143 1
--- 924,930 ----
d152 3
a154 2
*** 1386,1397 ****
--- 1410,1423 ----
d157 1
d172 1
a172 1
--- 1610,1618 ----
d183 17
d210 1
a210 1
--- 1710,1718 ----
d229 1
a229 1
--- 1757,1763 ----
d238 17
d272 1
a272 1
--- 1797,1812 ----
d291 1
a291 1
--- 1888,1894 ----
d300 14
a313 2
*** 1873,1878 ****
--- 1902,1908 ----
d321 6
d336 1
a336 1
--- 1995,2001 ----
d356 1
a356 1
--- 2035,2044 ----
d381 1
a381 1
--- 2064,2117 ----
d438 1
a438 1
--- 2720,2726 ----
d466 1
a466 1
--- 2732,2750 ----
d504 1
a504 1
--- 2821,2843 ----
d550 1
a550 1
--- 3426,3445 ----
@


1.6
log
@Cosmetique
@
text
@d2 1
a2 1
--- webmagick.in	Fri May 22 20:44:59 1998
d118 17
@


1.5
log
@Options fixes
@
text
@d2 1
a2 1
--- webmagick.in	Fri May 22 04:13:22 1998
d258 24
a281 1
*** 2034,2041 ****
d290 5
a294 1
--- 2064,2115 ----
d321 1
a321 3
! 		print( PICHTML "<CENTER>\n" );
! 		print( PICHTML "$opt_pichtmltop\n")
! 		    if $opt_pichtmltop;
d323 1
a323 1
! 		    print( PICHTML "<IMG SRC=\"$pic\">\n" );
d325 1
a325 1
! 		    print( PICHTML "<A HREF=\"$pic\"><BIG><B>$pic</B></A> ", fsize($pic), "</BIG>\n" );
d327 1
a327 3
! 		print( PICHTML "$opt_pichtmlbottom\n")
! 		    if $opt_pichtmlbottom;
! 		print( PICHTML "</CENTER>\n" );
a334 3
! 		  "\" SHAPE=RECT COORDS=", $imageThumbCoords[$pageNumber - 1][$imageNum],">\n" );
! 	    } else {
! 		print( INDEX "  <AREA HREF=\"", $pic,
d336 3
a342 8
***************
*** 2056,2061 ****
--- 2130,2136 ----
  	   print( INDEX " $webmagickInfo{revision}</NOBR>, <NOBR>Copyright &copy;</NOBR> <NOBR>Bob Friesenhahn</NOBR>\n" );
         }
         print( INDEX "</ADDRESS>\n" );
+        print( INDEX "${opt_footer}\n" ) if $opt_footer;
      }
d344 5
a348 1
      print( INDEX "</BODY>\n" );
d351 1
a351 1
--- 2723,2729 ----
d379 1
a379 1
--- 2735,2753 ----
d417 1
a417 1
--- 2824,2846 ----
d463 1
a463 1
--- 3429,3448 ----
@


1.4
log
@Add few options for more flexibility
@
text
@d2 1
a2 1
--- webmagick.in	Thu May 21 19:58:44 1998
d14 12
d27 1
a27 1
--- 197,207 ----
d48 1
a48 1
--- 255,261 ----
d57 2
a58 2
*** 299,304 ****
--- 305,311 ----
d64 1
d66 1
d68 1
a68 3
***************
*** 306,311 ****
--- 313,323 ----
d81 6
a86 2
*** 645,650 ****
--- 657,663 ----
d95 10
d106 1
a106 1
--- 675,685 ----
d119 17
d137 1
a137 1
--- 1602,1610 ----
d148 73
d222 1
a222 1
--- 1880,1886 ----
d232 1
a232 1
--- 1894,1900 ----
d241 17
d267 1
a267 1
--- 2056,2107 ----
d276 1
a276 1
! 		if( !defined $opt_pichtmlext || $opt_pichtmlext eq '' ) {
d296 1
a296 1
! 		    if defined $opt_pichtmltop && $opt_pichtmltop ne '';
d303 1
a303 1
! 		    if defined $opt_pichtmlbottom && $opt_pichtmlbottom ne '';
d308 1
a308 1
! 		if (defined $opt_pichtmltarget && $opt_pichtmltarget ne '') {
d321 10
d332 1
a332 1
--- 2714,2720 ----
d360 1
a360 1
--- 2726,2744 ----
d380 85
@


1.3
log
@Write javascript junk only if it is enabled
@
text
@d2 25
a26 1
--- webmagick.in	Thu May 21 02:35:08 1998
d36 1
a36 1
--- 249,255 ----
d45 48
d94 1
d98 3
a100 11
! 		writeJavaScriptIndexFiles();
              }
  
  	    # Clear error flag
--- 1584,1592 ----
  		# Save run status (source files and montage options)
  		#
  		writePerlIndexFiles();
! 		if( $opt_javascript ) {
! 		    writeJavaScriptIndexFiles();
! 		}
d106 1
a106 1
--- 1862,1868 ----
d116 1
a116 1
--- 1876,1882 ----
d124 113
@


1.2
log
@Swap patch-aa and patch-ab, order is sufficient
@
text
@d1 2
a2 2
*** webmagick.in.bak	Tue Mar 24 07:45:45 1998
--- webmagick.in	Thu May 21 02:06:06 1998
d20 39
@


1.1
log
@Initial revision
@
text
@d1 2
a2 2
*** webmagickrc.in.bak	Tue Mar 24 07:45:52 1998
--- webmagickrc.in	Wed May 20 02:38:55 1998
d4 1
a4 1
*** 32,38 ****
d6 1
a6 1
  # $opt_webmagickrc	= '.webmagickrc';
d12 1
a12 1
--- 32,38 ----
d14 1
a14 1
  # $opt_webmagickrc	= '.webmagickrc';
@


1.1.1.1
log
@HTML images catalog and thumbnails generator, SSI, imagemaps, etc.
@
text
@@
