Joomla 5 Mitteilung

Wir freuen uns mitteilen zu können, dass seit dem 29. Januar 2024 alle unsere Joomla Erweiterungen mit Joomla 5 kompatible sind.

Für alle die gerade noch von Joomla 3 auf 4 aktualisieren: Anleitungen für die Joomla 4 Migration gibt es hier:

Es gibt nun auch eine eigenständige Dokumentation für Visforms für Joomla 4 und für Visforms auf Joomla 5

Forum

Visforms Subscription Inhaber können in unserem Forum Fragen stellen. Bitte mit dem entsprechenden Benutzer anmelden.
Jeder kann lesend auf das Forum zugreifen.

Bitte stellen Sie nur 1 Frage pro Thema.

Wichtig Angaben für fast jede Frage:
V1: Welche Visforms-Version läuft?
V2: Welche Joomla-Version läuft?
V3: Welche PHP-Version läuft?

EINE (gleiche) Blacklist/Whitelist für alle Formulare möglich?

Mehr
1 Jahr 7 Monate her #9110 von MaliRaj
Nutze viele Formulare mit aktiviertem SpamBotPlugIn. Immer häufiger melden sich Nutzer (gmx, web.de und andere große Freemailer), deren Mail-Adressen geblockt werden. Diese muss ich dann in jedem einzelnen Formular als Ausnahme der Whitelist hinzufügen. Das ist (relativ) aufwendig und fehlerbehaftet. Eine "globale" (äußere) Whitelist/Blacklist direkt im Plugin, die für sämtliche Formulare gilt, wäre da eine Hilfe, weil es nur an einer Stelle zu administrieren wäre. Ist das angedacht/möglich?

Freundliche Grüße aus PM
Heinz
(Joomla 5.1.2 / Visforms+Subscription 5.12 / PHP 8.2)

Mehr
1 Jahr 7 Monate her #9118 von Administrator IV
Hallo Heinz,

ich kann deiner Beschreibung und den Nachteilen gut folgen.

Es gibt auch noch das separate SpambotCheck Plugin mit einer eigenen Installation.
Das stand-alone Plugin ist zwar global, es reagiert aber nur auf Joomla-Login und Joomla-Registrierung.

Wir werden deinen Punkt aufnehmen und uns darum kümmern.
Die Umsetzung ist mit deutlichem Aufwand verbunden.
Möglich, dass es für die fertige Lösung etwas dauern wird.

Ich habe dazu einen Issue zur Entwicklung für die Wunschliste angelegt:
Issue [VF-772] Forum: SBC in VF: Add global Whitelist/Blacklist directly in the plugin: valid for all forms

Wenn wir das neue Feature releasen, wirst du explizit über das Release hier im Thema informiert.
Vielen Dank nochmal für deinen Vorschlag!

Liebe Grüße, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).
Folgende Benutzer bedankten sich: MaliRaj

Mehr
6 Monate 1 Woche her - 6 Monate 1 Woche her #10414 von MaliRaj
Um hier meinem Ziel etwas näher zu kommen und weil ich sowieso eine zusätzliche Datenbank benutze, könnte ich dort die White- & Blacklist ablegen. An welcher Stelle im Formular, genauer gefragt, welches Event kann ich denn für die Einbindung der beiden Listen in das $form-Objekt benutzen?
Code:
VisformsBeforeFormSave
oder schon vorher? Auf alle Fälle muss das auch beim Editieren eingebunden werden, also scheinbar immer beim Speichern, oder?
Nachtrag:
Vielleicht ist Folgendes sogar  einfacher umzusetzen: die SPAM-BOT-PRÜFUNG in der Formularkonfiguration (temporär in $form) grundsätzlich zu deaktivieren, wenn der User eingeloggt ist. Denn dann ist die E-Mail-Adresse bereits auf "Echtheit" geprüft.
In welchem Event wäre das am besten aufgehoben?

