Update konficastle-workshopwahl.php

This commit is contained in:
2026-01-30 14:51:36 +00:00
parent 9e41e533bd
commit d274d5988c

View File

@@ -1,68 +1,68 @@
<?php <?php
/* /**
Plugin Name: Workshopwahl * Plugin Name: Workshop-Wahlen
Description: Workshop wahl plugin mit zuteilungsfunktion * Description: Workshop-Wahl-System für Konfi-Castle.com
Version: 1.0 * Version: 1.0
Author: Linus Nilson * Author: Linus Maximilian Nilson
*/ */
if (!defined('ABSPATH')) exit; if (!defined('ABSPATH')) exit;
// Stylesheet einbinden // Stylesheet einbinden
add_action('admin_enqueue_scripts', function($hook) { add_action('admin_enqueue_scripts', function($hook) {
// Nur auf den Plugin-Seiten laden (optional: prüfe $hook!) // Nur auf den Plugin-Seiten laden (optional: prüfe $hook!)
if (strpos($hook, 'kc_') !== false) { if (strpos($hook, 'kc_') !== false) {
wp_enqueue_style( wp_enqueue_style(
'kc-admin-style', 'kc-admin-style',
plugin_dir_url(__FILE__) . 'assets/kc-admin-style.css', plugin_dir_url(__FILE__) . 'assets/kc-admin-style.css',
[], [],
filemtime(plugin_dir_path(__FILE__) . 'assets/kc-admin-style.css') filemtime(plugin_dir_path(__FILE__) . 'assets/kc-admin-style.css')
); );
} }
}); });
add_action('admin_enqueue_scripts', function($hook) { add_action('admin_enqueue_scripts', function($hook) {
// Nur für unser Plugin-Menü! // Nur für unser Plugin-Menü!
if (strpos($hook, 'kc_') === false) return; if (strpos($hook, 'kc_') === false) return;
wp_enqueue_script('select2', 'https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js', ['jquery'], null, true); wp_enqueue_script('select2', 'https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js', ['jquery'], null, true);
wp_enqueue_style('select2', 'https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css'); wp_enqueue_style('select2', 'https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css');
}); });
add_action('wp_enqueue_scripts', function() { add_action('wp_enqueue_scripts', function() {
wp_enqueue_style('kc-workshopwahl-form', plugins_url('assets/frontend-form.css', __FILE__)); wp_enqueue_style('kc-workshopwahl-form', plugins_url('assets/frontend-form.css', __FILE__));
}); });
// Zentrale Admin-Menüstruktur // Zentrale Admin-Menüstruktur
add_action('admin_menu', function() { add_action('admin_menu', function() {
add_menu_page('Wahlen', 'Wahlen', 'manage_options', 'kc_wahlen', 'kc_wahlen_page'); add_menu_page('Wahlen', 'Wahlen', 'manage_options', 'kc_wahlen', 'kc_wahlen_page');
add_submenu_page('kc_wahlen', 'Teamer', 'Teamer', 'manage_options', 'kc_teamer', 'kc_teamer_page'); add_submenu_page('kc_wahlen', 'Teamer', 'Teamer', 'manage_options', 'kc_teamer', 'kc_teamer_page');
add_submenu_page('kc_wahlen', 'Workshops', 'Workshops', 'manage_options', 'kc_workshops', 'kc_workshops_page'); add_submenu_page('kc_wahlen', 'Workshops', 'Workshops', 'manage_options', 'kc_workshops', 'kc_workshops_page');
add_submenu_page('kc_wahlen', 'Teilnehmer', 'Teilnehmer', 'manage_options', 'kc_teilnehmer', 'kc_teilnehmer_page'); add_submenu_page('kc_wahlen', 'Teilnehmer', 'Teilnehmer', 'manage_options', 'kc_teilnehmer', 'kc_teilnehmer_page');
add_submenu_page('kc_wahlen', 'Force-Zuteilung', 'Force-Zuteilung', 'manage_options', 'kc_force_zuteilung', 'kc_force_zuteilung_page'); add_submenu_page('kc_wahlen', 'Force-Zuteilung', 'Force-Zuteilung', 'manage_options', 'kc_force_zuteilung', 'kc_force_zuteilung_page');
add_submenu_page('kc_wahlen', 'Zuteilungen', 'Zuteilungen', 'manage_options', 'kc_zuteilungen', 'kc_zuteilungen_page'); add_submenu_page('kc_wahlen', 'Zuteilungen', 'Zuteilungen', 'manage_options', 'kc_zuteilungen', 'kc_zuteilungen_page');
// Data management (test data) - visible only to super-admin (we'll check inside page) // Data management (test data) - visible only to super-admin (we'll check inside page)
add_submenu_page('kc_wahlen', 'Datenverwaltung', 'Datenverwaltung', 'manage_options', 'kc_data', 'kc_data_page'); add_submenu_page('kc_wahlen', 'Datenverwaltung', 'Datenverwaltung', 'manage_options', 'kc_data', 'kc_data_page');
}); });
// Includes  jede Admin-Seite ruft oben kc_admin_tabs() auf! // Includes  jede Admin-Seite ruft oben kc_admin_tabs() auf!
require_once plugin_dir_path(__FILE__).'includes/admin-wahlen.php'; require_once plugin_dir_path(__FILE__).'includes/admin-wahlen.php';
require_once plugin_dir_path(__FILE__).'includes/admin-workshops.php'; require_once plugin_dir_path(__FILE__).'includes/admin-workshops.php';
require_once plugin_dir_path(__FILE__).'includes/admin-teilnehmer.php'; require_once plugin_dir_path(__FILE__).'includes/admin-teilnehmer.php';
require_once plugin_dir_path(__FILE__).'includes/admin-teamer.php'; require_once plugin_dir_path(__FILE__).'includes/admin-teamer.php';
require_once plugin_dir_path(__FILE__).'includes/force-zuteilung.php'; require_once plugin_dir_path(__FILE__).'includes/force-zuteilung.php';
require_once plugin_dir_path(__FILE__).'includes/admin-zuteilungen.php'; require_once plugin_dir_path(__FILE__).'includes/admin-zuteilungen.php';
require_once plugin_dir_path(__FILE__).'includes/frontend-form.php'; require_once plugin_dir_path(__FILE__).'includes/frontend-form.php';
require_once plugin_dir_path(__FILE__).'includes/frontend-ergebnis.php'; require_once plugin_dir_path(__FILE__).'includes/frontend-ergebnis.php';
require_once plugin_dir_path(__FILE__).'includes/zuteilungslogik.php'; require_once plugin_dir_path(__FILE__).'includes/zuteilungslogik.php';
require_once plugin_dir_path(__FILE__).'includes/admin-data.php'; require_once plugin_dir_path(__FILE__).'includes/admin-data.php';
require_once plugin_dir_path(__FILE__).'install.php'; require_once plugin_dir_path(__FILE__).'install.php';