Search by

rdrp / flarum-forms

Folxi

Erstelle Formulare/Umfragen (wie Google Forms), eingebettet in einen Beitrag. Antworten nur für Ersteller & ausgewählte Gruppen sichtbar.

Package info

github.com/Folxi/flarum-forms

Language:JavaScript

Type:flarum-extension

pkg:composer/rdrp/flarum-forms

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-08-21 10:35 UTC

This package is auto-updated.

Last update: 2026-09-21 10:55:30 UTC


README

Erstelle Formulare/Umfragen (im Stil von Google Forms) und bette sie direkt in einen Beitrag ein. Das Formular ist klar als Formular sichtbar. Die Antworten sehen nur der Ersteller, Administratoren und ausgewählte Gruppen.

Funktionen

  • Composer-Button „Formular einfügen" mit Formular-Builder
  • Feldtypen: Kurztext, Absatz, Einzelauswahl (Radio), Mehrfachauswahl (Checkbox), Dropdown, Datum
  • Pflichtfelder (client- und serverseitig geprüft)
  • Sichtbarkeit der Antworten pro Formular: Ersteller + Admins immer, zusätzlich frei wählbare Gruppen
  • Optional mehrfaches Absenden pro Nutzer
  • Auswertungs-Ansicht als Tabelle + CSV-Export

So funktioniert die Einbettung

Der Builder legt das Formular über die API an und fügt in den Beitragstext ein Tag ein:

[FORM id=42]

Beim Anzeigen des Beitrags wird an dieser Stelle das echte Formular gerendert (kein separater Bereich, keine Tarnung als normaler Beitrag – das Formular ist als Formular erkennbar).

Installation

composer require dustin/flarum-forms
php flarum migrate
php flarum cache:clear

Aus dem Quellcode bauen (JS)

Das js/dist/ wird beim Veröffentlichen mitgeliefert. Zum Selbstbauen:

cd js
npm install
npm run build      # oder: npm run dev  (Watch-Modus)

Sicherheit / Datenschutz

  • Die Sichtbarkeit der Antworten wird serverseitig über eine Policy (viewResponses) erzwungen – nicht nur im Frontend.
  • Das Serializer-Feld visibleGroupIds wird nur an Berechtigte ausgeliefert.
  • Antworten sind an den eingeloggten Nutzer gebunden; Gäste können nicht absenden.

Datenmodell

  • dustin_forms: Formular-Definition (Titel, Felder als JSON, sichtbare Gruppen, allow_multiple)
  • dustin_form_responses: eine Zeile pro Antwort (form_id, user_id, data als JSON)

Lizenz

MIT