Seite 3 von 5

Re: [3.3] Eigenen Counter erstellen und einbinden.

Verfasst: 21.11.2021 19:49
von Kirk
@MDuss
Bitte verwende für deine Codes auch den richtigen BBCode [code][/code], Danke!

Re: [3.3] Eigenen Counter erstellen und einbinden.

Verfasst: 21.11.2021 20:14
von IMC
PHP Code im Template geht nicht.
Dieser muss in den Core-Dateien eingefügt werden. Dies sollte man aber nur tun wenn man sich auskennt.

Es gibt nur eine vernünftige Lösung. Es muss, wie von Chris1278 schon vorgeschlagen, mit einer Extention realisiert werden.
Vielleicht mache ich das mal in den nächsten Wochen wenn ich die Liste von meiner Frau abgearbeitet habe.

Alternative bindest du etwas externes ein. Suche mal nach "kostenlosen Webcounter". Dort bezahlst du dann mit deinen Daten.

Re: [3.3] Eigenen Counter erstellen und einbinden.

Verfasst: 21.11.2021 20:16
von Scanialady
Dmzx hat mal versucht, einen Counter zu erstellen. Nach den ersten Versuchen habe ich das nicht weiterverfolgt. Dieser löscht zwar nach 24 Stunden seine Zählung - aber möglicherweise kann man genau das ja entfernen. Oder man kommt bei Betrachtung des Codes auf Ideen.

Re: [3.3] Eigenen Counter erstellen und einbinden.

Verfasst: 21.11.2021 20:28
von chris1278
@scanialady
Also wenn das sowas ist wie er will denke ich das dies möglich ist. Habe mir die ext angesehen. Denke wenn man verhindert das eine bestimmte php Datei geladen wird bleibt der Zähler erhalten.

@edit
Hab das jetzt mal getestet. Hab den counter mal auf local bei mir erstellt und den auf 3 besucher gesetzt und die zeit auf 1 std. gesetzt. Den Rpune und den cron habe ich aus der extension rausgenommen. Mal schauen was passiert. Normalerweise wenn ich die seite nach über einer stunde aufrufe sollte der wert derselbe bleiben. Da die cron nicht mehr geladen wird.

@edit2
Also kann berichten das man mit Herausnahme der einen Datei und dessen Funktion die zeit Begrenzung aushebeln kann. Sprich mit einfachem umbau kann man dies ohne Zeit Begrenzung nutzen.

@MDuss
Schau dir die Ext mal an das könnte für dich gut als Vorlage dienen. Ich denke wenn du ja schon selber php script mit sql schreiben kannst sollte das für dich als Vorlage reichen um dir das umzusetzen mit deinem Code.

Re: [3.3] Eigenen Counter erstellen und einbinden.

Verfasst: 21.11.2021 22:35
von chris1278
Also wenn du das mal testen willst dann kannst du das wie folgt machen:

1. Lade dir die Extension runter die scanialady verlinkt hat. entpacke diese.

