Verschiebereln erweitert. Kategoriefilter optimiert.

This commit is contained in:
Jürgen Meyer
2025-12-25 13:20:54 +01:00
parent 275693ecb3
commit db80f584cd
7 changed files with 490 additions and 387 deletions
@@ -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
}
} else {
$num = intval($item);
if ($num > 0) {
$result[$num] = true;
}
}
}
return empty($filter) ? "" : (" " . $prefix . " (" . $filter . ") " . $suffix);
if (empty($result)) {
return "";
}
$filter = array_keys($result);
sort($filter, SORT_NUMERIC);
return " $prefix (" . implode(", ", $filter) . ") $suffix";
}
function turnierFilter($prefix): string
@@ -5122,253 +5122,245 @@ 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%">
<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">
<?php echo Text::_('COM_SPORTSMANAGER_ORIGINALY_SCHEDULED'); ?>:
</td>
<td nowrap>
<?php echo $begegnung->zeitpunkt != null ? FormatiertesDatum($begegnung->zeitpunkt) : "N/A"; ?>
</td>
</tr>
<?php
$letzte_verlegung_aktionen = array();
foreach ($verlegen_aktionen as $aktion) {
if ($aktion->aktion == 1 || $aktion->aktion == 5 || $aktion->aktion == 10) // akzeptiert, von Moderator eingetragen oder Verschiebung abgelehnt
break;
$letzte_verlegung_aktionen[] = $aktion;
}
$termine = array();
if (count($letzte_verlegung_aktionen) > 0) {
$eingetragen = $letzte_verlegung_aktionen[0]->eingetragen;
foreach ($letzte_verlegung_aktionen as $aktion) {
if ($aktion->eingetragen != $eingetragen || ($aktion->aktion != 0) || $aktion->zeitpunkt == null) // aktion == 1 <=> Akzeptiert
break;
$termine[] = $aktion;
}
}
$berechtigt_anfordern = $veranstaltung->initial_ohne_termin != 1 && (count($letzte_verlegung_aktionen) == 0 || $letzte_verlegung_aktionen[0]->aktion == 1);
$berechtigt_vorschlagen = ($veranstaltung->initial_ohne_termin != 2 || (count($letzte_verlegung_aktionen) != 0 && $letzte_verlegung_aktionen[0]->aktion != 1)) && (!$veranstaltung->keine_gegenvorschlaege || count($letzte_verlegung_aktionen) == 0 || $letzte_verlegung_aktionen[0]->aktion != 3 || $letzte_verlegung_aktionen[0]->team_id != $vorschlagendes_team_id) && (count($termine) == 0 || !$veranstaltung->keine_gegenvorschlaege || $letzte_verlegung_aktionen[0]->team_id == $vorschlagendes_team_id);
$berechtigt_ablehnen = count($letzte_verlegung_aktionen) != 0 && ($letzte_verlegung_aktionen[0]->aktion == 0 || $letzte_verlegung_aktionen[0]->aktion == 3 || $letzte_verlegung_aktionen[0]->aktion == 4) && ((($veranstaltung->ablehnen == 1 || $veranstaltung->ablehnen == 3) && $berechtigt_fuer_akzeptieren) || (($veranstaltung->ablehnen == 1 || $veranstaltung->ablehnen == 2) && $berechtigt_vorschlagen));
if ($berechtigt_vorschlagen) {
$anzahl_moegliche_termine = $veranstaltung->termine_maximal == 0 ? 3 : $veranstaltung->termine_maximal;
?>
<script type="text/javascript">
function ausreichend_termine(termine_minimal, termine_gesamt) {
let i;
let anzahl_termine = 0;
const termine = [];
for (i = 1; i <= termine_gesamt; i++) {
const tag = document.adminForm["datum_tag_" + i].value;
const monat = document.adminForm["datum_monat_" + i].value;
const jahr = document.adminForm["datum_jahr_" + i].value;
const stunden = document.adminForm["uhrzeit_stunden_" + i].value;
const minuten = document.adminForm["uhrzeit_minuten_" + i].value;
if (tag >= 1 && tag <= 31 && monat >= 1 && monat <= 12 && jahr >= 1900 && stunden >= 0 && stunden <= 23 && minuten >= 0 && minuten <= 59) {
const termin = tag + "-" + monat + "-" + jahr;
// JavaScript < 1.6 - IE 7/8-Kompatibilität
if (!Array.indexOf) {
Array.prototype.indexOf = function (obj) {
for (let i = 0; i < this.length; i++) {
if (this[i] === obj) {
return i;
}
}
return -1;
}
}
if (termine.indexOf(termin) < 0) {
termine.push(termin);
anzahl_termine++;
}
}
}
return anzahl_termine >= termine_minimal;
}
</script>
<?php
for ($termin = 1;
$termin <= $anzahl_moegliche_termine;
$termin++) {
?>
<tr>
<td nowrap style="width: 20%; text-align: right">
<?php echo $termin; ?>
. <?php echo Text::_('COM_SPORTSMANAGER_PROPOSAL'); ?>:
</td>
<td nowrap>
<script type="text/javascript">
function termin_changed_<?php echo $termin; ?>() {
<?php
if ($berechtigt_fuer_akzeptieren && isset($termine[$termin - 1])) {
?>
document.adminForm.akzeptieren_<?php echo $termin; ?>.style.visibility = 'hidden';
<?php
}
?>
}
</script>
<select
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_DAY') . ' ' . $termin ?>"
class="uk-select uk-form-width-medium"
name="datum_tag_<?php echo $termin; ?>" size="1"
onChange="termin_changed_<?php echo $termin; ?>();">
<?php
$datum = "0000-00-00";
if (isset($termine[$termin - 1]))
$datum = substr($termine[$termin - 1]->zeitpunkt, 0, 10);
$datum_tag = substr($datum, 8, 2);
echo "<option value=\"-1\"></option>";
for ($i = 1; $i <= 31; $i++) {
echo "<option value=\"" . $i . "\" " . ($datum_tag == $i ? "selected" : "") . ">" . $i . "</option>";
}
?>
</select>
<select
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_MONTH') . ' ' . $termin ?>"
class="uk-select uk-form-width-medium"
name="datum_monat_<?php echo $termin; ?>" size="1"
onChange="termin_changed_<?php echo $termin; ?>();">
<?php
$datum_monat = substr($datum, 5, 2);
echo "<option value=\"-1\"></option>";
$monate = array(Text::_('COM_SPORTSMANAGER_JANUARY'), Text::_('COM_SPORTSMANAGER_FEBRUARY'), Text::_('COM_SPORTSMANAGER_MARCH'), Text::_('COM_SPORTSMANAGER_APRIL'), Text::_('COM_SPORTSMANAGER_MAY'), Text::_('COM_SPORTSMANAGER_JUNE'), Text::_('COM_SPORTSMANAGER_JULY'), Text::_('COM_SPORTSMANAGER_AUGUST'), Text::_('COM_SPORTSMANAGER_SEPTEMBER'), Text::_('COM_SPORTSMANAGER_OCTOBER'), Text::_('COM_SPORTSMANAGER_NOVEMBER'), Text::_('COM_SPORTSMANAGER_DECEMBER'));
for ($i = 1; $i <= 12; $i++) {
echo "<option value=\"" . $i . "\" " . ($datum_monat == $i ? "selected" : "") . ">" . htmlentities_utf8($monate[$i - 1]) . "</option>";
}
?>
</select>
<select
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_YEAR') . ' ' . $termin ?>"
class="uk-select uk-form-width-medium"
name="datum_jahr_<?php echo $termin; ?>" size="1"
onChange="termin_changed_<?php echo $termin; ?>();">
<?php
$datum_jahr = substr($datum, 0, 4);
echo "<option value=\"-1\"></option>";
for ($i = intval(Date("Y")) + 5; $i >= 2000; $i--) {
echo "<option value=\"" . $i . "\" " . ($datum_jahr == $i ? "selected" : "") . ">" . $i . "</option>";
}
?>
</select>
<select
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_HOUR') . ' ' . $termin ?>"
class="uk-select uk-form-width-medium"
name="uhrzeit_stunden_<?php echo $termin; ?>" size="1"
onChange="termin_changed_<?php echo $termin; ?>();">
<?php
$stunden = -1;
if (isset($termine[$termin - 1]))
$stunden = intval(substr($termine[$termin - 1]->zeitpunkt, 11, 2));
echo "<option value=\"-1\"></option>";
for ($i = 0; $i <= 23; $i++) {
echo "<option value=\"" . $i . "\" " . ($datum_jahr > 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . "</option>";
}
?>
</select>
<select
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_MINUTE') . ' ' . $termin ?>"
class="uk-select uk-form-width-medium"
name="uhrzeit_minuten_<?php echo $termin; ?>" size="1"
onChange="termin_changed_<?php echo $termin; ?>();">
<?php
$minuten = -1;
if (isset($termine[$termin - 1]))
$minuten = intval(substr($termine[$termin - 1]->zeitpunkt, 14, 2));
echo "<option value=\"-1\"></option>";
for ($i = 0; $i <= 59; $i += 5) {
echo "<option value=\"" . $i . "\" " . ($datum_jahr > 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . "</option>";
}
?>
</select>
<?php
if ($berechtigt_fuer_akzeptieren && isset($termine[$termin - 1])) {
?>
<input type="submit" name="akzeptieren"
value="<?php echo Text::_('COM_SPORTSMANAGER_ACCEPT'); ?>"
class="button"
onclick="document.adminForm.task.value='begegnung_verlegen_bestaetigen'; document.adminForm.begegnung_historie_id.value='<?php echo $termine[$termin - 1]->begegnung_historie_id; ?>'; return true;"/>
<?php
}
?>
</td>
</tr>
<?php
if (isset($termine[$termin - 1]) && !empty($termine[$termin - 1]->kommentar)) {
?>
<tr>
<td nowrap style="width: 20%; text-align: right">
<?php echo Text::_('COM_SPORTSMANAGER_COMMENT'); ?>:
</td>
<td nowrap>
<?php echo htmlentities_utf8($termine[$termin - 1]->kommentar); ?>
</td>
</tr>
<?php
}
?>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="comment_<?php echo $termin; ?>"><?php echo Text::_('COM_SPORTSMANAGER_NEW_COMMENT'); ?>
:</label>
</td>
<td nowrap>
<input class="inputbox" type="text"
name="kommentar_<?php echo $termin; ?>"
id="comment_<?php echo $termin; ?>"
size="100" maxlength="255"/>
</td>
</tr>
<?php
}
} else if (count($termine) && $berechtigt_fuer_akzeptieren) {
$anzahl_moegliche_termine = $veranstaltung->termine_maximal == 0 ? 3 : $veranstaltung->termine_maximal;
for ($termin = 1;
$termin <= count($termine);
$termin++) {
?>
<tr>
<td nowrap style="width: 20%; text-align: right">
<?php echo $termin; ?>
. <?php echo Text::_('COM_SPORTSMANAGER_PROPOSAL'); ?>:
</td>
<td nowrap>
<?php echo htmlentities_utf8(FormatiertesDatum($termine[$termin - 1]->zeitpunkt)); ?>
<input type="submit" name="akzeptieren"
value="<?php echo Text::_('COM_SPORTSMANAGER_ACCEPT'); ?>"
class="button"
onclick="document.adminForm.task.value='begegnung_verlegen_bestaetigen'; document.adminForm.begegnung_historie_id.value='<?php echo $termine[$termin - 1]->begegnung_historie_id; ?>'; return true;"/>
</td>
</tr>
<?php
if (!empty($termine[$termin - 1]->kommentar)) {
?>
<tr>
<td nowrap style="width: 20%; text-align: right">
<?php echo Text::_('COM_SPORTSMANAGER_COMMENT'); ?>:
</td>
<td nowrap>
<?php echo htmlentities_utf8($termine[$termin - 1]->kommentar); ?>
</td>
</tr>
<?php
}
}
}
?>
</table>
</div>
<td nowrap style="width: 20%; text-align: right">
<?php echo Text::_('COM_SPORTSMANAGER_ORIGINALY_SCHEDULED'); ?>:
</td>
<td nowrap>
<?php echo $begegnung->zeitpunkt != null ? FormatiertesDatum($begegnung->zeitpunkt) : "N/A"; ?>
</td>
</tr>
<?php
$letzte_verlegung_aktionen = array();
foreach ($verlegen_aktionen as $aktion) {
if ($aktion->aktion == 1 || $aktion->aktion == 5 || $aktion->aktion == 10) // akzeptiert, von Moderator eingetragen oder Verschiebung abgelehnt
break;
$letzte_verlegung_aktionen[] = $aktion;
}
$termine = array();
if (count($letzte_verlegung_aktionen) > 0) {
$eingetragen = $letzte_verlegung_aktionen[0]->eingetragen;
foreach ($letzte_verlegung_aktionen as $aktion) {
if ($aktion->eingetragen != $eingetragen || ($aktion->aktion != 0) || $aktion->zeitpunkt == null) // aktion == 1 <=> Akzeptiert
break;
$termine[] = $aktion;
}
}
$berechtigt_anfordern = $veranstaltung->initial_ohne_termin != 1 && (count($letzte_verlegung_aktionen) == 0 || $letzte_verlegung_aktionen[0]->aktion == 1);
$berechtigt_vorschlagen = ($veranstaltung->initial_ohne_termin != 2 || (count($letzte_verlegung_aktionen) != 0 && $letzte_verlegung_aktionen[0]->aktion != 1)) && (!$veranstaltung->keine_gegenvorschlaege || count($letzte_verlegung_aktionen) == 0 || $letzte_verlegung_aktionen[0]->aktion != 3 || $letzte_verlegung_aktionen[0]->team_id != $vorschlagendes_team_id) && (count($termine) == 0 || !$veranstaltung->keine_gegenvorschlaege || $letzte_verlegung_aktionen[0]->team_id == $vorschlagendes_team_id);
$berechtigt_ablehnen = count($letzte_verlegung_aktionen) != 0 && ($letzte_verlegung_aktionen[0]->aktion == 0 || $letzte_verlegung_aktionen[0]->aktion == 3 || $letzte_verlegung_aktionen[0]->aktion == 4) && ((($veranstaltung->ablehnen == 1 || $veranstaltung->ablehnen == 3) && $berechtigt_fuer_akzeptieren) || (($veranstaltung->ablehnen == 1 || $veranstaltung->ablehnen == 2) && $berechtigt_vorschlagen));
if ($berechtigt_vorschlagen) {
$anzahl_moegliche_termine = $veranstaltung->termine_maximal == 0 ? 3 : $veranstaltung->termine_maximal;
?>
<script type="text/javascript">
function ausreichend_termine(termine_minimal, termine_gesamt) {
let i;
let anzahl_termine = 0;
const termine = [];
for (i = 1; i <= termine_gesamt; i++) {
const tag = document.adminForm["datum_tag_" + i].value;
const monat = document.adminForm["datum_monat_" + i].value;
const jahr = document.adminForm["datum_jahr_" + i].value;
const stunden = document.adminForm["uhrzeit_stunden_" + i].value;
const minuten = document.adminForm["uhrzeit_minuten_" + i].value;
if (tag >= 1 && tag <= 31 && monat >= 1 && monat <= 12 && jahr >= 1900 && stunden >= 0 && stunden <= 23 && minuten >= 0 && minuten <= 59) {
const termin = tag + "-" + monat + "-" + jahr;
// JavaScript < 1.6 - IE 7/8-Kompatibilität
if (!Array.indexOf) {
Array.prototype.indexOf = function (obj) {
for (let i = 0; i < this.length; i++) {
if (this[i] === obj) {
return i;
}
}
return -1;
}
}
if (termine.indexOf(termin) < 0) {
termine.push(termin);
anzahl_termine++;
}
}
}
return anzahl_termine >= termine_minimal;
}
</script>
<?php
for ($termin = 1;
$termin <= $anzahl_moegliche_termine;
$termin++) {
?>
<tr>
<td nowrap style="width: 20%; text-align: right">
<?php echo $termin; ?>
. <?php echo Text::_('COM_SPORTSMANAGER_PROPOSAL'); ?>:
</td>
<td nowrap>
<script type="text/javascript">
function termin_changed_<?php echo $termin; ?>() {
<?php
if ($berechtigt_fuer_akzeptieren && isset($termine[$termin - 1])) {
?>
document.adminForm.akzeptieren_<?php echo $termin; ?>.style.visibility = 'hidden';
<?php
}
?>
}
</script>
<select
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_DAY') . ' ' . $termin ?>"
class="uk-select uk-form-width-small"
name="datum_tag_<?php echo $termin; ?>" size="1"
onChange="termin_changed_<?php echo $termin; ?>();">
<?php
$datum = "0000-00-00";
if (isset($termine[$termin - 1]))
$datum = substr($termine[$termin - 1]->zeitpunkt, 0, 10);
$datum_tag = substr($datum, 8, 2);
echo "<option value=\"-1\"></option>";
for ($i = 1; $i <= 31; $i++) {
echo "<option value=\"" . $i . "\" " . ($datum_tag == $i ? "selected" : "") . ">" . $i . "</option>";
}
?>
</select>
<select
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_MONTH') . ' ' . $termin ?>"
class="uk-select uk-form-width-small"
name="datum_monat_<?php echo $termin; ?>" size="1"
onChange="termin_changed_<?php echo $termin; ?>();">
<?php
$datum_monat = substr($datum, 5, 2);
echo "<option value=\"-1\"></option>";
$monate = array(Text::_('COM_SPORTSMANAGER_JANUARY'), Text::_('COM_SPORTSMANAGER_FEBRUARY'), Text::_('COM_SPORTSMANAGER_MARCH'), Text::_('COM_SPORTSMANAGER_APRIL'), Text::_('COM_SPORTSMANAGER_MAY'), Text::_('COM_SPORTSMANAGER_JUNE'), Text::_('COM_SPORTSMANAGER_JULY'), Text::_('COM_SPORTSMANAGER_AUGUST'), Text::_('COM_SPORTSMANAGER_SEPTEMBER'), Text::_('COM_SPORTSMANAGER_OCTOBER'), Text::_('COM_SPORTSMANAGER_NOVEMBER'), Text::_('COM_SPORTSMANAGER_DECEMBER'));
for ($i = 1; $i <= 12; $i++) {
echo "<option value=\"" . $i . "\" " . ($datum_monat == $i ? "selected" : "") . ">" . htmlentities_utf8($monate[$i - 1]) . "</option>";
}
?>
</select>
<select
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_YEAR') . ' ' . $termin ?>"
class="uk-select uk-form-width-small"
name="datum_jahr_<?php echo $termin; ?>" size="1"
onChange="termin_changed_<?php echo $termin; ?>();">
<?php
$datum_jahr = substr($datum, 0, 4);
echo "<option value=\"-1\"></option>";
for ($i = intval(Date("Y")) + 5; $i >= 2000; $i--) {
echo "<option value=\"" . $i . "\" " . ($datum_jahr == $i ? "selected" : "") . ">" . $i . "</option>";
}
?>
</select>
<select
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_HOUR') . ' ' . $termin ?>"
class="uk-select uk-form-width-small"
name="uhrzeit_stunden_<?php echo $termin; ?>" size="1"
onChange="termin_changed_<?php echo $termin; ?>();">
<?php
$stunden = -1;
if (isset($termine[$termin - 1]))
$stunden = intval(substr($termine[$termin - 1]->zeitpunkt, 11, 2));
echo "<option value=\"-1\"></option>";
for ($i = 0; $i <= 23; $i++) {
echo "<option value=\"" . $i . "\" " . ($datum_jahr > 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . "</option>";
}
?>
</select>
<select
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_MINUTE') . ' ' . $termin ?>"
class="uk-select uk-form-width-small"
name="uhrzeit_minuten_<?php echo $termin; ?>" size="1"
onChange="termin_changed_<?php echo $termin; ?>();">
<?php
$minuten = -1;
if (isset($termine[$termin - 1]))
$minuten = intval(substr($termine[$termin - 1]->zeitpunkt, 14, 2));
echo "<option value=\"-1\"></option>";
for ($i = 0; $i <= 59; $i += 5) {
echo "<option value=\"" . $i . "\" " . ($datum_jahr > 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . "</option>";
}
?>
</select>
<?php
if ($berechtigt_fuer_akzeptieren && isset($termine[$termin - 1])) {
?>
<input type="submit" name="akzeptieren"
value="<?php echo Text::_('COM_SPORTSMANAGER_ACCEPT'); ?>"
class="button"
onclick="document.adminForm.task.value='begegnung_verlegen_bestaetigen'; document.adminForm.begegnung_historie_id.value='<?php echo $termine[$termin - 1]->begegnung_historie_id; ?>'; return true;"/>
<?php
}
?>
</td>
</tr>
<?php
if (isset($termine[$termin - 1]) && !empty($termine[$termin - 1]->kommentar)) {
?>
<tr>
<td nowrap style="width: 20%; text-align: right">
<?php echo Text::_('COM_SPORTSMANAGER_COMMENT'); ?>:
</td>
<td nowrap>
<?php echo htmlentities_utf8($termine[$termin - 1]->kommentar); ?>
</td>
</tr>
<?php
}
?>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="comment_<?php echo $termin; ?>"><?php echo Text::_('COM_SPORTSMANAGER_NEW_COMMENT'); ?>
:</label>
</td>
<td nowrap>
<input class="inputbox" type="text"
name="kommentar_<?php echo $termin; ?>"
id="comment_<?php echo $termin; ?>"
size="100" maxlength="255"/>
</td>
</tr>
<?php
}
} else if (count($termine) && $berechtigt_fuer_akzeptieren) {
$anzahl_moegliche_termine = $veranstaltung->termine_maximal == 0 ? 3 : $veranstaltung->termine_maximal;
for ($termin = 1;
$termin <= count($termine);
$termin++) {
?>
<tr>
<td nowrap style="width: 20%; text-align: right">
<?php echo $termin; ?>
. <?php echo Text::_('COM_SPORTSMANAGER_PROPOSAL'); ?>:
</td>
<td nowrap>
<?php echo htmlentities_utf8(FormatiertesDatum($termine[$termin - 1]->zeitpunkt)); ?>
<input type="submit" name="akzeptieren"
value="<?php echo Text::_('COM_SPORTSMANAGER_ACCEPT'); ?>"
class="button"
onclick="document.adminForm.task.value='begegnung_verlegen_bestaetigen'; document.adminForm.begegnung_historie_id.value='<?php echo $termine[$termin - 1]->begegnung_historie_id; ?>'; return true;"/>
</td>
</tr>
<?php
if (!empty($termine[$termin - 1]->kommentar)) {
?>
<tr>
<td nowrap style="width: 20%; text-align: right">
<?php echo Text::_('COM_SPORTSMANAGER_COMMENT'); ?>:
</td>
<td nowrap>
<?php echo htmlentities_utf8($termine[$termin - 1]->kommentar); ?>
</td>
</tr>
<?php
}
}
}
?>
</table>
</div>
@@ -4978,139 +4978,185 @@ 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="designation"><?php echo Text::_('COM_SPORTSMANAGER_DESIGNATION'); ?>
:</label>
</td>
<td nowrap>
<input class="inputbox" type="text" name="bezeichnung" id="designation"
size="50" maxlength="100"
value="<?php if ($row != null) echo htmlentities_utf8($row->bezeichnung); ?>"/>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="appointment_suggestion"><?php echo Text::_('COM_SPORTSMANAGER_INITIAL_APPOINTMENT_SUGGESTIONS'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="initial_ohne_termin"
id="appointment_suggestion" size="1">
<?php
$typ = array(Text::_('COM_SPORTSMANAGER_ANY'), Text::_('COM_SPORTSMANAGER_REQUESTING_TEAM'), Text::_('COM_SPORTSMANAGER_OPPONENT_TEAM'));
for ($i = 0; $i <= 2; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->initial_ohne_termin == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="disallow_proposals"><?php echo Text::_('COM_SPORTSMANAGER_AGAINST_PROPOSALS_ALLOWED'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="keine_gegenvorschlaege"
id="disallow_proposals"
size="1">
<?php
$typ = array(Text::_('COM_SPORTSMANAGER_YES'), Text::_('COM_SPORTSMANAGER_NO'));
for ($i = 0; $i <= 1; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->keine_gegenvorschlaege == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="lead_time"><?php echo Text::_('COM_SPORTSMANAGER_LEAD_TIME'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="vorlaufzeit_tage"
id="lead_time" size="1">
<option
value="0"><?php echo Text::_('COM_SPORTSMANAGER_UNRESTRICTED'); ?></option>
<?php
for ($i = 1; $i <= 90; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->vorlaufzeit_tage == $i ? " selected" : "") : "") . ">" . ($i == 1 ? Text::_('COM_SPORTSMANAGER_ONE_DAY') : Text::sprintf('COM_SPORTSMANAGER_NUMBER_DAYS', $i)) . " </option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="minimal_proposal"><?php echo Text::_('COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MINIMAL'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="termine_minimal"
id="minimal_proposal" size="1">
<?php
for ($i = 1; $i <= 5; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->termine_minimal == $i ? " selected" : "") : "") . ">" . $i . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="maximal_proposal"><?php echo Text::_('COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MAXIMUM'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="termine_maximal"
id="maximal_proposal" size="1">
<?php
for ($i = 1; $i <= 5; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->termine_maximal == $i ? " selected" : "") : ($i == 3 ? " selected" : "")) . ">" . $i . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="reject_appointment"><?php echo Text::_('COM_SPORTSMANAGER_REJECT_APPOINTMENT_SHIFT'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="ablehnen"
id="reject_appointment" size="1">
<?php
$typ = array(Text::_('COM_SPORTSMANAGER_NOT_POSSIBLE'), Text::_('COM_SPORTSMANAGER_ANY'), Text::_('COM_SPORTSMANAGER_PROPOSING_TEAM'), Text::_('COM_SPORTSMANAGER_ACCEPTING_TEAM'));
for ($i = 0; $i <= 3; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->ablehnen == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap colspan="2">&nbsp;
<table style="width: 100%">
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="designation"><?php echo Text::_('COM_SPORTSMANAGER_DESIGNATION'); ?>
:</label>
</td>
<td nowrap>
<input class="inputbox" type="text" name="bezeichnung" id="designation"
size="50" maxlength="100"
value="<?php if ($row != null) echo htmlentities_utf8($row->bezeichnung); ?>"/>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="appointment_suggestion"><?php echo Text::_('COM_SPORTSMANAGER_INITIAL_APPOINTMENT_SUGGESTIONS'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="initial_ohne_termin"
id="appointment_suggestion" size="1">
<?php
$typ = array(Text::_('COM_SPORTSMANAGER_ANY'), Text::_('COM_SPORTSMANAGER_REQUESTING_TEAM'), Text::_('COM_SPORTSMANAGER_OPPONENT_TEAM'));
for ($i = 0; $i <= 2; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->initial_ohne_termin == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="disallow_proposals"><?php echo Text::_('COM_SPORTSMANAGER_AGAINST_PROPOSALS_ALLOWED'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="keine_gegenvorschlaege"
id="disallow_proposals"
size="1">
<?php
$typ = array(Text::_('COM_SPORTSMANAGER_YES'), Text::_('COM_SPORTSMANAGER_NO'));
for ($i = 0; $i <= 1; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->keine_gegenvorschlaege == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="lead_time"><?php echo Text::_('COM_SPORTSMANAGER_LEAD_TIME'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="vorlaufzeit_tage"
id="lead_time" size="1">
<option
value="0"><?php echo Text::_('COM_SPORTSMANAGER_UNRESTRICTED'); ?></option>
<?php
for ($i = 1; $i <= 90; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->vorlaufzeit_tage == $i ? " selected" : "") : "") . ">" . ($i == 1 ? Text::_('COM_SPORTSMANAGER_ONE_DAY') : Text::sprintf('COM_SPORTSMANAGER_NUMBER_DAYS', $i)) . " </option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="minimal_proposal"><?php echo Text::_('COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MINIMAL'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="termine_minimal"
id="minimal_proposal" size="1">
<?php
for ($i = 1; $i <= 5; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->termine_minimal == $i ? " selected" : "") : "") . ">" . $i . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="maximal_proposal"><?php echo Text::_('COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MAXIMUM'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="termine_maximal"
id="maximal_proposal" size="1">
<?php
for ($i = 1; $i <= 5; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->termine_maximal == $i ? " selected" : "") : ($i == 3 ? " selected" : "")) . ">" . $i . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="reject_appointment"><?php echo Text::_('COM_SPORTSMANAGER_REJECT_APPOINTMENT_SHIFT'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="ablehnen"
id="reject_appointment" size="1">
<?php
$typ = array(Text::_('COM_SPORTSMANAGER_NOT_POSSIBLE'), Text::_('COM_SPORTSMANAGER_ANY'), Text::_('COM_SPORTSMANAGER_PROPOSING_TEAM'), Text::_('COM_SPORTSMANAGER_ACCEPTING_TEAM'));
for ($i = 0; $i <= 3; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->ablehnen == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<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>
<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">&nbsp;
</td>
</tr>
</table>
</div>
</td>
</tr>
</td>
</tr>
</table>
</div>
@@ -886,6 +886,9 @@ COM_SPORTSMANAGER_INITIAL_APPOINTMENT_SUGGESTIONS="Initiale Terminvorschl&auml;g
COM_SPORTSMANAGER_REQUESTING_TEAM="Beantragende Mannschaft"
COM_SPORTSMANAGER_OPPONENT_TEAM="Gegnerische Mannschaft"
COM_SPORTSMANAGER_AGAINST_PROPOSALS_ALLOWED="Gegensvorschl&auml;ge zul&auml;ssig"
COM_SPORTSMANAGER_REASON_REQUIRED="Begr&uuml;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&auml;ge minimal"
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MAXIMUM="Terminvorschl&auml;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"