#!/usr/bin/perl -in use CGI; print "Content-type: text/html","\n\n"; print "","\n"; my $query = CGI::new(); my $url = $query->param('url'); my $num = $query->param('num'); my $url2 = $query->param('url2'); my $i = 0; unless ($url2) { $url2 = undef; } # unless() unless ($url) { $url = "news"; } # unless() unless ($num) { $num = 3; if($url eq "irc") { $num = "all"; } # if() } # unless() unless (($url eq "sysinfo") || ($url eq "self") || ($url2)) { @fn = ("top.inc","altnav.inc","$url.inc","bottom.inc","footer.inc"); } elsif ($url2) { @fn = ("top.inc","altnav.inc","$url.inc","$url2.inc","bottom.inc","footer.inc"); } # unless() if ($url eq "sysinfo") { @fn = ("top.inc","altnav.inc","SYSINFO","bottom.inc","footer.inc"); } elsif ($url eq "self") { @fn = ("top.inc","altnav.inc","SELF","bottom.inc","footer.inc"); } # if() while ($i < 6) { $ab = $fn[0]; PrintIncFile($ab); $ab = $fn[1]; PrintIncFile($ab); $i = 2; unless ($url2) { if ($i == 2) { $ab = $fn[$i]; if($ab eq "SYSINFO") { system 'perl /var/www/inc/sysinfo.cgi'; $i++; } elsif ($ab eq "SELF") { system 'perl /var/www/inc/self.cgi'; $i++; } else { open (URLINC, "/var/www/inc/$ab") || die "Cannot open inputfile!\n"; flock (URLINC, 1); @urlinc = ; if ($num eq "all") { print "@urlinc"; } elsif ($num) { $num = (($num * 2) + 2); $num--; for(my $j=0; $j<=$num; $j++) { print $urlinc[$j]; } # for() } # if() flock (URLINC, 8); close (URLINC); $i++; } # if() } # while() } # unless() if ($url2) { $ab = $fn[2]; open (URLINC, "/var/www/inc/$ab") || die "Cannot open inputfile!\n"; flock (URLINC, 1); print ; flock (URLINC, 8); close (URLINC); $ab = $fn[3]; open (URLINC, "/var/www/inc/$ab") || die "Cannot open the inputfile!\n"; flock (URLINC, 1); print ; flock (URLINC, 8); close (URLINC); $i = 3; } # if() if ($i >= 3) { while ($i < 6) { $ab = $fn[$i]; if (($ab eq "bottom.inc") || ($ab eq "footer.inc")) { PrintIncFile($ab); } # if() $i++; } # while() } # if() } # while() sub PrintIncFile { open (INCTOP, "/var/www/inc/$ab") || die "Cannot open inputfile!\n"; flock (INCTOP, 1); @inctop = ; print @inctop; flock (INCTOP, 8); close (INCTOP); } # sub PrintIncFile()