Plugin Tutorial für Einsteiger - 1.3 Daten Speichern und Lesen

Hallo Welt - 1.3 Variablen

In diesem Tutorial beschreiben wir verschiedene Möglichkeiten Daten in einem Plugin zu speichern und wieder auszulesen. Zur Startseite des Tutorials


Allgemeiner Hinweis: Es empfiehlt sich, dieses Tutorial in einem Testforum auszuprobieren, um den laufenden Betrieb im Hauptforum nicht zu beinträchtigen. Erstellen Sie dazu einfach bei Bedarf ein neues Forum unter www.xobor.de
Hinweis




Plugin Hallo Welt - Daten Speichern und Lesen



Beschreibung


Bisher beschränkten wir uns beim "Hallo Welt" Plugin ausschließlich auf die Ausgabe einfacher Texte. Für die meisten Plugins benötigt man jedoch auch die Möglichkeit, Daten zu Speichern und später wieder anzuzeigen.
Das wird über die Daten-Variablen (data Vars) oder die globalen Variablen (global Vars) realisiert.

Für diese Beispiel legen wir eine je eine Variable beider Typen an und erläutern deren Funktion.


Allgemeines


Unterschied zwischen data Vars und global Vars
Beide Variablentypen können verwendet werden um beliebige Arten von Daten zu speichern und später wieder auszugeben. Allerdings ist eine Daten-Variable immer einem bestimmten Inhalt des Forums zugeordnet. So kann man z.B. Daten speichern, die immer einem bestimmten Beitrag oder Benutzerprofil zugeordnet werden. Die Werte dieser Variablen stehen immer dann zur Verfügung, wenn das betroffene Element (also z.B. der Beitrag, zu dem die Variable gehört) gerade angezeigt wird.

Globale Variablen dagegen gelten für das gesamte Plugin und stehen auf jeder Seite des Forums zur Verfügung. Sie können z.B. verwendet werden, um Benutzereinstellungen zu einem Plugin zu speichern.

Wir das Forumlar für die "Neue Globale Variable" oder das Formular für eine "Neue Data Variable" geöffnet, haben beide Type zunächst die gleichen Grundeinstellungen:

Name: Der Name der neuen Variable
Parsing: Welche Art von Code ist erlaubt? BBCode? HTML?
Type: Welche Werte können gespeichert werden?
Rechteeinstellungen: Diverse Rechteeinstellungen, wer die Variable wann genau beschreiben/erstellen oder ändern darf.


Für Variablen gilt natürlich der gleiche Grundsatz wie im Forum auch:
Man sollte NIE den Mitgliedern ermöglichen, HTML abzuspeichern welches dann später im Forum ausgegeben wird. HTML sollte daher nur in Ausnahmefällen und nur für auschließlich vom Admin nutzbare Variablen erlaubt werden.
Hinweis

Hinweis: Neben einigen Standardwerten (Alle, Administratoren/Moderatoren etc.) kann auch eine Konfigurationsvariable vom Typ "grouprights" für die Rechtevergabe verwendet werden.
Das wird im nächsten Abschnitt des Tutorials genauer beschrieben: Grouprights Variablen
Hinweis



Bei den Data-Variablen gibt es zusätzlich noch zwei weitere Felder:

origin type: Hier wird festgelegt, welchem Element im Forum die Datenvariable zugeordnet ist. Soll ein Plugin z.B. Daten zu einem Beitrag speichern, wird hier der Typ "forum_post" ausgewählt.
userseparated: Diese Funktion befindet sich noch in der Betaphase. Wenn userseparated aktiviert wird, wird für jedes Mitglied eine eigene Datenvariable angelegt. Um beim Beispiel des "forum_posts" zu bleiben: Man könnte somit z.B. ein Plugin realisieren, bei dem jedes Mitglied seine eigenen Kommentare zu Beiträgen hinzufügen kann, die dann später auch nur von diesem Mitglied gelesen werden können.



Hallo Welt Beispiel - Globale Variable


Für dieses Tutorial wollen wir eine Variable anlegen die ausgibt wann zuletzt ein Administrator online war.


Plugin-Entwicklung --> Hallo Welt --> Neue globale Variable:

