mailto Funktion bei Mannschaften in admin-Bereich Veranstaltung

This commit is contained in:
Jürgen Meyer
2026-04-28 11:46:22 +02:00
parent 68e16a3adb
commit a5357e4a51
2 changed files with 45 additions and 6 deletions
@@ -3474,6 +3474,8 @@ function adminVereine(): void
if (!benutzerZugriff("vereine_aendern")) if (!benutzerZugriff("vereine_aendern"))
keinZugriff(true); keinZugriff(true);
$ansprechpartner = [];
$query = "SELECT COUNT(DISTINCT veranstalter_id) FROM #__sportsmanager_verein WHERE NOT ausgetreten"; $query = "SELECT COUNT(DISTINCT veranstalter_id) FROM #__sportsmanager_verein WHERE NOT ausgetreten";
$organisationAnzeigen = loadResult($db, $query) > 1; $organisationAnzeigen = loadResult($db, $query) > 1;
@@ -3489,15 +3491,13 @@ function adminVereine(): void
. "\n WHERE #__sportsmanager_verein.ausgetreten = 0" . "\n WHERE #__sportsmanager_verein.ausgetreten = 0"
. "\n AND email IS NOT NULL AND email <> '';"; . "\n AND email IS NOT NULL AND email <> '';";
$ergebnisse = loadObjectList($db, $query); $ergebnisse = loadObjectList($db, $query);
if (empty($ergebnisse)){ if (!empty($ergebnisse)){
$ansprechpartner = null;
} else {
$ansprechpartner = [];
foreach($ergebnisse as $value){ foreach($ergebnisse as $value){
if (empty($ansprechpartner[$value->verein_id]) OR !in_array($value->email, $ansprechpartner[$value->verein_id])) if (empty($ansprechpartner[$value->verein_id]) OR !in_array($value->email, $ansprechpartner[$value->verein_id]))
$ansprechpartner[$value->verein_id][] = $value->email; $ansprechpartner[$value->verein_id][] = $value->email;
} }
} }
HTML_sportsmanager_admin::adminVereine($vereine, $organisationAnzeigen, $ansprechpartner); HTML_sportsmanager_admin::adminVereine($vereine, $organisationAnzeigen, $ansprechpartner);
} }
@@ -8588,6 +8588,8 @@ function adminMannschaften(): void
if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId)) if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
keinZugriff(true); keinZugriff(true);
$ansprechpartner = [];
$query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
$rows = loadObjectList($db, $query); $rows = loadObjectList($db, $query);
@@ -8613,7 +8615,36 @@ function adminMannschaften(): void
. "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungId" . "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungId"
. "\n ORDER BY teamname"; . "\n ORDER BY teamname";
$rows = loadObjectList($db, $query); $rows = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminMannschaften($veranstaltung, $rows);
//Ansprechpartner Teams
$query = "SELECT #__sportsmanager_team.team_id, email FROM #__sportsmanager_teamansprechpartner"
. "\n LEFT JOIN #__sportsmanager_team ON #__sportsmanager_teamansprechpartner.team_id = #__sportsmanager_team.team_id"
. "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungId"
. "\n AND email IS NOT NULL AND email <> '';";
$ergebnisse = loadObjectList($db, $query);
if (!empty($ergebnisse)){
foreach($ergebnisse as $value){
if (empty($ansprechpartner[$value->team_id]) OR !in_array($value->email, $ansprechpartner[$value->team_id]))
$ansprechpartner[$value->team_id][] = $value->email;
}
}
//Ansprechpartner Vereine
$query = "SELECT #__sportsmanager_team.team_id, #__sportsmanager_vereinsansprechpartner.email"
. "\n FROM #__sportsmanager_team"
. "\n LEFT JOIN #__sportsmanager_verein ON #__sportsmanager_team.verein_id = #__sportsmanager_verein.verein_id"
. "\n LEFT JOIN #__sportsmanager_vereinsansprechpartner ON #__sportsmanager_verein.verein_id = #__sportsmanager_vereinsansprechpartner.verein_id"
. "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungId"
. "\n AND #__sportsmanager_vereinsansprechpartner.email IS NOT NULL AND #__sportsmanager_vereinsansprechpartner.email <> '';";
$ergebnisse = loadObjectList($db, $query);
if (!empty($ergebnisse)){
foreach($ergebnisse as $value){
if (empty($ansprechpartner[$value->team_id]) OR !in_array($value->email, $ansprechpartner[$value->team_id]))
$ansprechpartner[$value->team_id][] = $value->email;
}
}
HTML_sportsmanager_admin::adminMannschaften($veranstaltung, $rows, $ansprechpartner);
} }
function adminEditMannschaft(): void function adminEditMannschaft(): void
@@ -9722,7 +9722,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
<?php <?php
} }
static function adminMannschaften($veranstaltung, $rows): void static function adminMannschaften($veranstaltung, $rows, $ansprechpartner): void
{ {
global $params; global $params;
@@ -9814,6 +9814,14 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
</td> </td>
<td nowrap align="center"><?php echo $row->anzahl_verschiebungen; ?></td> <td nowrap align="center"><?php echo $row->anzahl_verschiebungen; ?></td>
<td nowrap><?php if (!empty($row->name)) echo htmlentities_utf8($row->name); ?></td> <td nowrap><?php if (!empty($row->name)) echo htmlentities_utf8($row->name); ?></td>
<td>
<?PHP
if (!empty($ansprechpartner[$row->team_id])){
$emails = implode(';', $ansprechpartner[$row->team_id]);
echo "<a href='mailto:" . $emails . "?subject=" . $row->teamname . "'>E-Mail</a>&nbsp;";
}
?>
</td>
<?php if ($row->begegnungen == 0) { ?> <?php if ($row->begegnungen == 0) { ?>
<td nowrap><small><a <td nowrap><small><a
href="<?php echo SportsManagerURL('&task=admin_team_remove&veranstaltungid=' . $veranstaltung->veranstaltung_id . '&id=' . $row->team_id); ?>" href="<?php echo SportsManagerURL('&task=admin_team_remove&veranstaltungid=' . $veranstaltung->veranstaltung_id . '&id=' . $row->team_id); ?>"