Vorwort

Auf der Suche nach einem Counter für meine Homepage, fand ich damals das Joomla - Modul von Vianora mod_vvisit_counter.
Da ich noch ein paar Wünsche hatte und damals seitens Vinaora niemand mehr auf Anfragen reagierte, habe ich dieses kurzerhand selber weiter entwickelt. Mittlerweile ist ein komplett eigenständiges Modul entstanden, welches nicht mehr viel mit dem Originalen Modul zu tun hat. Auf den folgenden Seiten findet ihr das Modul zum Download, eine umfangreiche Anleitung sowie die Möglichkeit bei Problemen Anfragen stellen zu können.

Der Counter kann als :   "Counter", erweitertes "Who-Is-Online" , "IP to Country" Tool, einfacher Datumsanzeiger, und vielem mehr eingesetzt werden.
mod_vvisit_counter_previewmod_vvisit_counter_preview
 
 
 

Inhalt

 

Features

Eine Zusammenfassung was der Counter bietet: 

  • View - Design :
    ---------------------------
    • 9 Counter Styles
    • weitere Styles zum download
    • Zeigt Counter
    • Zeigt Heute - Gestern - Woche - Monat - Alle
    • Zeigt Maximale Besucher an einem Tag aus den Statistikdaten
    • Zeigt ein Detail- oder Einfaches Statistik Bild
    • Zeigt Angemeldete User ( Anzahl )
    • Zeigt Angemeldete User ( Name, Account, ... )
    • Zeigt Registrierte Users ( Anzahl )
    • Zeigt Heute Registrierte Users ( Anzahl )
    • Zeigt Heute Registrierte Users ( Name, Account, ... )
    • Zeigt Gäste ( Anzahl )
    • Zeigt Besucher ( Gäste + Eingeloggt )( Expression )
    • Auf die Account-Anzeigen kann ein Link auf z.B. ein Userprofile gesetzt werden
    • Zeigt Datum für "Von - Bis" bei MouseOver
    • Jede View kann abgeschalten werden ( unsichtbarer Counter )
    • Die Reihenfolge der Views kann beliebig verändert werden
    • Es können beliebig "Spacer" zwischen den Views eingefügt werden
    • Auf die Views kann ein Link gesetzt werden
    • In PRE-und-POST View kann beliebiger eigener HTML Code eingefügt werden, so dass ein komplett eigenes Layout erstellt werden kann
    • Komplett anpassbar per CSS ( intern, extern, seperat wählbar für jeden Counter )
    • Mit Expressions in Pre- and Post Textfield komplett 'anpassbar'
    • Zeigt Besucher Daten: IP Address, Country, Flagge,...
    • Genaueres 'Who-Is-Online' Modul durch z.B. eine User/Gäste Inaktiv Zeit bei welcher Besucher nicht mehr als Online angezeigt werden wenn diese Besuchszeit überschritten wird
    • Sprachsupport: Autotranslate Aus(Manuell), per Browser-Sprache , per Joomla-Sprache (JoomFish)
  • Technisch :
    ---------------------------
    • Einstellbarer Startwert
    • Einstellbare Zählzeit wann ein Besucher als Neu gezählt wird ( Täglich oder Nach Zeitablauf )
    • Löscht Automatisch Alte Datenbankeinträge, komplett konfigurierbar nach Anzahl der Einträge und Anzahl an Tagen in der Datenbank
    • Ip-Adresse wird verschleiert gespeichert, einstellbar auch im Klartext
    • Filterung Auto Block Bots / Robots
    • Erstelle eigene Filterlisten: by IP-Adress oder by UserAgent ( Textfeld oder aus Datei )
    • Filterung nach Membertype ( Users oder Gäste )
    • UserAgent kann optional gespeichert werden
    • Eigener Wochenanfang: Montag, Sonntag, Samstag
    • Jeder Counter (Countermodul) kann seine eigene Datentabelle erhalten um mehrere Counter erstellen zu können
    • Ein Counter kann im Read-Only Modus arbeiten und dient so nur als Anzeige für eine bestehende Datentabelle (Counter)
    • Events: Trigger abhängiges Ausfühen von eigenem PHP-Scripten ( alle x )
    • Events: Trigger abhängiges Versenden von EMail ( alle x )
    • Besucher kann per IP-Adress und Cookie idenifizierbar
    • Besucher IP kann aus FORWARDER Tag gelesen werden ( behind a proxy )
    • IPv6 vorbereited
 

Änderungen - Releasenotes

PHP4 Nutzer:
Aus zeitlichen Gründen habe ich mich entschieden ab Version 1.9.18 keine PHP4-Version mehr zu erstellen. Sehr viele Systeme setzen mittlerweile auf PHP5, was aus Sicherheitsgründen auch vollkommen i.O. ist. Für mich bedeutet die Erstellung einer extra Version einiges an Arbeit und benötigt viel Zeit, welche ich leider nicht habe.
 

aktuelle Versionen:
für Joomla 1.5 : 2.0.3
für Joomla 1.6 / 1.7 / 2.5 : 2.0.4_j16
für Joomla 3 : 2.0.4_j3
 

 
Version 2.0.4_j3  

  • New: Joomla 3 kopatible Version. Getestet auf Joomla 3.3.6

 
Version 2.0.4_j16  

  • Fix: behebt ein kleines Problem mit dem Sprachfile. Wer bis dahin keine Probleme hatte, muss nicht updaten.

 
Dieses Release dient hauptsächlich als Vorbereitung für eine Joomla 3 Version. Offene Bugs sollten abgeschlossen werden, bevor mit arbeiten begonnen wird.

 
Version 2.0.3 und 2.0.3_j16  

  • Fix: behebt ein Problem das bei neueren MySQL Versionen auftritt und dazu führt, dass der Counter nicht mehr zählt. ( wer keine Probleme hat, muss nicht updaten :) )

 
Version 2.0.2 und 2.0.2_j16  

  • Fix: ds Statistikbild wurde bei Installationen in denen Joomla im Root installiert ist, nicht gefunden ( durch Änderung relative URLs in 2.0.1 )

 
Version 2.0.1 und 2.0.1_j16  

  • Neu: Gruppenfilter für Who-Is-Online Anteil ( nur die _j16 Version )
  • Neu: Flagge CS
  • Change: Relative URLs
  • Change: Optimierung SQL für tägliche Sperrzeit
  • Fix: E_Strict Meldung in ip2country entfernt
  • Fix: CSS enthielt Styles doppelt
  • Fix: Datenbankspalte für zukünftige Werte wurde mit Char "NULL" belegt, anstatt NULL als Value
Achtung: ALLE Updater von Version 1.9.x BITTE UNBEDINGT die Update-Hinweise beachten !! SIEHE HIER !!


 
Version 2.0.0 und 2.0.0_j16 


Ein neues Major-Release welches einige Erweiterungen, Änderungen und Optimierungen enthält.

 

  • Neu: IP-Adressen werden verschleiert gespeichert ( Gesetze ), können aber auch wie bisher in Raw abgelegt werden
  • Neu: für die autom. Übersetzung kann nun als Referenzsprache auch die Joomla-Einstellung dienen, zusätzlich zur eingestellten Browsersprache. Dies benötigen z.B. JoomFish Nutzer ( Anm.: funktioniert wirklich super )
  • Neu: neue Berechnungsansicht für Maximale Besucherzahl an Tag X  aus der Statistik
  • Neu: mehr Bilder für die Tabelle und Counter
  • Neu: IPv6 Adressen 'ready'
  • Änderung: mehr Platz für den UserAgent in der Datenbank
  • Änderung: Vermeidung von hoher Last der MySQL bei mehr als Einträgen ( SQL Optimierungen )
  • Neu: für die Joomla 1.6/7 Version kann nun das Update-Feature genutzt werden
  • kleinere Änderungen z.B. am CSS
Achtung: ALLE Updater von Version 1.9.x BITTE UNBEDINGT die Update-Hinweise beachten !! SIEHE HIER !!


Anzeige aller Änderungen

Version 1.9.19 und 1.9.19_j16 

  • Fix: Expression wurde nicht erkannt wenn an erster Stelle in Pre/Post
  • Fix: mysql_affected_rows
  • Fix: (_j16) Joomla 1.6 löscht in Pre/Post HTML-Tags wenn am Parameter filter="raw" nicht gesetzt ist
Anmerkung zu 1.9.19
Dies ist eine 'kleine' Bugfix-Version in Vorbereitung auf Version 2.0.0. Da dort größere Änderungen kommen, möchte ich diese 'kleinen' Probleme noch behoben haben, falls einige User später kein Upgrade durchführen möchten. Version 2.0.0 bringt Dinge wie IP-Adressen Verschleierung, größere UserAgents, IPv6 Vorbereitung, usw. .

Version 1.9.18 und 1.9.18_j16

  • New: Link auf View's einstellbar
  • New: Eigene PHP Scripte Trigger gesteuert ausführen lassen ( Beispiel in den Downloads )
  • New: neue Expression $visitors$ welche aktuelle Gäste und User in einer Zahl darstellt
{slider id="allRevisions" title="Anzeige aller Änderungen" direction="0"}