Feldname Wert
Name adminonline
Hidden-Var Nein (die Variable soll immer zur Verfügung stehen)
Parsing Plain Text (BBCode und HTML wird hier nicht benötigt)
Type Chars (es soll ja nur ein Datum gespeichert werden)
Lesen Alle (jeder darf den Wert lesen)
Schreiben Administrator (nur Admins dürfen den Wert ändern)


Globale Variable Beschreiben

Jedesmal, wenn ein Administrator die Seite lädt, wollen wir die die aktuelle Uhrzeit in der globalen Variablen speichern.
Dazu nutzen wir die Javascript-Methode setGlob



für die Speicherung ersetzen wir den Code des Plugin-Templates "Test oben" mit folgedem Code:

1
2
3
4
5
6
7
8
9
10
 

{{user_admin==true.start}}
<script>
var newval = Date.now(); //erzeugt einen aktuellen Timestamp
xobor.plugin("hallowelt").setGlob("adminonline",newval,function(res){
/*Wert gespeichert, keine Ausgabe nötig*/
});
</script>
{{user_admin==true.end}}
 
 



Jetzt wird jedesmal, wenn ein Admin die Seite aufruft. der aktuelle Timestamp in der Variable adminonline gespeichert. Für nicht-Admins können wir das dann auslesen und anzeigen.
Das geschieht mit der getGlob Methode des Pluginsystems.

Globale Variable Lesen und Anzeigen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 

{{user_admin==false.start}}
 
<div id="admininfo"><!--hier wird später der Wert der Variablen ausgegeben--></div>
 
<script>
 
lastonline = xobor.plugin('hallowelt').getGlob('adminonline');
 
if(lastonline){
timeFormat.displayFormat = 'd.m.Y H:i'; // gewünschtes format des datums
lastonline = timeFormat.format(lastonline); //hier erzuegen wir ein schön formatioertes Datum aus unserem Timestamp - details siehe spoiler unten..
console.log("last:" + lastonline);
$('#admininfo').html("Admin zuletzt online: " + lastonline); //hier wird der Wert in die Div mit der ID admininfo geschrieben
}else{/*Kein Admin war online, nichts ausgeben*/ console.log("nores");}
 

{{user_admin==false.end}}
 
 




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 

{{user_admin==true.start}}
<script>
var newval = Date.now(); //erzeugt einen aktuellen Timestamp
xobor.plugin("hallowelt").setGlob("adminonline",newval,function(res){
/*Wert gespeichert, keine Ausgabe nötig*/
});
</script>
{{user_admin==true.end}}
 
{{user_admin==false.start}}
<div id="admininfo"></div>
 
<script>
 

/**
* man muss ja nicht jedesmal das Rad neu erfinden: Diese Funktion wurde über Google gefunden und formatiert unser Datum im gewünschten Format:
* Return a timestamp with the format "d/m/yy h:MM:ss TT"
* @type {Date}
*/

var timeFormat = {
/**
* Output format.
*
* d - current day
* m - current month
* Y - current Year
*
* H - current hour (24 hour system)
* i - current minute
* s - current second
*/
displayFormat: 'd.m.Y - H:i:s',

/**
* Format given unix-timestamp
*/
format: function(timestamp) {
var d = new Date(timestamp);
var output = this.displayFormat;

output = output.replace(/d/g, this.padZero(d.getDate()))
.replace(/m/g, this.padZero(d.getMonth()+1))
.replace(/Y/g, d.getFullYear())
.replace(/H/g, this.padZero(d.getHours()))
.replace(/i/g, this.padZero(d.getMinutes()))
.replace(/s/g, this.padZero(d.getSeconds()));

return output;

},

/**
* add zero paddings to numbers smaller than 10
*/
padZero: function(number) {
if (number < 10) {
return "0" + number.toString();
}

return number;
}
};
 

lastonline = xobor.plugin('hallowelt').getGlob('adminonline');
 
if(lastonline){
timeFormat.displayFormat = 'd.m.Y H:i'; // gewünschtes format des datums
lastonline = timeFormat.format(lastonline); //hier erzuegen wir ein schön formatioertes Datum aus unserem Timestamp..
console.log("last:" + lastonline);
$('#admininfo').html("Admin zuletzt online: " + lastonline); //hier wird der Wert in die Div mit der ID admininfo geschrieben
}else{/*Kein Admin war online, nichts ausgeben*/ console.log("nores");}

