Formulare für Mitglieder Verbandsorgane erstellt.

This commit is contained in:
Jürgen Meyer
2026-02-10 16:23:57 +01:00
parent 10807c7ea8
commit 3cb3fa2b28
5 changed files with 378 additions and 7 deletions
@@ -7454,6 +7454,144 @@ function adminEditVerbandsorgan(): void
redirectSportsManagerURL('&task=admin_verbandsorgane');
}
function adminVerbandsorganMitglieder(): void
{
$db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
if (!benutzerZugriff("organisationen_aendern"))
keinZugriff(true);
$id = $jInput->get('id', 0, 'INT');
$query = "SELECT t2.*, t1.verbandsorgan"
. "\n FROM #__sportsmanager_verbandsorgane t1"
. "\n LEFT JOIN #__sportsmanager_mitglied_von_verbandsorgan t2 ON t2.verbandsorgane_id = t1.verbandsorgane_id"
. "\n WHERE t2.verbandsorgane_id = $id"
. "\n ORDER BY t2.reihenfolge, t2.nachname, t2.vorname;";
$rows = loadObjectList($db, $query);
$query = "SELECT * FROM #__sportsmanager_verbandsorgane WHERE verbandsorgane_id = $id";
$verbandsorgane = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminVerbandsorganMitglieder($rows,$verbandsorgane[0]);
}
function adminEditVerbandsorganMitglied(): void
{
$db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
if (!benutzerZugriff("organisationen_aendern"))
keinZugriff(true);
$id = $jInput->get('id', 0, 'INT');
$verbandsorgane_id = $jInput->get('verbandsorgane_id', 0, 'INT');
if ($id == 0)
$row = null;
else {
$query = "SELECT * FROM #__sportsmanager_mitglied_von_verbandsorgan WHERE mitglied_von_verbandsorgan_id = $id";
$rows = loadObjectList($db, $query);
$row = $rows[0];
}
$query = "SELECT * FROM #__sportsmanager_verbandsorgane WHERE verbandsorgane_id = $verbandsorgane_id";
$verbandsorgane = loadObjectList($db, $query);
$query = "SELECT spieler_id, CONCAT(nachname, ', ', vorname, ' (', spielernr, ')') AS spieler"
. "\n FROM #__sportsmanager_spieler"
. "\n ORDER BY nachname, vorname, spielernr";
$spieler = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminEditVerbandsorganMitglied($row,$verbandsorgane[0],$spieler);
}
#[NoReturn] function adminSaveVerbandsorganMitglied(): void
{
$db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
if (!benutzerZugriff("organisationen_aendern"))
keinZugriff();
$id = $jInput->get('id', 0, 'INT');
$verbandsorgane_id = $jInput->get('verbandsorgane_id', 0, 'INT');
$spieler_id = $jInput->get('spieler_id', 0, 'INT');
$nachname = $db->escape(trim($jInput->get('nachname', '', 'RAW')));
$vorname = $db->escape(trim($jInput->get('vorname', '', 'RAW')));
$funktion = $db->escape(trim($jInput->get('funktion', '', 'RAW')));
$zusatzinfo = $db->escape(trim($jInput->get('zusatzinfo', '', 'RAW')));
$email = $db->escape(trim($jInput->get('email', '', 'RAW')));
$telefon = $db->escape(trim($jInput->get('telefon', '', 'RAW')));
$mobil = $db->escape(trim($jInput->get('mobil', '', 'RAW')));
$reihenfolge = $jInput->get('reihenfolge', 0, 'INT');
$beschreibung = $db->escape(trim($jInput->get('beschreibung', '', 'RAW')));
if ($jInput->get('cancel', false, 'BOOL')) {
redirectSportsManagerURL('&task=admin_verbandsorgan_mitglieder&id=' . $verbandsorgane_id);
}
if ($spieler_id != 0){
$query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $spieler_id";
$spieler = loadObjectList($db, $query);
if (empty($nachname)) $nachname = $spieler[0]->nachname;
if (empty($vorname)) $vorname = $spieler[0]->vorname;
if (empty($telefon) && !empty($spieler[0]->telefon)) $telefon = $spieler[0]->telefon;
if (empty($mobil) && !empty($spieler[0]->mobil)) $mobil = $spieler[0]->mobil;
if (empty($email) && !empty($spieler[0]->email)) $email = $spieler[0]->email;
}
if (empty($nachname)) {
redirectSportsManagerURL('&task=admin_verbandsorgan_mitglieder&id=' . $verbandsorgane_id,Text::_('COM_SPORTSMANAGER_NAME_NOT_COMPLETE'));
}
if ($id == 0)
$query = "INSERT INTO #__sportsmanager_mitglied_von_verbandsorgan"
. "\n (verbandsorgane_id,spieler_id,reihenfolge,nachname,vorname,funktion,zusatzinfo,email,telefon,mobil) VALUES"
. "\n ($verbandsorgane_id," . ($spieler_id != 0 ? "'$spieler_id'" : "NULL") . ",$reihenfolge,'$nachname','$vorname','$funktion','$zusatzinfo','$email','$telefon','$mobil');";
else {
$query = "UPDATE #__sportsmanager_mitglied_von_verbandsorgan"
. "\n SET verbandsorgane_id = '$verbandsorgane_id',"
. "\n spieler_id = " . ($spieler_id != 0 ? "'$spieler_id'" : "NULL") . ","
. "\n reihenfolge = $reihenfolge,"
. "\n nachname = '$nachname',"
. "\n vorname = '$vorname',"
. "\n funktion = '$funktion',"
. "\n zusatzinfo = '$zusatzinfo',"
. "\n email = '$email',"
. "\n telefon = '$telefon',"
. "\n mobil = '$mobil'"
. "\n WHERE mitglied_von_verbandsorgan_id = $id";
}
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
redirectSportsManagerURL('&task=admin_verbandsorgan_mitglieder&id=' . $verbandsorgane_id);
}
#[NoReturn] function adminRemoveVerbandsorganMitglied(): void
{
$db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
if (!benutzerZugriff("organisationen_aendern"))
keinZugriff(true);
$id = $jInput->get('id', 0, 'INT');
$verbandsorgane_id = $jInput->get('verbandsorgane_id', 0, 'INT');
$query = "DELETE FROM #__sportsmanager_mitglied_von_verbandsorgan WHERE mitglied_von_verbandsorgan_id = $id;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
redirectSportsManagerURL('&task=admin_verbandsorgan_mitglieder&id=' . $verbandsorgane_id);
}
function adminRegelwerke(): void
{
$db = getDatabase();
@@ -383,6 +383,18 @@ if ($task == "spielerbild") {
case 'admin_verbandsorgan_remove':
adminRemoveVerbandsorgan();
break;
case 'admin_verbandsorgan_mitglieder':
adminVerbandsorganMitglieder();
break;
case 'admin_verbandsorgan_mitglied_edit':
adminEditVerbandsorganMitglied();
break;
case 'admin_verbandsorgan_mitglied_save':
adminSaveVerbandsorganMitglied();
break;
case 'admin_verbandsorgan_mitglied_remove':
adminRemoveVerbandsorganMitglied();
break;
case 'admin_regelwerke':
adminRegelwerke();
break;
@@ -7506,10 +7506,10 @@ class HTML_sportsmanager_admin
if (count($rows) > 0) {
?>
<table style='width: 300px;' class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
<table style='width: 400px;' class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
<th style='text-align: left;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_ASSOCIATION_BODIES'); ?></strong></th>
<th style='text-align: left;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_MEMBERS'); ?></strong></th>
<th style='text-align: left; width: 250px;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_ASSOCIATION_BODIES'); ?></strong></th>
<th style='text-align: left; width: 100px;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_MEMBERS'); ?></strong></th>
</tr>
<?php
@@ -7524,7 +7524,9 @@ class HTML_sportsmanager_admin
</a>
</td>
<td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_verbandsorgan_mitglieder&id=' . $row->verbandsorgane_id); ?>">
<?php echo $row->anzahl; ?>
</a>
</td>
<td nowrap><small><a
href="<?php echo SportsManagerURL('&task=admin_verbandsorgan_remove&id=' . $row->verbandsorgane_id); ?>"
@@ -7643,14 +7645,227 @@ class HTML_sportsmanager_admin
</table>
</div>
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>"
class="button"/>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/>
<input type="hidden" name="task" value="admin_verbandsorgan_save"/>
<input type="hidden" name="id" value="<?php echo($row != null ? $row->verbandsorgane_id : "0"); ?>"/>
</form>
<?php
}
static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
{
global $params;
?>
<div
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo $verbandsorgan->verbandsorgan; ?>
: <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div>
<table style="border-spacing: 10px">
<tr>
<td nowrap><a
href="<?php echo SportsManagerURL('&task=admin_verbandsorgane'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_BACK'); ?></a>
</td>
</tr>
<tr>
<td nowrap><a
href="<?php echo SportsManagerURL('&task=admin_verbandsorgan_mitglied_edit&verbandsorgane_id=' . $verbandsorgan->verbandsorgane_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_ADD_MEMBER'); ?></a>
</td>
</tr>
</table>
<?php
if (count($rows) > 0) {
?>
<table style='width: 800px;' class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
<th style='text-align: left; width: 250px;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_MEMBER'); ?></strong></th>
<th style='text-align: left; width: 250px;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_FUNCTION'); ?></strong></th>
<th style='text-align: left; width: 250px;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_ADDITIONAL_INFO'); ?></strong></th>
</tr>
<?php
$k = 0;
foreach ($rows as $row) {
?>
<tr class="sectiontableentry<?php echo $k + 1;
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
<td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_verbandsorgan_mitglied_edit&id=' . $row->mitglied_von_verbandsorgan_id . '&verbandsorgane_id=' . $verbandsorgan->verbandsorgane_id); ?>">
<?php echo htmlentities_utf8($row->nachname . ", " . $row->vorname); ?>
</a>
</td>
<td nowrap>
<?php echo $row->funktion; ?>
</td>
<td nowrap>
<?php echo $row->zusatzinfo; ?>
</td>
<td nowrap><small><a
href="<?php echo SportsManagerURL('&task=admin_verbandsorgan_mitglied_remove&id=' . $row->mitglied_von_verbandsorgan_id . '&verbandsorgane_id=' . $row->verbandsorgane_id); ?>"
onclick="return confirm('<?php echo Text::_('COM_SPORTSMANAGER_REALLY_REMOVE_ASSOCIATION_BODY'); ?>');"
title="<?php echo Text::_('COM_SPORTSMANAGER_REMOVE'); ?>">X</a></small>
</td>
</tr>
<?php
}
?>
</table>
<?php
}
}
static function adminEditVerbandsorganMitglied($row,$verbandsorgan,$spieler): void
{
global $params;
?>
<div
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo $verbandsorgan->verbandsorgan; ?>
: <?php echo($row != null ? Text::_('COM_SPORTSMANAGER_CHANGING') : Text::_('COM_SPORTSMANAGER_ADD')); ?></div>
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm"
enctype="multipart/form-data">
<div class="uk-overflow-auto">
<table style="width: 100%">
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="player"><?php echo Text::_('COM_SPORTSMANAGER_NAME'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-large" name="spieler_id"
id="player" size="1" style="width: 370px;">
<?php
echo "<option value=\"0\"></option>";
foreach ($spieler as $s)
echo "<option value=\"" . $s->spieler_id . "\"" . ($row != null ? ($row->spieler_id == $s->spieler_id ? "selected" : "") : "") . ">" . htmlentities_utf8($s->spieler) . "</option>";
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="lastname"><?php echo Text::_('COM_SPORTSMANAGER_LAST_NAME'); ?>
:</label>
</td>
<td nowrap>
<input class="inputbox" type="text"
name="nachname"
id="lastname" size="50"
maxlength="30"
value="<?php echo $row->nachname; ?>"/>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="firstname"><?php echo Text::_('COM_SPORTSMANAGER_FIRST_NAME'); ?>
:</label>
</td>
<td nowrap>
<input class="inputbox" type="text"
name="vorname"
id="firstname" size="50"
maxlength="30"
value="<?php echo $row->vorname; ?>"/>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="telephone"><?php echo Text::_('COM_SPORTSMANAGER_PHONE'); ?>
:</label>
</td>
<td nowrap>
<input class="inputbox" type="text"
name="telefon"
id="telephone" size="50"
maxlength="25"
value="<?php echo $row->telefon; ?>"/>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="mobile"><?php echo Text::_('COM_SPORTSMANAGER_MOBILE'); ?>
:</label>
</td>
<td nowrap>
<input class="inputbox" type="text"
name="mobil"
id="mobile" size="50"
maxlength="25"
value="<?php echo $row->mobil; ?>"/>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="email"><?php echo Text::_('COM_SPORTSMANAGER_EMAIL'); ?>
:</label>
</td>
<td nowrap>
<input class="inputbox" type="text"
name="email"
id="email" size="50"
maxlength="64"
value="<?php echo $row->email; ?>"/>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="function"><?php echo Text::_('COM_SPORTSMANAGER_FUNCTION'); ?>
:</label>
</td>
<td nowrap>
<input class="inputbox" type="text"
name="funktion"
id="function" size="50"
maxlength="64"
value="<?php echo $row->funktion; ?>"/>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="add_info"><?php echo Text::_('COM_SPORTSMANAGER_ADDITIONAL_INFO'); ?>
:</label>
</td>
<td nowrap>
<input class="inputbox" type="text"
name="zusatzinfo"
id="add_info" size="50"
maxlength="64"
value="<?php echo $row->zusatzinfo; ?>"/>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="order"><?php echo Text::_('COM_SPORTSMANAGER_ORDER'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="reihenfolge" id="order"
size="1">
<?php
for ($i = 1; $i <= 100; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->reihenfolge == $i ? " selected" : "") : "") . ">" . $i . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap colspan="2">&nbsp;
</td>
</tr>
</table>
</div>
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/>
<input type="hidden" name="task" value="admin_verbandsorgan_mitglied_save"/>
<input type="hidden" name="verbandsorgane_id" value="<?php echo $verbandsorgan->verbandsorgane_id; ?>"/>
<input type="hidden" name="id" value="<?php echo($row != null ? $row->mitglied_von_verbandsorgan_id : "0"); ?>"/>
</form>
<?php
}
static function adminRegelwerke($rows): void
{
global $params;
@@ -39,6 +39,7 @@ COM_SPORTSMANAGER_ORGANISATION="Organisation"
COM_SPORTSMANAGER_TEAM_MEMBERS="Mannschaftsmitglieder"
COM_SPORTSMANAGER_TEAM_MEMBERS2=Vereinsmitglieder
COM_SPORTSMANAGER_MEMBERS="Mitglieder"
COM_SPORTSMANAGER_MEMBER="Mitglied"
COM_SPORTSMANAGER_ACTIVE_MEMBERS="Aktive Mitglieder"
COM_SPORTSMANAGER_TEAMS="Mannschaften"
COM_SPORTSMANAGER_CURRENT_TEAMS="Aktuelle Mannschaften"
@@ -1075,3 +1076,5 @@ COM_SPORTSMANAGER_ASSOCIATION_BODY="Verbandsorgan"
COM_SPORTSMANAGER_ADD_ASSOCIATION_BODY="Verbandsorgan hinzuf&uuml;gen"
COM_SPORTSMANAGER_REALLY_REMOVE_ASSOCIATION_BODY="Willst Du dieses Verbandsorgan wirklich entfernen?"
COM_SPORTSMANAGER_INVALID_ASSOCIATION_BODY_NAME="Ung&uuml;ltiger Name f&uuml;r Verbandsorgan!"
COM_SPORTSMANAGER_NAME_NOT_COMPLETE="Der Name ist nicht komplett ausgef&uuml;llt"
COM_SPORTSMANAGER_ADDITIONAL_INFO="Zusatzinfo"
@@ -39,6 +39,7 @@ COM_SPORTSMANAGER_ORGANISATION="Organisation"
COM_SPORTSMANAGER_TEAM_MEMBERS="Team members"
COM_SPORTSMANAGER_TEAM_MEMBERS2="Club members"
COM_SPORTSMANAGER_MEMBERS="Members"
COM_SPORTSMANAGER_MEMBER="Member"
COM_SPORTSMANAGER_ACTIVE_MEMBERS="Active members"
COM_SPORTSMANAGER_TEAMS="Teams"
COM_SPORTSMANAGER_CURRENT_TEAMS="Current teams"
@@ -1075,3 +1076,5 @@ COM_SPORTSMANAGER_ASSOCIATION_BODY="Association body"
COM_SPORTSMANAGER_ASSOCIATION_BODY="Add association body"
COM_SPORTSMANAGER_REALLY_REMOVE_ASSOCIATION_BODY="Do you really want to remove this association body?"
COM_SPORTSMANAGER_INVALID_ASSOCIATION_BODY_NAME="Invalid association body name"
COM_SPORTSMANAGER_NAME_NOT_COMPLETE="The name is not completely filled in"
COM_SPORTSMANAGER_ADDITIONAL_INFO="Additional information"