#!/usr/bin/perl -w ################################################################################ # SmartStat ver1.0 - MCOnet version # ################################################################################ # Bacsi Gábor # Original: SmartStat ver1.0 # # E-mail: b_gabor@mailbox.hu # Platform: Linux, WindowsNT # # Tel.: +36-30/276-7696 # Dátum: 2001-08-21 # ################################################################################ print "Content-type:text/html\n\n"; $qs = $ENV{'QUERY_STRING'}; @pairs = split(/&/, $qs); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; } require 'szamlalo.conf'; &get_time; &check_folder; if ($qs eq "szamol") { &check_folder; $date_filename = $this_date; if (-e "data/$date_filename".".dat") { &beolvas; &ir; #debug#&public; exit; } else { &uj; &beolvas; &ir; #debug#&public; exit; } } if ($qs eq "mutat") { &check_folder; $date_filename = $this_date; if (-e "data/$date_filename".".dat") { $date_filename = $this_date; &beolvas; &html_eleje; &adatok; &html_vege; exit; } else { $date_filename = $this_date; &uj; &beolvas; &html_eleje; &adatok; &html_vege; exit; } } if ($qs eq "date_archiv=$FORM{'date_archiv'}") { &check_folder; $date_filename = "$FORM{'date_archiv'}"; &beolvas; &html_eleje; &adatok; &html_vege; exit; } &hiba; sub check_folder { if (!(-e "data")) { print "A data mappa nem található!"; exit; } } sub hiba { print "Nem adtál meg funkciót!"; } sub get_time { my($year,$mon,$day,$hour,$min,$sec); @months = ('Január','Február','Március','Április','Május','Június','Július', 'Augusztus','Szeptember','Október','November','December'); ($daynyear,$year,$mon,$day,$hour,$min,$sec) = (localtime(time))[7,5,4,3,2,1,0]; $mon++; $year = $year + 1900; if ($mon > 12) { $mon = 0; } $ev = $year; $date_day = sprintf(qq/%02d/,$day); $this_date = sprintf(qq/%04d%02d/,$year,$mon); $honap = $mon-1; $honap_neve = $months[$mon-1]; @napok = (31,28,31,30,31,30,31,31,30,31,30,31); $napok_szama = "$napok[$honap]"; $ma = "$year. $months[$mon-1] $day."; } sub uj { open(IR,">data/$date_filename".".dat"); if ($use_flock eq "yes") { flock(IR,2); } for ($i=0;$i<31;$i++){ print IR "0:"; } print IR "$ev. $honap_neve"; close IR; chmod(0666, "data/$date_filename".".dat"); if (!(-e "data/public.dat")) { open(NEW,">data/public.dat"); if ($use_flock eq "yes") { flock(NEW,2); } print NEW "0"; close(NEW); chmod(0666, "data/public.dat"); } open(ARCHIV,">>data/archiv.dat"); if ($use_flock eq "yes") { flock(ARCHIV,2); } print ARCHIV "$date_filename\n"; close(ARCHIV); chmod(0666, "data/archiv.dat"); &check_files; } sub check_files { if(!(-e "data/$date_filename".".dat")) { print "A $date_filename.dat fájl-t nem tudom létrehozni! Adj jogosultságot a data mappa írására!
\n"; } if(!(-e "data/publica.dat")) { print "A public.dat fájl-t nem tudom létrehozni! Adj jogosultságot a data mappa írására!
\n"; } if(!(-e "data/archiva.dat")) { print "A archiv.dat fájl-t nem tudom létrehozni! Adj jogosultságot a data mappa írására!
\n"; exit; } } sub beolvas { open(OLVAS,"data/$date_filename".".dat"); @DATUM = ; close OLVAS; $file_data = join('',@DATUM); @file_data = split(/:/,$file_data); srand(time ^ $$); open (PUBLIC,"data/public.dat"); $public = ; close (PUBLIC); } sub ir { $uj = $file_data[$date_day-1]+1; open(IR,">data/$date_filename".".dat"); if ($use_flock eq "yes") { flock(IR,2); } for ($i=0;$i<32;$i++){ if ($i eq ($date_day-1)) { print IR "$uj".":"; } else { if ($i eq "31") { print IR "$file_data['31']"; } else { print IR "$file_data[$i]:"; } } } close IR; if (!(-e "data/public.dat")) { open(NEW,">data/public.dat"); if ($use_flock eq "yes") { flock(NEW,2); } print NEW "0"; close(NEW); } open(READ,"data/public.dat"); $a = ; close(READ); open(WRITE,">data/public.dat"); if ($use_flock eq "yes") { flock(WRITE,2); } $counter = $a+1; print WRITE "$counter"; close(WRITE); if ($public_counter eq "yes") { $count_length = length($counter); for ($i = $pad_size;$i > $count_length;$i--) { $counter = "0$counter"; } print "$text$counter"; } } sub html_eleje { print < $page_title
HTML } sub adatok { foreach $v (@file_data){ $osszes1 = ($osszes1+$v); } $osszes = $osszes1- $file_data['31']; for ($i=0;$i<$napok_szama;$i++){ $n = $i+1; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; } } sub html_vege { print <
$name_of_company
\ Mai dátum: $ma
\ $file_data['31']
\ Nap \ Látogatások száma:
\ $n.= "361" & $max_visitors < "900") { print " width=\"".$file_data[$i]*0.43."\" height=\"7\""; } elsif ($max_visitors >= "901") { print " width=\"".$file_data[$i]*0.149."\" height=\"7\""; } print "$file_data[$i]
\ Ebben a hónapban a látogatások száma: $osszes
Az eddigi összes látogatások száma: $public
Archívum: 
HTML }