Anlegen und Löschen von Spielverlegungen

This commit is contained in:
Jürgen Meyer
2026-01-01 18:31:09 +01:00
parent f76f1185f5
commit 76f0ef5f55
6 changed files with 494 additions and 102 deletions
@@ -23,7 +23,9 @@ function UhrzeitWandlerDE(string $input): string {
$formats = [
'Y-m-d H:i',
'd.m.Y H:i',
'j.n.Y H:i',
'd.m.Y H:i:s',
'j.n.Y H:i:s',
];
foreach ($formats as $format) {
@@ -4549,8 +4551,11 @@ function adminSpielverlegungen(): void
$db = getDatabase();
global $params;
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$filter_status = $jInput->get('filter_status', '', 'RAW');
if (!benutzerZugriff("verschieberegeln_aendern"))
keinZugriff(true);
$filter_status = $jInput->get('filter_status', '', 'RAW');
$filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
if ($filter_saison_id == 0)
$filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
@@ -4642,6 +4647,257 @@ function adminSpielverlegungen(): void
HTML_sportsmanager_admin::adminSpielverlegungen($spielverlegungen,$saisons,$filter_saison_id);
}
function adminEditSpielverlegung(): void
{
$db = getDatabase();
global $params;
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
if (!benutzerZugriff("verschieberegeln_aendern"))
keinZugriff(true);
$begegnung_id = $jInput->get('begegnung_id', 0, 'INT');
$beantragt_id = 0;
$genehmigt_id = 0;
$abgelehnt_id = 0;
if (empty($begegnung_id))
redirectSportsManagerURL('&task=admin_spielverlegungen', 'Missing id');
// Checken, ob für diese ID schon eine Verlegung existiert
$query = "SELECT *"
. "\n FROM #__sportsmanager_begegnung_historie AS t1"
. "\n WHERE begegnung_id = '$begegnung_id' AND aktion = '2'"
. "\n ORDER BY eingetragen ASC LIMIT 1;";
$ergebnis = loadObjectList($db, $query);
if (!empty($ergebnis))
$beantragt_id = $ergebnis[0]->begegnung_historie_id;
$query = "SELECT *"
. "\n FROM #__sportsmanager_begegnung_historie AS t1"
. "\n WHERE begegnung_id = '$begegnung_id' AND aktion = '1'"
. "\n ORDER BY eingetragen DESC LIMIT 1;";
$ergebnis = loadObjectList($db, $query);
if (!empty($ergebnis))
$genehmigt_id = $ergebnis[0]->begegnung_historie_id;
$query = "SELECT *"
. "\n FROM #__sportsmanager_begegnung_historie AS t1"
. "\n WHERE begegnung_id = '$begegnung_id' AND aktion = '10'"
. "\n ORDER BY eingetragen DESC LIMIT 1;";
$ergebnis = loadObjectList($db, $query);
if (!empty($ergebnis))
$abgelehnt_id = $ergebnis[0]->begegnung_historie_id;
$beantragt = [];
if (!empty($beantragt_id)){
$query = "SELECT"
. "\n CONCAT(t3.teamname, ' - ', t4.teamname, ' (', t5.bezeichnung, ')') AS Begegnung,"
. "\n t2.heim_team_id, t2.gast_team_id,"
. "\n IF (ISNULL(t1.verantwortlich_team_id), 0, verantwortlich_team_id) AS beantragt_von_id,"
. "\n t2.begegnung_id AS begegnung_id, t5.bezeichnung AS Liga, t3.teamname AS Heim, t4.teamname AS Gast,"
. "\n t1.zeitpunkt AS Termin_alt, t1.begegnung_historie_id AS beantragt_id, t6.teamname AS beantragt_von,"
. "\n t1.eingetragen AS beantragt_am, t1.kommentar AS Begruendung_beantragt,"
. "\n t1.team_id AS beantragt_verein, 'offen' AS status"
. "\n FROM #__sportsmanager_begegnung_historie AS t1"
. "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id"
. "\n LEFT JOIN #__sportsmanager_team AS t3 ON t3.team_id = t2.heim_team_id"
. "\n LEFT JOIN #__sportsmanager_team AS t4 ON t4.team_id = t2.gast_team_id"
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t5.veranstaltung_id = t4.veranstaltung_id"
. "\n LEFT JOIN #__sportsmanager_team AS t6 ON t6.team_id = t1.team_id"
. "\n WHERE t1.aktion = 2"
. "\n AND t1.begegnung_historie_id = '$beantragt_id'";
$beantragt = loadObjectList($db, $query);
$spielverlegung = $beantragt[0];
} else
if ($begegnung_id != 0){
$query = "SELECT"
. "\n CONCAT(t3.teamname, ' - ', t4.teamname, ' (', t5.bezeichnung, ')') AS Begegnung,"
. "\n t2.begegnung_id AS begegnung_id, t5.bezeichnung AS Liga, t3.teamname AS Heim,"
. "\n t4.teamname AS Gast, t2.zeitpunkt AS Termin_alt,"
. "\n t2.heim_team_id, t2.gast_team_id"
. "\n FROM #__sportsmanager_begegnung AS t2"
. "\n LEFT JOIN #__sportsmanager_team AS t3 ON t3.team_id = t2.heim_team_id"
. "\n LEFT JOIN #__sportsmanager_team AS t4 ON t4.team_id = t2.gast_team_id"
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t5.veranstaltung_id = t4.veranstaltung_id"
. "\n WHERE t2.begegnung_id = '$begegnung_id'";
$beantragt = loadObjectList($db, $query);
$spielverlegung = $beantragt[0];
$spielverlegung->beantragt_id = "";
$spielverlegung->beantragt_von = "";
$spielverlegung->beantragt_von_id = 0;
$spielverlegung->beantragt_am = "";
$spielverlegung->Begruendung_beantragt = "";
$spielverlegung->beantragt_verein = "";
$spielverlegung->status = "offen";
}
if (empty($spielverlegung))
redirectSportsManagerURL('&task=admin_spielverlegungen', 'Wrong id');
$genehmigt = [];
if (!empty($genehmigt_id)){
$query = "SELECT t1.begegnung_historie_id AS genehmigt_id, t1.eingetragen AS genehmigt_am,"
. "\n t1.user_id AS genehmigt_von, t1.team_id as genehmigt_verein, t1.zeitpunkt AS Termin_neu"
. "\n FROM #__sportsmanager_begegnung_historie AS t1"
. "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id"
. "\n WHERE t1.begegnung_historie_id = '$genehmigt_id'";
$genehmigt = loadObjectList($db, $query);
}
if (!empty($genehmigt)) {
$spielverlegung->genehmigt_id = $genehmigt[0]->genehmigt_id;
$spielverlegung->genehmigt_am = $genehmigt[0]->genehmigt_am;
$spielverlegung->Termin_neu = $genehmigt[0]->Termin_neu;
$spielverlegung->genehmigt_von = $genehmigt[0]->genehmigt_von;
$spielverlegung->genehmigt_verein = $genehmigt[0]->genehmigt_verein;
$spielverlegung->status = "genehmigt";
} else {
$spielverlegung->genehmigt_id = "";
$spielverlegung->genehmigt_am = "";
$spielverlegung->Termin_neu = "";
$spielverlegung->genehmigt_verein = "";
$spielverlegung->genehmigt_von = "";
}
$abgelehnt = [];
if ($abgelehnt != 0){
$query = "SELECT t1.begegnung_historie_id AS abgelehnt_id, t1.eingetragen AS abgelehnt_am,"
. "\n t1.user_id AS abgelehnt_von, t1.team_id as abgelehnt_verein,"
. "\n t1.kommentar AS Begruendung_abgelehnt"
. "\n FROM #__sportsmanager_begegnung_historie AS t1"
. "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id"
. "\n WHERE t1.begegnung_historie_id = '$abgelehnt_id'";
$abgelehnt = loadObjectList($db, $query);
}
if (!empty($abgelehnt)) {
$spielverlegung->abgelehnt_id = $abgelehnt[0]->abgelehnt_id;
$spielverlegung->abgelehnt_am = $abgelehnt[0]->abgelehnt_am;
$spielverlegung->abgelehnt_von = $abgelehnt[0]->abgelehnt_von;
$spielverlegung->abgelehnt_verein = $abgelehnt[0]->abgelehnt_verein;
$spielverlegung->Begruendung_abgelehnt = $abgelehnt[0]->Begruendung_abgelehnt;
$spielverlegung->status = "abgelehnt";
} else {
$spielverlegung->abgelehnt_id = "";
$spielverlegung->abgelehnt_am = "";
$spielverlegung->abgelehnt_von = "";
$spielverlegung->abgelehnt_verein = "";
$spielverlegung->Begruendung_abgelehnt = "";
}
$teams[0] = "Verband";
$teams[$spielverlegung->heim_team_id] = $spielverlegung->Heim;
$teams[$spielverlegung->gast_team_id] = $spielverlegung->Gast;
HTML_sportsmanager_admin::adminEditSpielverlegung($spielverlegung,$teams);
}
#[NoReturn] function adminSaveSpielverlegung(): void
{
$db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
if (!benutzerZugriff("verschieberegeln_aendern"))
keinZugriff();
if ($jInput->get('cancel', false, 'BOOL')) {
redirectSportsManagerURL('&task=admin_spielverlegungen');
}
$user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id);
$begegnung_id = $jInput->get('begegnung_id', 0, 'INT');
$beantragt_id = $jInput->get('beantragt_id', 0, 'INT');
$genehmigt_id = $jInput->get('genehmigt_id', 0, 'INT');
$abgelehnt_id = $jInput->get('abgelehnt_id', 0, 'INT');
$beantragt_verein = $jInput->get('beantragt_verein', 0, 'INT');
$Termin_alt = $db->escape(trim($jInput->get('Termin_alt', '', 'RAW')));
$Termin_neu = $db->escape(trim($jInput->get('Termin_neu', '', 'RAW')));
$Begruendung_beantragt = $db->escape(trim($jInput->get('Begruendung_beantragt', '', 'RAW')));
$Termin_neu = UhrzeitWandlerDE($Termin_neu);
if (!empty($Termin_neu) && !validateDate($Termin_neu, $format = 'Y-m-d H:i:s'))
redirectSportsManagerURL('&task=admin_spielverlegungen', Text::_('COM_SPORTSMANAGER_NOT_VALID_TIME'));
if ($beantragt_id == 0){
$query = "INSERT INTO #__sportsmanager_begegnung_historie"
. "\n (begegnung_historie_id, begegnung_id, aktion, zeitpunkt, user_id, team_id, kommentar, eingetragen)"
. "\n VALUES (NULL, $begegnung_id, 2, '$Termin_alt', $user_id, " . ($beantragt_von_id ? $beantragt_von_id : 'NULL') . ", '$Begruendung_beantragt', NOW());";
} else {
$query = "UPDATE #__sportsmanager_begegnung_historie"
. "\n SET user_id = '$user_id',"
. "\n kommentar = '$Begruendung_beantragt',"
. "\n team_id = '$beantragt_verein'"
. "\n WHERE begegnung_historie_id = $beantragt_id";
}
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
if ($genehmigt_id == 0 AND !empty($Termin_neu)){
$query = "INSERT INTO #__sportsmanager_begegnung_historie"
. "\n (begegnung_historie_id, begegnung_id, aktion, zeitpunkt, user_id, team_id, eingetragen)"
. "\n VALUES (NULL, $begegnung_id, 1, '$Termin_neu', $user_id, NULL, NOW());";
}
else if ($genehmigt_id != 0 AND !empty($Termin_neu)){
$query = "UPDATE #__sportsmanager_begegnung_historie"
. "\n SET user_id = '$user_id',"
. "\n zeitpunkt = '$Termin_neu',"
. "\n eingetragen = NOW()"
. "\n WHERE begegnung_historie_id = $genehmigt_id;";
}
else {
$query = "DELETE FROM #__sportsmanager_begegnung_historie"
. "\n WHERE begegnung_id = $begegnung_id AND aktion = 1;";
}
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "UPDATE #__sportsmanager_begegnung"
. "\n SET zeitpunkt = '" . ($Termin_neu ? $Termin_neu : $Termin_alt) . "'"
. "\n WHERE begegnung_id = $begegnung_id;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
redirectSportsManagerURL('&task=admin_spielverlegungen');
}
#[NoReturn] function adminRemoveSpielverlegung(): void
{
$db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
if (!benutzerZugriff("verschieberegeln_aendern"))
keinZugriff();
$begegnung_id = $jInput->get('id', 0, 'INT');
$query = "SELECT * FROM #__sportsmanager_begegnung_historie"
. "\n WHERE begegnung_id = $begegnung_id AND aktion = 2;";
$ergebnis = loadObjectList($db, $query);
$zeitpunkt = $ergebnis[0]->zeitpunkt;
$query = "UPDATE #__sportsmanager_begegnung"
. "\n SET zeitpunkt = '$zeitpunkt'"
. "\n WHERE begegnung_id = $begegnung_id;";
$db->setQuery($query);
if (!$db->execute()) {die($db->stderr(true));}
$query = "DELETE FROM #__sportsmanager_begegnung_historie"
. "\n WHERE begegnung_id = $begegnung_id AND aktion IN (0,1,2,3,10);";
$db->setQuery($query);
if (!$db->execute()) {die($db->stderr(true));}
redirectSportsManagerURL('&task=admin_spielverlegungen');
}
function adminVerschiebenModi(): void
{
$db = getDatabase();
@@ -6256,7 +6512,7 @@ function adminOrdnungsstrafeMailen(): void
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$id = $jInput->get('id', 0, 'INT');
if (!benutzerZugriff("benutzerVeranstalterModerator"))
if (!benutzerZugriff("mannschaftswettbewerb_aendern"))
keinZugriff(true);
$query = "SELECT *, t2.verstoss, t2.paragraph_spo, t2.paragraph_go, t2.zusatztext, t10.regelwerk,"
@@ -8616,6 +8872,11 @@ function adminBegegnungen(): void
if (count($rows) < 1) die("Wrong id!");
$veranstaltung = $rows[0];
$query = "SELECT * FROM #__sportsmanager_verschieberegel WHERE verschieberegel_id = '$veranstaltung->verschieberegel_id'";
$verschieberegeln = loadObjectList($db, $query);
$verschieben_admin = $verschieberegeln[0]->verband_berechtigt;
$modus_id = $veranstaltung->modus_id;
$query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id";
$rows = loadObjectList($db, $query);
@@ -8682,7 +8943,7 @@ function adminBegegnungen(): void
. "\n WHERE t2.veranstaltung_id = $veranstaltungId"
. "\n ORDER BY " . (($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) ? "t1.spieltag, t1.spiel_nr, " : "") . "t1.zeitpunkt, heim_name";
$rows = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminBegegnungen($veranstaltung, $modus, $rows);
HTML_sportsmanager_admin::adminBegegnungen($veranstaltung, $modus, $rows, $verschieben_admin);
}
function adminEditBegegnung(): void
@@ -5527,7 +5527,11 @@ function updateDatabase(): void
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Spielverlegung');";
$db->setQuery($query);
if (!$db->execute()) { die($db->stderr(true)); }
$query = "UPDATE #__sportsmanager_einstellungen"
. "\n SET wert = '115'"
. "\n WHERE name = 'datenbank_version'";
@@ -218,6 +218,15 @@ if ($task == "spielerbild") {
case 'admin_spielverlegungen';
adminSpielverlegungen();
break;
case 'admin_spielverlegung_edit';
adminEditSpielverlegung();
break;
case 'admin_spielverlegung_save';
adminSaveSpielverlegung();
break;
case 'admin_spielverlegung_remove';
adminRemoveSpielverlegung();
break;
case 'admin_kategorien':
adminKategorien();
break;
@@ -6612,97 +6612,89 @@ class HTML_sportsmanager_admin
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
<div class="uk-overflow-auto">
<table class="uk-table" style="width: 100%">
<tr>
<td nowrap style="width: 60%; vertical-align: top">
<div class="uk-overflow-auto">
<table class="uk-table" style="width: 100%">
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="user"><?php echo Text::_('COM_SPORTSMANAGER_NAME'); ?>:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="userid" id="user"
size="1">
<?php
foreach ($users as $user)
echo "<option value=\"" . $user->id . "\"" . (!empty($row) && $row->moderator_user_id == $user->id ? " selected" : "") . ">" . htmlentities_utf8($user->name) . ($user->username != $user->name ? (" (" . htmlentities_utf8($user->username) . ")") : "") . "</option>";
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right; vertical-align: top">
<label for="checkall"><?php echo Text::_('COM_SPORTSMANAGER_HIT'); ?>
:</label>
</td>
<td nowrap>
<script language='JavaScript'>
function checkedAll(checked, name) {
const checks = document.getElementsByName(name);
for (let i = 0; i < checks.length; i++)
checks[i].checked = checked;
}
</script>
<input type="checkbox" name="checkall" id="checkall"
onclick="checkedAll(this.checked, 'zugriffe[]');"><?php echo Text::_('COM_SPORTSMANAGER_CATEGORY_ALL'); ?>
<br/>
<?php
$werte = array(
"moderatoren_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_MODERATORS'),
"basiseinstellungen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_BASIC_SETTING'),
"kategorien_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_CATEGORIES'),
"organisationen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGING_ORGANISATIONS'),
"saisons_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_SEASONS'),
"spieler_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_PLAYERS'),
"spieler_lesen_erweiterte_daten" => Text::_('COM_SPORTSMANAGER_PRIVATE_PLAYER_DATA'),
"vereine_aendern" => Text::_('COM_SPORTSMANAGER_ASSOCIATIONS_MEMBERSHIPS_MANAGE'),
"einstufungen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_CLASSIFICATIONS'),
"mannschaftsspielplaene_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_TEAM_PLANS'),
"verschieberegeln_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_RULES_POSTPONEMENT'),
"spielorte_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_VENUES'),
"mannschaftswettbewerb_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_TEAM_COMPETITIONS'),
"spielerstatistiken_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_PLAYER_STATISTICS'),
"turniere_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_TOURNAMENTS'),
"individualwettbewerbe_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_INDIVIDUAL_COMPETITIONS'),
"ranglistenwertungen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_RANKING_VOTES'),
"ranglisten_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_RANKING'),
"rechnungen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_MEMBERS_BILLS'),
"verteiler_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_DISTRIBUTIORS'),
"verteiler_lesen" => Text::_('COM_SPORTSMANAGER_READ_DISTRIBUTIORS'),
"termine_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_EVENTS'),
"termine_benachrichtigung" => Text::_('COM_SPORTSMANAGER_NOTIFICATION_APPOINTMENTS'));
foreach ($werte as $wert => $bezeichnung) {
$auswahl = false;
if ($row != null) {
foreach ($zugriffe as $zugriff) {
if ($zugriff->zugriff == $wert) {
$auswahl = true;
break;
}
}
}
?>
<label>
<input type="checkbox"
name="zugriffe[]"
value="<?php echo htmlentities_utf8("$wert"); ?>"<?php if ($auswahl) echo " checked"; ?> /><?php echo htmlentities_utf8($bezeichnung); ?>
</label>
<br/>
<?php
}
?>
</td>
</tr>
<tr>
<td nowrap colspan="2">&nbsp;
<table style="width: 100%">
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="user"><?php echo Text::_('COM_SPORTSMANAGER_NAME'); ?>:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-large" name="userid" id="user"
size="1">
<?php
foreach ($users as $user)
echo "<option value=\"" . $user->id . "\"" . (!empty($row) && $row->moderator_user_id == $user->id ? " selected" : "") . ">" . htmlentities_utf8($user->name) . ($user->username != $user->name ? (" (" . htmlentities_utf8($user->username) . ")") : "") . "</option>";
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right; vertical-align: top">
<label for="checkall"><?php echo Text::_('COM_SPORTSMANAGER_HIT'); ?>
:</label>
</td>
<td nowrap>
<script language='JavaScript'>
function checkedAll(checked, name) {
const checks = document.getElementsByName(name);
for (let i = 0; i < checks.length; i++)
checks[i].checked = checked;
}
</script>
<input type="checkbox" name="checkall" id="checkall"
onclick="checkedAll(this.checked, 'zugriffe[]');"><?php echo Text::_('COM_SPORTSMANAGER_CATEGORY_ALL'); ?>
<br/>
<?php
$werte = array(
"moderatoren_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_MODERATORS'),
"basiseinstellungen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_BASIC_SETTING'),
"kategorien_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_CATEGORIES'),
"organisationen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGING_ORGANISATIONS'),
"saisons_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_SEASONS'),
"spieler_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_PLAYERS'),
"spieler_lesen_erweiterte_daten" => Text::_('COM_SPORTSMANAGER_PRIVATE_PLAYER_DATA'),
"vereine_aendern" => Text::_('COM_SPORTSMANAGER_ASSOCIATIONS_MEMBERSHIPS_MANAGE'),
"einstufungen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_CLASSIFICATIONS'),
"mannschaftsspielplaene_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_TEAM_PLANS'),
"verschieberegeln_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_RULES_POSTPONEMENT'),
"spielorte_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_VENUES'),
"mannschaftswettbewerb_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_TEAM_COMPETITIONS'),
"spielerstatistiken_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_PLAYER_STATISTICS'),
"turniere_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_TOURNAMENTS'),
"individualwettbewerbe_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_INDIVIDUAL_COMPETITIONS'),
"ranglistenwertungen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_RANKING_VOTES'),
"ranglisten_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_RANKING'),
"rechnungen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_MEMBERS_BILLS'),
"verteiler_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_DISTRIBUTIORS'),
"verteiler_lesen" => Text::_('COM_SPORTSMANAGER_READ_DISTRIBUTIORS'),
"termine_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_EVENTS'),
"termine_benachrichtigung" => Text::_('COM_SPORTSMANAGER_NOTIFICATION_APPOINTMENTS'));
foreach ($werte as $wert => $bezeichnung) {
$auswahl = false;
if ($row != null) {
foreach ($zugriffe as $zugriff) {
if ($zugriff->zugriff == $wert) {
$auswahl = true;
break;
}
}
}
?>
<label>
<input type="checkbox"
name="zugriffe[]"
value="<?php echo htmlentities_utf8("$wert"); ?>"<?php if ($auswahl) echo " checked"; ?> /><?php echo htmlentities_utf8($bezeichnung); ?>
</label>
<br/>
<?php
}
?>
</td>
</tr>
<tr>
<td nowrap colspan="2">&nbsp;
</td>
</tr>
</table>
</div>
</td>
</tr>
</td>
</tr>
</table>
</div>
@@ -7144,7 +7136,7 @@ class HTML_sportsmanager_admin
value="<?php echo (empty($row->aussteller_id) ? $aussteller->id : $row->aussteller_id); ?>"/>
<input class="uk-select uk-form-width-medium" type="text" name="ausstelldatum" id="issuedate"
size="1" style='height: 34px; width: 200px;' readonly
value="<?php echo (empty($row->ausstelldatum) ? date('Y-m-d h:m:s') : $row->ausstelldatum); ?>"/>
value="<?php echo (empty($row->ausstelldatum) ? date('Y-m-d H:i:s') : $row->ausstelldatum); ?>"/>
</td>
</tr>
@@ -7256,11 +7248,13 @@ class HTML_sportsmanager_admin
href="<?php echo SportsManagerURL('&task=admin_uebersicht'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_BACK'); ?></a>
</td>
</tr>
<?php if (benutzerZugriff("benutzerVeranstalterModerator")){ ?>
<?php if (benutzerZugriff("verschieberegeln_aendern")){ ?>
<tr>
<td nowrap><a
href="<?php echo SportsManagerURL('&task=admin_verschieben_modi'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_POSTPONE_RULES'); ?></a>
</td>
<?php }
if (benutzerZugriff("benutzerVeranstalterModerator")){ ?>
<td nowrap><a
href="<?php echo SportsManagerURL('&task=admin_spielverlegung_vorlage'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_TEMPLATE'); ?></a>
</td>
@@ -7285,8 +7279,9 @@ class HTML_sportsmanager_admin
<input type="hidden" name="task" value="admin_spielverlegungen"/>
</form>
<div class="uk-overflow-auto">
<table class="uk-table-shrink contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>" style='width: 900px;'>
<table class="uk-table-shrink contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>" style='width: 960px;'>
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
<th nowrap style='text-align: center; width: 60px;'><STRONG>ID</STRONG></th>
<th nowrap style='text-align: center; width: 120px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_OLD_DATE'); ?></STRONG></th>
<th nowrap style='text-align: center; width: 180px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_COMPETITION'); ?></STRONG></th>
<th nowrap style='text-align: center; width: 200px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_MATCH'); ?></STRONG></th>
@@ -7301,7 +7296,14 @@ class HTML_sportsmanager_admin
<tr class="sectiontableentry<?php echo $k + 1;
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
<td nowrap style='text-align: center;'>
<?php echo str_replace(" ", "<br>", date('d.m.Y h:i', strtotime($row->Termin_alt))); ?>
<a href="<?php
echo SportsManagerURL('&task=admin_spielverlegung_edit&begegnung_id=' . $row->begegnung_id);
?>">
<?php echo $row->begegnung_id; ?>
</a>
</td>
<td nowrap style='text-align: center;'>
<?php echo str_replace(" ", "<br>", date('d.m.Y H:i', strtotime($row->Termin_alt))); ?>
</td>
<td nowrap style='text-align: center;'>
<?php echo htmlentities_utf8($row->Liga); ?>
@@ -7320,11 +7322,22 @@ class HTML_sportsmanager_admin
?>
</td>
<td nowrap style='text-align: center;'>
<?php echo $row->Termin_neu == "" ? "" : str_replace(" ", "<br>", date('d.m.Y h:i', strtotime($row->Termin_neu))); ?>
<?php echo $row->Termin_neu == "" ? "" : str_replace(" ", "<br>", date('d.m.Y H:i', strtotime($row->Termin_neu))); ?>
</td>
<td nowrap style='text-align: left;'>
<?php echo htmlentities_utf8($row->Begruendung_beantragt); ?>
</td>
<td nowrap><small><a
href="<?php echo SportsManagerURL('&task=admin_spielverlegung_remove&id=' . $row->begegnung_id); ?>"
onclick="return confirm('<?php echo Text::_('COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING'); ?>');"
title="<?php echo Text::_('COM_SPORTSMANAGER_REMOVE'); ?>">X</a></small>
</td>
<?php if (benutzerZugriff("benutzerVeranstalterModerator")){ ?>
<td nowrap><small><a
href="<?php echo SportsManagerURL('&task=admin_spielverlegung_mailen&id=' . $row->begegnung_id); ?>"
title="<?php echo Text::_('COM_SPORTSMANAGER_EMAIL_SEND'); ?>">M</a></small>
</td>
<?php } ?>
</tr>
<?php
}
@@ -7335,6 +7348,98 @@ class HTML_sportsmanager_admin
<?php
}
static function adminEditSpielverlegung($row,$teams): void
{
global $params;
?>
<div
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_MATCH_RESCHEDULING'); ?>
: <?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="match"><?php echo Text::_('COM_SPORTSMANAGER_MATCH'); ?>
:</label>
</td>
<td nowrap>
<input class="uk-select uk-form-width-large" type="text" name="begegnung"
id="match" size="50" style='height: 34px; width: 700px;' readonly
value="<?php echo $row->Begegnung; ?>"/>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="beantragt_team"><?php echo Text::_('COM_SPORTSMANAGER_APPLIED_FOR'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="beantragt_verein" id="beantragt_team"
size="1" style='width: 400px;'>
<?php
foreach ($teams as $key => $team) {
echo "<option value=\"" . $key . "\"" . ($row->beantragt_verein == $key ? "selected" : "") . ">" . htmlentities_utf8($team) . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="old_date"><?php echo Text::_('COM_SPORTSMANAGER_OLD_DATE'); ?>
:</label>
</td>
<td nowrap>
<input class="uk-select uk-form-width-medium" type="text" name="Termin_alt"
id="old_date" size="50" style='height: 34px;' readonly
value="<?php echo $row->Termin_alt; ?>"/>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="new_date"><?php echo Text::_('COM_SPORTSMANAGER_NEW_DATE'); ?>
:</label>
</td>
<td nowrap>
<input class="uk-select uk-form-width-medium" type="text" name="Termin_neu"
id="new_date" size="50" maxlength="19" style='height: 34px;'
value="<?php echo $row->Termin_neu; ?>"/>
<?php echo Text::_('COM_SPORTSMANAGER_MATCH_SWAPPING_HELP'); ?>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="reason"><?php echo Text::_('COM_SPORTSMANAGER_REASON_GAME_APPOINTMENT'); ?>
:</label>
</td>
<td nowrap>
<input class="uk-select uk-form-width-medium" type="text" name="Begruendung_beantragt"
id="reason" size="50" maxlength="255" style='height: 34px; width: 700px;'
value="<?php echo $row->Begruendung_beantragt; ?>"/>
</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_spielverlegung_save"/>
<input type="hidden" name="begegnung_id" value="<?php echo($row != null ? $row->begegnung_id : "0"); ?>"/>
<input type="hidden" name="beantragt_id" value="<?php echo($row != null ? $row->beantragt_id : "0"); ?>"/>
<input type="hidden" name="genehmigt_id" value="<?php echo($row != null ? $row->genehmigt_id : "0"); ?>"/>
<input type="hidden" name="abgelehnt_id" value="<?php echo($row != null ? $row->abgelehnt_id : "0"); ?>"/>
</form>
<?php
}
static function adminRegelwerke($rows): void
{
global $params;
@@ -9827,7 +9932,7 @@ class HTML_sportsmanager_admin
<?php
}
static function adminBegegnungen($veranstaltung, $modus, $rows): void
static function adminBegegnungen($veranstaltung, $modus, $rows, $verschieben_admin): void
{
global $params;
$max_Spalten = 4;
@@ -9991,6 +10096,11 @@ class HTML_sportsmanager_admin
href="<?php echo SportsManagerURL('&task=admin_ordnungsstrafe_edit&begegnungid=' . $row->begegnung_id); ?>"
title="<?php echo Text::_('COM_SPORTSMANAGER_ISSUE_DISCIPLINARY_FINES'); ?>">O</a></small></td>
<?php } ?>
<?php if ($verschieben_admin && !$ergebnis_vorhanden){ ?>
<td nowrap><small><a
href="<?php echo SportsManagerURL('&task=admin_spielverlegung_edit&begegnung_id=' . $row->begegnung_id); ?>"
title="<?php echo Text::_('COM_SPORTSMANAGER_MATCH_RESCHEDULING'); ?>">V</a></small></td>
<?php } ?>
</tr>
<?php
}
@@ -1063,4 +1063,8 @@ COM_SPORTSMANAGER_EMAIL_WAS_NOT_SEND="Die E-Mail wurde nicht versendet"
COM_SPORTSMANAGER_OLD_DATE="Alter Termin"
COM_SPORTSMANAGER_NEW_DATE="Neuer Termin"
COM_SPORTSMANAGER_REASON_GAME_APPOINTMENT="Verlegungsgrund"
COM_SPORTSMANAGER_MATCH_RESCHEDULINGS="Spielverlegungen"
COM_SPORTSMANAGER_MATCH_RESCHEDULINGS="Spielverlegungen"
COM_SPORTSMANAGER_MATCH_RESCHEDULING="Spielverlegung"
COM_SPORTSMANAGER_MATCH_SWAPPING_HELP="Bei Heimrechttausch gleichen Termin eintragen"
COM_SPORTSMANAGER_NOT_VALID_TIME="Ung&uuml;ltige Uhrzeit"
COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Willst Du diesen Spielverlegung wirklich entfernen?"
@@ -1063,4 +1063,8 @@ COM_SPORTSMANAGER_EMAIL_WAS_NOT_SEND="E-Mail was not sent"
COM_SPORTSMANAGER_OLD_DATE="Old Date"
COM_SPORTSMANAGER_NEW_DATE="New Date"
COM_SPORTSMANAGER_REASON_GAME_APPOINTMENT="Appointment reason"
COM_SPORTSMANAGER_MATCH_RESCHEDULINGS="Match rescheduling"
COM_SPORTSMANAGER_MATCH_RESCHEDULINGS="Match reschedulings"
COM_SPORTSMANAGER_MATCH_RESCHEDULING="Match rescheduling"
COM_SPORTSMANAGER_MATCH_SWAPPING_HELP="If home advantage is swapped, enter the same date"
COM_SPORTSMANAGER_NOT_VALID_TIME="Not valid time"
COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Do you really want to remove this match rescheduling?"