</script>
{{user_admin==false.end}}
 
 





screenshot
Abbildung 1: Anzeige der Online-Zeit unter dem Forum


Hallo Welt Beispiel - Daten Variable


Für dieses Beispiel möchten wir eine variable anlegen, in der gespeichert wird, wann ein Mitglied das letzte Mal sein eigenes Profil aufgerufen hat.
Dabei musss für jedes Mitgllied eine eigene Varaiballe gespeichert werden. Gelöst wird das über eine Datenvariable.


Plugin-Entwicklung --> Hallo Welt --> Neue Data Variable:

Feldname Wert
Name profileonline
Parsing Plain Text (BBCode und HTML wird hier nicht benötigt)
origin_type user_profile (hier legen wiir fest, dass die Variable einem Benutzerprofil zugeordnet wird.)
Type Chars (theoretisch reicht auch ein Int - es soll ja nur ein Timestamp gespeichert werden)
Lesen (alle Leserechte) Alle (jeder darf den Wert lesen)
Schreiben docreate_plugindefault,dochangeall_plugindefault : Administrator (nur der Admin darf immer alles ändern)docreatemyorigin_plugindefault,dochangemyorigin_plugindefault: Alle (Alle dürfen den Wert der Ihnen zugeordneten Variablen ändern)


Daten Variable Beschreiben

Jedesmal, wenn ein Mitglied sein Profil besucht, soll der aktuelle Timestamp gespeichert werden.
Dazu nutzen wir die Javascript-Methode setDataVar



Damit das klappt, müssen wir ein neue Plugin-Template anlegen, welches immer dann geladen wird, wenn ein Benutzerprofil aufgerufen wird.
Das bisher verwendete Element "Test Oben" wird nicht mehr benötigt und kann vorerst gelöscht werden.

Neues Element erstellen -> Plugin Element
Feldname Wert
Template Mitgliederprofil
Footer | Inline Header
Template Name frei wählbar, wir nennen das Element hier Profil Test


In dem neu erstellten Element könnnen wir nun den Code für die Speicherung der Data-Variablen einfügen:
Im Profil gibt es die Variablen
{{userid}} --> Id des Mitglieds, dessen Profil aufgerufen wird
{{user_id}} --> Id des Mitglieds, welches das Profil aufruft

Ist der Wert beider Variablen identisch, wissen wir, dass ein Mitglied gerade sein eigenes Profil aufruft.
In diesem Fall wollen wir den aktuellen Timestamp in der des Nutzerprofils Data-Variablen abspeichern:

1
2
3
4
5
6
7
8
9
10
11
12
 
{{userid=={user_id}.start}}
<script>
var newval = Date.now(); //erzeugt einen aktuellen Timestamp
var origin_type = 3 //siehe https://www.xobor.de/plugin-doc-api.html#Tipps_und_Tricks_Sonstiges_Target_Types
var user_id = {{userid}}; //id des Mitglieds, dem die Variable zugeordnet wird
 
//setdataVar-Aufruf:
xobor.plugin("hallowelt").setDataVar("profileonline",origin_type,user_id,newval,function(res){
/*Wert gespeichert, keine Ausgabe notwendig*/
});
</script>
{{userid=={user_id}.end}}
 



Ruft nun ein Mitglied sein eigenes Profil auf, wird die aktuelle Zeit in der Data-Variablen gespeichert.


Globale Variable Lesen und Anzeigen

Ruft jemand das Profil eines Mitglieds auf möchten wir anzeigen, wann dieses Mitglied zuletzt sein Profil gesehen hat.
Die Abfrage der Variablen geschieht mit der Methode getDataVar()




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 

 
<div id="visitinfo"><!--hier wird später der Wert der Variablen ausgegeben--></div>
 
<script>
//setdataVar-Aufruf:
xobor.plugin("hallowelt").getDataVar("profileonline",3,{{userid}},function(res){
timeFormat.displayFormat = 'd.m.Y H:i'; // gewünschtes format des datums
lastonline = timeFormat.format(res); //hier erzuegen wir ein schön formatiertes Datum aus unserem Timestamp - details siehe spoiler unten..
$('#visitinfo').html('Letzter Profilaufruf dieses Mitglieds: '+lastonline);
});
</script>
 

 
<script>
 
 




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
 