Version 1.9.17 und 1.9.17_j16

  • Optimierung der Language-Files.
  • Flagge für RS (Serbien)
  • Fix: für Joomla 1.6 gab es im E_STRICT Modus Warnungen
  • Caching Parameter entfernt ( obsolet )
Dieses Update bringt ist hauptsächlich zur Vereinfachung für Übersetzer gedacht. Joomla 1.6 Anwender sollten Updaten.

 

PHP4 User:
es gilt weiterhin der Patch in Version 1.9.16a !



Version 1.9.16a  und 1.9.16a_j16 
 

  • Fix: der Parameter Order ist nicht korrekt vorbelegt wodurch z.B. die POST-View nicht sofort sichtbar war ( Danke Olaf für den Tip )
Dieses Update bringt keinerlei neue Features.
Es ist nur für Anwender wichtig, welche den Counter erstmalig installieren.
Updater haben den Paramter wie in den Update Hinweisen zur Version 1.9.16 beschrieben bereits korrekt gesetzt.

 

JEDER Anwender der die Version 1.9.16 ( und vor ) schon installiert hat, muss in der Konfiguration des Counters im Parameter Order ( Reihenfolge ) folgendes anfügen ;14;15. Dies ist bei den Updatehinweisen zur Version 1.9.16 beschrieben. Es ist quassi selbiges Vorgehen als wenn ein Update von Version 1.9.15 erfolgen würde.


PHP4 User:
der PHP4-Patch steht nun ebenfalls zum download zur Verfügung...
 

Version 1.9.16  ( Joomla 1.5 und Joomla 1.6 )

Nachtrag 10.03.2011
Achtung: An alle die den Counter Erstmalig installieren !
in der Lieferung 1.9.16 und 1.9.16_j16 hat sich ein Fehler eingeschlichen (
Link ).
Bitte tragt im Parameter Order (Reihenfolge) manuell ein ;14;15 nach, so als ob ihr wie unten beschrieben ein Update von Version 1.9.15 gemacht hättet.
Dies ist in Version 1.9.16a behoben.

  • New: ab jetzt gibt es auch eine seperate Version für Joomla 1.6
  • New: Die UserAgent Filterdaten können nun zusätzlich in einem File gespeichert werden
  • New: Anzeige der Angemeldeten User ( Namen, Account, usw. )
  • New: Anzeige der Heute Registrierten User ( Namen, Account, usw. )
  • New: Usernamen können mit einem optionalen Link, zu z.B. einem Userprofil, belegt werden
  • New: Inaktiv Zeit für Gäste und User. Damit kann eingestellt werden ab welcher Inaktiv-Zeit ein User nicht mehr als Online gilt (unabhängig von der Joomla Session Time ).
  • Change: Es werden nun Doppelanmeldungen bei der Anzeige der User ignoriert.
  • Change: Update Ip2Country Database
Update Hinweise:
Die Anzahl der Views hat sich erhöht !.. Hier müsst ihr nach dem Update prüfen, ob die korrekte Anzahl im Parameter "Reihenfolge" (Order) eingetragen ist: ALT 1;2;3;4...13 - NEU: 1;2;3;4;5;6;7;8;9;10;11;12;13;14;15

Es sind CSS-Classes für die zwei neuen Views hinzugekommen. Habt ihr eigene CSS-Files müsst ihr die neuen Classes dort zufügen.

Für Update der Ip2Country Database siehe: IP2Country

siehe auch: Update

 


Version 1.9.15 
  • New: Parameter für die Haupt-Hintergrundfarbe im Statistikbild ( wichtig bei Detailed )
  • Change: Performance der Datumsmethode für Wochenermittlung
  • Change: aktuelle IP2Country Datenbasis  ( Update der IP2Country-DB )

Der Patch für PHP4 User steht auch zur Verfügung.

Version 1.9.14 

  • New: der Samstag kann als Wochenanfang gewählt werden
  • Fix: sporatische Fehlermeldung beim Insert mit MySQL > 5 behoben
  • Change: kleine Änderungen an Hard-Coded Style.
    Das text-align: center habe ich nicht entfernt. Hier gibt es zu viele Browserbugs womit das CSS zu komplex werden würde. Meist ist ein inline-align gewünscht, was mit style="text..center" auch umgesetzt wird. Trägt man dies aber in ein CSS-File ein, wird das als block-align auf das Div interpretiert, wobei dann der Text nicht zentriert wird.

Der Patch für PHP4 User steht auch zur Verfügung.



Version 1.9.13 

  • New: Man kann IP-Adresse aus FORWARD Variable entnehmen lassen ( hinter nicht transparentem Proxy )
  • New: Anzeige Angemeldeter User ( mit/ohne Backend )
  • New: Anzeige Gäste ( mit/ohne Backend )
  • New: Anzeige Registrierter Benutzer ( Gesamt/Heute )
  • New: Expressions für die neuen Views
  • New: CSS wie bisher im Template oder Neu in seperatem CSS File für übersichtlicheres Erstellen
  • New: CSS per File wird Default - neue CSS-Style-File
  • New: in "Reihenfolge" kann beiebig ein Spacer angegeben werden um Trenner zwischen den Views einzufügen
  • Change: method="upgrade" in Module.xml . Damit sollte ein Update durch einfaches erneutes Installieren möglich sein ( möglich durch Joomla Fix 17878 ) - Danke Stefan für den Tip 
Beim Update sind diesmal einige Dinge zu beachten !
  • habt ihr eigene CSS-Styles für euren Counter im Template eingefügt, müsst ihr beachten das der CSS-Default nun im File mvc.css liegt. Wollt ihr eure CSS-Styles im Template belassen, müsst ihr am neuen Parameter "CSS-File" 'Nicht verwenden' einstellen. Oder ihr verlagert euere Styles in besagtes File.
  • Die Anzahl der Views hat sich erhöht !.. Hier solltet ihr nach dem Update prüfen, ob die korrekte Anzahl im Parameter "Reihenfolge" (Order) eingetragen ist: ALT 1;2;3;4;5;6;7;8;9 - NEU: 1;2;3;4;5;6;7;8;9;10;11;12;13

Der Patch für PHP4 User steht ebenfalls zur Verfügung.


Danke nochmal an Stefan..



