Einfaches Counter-Plugin
Dieser Beitrag zeit Ihnen das Coding für ein einfaches Hit-Counter Plugin für das populäre Pico CMS. Es zählt lediglich die Zugriffe auf jeden einzelnen Beitrag ohne die IP Adresse des Lesers zu speichern oder gegen doppelte Zählung zu sperren.
001 <?php
002 class counter extends AbstractPicoPlugin {
003
004 // Damit das Plugin seine Arbeit aufnehmen kann, muss der Ordner Statistik in der root
005 // der Domain existieren. Legen Sie diesen Ordner ggf. von Hand an.
006
007 public function onRequestUrl($url) {
008 $urlsection = explode("/", $url);
009 $datei = $urlsection[count($urlsection)-1];
010
011 if (count($urlsection) == 1) {
012 $datei = "statistik/index";
013 } else {
014 $datei = "statistik/".$datei;
015 }
016
017 $zahl = 0;
018
019 if(file_exists($datei)){
020 $zahl = file_get_contents ($datei);
021 if ($zahl < 9999999) {
022 $zahl++; // Schutz gegen Ueberlauf
023 }
024 file_put_contents($datei, $zahl);
025 } else {
026 file_put_contents($datei, '1');
027 }
028 }
029 }
030 ?>
Code
Damit das Plugin counter.php funktioniert, legen Sie bitte ein Verzeichnis statistik auf der root-Ebene an und kopieren das PHP-Script in den Ordner plugin, dort wird es automatisch von Pico CMS gestartet.
Dreh und Angelpunkt des Scriptes ist der Hook onRequestUrl(), diese Methode wird vom Pico CMS Framework in allen Plugins gerufen und ausgeführt. Die Methode berkommt dann die vom Leser angeforderte URL übergeben, die im obigen Code eine gleichnamige Datei erzeugt (wenn noch nicht vorhanden) und den Counter um +1 erhöht.
Sie können die Statistik auslesen, indem Sie den Ordner http://domain.de/statistik/countername eingeben, wobei countername der URL-Name des einzelnen Beitrags ist. Wollen Sie beispielsweise den Counter zum Beitrag impressum erfahren, können Sie folglich http://domain.de/statistik/impressum eingeben und der Inhalt wird im Browser angezeigt.
Hinweis | Das Script ist wirklich sehr einfach gehalten und soll daher eher als Grundlage für weitere Implementierungen dienen. Natürlich können Sie es auch so nutzen wie es dort abgebildet steht. Bedenken Sie bitte, das dieses Script bei jedem Besuch oder bei Refresh mit F5 im Browser auch immer +1 zählt. Sie müssen selbst entscheiden wie realistisch dieser Counter für Sie ist, denn auch Robots zählt das Programm mit.