Module mod_vvisit_counter überarbeited Drucken
Benutzerbewertung: / 176
SchwachPerfekt 
Geschrieben von: Michael Majunke   
Donnerstag, den 01. Mai 2008 um 11:36 Uhr

Vorwort

Auf der Suche nach einem Counter für meine Homepage, fand ich das Joomla - Modul von Vianora mod_vvisit_counter.   Da ich noch ein paar Wünsche hatte, habe ich diesen weiterentwickelt.
Die Änderungen habe ich auf der Homepage des Modules bekannt gemacht, leider reagiert dort aber niemand mehr auf Anfragen.

Da ich Euch meine Änderungen zukommen lassen will, stelle ich meine Version hier zur Verfügung.
mod_vvisit_counter_previewmod_vvisit_counter_preview
  
 

Inhalt

 

Änderungen

Joomlacode.org
Der Counter ist nun als Projekt in joomlacode.org eingestellt. Damit steht eine Versionsverwaltung und ein Forum zur Verfügung. Weiterhin können dort Bugs gemeldet und neue Featureanfragen erstellt werden. Eine vorherige Anmeldung ist dort allerdings notwendig, deshalb könnt ihr natürlich auch weiterhin den Weg über die Kommentare (unten) nutzen.


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


Anzeige aller Änderungen


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 : PHP5Getestet : Joomla 1.5.x mit PHP5
ab MySQL 4.1

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.

Update

Bei einem Update, kann entweder das Modul zuerst per Joomla Deinstalliert und erneut installiert werden, wobei die Datenbankdaten erhalten bleiben. Einfacher ist jedoch die Dateien im Modulverzeichnis /module/mod_vvisit_counter mit der neuen Version zu überschreiben.

Nach der Installation ist das Modul ggf. zu aktivieren und natürlich einzustellen.
 
 
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.
 

PHP 4

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 : PHP4Getestet : 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.

RoadMap

  • Dokumentation verbessern.. z.B. für CSS
  • Komponente zur Auswertung des(r) Counter(s)  zur Zeit in Entwicklung

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 ) - zum Darstellung nur auf der Startseite.
 
Am Beispiel dieser Homepage könnt ihr die Praktische Nutzung sehen : 
 
In der Fußleiste, 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 Schreibbetrieb - also als Zähler-Updater.
 
Auf der Startseite, und nur dort, sieht man den erweiterten Anzeigecounter ( Statistik,Image, usw. ). Dieses Modul arbeitet im ReadOnly Betrieb und wird nur auf der Startseite dargestellt ( es zählt also nicht ). Es liest seine Daten aus der gleichen Datentabelle wie das Countermodul der Startseite.

Als Drittes und komplett unabhängiges Counter-Modul, ist der Demo-Counter installiert. Dieser nutzt zusätzlich eine eigene Datentabelle ( und Ausgabeimage ). Da der Counter nur auf der Demo-Seite aktiviert ist, werden auch nur die Aufrufe dieser Seite erfasst und dargestellt.
 
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.

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, 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 erweiterten Informationen z.B. auf der Hauptseite, genutzt werden.

 

Beispiele UserAgents auswerten
 

Mit 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
 

Parameter

 
 Caching Cache für Counter - Never
 Module Class Suffix hier wird dem CSS Klassen ein Suffix angehängt
 Count IP as New Wann soll ein User (IP) der erneut auf die Seite kommt, also neu gezählt werden. Nur Täglich neu, oder nach Ablauf von Locktime. Beachtet bei Täglich, dass einige User über einen Proxy Server gehen und damit mehrere User auf einer IP bei euch ankommen.
 Locktime Wie lang wird eine IP nicht als neu gezählt ( Minuten ). Gültig wenn
 Initial Value Startzahl des Counters 
 Records

Einträge in der Datenbank 

