mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 06:27:52 +00:00
Verschiebereln erweitert. Kategoriefilter optimiert.
This commit is contained in:
@@ -4601,6 +4601,9 @@ function adminEditVerschiebenModus(): void
|
||||
$termine_minimal = $jInput->get('termine_minimal', 1, 'INT');
|
||||
$termine_maximal = $jInput->get('termine_maximal', 3, 'INT');
|
||||
$ablehnen = $jInput->get('ablehnen', 0, 'INT');
|
||||
$begruendung_erforderlich = $jInput->get('begruendung_erforderlich', 0, 'INT');
|
||||
$vereine_berechtigt = $jInput->get('vereine_berechtigt', 0, 'INT');
|
||||
$verband_berechtigt = $jInput->get('verband_berechtigt', 0, 'INT');
|
||||
|
||||
if ($termine_minimal > 0 && $termine_maximal > 0 && $termine_minimal > $termine_maximal) {
|
||||
$t = $termine_minimal;
|
||||
@@ -4609,7 +4612,11 @@ function adminEditVerschiebenModus(): void
|
||||
}
|
||||
|
||||
if ($id == 0)
|
||||
$query = "INSERT INTO #__sportsmanager_verschieberegel (bezeichnung, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage, termine_minimal, termine_maximal, ablehnen) VALUES ('$bezeichnung', '$initial_ohne_termin', '$keine_gegenvorschlaege', '$vorlaufzeit_tage', '$termine_minimal', '$termine_maximal', '$ablehnen');";
|
||||
$query = "INSERT INTO #__sportsmanager_verschieberegel"
|
||||
. "\n (bezeichnung, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage, termine_minimal,"
|
||||
. "\n termine_maximal, ablehnen, begruendung_erforderlich, vereine_berechtigt, verband_berechtigt)"
|
||||
. "\n VALUES ('$bezeichnung', '$initial_ohne_termin', '$keine_gegenvorschlaege', '$vorlaufzeit_tage', '$termine_minimal',"
|
||||
. "\n '$termine_maximal', '$ablehnen', '$begruendung_erforderlich', '$vereine_berechtigt', '$verband_berechtigt');";
|
||||
else {
|
||||
$query = "UPDATE #__sportsmanager_verschieberegel"
|
||||
. "\n SET bezeichnung = '$bezeichnung',"
|
||||
@@ -4618,7 +4625,10 @@ function adminEditVerschiebenModus(): void
|
||||
. "\n vorlaufzeit_tage = '$vorlaufzeit_tage',"
|
||||
. "\n termine_minimal = '$termine_minimal',"
|
||||
. "\n termine_maximal = '$termine_maximal',"
|
||||
. "\n ablehnen = '$ablehnen'"
|
||||
. "\n ablehnen = '$ablehnen',"
|
||||
. "\n begruendung_erforderlich = '$begruendung_erforderlich',"
|
||||
. "\n vereine_berechtigt = '$vereine_berechtigt',"
|
||||
. "\n verband_berechtigt = '$verband_berechtigt'"
|
||||
. "\n WHERE verschieberegel_id = $id";
|
||||
}
|
||||
$db->setQuery($query);
|
||||
|
||||
@@ -5516,6 +5516,27 @@ function updateDatabase(): void
|
||||
}
|
||||
}
|
||||
|
||||
if ($datenbank_version < 115) {
|
||||
|
||||
// Erweiterung Tabelle #__sportsmanager_verschieberegel
|
||||
$query = "ALTER TABLE `#__sportsmanager_verschieberegel`"
|
||||
."\n ADD COLUMN IF NOT EXISTS `begruendung_erforderlich` INT(1) NOT NULL DEFAULT 0 AFTER `ablehnen`,"
|
||||
."\n ADD COLUMN IF NOT EXISTS `vereine_berechtigt` INT(1) NOT NULL DEFAULT 1 AFTER `begruendung_erforderlich`,"
|
||||
."\n ADD COLUMN IF NOT EXISTS `verband_berechtigt` INT(1) NOT NULL DEFAULT 0 AFTER `vereine_berechtigt`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||
. "\n SET wert = '115'"
|
||||
. "\n WHERE name = 'datenbank_version'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
if ($termin_aktionen_email_setzen) {
|
||||
$query = "SELECT aktion_user_id, termin_aktion_id"
|
||||
. "\n FROM #__sportsmanager_termin_aktion";
|
||||
|
||||
@@ -185,17 +185,45 @@ function individualwettbewerbFilter($prefix): string
|
||||
function kategorieFilter($prefix, $suffix = ""): string
|
||||
{
|
||||
global $params;
|
||||
|
||||
$kategorien = explode(",", $params->get('kategorien'));
|
||||
$filter = "";
|
||||
foreach ($kategorien as $s) {
|
||||
$kategorie = intval(trim($s));
|
||||
if ($kategorie == 0)
|
||||
continue;
|
||||
if (!empty($filter))
|
||||
$filter .= ", ";
|
||||
$filter .= $kategorie;
|
||||
$result = [];
|
||||
|
||||
foreach ($kategorien as $item) {
|
||||
$item = trim($item);
|
||||
if ($item === '') continue;
|
||||
|
||||
// Prüfen, ob es ein Bereich ist
|
||||
if (strpos($item, '-') !== false) {
|
||||
$rangeParts = explode('-', $item);
|
||||
|
||||
// genau 2 Teile für einen gültigen Bereich
|
||||
if (count($rangeParts) !== 2) continue;
|
||||
|
||||
$start = intval(trim($rangeParts[0]));
|
||||
$end = intval(trim($rangeParts[1]));
|
||||
|
||||
if ($start <= 0 || $end <= 0 || $start > $end) continue;
|
||||
|
||||
for ($i = $start; $i <= $end; $i++) {
|
||||
$result[$i] = true; // Duplikate vermeiden
|
||||
}
|
||||
return empty($filter) ? "" : (" " . $prefix . " (" . $filter . ") " . $suffix);
|
||||
} else {
|
||||
$num = intval($item);
|
||||
if ($num > 0) {
|
||||
$result[$num] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($result)) {
|
||||
return "";
|
||||
}
|
||||
|
||||
$filter = array_keys($result);
|
||||
sort($filter, SORT_NUMERIC);
|
||||
|
||||
return " $prefix (" . implode(", ", $filter) . ") $suffix";
|
||||
}
|
||||
|
||||
function turnierFilter($prefix): string
|
||||
|
||||
@@ -5122,11 +5122,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
|
||||
<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%">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<?php echo Text::_('COM_SPORTSMANAGER_ORIGINALY_SCHEDULED'); ?>:
|
||||
@@ -5218,7 +5214,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
</script>
|
||||
<select
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_DAY') . ' ' . $termin ?>"
|
||||
class="uk-select uk-form-width-medium"
|
||||
class="uk-select uk-form-width-small"
|
||||
name="datum_tag_<?php echo $termin; ?>" size="1"
|
||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||
<?php
|
||||
@@ -5234,7 +5230,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
</select>
|
||||
<select
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_MONTH') . ' ' . $termin ?>"
|
||||
class="uk-select uk-form-width-medium"
|
||||
class="uk-select uk-form-width-small"
|
||||
name="datum_monat_<?php echo $termin; ?>" size="1"
|
||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||
<?php
|
||||
@@ -5248,7 +5244,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
</select>
|
||||
<select
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_YEAR') . ' ' . $termin ?>"
|
||||
class="uk-select uk-form-width-medium"
|
||||
class="uk-select uk-form-width-small"
|
||||
name="datum_jahr_<?php echo $termin; ?>" size="1"
|
||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||
<?php
|
||||
@@ -5261,7 +5257,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
</select>
|
||||
<select
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_HOUR') . ' ' . $termin ?>"
|
||||
class="uk-select uk-form-width-medium"
|
||||
class="uk-select uk-form-width-small"
|
||||
name="uhrzeit_stunden_<?php echo $termin; ?>" size="1"
|
||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||
<?php
|
||||
@@ -5276,7 +5272,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
</select>
|
||||
<select
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_MINUTE') . ' ' . $termin ?>"
|
||||
class="uk-select uk-form-width-medium"
|
||||
class="uk-select uk-form-width-small"
|
||||
name="uhrzeit_minuten_<?php echo $termin; ?>" size="1"
|
||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||
<?php
|
||||
@@ -5367,10 +5363,6 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
?>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if ($berechtigt_anfordern) {
|
||||
|
||||
@@ -4978,11 +4978,7 @@ 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%">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<label
|
||||
@@ -5103,12 +5099,62 @@ class HTML_sportsmanager_admin
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap colspan="2">
|
||||
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<label
|
||||
for="reason_required"><?php echo Text::_('COM_SPORTSMANAGER_REASON_REQUIRED'); ?>
|
||||
:</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<select class="uk-select uk-form-width-medium" name="begruendung_erforderlich"
|
||||
id="reason_required" size="1">
|
||||
<?php
|
||||
$typ = array(Text::_('COM_SPORTSMANAGER_NO'), Text::_('COM_SPORTSMANAGER_YES'));
|
||||
for ($i = 0; $i <= 1; $i++) {
|
||||
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->begruendung_erforderlich == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<tr>
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<label
|
||||
for="club_entitlement"><?php echo Text::_('COM_SPORTSMANAGER_CLUB_ENTITLEMENT'); ?>
|
||||
:</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<select class="uk-select uk-form-width-medium" name="vereine_berechtigt"
|
||||
id="club_entitlement" size="1">
|
||||
<?php
|
||||
$typ = array(Text::_('COM_SPORTSMANAGER_NO'), Text::_('COM_SPORTSMANAGER_YES'));
|
||||
for ($i = 0; $i <= 1; $i++) {
|
||||
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->vereine_berechtigt == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<label
|
||||
for="association_entitlement"><?php echo Text::_('COM_SPORTSMANAGER_ASSOCIATION_ENTITLEMENT'); ?>
|
||||
:</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<select class="uk-select uk-form-width-medium" name="verband_berechtigt"
|
||||
id="association_entitlement" size="1">
|
||||
<?php
|
||||
$typ = array(Text::_('COM_SPORTSMANAGER_NO'), Text::_('COM_SPORTSMANAGER_YES'));
|
||||
for ($i = 0; $i <= 1; $i++) {
|
||||
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->verband_berechtigt == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap colspan="2">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -886,6 +886,9 @@ COM_SPORTSMANAGER_INITIAL_APPOINTMENT_SUGGESTIONS="Initiale Terminvorschläg
|
||||
COM_SPORTSMANAGER_REQUESTING_TEAM="Beantragende Mannschaft"
|
||||
COM_SPORTSMANAGER_OPPONENT_TEAM="Gegnerische Mannschaft"
|
||||
COM_SPORTSMANAGER_AGAINST_PROPOSALS_ALLOWED="Gegensvorschläge zulässig"
|
||||
COM_SPORTSMANAGER_REASON_REQUIRED="Begründung erforderlich"
|
||||
COM_SPORTSMANAGER_CLUB_ENTITLEMENT="Berechtigung Vereine"
|
||||
COM_SPORTSMANAGER_ASSOCIATION_ENTITLEMENT="Berechtigung Verband"
|
||||
COM_SPORTSMANAGER_LEAD_TIME="Vorlaufzeit"
|
||||
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MINIMAL="Terminvorschläge minimal"
|
||||
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MAXIMUM="Terminvorschläge maximal"
|
||||
|
||||
@@ -886,6 +886,9 @@ COM_SPORTSMANAGER_INITIAL_APPOINTMENT_SUGGESTIONS="Initial appointment suggestio
|
||||
COM_SPORTSMANAGER_REQUESTING_TEAM="Requesting team"
|
||||
COM_SPORTSMANAGER_OPPONENT_TEAM="Opponent team"
|
||||
COM_SPORTSMANAGER_AGAINST_PROPOSALS_ALLOWED="Against proposals allowed"
|
||||
COM_SPORTSMANAGER_REASON_REQUIRED="Reason required"
|
||||
COM_SPORTSMANAGER_CLUB_ENTITLEMENT="Club entitlement"
|
||||
COM_SPORTSMANAGER_ASSOCIATION_ENTITLEMENT="Association_entitlement"
|
||||
COM_SPORTSMANAGER_LEAD_TIME="Lead time"
|
||||
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MINIMAL="Appointment proposals minimal"
|
||||
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MAXIMUM="Appointment proposals maximum"
|
||||
|
||||
Reference in New Issue
Block a user