=== Microtango ===
Contributors: microtango
Tags: Microtango, Tanzschule, Übersicht, Kurse, Anmeldung
Requires at least: 4.1.0
Requires PHP: 7.0.0
Tested up to: 7.1.0
Stable tag: 1.0.0
License: MIT License
License URI: http://opensource.org/licenses/MIT

Microtango WordPress-Integration.

Dieses Plugin erfordert ein Microtango-Abonnement. Es lädt Daten über die Microtango REST API und stellt sie über Shortcodes auf deiner Website dar.

Hinweis: Die offizielle Plugin-Seite auf WordPress.org nutzt die englische `readme.txt`.
Diese Datei ist die deutsche Dokumentation, die mit dem Plugin ausgeliefert wird.

== Beschreibung ==

Microtango integriert die Microtango REST API in WordPress.

= Funktionen: =

* Stellt drei Shortcodes bereit: **mt_courses**, **mt_reservation** und **mt_video**.
* Admin-Oberfläche mehrsprachig (Standard: Englisch, Übersetzung: Deutsch).

= Verwendung: =

<blockquote>
[mt_courses]
oder
[mt_courses webcategory="WTP2"]
oder
[mt_courses webcategory="WTP2" orderby="StartWeekday, Name"]
oder
[mt_courses webcategory="WTP1"]Kursname|{{Subject}} ({{Name}})#Tag / Zeit|{{StartWeekdayText}} {{Timespan}}#Startdatum|{{StartDateText}}#|{{AttendButton}}[/mt_courses]
oder
[mt_courses webcategory="WTP1"]Kursname|{{Subject}} ({{Name}})#1. Termin|{{DatesText.[0]}}#2. Termin|{{DatesText.[1]}}#3. Termin|{{DatesText.[2]}}#|{{AttendButton}}[/mt_courses]

[mt_reservation]

[mt_video]
oder
[mt_video videogroup="GK"]
</blockquote>

<h4>mt_courses Parameter:</h4>
* mtattendform (optional): Verwendet das integrierte Microtango-Anmeldeformular. Werte: `popup` (Standard) oder `standalone`.
* webcategory (optional): Webkategorie-Filter.
* orderby (optional): Sortierreihenfolge.
* template (optional): `1-9`, wählt eines der zusätzlichen Templates.
* templateid (optional): ID des HTML-Templates.
* category (optional): Kategorie-Filter.
* attendurl (optional): URL für das Anmeldeformular.

Inhalt `[mt_courses] ... [/mt_courses]`:
Definiert die Tabellenspalten im Format:
`Spaltentitel | {{FieldName}}#Spaltentitel | {{FieldName}}`

Standard:
Kurs|{{Subject}}#Start|{{StartDateText}}#Von|{{Timespan}}#Stunden|{{RepeatCount}}#Verfügbarkeit|{{AvailabilityText}}#|{{AttendButton}}

