=== Baptisten - ChurchTools Connect ===
Contributors: prxenon
Tags: churchtools, groups, elementor, baptisten, befg
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 0.3.2-alpha.1
License: GPLv2 or later

Read-only ChurchTools REST API Verbindung für Gruppen, dynamische Gruppen-Detailseiten und Elementor Loop Grid im Baptisten Theme Design.

== Beschreibung ==
Baptisten - ChurchTools Connect verbindet WordPress mit der REST API einer ChurchTools Instanz. Die Alpha konzentriert sich auf Gruppen: Synchronisieren, lokal speichern, aktivieren, dynamische Detail-URLs erzeugen und Gruppen als responsive Cards im Frontend und in Elementor anzeigen.

Die Verbindung ist bewusst read-only: WordPress ruft Daten per GET ab und schreibt keine Daten zurück nach ChurchTools.

== Funktionen ==
* ChurchTools Instanz/API-URL und Login Token im Backend eintragen.
* Statusindikator und Verbindungstest.
* Sync-Intervall, Standard 2 Stunden.
* Gruppen-First-Init und wiederkehrende Synchronisation.
* Stammdaten-Sync für Gruppentypen, Kategorien, Rollen, Zielgruppen, Altersgruppen und Memberstatus.
* Detail-Sync für aktivierte Gruppen: Detaildaten, Untergruppen, Obergruppen, Meetings, Statistiken, Tags und optional Mitglieder.
* Datenschutzfreundliche Option: Mitglieder standardmäßig verstecken.
* Dynamische Gruppen-Detailseiten unter `/gruppen/{gruppe}` ohne WordPress-Seite pro Gruppe.
* Gruppen-Übersichtsseite als veröffentlichte WordPress-Seite mit Grid, Filtern und AJAX-Nachladen.
* Elementor Widget: ChurchTool Connect Gruppen Loop.
* Kontrastmodus und Baptisten Theme CSS-Variablen berücksichtigt.
* Self-hosted Update-Integration über PrXenon/Baptisten Update Center.

== Installation ==
ZIP unter Plugins hochladen, aktivieren, unter ChurchTools → Einstellungen Instanz-URL und Token eintragen, Verbindung testen und anschließend unter ChurchTools → Gruppen synchronisieren.

== Changelog ==

= 0.3.2-alpha.1 =
* News-/Beiträge-Sync an die ChurchTools OpenAPI angepasst: /posts nutzt jetzt group_visibility=public und post_visibility=group_visible.
* Ungültige Parameter visibility=public, page, categories, attachments und files entfernt, die bei ChurchTools HTTP 400 auslösen können.
* API-Test-Endpunkte für öffentliche Posts und Gruppenposts entsprechend korrigiert.
= 0.3.2-alpha.1 =
* Neues Modul News / Beiträge: öffentliche ChurchTools-Posts und Gruppenposts read-only synchronisieren.
* Import als normale WordPress-Beiträge für das Baptisten Loop Grid.
* Sync-Reset, First Init, API-Test und automatische Aktualisierung im ChurchTools-Intervall.


= 0.1.21-alpha.1 =
* ChurchTools-Direktlinks werden jetzt noch strenger geprüft: maßgeblich ist ausschließlich das echte ChurchTools-Sichtbarkeitsfeld `visibility=public`.
* Rohdaten/Live-Daten aus `/groups/{groupId}` und `/groups/{groupId}/grouphomepage` haben Vorrang vor alten lokal gespeicherten `ct_url`- oder `isPublic`-Werten.
* Zusätzliche API-Felder wie `groupVisibility` werden erkannt, damit eingeschränkte/interne Gruppen keinen ChurchTools-Button mehr ausgeben.
* Sync-Logik für öffentliche Gruppen an die ChurchTools-OpenAPI-Sichtbarkeitswerte `hidden`, `intern`, `public`, `restricted` angepasst.

