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_minimal = $jInput->get('termine_minimal', 1, 'INT');
|
||||||
$termine_maximal = $jInput->get('termine_maximal', 3, 'INT');
|
$termine_maximal = $jInput->get('termine_maximal', 3, 'INT');
|
||||||
$ablehnen = $jInput->get('ablehnen', 0, '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) {
|
if ($termine_minimal > 0 && $termine_maximal > 0 && $termine_minimal > $termine_maximal) {
|
||||||
$t = $termine_minimal;
|
$t = $termine_minimal;
|
||||||
@@ -4609,7 +4612,11 @@ function adminEditVerschiebenModus(): void
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($id == 0)
|
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 {
|
else {
|
||||||
$query = "UPDATE #__sportsmanager_verschieberegel"
|
$query = "UPDATE #__sportsmanager_verschieberegel"
|
||||||
. "\n SET bezeichnung = '$bezeichnung',"
|
. "\n SET bezeichnung = '$bezeichnung',"
|
||||||
@@ -4618,7 +4625,10 @@ function adminEditVerschiebenModus(): void
|
|||||||
. "\n vorlaufzeit_tage = '$vorlaufzeit_tage',"
|
. "\n vorlaufzeit_tage = '$vorlaufzeit_tage',"
|
||||||
. "\n termine_minimal = '$termine_minimal',"
|
. "\n termine_minimal = '$termine_minimal',"
|
||||||
. "\n termine_maximal = '$termine_maximal',"
|
. "\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";
|
. "\n WHERE verschieberegel_id = $id";
|
||||||
}
|
}
|
||||||
$db->setQuery($query);
|
$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) {
|
if ($termin_aktionen_email_setzen) {
|
||||||
$query = "SELECT aktion_user_id, termin_aktion_id"
|
$query = "SELECT aktion_user_id, termin_aktion_id"
|
||||||
. "\n FROM #__sportsmanager_termin_aktion";
|
. "\n FROM #__sportsmanager_termin_aktion";
|
||||||
|
|||||||
@@ -185,17 +185,45 @@ function individualwettbewerbFilter($prefix): string
|
|||||||
function kategorieFilter($prefix, $suffix = ""): string
|
function kategorieFilter($prefix, $suffix = ""): string
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
|
|
||||||
$kategorien = explode(",", $params->get('kategorien'));
|
$kategorien = explode(",", $params->get('kategorien'));
|
||||||
$filter = "";
|
$result = [];
|
||||||
foreach ($kategorien as $s) {
|
|
||||||
$kategorie = intval(trim($s));
|
foreach ($kategorien as $item) {
|
||||||
if ($kategorie == 0)
|
$item = trim($item);
|
||||||
continue;
|
if ($item === '') continue;
|
||||||
if (!empty($filter))
|
|
||||||
$filter .= ", ";
|
// Prüfen, ob es ein Bereich ist
|
||||||
$filter .= $kategorie;
|
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
|
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">
|
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||||
<div class="uk-overflow-auto">
|
<div class="uk-overflow-auto">
|
||||||
<table class="uk-table" style="width: 100%">
|
<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>
|
<tr>
|
||||||
<td nowrap style="width: 20%; text-align: right">
|
<td nowrap style="width: 20%; text-align: right">
|
||||||
<?php echo Text::_('COM_SPORTSMANAGER_ORIGINALY_SCHEDULED'); ?>:
|
<?php echo Text::_('COM_SPORTSMANAGER_ORIGINALY_SCHEDULED'); ?>:
|
||||||
@@ -5218,7 +5214,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
|||||||
</script>
|
</script>
|
||||||
<select
|
<select
|
||||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_DAY') . ' ' . $termin ?>"
|
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"
|
name="datum_tag_<?php echo $termin; ?>" size="1"
|
||||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||||
<?php
|
<?php
|
||||||
@@ -5234,7 +5230,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
|||||||
</select>
|
</select>
|
||||||
<select
|
<select
|
||||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_MONTH') . ' ' . $termin ?>"
|
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"
|
name="datum_monat_<?php echo $termin; ?>" size="1"
|
||||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||||
<?php
|
<?php
|
||||||
@@ -5248,7 +5244,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
|||||||
</select>
|
</select>
|
||||||
<select
|
<select
|
||||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_YEAR') . ' ' . $termin ?>"
|
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"
|
name="datum_jahr_<?php echo $termin; ?>" size="1"
|
||||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||||
<?php
|
<?php
|
||||||
@@ -5261,7 +5257,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
|||||||
</select>
|
</select>
|
||||||
<select
|
<select
|
||||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_HOUR') . ' ' . $termin ?>"
|
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"
|
name="uhrzeit_stunden_<?php echo $termin; ?>" size="1"
|
||||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||||
<?php
|
<?php
|
||||||
@@ -5276,7 +5272,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
|||||||
</select>
|
</select>
|
||||||
<select
|
<select
|
||||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_MINUTE') . ' ' . $termin ?>"
|
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"
|
name="uhrzeit_minuten_<?php echo $termin; ?>" size="1"
|
||||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||||
<?php
|
<?php
|
||||||
@@ -5367,10 +5363,6 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
|||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
if ($berechtigt_anfordern) {
|
if ($berechtigt_anfordern) {
|
||||||
|
|||||||
@@ -4978,11 +4978,7 @@ class HTML_sportsmanager_admin
|
|||||||
|
|
||||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||||
<div class="uk-overflow-auto">
|
<div class="uk-overflow-auto">
|
||||||
<table class="uk-table" style="width: 100%">
|
<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>
|
<tr>
|
||||||
<td nowrap style="width: 20%; text-align: right">
|
<td nowrap style="width: 20%; text-align: right">
|
||||||
<label
|
<label
|
||||||
@@ -5103,12 +5099,62 @@ class HTML_sportsmanager_admin
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
<tr>
|
||||||
</div>
|
<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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -886,6 +886,9 @@ COM_SPORTSMANAGER_INITIAL_APPOINTMENT_SUGGESTIONS="Initiale Terminvorschläg
|
|||||||
COM_SPORTSMANAGER_REQUESTING_TEAM="Beantragende Mannschaft"
|
COM_SPORTSMANAGER_REQUESTING_TEAM="Beantragende Mannschaft"
|
||||||
COM_SPORTSMANAGER_OPPONENT_TEAM="Gegnerische Mannschaft"
|
COM_SPORTSMANAGER_OPPONENT_TEAM="Gegnerische Mannschaft"
|
||||||
COM_SPORTSMANAGER_AGAINST_PROPOSALS_ALLOWED="Gegensvorschläge zulässig"
|
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_LEAD_TIME="Vorlaufzeit"
|
||||||
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MINIMAL="Terminvorschläge minimal"
|
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MINIMAL="Terminvorschläge minimal"
|
||||||
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MAXIMUM="Terminvorschläge maximal"
|
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_REQUESTING_TEAM="Requesting team"
|
||||||
COM_SPORTSMANAGER_OPPONENT_TEAM="Opponent team"
|
COM_SPORTSMANAGER_OPPONENT_TEAM="Opponent team"
|
||||||
COM_SPORTSMANAGER_AGAINST_PROPOSALS_ALLOWED="Against proposals allowed"
|
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_LEAD_TIME="Lead time"
|
||||||
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MINIMAL="Appointment proposals minimal"
|
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MINIMAL="Appointment proposals minimal"
|
||||||
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MAXIMUM="Appointment proposals maximum"
|
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MAXIMUM="Appointment proposals maximum"
|
||||||
|
|||||||
Reference in New Issue
Block a user