{{userid=={user_id}.start}}
<script>
var newval = Date.now(); //erzeugt einen aktuellen Timestamp
var origin_type = 3 //siehe https://www.xobor.de/plugin-doc-api.html#Tipps_und_Tricks_Sonstiges_Target_Types
var user_id = {{userid}}; //id des Mitglieds, dem die Variable zugeordnet wird
 
//setdataVar-Aufruf:
xobor.plugin("hallowelt").setDataVar("profileonline",origin_type,user_id,newval,function(res){
/*Wert gespeichert, keine Ausgabe notwendig*/
});
</script>
{{userid=={user_id}.end}}
 

 

<div id="visitinfo"><!--hier wird später der Wert der Variablen ausgegeben--></div>
 
<script>

/**
* man muss ja nicht jedesmal das Rad neu erfinden: Diese Funktion wurde über Google gefunden und formatiert unser Datum im gewünschten Format:
* Return a timestamp with the format "d/m/yy h:MM:ss TT"
* @type {Date}
*/

var timeFormat = {
/**
* Output format.
*
* d - current day
* m - current month
* Y - current Year
*
* H - current hour (24 hour system)
* i - current minute
* s - current second
*/
displayFormat: 'd.m.Y - H:i:s',

/**
* Format given unix-timestamp
*/
format: function(timestamp) {
var d = new Date(timestamp);
var output = this.displayFormat;

output = output.replace(/d/g, this.padZero(d.getDate()))
.replace(/m/g, this.padZero(d.getMonth()+1))
.replace(/Y/g, d.getFullYear())
.replace(/H/g, this.padZero(d.getHours()))
.replace(/i/g, this.padZero(d.getMinutes()))
.replace(/s/g, this.padZero(d.getSeconds()));

return output;

},

/**
* add zero paddings to numbers smaller than 10
*/
padZero: function(number) {
if (number < 10) {
return "0" + number.toString();
}

return number;
}
};
 


//getdataVar-Aufruf:
xobor.plugin("hallowelt").getDataVar("profileonline",3,{{userid}},function(res){
if(res){
timeFormat.displayFormat = 'd.m.Y H:i'; // gewünschtes format des datums
lastonline = timeFormat.format(res); //hier erzuegen wir ein schön formatiertes Datum aus unserem Timestamp - details siehe spoiler unten..
$('#visitinfo').html('Letzter Profilaufruf dieses Mitglieds: '+lastonline);
}else{$('#visitinfo').html('Dieses Mitglied hat sein Profil noch nicht aufgerufen');}
});
</script>
 

 





screenshot
Abbildung 2: Anzeige der Online-Zeit über dem Profil



Du willst es noch genauer wissen?
Weiter geht's im zweiten Teil des Tutorials: Gruppenrechte
Hinweis


Login
Activity Feed
rating rating
Yvy, Gabriella und Ingmar haben sich bedankt!
Beitrag: Wiki
%usernames% haben sich bedankt!
forum_message forum_message
Yvy und Mike48 haben 2 neue Beiträge im Thema Wiki geschrieben.
Vielen Dank :)
forum_topic forum_topic
Yvy hat das Thema Wiki erstellt
Hallo Sicher bin ich nicht die Erste, die mit dem Wiki Probleme hat. Aber ich hätte gern das Inhaltsverzeichnis auf der 1. Seite und nicht die Startseite Liebe Grüße Yvy
forum_message forum_message
l2otbart_57 hat einen neuen Beitrag im Thema Xobor Shoutbox geschrieben.
weiß nicht genau, ob dieser Fehler [[File:xshout_3.png|none|auto]]forumbundle.js?rev=57735:1 Uncaught TypeError: Cannot use 'in' operator to search for 'length' in [] at C (forumbundle.js?rev=57735:1:3527)dafür sorgt, dass keine Shouts angezeigt werden, oder die Box wieder geleert werden möchte?...
forum_message forum_message
Ingmar und CuSF haben 4 neue Beiträge im Thema YouTube Videos werden plötzlich nicht mehr angezeigt geschrieben.
Danke für den Screenshot der JS-Console. Ich denke damit kann ich arbeiten...
rating rating
spotter46 hat sich bedankt!
Beitrag: Springt nicht zum letzten Beitrag der Seite
%usernames% hat sich bedankt!
forum_message forum_message
Ingmar und spotter46 haben 2 neue Beiträge im Thema Springt nicht zum letzten Beitrag der Seite geschrieben.
Ja wie ich vermutet hatte tritt der Fehler immer dann auf, wenn in mehr als einem Beitrag Bilder eingebunden sind, die in einer Lightbox angezeigt werden können. Ist ~intern behoben~ Änderungen werden immer erst mit dem nächsten Update übernommen. Der Zeitpunkt und Umfang des Updates werden unter A...
forum_message forum_message
Ingmar und CuSF haben 2 neue Beiträge im Thema YouTube Videos werden plötzlich nicht mehr angezeigt geschrieben.
Das kann ich nicht reproduzieren.So sieht das bei mir im Chrome aus:[[File:img_1742917761.png|none|fullsize]]Wenn ich dann bestätige wird das Video geladen:[[File:img_1742917798.png|none|fullsize]]
forum_message forum_message
l2otbart_57, Ingmar und spotter46 haben 9 neue Beiträge im Thema Springt nicht zum letzten Beitrag der Seite geschrieben.
Zitat von Ingmar im Beitrag #2Das dürfte damit zusammenhängen: hier taucht der Lightbox Fehler auch auf, ist also nicht nur im Support Forum so
rating rating
spotter46 hat sich bedankt!
Beitrag: Springt nicht zum letzten Beitrag der Seite
%usernames% hat sich bedankt!
forum_message forum_message
l2otbart_57 hat einen neuen Beitrag im Thema Frage zur Rahmen und Textboxen geschrieben.
kennst du den [style=]-Code?ich denke es, ist zu kompliziert, so viele Parameter zu verwenden ...12345 [style=border: 5px outset; padding:20px 30px; border-radius:10px; display:inline-block;]kennst du den [[b]style=[/b]]-Code?[/style][style=border: 2px dotted blue; margin:1em; padding:5px 15px; bor...
forum_topic forum_topic
DevilintheUnknown hat das Thema Frage zur Rahmen und Textboxen erstellt
Hallo ihr Lieben!Ich würde in meinem Forum gerne Rahmen und Textboxen anbieten, welche die Nutzer selbst mitgestalten können.Also Größe anpassen & Farbe und Dicke der Rahmenlinien, abgerundete Ecken.Ich habe als Eingabe für die Nutzer beispielsweise dies hier: [frame-solid{{width}};{{height}};{{bord...
rating rating
Bussinchen hat sich bedankt!
Beitrag: Wo ist denn die Domain .info abgeblieben?
%usernames% hat sich bedankt!
forum_message forum_message
Johannes hat einen neuen Beitrag im Thema Wo ist denn die Domain .info abgeblieben? geschrieben.
Wir können nicht jede Domain Endung anbieten und tun dies bei teuren Endungen auch nicht.info Domains sind in den vergangenen Jahren um ca. 400% teurer geworden, wohingegen .de Domains preislich stanbil geblieben sind. Das bedeutet wir zahlen im Einkauf bereits über 36€ nur für die info Domain im Ja...
forum_topic forum_topic
Bussinchen hat das Thema Wo ist denn die Domain .info abgeblieben? erstellt
Zitat von Johannes im Beitrag #31Im Profi Tarif sind com/net/org/info/eu Domains regulär enthalten. Wir wissen, dass wir mit unseren Tarifen nicht jeden überzeugen können. Das ist schade, denn unsere Firma lebt von den Tarifen und nicht von der Werbung Ich wollte gerade für ein neu erstelltes Forum ...
rating rating
spotter46 hat sich bedankt!
Beitrag: Intere Smileys werden temporär nicht angezeigt.
%usernames% hat sich bedankt!
forum_message forum_message
Ingmar hat einen neuen Beitrag im Thema Intere Smileys werden temporär nicht angezeigt. geschrieben.
Zitat von Lina F. im Beitrag #13Wie kann ich das ändern?Da du ja keinerlei Details nennst wird es schwer sein dir zu helfen.Hast du denn den Rest dieses Themas gelesen? Der Themenersteller hatte seine Smilies von einem externen Anbieter eingebunden, der wohl nicht sehr zuverlässig funktioniert hat.
forum_message forum_message
Lina F. hat einen neuen Beitrag im Thema Intere Smileys werden temporär nicht angezeigt. geschrieben.
Ich hänge mich mit einer Frage daran:Bei mir werden die Smileys nur bei Nutzung bestimmter Browser korrekt oder überhaupt angezeigt. Das ist erst seit kurzen so.Wie kann ich das ändern?https://www.irgend-wie-anders.de/
forum_message forum_message
Olaf hat einen neuen Beitrag im Thema Fehler bei Geburtstagsanzeige geschrieben.
Komisch,daß das bei mir nicht angezeigt wird?Ist aber richtig,denn den Kommentar habe ich außerhalb von der Javascript Variable eingefügt.Ich habe Dir ein "Privates Plugin" mit der Korrektur gesendet (Version 0.151).GrußOlaf
forum_topic forum_topic
seelenwind hat das Thema Fehler bei Geburtstagsanzeige erstellt
Oberhalb im Forum bei der Geburtstagsanzeige sind unliebsame Zeichen zu sehen, die da so nicht hingehören .... Kann mir da jemand helfen .... Bitte Danke schon mal fürs helfen ....[[File:Unbenannt123.jpg|none|auto]]
rating rating
%usernames% hat sich bedankt!
rating rating
Benjaminbe hat sich bedankt!
Blog-Artikel: 7 Tipps für deine Fanseite auf Facebook
%usernames% hat sich bedankt!
rating rating
Olaf hat sich bedankt!
Beitrag: Fehler beim Gästebuch
%usernames% hat sich bedankt!
forum_message forum_message
Dead Inside und 3 weitere haben 10 neue Beiträge im Thema Fehler beim Gästebuch geschrieben.
OMG das hab ich gar nicht gesehen. VIELEN VIELEN VIELEN DANK! 🥰🥰🥰🥰 @Olaf Hast mir den Tag gerettet
forum_message forum_message
River und 2 weitere haben 3 neue Beiträge im Thema Verlinkung zu Kalendereintrag unerklärlich geschrieben.
Zitat von Ingmar im Beitrag #10Das ist aber in allen anderen Templates auch so - oder sehe ich da was falsch?Dazu weiß ich auch mal was, und zwar im V4 ist es auch so und ich meine, das ist schon länger bekannt - gibt sicher noch andere Threads hierzu. Viele GrüßeRiver
rating rating
River hat sich bedankt!
Beitrag: Verlinkung zu Kalendereintrag unerklärlich
%usernames% hat sich bedankt!
rating rating
Mike48 und 2 weitere haben sich bedankt!
Beitrag: Fehler beim Gästebuch
%usernames% haben sich bedankt!
forum_message forum_message
Ingmar und 1 weitere haben 2 neue Beiträge im Thema Fehler beim Gästebuch geschrieben.
Zitat von Dead Inside im Beitrag #27Das Problem wurde behoben aber dadurch ist ein anderer Fehler aufgetauchtWelcher Fehler existiert denn aktuell noch? Ich komme hier langsam nicht mehr mit um ehrlich zu sein.
rsummary rsummary
Benjaminbe und 1 weitere haben 2 Beiträge und 1 Blog-Artikel bewertet (Details)
%usernames% hat sich bedankt!
rsummary rsummary
River und 3 weitere haben 2 Beiträge bewertet (Details)
%usernames% haben sich bedankt!
Wer ist Online?
1 Mitglied und 40 Gäste sind Online
Besucher Statistiken
41 Aktive User
1 Mitglied und 40 Gäste sind Online:
nobody

Heute waren Online
erich.z, Gabriella, Johannes, nobody

Besucherrekord
1274 Benutzer gleichzeitig online (11.10.2019 18:19)

Besucherzähler
Heute waren 493 Gäste und 4 Mitglieder, gestern 3480 Gäste und 29 Mitglieder online.

Statistiken
Themen 41850
Beiträge 306546
Mitglieder 12.533
Forum empfehlen