gibt es in der Datenbank mehr als Record Datensätze, werden die Daten gerollt. d.h. es entstehen keinen neun Datenzeilen mehr in der Datenbank da ältere Datensätze gelöscht werden. 0 schaltet das ab und die Datenbank muss von Hand bereinigt werden - sicherer für Leute die die Daten unbedingt halten wollen, aber achtet auf die Datenbank !

 Create Table nach dem ersten Start des Counters, wird die Tabelle angelegt. Später kann der Test ob die Tabelle schon vorhanden ist, durch diesen Schalter eingespart werden 
 Table Name Datentabelle des Counters ( ohne  Joomla Prefix )
 Read Only hier kann der Counter als 'nur Anzeiger' konfiguriert werden - aufruf werden nicht gezählt 
 Use Cookies hier kann der Counter zur Ermittlung eindeutiger User Cookies verwenden ( z.B. AOL Reverse Proxy Problem ).
 Show IP soll die IP-Adresse des Aufrufers anzeigt werden
 IP Pre Text dieser Text wird vor der IP-Adresse angezeigt
 IP Display Type Auswahl des AnzeigeStyles 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 !

 Create IP Country Table 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.
 Show IPs Country Code soll der Ländercode der CallerIP angezeigt werden
 Show IPs Country soll der Ländername der CallerIP angezeigt werden
 Show IPs Country Flag soll der Länderflagge der CallerIP angezeigt werden
 IPFlag Width/Height Größe der Länderflagge
 Append License Die Datenbasis welche mit dem Counter ausgeliefert wird, erfordert die Ausgabe der Lizenz ( wird an an POST Text angehangen ). Dies kann bei Verwendung von alternativen hier abgeschalten werden.
 IP2C LicenseText Text der Pflichtausgabe (HTML) ( wird an an POST Text angehangen ).
 Autofilter Robots 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. Liste
 Filter UserAgents

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 ! )

 Save UserAgents

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

Beachtet die Datenmenge und die Versionskompatibilität 

 User Filter hier kann nach Usertypen gefiltert werden. Sollen Gäste oder Mitglieder nicht gezählt werden. Meist wird wohl Mitglieder nicht zählen genutzt werden.
 Order Reihenfolge der View Elemente.
Der Default ist 1;2;3;4;5;6;7;8;9 was bedeuted : PRE/Counter/PeopleTable/Statistik/IP/IP_CountryCode/IP_CountryName/IP_Flagge/POST
 Auto-Translate Client Hiermit wird versucht die folgenden Texte (X) autoamtisch in die Client-Sprache zu übersetzen.

Wenn angeschalten, gelten die nachfolgenden Texte als Keys im Sprachfile. Wird keine Übersetzung zum jeweiligen Key gefunden, wird der eingestellte Text angezeigt. ( Anm.: man kann also eigene Key=Values im Sprachfile einfügen bzw. vorhandene nutzen ).
Wenn ausgeschalten, werden die nachfolgenden Texte ebenfalls direkt ausgegeben.

Für die Default Werte, sind KEY's mit Übersetzung EN/DE enthalten.

Beispiel: ruft ein Client mit eingestellter Browser-Sprache DE die Seite auf, wird die Deutsche Übersetzung angezeigt, usw.. 
 Show X Anzeigen von X 
 Tag X Darzustellender Text für X
 Week Startday Welcher Tag gilt als Wochenanfang
 Show Images Anzeige der kleinen Peoples 
 Show Digit Counter Anzeigen der Counter-Digits 
 Digits Min Mindest Stellenanzahl
 Digits Max Maximale Stellenanzahl
 Digits Overflow  Anzuzeigendes Bild bei Überlauf
 Display Type

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 
 Width Table Größe der Tabelle ( People Tabelle ! )
 Show Statistik Image Anzeigen eines Statistik Images ( Einfach und Detailiert möglich )
 Days Anzahl der Tage für Statistik Image  
 ImagePath wo soll das Statistikimage abgelegt werden 
 Time Elapse Wieviel Zeit muss bis neu Erstellung des Statistikimages vergehen ( Stunden ) ( auch Kommawerte erlaubt 0.5 = halbe Stunde )
 Width Breite ( Pixel )
 Height Höhe ( Pixel )
 Colors die Farben ( HTML Format z.B. #DDDDDD )
 Pre-Text Text vor dem Counter 
 Post-Text Text nach dem Counter
 Mail Send Senden von Status EMail anschalten. Achtung das Joomla-Mail-System muss dazu eingerichtet sein !  
 Trigger Sende EMail alle X mal.
 Reciever-IDs IDs der Benutzer die die Email empfangen sollen. Hier ist die ID und nicht der Username einzutragen. Semikolon getrennt.
 Body Der Mail-Text kann beliebig gesetzt werden. Es stehen zwei Variablen zur Verfügung die ersetzt werden : $a für Zählerstand und $d für aktuelles Datum.
 Format Date-Time Date Format
 

CSS

Ab Version 1.8.0 steht für jedes Element eine Class zur Verfügung. Zur Nutzung könnt ihr diese in Eure Template-CSS-Datei einfügen. Wurden mehrere Counter Kopien angelegt, könnt ihr das Modul-Class-Suffix nutzen welches einfach an die Klassennamen angehängt wird.
Ein einfaches Beispiel findet Ihr in der mcv.css Datei bzw. nachfolgend.

/* 
  Simple Style Example mov_vvisit_counter by M.Majunke
*/

div.mvc_main { 
border: 1px solid #D4D5AA; 
text-align: center; 
width: 95%;
}

div.mvc_pre{    
background: #ffc;	
font-size: 100%;	
font-weight: bold;
margin:  2px;	
padding: 2px;
}

div.mvc_post{    
background: #ffc;	
font-size: 100%;	
font-weight: bold;	
margin:  2px;	
padding: 2px;
}

div.mvc_ip{
}

span.vcounter_TypeTextIP{
}

img.mvc_digitIPImg{
}

div.mvc_digitCounter { 
margin:  2px; 
padding: 2px; 
text-align: center;
}

img.mvc_digitCounterImg {
}

span.vcounter_TypeText {
}

div.mvc_people{
}

table.mvc_peopleTable{
}

img.mvc_peopleImg{
}

div.mvc_stat { 
text-align: center; 
padding: 5px ;
}

img.mvc_statImg{
} 

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 Mappingtabelle wird im Counter aus einer CSV-Datei importiert. Die Datenbasis welche dem Counter beiliegt, wird dabei von http://ip-to-country.webhosting.info/ zur Verfügung gestellt - Bitte beachtet also deren Lizenz. Natürlich kann auch jede andere Datenbasis verwendet werden, wichtig ist dabei der Aufbau des CSV-Datenfiles.
 

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
der Wertetrenner ist Komma (,)
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

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. Symptom :

    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.. evt werde ich mir speziell für den 1.1. etwas einfallen lassen

     

 

Übersetzungen - Sprachfiles

Bereits im Counter integriert sind Sprachfiles für Deutsch und Englisch.

Wer Lust und Laune hat, kann helfen und mit weitere Übersetzungen erstellen.
 

Spende

Hier habt ihr die Möglichkeit eine kleine Spende abzugeben :).

