Zurück zur Elternseite: [[:website-management|Website-Management]] ===== Externe Plugins ===== * Oneline-Lite (angepasst via ChildTheme) * Elementor 3.2.2 (Pagebuilder) * Happy Addons 2.24 * ICS Calender (Import von ICS-Kalendern, bspw. Google Kalender) * Ninja Forms 3.5.4 (Formular-Abfragen) * Antragsimporter (Eigenentwicklung) * ThemeHunk Customizer * W3 Total Cache 2.2.0 ---- ---- ===== Eigene Plugins ===== ==== Antragsimporter ==== Selbst entwickeltes Wordpress-Plugin zum Import von Anträgen aus dem Antragstool. Pro Antrag wird ein Beitrag inklusive Kategorien angelegt. === Benutzung === __1. Eingabe API-URL zu Versammlung__ Auf der ersten Seite muss die API-Url des Antragstools für die zu importierenden Versammlung eingetragen werden. Beispiel: https://antrag.jusos.info/web/index.php?r=consultation%2Frest&consultationPath=VV2012-1 Mit Klick auf //Lade Versammlung// werden alle Anträge der Versammlung geladen und angezeigt. __2. Auswahl der Anträge__ In der zweiten Seite wird eine Tabelle mit allen Anträgen aus der Versammlung angezeigt. Pro Zeile wird ein Antrag mit Titel, Kategorien und der Beschluss-Status dargestellt. Pro Antrag kann entschieden werden, ob er importiert werden soll. Angenommene Anträge sind vorausgewählt. Weitere Einstellungen für alle Anträge: * Datum der Veranstaltung (Wird als Datum des Beitrags verwendet, da über die API das Datum nicht ausgelesen werden kann) * Übergeordnete Kategorie (für Beiträge und Kategorien) * Beitragsstatus (Entwurf, Privat, Öffentlich) Mit Klick auf //Importieren// werden die Anträge als Beitrag mit ihren Kategorien angelegt. Die Versammlung wird ebenfalls als Kategorie angelegt und den Beiträgen zugeordnet. Sind Kategorien bereits vorhanden, werden keine neuen anlegt, sondern die vorhandenen verwendet. === Technisches === == Struktur == Aufteilung in mehrere Dateien: * **antrag_importer.php**: Startpunkt des Plugins * **admin/class_antrag_importer_admin.php**: Erzeugt den Admin-Menüpunkt und enthält die Corefunktionalität * **admin/class_antrag_importer_api.php**: Lädt Versammlung und Anträge über die API von AntragsGrün * **admin/class_antrag_importer_renderer.php**: Rendert sämtliches Html * **includes/antrag_importer_helper.php**: Enthält Helper-Funktionen * **includes/antrag_importer_models.php**: Enthält Model-Klassen == Sicherheit == * Nur mit Admin-Rechten verwendbar * Anzeige nur auf Admin-Page * Formulare enthalten ein WP-None-Field, um Requests, die von außerhalb des Plugins kommen, zu unterdrücken [[https://developer.wordpress.org/reference/functions/wp_nonce_field/]] * Sanitizing von Inputfelder