2. Schaue das die ordnerstrucktur wie folgt ausschaut:
../ext/dmx/counter/composer.json (und alle anderen Dateien bzw. Ordner
Hier noch als bild mal dargestellt:
https://prnt.sc/20eow97

3. Lösche das Verzeichnis Cron.

4. du musst eine Datei bearbeiten.

öffne:

../ext/dmx/counter/config/service.yml

finde und lösche folgendes:
dmzx.counter.cron.task.core.counter:
class: 'dmzx\counter\cron\prune_counter'
arguments:
- '@config'
- '@dbal.conn'
- '%dmzx.counter.table.counter%'
calls:
- ['set_name', ['cron.task.core.counter']]
tags:
- { name: 'cron.task' }
oder ersetze den ganzen inhalt der datei mit folgendem:

Code: Alles auswählen

imports:
    - { resource: 'tables.yml' }

services:
    dmzx.counter.admin.controller:
        class: 'dmzx\counter\controller\admin_controller'
        arguments:
            - '@config'
            - '@template'
            - '@log'
            - '@user'
            - '@request'
   
    dmzx.counter.listener:
        class: 'dmzx\counter\event\listener'
        arguments:
            - '@config'
            - '@template'
            - '@user'
            - '@dbal.conn'
            - '%dmzx.counter.table.counter%'
        tags:
            - { name: 'event.listener' }
Damit wird verhindert das der crontask den counter auf nul setzt. Die zeit Einstellung kann zwar weiterhin im acp eingestellt werden aber bleibt ohne wirkung. Das heist es ist dann egal ob auf 1 stunde oder 24 stunden eingestellt wird.

Danach die Exetnsion einfach ganz normal hochladen und aktivieren.

Es es erscheit in der Statistik dann:

https://prnt.sc/20epq7a

Wenn das dem entspricht was du willst kann dir gern geholfen werden das an den style anzupassen. Aber dafür müsste man auch wissen ob es dann auch das ist was du vorhast umzusetzen.

Re: [3.3] Eigenen Counter erstellen und einbinden.

Verfasst: 22.11.2021 22:33
von IMC
Der Cron Job sollte auf keinen Fall gelöscht werden. Die Tabelle phpbb_visits_counter würde sonst sonst ständig erweitert werden und die Datenbank unnötig aufblähen.

Die Extension arbeitet folgendermaßen.
- kommt ein neuer Besucher wird er in die Tabelle eingetragen (ip & Zeitstempel)
- besucht er das Forum innerhalb von 24Std. wird der Zeitstempel aktualisiert
- War er nicht innerhalb der letzten 24Std. im Forum wird er aus der Tabelle gelöscht

Die Extension gibt die Anzahl der eingetragenen Besucher der Tabelle aus.

$this->config->increment('visits_counter', 1, true); wird bei jeden neuen Eintrag in die Tabelle hochgezählt und nicht zurückgesetzt. Wenn man diesen in die Ausgabe bringt hat man den gesuchten Besucherzähler. Mich stört dabei noch dass auch Crawler mit gezählt werden.

Re: [3.3] Eigenen Counter erstellen und einbinden.

Verfasst: 22.11.2021 23:07
von chris1278
Ja das ist richtig. Aber ich denke er möchte eben einen zähler haben der immer weiter zählt. Also ohne zeitlimit. Im grunde ein zähler der die gesamten besucher auflistet die das forum eben aufgerufen haben egal ob einmal am tag oder mehrmals. im grunde könnte man sagen den aufurf des forums allgemein. Wenn das so ist dann ist diese anleitumg genau so richtig.

Re: [3.3] Eigenen Counter erstellen und einbinden.

Verfasst: 22.11.2021 23:59
von IMC
Ja, das weiß nur der Themenstarten was und ob er möglichst viel gezählt haben möchte.

Mir reicht die Statistik von meinen Hoster. Die zeigt im Schnitt 500 Sessions am Tag an. Ich habe das einmal geloggt und gefiltert da ich wissen wollte wie viele nicht deutschsprachige Aufrufe ich habe. Da blieben ca. 50 über die wahrscheinlich von echten Personen kommen.

Die chinesischen Suchmaschinen habe ich schon vor längerer Zeit über die IP ausgesperrt. Danach waren die Besucherrekorde mit 400 gleichzeitigen Besuchern Geschichte.

Diese Zähler haben heutzutage Null Aussagekraft.

Re: [3.3] Eigenen Counter erstellen und einbinden.

Verfasst: 23.11.2021 00:16
von chris1278
Ja das ist ja auch korrekt. Aber es geht ja drum was er sucht. Und wenn das so ist wie ich das verstanden habe ist dies eben ne brauchbare Lösung. Was er oder andere eben draus machen bleibt ja jedem selber überlassen. Mir persönlich reichen die Statistiken im Forum und die wer war da Extension vollkommen aus.

Re: [3.3] Eigenen Counter erstellen und einbinden.

Verfasst: 23.11.2021 19:40
von MDuss
HI.

Was ich suche ist ein Zähler, der einfach zählt, wie oft das Forum besucht wird. Wenn ich das recht verstanden habe, dann könnte man diesen Zeit Intervall ja sogar als reloadsperre verwenden, so das ein Besucher nur einmal innerhalb eines Zeit Intervalls gezählt wird.

Auf jeden Fall wäre es an für sich schon mal ein guter Start.

Was die crawler angeht, die könnte man ja schon in der .htaccess aussperren.
Dann können diese schon nicht mehr im Forum auftauchen. Das Forum liegt bei mir in einem Unterverzeichnis auf dem Webspace.

Und wenn diese schon bei betreten der Seite um Hauptverzeichnis ausgesperrt werden, dann können diese nicht mehr zum Forum und können auch nicht mehr gezählt werden.

Ich schaue mir diesen Zähler am Wochenende an und werde dann die Änderungen von chris1278 testen.

Vorher kann ich das aus Zeitmangel nicht testen.

Vielen Dank auf jeden Fall schon mal für eure Hilfe.

MfG
MDuss