Dank an..

T.Gutmann , M.Koenig
Dank an..
 
 
Attachments:
 mod_vvisit_counter_php4_patch_1_9_11.zip[Patch V1.9.11 PHP5 zu PHP4]13 Kb29.08.09 11:53
 mod_vvisit_counter_1_9_11.zip[V1.9.11_MMA]885 Kb29.08.09 11:53
 mod_vvisit_counter_php4_patch_1_9_10.zip[Patch V1.9.10 PHP5 zu PHP4]13 Kb15.08.09 14:53
 mod_vvisit_counter_1_9_10.zip[V1.9.10_MMA]885 Kb15.08.09 14:52
 mvcR_patch_DiagrammLib_getrgb[Patch Doppelte Methode GetRGB ( Problem von Bob )]6 Kb03.08.08 19:03
Zuletzt aktualisiert am Mittwoch, den 20. Januar 2010 um 11:27 Uhr
 
Kommentare (134)
RE: Fehlermeldung -> warnings
134 Sonntag, den 03. Januar 2010 um 18:41 Uhr
Michael Majunke
Hallo Ralf,

das könnte evtentuell mit der Verwendung der Cookies zusammen hängen. Wenn ein anderes Modul schon Header-Infos gesendet hat, kann das nicht noch einmal geschehen. Entweder mal die Modulreihenfolge ändern, oder einfach die Verwendung von Cookies im Counter abschalten.

Grüße Michael
Fehlermeldung -> warnings
133 Sonntag, den 03. Januar 2010 um 18:23 Uhr
Ralf
Hallo Michael,

erstmal vielen Dank für den Hinweis - habe ich in den FAQ's übersehen.

Habe bei meinem Provider nachgefragt - der sagte mir, dass PHP5 bereits verfügbar ist, alle skripte müssen aber die Endung php5 haben, damit der Parser das analysieren kann - alternativ sollte ich ein kleines script mit Namen .htaccess erstellen mit folgendem Inhalt:

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Habe ich gemacht - und siehe da, eine meiner homepages zeigt jetzt den Counter einwandfrei an!

Allerdings macht die zweite jetzt Problem indem sie ständig warnings anzeigt (irgendwas mit "header wurde bereits schon einmal gesendet und kann nicht überschrieben werden") oder so ähnlich. Ich habe den Counter jetzt dort wieder rausgenommen, weil die page scharf ist und mit den warnings nicht sehr hübsch aussieht.

Hast Du vielleicht noch einen Tipp?

Danke.

Gruss,

Ralf.
RE:Fehlermeldung
132 Samstag, den 02. Januar 2010 um 19:41 Uhr
Michael Majunke
Hallo Ralf,