Version 1.9.12

  • New: Angabe von Maximalen Tagen die in der Datenbank gehalten werden sollen ( erweitert Max Records ) 
  • New: Expressions für Pre- und Post Text. Damit ist es nun möglich alle Attribute, plus einigen NEUEN, komplett selbst anzuordnen ! Ihr seit also z.B. nicht mehr an die "People" Tabelle gebunden - es ist alles frei einsetzbar.
  • Change: einige Änderungen für die Performance
  • Change: Images zusätzliche mit title Tag ausgestattet ( zuvor nur alt Tag's )
  • Change: aktuelle IP2Country Datenbasis 

Ein Patch für PHP4 User steht auch zur Verfügung.

Für Manuell-Updater hier nochmal der Hinweis: vergesst die Language-Files nicht !


Version 1.9.11: Sprach-Packet Italienisch


Version 1.9.11

  • Fix: Abschalten der Verwendung von Cookies funktionierte nicht
  • Change: Die Parameter 'DisplayType' zur Auswahl der Images-Ordner (Zahlen) wurde auf einen Parameter vereinfacht. DisplayType_Manual entfällt da DisplayType nun automatisch alle vorhandenen Ordner anzeigt.


Version 1.9.10

  • Neu: Senden einer EMail nach jeden X'ten Zählerstand möglich ( Wunsch )
  • Neu: Cookie-Verwendung zur Eindeutigen Bestimmung erneuter Useranfragen möglich (AOL-Problem)
  • Neu: Filter auf Gäste oder Mitglieder möglich ( z.B. keine Members zählen )
  • Neu: Anzeige des Datumsbereiches bei MouseOver
  • Change: aktuelle IP2Country DB


    Beachtet für diese Version die Allgemeinen Update-Hinweise und die Hinweise zum Update der IP2Country-DB !


Version 1.9.9

  • Neu: Flagge Hongkong
  • Neu: Wochenanfang (Montag/Sonntag) Auswahl möglich
  • Change: Auto-Translation Performance
Anm.: ursprünglich waren weitere Features geplant, welche ich aus zeitlichen Gründen leider verschieben muss


Version 1.9.8

  • Neu: Language File für Backend in Englisch und Deutsch
  • Neu: Feature AutoTranslate Text's. Jetzt können die Text automatisch in die Client-Langauge übersetzt werden.

Beachtet für diese Version die Update-Hinweise



Version 1.9.7

  • Fix: stellte man den Loglevel des Servers auf Maximum, erhielt man einige Warnungen
  • Allgemein: Test der Neuen Umgebung mit/in joomlacode.org


Version 1.9.6

  • Neu: mit "AutoFilter Robots" werden Robots jetzt automatisch nicht mitgezählt. Durch dieses Feature kann die Liste der "Filter UserAgents" um einiges kleiner gehalten werden.
  • Update: Performanceverbesserung wenn der Counter als reiner Hitcounter genutzt wird ( Locktime kleiner gleich 0 ).


Version 1.9.5

  • Neu: Es kann jetzt ausgewählt werden wann ein User, genauer eine IP, als neu gezählt wird. Dabei steht täglich und nach Locktime Ablauf zur Auswahl. Bei täglich wird ein User(IP) nur einmalig am Tag gezählt, bei Locktime wie bisher nach Ablauf der eingestellten Minuten.
  • Update: die IP-to-Country Datenbank in Version von 29 Februar 2009. Beachtet die Anleitung unten wenn ihr ein "Upgrade" eures Counters macht und die neue IP-Datenbank einspielen wollt - das geht nicht automatisch.


Version 1.9.4

  • Fixed: wenn Initialvalue größer als Records war, wurden keine Daten gesammelt bis der Zähler bei Records angelangt war ( siehe Kommentare: Problem von Peter)
  • eine neue Flagge für FO - den Faeroer Inseln


Version 1.9.3

  • Darstellung von Ländercode und Ländernamen möglich ( ISO 3166 )
  • Darstellung von Länderflagge möglich
  • intern: Quoting von insert Statements

Die Ermittlung des Landes für eine IP erfolgt durch eine CSV-Datei, welche IP Bereiche zu Ländercode abbildet.
Generell ist es möglich, beliebige Daten zu nutzen und durch die CSV-Datei (im vorgegebenen Format!) einspielen zu lassen.
Im Counter mitgeliefert wird die Datenbasis von http://ip-to-country.webhosting.info/. Allerdings muss bei Verwendung die Lizenz beachtet werden, welche u.A. besagt das ein bestimmter Text ausgegeben werden muss was auch als Voreinstellung gemacht wird. Für weitere Informationen solltet ihr Euch die Lizenz anschauen.

( Die neuen Features sind per Default nicht angeschalten )

Wichtig:

Wer die Version manuell einspielt, muss die neuen Parameter IP manuell in die Orderreihenfolge zufügen
-> Parameter Order 1;2;3;4;5;6;7;8;9 . Ohne dem, werden evt nachfolgende Beriech nicht angezeigt. 


eine Version für PHP4 Benutzer steht ebenfalls zum download bereit ( Installation siehe PHP4 )



Version 1.9.2

  • das Create Statement erzeugte mit MySQL 4.x einen Fehler - sollte behoben sein

    ( siehe Thema "Fehlermeldung nach Aktivierung des Counters" von Axel )

    Anmerkung:
    für Benutzer die bis jetzt kein Problem hatten (MySQL5), besteht keine Notwendigkeit diesen Patch einzuspielen

Version 1.9.1

  • Es gibt die Möglichkeit die Aufrufer IP-Adresse anzeigen zu lassen
    ( in verschiedenen Styles wie bei der Counter Anzeige )
  • nach IP-Adressen zu filtern.
    Wie bei der Filterung der UserAgents werden diese Datensätze nicht gespeichert bzw. gezählt.
Wichtig: Wer die Version manuell einspielt, muss den neuen Parameter IP manuell in die Orderreihenfolge zufügen
-> Parameter Order 1;2;3;4;5;6 . Ohne dem, wird der Post-Text nicht angezeigt.

eine Version für PHP4 Benutzer steht ebenfalls zum download bereit ( Installation siehe PHP4
 

PS.: noch eine Info : im Prinzip ist es mit dieser Erweiterung möglich, den Counter nicht als Counter, sondern als IP-Adressen-Anzeiger zu nutzen ( alle Anzeigen abschalten und ReadOnly )


Version 1.9.0

  • Es gibt die Möglichkeit UserAgents ( Googlebot, etc. ) zu filtern. Diese Datensätze werden nicht gespeichert bzw. gezählt
  • Es gibt die Möglichkeit, die UserAgents für den gezählten Request zu speichern
    ( Achtung: fuer dieses optionale Feature ist eine Datenbankerweiterung notwendig ! - siehe unten )
  • Ausgabe von Joomla-Warnungen wenn es "Probleme" gibt 
  • der Initialwert für den Counter ist nun per Default auf 0  

    eine Version für PHP4 Benutzer steht ebenfalls zum download bereit ( Installation siehe PHP4

Version 1.8.2

  • Die Reihenfolge der View-Elemente kann Konfiguriert werden : Parameter Order.

    Wo ist der Patch für PHP4 ?
    für diese Version kann der Patch V1.8.1 genutzt werden

Version 1.8.1 und Patch für PHP4

  • Behebt evt auftauchendes Problem : Undefined variable ....

    Patch Version 1.8.0 für PHP4

  • Patch damit der Counter unter PHP4 lauffähig ist

Version 1.8.0

  • Die zu nutzende Tabelle des Counters kann eingestellt werden ( unabhängige Counter )
  • Alt Text des Statistikimages mit Created Time erweitert
  • Details für Statistik Image ( ShowDetailed ) : Anzeige X/Y Achse, Startdatum, usw. ( benoetigt evt. erhoehte Bildgroesse ! )
  • CSS Klassen an allen Elementen
  • Moduleclass_SFX wird übernommen
  • Moduleparamter Sortiert

Patch Version 1.7.3 für PHP4

  • Patch damit der Counter unter PHP4 lauffähig ist

    Version 1.7.3

  • Da viele eine PHP-Version nutzen die noch kein const in Klassen erlaubt, nutze ich dies erstmal nicht mehr
  • Neuer Parameter 'ReadOnly' - hier arbeitet der Counter nur als Anzeiger. Es werden keine Update,Delete, etc Aktionen ausgefuehrt ( Performance falls man mit Kopien arbeited )
  • Beginn das Design auszulagern - Reihenfolge der einzelnen Anzeigen kann nun einfach in der default.php angepasst werden.

Version 1.7.2

  • Behebt einen Fehler beim Rendern des Statistik Image - es wird zwischen jedem Tag ein 0 Tag eingefügt

Version 1.7.1

  • Anzahl der anzuzeigenden Tage im Statistik Image einstellbar
  • Tage ohne Besucheraufkommen ( kein Eintrag in der DB ) werden jetzt auch in der Statistik angezeigt
  • Statistik Image kann jetzt vom Type gif, png oder jpg sein

Version 1.7.0

  • Neues Feature : man kann ein Statistik Image einblenden lassen
  • Komplette Überarbeitung des Codes ( Klasse )

Version 1.6.1

  • SQL-Statements angepasst ( weniger PHP - Code )
  • der DisplayType 'Simple Text' zeigt jetzt auch was an ;)

Version 1.6.0

  • Alt-Text der Images angepasst ( wie Nummer )
  • es wird die Tabelle mit den Statistikdaten nur gerendert, wenn dies auch eingestellt ist ( keine leere Tabelle mehr )
  • die Bilder für die Statistiktabelle ( kleinen Peoples ) können ausgeblendet werden
  • es gibt einen DisplayType der keine Images anzeigt, sondern reinen Text ( class vcounter_TypeText )
  • es gibt zwei neue DisplayType Vorlagen ( greenOld, blackOld ) mit Counter-Überlauf-Bild
  • es ist nun möglich auch ein eigenes Verzeichniss als DisplayType anzugeben ( Folder Below )
  • die Anzahl ( min, max ) der Counter-Digits kann eingestellt werden
  • es kann ein Überlauf Bild angegeben werden
  • man kann das 'Create Table Statement' ausschalten ( Performance da nur notwendig beim erstmaligen Gebrauch )
  • kleine Andere Sachen ( Bugs , Performance ) 
Anzeige aller Änderungen
 

Installation und Update

Voraussetzung : Joomla 1.5.x mit PHP5
Voraussetzung : Joomla 1.5.x mit PHP4.4 ( Patch ) ( bis Counter 1.9.18 )
Voraussetzung : Joomla 1.6.x mit PHP5 ( _j16 )
Voraussetzung : Joomla 1.7.x mit PHP5 ( _j16 )

ab MySQL 4.1

Überblick

Im folgenden Video wird dargestellt wie die Installation des Counters erfolgt. Dabei werden bereits verschiedene allgemeine Situationen gezeigt, wie z.B. das Anlegen eines Footer-Zähl-Counters und viele Dinge mehr.


Installation

Das Modul kann per Joomla - Modul - Installation installiert werden.

Ab Version 1.9.3 kann eine Datenbasis zu Ermittlung von IP-Adresse zu Ländercode eingespielt werden. Beachtet Bitte, das dies beim ersten Aufruf ( wenn Aktiviert ) durchgeführt wird und dieser somit etwas länger dauern könnte.

Nach der Installation ist das Modul ggf. zu aktivieren und natürlich einzustellen.

Update

Ein Update kann durch den Joomla-Upgrade Vorgang ( einfaches erneutes Installieren ) erfolgen.
Auch möglich ein manuelles Update durch Überschreiben der Dateien im Modulverzeichnis /module/mod_vvisit_counter mit der neuen Version zu überschreiben ( beachtet dabei den Hinweis zu den Sprachfiles ).

Ab Version 2.0.0 für Joomla 1.6/7 steht zusätzlich ein Update-Server zur Verfügung. Damit kann einfach innerhalb von Joomla auf Update des Counters geprüft werden.

Nach einem Update sollten immer die Parameter kontrolliert und einmalig Gespeichert werden.

Folgend wird auf einige Besonderheiten bei Versionswechseln hingewiesen. Bitte beachtet auch immer die Kommentare bei den Änderungsmeldungen.

Nachtrag zum Update von Version 1.9.x auf Version 2.0.x :

Für ein Upgrade einer Counter Version 1.9.xx zu Version 2.0.xx ist vor dem Einspielen in Joomla manuell ein Datenbankscript auszuführen.
Dies wird notwendig, da sich durch Erweiterungen des Counters Änderungen an der Datenbank ergeben haben.
Nachdem die Datenbanktabellen migriert wurden, kann der Counter einfach mittels Joomla-Installer geupdated und konfiguriert werden.

Vor Beginn des Updates sollte die Applikation in den Offline-Modus geschalten werden !

Datenbank Update von v1.9.xx zu v2.0.xx
Das Installationsfile des Counters enthält ein SQL Script "upgradeFrom1_9.sql" welches alle notwendigen Kommandos enthält. Dieses Script muss mit einem Datenbanktool ausgeführt werden, z.B. phpMyAdmin.
Das Script sichert die aktuelle Tabelle nach xxx_tmp , erstellt eine neue Datentabelle und migriert die alten Daten in diese neue Tabelle.
Somit sind im Fehlerfall eure Daten in der xxx_tmp Datei gesichert und ein einfaches 'Rename' stellt den Zustand wieder her.
Zu beachten dabei ist:
habt ihr Eure Tabelle anders benannt, müsst ihr im SQL-Script diesen Tabellennamen ersetzen.

Update Einspielen und Konfigurieren von v1.9.xx zu v2.0.xx
Vor Beginn des Updates sollte die Applikation in den Offline-Modus geschalten werden !
Update des Counters mittels Joomla-Installer

Da eine neue View hinzugekommen ist, muss im Parameter Reihenfolge dies ";16" zugefügt werden ( ohne " ).
Weiterhin ist das Tabellenbild zu setzen, da nun eine Auswahl möglich ist. Und natürlich sind die neuen Parameter bei Bedarf zu konfigurieren.

CSS: die neue View bringt auch zusätzliche CSS-Klassen mit (mvc_max_user_day). Diese befinden sich am Ende des mvc.css Files und sind evt. den eigenen CSS-Files hinzuzufügen.
die Version enthält im allgemeinen optimierte CSS-Einstellungen

Update Einspielen und Konfigurieren von v1.9.xx zu v2.0.xx
funktiniert alles Reibungslos, kann die xxx_tmp Tabelle gelöscht werden. Der Befehl dazu ist ebenfalls im Script enthalten.
Optional:
benötigt ihr die alten IP-Adresse nicht mehr im Klartext, könnt ihr diese direkt mit
UPDATE jos_vvisitcounter SET ipraw = NULL
löschen lassen.

HowTo Update Video v1.9.xx zu v2.0.xx

 

Ältere Änderungsmeldungen



Nachtrag zum Update von Version 1.8.2 auf Version 1.9.x :
 
Mit Version 1.9.0 ist es Möglich, die UserAgents mit abzuspeichern. Dazu ist allerdings eine Erweiterung der Datenbank gegenüber den vorigen Versionen notwendig. Diese Erweiterung kann einfach mit dem beiligenden SQL-Script erfolgen.
Dazu das Script mit einem Datenbank-Tool, meist phpAdmin, einspielen.
Bestehende Daten bleiben mit diesem Script erhalten !


 
Nachtrag zum Update von Version 1.9.7 auf Version 1.9.xxx :

Mit Version 1.9.8 sind im Counter  Sprachfiles integriert. Diese befinden sich nach der Installation NICHT im modules Ordner, sondern in /joomla/languges/xx-XX/xx-XX.mod_vvisit_counter.ini .
Wird der Counter also manuell geupdated, müssen diese Files in diese Ordner verschoben werden. Wird ein Update mit vorherigen Deinstall durchgeführt ist nichts zu beachten.
 

Nachtrag zum Update auf Version 1.9.13 :
  • habt ihr eigene CSS-Styles für euren Counter im Template eingefügt, müsst ihr beachten das der CSS-Default nun im File mvc.css liegt. Wollt ihr eure CSS-Styles im Template belassen, müsst ihr am neuen Parameter "CSS-File" 'Nicht verwenden' einstellen. Oder ihr verlagert euere Styles in besagtes File.
  • Die Anzahl der Views hat sich erhöht !.. Hier solltet ihr nach dem Update prüfen, ob die korrekte Anzahl im Parameter "Reihenfolge" (Order) eingetragen ist: ALT 1;2;3;4;5;6;7;8;9 - NEU: 1;2;3;4;5;6;7;8;9;10;11;12;13


Nachtrag zum Update  1.9.15 auf 1.9.16 :
  • Die Version 1.9.16 bringt zwei neue Views mit zwei neuen CSS-Styles. Habt ihr eigene CSS-Files erstellt, müsst ihr manuell die neuen Classes Euren Files zufügen ( div.mvc_loggedInUserNamens und abhängige, div.mvc_regTodayUserNamens und abhängige ) .
  • Für die zwei neuen Views muss JEDER prüfen nach dem Update prüfen, ob die korrekte Anzahl im Parameter "Reihenfolge" (Order) eingetragen ist: ALT 1;2;3;4;5;6;7;8;9;10;11;12;13 - NEU: 1;2;3;4;5;6;7;8;9;10;11;12;13;14;15

Ältere Änderungsmeldungen
 

PHP 4

PHP4 Nutzer:
Aus zeitlichen Gründen habe ich mich entschieden keine PHP4-Version mehr zu erstellen. Sehr viele Systeme setzen mittlerweile auf PHP5, was aus Sicherheitsgründen auch vollkommen i.O. ist. Für mich bedeutet die Erstellung einer extra Version einiges an Arbeit und vor allem einiges an Zeit, welche ich leider nicht habe.
Der PHP4-Patch 1.9.16 ist somit bis zur Counter-Version 1.9.18 nutzbar !


PHP4 Installation bis 1.9.18

Da es zur Lauffähigigkeit des Counter unter PHP4 viele anfragen gibt, habe ich mich entschlossen einen Patch zur Verfügung zu stellen. Dieser erlaubt die Ausführung des Counters auch in einer PHP4 Umgebung.
Voraussetzung : PHP4 Getestet : Joomla 1.5.x mit PHP4 ( 4.4.4 )
Zur Installation ist lediglich die Datei helper.php und ab Version 1.9.3 zusätzlich die Datei iptocountry.php, auszutauschen
( einfaches ersetzen mittels eines FTP Programmes ).

Anmerkung: da es für PHP4 keine Sicherheitsupdates mehr gibt, empfehle ich dringend auch PHP5 zu wechseln. Die nächste Joomla-Version wird generell nicht mehr mit PHP4 arbeiten.

PHP4 Installation bis 1.9.18
 

Anwendung

Der Counter arbeitet als Aufrufzähler, d.h. er wird in die aufgerufene Webseite eingebettet um zu Zählen. Wird der Counter (das Modul) auf einigen Seiten ausgeblendet, werden diese Seiten nicht vom Counter erfasst. Soll der Zähler also die komplette Webseite erfassen, muss das Modul in einem Bereich integriert werden, welcher immer dargestellt wird - dies wird meist der Footer sein. Will man dort nichts anzeigen, kann man alle Anzeigen des Counters abschalten und ein zweites (oder mehr ) Countermodul(e) zur Anzeige verwenden ( Nur-Lese-Betrieb ) z.B. zur Darstellung nur auf der Startseite.

Am Beispiel dieser Homepage könnt ihr die Praktische Anwendung sehen :
  • In der Fussleiste, und damit auf allen Seiten, sieht man den Zähl-Counter welcher so konfiguriert ist, das nur der "Counter" angezeigt wird. Das Counter-Modull an dieser Stelle arbeitet im Schreib-Modus - also als Zähler-Updater.
  • Auf der Startseite, und nur dort, sieht man den um einige Anzeigen erweiterten Anzeigecounter ( Statistik, Image, usw. ). Dieses Modul arbeitet im ReadOnly-Modus und wird nur auf der Startseite dargestellt ( es zählt also nicht ! ). Es liest seine Daten aus der gleichen Datentabelle wie das Countermodul der Fussleiste, stellt also dessen Daten dar.
  • Als Drittes und komplett unabhängiges Counter-Modul, ist der Demo-Counter installiert. Dieser nutzt zusätzlich eine eigene Datentabelle ( und eigens Statistik-Ausgabe-Image ). Da der Counter nur auf der Demo-Seite aktiviert ist, werden auch nur die Aufrufe dieser Seite erfasst und dargestellt.
  • Zusätzlich gibt es noch weitere ReadOnly-Counter-Module für die Extended Demo Page Joomla-Counter. Diese Counter lesen wiederum aus der Datentabelle des Demo-Counters.

Zur Erzeugung eines weiteren Countermodules erstellt man, von dem vorher installierten Counter-Modul, einfach eine Kopie. So erhält man beliebige Countermodule, welche unabhängig konfiguriert und eingesetzt werden können.

Denkt daran, dass der Counter auch als einfacher IP-Adress-Anzeiger genutzt werden kann, wobei man alles abschaltet außer die IP-Anzeige.


Anm.: aus aktuellem Anlass möchte ich nochmals obigen Hinweis wiederholen:
       Seiten auf welchen der Counter nicht angezeigt wird, werden auch nicht gezählt !


Möchte man auch "Quereinsteiger" zählen die nicht von der Startseite kommen, muss der Counter in einem Bereich angebracht werden, welcher IMMER angezeigt wird z.B. dem Footer. Andere Counter können als Copy des Hauptzählcounters erstellt, auf Read-Only gesetzt und somit nur zur Anzeige mit evt erweiterten Informationen genutzt werden.


Beispiele UserAgents auswerten

Ab Version 1.9.0 ist es Möglich UserAgents speichern zu lassen. Da es z.Z. im Counter dahingehend noch keine Auswertung gibt, möchte ich allen Interessierten ein Script zur Verfügung stellen um die verschiedenen Agenten pro Tag in der Datenbank anzeigen zu lassen :
SELECT date(from_unixtime(tm)) tag, count(*) c, useragent agent
FROM jos_vvisitcounter
WHERE userAgent IS NOT NULL
GROUP BY tag , agent

Nachtrag:
mit Version 1.9.12 ist es nun möglich mit den Pre- PostText Expressions auch Daten zum UserAgent anzeigen zu lassen. Eine Statistische Auswertung direkt im Counter wird allerdings noch nicht vorgenommen. Dies soll in die in Entwicklung stehende Counter Komponente com_vvisit_counter einfliesen.
 

Parameter


   Caching Cache für Counter - Never

 CSS-Suffix
  ( Module Class Suffix )
hier wird dem CSS Klassennamen ein Suffix angehängt um Counter mit verschiedenen Styles auszustatten.

z.B. wird aus class="mvc_main" mit dem Suffix "_sfx" dann class="mvc_main_sfx"
 
 CSS File hier wird die Counter CSS-Style-Datei ausgewählt.
Als Default ist das mitgelieferte mvc.css File eingestellt. Ihr könnt ein beliebiges File auswählen, welches sich im Modul Ordner befinden muss ( Endung css ). Wählt ihr "Nicht verwenden" werden die CSS-Klassen im Template gesucht ( verhalten wie in Versionen vor 1.9.13 ).
  Wann soll ein User (IP) der erneut auf die Seite kommt, also neu gezählt werden.
Nur Täglich neu (also einmal pro Tag) oder nach Ablauf von Sperrzeit. Beachtet bei Täglich, dass einige User über einen Proxy Server gehen und damit mehrere User auf ein und dergleichen IP bei euch ankommen und so nicht gezählt würden.
 Sperrzeit Wie lang wird eine IP nicht als neu gezählt ( Minuten ). Gültig wenn Besucher zaehlt neu auf Sperrzeit gesetzt ist.
  Startwert des Counters falls dieser nicht bei Null beginnen soll.
 

Einträge in der Datenbank 

gibt es in der Datenbank mehr als X Datensätze, werden die Daten gerollt, d.h. es entstehen keinen neuen Datenzeilen mehr in der Datenbank da ältere Datensätze gelöscht werden.
0 schaltet das Rollen ab und die Datenbank muss von Hand bereinigt werden ( ! Achtung, Datenmenge ! )
 

Anm.: Benötigt ihr überhaupt keine Daten in der Datenbank, also z.B. ihr wollt gar kein Statistik-Diagramm anzeigen oder macht eure Auswertungen eh über ein anderes Tool und zeigt damit nur die Counter-Zahlen an, dann setzt den Wert auf 1. Das spart Platz in der Datenbank !
 

 

Wieviel Tage sollen in der Datenbank gehalten werden

Mit diesem Parameter kann man einstellen, dass der Counter X Tage in seiner Datenbank vorhält, ältere Daten werden bereinigt.
Wenn man die Statistik z.B. nur für 150 Tage auswerten möchte, muss man nicht 300 Tage in der Datenbank vorhalten die evt. entstanden sind, da '' zu hoch eingestellt ist.
Zu beachten ist, dass die Parameter nur einmal am Tag ausgewertet wird. Wird dabei eine große Anzahl Datensätzen gelöscht, wird auch gleich ein OPTIMIZE ausgeführt.

Ich rate dringend dazu, diesen Parameter zu nutzen wenn ihr den Parameter "" auf einem hohen Wert eingestellt habt wobei auch der Default von 100.000 ist schon ziemlich viel ist !
 

Anm.: soll dennoch einmal "außer Plan" eine Prüfung erfolgen, müsst ihr einfach in euerer Datenbank die Tabelle jo s_mod_vvisit_counter_memo löschen. Dies ist eine Memory Tabelle, wird also auch nach einem DB-Server gedropt und es wird dann ebenfalls einen Prüfung vorgenommen.

  nach dem ersten Start eines Countermodules, wird die Datentabelle angelegt. Danach kann der zusätzliche Test ob die Tabelle schon vorhanden ist, durch diesen Schalter eingespart werden (Performance) ( also immer nach dem ersten Start abschalten ). 
  Datentabelle des Counters ( ohne  Joomla Prefix ).
In dieser Tabelle legt das aktuelle Countermodul seine Daten ab.
  hier kann der Counter als 'nur Anzeiger' konfiguriert werden - Aufrufe werden nicht gezählt. ( wozu, z.B. verschiendene Ansichten auf einen Schreibcounter )
  hier kann der Counter zur Ermittlung eindeutiger User Cookies verwenden ( z.B. um das AOL Reverse Proxy Problem zu umgehen ).
  liegt der Counter hinter einem nicht transparentem Proxy (Strato Problem), kann hier die Forwarder IP-Adresse genutzt werden, anstatt der (dann falschen) Client-IP-Adresse
Speichere IP sichtbar hier kann bei Bedarf die IP-Adresse zusätzlich im Klartext abgespeichert werden ( Systemanalyse etc. ) ( achtet auf die Gesetze in Eurem Land ).
  soll die IP-Adresse des Aufrufers anzeigt werden
 IP Pre Text dieser Text wird vor der IP-Adresse angezeigt
  Auswahl des Anzeige Styles der IP-Adresse ( siehe auch Parameter Display Type )
 Filter IPs hat der Aufrufer die IP aus der Liste ( durch Semikolon getrennt ) wird dieser weder gezählt noch gespeichert.

die IP-Adresse wird in Kurzform angegeben : 127.0.0.1 statt 127.000.000.001 !

  will man Ländercodes/.name oder -flagge darstellen, braucht es eine Datenbasis aus der dies ermittelt wird. Dazu wird in der Datenbank eine Tabelle angelegt und wenn ein Datenfile vorhanden ist, diese Daten eingespielt.
Nach Einspielung sollte der Schalter wieder auf Nein gesetzt werden (Performance).
Anm: alle Countermodule verwenden die gleiche IPtoCountry Datentabelle.

Beachtet das dies etwas dauern kann !

  soll der Ländercode der CallerIP angezeigt werden
beachtet die besondere Lizenz IP to Country
  soll der Ländername der CallerIP angezeigt werden
beachtet die besondere Lizenz IP to Country
  soll der Länderflagge der CallerIP angezeigt werden
beachtet die besondere Lizenz IP to Country
  Größe der Länderflagge
  Die Datenbasis welche mit dem Counter ausgeliefert wird, erfordert die Ausgabe der Lizenz ( wird an an POST Text angehangen ) ( siehe IP to Country) .

Dies kann bei Verwendung von Alternativen hier abgeschalten werden.

Die Ausgabe der License ist nur notwendig wenn Country, CountryFlag oder CountryCode angezeigt wird.

  Text der License (HTML) ( wird an an POST Text angehangen ).
  hierbei werden automatisch Robots nicht gezählt ( gespeichert ).
Dies vereinfacht ab V1.9.6 die Nutzung des Filter UserAgents Parameters da bereits viele Robots abgedeckt werden.
Siehe auch: Liste
 

enthält der UserAgent-Wert einen Text aus der Liste, durch Semikolon getrennt, wird dieser weder gezählt noch gespeichert.

Beispiel wären: Googlebot;Slurp;msnbot;Eurobot;Baiduspider ... etc. ( Achtung: Case sensitive ! )

  Entspricht dem vorigen Parameter nur das die Werte hier aus einem File geladen werden.
Es werden alle Files mit der Endung .bot gelistet. Das File muss die Werte im gleichen Format enthalten - durch Semikolon getrennte UserAgents. Die File Daten werden dem Textfelddaten hinzugefügt.

Kann das Handling bei vielen Robots vereinfachen.
 

gibt an, ob der UserAgent für den zu speicherden Zählerstand mit gesichert werden soll. (  Bild )

Beachtet die Datenmenge und die Versionskompatibilität 

  hier kann nach Usertypen gefiltert werden - sollen Gäste oder Mitglieder nicht gezählt werden.

Meist wird wohl Mitglieder nicht zählen genutzt werden. Möglich ist aber auch eben nur Mitglieder auf bestimmten Sites zu zählen.
 
  Die Reihenfolge der Anzeige - Views kann hier verändert werden. Ebenso können "Spacer" eingefügt werden.

Der Default ist 1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16 :

PRE / Counter / PeopleTable / Highest / Statistik / IP / IP_CountryCode / IP_CountryName / IP_Flagge / Users / Guests / Reg Users / Reg Users Today / UserNames / Reg Today Usernamens / POST
 

Besser zu sehen hier im Bild: Klick zur Anzeige 
 
Man kann mittels eines "-" ein
einfügen lassen, welches ebenfalls per CSS einen besonderen Style erhalten kann.
  Hier kann auf beliebige Views ein Link gesetzt werden.
Beispiel: 1;2;15
Beachtet das dies nicht auf jeder View sinnvoll ist und unter Umständen Änderungsbedarf am CSS notwendig wird.
 Link Der eigentliche http://... Link
  der HTML Target Parameter um Link z.B. in neuem Fenster öffnen zu lassen.
 
Hiermit wird versucht die Texte in den Parametern automatisch überstzen zu lassen :

Möglich ist dabei die Auswahl der Zielsprache aus der Einstellung des Besucher-Browsers oder der in Joomla gemachten Spracheinstellung zu beziehen.

Wenn eingeschalten, gelten die eingegebenen Texte in den Parametern als KEYs im Sprachfile. Wird keine Übersetzung zum jeweiligen Key gefunden, wird der eingestellte Text 1:1 angezeigt.
( Anm.: man kann also eigene Key=Values im Sprachfile einfügen bzw. vorhandene nutzen ) .
( z.B. Today im Parameter, TODAY=Heute im Sprachfile )

Wenn ausgeschalten, werden die eingegebenen Texte direkt ausgegeben und keine Übersetzung 'versucht'.

Beispiel: ruft ein Client mit eingestellter Browser-Sprache DE die Seite auf, wird die Deutsche Übersetzung angezeigt, usw.. 

Die Einstellung "aus Joomla" ist besonders für Joomfish-Nutzer interessant.

Anm.: beachtet: es wird das jeweilige Language File nachgeladen - das kostet Performance !
 Zeige X ... Anzeigen von X 
 Text für X ... Darzustellender Text für X
  Welcher Tag gilt als Wochenanfang ( Sonntag/Montag/Samstag )
  Anzeige der kleinen Bilder in der linken Tabellenspalte

( Auswahl verschiedener Styles möglich:peoples,calendar,... )
 
 Zeige hoechsten Besuchertag

Zeigt den Tag und den Wert des höchsten Besucheraufkommens aus den vorhandenen Statistikdaten an

 

Beachten: dieser Parameter ist ein SCHREIB-Parameter und somit abhängig vom Parameter "Nur Lese Modus" !
Das bedeutet: der Parameter wird NICHT NEU BERECHNET wenn der Counter im Read-Only Modus arbeitet.

Zeigt man den Wert nun in einem Nur-Lese-Counter an, muss man diesem im Schreib-Counter berechnen lassen. Um dann aber keine Anzeige des Wertes im Schreibcounter zu erhalten (da evt. versteckt), muss man den Titel-Parameter und den Text-Template-Parameter mit einem Leerzeichen (Space) füllen. So wird dann im Schreibcounter nichts angezeigt und dennoch hat ein Lesecounter einen aktuellen Wert.

( Ps.: ich prüfe noch ob hier ein weiterer Parameter 'nur berechnen' den Sachverhalt vereinfachen kann )

 

 Titel fuer hoechsten Besuchertag Titel
 Trennzeichen Trennzeichen Titel - Werte Spalte
 Update Intervall Neuberechnungsintervall
  Dies bestimmt die Anzeige des Wertes. Hierbei ist eigenes HTML erlaubt.
Die Ersetzungszeichen werden im Text dann entsprechend ausgefüllt.

Tag : $d
Wert: $v
 
  Anzeigen der Counter-Digits ( also des Counterstands )
  Mindest Stellenanzahl
  Maximale Stellenanzahl
  Anzuzeigendes Bild bei Überlauf
( einige Styles enthalten dafür das W.gif Bild )
 

Style der Digits oder reiner Text

( zeigt alle vorhandenen Ordner im counter../image Ordner an )
( Default : Textausgabe ) 

  Display Type (M) manueller Verzeichnisname für Digit-Images 
  Größe der Tabelle ( People Tabelle ! )
  Anzeigen eines Statistik Images ( Einfach und Detailiert möglich )
  Anzahl der Tage für Statistik Image  
  wo soll das Statistikimage abgelegt werden 
( jeder Counter sein eigenes ! )
  Wieviel Zeit muss bis neu Erstellung des Statistikimages vergehen ( Stunden ) ( auch Kommawerte erlaubt 0.5 = halbe Stunde ).

Anm.: Stellt den Wert nicht zu hoch, 1-2mal am Tag ist vollkommen ausreichend.

  Breite ( Pixel )
  Höhe ( Pixel )
 Farben

die Farben ( HTML Format z.B. #DDDDDD )

Hier im Detail:  Klick zur Anzeige

  Anzahl Eingeloggter Benutzer anzeigen
  der Titel
  Anzahl Gäste anzeigen
  der Titel
  Anzeige Gesamtzahl Registrierter Benutzer
  der Titel
  Anzeige der Anzahl Heute Registrierter Benutzer
  der Titel
  die Möglichkeit ein Trennzeichen zwischen Titel und Anzahl einzugeben, z.B. ":"
  Eingeloggter Benutzer Info ( Name, Account, s.u. ) anzeigen
  der Titel für vorriges
  Heute Registrierte Benutzer Info ( Name, Account, s.u. ) anzeigen
  der Titel für vorriges
  Format der User-Anzeige ( in Klammern wird per MouseOver angezeigt )
 User Link Hier kann ein Link pro User erstellt werden, welcher z.B auf ein Userprofile zeigen kann.
Dabei werden Ersetzungen vorgenommen :
$$id = UserId , $$name = Username, $$account = Useraccount.

Am Beispiel fuer Kunena Forum:
index.php?option=com_kunena&func=profile&userid=$$id&Itemid=115
  Wann (Wem) soll der UserLink angezeigt werden:
Nur angemeldeten Usern oder Allen Besuchern ( auch Gäste )
  Nur für die _j16 Version ( Joomla > 1.5 )
Hiermit kann ein Gruppenfilter für diesen Bereich gesetzt werden.
  Wenn vorheriger Paramter "Only this Groups" auf "Ja" eingestellt ist, werden nur die hier ausgewählten Gruppen angezeigt.
  sollen Benutzer des Backends nicht mit erfasst werden. Gilt für Eingeloggte User und Gäste.
  Hiermit wird festgelegt das ein Gast nach einer inaktiven Zeit (in Sekunden) nicht mehr in der 'Who-Is-Online' Zählung enthalten sein soll. Dies verhindert die hohe Gäste Anzahl bedingt durch die Joomla-Session Zeit. Ein Wert 0 bedeutet, dass die Joomla Session Time genutzt wird. Der Default ist auf 5Minten (300Sek) gesetzt.

Der Unterschied in der Genauigkeit ist deutlich zu erkennen ! 

Ein aktuelles Beispiel:

Joomla-Who-Is-Online: Wir haben 22 Gäste ...
Counter Gäste Anzahl: Gäste2

  Hiermit wird festgelegt das ein User nach einer inaktiven Zeit (in Sekunden) nicht mehr in der 'Who-Is-Online' Zählung enthalten sein soll.
Ein Wert 0 bedeutet, dass die Joomla Session Time genutzt wird. Der Default: 0

siehe auch vorigen Paramter !

 Pre-Text Text am Anfang 'des Counter' ( in Default Reihenfolge )

Hier kann eigener Text (auch HTML) eingetragen werden.

Ab Version 1.9.12 sind in PRE and POST Expression erlaubt, welche dann durch Echt-Daten ersetzt werden.
Expressions werden hier speziell behandelt.

( !! Damit kann ein komplett eigenes Layout reallisiert werden !! )

 Post-Text Text am Ende 'des Counters' ( in Default Reihenfolge )

Hier kann eigener Text (auch HTML) eingetragen werden.

Ab Version 1.9.12 sind in PRE and POST Expression erlaubt, welche dann durch Echt-Daten ersetzt werden.
Expressions werden hier speziell behandelt.

( !! Damit kann ein komplett eigenes Layout reallisiert werden !! )

  Senden von Status EMail anschalten.

Achtung
das Joomla-Mail-System muss dazu eingerichtet sein !  
 
 Trigger Sende eine EMail alle X mal.
  IDs der Benutzer welche die Email empfangen sollen.
Hier ist die ID und nicht der Username einzutragen, durch Semikolon getrennt.
 Body Der Mail-Text kann beliebig gesetzt werden.

Es stehen zusätzlich zwei Variablen zur Verfügung die ersetzt werden :
$a für Zählerstand und $d für aktuelles Datum.
  Datums Format , z.B. d.m.Y
  Hier kann ein beliebiges eigenes PHP Script ausgeführt werden welches, analog zu Mailversenden, zu jeden X-ten Counterstand ausgeführt wird. ( z.B. für ein Gewinnspiel )

Ein Beispiel für solch ein kleines Script findet ihr in den Downloads..

Ein kleines Tutorial Video zum Thema könnt ihr hier anschauen..


( Doppelklick für Groß )

 Trigger Führe das Script alle X mal ( zu jedem Xten Counterstand ) aus
 Script Name Der Name des Scriptes ohne .php ! Das Script MUSS sich im Ordner Trigger befinden.
 

Expressions für PRE und POST

Ab Version 1.9.12 sind für die Texte PRE und POST Expressions möglich. Diese bieten Zugriff auf alle Felder welche auch so anzeigbar sind und noch einigen mehr.

Eine Übersicht der möglichen Expressions findet ihr hier:
Beschreibung Beispiel Ausdruck
Aktuelles Datum 27.03.2010 $today$
Gesamt 8012 $countAll$
Heute 100 $countToday$
Gestern 220 $countYesterday$
Woche 4000 $countWeek$
Monat 789 $countMonth$
kleinstes Datum in DB 01.01.2010 $minDate$
IP Adresse 10.33.70.01 $callerIP$
Country DE $callerCountryCode$
ISO2 Country GERMANY $callerCountry$
Country Flag ein bekanntes Flaggenbild $callerCountryFlag$
Browser (Joomla) msie $browser$
Browser Version (Joomla) 7.0 $versionBrowser$
Browser Platform (Joomla) win $platformBrowser$
Browser (PHP) IE $phpbrowser$
Browser Version (PHP) 8.0 $phpversionBrowser$
Browser Platform (PHP) WinVista $phpplatformBrowser$
UserAgent der komplette UserAgent String wie er in der Datenbank abgelegt wird $userAgent$
Angemeldete User (Joomla) 3 $loggedIn$
Gäste (Joomla) 3 $guests$
Online ( Gäste + Angemeldete User ) 6 $visitors$
Registrierte User (Joomla) 3 $regUsers$
Registrierte User Heute(Joomla) 3 $regUsersToday$

Vielleicht fragt ihr Euch wo der Unterschied zwischen den Browser-Expression (Joomla)-(PHP) liegt ? 
- bei (Joomla) werden die Werte mittels einer Joomla internen Funktion ermittelt. Dies hat den Vorteil das keine Einstellungen am PHP-System notwendig sind. Allerdings erhält man damit auch nicht unbedingt die Ausgabe, welche man möchte bzw. erwartet hatte.
Bei den (PHP) Attributen werden die Browser Werte mittels einer PHP Grundfunktion ermittelt. Dies setzt aber eine eingerichtete 'browsercap' Datei vorraus, sonst gibt es Warnunmeldungen von PHP. Die Werte hängen von der Aktualität der browsercap.ini ab. Auf meinem Testsystem passten diese sehr gut,im Gegensatz zur Joomlaausgabe.
 
Was bringt Euch das Ganze ?
- habt Ihr vor ein Counter-Design zu entwerfen, welches komplett vom bestehenden Prinzip abweicht, ist dies selbst mit CSS Klassen tlw. nur schwer zu realisieren. Mit den Expressions könnt ihr dies nun alles erreichen. 
Wie ? - ihr schaltet einfach alle Ausgaben außer Pre und/oder Post ab und fügt in diesen in der Modulkonfiguration Eurer komplett eigenes HTML ein. An Stellen wo Werte ausgegeben werden sollen, nutzt Ihr dann die Expressions.
 
Beispiel: 
Mit diesem Satz :
Hello "$callerIP$" from $callerCountryFlag$.
Today is $today$ an you are the $countAll$ Visitor on my site.

erhaltet Ihr folgende Ausgabe :
Hello "127.0.0.1" from DE. Today is 31.03.2010 an you are the 106441 Visitor on my site.
 

CSS

Um den Counter der eigenen Seite anpassen zu können, steht für jedes vordefinierte Element eine ensprechende CSS-Class zur eigenen Anpassung zur Verfügung.
( Anm.: mit den Expressions ist es möglich einen komplett eigenen Counter zu designen, welcher keine der vordefinierten Elemente nutzt )

Die CSS-Styles werden per Default in der Datei mvc.css hinterlegt ( Parameter "CSS-File: mvc.css" ).
Weiterhin ist es möglich, wie in Versionen vor 1.9.13, eigene CSS-Styles direkt im Template einzubinden. Dies empfehle ich allerdings nicht ( Parameter "CSS-File: Nicht verwenden" ).
Eine Dritte Möglichkeit ergibt sich, wenn man seine eigene Style Datei (xxx.css) im Counter Pfad abgelegt. Dieses ist dann im Parameter CSS-File auswählbar. Dies ist das von mir empfohlene Vorgehen.
Dazu erstellt man eine Kopie des mvc.css Files und wählt dieses aus. Das verhindert, dass bei einem Update evt Eure eigenen Styles überschrieben werden.

Bei Verwendung mehrerer Counter sollte für jeden Counter ein eigenes CSS-File erstellt und für diesen Counter ausgewählt werden.
Es ist aber ebenfalls möglich Alle Counter-Styles in einem CSS-File abzulegen und mit den CSS-Suffixen zu arbeiten. Diese werden dann an die entsprechende CSS Class angehängt ( z.B. _counter1 ergibt div.mvc_main_counter1 ).

Zu Beachten: ebenfalls mit CSS-Suffixen muss man arbeiten, wenn man Counter auf der gleichen Seite anzeigen möchte. Es würde sonst immer das erste geladene CSS-File gelten.

CSS Video Tuorial:
 

IP to Country

Hier gebe ich ein paar Hintergrundinfo's über das IP to Country Feature.

Grundlegendes :

Zum Ermitteln aus welchem Land eine IP-Adresse kommt, braucht es eine Mapping Tabelle welche IP-Bereiche zu Ländeercodes abbildet. Diese Tabelle wird im Counter aus einer CSV-Datei importiert.
Grundsätzlich kann jede beliebige Datenbasis verwendet werden, wichtig ist der Aufbau des CSV-Datenfiles wie unten beschrieben.
Die Datenbasis welche dem Counter beiliegt, wird dabei von http://ip-to-country.webhosting.info/ zur Verfügung gestellt - Bitte beachtet also deren Lizenz
( nur notwendig wenn Country, CountryFlagge oder CountryCode angezeigt wird - nicht bei reiner IP-Adress Anzeige ).

Aufbau CSV-Datenfiles:

Name des Datenfiles: ip-to-country.csv

Das Datenfile besteht aus fünf Spalten:
  • IP-Bereich Start  Int ( ip2long/long2ip ) Bsp. "0094585424"
  • IP-Bereich Ende Int ( ip2long/long2ip ) Bsp. "0094585439"
  • ISO 3166 Country Code2 char(2) Bsp. "SE"
  • ISO 3166 Country Code3 char(3) Bsp. "SWE"
  • ISO 3166 Counry Name char(50) Bsp. "SWEDEN"
Jeder Wert ist in Hochkomma (") eingeschlossen wobei der Wertetrenner ein Komma (,) ist.
Datenzeilen werden mit Enter abgeschlossen

Update der Datenbasis :

Die Datenbasis von http://ip-to-country.webhosting.info/  unterliegt regelmäßigen Updates. Um dieses in seine Counter Installation zu übernehmen, sind folgende Schritte notwendig
  1. Download des neuen Datenfiles 
  2. ersetzen des alten Datenfiles in joomla/modules/mod_vvisit_counter/ip2country/
  3. wenn nicht sowieso bereits geschehen Create Table auf NO
  4. löschen der Datenbanktabelle  TRUNCATE jos_mvc_iptocountry 
  5. Create Table auf YES
  6. einen Seitenaufruf ausführen und die Einspielung abwarten
  7. Create Table wieder auf NO
 

Performance

Sicherungsparameter Max Tage/Datensätze

Wenn Statistikdaten über einen längeren Zeitraum dargestellt werden sollen, kann dies nur durch Speicherung dieser Daten erfolgen. Dabei fallen, je nach Zeitraum oder Speichervolumen unterschiedliche Datenmengen an, welche die Datenbank halten und Auswerten muss. Bei sehr vielen Daten, kann sich dies auf der Performance auswirken. Ein paar Hintergründe dazu möchte ich hier darlegen.

Am Beispiel meiner Datenbasis zeige ich hier ein mögliches Datenaufkommen:

Ich speichere maximal 160(+1) Tage und maximal 100.000 Einträge. Bis jetzt benötige ich für diesen Zeitraum im Durchschnitt echte 60.000 Datenbankeinträge( PS.. dies ist sehr einfach mit der Counter-Manager-Komponente zu kontrollieren, welche die Anzahl der Tag und die Datenmengen anzeigt ). Für diese Datensätze benötigt die Datenbank, durch Indizes usw. , mit der Speicherung der UserAgents ca. 10 MegaByte Platz.

Der Demo-Counter dagegen  hält nur 60(+1) Tage mit einer Einstellung von maximal 40.000 Einträgen und einer wirklichen Datensatzanzahl von 7.000 Datensätzen. Dazu wird in der Datenbank dann ca. 1500 KiloByte benötigt ( ebenfalls mit Speicherung UserAgent ).

Hier kann man sehr gut erkennen, ungeachtet von Laufzeiten, dass unbedingt mindestens einer der beiden Sicherungsparameter auf einen sinnvollen Wert zu setzen ist.
Benötigt ihr keine Langzeitstatistik, kann man maximale Tage und/oder max. Einträge sogar auf 1 setzen damit keine bzw. nur wenig Daten gespeichert werden.

Auch wenn ihr nun sagt 'ach, genug Platz ist da' , solltet ihr aber beachten, dass je mehr Daten in die Datenbank kommen die Datenbank sehr viel mehr leisten muss - also die Performance leidet. Aufgrund der vielen verschiedenen Webplattformen macht es keinen Sinn hier Performance-Messungen zu posten - die würden bei Euch eh extrem anders ausschaun ( könnt ihr sehr einfach selber machen durch Einschalten des Joomla-DEBUG-Modus ).


Meine Empfehlung ist IMMER beide Sicherungsparameter in Kombination zu setzen. 

Folgende Fragen solltet ihr Euch zur Emittlung der Werte stellen:
  • wieviel Platz habe ich auf meiner Homepage, genauer in meiner Datenbank ( z.B. 250MB )
  • über wieviele Tage benötige ich die Statistikdaten ( z.B. nur 3 Monate ? )
  • WAS möchte ich speichern, brauche ich die UserAgents wirklich
  • habe ich einen eigenen Server oder eine 'einfache' Website ( Performance )
Dannach solltet ihr dann die/den Parameter Max. Anzahl Tage / Datensätze setzen.

Seid ihr nicht sicher, kann man z.B. erst einmal nur mit dem Parameter maximale Datensätze anfangen und beobachet mittels der Counter-Komponente die Anzahl der Datensätze über einen Zeitraum. Später kann man dann seinen gewünschten Zeitraum einstellen und nimmt zur Sicherheit das Doppelte der ermittelten Datensätze über seinen Testzeitraum.
die Bereinigung nach Tagen erfolgt einmalig am Tag und macht bei 'großen' Aktionen auch gleich ein OPTIMIZE Table .

Laufzeit

Je mehr Daten der Counter gespeichert hat, desto aufwändiger ist die Berechnung des Statistikbildes - dies sollte klar sein. Hier kann man auf der einen Seite Abhilfe schaffen, in dem man die Berechnung des Statistikbildes verzögert. Per Default wird dieses nur alle 6 Stunden neu berechnet, sinnvoll sind aber auch Werte von 12 oder gar 24Stunden. Zusätzlich sollte man, wie im vorigen Abschnitt dargestellt, genau überlegen Was man Wie lang speichern möchte.
 

FAQ

  1. Symptom :

    Fehlermeldung : Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in .. helper.php  on line 27

    Hintergrund :

    es wird PHP4 verwendet

    Lösung :  

    Patch PHP4-5 downloaden und einspielen 

  2. Symptom :

    Fehlermeldung : Fatal error: Cannot redeclare getrgb() (previously declared in ...joomla/templates/bicolor/lib.php:182) in ...joomla/modules/mod_vvisit_counter/diagram.php on line 25

    Hintergrund :

    mehrfaches Vorhandensein des Methodenname in diagramm.php Library

    Lösung :  

    Es gibt einen speziellen für dieses Problem (mvcR_patch_DiagrammLib_getrgb) 

  3. Symptom :

    Datenbankproblem ( anlegen der Tabellen scheitert, keine Daten im Statistikbild, etc. )

    Hintergrund :

    es wird MySQL ab Version 4.1.xx benötigt

    Lösung :  

    Upgrade der Datenbank 

  4. Symptom :

    Gesamtzählerstand ist im ersten Monat um Eins zu hoch (Versionen vor 1.9.0)

    Hintergrund :

    das ist ein Problem in den Vorgabewerten des Modules. Dort liegt dieser bei +1 anstatt auf 0

    Lösung :  

    nach der Installation des Counters, direkt VOR der Aktivierung !, im Konfigurationsmenu den Startwert auf 0 setzen

    ( ändere ich in der nächsten Version, z.Z. ist es aber nicht notwendig für diese kleine Problem eine Extra-Version zu erstellen ) 

  5. Frage :

    Wie kann der Zähler komplett auf Null gesetzt werden ?

    Hintergrund :

    dies kann nur in der Datenbank durchgeführt werden

    Lösung :  

    TRUNCATE TABLE `jos_vvisitcounter`

    DELETE TABLE `jos_vvisitcounter` würde nur die Daten löschen, aber beim aktuellen Zählerstand weiterzählen  

  6. Symptom :

    Fehlermeldung : Warning: Invalid argument supplied for foreach() in .../modules/mod_vvisit_counter/helper.php on line 400

    Hintergrund :

    es werden keine Daten für das Statistikbild geliefert (DatenbankVersion kleiner 4.1.x ) und PHP4 wird verwendet. Dies führt durch einen PHP4-Bug zu obiger Fehlermeldung.

    Lösung :  

    Upgrade der Datenbank 

    (den PHP4 Bug kann man umgehen, es bringt aber nix da es niemals Daten für das Bild gibt) 

  7. Symptom :

    Der Zähler für 'Gestern' steht am 1.1. eines Jahres auf 0

    Hintergrund :

    Der Counter bezieht sich bei der Auswertung von Gestern/Woche/Monat IMMER auf das aktuelle Jahr (Performance). Somit ist am 1.1. das "Gestern" nicht vorhanden, also 0. Am 2.1 sollten dann wieder Werte angezeigt werden. Bei den Werten Woche/Monat ist dies nicht von Belang.

    Lösung :  

    nicht notwendig.. 

    Nachtrag: ab v2.0.0 wird nicht mehr Jahresbasierend begrenzt

  8. Frage :

    Wie kann ich den Zähler unsichtbar machen ?

    Hintergrund :

    viele wollen den Counter 'normalen' Besuchern nicht zeigen

    Lösung :  

    dies ist in den Szenarien beschrieben.

    Anm.: ich habe lang überlegt eine Rollen-Auswahl in den Counter einzubauen mit welchem man direkt wählen könnte bei welchen Rollen der Counter angezeigt wird. Da dies aber in Joomla und dessen Modulberechtigungen schon einfach möglich ist, wäre das doppelt. Zusätzlich ist man in Kombination mit Lese- und Schreibmodus des Counters um einiges flexibler (Readonly) : z.B. Abbildung eines Schreibcounter im Footer, welcher nur die Digits anzeigt und einen Lese-Counter der nur für Rollen X angezeigt wird und viel mehr Informationen darstellt.

  9. Frage :

    Wie kann ich Bots vom Zählen ausschließen ?

    Lösung :  

    Wenn der Parameter "Auto FilerRobots" aktiviert ist, werden alle Joomla bekannten Bots automatisch nicht mitgezählt.
    Weiterhin gibt es die Möglichkeit im Parameter "Filter UserAgents" eigene Bots zur Filterung anzugeben. Wird die Liste zu lang, können alle Bots auch in einer Datendatei abgelegt werden ( Parameter "Filter UserAgents from File" ).
    Anm. mittels des Parameters "Filter IP" ist es auch möglich direkt IP-Adressen zur Filterung anzugeben.

  10. Frage :

    Wie kann ich eigene Scripte je nach Zähglerstand ausführen lassen ?

    Lösung :  

    Dies wird mit dem Parameter "Trigger" gelöst. Dabei kann zu jeden x-ten Counterstand eine Aktion ausgelöst werden.

  11. Frage :

    Wo finde ich ein Übersicht der Reihenfolge (Order) der einzelnen Ansichten (Views) ?

    Lösung :  

    Dies wird im Parameter ( siehe Parametertabelle ) beschrieben. Am deutlichsten ist die Reihenfolge an diesem Bild zu sehen.

 

Alternative Websites

Links auf welchen der Counter gehostet ist und von mir regelmäßig kontrolliert werden :

JoomlaCode
JoomlaExtensions
Joomlaos ( Version Joomla 1.5 )
Joomlaos ( Version Joomla 1.6 )

 

Direct:

mod_vvisit_counter_2_0_4_j3.zip : V2.0.4_MMA Joomla 3

mod_vvisit_counter_2_0_4_j16.zip : V2.0.4_MMA Joomla 1.6/7/2.5

mod_vvisit_counter_2_0_3_j16.zip : V2.0.3_MMA Joomla 1.6/7/2.5

mod_vvisit_counter_2_0_3.zip : V2.0.3_MMA Joomla 1.5

triggerExample.zip : Beispiel Trigger Script ab V1.9.18

mod_vvisit_counter_1_9_18_j16.zip : V1.9.18_MMA Joomla 1.6

mod_vvisit_counter_1_9_18.zip : V1.9.18_MMA]

mod_vvisit_counter_php4_patch_1_9_16a.zip : Patch V1.9.16a PHP5 zu PHP4

mvcR_patch_DiagrammLib_getrgb.zip : Patch Doppelte Methode GetRGB ( Problem von Bob )

 

 

Übersetzungen - Sprachfiles

 
DE Deutsch im Download enthalten Majunke Michael All
US Englisch im Download enthalten Majunke Michael All
Alle aktuellen Sprachversionen sind hier zu finden Joomlacode
z.B. fr-FR | it-IT
Wer "Lust und Laune" hat, kann helfen und weitere Übersetzungen erstellen.
 

Spende


Dank an..

T.Gutmann ,
M.Koenig ,
custommaps.de - RycoDePsyco ,
S.Bock ,
K. Weisheit,
77livres.fr"..a small gift from one who benefits from the work of volunteers Joomla. .."
Wolfgang Schwarz ( dk9vz.com )
nfrTest.de
www.veloregister.ch
MfG-Clan mfg-esports.com
MSC-Hohenems
Wieslaw S.
Dank an..
 

Support Forum


Link zum Mod_VVisit_Counter Support Forum:Offline

 

 

Anm.: hier findet Ihr alle Downloads direkt  Counter-Download von JoomlaCode