= 0.1.19-alpha.1 =
Untergruppen werden auf Detailseiten nur noch angezeigt, wenn die Untergruppe öffentlich ist. Der Bereich Untergruppen wird vollständig ausgeblendet, wenn keine öffentliche Untergruppe vorhanden ist. Das Untergruppen-Modal lädt öffentliche Untergruppen robuster live per REST API und zeigt wieder die Gruppeninfos statt einer Nicht-verfügbar-Meldung, sofern ChurchTools die Gruppe öffentlich bereitstellt.

= 0.1.18-alpha.1 =
* ChurchTools-Direktlinks im Frontend werden nur noch angezeigt, wenn die Gruppe explizit `visibility=public` liefert.
* Button „In ChurchTools anzeigen“ wurde optisch dezenter gestaltet.

= 0.1.17-alpha.1 =
* Untergruppen-Modal funktional gehärtet: Modal wird außerhalb der Sidebar/Card in den Body verschoben, damit es nicht durch Card-Overflow oder Theme-Wrapper abgeschnitten wird.
* Klick-Handler für Untergruppen robust gemacht, inklusive Fallback, wenn data-child-ids nicht gelesen werden kann.
* AJAX-Fehler werden im Modal sichtbar angezeigt, statt dass scheinbar nichts passiert.
* Untergruppen werden live mit public-Filter geladen und haben weiterhin Vor/Zurück-Navigation im Modal.

= 0.1.15-alpha.1 =
* Gruppen-Detailseiten laden zusätzlich GET /groups/{groupId}/grouphomepage live und nutzen daraus Wochentag/Meeting-Zeit/Treffpunkt-Informationen für Gruppeninfos.
* API-Test um GET /groups/{groupId}/grouphomepage und GET /group/meetingtemplates erweitert.
* Regelmäßige Treffen werden als kompakte Info-Kacheln im Frontend ergänzt, wenn ChurchTools die Daten liefert.


= 0.1.17-alpha.1 =
* Untergruppen-Modal funktional gehärtet: Modal wird außerhalb der Sidebar/Card in den Body verschoben, damit es nicht durch Card-Overflow oder Theme-Wrapper abgeschnitten wird.
* Klick-Handler für Untergruppen robust gemacht, inklusive Fallback, wenn data-child-ids nicht gelesen werden kann.
* AJAX-Fehler werden im Modal sichtbar angezeigt, statt dass scheinbar nichts passiert.
* Untergruppen werden live mit public-Filter geladen und haben weiterhin Vor/Zurück-Navigation im Modal.

= 0.1.15-alpha.1 =
* Termin-/Meeting-Abruf über GET /groups/{groupId}/meetings korrigiert.
* ChurchTools-Parameter nutzt jetzt direction=forward statt direction=future.
* Live-Laden und Sync speichern Termine mit from=heute, damit nur heutige und zukünftige Meetings berücksichtigt werden.
* Fallback-Abfragen ergänzt, falls einzelne Meeting-Parameter von einer ChurchTools-Instanz nicht unterstützt werden.
* Datumserkennung für Meetings um dateFrom erweitert.

= 0.1.12-alpha.1 =
* Detail-Hero skaliert jetzt mit dem Inhalt: keine feste Max-Höhe mehr, keine abgeschnittene Überschrift/Beschreibung.
* Beschreibung im Hero als ruhige Subline ohne extra Hintergrundbox umgesetzt.
* Mobile Hero-Ansicht ebenfalls auf flexible Höhe umgestellt.

= 0.1.12-alpha.1 =
* Gruppen-Detailseiten laden Gruppen-Details, Mitglieder/Leitung, Rollen, Termine und Kennzahlen live per REST API nach.
* Leiter/Co-Leiter-Erkennung über /groups/{groupId}/roles + groupTypeRoleId verbessert.
* Kontakt-E-Mail-Erkennung über personFields und /persons/{personId} erweitert.
* Darstellungsproblem mit überlappenden Gruppeninfos/Auf-einen-Blick-Cards behoben.

= 0.1.9-alpha.1 =
* Gruppentyp „Veranstaltung/Event“ wird beim First Init/Sync standardmäßig nicht mehr importiert. Im Admin-Backend kann der Import bei Bedarf explizit aktiviert werden.
* Detailseite bekommt typabhängige Gruppeninfos: Teams zeigen vor allem Standort, Kategorie und Leitung/Kontakt; Kleingruppen zeigen Treffpunkt, Wochentag, Uhrzeit, Rhythmus, Zielgruppe/Alter und Plätze, sofern ChurchTools diese Felder liefert.
* Gruppeninfos optisch als kompakte Icon-Kacheln im Baptisten-Theme-Stil umgesetzt.
* Leitung und Co-Leitung bleiben mit rundem Bild/Avatar, Vorname und Kontakt-Button eingebunden, wenn ChurchTools die Daten bereitstellt.
* Kontrastmodus für neue Info-Kacheln und Hintergründe ergänzt, damit Texte lesbar bleiben.

= 0.1.8-alpha.1 =
* First Init/Synchronisation übernimmt jetzt ausschließlich öffentliche und aktive Gruppen. Nicht mehr öffentliche oder nicht mehr aktive Gruppen werden lokal aus der Gruppenliste entfernt.
* Neuer Admin-Button „Sync zurücksetzen“ löscht lokal importierte Gruppen- und Zusatzdaten, damit ein sauberer Neuimport möglich ist.
* Gruppen-Adminübersicht um Filter erweitert: Suche, Gruppentyp, Kategorie und Standort.
* Standort/Place wird aus den ChurchTools-Gruppendaten ausgelesen und im Backend in Karten sowie Filtern genutzt.
* Übersichtsseite bleibt weiterhin die einzige echte WordPress-Seite; Detailseiten bleiben dynamisch.

= 0.1.7-alpha.1 =
* Detailseiten-Hero und Cardviews gestalterisch verfeinert.
* Abstände für dynamische Detailseiten weiter reduziert.

= 0.1.6-alpha.1 =
* Frontend zeigt nur noch aktive und öffentliche Gruppen.
* Sichtbarkeit und Status aus den Besucher-Gruppeninfos entfernt.
* Leitung/Co-Leitung kompakt mit rundem Bild/Avatar und Vorname ergänzt.
* Kontakt-Button ergänzt, wenn ChurchTools eine E-Mail-Adresse für die Leitung liefert.
* API-Test erweitert für Mitglieder inklusive E-Mail-Feldern und Personendetail-E-Mail-Test.

= 0.1.4-alpha.1 =
* ChurchTools-Array-Querys korrigiert: include[]=roles und group_ids[]=... werden richtig als wiederholte Query-Parameter gebaut.
* Dynamische Gruppenlinks funktionieren mit allen WordPress-Permalink-Modi.
* Gruppenbilder aus ChurchTools /images/... werden direkt ausgeliefert; Proxy bleibt für geschützte Datei-URLs erhalten.

= 0.1.3-alpha.1 =
* Gruppen-Detailseiten werden dynamisch per Rewrite ausgeliefert; keine WordPress-Unterseiten pro Gruppe mehr.
* Nur die Gruppenübersicht wird als WordPress-Seite angelegt und bei First Init/Sync veröffentlicht gehalten.
* Gruppen-Beiträge werden auf Detailseiten live per REST API geladen.
* Backend-Unterseite „API Test“ ergänzt.

= 0.1.2-alpha.1 =
* Hero der Gruppen-Unterseiten boxed und stärker am Baptisten Slider orientiert.

= 0.1.1-alpha.1 =
* Besuchertexte, Gruppeninfos, Statistik-Rohdaten und Detailseiten-Design überarbeitet.
* Beitragsbereich und Modal ergänzt.

= 0.1.0-alpha.1 =
* Erstes Alpha-Paket für ChurchTools REST API Read-only Verbindung.
* Gruppen-Sync, Admin-Verwaltung, Übersicht, Shortcodes und Elementor Loop Widget.