schau mal in der FAQ nach Punkt 1 ;) ;)

Xampp nutzt per Defualt PHP 5, Dein Provider aber scheinbar noch PHP 4.

Du musst also den PHP 4 Patch einspielen oder noch besser Deine Homepage auf PHP5 umstellen (lassen).

Grüße Michael
Fehlermeldung
131 Samstag, den 02. Januar 2010 um 11:41 Uhr
Ralf
Hi,

habe mir gerade den Counter runter geladen - funktioniert lokal (unter xampp) einwandfrei - wenn ich allerdings die SQL-Datei auf meinen Provider-Server schiebe, bekomme ich für meine Homepage die folgende Fehlermeldung:

"Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homepages/18/d225562089/htdocs/joomla-t/modules/mod_vvisit_counter/helper.php on line 26
"

Irgendeine Idee, woran das liegen kann?

Danke.

Gruss,

Ralf.
RE: Jahreswechsel
130 Freitag, den 01. Januar 2010 um 12:56 Uhr
Michael Majunke
Hallo Carsten,

schau mal in der FAQ nach Punkt 7 ;)

Die Anzeige des Counters in der Webseite wird immer nur auf ein Jahr beschränkt sonst würde die Performance zu sehr in die Knie gehen. Die Daten selbst sind natürlich noch in der Datenbank vorhanden und sollten eigentlich über die Admin-Komponente auswertbar sein. Mit der Entwicklung komme ich aber leider aus Zeitgründen kaum bis nicht vorran.

Ich werde mir aber mal für den 1.1., wie in der FAQ angesprochen, eine Lösung einfallen lassen.

Grüße Michael
Jahreswechsel
129 Freitag, den 01. Januar 2010 um 11:36 Uhr
Carsten
Hallo,
der Counter hat beim Jahreswechsel alle Daten von Gestern und der aktuellen Woche vergessen! Wo werden die abgelegt?

Gruss Carsten
RE :Counter doesn't move
128 Freitag, den 09. Oktober 2009 um 17:48 Uhr
Michael Majunke
Hi Dr Mopp,

the counter count your own PC or count never ?
What you use for an MySQL-Version ? it seems to use an Version before 4.1 ?

Currently under development is the Counter-Component to handle all Backend-Features. But currently this Component do not works fine.
You can create an Counter-View-Modul to display only for Registered Users. The Main-Counter-Modul must show on all Users, but you can disable all 'views' so nothing is displayed. ( S o you have two Counter-Moduls on the same datatable, the View-Modul is in Read-Only-Mode ) . Ok ?

Greetings Michael
Counter doesn't move!
127 Donnerstag, den 08. Oktober 2009 um 22:23 Uhr
Dr Mopp
Installed fine, displays digit counter - doesn't change if I visit the site myself on another PC.
Tried setting locktime very low i.e. 1 min but no difference - any ideas? Also I want to know the count, but I don't want to display it on the site only in the back-end.
RE :Counter in den Footer
126 Freitag, den 02. Oktober 2009 um 12:17 Uhr
Michael Majunke
Hallo Th...,

die notwendigen Schritte habe ich in Kurzform (sehr kurz ;)) im Artikel Szenarien beschrieben.

Allgemein musst Du erstmal prüfen ob dein Template einen footer-Bereich hat. Wenn nicht, dann diesen einfügen ( jdoc:include ).
Wenn das gemacht ist, nimmst Du das aktuelle Countermodul und setzt das auf diese Position ( der Counter steht nicht auf Nur-Lesen und hat Tabelle vvist_counter). Danach kopierst Du nun das Modul. Dieses kopierte Modul kann nun auf eine andere Modulpostion gesetzt werden, z.B. left. !Wichtig! an diesem Kopierten Modul ist das "Nur-Lesen" einzuschalten und das die gleiche Tabelle eingestellt sein muss ( vvisit_counter ).

Wenn Du damit nicht weiter kommst, dann schreib mir Bitte über Kontakt. Dann kann ich Dir per EMail ein paar Screenshots schicken.

Gruß Michael
Counter in den Footer
125 Freitag, den 02. Oktober 2009 um 09:09 Uhr
Th3Us3r
Hallo,

ich würde gerne meinen Counter, wie hier auf der Seite so schön unten als Footer einbauen? Wie funktioniert das? Ich habe noch nie mit Joomla gearbeitet und bekomme den Counter nur in das doofe Menü. Ich bin dankbar für jede Hilfe.

LG
RE Update auf php5
124 Donnerstag, den 20. August 2009 um 16:43 Uhr
Michael Majunke
Hallo Heiko,

wie 'wird nicht angezeigt' ?

Hast Du das Modul aktiviert und auch einer Position zugewiesen ?

Wenn Du nicht weiter kommst, schreib mir über den Kontakt-Link. Dann machen wir den Rest per EMail.

Gruß Michael
Update auf php5
123 Donnerstag, den 20. August 2009 um 16:04 Uhr
Heiko
Hallo Michael,
genau die Anleitung hatte ich gesucht.
Habe auch keine Fehlermeldungen mehr.
Das einzig dumme ist, dass der Counter bei mir auf der
Seite nicht angezeigt wird.

Gruß
Heiko
Fehler 500
122 Dienstag, den 18. August 2009 um 20:57 Uhr
Frank Elsen
!!! Verschoben auf die com_vvisit_counter Seite !!!

http://www.mmajunke.de/jn/index.php/technik/entwicklunglk/comvvisitcounterdl.html
RE: Mea Culpa
121 Dienstag, den 18. August 2009 um 17:47 Uhr
Michael Majunke
Hi Heiko,

das ist doch ein Mega-Aufwand die Dateien umzubennenen !

Lege einfach eine .htaccess Datei in dein Root-Ordner und stelle global auf PHP5 um ( für PHP4 gibt es keinerlei Updates mehr, auch keine Secure-Fixes ) .

Schau auch mal hier :
http://hilfe-center.1und1.de/hosting/scripte_datenbanken/php/18.html
( Anm.: Dein Packet muss dazu .htacces Dateien unterstützen ! )

Gruß Michael
Mea culpa
120 Dienstag, den 18. August 2009 um 17:30 Uhr
Heiko
OK. Unterschied php und mysql.
Jetzt habe ich es auch gesehen.
Habe mir gedacht, nachdem ich bei 1&1 ein wenig
gesucht habe, dass es bestimmt leichter ist, php
zu aktualisieren, als ein Update einzuspielen.
Habe dann wie 1und1 es beschrieb, einfach die .php Dateien
aus dem counter verzeichnis in .php5. umbenannt.
Schon lief das ganze. (Zumindest war der Fehler weg. Mehr
habe ich bislang nicht getestet) ;-)

Vielen Dank für den super Support.
Heiko
Re:Nach Aktivierung folgender Fehler
119 Dienstag, den 18. August 2009 um 16:53 Uhr
Michael Majunke
Hallo Heiko,

ja, Du must auf PHP5 achten. Für die MySQL reicht auch eine 4.1.x , wobei die 5'er auch nicht schlecht ist ;)

Zur Info für mich: Hast Du auf PHP5 umgestellt oder den Patch eingespielt ?

Grüße Michael
Re:Nach Aktivierung folgender Fehler
118 Dienstag, den 18. August 2009 um 10:18 Uhr
Heiko
Hallo Michael,
danke für deine schnelle Antwort.
Hatte natürlich vorher geschaut, welche SQL-Version
ich habe. Bei mir in 1&1 steht:

Name:joomla Version:MySQL5.0 Stutus:Fertig.

Das verwirrt mich etwas ;-)
Grüße
Heiko
RE: Nach Aktivierung folgender Fehler
117 Montag, den 17. August 2009 um 16:30 Uhr
Michael Majunke
Hallo Heiko,

schau doch mal den ersten Punkt in der FAQ an ;)

Du hast PHP4 und musst den Patch einspielen !

Generell würde ich aber an Deiner stelle auf PHP5 umstellen, was bei 1und1 ziemlich einfach funktioniert.

Gruß Michael
Nach Aktivierung folgender Fehler
116 Montag, den 17. August 2009 um 14:30 Uhr
Heiko Hüttner
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homepages/.../htdocs/.../modules/mod_vvisit_counter/helper.php on line 26

Ich bin bei 1&1 und habe eine MySQL 5.0 Datenbank.
Ich habe den counter händisch installiert.

Grüß
Heiko
RE: kann nicht Installieren
115 Mittwoch, den 05. August 2009 um 15:54 Uhr
Michael Majunke
Hallo Urs,

die Joomla Version wird nicht das Problem sein. Bitte vergleiche mal die PHP Versionen ( Systeminfos in Joomla ) und die Datenbanken. Achte auch auf die memory_limit Einstellungen. Vielleicht hast Du auch Zugriff auf Server-Logfiles und schaust dort mal nach auffälligen Einträgen.

Wenn Du nichts findest, schreib nochmal über Kontakt - dann sehen wir weiter.

Gruß Michael

Kommentar hinzufügen

Ihr Name:
Titel:
Kommentar: