=== Churchpoint Kalender ===
Contributors: churchpoint
Tags: church, events, calendar, churchpoint, gemeinde
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Shows your church's Churchpoint events on your WordPress site as a calm list. No cookies, no tracking, no requests from your visitors to Churchpoint (unless you switch on event images).

== Description ==

Churches publish their events in the Churchpoint app. This plugin shows the upcoming events on your own website:

* Date with weekday and time (Europe/Berlin), title, place, price if any.
* Cancelled events stay in the list and are marked "Cancelled".
* Each title links to the event page on churchpoint.de, where people can register.
* The list uses your theme's font. Accent color, events per page and images come from the Churchpoint app; the settings page and the shortcode can override them.
* With more events than fit on a page, visitors page through them with "Back" and "Next". Without JavaScript the whole list is shown.
* Block "Churchpoint Calendar" for the block editor, shortcode for everything else.
* German and English.

= Privacy =

Your WordPress server loads the events from Churchpoint every 15 minutes and keeps a copy. The browsers of your visitors only receive finished HTML from your own site. They never connect to Churchpoint, the plugin sets no cookies, loads no fonts or scripts from other servers and tracks nothing.

Because no personal data of your visitors reaches Churchpoint, this plugin needs no entry in your privacy policy and no cookie consent.

Exception, off by default: event images. They are only shown when they are switched on in the Churchpoint app AND you tick "Images" on the settings page. Your visitors' browsers then load the images directly from Churchpoint's storage at Supabase (EU, Ireland), which sees their IP address. In that case your privacy policy has to mention it. Only a click on an event link takes the visitor to churchpoint.de, like any other link.

= Third-party services =

The plugin connects from your server, never from your visitors' browsers, to:

* Churchpoint (churchpoint.de), operated by Churchpoint: `https://churchpoint.de/kalender/<calendar-code>.json` for the events, `https://churchpoint.de/downloads/churchpoint-kalender.json` for plugin updates. Privacy policy: https://churchpoint.de/datenschutz, terms: https://churchpoint.de/agb
* Supabase (hosting of the Churchpoint database, EU region Ireland) as a fallback for the same events: `https://qbsdofmgbpdqltogludn.supabase.co/functions/v1/kalender/<calendar-code>.json`. Privacy policy: https://supabase.com/privacy, terms: https://supabase.com/terms

Sent with each request: the calendar code, your server's IP address and a User-Agent naming the plugin version. Nothing about your visitors is sent.

= Datenschutz (Deutsch) =

Der eigene WordPress-Server lädt die Termine alle 15 Minuten bei Churchpoint und speichert eine Kopie. Die Browser der Besucher bekommen nur fertiges HTML von der eigenen Website. Sie verbinden sich nie mit Churchpoint. Das Plugin setzt keine Cookies, lädt keine Schriften oder Skripte von fremden Servern und erfasst nichts.

Weil keine Daten der Besucher bei Churchpoint ankommen, braucht das Plugin keinen Eintrag in der Datenschutzerklärung und keine Cookie-Einwilligung.

Ausnahme, ab Werk aus: Event-Bilder. Sie erscheinen nur, wenn sie in der Churchpoint-App eingeschaltet sind UND in den Plugin-Einstellungen „Bilder“ angehakt ist. Dann lädt der Browser der Besucher die Bilder direkt aus dem Speicher von Churchpoint bei Supabase (EU, Irland), der dabei die IP-Adresse sieht. Das muss dann in der Datenschutzerklärung stehen. Erst ein Klick auf einen Termin führt zu churchpoint.de, wie bei jedem anderen Link.

== Installation ==

1. Plugins → Install → Upload Plugin, choose `churchpoint-kalender.zip`, activate.
2. Settings → Churchpoint Calendar: enter your calendar code. You find it in the Churchpoint app under More → Settings → "Termine auf eurer Website". Pasting the whole link or the whole iframe snippet works too, and so does the older long organizer ID.
3. Add the block "Churchpoint Calendar" to a page, or the shortcode `[churchpoint_kalender]`.

Shortcode options, all optional:

* `id`: calendar code of another church.
* `anzahl`: events per page, 1 to 50.
* `farbe`: accent color, e.g. `#b5522a`.
* `bilder`: `nein` hides images for this list. It cannot switch them on without the setting.
* `max`: caps the whole list, e.g. `max="3"` for a short teaser without paging.

Changed in 1.1.0: `anzahl` is now the number of events per page. Shortcodes that used it as "show only the next N" should use `max` instead.

Example: `[churchpoint_kalender anzahl="5"]`

== Frequently Asked Questions ==

= A new event does not show up =

The plugin loads the events every 15 minutes. Under Settings → Churchpoint Calendar the button "Reload events now" loads them at once.

= What happens if Churchpoint is not reachable? =

The list shows the last loaded state. Logged-in editors see a short note, visitors do not.

= Which events are shown? =

Published, public events of the organizer that have not ended yet. Private events never leave Churchpoint.

== Changelog ==

= 1.1.0 =
* Calendar code: the short code from the app, a link or the whole iframe snippet. The organizer ID keeps working.
* Color, events per page and images come from the Churchpoint app. Empty settings mean "as in the app"; the untouched old defaults are moved over on update.
* Paging with "Back" and "Next", works without JavaScript too. `anzahl` now means events per page, the new `max` caps the list.
* Very light colors are darkened for text so it stays readable.
* Optional event images, only with consent on the settings page.

= 1.0.0 =
* First version: settings page, block, shortcode, German and English.
