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.

Fehlermeldung bei "Daten bearbeiten"-Link in Datensicht mit Edit Link

Mehr
2 Jahre 3 Monate her - 2 Jahre 3 Monate her #7833 von fap
Hallo Visforms-Team,

nachdem ich ein funktionierendes J3 auf J4 geupgraded habe, gibt es folgendes Problem.

Ich habe einen Menüpunkt vom Typ "Datensicht mit Edit Link".

Wenn ich im Frontend auf den Button "Daten bearbeiten" klicke, erhalte ich die Fehlermeldung
Code:
Argument 'userId' of event onTableBeforeCheckout must be an integer

Joomla 4.0.6
PHP 8 (mit 7.4 funktioniert es aber auch nicht)
MariaDB 10.5.11

Wo könnte der Fehler liegen bzw. benötigt ihr noch weitere Informationen?

Vielen Dank und viele Grüße
Letzte Änderung: 2 Jahre 3 Monate her von fap.

Mehr
2 Jahre 3 Monate her #7835 von Administrator AV
Hallo fap,

der Fehler tritt nicht in Visforms auf, da Visforms selbst nicht auf das Event 'onTableBeforeCheckout' reagiert; das wäre dann irgendwo in einem anderen Plugin.
Allerdings kann es natürlich sein, dass Visforms im Aufruf zum Auschecken und Öffnen des Datensatzes - warum auch immer - keine UserID hat bzw. ermitteln kann.
Ich versuche gerade den Fehler inkl. Update zu reproduzieren ...

Es wäre sehr hilfreich, wenn ich den kompletten Aufrufstapel des Fehlers hätte.

Danke und Gruß, 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 :-).

Mehr
2 Jahre 3 Monate her #7839 von fap
Hallo Ingmar,

vielen Dank für deine schnelle Antwort!

Neben Visforms habe ich nur das Sourcerer-Plugin von RegularLabs und die freie Version von AkeebaBackup installiert.

Wie kann ich den kompletten Aufrufstapel ermitteln?

Viele Grüße
fap

Mehr
2 Jahre 3 Monate her #7841 von Administrator AV
1. Du stellst das Folgende ein:
Administrator --> System --> Konfiguration
Tab 'System' mit 'System debuggen' = Ja
Tab 'Server' mit 'Fehler berichten' = Maximum

2. Du reproduzierst den Fehler

3. Eine ganze Seite mit dem kompletten PHP-Aufrufstapel (der call stack) erscheint im Fehlerfall

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

Mehr
2 Jahre 3 Monate her #7846 von fap
Hallo Admin,

vielen Dank für die schnelle Antwort!

Ich habe das Debugging wie beschrieben durchgeführt und das Resultat hier hochgeladen: shareimg.eu/img/KBFS

Vielen Dank und viele Grüße

Mehr
2 Jahre 3 Monate her #7848 von Administrator AV
Hallo fap,

herzlichen Dank für die vollständige Debugging-Information - das war sehr hilfreich!
Ich kann den Fehler auch auf einer frischen Joomla 4 Instanz mit dem aktuellen Visforms nachstellen.

Unter J3 war es möglich, dass ein nicht angemeldeter Benutzer Visforms-Daten im Frontend editieren kann.
Hierfür war zusätzlich zu allen notwendigen Formular- und Feld- und Daten-Einstellungen in der Formularkonfiguration unter Tab 'Formularberechtigungen' für die entsprechende Rolle 'Guest' für das Recht 'Daten im Frontend editieren' die 'Errechnete Einstellung' von 'Erlaubt' einzustellen.

Das funktioniert nun unter J4 nicht mehr.
Der Code von J4 erfordert für ein Checkout zum Editieren von Daten eine UserID größer 0, was bei einem unangemeldeten Benutzer nicht der Fall (UserID = 0).
Joomla 4 wirft für diesen Fall, schon bei der Erzeugung des 'BeforeCheckoutEvent' Objektes als Vorbereitung zum triggern des Events 'onTableBeforeCheckout', eine gewollte und beabsichtigte Exception die dann zum Fehler führt.

Für Visforms bedeutet dies, dass ich auf die eine oder andere Weise zumindest unter J4 diesen Fall ebenfalls ausschließen muss.
Wie ich das im Detail machen werde, weiß ich jetzt noch nicht - aber da wird sich schon etwas passendes finden lassen.

Für dich bedeutet es, dass du unter J4 einem unangemeldeten Benutzer keine Daten mehr zum Editieren anbieten kannst.
Der Anwendungs-Fall, dass jeder Unbekannte (alle mit UserID = 0) Daten im Frontend editieren kann, ist aber auch wirklich ungewöhnlich.
Wenn viele Unbekannte (alle UserID = 0) gleichzeitig etwa den selben Datensatz bearbeiten, kann der konkurrierende Zugriff gar nicht mehr sinnvoll behandelt werden.

Auf alle Fälle herzlichen Dank für dein interessantes Reporting!
Visforms wird diesen Fall zeitnah in einem der nächsten Releases berücksichtigen und zukünftig das Auftreten dieses Fehlers verhindern.

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

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum