#!/usr/local/bin/perl
#pnuts version 0.1  part of the WN server package

require "getopts.pl";

	$VERSION = "0.1";

	&Getopts('s:i:');
	$search = $opt_s if $opt_s ne "";
	$index = $opt_i if $opt_i ne "";

	$file = shift;
	$marker = "<!-- pnuts -->";


	open( LIST, "<$file") || die "Can't open file: $!";


	$nextfile = <LIST>;
	chop( $nextfile);
	$top = $nextfile;

	while ( &getnextfile() ) {
		$curcopy = $currentfile."~";

		rename( $currentfile, $curcopy)
			|| die "Can't rename file: $currentfile";
		open( OLDCURR, "<$curcopy" ) || die "Can't open file: $!";
		open( NEWCURR, ">$currentfile" ) || die "Can't open file: $!";
		while ( $line = <OLDCURR>) {
			if ( $line =~ "^<!-- pnut") {
				&pnutline();
			}
			else {
				print NEWCURR $line;
			}
		}
		close( OLDCURR);
		close( NEWCURR);
	}


close( LIST);
exit(0);

sub pnutline {
	printf( NEWCURR  "$marker");
	if ( $previous ) {
		printf( NEWCURR  " [<a href=\"%s\">previous</a>]", $previous);
	}
	if ( $nextfile ) {
		printf( NEWCURR  " [<a href=\"%s\">next</a>]", $nextfile);
	}
	if ( $up[$curlevel - 1] ) {
		printf( NEWCURR  " [<a href=\"%s\">up</a>]", $up[$curlevel-1]);
	}
	if ( $top && ( $top ne $currentfile) ) {
		printf( NEWCURR  " [<a href=\"%s\">top</a>]", $top);
	}
	if ( $search ) {
		printf( NEWCURR  " [<a href=\"%s\">search</a>]", $search);
	}
	if ( $index ) {
		printf( NEWCURR  " [<a href=\"%s\">index</a>]", $index);
	}
	printf( NEWCURR "\n");
}

sub getnextfile {
	if ( $nextfile eq "") {
		return 0;
	}
	$previous = $currentfile;
	$up[$curlevel] = $currentfile;

	$currentfile = $nextfile;
	($nextfile = <LIST>) || ($nextfile = "");
	chop( $nextfile);
	$curlevel = $nextlevel;
	$nextfile =~ s/(\t*)//;
	$nextlevel = length( $1);
	return 1;
}








