
S2B
Hidden Palace unhidden
|
9.4 years
since unearthing of prototype ROM
15.5 years
since release of Sonic 2 on MegaDrive
1.7 years
since renaming to S2B
|
|
Affiliate
Sorry, we are no longer accepting any more affiliates. But thank you for
your interest!
|
Page Hits: #!/usr/bin/perl
##############################################################################
# #
# SSI Counter Version 1.0d #
# Copyright 2000 Robert DeFusco defsoft@gis.net #
# Created 2/16/2000 Last Modified 9/14/2002 #
# #
##############################################################################
# #
# COPYRIGHT NOTICE #
# Copyright 2000 Robert S. DeFusco All Rights Reserved. #
# #
# This script may be used and modified by anyone so long as #
# this copyright notice and the comments above remain intact. #
# By using this this code you agree to indemnify Robert S. DeFusco from #
# any liability that might arise from it's use. #
# #
# Selling the code for this program without prior written consent is #
# expressly forbidden. In other words, please ask first before you try and #
# make money off of my program. #
# #
# Obtain permission before redistributing this software over the Internet or #
# in any other medium. In all cases copyright and header must remain intact.#
# #
##############################################################################
use CGI qw(:standard);
##############################################################################
# Counter URL #
# ---------------------------------------
open(PUF,"url.path");
@upath=;
close(PUF);
$counturl="@upath";
# ---------------------------------------
##############################################################################
##############################################################################
# System Variables #
@schemes=(
"bluenight",
"coalfire",
"custom",
"default",
"digitalalarm",
"encounter",
"futuregreen",
"ghost",
"gilligan",
"metallica",
"neonpower",
"ocean3d",
"purplefunk",
"silver3d",
"thematrix",
"unionform",
"winamp",
"windowsxp",
"woodburn",
"x-files"
);
@bcolors=(
"black",
"white",
"red",
"green",
"blue",
"yellow",
"orange",
"custom"
);
$picked_scheme=param("scheme");
$picked_scheme=~s/ //ig;
$picked_scheme=~tr/A-Z/a-z/;
$pageid=param("id");
$cmode=param("type");
$cmode=~s/ //ig;
$cmode=~tr/A-Z/a-z/;
$border=param("border");
$border=~tr/A-Z/a-z/;
$max=param("max");
######################
## Random Scheme Code
if($picked_scheme eq 'random'){
srand(time ^ $$);
$rnum = rand(@schemes);
$picked_scheme=$schemes[$rnum];
}
######################
##############################################################################
##############################################################################
# Main command handler #
## Check ID List ########
open(IDL,"pageid.list");
@idfile=;
close(IDL);
@idlist=split(/\,/,"@idfile");
$idpassed="0";
foreach $iditem (@idlist){
chomp($iditem);
if($pageid eq $iditem) { $idpassed="1"; }
}
if($idpassed eq '0'){
print "Content-type: text/html\n\n";
print "invalid page id!";
exit;
}
#########################
if(!($cmode)){
print "Content-type: text/html\n\n";
print "invalid counter type!";
exit;
}
if($cmode eq 'ascii' || $cmode eq 'text') { &ascii_counter; exit; }
if($cmode eq 'image' || $cmode eq 'img' || !($cmode)) { &image_counter; exit; }
##############################################################################
##############################################################################
# ASCII Counter #
sub ascii_counter
{
$counter=count_log();
if($max)
{
if($max <= length($counter))
{
} else {
for($i=0;$i<($max-length($counter));$i++)
{
$addzero.="0";
}
$addzero.=$counter;
$counter=$addzero;
}
}
print "Content-type: text/html\n\n";
print "$counter";
}
##############################################################################
##############################################################################
# Image Counter #
sub image_counter
{
## Check scheme ########
if(!($picked_scheme)) { $picked_scheme="default"; }
$passed="0";
foreach $scheme (@schemes){
if($picked_scheme eq $scheme) { $passed="1"; }
}
if($passed eq '0')
{
print "Content-type: text/html\n\n";
print "invalid scheme";
exit;
}
########################
$counter=count_log();
if($max)
{
if($max <= length($counter))
{
} else {
for($i=0;$i<($max-length($counter));$i++)
{
$addzero.="0";
}
$addzero.=$counter;
$counter=$addzero;
}
}
for($i=0;$i";
}
if($border)
{
$bcpassed="0";
foreach $bcolor (@bcolors){
if($border eq $bcolor) { $bcpassed="1"; }
}
if($bcpassed eq '1'){
$borderurl=$counturl . "borders/" . "$border.gif";
$ciw=(length($counter)*8)+2;
$prehtml="
";
$posthtml="
";
$fullhtml=$prehtml . $ihtml . $posthtml;
chomp($fullhtml);
$ihtml=$fullhtml;
}
}
print "Content-type: text/html\n\n";
print "$ihtml";
}
##############################################################################
##############################################################################
# Counter Log #
sub count_log {
open(CF,"+>>$pageid.count");
flock(CF,2);
seek CF, 0, 0;
($countval = join '', );
truncate CF, 0;
$countval++;
print CF $countval;
close(CF);
return $countval;
}
##############################################################################