FieldName:
Werte aus der Microtango REST API (https://api.microtango.de/swagger -> RESTCourseModel). Mögliche Werte:
* Id: adea471d-d109-416f-9638-5362b490b37a
* Season: 21-1
* Name: 3TK-06
* Subject: Paare Tanzkreis Fr
* StartDate: 2021-01-01T00:00:00
* StartDateText: 01.01.2021
* StartTime: 20:30:00
* StartTimeText: 20:30
* StartWeekday: 5
* StartWeekdayText: Freitag
* StartMonthText: Januar
* EndDate: 2021-12-24T00:00:00
* EndDateText: 24.12.2021
* EndTime: 21:30:00
* EndTimeText: 21:30
* EndWeekday: 5
* EndWeekdayText: Freitag
* EndMonthText: Dezember
* Timespan: 20:30 - 21:30
* Length: 1 Stunde
* TimeCondition: wöchentlich 1 Stunde
* Price: 0
* PriceClub: 35
* PriceText: 35,00
* PriceTextFull: 35,00 € monatlich
* HallName: Großer Saal
* HallAddress: Testweg 1, 12345 Musterhausen
* TeacherName: Dr. Sch. Nitzel
* AssistantName: Ein Name
* ProgramName: Grundkurs 1
* Category: GK
* WebCategory: Grundkurs1
* Availability: G, Y or R
* AvailabilityText: Plätze verfügbar, Wenig Plätze verfügbar, Ausgebucht
* RepeatCount: 12
* SkipDays: 7
* WebNotes: Sonstige Informationen
* AttendFormShowPartner: true
* AttendFormShowLegalGuardian: false
* FreeText1, FreeText2, FreeText3, FreeText4, FreeText5, FreeText6, FreeText7, FreeText8, FreeText9
* DatesText.[x]: 04.05.2023 (x= 0 - RepeatCount)
* Dates.[x]: 2023-05-04T18:00:00 (x= 0 - RepeatCount)

Spezialfelder:
* Attend: Erzeugt den Anmeldelink.
* AttendButton: Erzeugt einen Anmeldebutton (inkl. Buchungsinfo).
* ScheduleInfo: Zeigt ein Popup mit dem Stundenplan.

Beispiel:
[mt_courses]
oder
[mt_courses webcategory="WTP2"]
oder
[mt_courses webcategory="WTP2" orderby="StartWeekday, Name"]
oder
[mt_courses webcategory="WTP1"]Kursname|{{Subject}}{{Name}}#Tag / Zeit|{{StartWeekdayText}} {{Timespan}}#Startdatum|{{StartDateText}}#|{{Attend}}[/mt_courses]

<h4>mt_reservation:</h4>
Zeigt das Online-Reservierungsformular für Kunden.

<h4>mt_video:</h4>
Zeigt die verfügbaren Videos für Kunden.

Beispiel:
[mt_video videogroup="GK"]
[mt_video videogroup="GK", videoPublic=true]

== Installation ==
Plugin über die WordPress Plugin-Suche installieren und aktivieren.
Einstellungen im WordPress-Admin unter **Einstellungen** -> **Microtango** öffnen.

Manuelle Installation:

1. Den Ordner `microtango` nach `/wp-content/plugins/` hochladen.
2. Plugin über das Menü **Plugins** aktivieren.

== Häufig gestellte Fragen ==

= Wo finde ich die Plugin-Einstellungen? =

Im WordPress-Admin unter **Einstellungen** -> **Microtango**.

= Welche Sprache nutzt das Plugin? =

Die Quellsprache ist Englisch. Bei deutscher WordPress-Sprache (`de_DE` / `de`) werden die mitgelieferten Übersetzungen geladen.

== Screenshots ==

1. Typische Einstellungsseite.

== Changelog ==

= 1.0.0 =
* i18n: Englisch als Standardsprache für Plugin-UI-Texte.
* i18n: Deutsche Übersetzungsdateien hinzugefügt (de_DE / de).
* i18n: Text Domain aus /languages laden.
* Dokumentation: deutsche readme_de.txt aktualisiert.
* Breaking: Shortcode mt_form entfernt.
* Hardening: Settings-Sanitize-Callback und sichereres Laden der Optionen.
* Fix: Dokumentationspfad der Einstellungen (Einstellungen -> Microtango).
* Intern: gemeinsame Helper, eindeutige Template-IDs, Video-Template-Struktur, loadTemplate für Video.

= 0.9.31 =
* Fix: Bundled JavaScript im Head laden.

= 0.9.30 =
* Sicherheit: Absicherung gegen Stored XSS über Shortcode-Attribute (CVE-2026-1821).
* Kompatibilität: JavaScript-Bibliothek wird mit dem Plugin ausgeliefert (kein Laden externer CDN-Skripte).

= 0.9.29 =
* Bugfix für Klammern

= 0.9.28 =
* Bugfix für fehlende Settings

= 0.9.27 =
* Bugfix für fehlende Settings

= 0.9.26 =
* Optimierung für die Vorschau von Änderungen

= 0.9.25 =
* StartWeekday und EndWeekday als Zahl hinzugefügt (1=Montag, 7=Sonntag)
* orderby-Parameter für mt_courses hinzugefügt. z.B. [mt_courses orderby="StartWeekday, Name"]

= 0.9.24 =
* Fehlende Dates.[x] in der Dokumentation ergänzt
* Fehlende DatesText.[x] in der Dokumentation ergänzt

= 0.9.23 =
* Fehlende Templates 2-9 behoben

= 0.9.22 =
* "Disabled"/Testmodus in den Einstellungen hinzugefügt
* 9 zusätzliche Kurs-Templates in den Einstellungen hinzugefügt (template=1..9)

= 0.9.21 =
* Kleine Fixes

= 0.9.20 =
* videoPublic-Parameter für den Video-Shortcode hinzugefügt

= 0.9.19 =
* Fehlenden RestKey für Video behoben

= 0.9.18 =
* Kleine Fixes

= 0.9.17 =
* Kleine Fixes

= 0.9.16 =
* WP Version 4.0.0 - 5.8.1

= 0.9.15 =
* Fallback auf popup, wenn mtattendform fehlt

= 0.9.14 =
* Alten Anmeldelink wieder eingeführt und neuen Anmeldebutton ergänzt

= 0.9.13 =
* Alten Anmeldebutton entfernt

= 0.9.12 =
* Bugfix für mehrere Inline-Templates

= 0.9.11 =
* Kleiner Bugfix

= 0.9.10 =
* Template für mt_video

= 0.9.9 =
* Mögliche Felder in der Readme ergänzt

= 0.9.8 =
* Standard-Einstellungstexte auf Deutsch

= 0.9.7 =
* Standard-Einstellungstexte auf Deutsch

= 0.9.6 =
* Video-Funktion hinzugefügt

= 0.9.5 =
* Fix für fehlende Standardwerte (CSS laden, Templates laden)

= 0.9.4 =
* Dokumentationsupdate. Support für PartnerMandatory

= 0.9.3 =
* CDN-Ressourcennamen geändert

= 0.9.2 =
* Ressourcen auf CDN verschoben

= 0.9.1 =
* Fix für Safari und Third-Party-Cookies

= 0.9.0 =
* Online-Reservierung hinzugefügt

= 0.8.3 =
* Kleines JS-Error-Handling

= 0.8.2 =
* Dokumentationsupdate

= 0.8.1 =
* Fix für fehlende "Kurs nicht gefunden"-Anzeige

= 0.8.0 =
* Shortcodes umbenannt

= 0.7.0 =
* Naming-Fixes für Release

= 0.6.0 =
* Erster Katalog-Upload
* JS und CSS eingebunden
* JS-Handling für WP

= 0.4.0 =
* Einstellungsseite hinzugefügt
* Einstellung für API REST-Key
* Einstellung für Standard-Zeilen-Template

= 0.3.0 =
* MT-Anmeldeformular-Handling

= 0.2.0 =
* Readme-Texte

= 0.1.0 =
* Erstveröffentlichung
