diff --git a/src/structure/administrator/language/de-DE/de-DE.com_sportsmanager.sys.ini b/src/structure/administrator/language/de-DE/de-DE.com_sportsmanager.sys.ini
index f83385e..d1a32f5 100644
--- a/src/structure/administrator/language/de-DE/de-DE.com_sportsmanager.sys.ini
+++ b/src/structure/administrator/language/de-DE/de-DE.com_sportsmanager.sys.ini
@@ -22,6 +22,8 @@ COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CLUBS="Vereine"
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_VENUES="Spielorte"
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_APPOINTMENTS="Termine"
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_MATCH_RESCHEDULING="Spielverlegungen"
+COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_ASSOCIATION_BODIES="Verbandsorgane"
+COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_HALL_OF_FAME="Hall Of Fame"
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_TITLE="Titel"
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_TITLE_DESC="Titel, der im Fenster oben angezeigt wird"
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION="Beschreibung"
diff --git a/src/structure/administrator/language/en-GB/en-GB.com_sportsmanager.sys.ini b/src/structure/administrator/language/en-GB/en-GB.com_sportsmanager.sys.ini
index 7d4373d..959ced9 100644
--- a/src/structure/administrator/language/en-GB/en-GB.com_sportsmanager.sys.ini
+++ b/src/structure/administrator/language/en-GB/en-GB.com_sportsmanager.sys.ini
@@ -22,6 +22,8 @@ COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CLUBS="Clubs"
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_VENUES="Venues"
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_APPOINTMENTS="Appointments"
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_MATCH_RESCHEDULING="Match reschedulings"
+COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_ASSOCIATION_BODIES="Association bodies"
+COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_HALL_OF_FAME="Hall of fame"
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_TITLE="Title"
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_TITLE_DESC="Title which will be shows on top"
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION="Description"
diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php
index da305ee..8574f14 100644
--- a/src/structure/components/com_sportsmanager/sportsmanager.php
+++ b/src/structure/components/com_sportsmanager/sportsmanager.php
@@ -1085,6 +1085,15 @@ if ($task == "spielerbild") {
}
} else if ($content == 'spielverlegungen') {
spielverlegungen();
+} else if ($content == 'verbandsorgane') {
+ switch ($task) {
+ case 'verbandsorgane_details':
+ verbandsorganeDetails();
+ break;
+ default:
+ verbandsorgane();
+ break;
+ }
} else if ($content == 'login') {
userAuth();
} else if ($content == 'login_refresh') {
@@ -4242,6 +4251,56 @@ function spielverlegungen(): void
}
}
+function verbandsorgane(): void
+{
+ $db = getDatabase();
+ global $params;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $query = "SELECT t1.*, COUNT(t2.verbandsorgane_id) AS anzahl"
+ . "\n FROM #__sportsmanager_verbandsorgane t1"
+ . "\n LEFT JOIN #__sportsmanager_mitglied_von_verbandsorgan t2 ON t2.verbandsorgane_id = t1.verbandsorgane_id"
+ . "\n GROUP BY t1.verbandsorgane_id"
+ . kategorieFilter("HAVING t1.kategorie IN")
+ . "\n ORDER BY t1.reihenfolge;";
+ $verbandsorgane = loadObjectList($db, $query);
+
+ if (count($verbandsorgane) == 1){
+ verbandsorganeDetails($verbandsorgane[0]->verbandsorgane_id);
+ } else {
+ if (isJson()) {
+ echo json_encode($verbandsorgane);
+ } else {
+ HTML_sportsmanager::verbandsorgane($params->get('titel'), $params->get('beschreibung'), $verbandsorgane);
+ }
+ }
+}
+
+function verbandsorganeDetails($uebergabe_id = 0): void
+{
+ $db = getDatabase();
+ global $params;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if ($uebergabe_id == 0)
+ $id = $jInput->get('id', 0, 'INT');
+ else
+ $id = $uebergabe_id;
+
+
+ $query = "SELECT * FROM #__sportsmanager_verbandsorgane WHERE verbandsorgane_id = $id";
+ $verbandsorgane = loadObjectList($db, $query);
+
+ $query = "SELECT * FROM #__sportsmanager_mitglied_von_verbandsorgan WHERE verbandsorgane_id = $id";
+ $mitglieder = loadObjectList($db, $query);
+
+ if (isJson()) {
+ echo json_encode($verbandsorgane);
+ } else {
+ HTML_sportsmanager::verbandsorganeDetails($params->get('titel'), $params->get('beschreibung'), $verbandsorgane[0], $mitglieder);
+ }
+}
+
function begegnungSpielplan($teamansicht = false): void
{
$db = getDatabase();
diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/tmpl/default.xml b/src/structure/components/com_sportsmanager/views/sportsmanager/tmpl/default.xml
index abbb926..e199df8 100644
--- a/src/structure/components/com_sportsmanager/views/sportsmanager/tmpl/default.xml
+++ b/src/structure/components/com_sportsmanager/views/sportsmanager/tmpl/default.xml
@@ -25,6 +25,8 @@
+
+