#!/usr/bin/perl
######################################
#                                    #
#   Látogatottsági statisztika       #
#                                    #
#   Mártonfi Attila, 2001. 02. 28.   #
#                                    #
######################################

use mny;

$cim = "Látogatottsági adatok";
$fajl = "../../log/viewers.txt";
$szam = "../../log/counter.txt";
$orszag = "../../inf/orszag.txt";
open (ORSZ, "<$orszag") || &mny::hiba($cim, "Hiányzó országlista!\n$!\n");
while (<ORSZ>) {
 chomp;
 ($nev, $ertek) = split (/=/);
 $orsz{$nev} = $ertek;
}
close (ORSZ) || &mny::hiba($cim, "Bezárási hiba!\n$!\n");

$latind = 0;
$cikkind = 0;
open (SZAML, "<$szam") || &mny::hiba($cim, "Hiányzó számláló!\n$!\n");
while (<SZAML>) {
 chomp;
 ($nev, $ertek) = split (/=/);
 if ($nev =~ /index/) {
  $latind += $ertek;
 }
 else {
  $cikkind += $ertek;
 } 
}
close (SZAML) || &mny::hiba($cim, "Bezárási hiba!\n$!\n");
open (GYUJT, "<$fajl") || &mny::hiba($cim, "Hiányzó adatlista!\n$!\n");
while (<GYUJT>) {
 chomp;
 ($dat{"ido"}[$fl], $qwe, $dat{"hon"}[$fl], $dat{"bro"}[$fl], $dat{"lap"}[$fl], $dat{"ref"}[$fl]) = split (/ ; /);
 $fl++;
}
close (GYUJT) || &mny::hiba($cim, "Bezárási hiba!\n$!\n");
for ($i = 0; $i < $fl ; $i++) {
 $mun = $dat{"hon"}[$i];
 $mun =~ tr/a-z/A-Z/;
 $erd{$orsz{$mun}}++
}

# Rendezés
@s = @t = keys(%erd);
@kod1 = qw(ssz sz ddzs dzs ccs cs ddz dz zzs zs ggy gy lly ly nny ny tty ty);
@kod2 = qw(UU  U  BB   B   ??  ?  AA  A  ^^  ^  FF  F  LL  L  OO  O  WW  W);
for ($i = 0; $i < @s; $i++) {
 $s[$i] =~ tr/A-ZÁÉÍÓÖŐÚÜŰ/a-záéíóöőúüű/;
 $s[$i] =~ s/[ -\/]//g;
 for ($j = 0; $j < @kod1; $j++) {
  $s[$i] =~ s/$kod1[$j]/$kod2[$j]/g;
 }
 $s[$i] =~ tr/aábcdeéfghiíjklmnoóöőpqrstuúüűvwxyz/<<=>@CCDEGHHIJKMNPPPPQRSTVXXXXYZ[\\]/;
}
for ($i = 0; $i < @s; $i++) {
 for ($j = 0; $j < @s-$i; $j++) {
  if ($s[$j] lt $s[$j+1]) {
   ($s[$j], $s[$j+1]) = ($s[$j+1], $s[$j]);
   ($t[$j], $t[$j+1]) = ($t[$j+1], $t[$j]);
  }
 }
}
@orszagok = reverse(@t);

$olist = "";
for ($i = 0; $i < @orszagok-2; $i++) {
 $olist .= "$orszagok[$i], " if ($orszagok[$i]);
}
$olist .= "$orszagok[@orszagok-2] és $orszagok[@orszagok-1]";
@hoho = ("január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december");
($mp, $perc, $ora, $nap, $ho, $ev, $het, $evnap, $nyari) = localtime(time);
$perc = "0$perc" if ($perc < 10);
$ora = "0$ora" if ($ora < 10);
$honev = $hoho[$ho];
$ev += 1900;
$datum = "$ev. $honev $nap. $ora.$perc";

# Kiírás
&mny::fej($cim);
print "<H1>Látogatottsági adatok </H1>\n";
print "<P>A nyitólapot 2001. január 14. óta eddig $latind, a cikkeket összesen $cikkind alkalommal töltötték le. </P>\n";
print "<P>Oldalainkat a következő országokban látták: <I>$olist.</I> </P>\n";
print "<P><I>$datum</I> </P>\n";
&mny::lab;
exit;