#!/usr/bin/perl

#******************************************************************************
#daycount.cgi - Day daycount Ver.1.21
#
#Version   	:1.21
#modified  	:2000/12/05
#Copyright 	:The Room
#E-Mail		:dream@lib.net
#URL		:http://dream.lib.net/room/
#
#これはフリー素材です。
#転載・商用目的の利用の際には、メールをお願いします。
#
#******************************************************************************
#1行目のperlのディレクトリ指定は、サーバによって異なります。
#詳しくは、管理者にお聞きください。
#******************************************************************************

#カウンタ数保存ファイル名
$ctfile = "count.dat";

#IP保存ファイル名
$ipfile = "ipdata.dat";

#累計カウンタ数の表示桁数
$figure[1] = 8;
#累計カウンタで使用する数字画像の入っているディレクトリ（相対パス）
$imgdir[1] = "./image";

#今日のカウント数の表示桁数
$figure[2] = 6;
#今日のカウント数表示で使用する数字画像の入っているディレクトリ（相対パス）
$imgdir[2] = "./image";

#昨日のカウント数の表示桁数
$figure[3] = 6;
#昨日のカウント数表示で使用する数字画像の入っているディレクトリ（相対パス）
$imgdir[3] = "./image";

#連続カウントを防止するには1を設定。
$double = 0;

#******************************************************************************

require './gifcat.pl';

$kind = $ENV{"QUERY_STRING"};
if (($kind ne "1") && ($kind ne "2") && ($kind ne "3")){$kind=1;}

$flag = 0;
if ($double == 1){
	$ip = $ENV{'REMOTE_ADDR'};
	open (IO,"+<$ipfile");
	flock(IO,2);
	$a1=<IO>;
	if ($a1 eq $ip){
		$flag = 1;
		}else{
		truncate(IO,0);
		seek(IO,0,0);
		print IO $ip;
		}
	close (IO);
	}

@y2=gmtime(time()+32400);
open (IO,"+<$ctfile");
flock(IO,2);
@y1=split(/<>/,<IO>);
if (($flag == 0) && ($kind == 1)){
	$y1[0]++;
	if (($y1[3] != $y2[5]) || ($y1[4] != $y2[4]) || ($y1[5] != $y2[3])){
		$y1[2]=$y1[1];
		$y1[1]=1;
		$y1[3]=$y2[5];
		$y1[4]=$y2[4];
		$y1[5]=$y2[3];
		}else{
		$y1[1]++;
		}
	truncate(IO,0);
	seek(IO,0,0);
	print IO "$y1[0]<>$y1[1]<>$y1[2]<>$y1[3]<>$y1[4]<>$y1[5]<>";
	}
close (IO);

if (length($y1[$kind-1]) < $figure[$kind]){
	$a2="0";
	$a2 x= $figure[$kind];
	$y1[$kind-1] = substr("$a2$y1[$kind-1]",length($y1[$kind-1]));
	}
for (0 .. length($y1[$kind-1])-1){
	$a2=substr($y1[$kind-1],$_,1);
	push(@y3,"$imgdir[$kind]/$a2\.gif");
	}

binmode(STDOUT);
print "Content-type: image/gif\n\n";
print &gifcat'gifcat(@y3);

exit;
