mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 06:27:52 +00:00
Überarbeitung Anzeige Vereinsliste in Frontend (issue #178)
This commit is contained in:
@@ -658,6 +658,7 @@ function adminEinstellungen(): void
|
||||
$lizenz_anzeigen = $jInput->get('lizenz_anzeigen', 0, 'INT');
|
||||
$anzahl_mitglieder_zeigen = $jInput->get('anzahl_mitglieder_zeigen', 0, 'INT');
|
||||
$verband_anzeigen = $jInput->get('verband_anzeigen', 0, 'INT');
|
||||
$spalte_mitglieder_zeigen = $jInput->get('spalte_mitglieder_zeigen', 0, 'INT');
|
||||
$turnierbaum_zeigen = $jInput->get('turnierbaum_zeigen', 0, 'INT');
|
||||
$termine_beantragen = $jInput->get('termine_beantragen', 0, 'INT');
|
||||
$spielerimport_persoenliche_daten_vorauswahl = $jInput->get('spielerimport_persoenliche_daten_vorauswahl', 0, 'INT');
|
||||
@@ -717,6 +718,14 @@ function adminEinstellungen(): void
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$query = "REPLACE #__sportsmanager_einstellungen"
|
||||
. "\n SET name = 'spalte_mitglieder_zeigen'"
|
||||
. ", wert = '$spalte_mitglieder_zeigen'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$query = "REPLACE #__sportsmanager_einstellungen"
|
||||
. "\n SET name = 'turnierbaum_zeigen'"
|
||||
. ", wert = '$turnierbaum_zeigen'";
|
||||
|
||||
@@ -3787,13 +3787,14 @@ function vereine($sort): void
|
||||
$db = getDatabase();
|
||||
global $params;
|
||||
$organisationAnzeigen = einstellungswert('verband_anzeigen');
|
||||
|
||||
$spalteMitgliederAnzeigen = einstellungswert('spalte_mitglieder_zeigen');
|
||||
if (!$spalteMitgliederAnzeigen) $sort = "vereinsname";
|
||||
$query = "SELECT t1.verein_id, t1.vereinsname, t1.vereinssitz,"
|
||||
. "\n t2.veranstalterbezeichnung, COUNT(*) As mitglieder"
|
||||
. "\n FROM #__sportsmanager_verein AS t1"
|
||||
. "\n LEFT JOIN #__sportsmanager_veranstalter AS t2 USING (veranstalter_id)"
|
||||
. "\n LEFT JOIN #__sportsmanager_mitglied_von_verein AS t3 USING (verein_id)"
|
||||
. "\n WHERE t1.ausgetreten = 0 AND verstecken = 0"
|
||||
. "\n WHERE t1.ausgetreten = 0 AND t1.verstecken = 0 AND t3.ausgetreten = 0"
|
||||
. "\n GROUP BY t1.verein_id";
|
||||
if ($sort == "mitglieder"){
|
||||
$query .= "\n HAVING mitglieder >= " . einstellungswert('anzahl_mitglieder_zeigen');
|
||||
@@ -3804,7 +3805,7 @@ function vereine($sort): void
|
||||
}
|
||||
|
||||
$vereine = loadObjectList($db, $query);
|
||||
HTML_sportsmanager::vereine($params->get('titel'), $params->get('beschreibung'), $vereine, $organisationAnzeigen);
|
||||
HTML_sportsmanager::vereine($params->get('titel'), $params->get('beschreibung'), $vereine, $organisationAnzeigen, $spalteMitgliederAnzeigen);
|
||||
administrationFooter();
|
||||
}
|
||||
|
||||
|
||||
@@ -3082,7 +3082,7 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
|
||||
}
|
||||
}
|
||||
|
||||
static function vereine($titel, $beschreibung, $rows, $organisationAnzeigen): void
|
||||
static function vereine($titel, $beschreibung, $rows, $organisationAnzeigen, $spalteMitgliederAnzeigen): void
|
||||
{
|
||||
global $params;
|
||||
if (!empty($titel)) { ?>
|
||||
@@ -3115,17 +3115,20 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
|
||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<?php if ($bilder_anzeigen) { ?>
|
||||
<th style='text-align: center; width: 120px;' nowrap>Vereinslogo</th>
|
||||
<th style='text-align: center; width: 120px;' nowrap>Vereinslogo</th>
|
||||
<?php } ?>
|
||||
<th style='text-align: left;' nowrap><strong>
|
||||
<a href="verband/vereine?view=sportsmanager&task=sort_by_vereinsname">
|
||||
<?php echo Text::_('COM_SPORTSMANAGER_TEAM_NAME2'); ?>
|
||||
</a>
|
||||
</strong></th>
|
||||
<th style='text-align: center;width: 120px;' nowrap><strong>
|
||||
<a href="verband/vereine?view=sportsmanager&task=sort_by_mitglieder">
|
||||
<?php echo Text::_('COM_SPORTSMANAGER_MEMBERS'); ?></a></strong></th>
|
||||
<th style='text-align: left;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_TEAM_SEAT'); ?></strong></th>
|
||||
<?php if ($spalteMitgliederAnzeigen){ ?>
|
||||
<th style='text-align: center;width: 120px;' nowrap><strong>
|
||||
<a href="verband/vereine?view=sportsmanager&task=sort_by_mitglieder">
|
||||
<?php echo Text::_('COM_SPORTSMANAGER_MEMBERS'); ?></a></strong></th>
|
||||
<th style='text-align: left;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_TEAM_SEAT'); ?>
|
||||
</strong></th>
|
||||
<?php } ?>
|
||||
<?php if ($organisationAnzeigen) { ?>
|
||||
<th style='text-align: left;' nowrap>Organisation</th>
|
||||
<?php } ?>
|
||||
@@ -3153,9 +3156,11 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
|
||||
<a href="<?php echo SportsManagerURL('&task=verein_details&id=' . $row->verein_id); ?>">
|
||||
<?php echo htmlentities_utf8(NichtLeererString($row->vereinsname)); ?></a>
|
||||
</td>
|
||||
<?php if ($spalteMitgliederAnzeigen){ ?>
|
||||
<td nowrap style="text-align: center">
|
||||
<?php echo $row->mitglieder; ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<td style='text-align: left;' nowrap><?php if (!empty($row->vereinssitz)) echo htmlentities_utf8($row->vereinssitz . (!empty($row->vereinssitz_ortsteil) ? ("-" . $row->vereinssitz_ortsteil) : "")); ?></td>
|
||||
<?php if ($organisationAnzeigen) {
|
||||
echo "<td nowrap style='text-align: left;'>" . $row->veranstalterbezeichnung . "</td>";
|
||||
|
||||
@@ -727,14 +727,9 @@ class HTML_sportsmanager_admin
|
||||
:</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<select class="uk-select uk-form-width-medium" name="anzahl_mitglieder_zeigen"
|
||||
id="show_member" size="1">
|
||||
<?php
|
||||
for ($wert = 0; $wert <= 99; $wert++) {
|
||||
echo "<option value=\"" . $wert . "\"" . (isset($einstellungen["anzahl_mitglieder_zeigen"]) && $einstellungen["anzahl_mitglieder_zeigen"] == $wert ? " selected" : "") . ">" . $wert . "</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<input style='height: 34px;' class="uk-select uk-form-width-medium" type="text"
|
||||
value= <?php echo $einstellungen["anzahl_mitglieder_zeigen"]; ?>
|
||||
id="anzahl_mitglieder_zeigen" name="anzahl_mitglieder_zeigen" placeholder="Zahl eingeben">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -755,6 +750,24 @@ class HTML_sportsmanager_admin
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<label
|
||||
for="show_count_members"><?php echo Text::_('COM_SPORTSMANAGER_SHOW_MEMBER_COUNT'); ?>
|
||||
:</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<select class="uk-select uk-form-width-medium" name="spalte_mitglieder_zeigen"
|
||||
id="show_count_members" size="1">
|
||||
<?php
|
||||
$spalte_mitglieder_zeigen = array(1 => Text::_('JYES'), 0 => Text::_('JNO'));
|
||||
foreach ($spalte_mitglieder_zeigen as $wert => $bezeichnung) {
|
||||
echo "<option value=\"" . $wert . "\"" . (isset($einstellungen["spalte_mitglieder_zeigen"]) && $einstellungen["spalte_mitglieder_zeigen"] == $wert ? " selected" : "") . ">" . htmlentities_utf8($bezeichnung) . "</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<label
|
||||
@@ -905,6 +918,35 @@ class HTML_sportsmanager_admin
|
||||
class="button"/>
|
||||
<input type="hidden" name="task" value="admin_einstellungen_save"/>
|
||||
</form>
|
||||
<script>
|
||||
// Eingabefelder nur für Zahlen
|
||||
function enableNumberOnly(input) {
|
||||
// Blockiere alles außer Ziffern
|
||||
input.addEventListener("beforeinput", function (e) {
|
||||
if (e.data && /[^0-9]/.test(e.data)) {
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
|
||||
// Entferne führende Nullen
|
||||
input.addEventListener("input", function () {
|
||||
if (this.value.length > 1 && this.value.startsWith("0")) {
|
||||
this.value = this.value.replace(/^0+/, "");
|
||||
}
|
||||
});
|
||||
|
||||
// Validiere beim Absenden
|
||||
input.form.addEventListener("submit", function (e) {
|
||||
if (input.value.trim() === "") {
|
||||
e.preventDefault();
|
||||
alert("Bitte eine Zahl eingeben – das Feld darf nicht leer bleiben!");
|
||||
input.focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
enableNumberOnly(document.getElementById("anzahl_mitglieder_zeigen"));
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
|
||||
|
||||
@@ -315,8 +315,9 @@ COM_SPORTSMANAGER_FOR_OTHER_CONTACT="Für andere Ansprechpartner"
|
||||
COM_SPORTSMANAGER_DATES_REGISTERED_USERS="Termine beantragten durch angemeldete Benutzer"
|
||||
COM_SPORTSMANAGER_VIEW_ELO_RATING="Elo-Wertung anzeigen"
|
||||
COM_SPORTSMANAGER_VIEW_SPORTSMANAGER_LIZENZ="Lizenz anzeigen"
|
||||
COM_SPORTSMANAGER_VIEW_LEAST_MEMBER_COUNT="Mindest Mitgliederzahl zeigen"
|
||||
COM_SPORTSMANAGER_SHOW_ORGANISATION="Verband zeigen"
|
||||
COM_SPORTSMANAGER_VIEW_LEAST_MEMBER_COUNT="Mindest Mitgliederzahl zeigen (Vereine)"
|
||||
COM_SPORTSMANAGER_SHOW_ORGANISATION="Spalte Verband zeigen (Vereine)"
|
||||
COM_SPORTSMANAGER_SHOW_MEMBER_COUNT="Spalte Mitglieder Zeigen (Vereine)"
|
||||
COM_SPORTSMANAGER_SHOW_TOURNAMENT_BRACKET="Turnierbaum anzeigen"
|
||||
COM_SPORTSMANAGER_PLAYER_DETAILS="Spielerdetails"
|
||||
COM_SPORTSMANAGER_PLAYER_LIST_DETAILS="Spielerliste/-details"
|
||||
|
||||
@@ -315,8 +315,9 @@ COM_SPORTSMANAGER_FOR_OTHER_CONTACT="For other contact"
|
||||
COM_SPORTSMANAGER_DATES_REGISTERED_USERS="Apply dates by registered users"
|
||||
COM_SPORTSMANAGER_VIEW_ELO_RATING="View Elo rating"
|
||||
COM_SPORTSMANAGER_VIEW_SPORTSMANAGER_LIZENZ="Show License"
|
||||
COM_SPORTSMANAGER_VIEW_LEAST_MEMBER_COUNT="Show least member count"
|
||||
COM_SPORTSMANAGER_SHOW_ORGANISATION="Show organisation"
|
||||
COM_SPORTSMANAGER_VIEW_LEAST_MEMBER_COUNT="Show least member count (teams)"
|
||||
COM_SPORTSMANAGER_SHOW_ORGANISATION="Show organisation (teams)"
|
||||
COM_SPORTSMANAGER_SHOW_MEMBER_COUNT="Show member column (teams)"
|
||||
COM_SPORTSMANAGER_SHOW_TOURNAMENT_BRACKET="Show Tournament Bracket"
|
||||
COM_SPORTSMANAGER_PLAYER_DETAILS="Player details"
|
||||
COM_SPORTSMANAGER_PLAYER_LIST_DETAILS="Player list details"
|
||||
|
||||
Reference in New Issue
Block a user