admin.juergen 4fe142422a Warn on leaving the editor with unsaved changes
Ergänzt einen beforeunload-Handler im Frontend-Editor: Beim Verlassen der
Seite (Link, Zurück, Tab schließen) wird gewarnt, sobald mindestens ein
Editor-Formular ungespeicherte Änderungen hat. Der Handler koppelt an die
bestehende Dirty-Erkennung (data-survey-dirty-form) und wird nur
registriert, wenn solche Formulare existieren – also nur im Editor, nicht
in Liste/Reader/Ergebnissen.

Ein bewusstes Absenden (Speichern oder Aktion) setzt über einen globalen
submit-Listener ein Flag, sodass der normale Speicher-Flow nicht warnt.

Bewusst kein Auto-Save (getrennte Formulare mit eigenen CSRF-Tokens,
Struktur-Sperre nach Teilnahmen/Veröffentlichung); Dirty-Hinweis plus
beforeunload sind der risikoarme Kompromiss.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 20:24:09 +02:00
2026-05-17 17:31:28 +02:00
2026-05-17 17:31:28 +02:00

Survey Bundle

Proprietäres Contao-5.7-Bundle für ein Umfrage-System.

Das Bundle stellt Frontend- und Backend-Funktionen für die Erstellung, Verwaltung, Veröffentlichung und Auswertung von Umfragen bereit. Dazu gehören insbesondere öffentliche Umfrageaufrufe über Link-Schlüssel, Redaktions- und Zuordnungslogik für Mitglieder, Ergebnisdarstellungen im Frontend sowie Exportfunktionen für Excel und PDF.

Ziel des Bundles ist eine möglichst native Integration in Contao, sodass Umfragen sich wie ein regulärer Bestandteil der bestehenden System- und Redaktionsumgebung verhalten.

Dokumentation

Architektur, Zustandslogik, bewusste Produktentscheidungen und Einstiegspunkte sind ausführlich in AI_HANDOVER.md beschrieben.

Zwei wiederkehrend relevante technische Konventionen:

  • CSRF in Frontend-Aktionsformularen: Jedes POST-Formular sendet zwei Tokens REQUEST_TOKEN (Contaos globaler Frontend-Gate) und _token (csrf_token('<aktion>-' ~ id), im Controller via isCsrfTokenValid geprüft). Beide sind nötig.
  • Saubere Link-URLs: Reader und Ergebnisseite werden als Pfad adressiert (/<seite>/<alias>). Erzeugung über ['parameters' => '/'.$alias], Auslesen über Input::get('auto_item') (markiert den Route-Parameter als benutzt sonst Contao-404).

Nach Änderungen an DCA, Backend-CSS oder JS:

php vendor/bin/contao-console assets:install public --symlink --relative
php vendor/bin/contao-console cache:clear --env=prod

Rechtlicher Hinweis

Dieses Bundle ist proprietär und nicht zur öffentlichen Weitergabe bestimmt.

Copyright (c) Mummert Media. Alle Rechte vorbehalten.

Die Nutzung, Vervielfältigung, Veränderung, Veröffentlichung oder Weitergabe ist ausschließlich im Rahmen der ausdrücklich von Mummert freigegebenen internen oder vertraglich geregelten Verwendung zulässig. Eine Nutzung durch Dritte ohne vorherige schriftliche Zustimmung ist nicht gestattet.

Es wird keine Open-Source-Lizenz für dieses Bundle eingeräumt.

S
Description
No description provided
Readme 1 MiB
Languages
PHP 70.1%
Twig 26%
JavaScript 2.1%
CSS 1.8%