*/ $plik_licznikow = "stat/liczniki.txt"; $plik_odwiedzin = "stat/ogolne.txt"; $plik_logo = "stat/stat_images/reggi_stat.gif"; $typ_obrazka = "png"; $obsluga_grafiki = "on"; $zliczaj_wszystkie = false; $download_sciezka = "/download"; $nazwa_serwera = $HTTP_SERVER_VARS["SERVER_NAME"] . $download_sciezka; function zapisz() { global $HTTP_SERVER_VARS, $HTTP_GET_VARS, $plik_licznikow, $plik_odwiedzin, $ile, $zliczaj_wszystkie; $adres_goscia = $HTTP_SERVER_VARS["REMOTE_ADDR"]; $przegladarka = $HTTP_SERVER_VARS["HTTP_USER_AGENT"]; $s = $HTTP_GET_VARS["s"]; $s = strtolower($s); $plik = fopen($plik_licznikow, "r"); while (!feof ($plik) ) { $linia = fgets ($plik, 100); $rozbij = explode (";", $linia); if ($rozbij[0] == $s) { $jest=1; $ile = $rozbij[2]; if ($rozbij[1] != $adres_goscia || $zliczaj_wszystkie) { $ile++; $zapiszstat=1; } $zapisz .= "$s;$adres_goscia;$ile;\n"; } else { $zapisz .= "$linia"; } } fclose ($plik); if ($jest != 1) { $ile=1; $zapiszstat=1; if ($s == "") $s = "_Bledne_odwolanie_"; $zapisz .= "$s;$adres_goscia;$ile;\n"; } if ($plik = fopen ($plik_licznikow, "w")) { fwrite ($plik, $zapisz); fclose ($plik); } if ($zapiszstat == 1) { $plik = fopen ($plik_odwiedzin, "a"); $data = date ("Y.m.d"); $godzina = date("H:i"); $hostname = gethostbyaddr ($adres_goscia); fwrite ($plik, "$s $adres_goscia $hostname $przegladarka $data $godzina\n"); fclose ($plik); } } function plik_sprawdz($nazwa_pliku) { if (!is_writeable($nazwa_pliku)) { if (!file_exists($nazwa_pliku)) { if ($plik = @fopen($nazwa_pliku, "w")) { fclose ($plik); } else { echo "REGGI-STAT info: nie udalo sie utworzyc pliku " . $nazwa_pliku . " - utworz recznie ten plik i nadaj mu prawa 0666 (zapis i odczyt dla wszystkich)
"; $blad = 1; } } if (!@chmod($nazwa_pliku, 0666)) { if (!$blad) echo "REGGI-STAT info: nie udalo sie zmienic praw dostepu pliku " . $nazwa_pliku . " - ustaw recznie prawa na 0666 (zapis i odczyt dla wszystkich)
"; $blad=1; } } return $blad; } function pokaz_obrazek($ile, $pokaz, $font, $red, $green, $blue) { global $typ_obrazka; if (!isset($ile)) $ile=1; header ("Content-type: image/$typ_obrazka"); settype($ile, "string"); $szer = strlen($ile)*8; $image = imagecreate($szer, 13); $color_font = imagecolorallocate($image, $red, $green, $blue); $color_bg = imagecolorallocate($image, 0, 0, 0); imagecolortransparent($image, $color_bg); imagefill($image, 0, 0, $color_bg); if ($pokaz == 1) imagestring($image, $font, 0, 0, $ile, $color_font); $generuj_obrazek = "image" . $typ_obrazka; $generuj_obrazek($image); } function pokaz_reggi_png ($plik_logo) { header ("Content-type: image/gif"); if (file_exists($plik_logo)) { readfile($plik_logo); } else { echo "REGGI-STAT info: nie istnieje plik z obrazkiem do statystyk. Sprawdz czy istnieje plik " . $plik_logo . "
"; } } function przekieruj($url) { global $nazwa_serwera; $plik = ereg_replace("http://", "", $url); header("Location: http://" . $nazwa_serwera . "/" . $plik); } /* * Sprawdzenie, czy podano poprawny kolor czcionki, * jesli nie, czcionka bedzie czarna */ if ($r <0 || $r >255 || $g <0 || $g >255 || $b <0 || $b >255) { $r = 0; $g = 0; $b = 0; } /* * Sprawdzenie, czy wielkosc czcionki to pojedyncza cyfra, * Jesli nie, czcionka bedzie miala wielkosc 4 */ if (!ereg("^([0-9]{1})$", $f)) $f=4; /* * Sprawdzenie, czy nazwa strony sklada sie tylko ze znakow alfanumerycznych, */ $s = strtolower($s); if (!ereg("^([a-z1-9_]+)$", $s)) $s = "Blad"; /* * Sprawdzenie, czy istnieje i ma prawidlowa wartosc zmienna $p okreslajaca * czy ma byc pokazywany licznik - jesli tak nie jest, otrzymuje wartosc 0 (nie wyswietla), */ if (!(isset($p) || $p==1 || $p==0)) $p = 0; /* * Sprawdzenie, czy mozna zapisac statystyki */ $blad = plik_sprawdz($plik_licznikow); $blad += plik_sprawdz($plik_odwiedzin); if (!$blad) { zapisz(); if ($u) { przekieruj($u); } else { if ($obsluga_grafiki == "on") { pokaz_obrazek($ile, $p, $f, $r, $g, $b); } else { pokaz_reggi_png($plik_logo); } } } ?>