<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">##---------------------------------------------------------------------------##
##  File:
##	$Id: mhidxrc.pl,v 2.15 2003/03/31 17:53:47 ehood Exp $
##  Author:
##      Earl Hood       mhonarc@mhonarc.org
##  Description:
##      MHonArc library defining values for various index resources
##---------------------------------------------------------------------------##
##    MHonArc -- Internet mail-to-HTML converter
##    Copyright (C) 1996-1999	Earl Hood, mhonarc@mhonarc.org
##
##    This program is free software; you can redistribute it and/or modify
##    it under the terms of the GNU General Public License as published by
##    the Free Software Foundation; either version 2 of the License, or
##    (at your option) any later version.
##
##    This program is distributed in the hope that it will be useful,
##    but WITHOUT ANY WARRANTY; without even the implied warranty of
##    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
##    GNU General Public License for more details.
##
##    You should have received a copy of the GNU General Public License
##    along with this program; if not, write to the Free Software
##    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
##    02111-1307, USA
##---------------------------------------------------------------------------##

package mhonarc;

sub mhidxrc_set_vars {

##-----------------##
## Index resources ##
##-----------------##

$IdxTypeStr = $NOSORT ? 'Message' :
		        $SUBSORT ? 'Subject' :
			$AUTHSORT ? 'Author' :
			'Date';
## MAIN index resources
## if ($MAIN) {

    ##	Label for main index
    unless ($IDXLABEL) {
	$IDXLABEL = $IdxTypeStr . ' Index';
	$IsDefault{'IDXLABEL'} = 1;
    }

    ##	Beginning of main index page
    unless ($IDXPGBEG) {
	$IDXPGBEG =&lt;&lt;'EndOfStr';
&lt;!doctype html public "-//W3C//DTD HTML//EN"&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;$IDXTITLE$&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;$IDXTITLE$&lt;/h1&gt;
EndOfStr
	$IsDefault{'IDXPGBEG'} = 1;
    }

    ##	End of main index page
    unless ($IDXPGEND) {
	$IDXPGEND = "&lt;/body&gt;\n&lt;/html&gt;\n";
	$IsDefault{'IDXPGEND'} = 1;
    }

    ##	Beginning of main index list
    unless ($LIBEG) {
	$LIBEG  = '';
	$LIBEG .= "&lt;ul&gt;\n" .
		  '&lt;li&gt;&lt;a href="$TIDXFNAME$"&gt;$TIDXLABEL$&lt;/a&gt;&lt;/li&gt;' .
		  "\n&lt;/ul&gt;\n"  if $THREAD;
	$LIBEG .= '$PGLINK(PREV)$$PGLINK(NEXT)$' . "\n"  if $MULTIIDX;
	$LIBEG .= "&lt;hr&gt;\n&lt;ul&gt;\n";
	$IsDefault{'LIBEG'} = 1;
    }

    ## End of main index list
    unless ($LIEND) {
	$LIEND  = "&lt;/ul&gt;\n";
	$IsDefault{'LIEND'} = 1;
    }

    ## Main index entry (start, content, and end)
    unless ($LITMPL) {
	$LITMPL = qq|&lt;li&gt;&lt;strong&gt;\$SUBJECT\$&lt;/strong&gt;\n| .
		  qq|&lt;ul&gt;&lt;li&gt;&lt;em&gt;From&lt;/em&gt;: |;
	if ($SpamMode) {
	    $LITMPL .= q|$FROMNAME$|;
	} else {
	    $LITMPL .= q|$FROM$|;
	}
	$LITMPL .= qq|&lt;/li&gt;&lt;/ul&gt;\n&lt;/li&gt;\n|;
	$IsDefault{'LITMPL'} = 1;
    }

    ## Main list group resources
    unless ($AUTHBEG) {
	$AUTHBEG = ''; $IsDefault{'AUTHBEG'} = 1;
    }
    unless ($AUTHEND) {
	$AUTHEND = ''; $IsDefault{'AUTHEND'} = 1;
    }
    unless ($DAYBEG) {
	$DAYBEG = ''; $IsDefault{'DAYBEG'} = 1;
    }
    unless ($DAYEND) {
	$DAYEND = ''; $IsDefault{'DAYEND'} = 1;
    }
    unless ($SUBJECTBEG) {
	$SUBJECTBEG = ''; $IsDefault{'SUBJECTBEG'} = 1;
    }
    unless ($SUBJECTEND) {
	$SUBJECTEND = ''; $IsDefault{'SUBJECTEND'} = 1;
    }

## }

## THREAD index resources
## if ($THREAD) {

    ##	Label for thread index
    unless ($TIDXLABEL) {
	$TIDXLABEL = 'Thread Index';
	$IsDefault{'TIDXLABEL'} = 1;
    }

    ##	Beginning of thread index page
    unless ($TIDXPGBEG) {
	$TIDXPGBEG =&lt;&lt;'EndOfStr';
&lt;!doctype html public "-//W3C//DTD HTML//EN"&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;$TIDXTITLE$&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;$TIDXTITLE$&lt;/h1&gt;
EndOfStr
	$IsDefault{'TIDXPGBEG'} = 1;
    }
    ## End of thread index page
    unless ($TIDXPGEND) {
	$TIDXPGEND = "&lt;/body&gt;\n&lt;/html&gt;\n";
	$IsDefault{'TIDXPGEND'} = 1;
    }

    ## Head of thread index page (also contains list start markup)
    unless ($THEAD) {
	$THEAD  = '';
	$THEAD .= "&lt;ul&gt;\n" .
		  '&lt;li&gt;&lt;a href="$IDXFNAME$"&gt;$IDXLABEL$&lt;/a&gt;&lt;/li&gt;' .
		  "\n&lt;/ul&gt;\n"  if $MAIN;
	$THEAD .= '$PGLINK(TPREV)$$PGLINK(TNEXT)$' . "\n"  if $MULTIIDX;
	$THEAD .= "&lt;hr&gt;\n&lt;ul&gt;\n";
	$IsDefault{'THEAD'} = 1;
    }
    ## Foot of thread index page (also contains list end markup)
    unless ($TFOOT) {
	$TFOOT  = "&lt;/ul&gt;\n";
	$IsDefault{'TFOOT'} = 1;
    }

    ## Template for thread entry with no follow-ups
    unless ($TSINGLETXT) {
	$TSINGLETXT =&lt;&lt;'EndOfStr';
&lt;li&gt;&lt;strong&gt;$SUBJECT$&lt;/strong&gt;,
&lt;em&gt;$FROMNAME$&lt;/em&gt;&lt;/li&gt;
EndOfStr
	$IsDefault{'TSINGLETXT'} = 1;
    }

    ## Template for thread entry that is the start of a thread
    unless ($TTOPBEG) {
	$TTOPBEG =&lt;&lt;'EndOfStr';
&lt;li&gt;&lt;strong&gt;$SUBJECT$&lt;/strong&gt;,
&lt;em&gt;$FROMNAME$&lt;/em&gt;
EndOfStr
	$IsDefault{'TTOPBEG'} = 1;
    }
    ## Template for end of a thread
    unless ($TTOPEND) {
	$TTOPEND = "&lt;/li&gt;\n";
	$IsDefault{'TTOPEND'} = 1;
    }

    ## Template for the start of a sub-thread
    unless ($TSUBLISTBEG) {
	$TSUBLISTBEG  = "&lt;ul&gt;\n";
	$IsDefault{'TSUBLISTBEG'} = 1;
    }
    ## Template for the end of a sub-thread
    unless ($TSUBLISTEND) {
	$TSUBLISTEND  = "&lt;/ul&gt;\n";
	$IsDefault{'TSUBLISTEND'} = 1;
    }

    ## Template for the start and content of a regular thread entry
    unless ($TLITXT) {
	$TLITXT =&lt;&lt;'EndOfStr';
&lt;li&gt;&lt;strong&gt;$SUBJECT$&lt;/strong&gt;,
&lt;em&gt;$FROMNAME$&lt;/em&gt;
EndOfStr
	$IsDefault{'TLITXT'} = 1;
    }
    ## Template for end of a regular thread entry
    unless ($TLIEND) {
	$TLIEND = "&lt;/li&gt;\n";
	$IsDefault{'TLIEND'} = 1;
    }

    ## Template for the start of subject based section
    unless ($TSUBJECTBEG) {
	$TSUBJECTBEG  = "&lt;li&gt;&amp;lt;Possible follow-ups&amp;gt;&lt;/li&gt;\n";
	$IsDefault{'TSUBJECTBEG'} = 1;
    }
    ## Template for the end of subject based section
    unless ($TSUBJECTEND) {
	$TSUBJECTEND  = " ";
	$IsDefault{'TSUBJECTEND'} = 1;
    }

    ## Template for start and content of missing message in thread
    unless ($TLINONE) {
	$TLINONE = "&lt;li&gt;&lt;em&gt;Message not available&lt;/em&gt;";
	$IsDefault{'TLINONE'} = 1;
    }
    ## Template for end of missing message in thread
    unless ($TLINONEEND) {
	$TLINONEEND = "&lt;/li&gt;\n";
	$IsDefault{'TLINONEEND'} = 1;
    }

    ## Template for opening an indent (for cross-page threads)
    unless ($TINDENTBEG) {
	$TINDENTBEG = "&lt;ul&gt;\n";
	$IsDefault{'TINDENTBEG'} = 1;
    }
    ## Template for closing an indent (for cross-page threads)
    unless ($TINDENTEND) {
	$TINDENTEND = "&lt;/ul&gt;\n";
	$IsDefault{'TINDENTEND'} = 1;
    }

    ## Template for start of a continued thread (for cross-page threads)
    unless ($TCONTBEG) {
	$TCONTBEG = '&lt;li&gt;&lt;strong&gt;$SUBJECTNA$&lt;/strong&gt;, ' .
		    "&lt;em&gt;(continued)&lt;/em&gt;\n";
	$IsDefault{'TCONTBEG'} = 1;
    }
    ## Template for end of a continued thread (for cross-page threads)
    unless ($TCONTEND) {
	$TCONTEND = "&lt;/li&gt;\n";
	$IsDefault{'TCONTEND'} = 1;
    }

    $DoMissingMsgs = $TLINONE =~ /\S/;

## }

## Thread Slice Resources
unless ($TSLICEBEG) {
    $TSLICEBEG = "&lt;blockquote&gt;&lt;ul&gt;\n";
    $IsDefault{'TSLICEBEG'} = 1;
}
unless ($TSLICEEND) {
    $TSLICEEND = "&lt;/ul&gt;&lt;/blockquote&gt;\n";
    $IsDefault{'TSLICEEND'} = 1;
}

if ($TSLICELEVELS &lt; 0) {
    $TSLICELEVELS = $TLEVELS;
    $IsDefault{'TSLICELEVELS'} = 1;
}

unless ($TSLICESINGLETXT) {
    $TSLICESINGLETXT = $TSINGLETXT;
    $IsDefault{'TSLICESINGLETXT'} = 1;
}
unless ($TSLICETOPBEG) {
    $TSLICETOPBEG = $TTOPBEG;
    $IsDefault{'TSLICETOPBEG'} = 1;
}
unless ($TSLICETOPEND) {
    $TSLICETOPEND = $TTOPEND;
    $IsDefault{'TSLICETOPEND'} = 1;
}
unless ($TSLICESUBLISTBEG) {
    $TSLICESUBLISTBEG = $TSUBLISTBEG;
    $IsDefault{'TSLICESUBLISTBEG'} = 1;
}
unless ($TSLICESUBLISTEND) {
    $TSLICESUBLISTEND = $TSUBLISTEND;
    $IsDefault{'TSLICESUBLISTEND'} = 1;
}
unless ($TSLICELITXT) {
    $TSLICELITXT = $TLITXT;
    $IsDefault{'TSLICELITXT'} = 1;
}
unless ($TSLICELIEND) {
    $TSLICELIEND = $TLIEND;
    $IsDefault{'TSLICELIEND'} = 1;
}
unless ($TSLICELINONE) {
    $TSLICELINONE = $TLINONE;
    $IsDefault{'TSLICELINONE'} = 1;
}
unless ($TSLICELINONEEND) {
    $TSLICELINONEEND = $TLINONEEND;
    $IsDefault{'TSLICELINONEEND'} = 1;
}
unless ($TSLICESUBJECTBEG) {
    $TSLICESUBJECTBEG = $TSUBJECTBEG;
    $IsDefault{'TSLICESUBJECTBEG'} = 1;
}
unless ($TSLICESUBJECTEND) {
    $TSLICESUBJECTEND = $TSUBJECTEND;
    $IsDefault{'TSLICESUBJECTEND'} = 1;
}
unless ($TSLICEINDENTBEG) {
    $TSLICEINDENTBEG = $TINDENTBEG;
    $IsDefault{'TSLICEINDENTBEG'} = 1;
}
unless ($TSLICEINDENTEND) {
    $TSLICEINDENTEND = $TINDENTEND;
    $IsDefault{'TSLICEINDENTEND'} = 1;
}
unless ($TSLICECONTBEG) {
    $TSLICECONTBEG = $TCONTBEG;
    $IsDefault{'TSLICECONTBEG'} = 1;
}
unless ($TSLICECONTEND) {
    $TSLICECONTEND = $TCONTEND;
    $IsDefault{'TSLICECONTEND'} = 1;
}

unless ($TSLICESINGLETXTCUR) {
    $TSLICESINGLETXTCUR = $TSLICESINGLETXT;
    $IsDefault{'TSLICESINGLETXTCUR'} = 1;
}
unless ($TSLICETOPBEGCUR) {
    $TSLICETOPBEGCUR = $TSLICETOPBEG;
    $IsDefault{'TSLICETOPBEGCUR'} = 1;
}
unless ($TSLICETOPENDCUR) {
    $TSLICETOPENDCUR = $TSLICETOPEND;
    $IsDefault{'TSLICETOPENDCUR'} = 1;
}
unless ($TSLICELITXTCUR) {
    $TSLICELITXTCUR = $TSLICELITXT;
    $IsDefault{'TSLICELITXTCUR'} = 1;
}
unless ($TSLICELIENDCUR) {
    $TSLICELIENDCUR = $TSLICELIEND;
    $IsDefault{'TSLICELIENDCUR'} = 1;
}

##-------------------##
## Message resources ##
##-------------------##

unless (@DateFields) {
    @DateFields  = ('received', 'date');
    @_DateFields = ( ['received',0], ['date',0] );
    $IsDefault{'DATEFIELDS'} = 1;
} else {
    local($_);
    my $f;
    foreach (@DateFields) {
	s/\s//g;  tr/A-Z/a-z/;
	$f = $_;
	if ($f =~ s/\[(\d+)\]//) {
	    push(@_DateFields, [ $f, $1 ]);
	} else {
	    push(@_DateFields, [ $f, 0 ]);
	}
    }
}
unless (@FromFields) {
    @FromFields = ('from', 'mail-reply-to', 'reply-to', 'return-path',
		   'apparently-from', 'sender', 'resent-sender');
    $IsDefault{'FROMFIELDS'} = 1;
}

## Beginning of message page
unless ($MSGPGBEG) {
    $MSGPGBEG =&lt;&lt;'EndOfStr';
&lt;!doctype html public "-//W3C//DTD HTML//EN"&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;$SUBJECTNA$&lt;/title&gt;
EndOfStr
    
    $MSGPGBEG .= qq|&lt;link rev="made" href="mailto:\$FROMADDR\$"&gt;\n|
		 unless $SpamMode;
    $MSGPGBEG .= "&lt;/head&gt;\n&lt;body&gt;\n";
    $IsDefault{'MSGPGBEG'} = 1;
}

## End of message page
unless ($MSGPGEND) {
    $MSGPGEND = "&lt;/body&gt;\n&lt;/html&gt;\n";
    $IsDefault{'MSGPGEND'} = 1;
}

## Subject header
unless ($SUBJECTHEADER) {
    $SUBJECTHEADER = '&lt;h1&gt;$SUBJECTNA$&lt;/h1&gt;' . "\n&lt;hr&gt;\n";
    $IsDefault{'SUBJECTHEADER'} = 1;
}

## Separator between message data head and message data body
unless ($HEADBODYSEP) {
    $HEADBODYSEP = "&lt;hr&gt;\n";
    $IsDefault{'HEADBODYSEP'} = 1;
}

## Separator between end of message data and rest of page
unless ($MSGBODYEND) {
    $MSGBODYEND = "&lt;hr&gt;\n";
    $IsDefault{'MSGBODYEND'} = 1;
}

##---------------------------------##
## Mail header formating resources ##
##---------------------------------##

$FIELDSBEG = "&lt;ul&gt;\n",	$IsDefault{'FIELDSBEG'} = 1	unless $FIELDSBEG;
$FIELDSEND = "&lt;/ul&gt;\n",	$IsDefault{'FIELDSEND'} = 1	unless $FIELDSEND;
$LABELBEG = "&lt;li&gt;",	$IsDefault{'LABELBEG'} = 1  	unless $LABELBEG;
$LABELEND = ":",	$IsDefault{'LABELEND'} = 1	unless $LABELEND;
$FLDBEG  = " ", 	$IsDefault{'FLDBEG'} = 1	unless $FLDBEG;
$FLDEND  = "&lt;/li&gt;",	$IsDefault{'FLDEND'} = 1    	unless $FLDEND;

##-----------------------------------##
##  Next/prev message link resources ##
##-----------------------------------##

## Next/prev buttons
$NEXTBUTTON = '[&lt;a href="$MSG(NEXT)$"&gt;'.$IdxTypeStr.' Next&lt;/a&gt;]',
    $IsDefault{'NEXTBUTTON'} = 1	unless $NEXTBUTTON;
$PREVBUTTON = '[&lt;a href="$MSG(PREV)$"&gt;'.$IdxTypeStr.' Prev&lt;/a&gt;]',
    $IsDefault{'PREVBUTTON'} = 1	unless $PREVBUTTON;
$NEXTBUTTONIA = "[$IdxTypeStr Next]",
    $IsDefault{'NEXTBUTTONIA'} = 1	unless $NEXTBUTTONIA;
$PREVBUTTONIA = "[$IdxTypeStr Prev]",
    $IsDefault{'PREVBUTTONIA'} = 1	unless $PREVBUTTONIA;

## Next message link
unless ($NEXTLINK) {
    $NEXTLINK =&lt;&lt;EndOfStr;
&lt;li&gt;Next by $IdxTypeStr:
&lt;strong&gt;&lt;a href="\$MSG(NEXT)\$"&gt;\$SUBJECT(NEXT)\$&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
EndOfStr
    $IsDefault{'NEXTLINK'} = 1;
}

## Inactive next message link
$NEXTLINKIA = '', $IsDefault{'NEXTLINKIA'} = 1	unless $NEXTLINKIA;

## Previous message link
unless ($PREVLINK) {
    $PREVLINK =&lt;&lt;EndOfStr;
&lt;li&gt;Prev by $IdxTypeStr:
&lt;strong&gt;&lt;a href="\$MSG(PREV)\$"&gt;\$SUBJECT(PREV)\$&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
EndOfStr
    $IsDefault{'PREVLINK'} = 1;
}

## Inactive previous message link
$PREVLINKIA = '', $IsDefault{'PREVLINKIA'} = 1  unless $PREVLINKIA;

## Thread next/previous buttons
$TNEXTBUTTON = '[&lt;a href="$MSG(TNEXT)$"&gt;Thread Next&lt;/a&gt;]',
    $IsDefault{'TNEXTBUTTON'} = 1	unless $TNEXTBUTTON;
$TPREVBUTTON = '[&lt;a href="$MSG(TPREV)$"&gt;Thread Prev&lt;/a&gt;]',
    $IsDefault{'TPREVBUTTON'} = 1	unless $TPREVBUTTON;
$TNEXTBUTTONIA = '[Thread Next]',
    $IsDefault{'TNEXTBUTTONIA'} = 1	unless $TNEXTBUTTONIA;
$TPREVBUTTONIA = '[Thread Prev]',
    $IsDefault{'TPREVBUTTONIA'} = 1	unless $TPREVBUTTONIA;

$TNEXTINBUTTON = '[&lt;a href="$MSG(TNEXTIN)$"&gt;Next in Thread&lt;/a&gt;]',
    $IsDefault{'TNEXTINBUTTON'} = 1	unless $TNEXTINBUTTON;
$TNEXTINBUTTONIA = '[Next in Thread]',
    $IsDefault{'TNEXTINBUTTONIA'} = 1	unless $TNEXTINBUTTONIA;
$TPREVINBUTTON = '[&lt;a href="$MSG(TPREVIN)$"&gt;Prev in Thread&lt;/a&gt;]',
    $IsDefault{'TPREVINBUTTON'} = 1	unless $TPREVINBUTTON;
$TPREVINBUTTONIA = '[Prev in Thread]',
    $IsDefault{'TPREVINBUTTONIA'} = 1	unless $TPREVINBUTTONIA;

$TNEXTTOPBUTTON = '[&lt;a href="$MSG(TNEXTTOP)$"&gt;Next Thread&lt;/a&gt;]',
    $IsDefault{'TNEXTTOPBUTTON'} = 1	unless $TNEXTTOPBUTTON;
$TNEXTTOPBUTTONIA = '[Next Thread]',
    $IsDefault{'TNEXTTOPBUTTONIA'} = 1	unless $TNEXTTOPBUTTONIA;
$TPREVTOPBUTTON = '[&lt;a href="$MSG(TPREVTOP)$"&gt;Prev Thread&lt;/a&gt;]',
    $IsDefault{'TPREVTOPBUTTON'} = 1	unless $TPREVTOPBUTTON;
$TPREVTOPBUTTONIA = '[Prev Thread]',
    $IsDefault{'TPREVTOPBUTTONIA'} = 1	unless $TPREVTOPBUTTONIA;

$TTOPBUTTON = '[&lt;a href="$MSG(TTOP)$"&gt;First in Thread&lt;/a&gt;]',
    $IsDefault{'TTOPBUTTON'} = 1	unless $TTOPBUTTON;
$TTOPBUTTONIA = '[First in Thread]',
    $IsDefault{'TTOPBUTTONIA'} = 1	unless $TTOPBUTTONIA;
$TENDBUTTON = '[&lt;a href="$MSG(TEND)$"&gt;Last in Thread&lt;/a&gt;]',
    $IsDefault{'TENDBUTTON'} = 1	unless $TENDBUTTON;
$TENDBUTTONIA = '[Last in Thread]',
    $IsDefault{'TENDBUTTONIA'} = 1	unless $TENDBUTTONIA;

## Next message by thread link
unless ($TNEXTLINK) {
    $TNEXTLINK =&lt;&lt;'EndOfStr';
&lt;li&gt;Next by thread:
&lt;strong&gt;&lt;a href="$MSG(TNEXT)$"&gt;$SUBJECT(TNEXT)$&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
EndOfStr
    $IsDefault{'TNEXTLINK'} = 1;
}
## Inactive next message in thread link
$TNEXTLINKIA = '', $IsDefault{'TNEXTLINKIA'} = 1  unless $TNEXTLINKIA;

## Previous message by thread link
unless ($TPREVLINK) {
    $TPREVLINK =&lt;&lt;'EndOfStr';
&lt;li&gt;Previous by thread:
&lt;strong&gt;&lt;a href="$MSG(TPREV)$"&gt;$SUBJECT(TPREV)$&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
EndOfStr
    $IsDefault{'TPREVLINK'} = 1;
}
## Inactive previous message in thread link
$TPREVLINKIA = '', $IsDefault{'TPREVLINKIA'} = 1  unless $TPREVLINKIA;

## Next message within thread link
unless ($TNEXTINLINK) {
    $TNEXTINLINK =&lt;&lt;'EndOfStr';
&lt;li&gt;Next in thread:
&lt;strong&gt;&lt;a href="$MSG(TNEXTIN)$"&gt;$SUBJECT(TNEXTIN)$&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
EndOfStr
    $IsDefault{'TNEXTINLINK'} = 1;
}
## Inactive next message within thread link
$TNEXTINLINKIA = '', $IsDefault{'TNEXTINLINKIA'} = 1  unless $TNEXTINLINKIA;

## Previous message within thread link
unless ($TPREVINLINK) {
    $TPREVINLINK =&lt;&lt;'EndOfStr';
&lt;li&gt;Previous in thread:
&lt;strong&gt;&lt;a href="$MSG(TPREVIN)$"&gt;$SUBJECT(TPREVIN)$&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
EndOfStr
    $IsDefault{'TPREVINLINK'} = 1;
}
## Inactive previous message within thread link
$TPREVINLINKIA = '', $IsDefault{'TPREVINLINKIA'} = 1  unless $TPREVINLINKIA;

## Next thread
unless ($TNEXTTOPLINK) {
    $TNEXTTOPLINK =&lt;&lt;'EndOfStr';
&lt;li&gt;Next thread:
&lt;strong&gt;&lt;a href="$MSG(TNEXTTOP)$"&gt;$SUBJECT(TNEXTTOP)$&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
EndOfStr
    $IsDefault{'TNEXTTOPLINK'} = 1;
}
## Inactive next thread
$TNEXTTOPLINKIA = '', $IsDefault{'TNEXTTOPLINKIA'} = 1  unless $TNEXTTOPLINKIA;

## Previous thread
unless ($TPREVTOPLINK) {
    $TPREVTOPLINK =&lt;&lt;'EndOfStr';
&lt;li&gt;Previous thread:
&lt;strong&gt;&lt;a href="$MSG(TPREVTOP)$"&gt;$SUBJECT(TPREVTOP)$&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
EndOfStr
    $IsDefault{'TPREVTOPLINK'} = 1;
}
## Inactive prev thread
$TPREVTOPLINKIA = '', $IsDefault{'TPREVTOPLINKIA'} = 1  unless $TPREVTOPLINKIA;

## First in thread
unless ($TTOPLINK) {
    $TTOPLINK =&lt;&lt;'EndOfStr';
&lt;li&gt;First in thread:
&lt;strong&gt;&lt;a href="$MSG(TTOP)$"&gt;$SUBJECT(TTOP)$&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
EndOfStr
    $IsDefault{'TTOPLINK'} = 1;
}
## Inactive first in thread
$TTOPLINKIA = '', $IsDefault{'TTOPLINKIA'} = 1  unless $TTOPLINKIA;

## Last in thread
unless ($TENDLINK) {
    $TENDLINK =&lt;&lt;'EndOfStr';
&lt;li&gt;Last in thread:
&lt;strong&gt;&lt;a href="$MSG(TEND)$"&gt;$SUBJECT(TEND)$&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
EndOfStr
    $IsDefault{'TENDLINK'} = 1;
}
## Inactive last in thread
$TENDLINKIA = '', $IsDefault{'TENDLINKIA'} = 1  unless $TENDLINKIA;

## Top links in message
if (!$TOPLINKS) {
    $TOPLINKS  = "&lt;hr&gt;\n";
    $TOPLINKS .= '$BUTTON(PREV)$$BUTTON(NEXT)$'
	if $MAIN;
    $TOPLINKS .= '$BUTTON(TPREV)$$BUTTON(TNEXT)$'
	if $THREAD;
    $TOPLINKS .= '[&lt;a href="$IDXFNAME$#$MSGNUM$"&gt;$IDXLABEL$&lt;/a&gt;]'
	if $MAIN;
    $TOPLINKS .= '[&lt;a href="$TIDXFNAME$#$MSGNUM$"&gt;$TIDXLABEL$&lt;/a&gt;]'
	if $THREAD;
    $IsDefault{'TOPLINKS'} = 1;
}

## Bottom links in message
if (!$BOTLINKS) {
    $BOTLINKS =  "&lt;ul&gt;\n";
    $BOTLINKS .= '$LINK(PREV)$$LINK(NEXT)$'  if $MAIN;
    $BOTLINKS .= '$LINK(TPREV)$$LINK(TNEXT)$'  if $THREAD;
    if ($MAIN || $THREAD) {
	$BOTLINKS .= "&lt;li&gt;Index(es):\n&lt;ul&gt;\n";
	$BOTLINKS .= '&lt;li&gt;&lt;a href="$IDXFNAME$#$MSGNUM$"&gt;' .
		     "&lt;strong&gt;$IdxTypeStr&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;\n"  if $MAIN;
	$BOTLINKS .= '&lt;li&gt;&lt;a href="$TIDXFNAME$#$MSGNUM$"&gt;' .
		     "&lt;strong&gt;Thread&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;\n"  if $THREAD;
    }
    $BOTLINKS .= "&lt;/ul&gt;\n&lt;/li&gt;\n&lt;/ul&gt;\n";
    $IsDefault{'BOTLINKS'} = 1;
}

## Follow-up and References resources
unless ($FOLUPBEGIN) {
    $FOLUPBEGIN =&lt;&lt;'EndOfVar';
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Follow-Ups&lt;/strong&gt;:
&lt;ul&gt;
EndOfVar
    $IsDefault{'FOLUPBEGIN'} = 1;
}
unless ($FOLUPLITXT) {
    if ($SpamMode) {
	$FOLUPLITXT =&lt;&lt;'EndOfVar';
&lt;li&gt;&lt;strong&gt;$SUBJECT$&lt;/strong&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;From:&lt;/em&gt; $FROMNAME$&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
EndOfVar
    } else {
	$FOLUPLITXT =&lt;&lt;'EndOfVar';
&lt;li&gt;&lt;strong&gt;$SUBJECT$&lt;/strong&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;From:&lt;/em&gt; $FROM$&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
EndOfVar
    }
    $IsDefault{'FOLUPLITXT'} = 1;
}
unless ($FOLUPEND) {
    $FOLUPEND =&lt;&lt;'EndOfVar';
&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
EndOfVar
    $IsDefault{'FOLUPEND'} = 1;
}

unless ($REFSBEGIN) {
    $REFSBEGIN =&lt;&lt;'EndOfVar';
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;References&lt;/strong&gt;:
&lt;ul&gt;
EndOfVar
    $IsDefault{'REFSBEGIN'} = 1;
}
unless ($REFSLITXT) {
    if ($SpamMode) {
    $REFSLITXT =&lt;&lt;'EndOfVar';
&lt;li&gt;&lt;strong&gt;$SUBJECT$&lt;/strong&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;From:&lt;/em&gt; $FROMNAME$&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
EndOfVar
    } else {
	$REFSLITXT =&lt;&lt;'EndOfVar';
&lt;li&gt;&lt;strong&gt;$SUBJECT$&lt;/strong&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;From:&lt;/em&gt; $FROM$&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
EndOfVar
    }
    $IsDefault{'REFSLITXT'} = 1;
}
unless ($REFSEND) {
    $REFSEND =&lt;&lt;'EndOfVar';
&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
EndOfVar
    $IsDefault{'REFSEND'} = 1;
}

##--------------------------------------------##
## Next/previous main/thread index page links ##
##--------------------------------------------##

$FIRSTPGLINK = '[&lt;a href="$PG(FIRST)$"&gt;First Page&lt;/a&gt;]',
    $IsDefault{'FIRSTPGLINK'} = 1	unless $FIRSTPGLINK;
$LASTPGLINK  = '[&lt;a href="$PG(LAST)$"&gt;Last Page&lt;/a&gt;]',
    $IsDefault{'LASTPGLINK'} = 1	unless $LASTPGLINK;
$NEXTPGLINK  = '[&lt;a href="$PG(NEXT)$"&gt;Next Page&lt;/a&gt;]',
    $IsDefault{'NEXTPGLINK'} = 1	unless $NEXTPGLINK;
$PREVPGLINK  = '[&lt;a href="$PG(PREV)$"&gt;Prev Page&lt;/a&gt;]',
    $IsDefault{'PREVPGLINK'} = 1	unless $PREVPGLINK;

$TFIRSTPGLINK = '[&lt;a href="$PG(TFIRST)$"&gt;First Page&lt;/a&gt;]',
    $IsDefault{'TFIRSTPGLINK'} = 1	unless $TFIRSTPGLINK;
$TLASTPGLINK  = '[&lt;a href="$PG(TLAST)$"&gt;Last Page&lt;/a&gt;]',
    $IsDefault{'TLASTPGLINK'} = 1	unless $TLASTPGLINK;
$TNEXTPGLINK  = '[&lt;a href="$PG(TNEXT)$"&gt;Next Page&lt;/a&gt;]',
    $IsDefault{'TNEXTPGLINK'} = 1	unless $TNEXTPGLINK;
$TPREVPGLINK  = '[&lt;a href="$PG(TPREV)$"&gt;Prev Page&lt;/a&gt;]',
    $IsDefault{'TPREVPGLINK'} = 1	unless $TPREVPGLINK;

$NEXTPGLINKIA  = '[Next Page]',
    $IsDefault{'NEXTPGLINKIA'} = 1	unless $NEXTPGLINKIA;
$PREVPGLINKIA  = '[Prev Page]',
    $IsDefault{'PREVPGLINKIA'} = 1	unless $PREVPGLINKIA;
$TNEXTPGLINKIA = '[Next Page]',
    $IsDefault{'TNEXTPGLINKIA'} = 1	unless $TNEXTPGLINKIA;
$TPREVPGLINKIA = '[Prev Page]',
    $IsDefault{'TPREVPGLINKIA'} = 1	unless $TPREVPGLINKIA;

##---------------##
## Miscellaneous ##
##---------------##

$MSGIDLINK = '&lt;a $A_HREF$&gt;$MSGID$&lt;/a&gt;',
     $IsDefault{'MSGIDLINK'} = 1	unless $MSGIDLINK;

$NOTE	    = '$NOTETEXT$',
     $IsDefault{'NOTE'} = 1		unless $NOTE;
$NOTEIA	    = '',
     $IsDefault{'NOTEIA'} = 1		unless $NOTEIA;
$NOTEICON   = '',
     $IsDefault{'NOTEICON'} = 1		unless $NOTEICON;
$NOTEICONIA = '',
     $IsDefault{'NOTEICONIA'} = 1	unless $NOTEICONIA;

##	Set unknown icon
$Icons{'unknown'} = $Icons{'text/plain'}  unless $Icons{'unknown'};

##
if ($AddressModify eq "") {
    $AddressModify =
	q{s|([\!\%\w\.\-+=/]+@)([\w\-]+\.[\w\.\-]+)|$1.('x' x length($2))|ge}
	if $SpamMode;
    $IsDefault{'AddressModify'} = 1;
}

if ($MAILTOURL eq "") {
    if ($SpamMode) {
	$MAILTOURL = 'mailto:$TOADDRNAME$@DOMAIN.HIDDEN';
    } else {
	$MAILTOURL = 'mailto:$TO$';
    }
    $IsDefault{'MAILTOURL'} = 1;
}

if (!defined($AddrModifyBodies)) {
    $AddrModifyBodies  = 1  if $SpamMode;
}

}

##---------------------------------------------------------------------------##
1;
</pre></body></html>