#!/usr/bin/perl
######################################################################
# RingWorld v1.7                                                     #
#--------------------------------------------------------------------#
# Copyright 1999-2001 TRXX Programming Group                         #
# Programming by Michael "TRXX" Sissine                              #
# All Rights Reserved                                                #
# http://www.trxx.co.uk                                              #
# trxx@trxx.co.uk                                                    #
######################################################################
# Variables Section
open (F, "<rworld.cfg");
@commands=<F>;
close (F);
foreach (@commands)
{
	eval $_;
}

($username,$webring,$method)=split("&",$ENV{QUERY_STRING});
$fullrn=$webring;
$fullrn=~s/_/ /g;

if (-e "$basepath/$webring.wrd")
{
open (F,"<$basepath/$webring.wrd");
flock(F,$LOCK_EX);
@data=<F>;
flock(F,$LOCK_UN);
close (F);
shift(@data);
foreach (@data)
{
	chop;
	($nm,$tit,$uurl,$desc,$iflg)=split("\t",$_);
	push(@ndata,"$nm\t$tit\t$uurl\t$desc") unless ($iflg);
}
@data=@ndata;
@ndata=();
$i=1;
while ($i<scalar(@data))
{
	($uname)=split("\t",$data[$i]);
	if ($uname eq $username)
	{
		$item=$i;
		last;
	}
	$i++;
}
if ($item>0){$pitem=$item-1;}
else {$pitem=scalar(@data)-1;}
if ($item<(scalar(@data)-1)){$nitem=$item+1;}
else {$nitem=0;}
($garbage,$title,$purl)=split("\t",$data[$pitem]);
($garbage,$title,$nurl)=split("\t",$data[$nitem]);
shift(@data);
foreach (@data)
{
	($uname,$title,$uurl)=split("\t",$_);
	next if ($uname eq $username);
	push (@ndata,$uurl);
}
srand;
$rurl=$ndata[int(rand scalar(@ndata))];
$redurl=$nurl if ($method eq "next");
$redurl=$purl if ($method eq "prev");
$redurl=$rurl if ($method eq "random");
}
else
{
	push(@result,"<li>Sorry webring <b>$fullrn</b> is not longer exist</li>");
	push(@footer,"<table width=\"100%\" border=0><tr><td width=\"100%\" align=\"center\"><img src=\"$ringworld/images/rwline.gif\"></td></tr></table>");
	open (F,"<$rwpath/template/sitelist.tpl");
	@html=<F>;
	close (F);
	$html=join("\n",@html);
	print "HTTP/1.0 200 Found\n" if ($sysid eq "Windows");
	print "content-type: text/html\n\n";
	eval $html;
	exit;
}

print "HTTP/1.0 302 Found\n" if ($sysid eq "Windows");
print "Location: $redurl\n\n";