Freundliche Grüße aus PM
Heinz
(Joomla 5.1.2 / Visforms+Subscription 5.12 / PHP 8.2)
Letzte Änderung: 6 Monate 1 Woche her von MaliRaj. Begründung: Nachtrag

Mehr
6 Monate 1 Woche her #10418 von Administrator IV
Hallo Heinz,

vielen herzlichen Dank für deine Initiative und Ideen!
Für die Beantwortung musste ich mir das erstmal alles genau anschauen.

Es ist aber tatsächlich möglich mit dem Event 'VisformsSpambotCheckEvent':
Für alle registrierten Nutzer unterbrichst du die Event-Propagation.
Dadurch verhinderst du das Anlaufen des Plugins 'Visforms Spambotcheck' und einhergehend die Spam-Überprüfung.
Den registrierten Nutzer zu erkennen, überlasse ich dir.

Wichtig ist, dass dein Custom Plugin in der Plugin-Reihenfolge vor dem Plugin 'Visforms Spambotcheck' steht.
Nur dann funktioniert der Mechanismus der Unterbrechung durch dein dein Custom Plugin.

Hier die Einstellung der Reihenfolge der Visforms-Plugins, die der Abarbeitung der Events bezüglich den geladenen Plugins entspricht :
vi-solutions.de/forum-uploads/visforms-p...rder_event-order.png

Wichtig ist, dass dein Custom Plugin die Event-Propagation abbricht.
Hier der Plugin-Code:
Code:
public function onVisformsSpambotCheck(VisformsSpambotCheckEvent $event) : void {     // stop event propagation     $event->stopPropagation(); }

Es reicht aus, einfach nur die Event-Propagation abzubrechen, um das Plugin 'Visforms Spambotcheck' nicht anlaufen zu lassen.
Das Setzen eines Ergebnisses, ist nicht notwendig:
Code:
$event->addResult(...);

Liebe Grüße, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).
Folgende Benutzer bedankten sich: MaliRaj

Mehr
6 Monate 1 Woche her - 6 Monate 1 Woche her #10419 von MaliRaj
Genial! Das funktioniert super - vielen Dank für die Info.
:-)
PS: Ist das 'return false' (in späteren Versionen) an dieser Stelle zwingend erforderlich, um die Verarbeitung fortzusetzen (bzw. 'return true' um abzubrechen)?

Freundliche Grüße aus PM
Heinz
(Joomla 5.1.2 / Visforms+Subscription 5.12 / PHP 8.2)
Letzte Änderung: 6 Monate 1 Woche her von MaliRaj.

Mehr
6 Monate 1 Woche her - 6 Monate 1 Woche her #10420 von Administrator IV
Hallo Heinz,

nach der Umstellung auf den neuen Event-Mechanismus von Joomla 5 ist der Typ der Handler 'void'.
Das bedeutet, die Funktion liefert keinen Rückgabewert.
Mögliche Rückgabewerte werden mit einer Funktion direkt auf dem Event-Objekt gesetzt '$event->addResult(...);'.

Das 'return true;' und 'return false;' sind 'deprecated' und werden nicht ausgewertet.
In der kommenden Version Visforms 5.1.0 werden diese auskommentierten Zeilen auch aus dem Kommentar in der Funktion entfernt sein.

Falls du bei aktiviertem Spambot-Plugin, einen User als Spammer behandelt haben möchtest, musst du folgendes schreiben:
Code:
public function onVisformsSpambotCheck(VisformsSpambotCheckEvent $event) : void {     // enforce as spammer     $event->addResult(true); }


Wenn von allen aufgerufenen Event-Handlern nur 1 mal 'true' zurück kommt, behandelt Visforms den User als Spammer und blockiert das Formular.
In der Regel reagiert allein das Spambot-Plugin aus das Event.

Liebe Grüße, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).
Letzte Änderung: 6 Monate 1 Woche her von Administrator IV.
Folgende Benutzer bedankten sich: MaliRaj

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum