Seite 2 von 2

Re: PIFA Formular-Assistent

Verfasst: Mi 3. Jan 2024, 13:04
von xmurrix
Hallo Lars,
lunsen_de hat geschrieben:
Fr 29. Dez 2023, 11:09
In der Errorlog steht:

Code: Alles auswählen

[29-Dec-2023 11:03:03 Europe/Berlin] PHP Fatal error:  Uncaught cException: Tried to load a single line with field name and value form_import from con_area but found more than one row in /var/www/vhosts/domain/httpdocs/contenido/classes/genericdb/class.item.php:167
Stack trace:
#0 /var/www/vhosts/domain/httpdocs/contenido/classes/contenido/class.area.php(208): Item->loadBy()
#1 /var/www/vhosts/domain/httpdocs/contenido/classes/class.permission.php(361): cApiAreaCollection->getAreaId()
#2 /var/www/vhosts/domain/httpdocs/contenido/plugins/form_assistant/includes/include.left_top.php(35): cPermission->have_perm_area_action()
#3 /var/www/vhosts/domain/httpdocs/contenido/main.php(212): include_once('...')
#4 {main}
  thrown in /var/www/vhosts/domain/httpdocs/contenido/classes/genericdb/class.item.php on line 167
leider kann ich nicht nachvollziehen, wie es bei dir zu diesem Fehler gekommen ist.

Der Plugin-Manager kümmert sich um die Installation/Deinstallation von Plugins und darum, dass die Einträge in der jeweiligen plugin.xml in die Datenbank übernommen oder auch daraus entfernt werden.

In der plugin.xml stehen Werte für das Plugin drin, die im CONTENIDO-Backend an diversen Stellen übernommen werden, also in Tabellen "con_area", "con_action", "con_file", "con_frame_files" usw.

Die plugin_install.sql eines Plugins enthält das SQL für die Plugineigenen DB-Tabellen, im Fall von PIFA also "con_pifa_form" und "con_pifa_field", usw.

Wenn es da ein Problem geben sollte, dann liegt es im Zuständigkeitsbereich des Plugin-Managers, allerdings ist mir bisher so ein Fall nicht vorgekommen. Es gibt in GitHub ein Ticket für die Überarbeitung des Plugin-Managers. Da könnte man sich überlegen, bei der Installation zu prüfen, ob es die Einträge in der DB gibt, bevor man sie erstellt, auf die Gefahr hin, dass man eventuell Einträge anderer Plugins überschreibt.

Re: PIFA Formular-Assistent

Verfasst: Mi 3. Jan 2024, 14:01
von Faar
xmurrix hat geschrieben:
Mi 3. Jan 2024, 13:04
Es gibt in GitHub ein Ticket für die Überarbeitung des Plugin-Managers. Da könnte man sich überlegen, bei der Installation zu prüfen, ob es die Einträge in der DB gibt, bevor man sie erstellt, auf die Gefahr hin, dass man eventuell Einträge anderer Plugins überschreibt.
Ich hatte auch hin und wieder den Fall, dass Einträge in der DB zurückblieben, bei Installation-Deinstallation.
Nicht alle Plugins achten oder achteten darauf, dass bei Deinstallation alle DB-Einträge gelöscht werden* und prüfen, ob es bereits eine Installation mit Dateninhalten gibt. Eventuell gibt es doppelte Einträge. PHPmyadmin könnte da nützlich sein.
Da müsste man sich auch den Code der Installation des Plugins jeweils anschauen.

*OT: Bei Wordpress war und ist das ganz schlimm teilweise (gewesen), jeglicher Datenmüll wurde einfach zurückgelassen bei Deinstallation.