mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 06:27:52 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7d47b3ed24 |
File diff suppressed because it is too large
Load Diff
@@ -43,7 +43,6 @@ require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/vie
|
|||||||
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_ticker.php';
|
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_ticker.php';
|
||||||
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
|
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
|
||||||
require_once JPATH_SITE . '/components/com_sportsmanager/util/email.php';
|
require_once JPATH_SITE . '/components/com_sportsmanager/util/email.php';
|
||||||
require_once JPATH_SITE . '/components/com_sportsmanager/util/export.php';
|
|
||||||
require_once JPATH_SITE . '/components/com_sportsmanager/database/update.php'; // will also include init.php and util.php
|
require_once JPATH_SITE . '/components/com_sportsmanager/database/update.php'; // will also include init.php and util.php
|
||||||
|
|
||||||
initDatabase();
|
initDatabase();
|
||||||
@@ -84,9 +83,6 @@ if ($task == "spielerbild") {
|
|||||||
case 'admin_einstellungen_save':
|
case 'admin_einstellungen_save':
|
||||||
adminSaveEinstellungen();
|
adminSaveEinstellungen();
|
||||||
break;
|
break;
|
||||||
case 'admin_sportshub':
|
|
||||||
adminSportshub();
|
|
||||||
break;
|
|
||||||
case 'admin_datenbank':
|
case 'admin_datenbank':
|
||||||
adminDatenbank();
|
adminDatenbank();
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1,804 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Joomla/PHP export to importFormat.json structure.
|
|
||||||
*
|
|
||||||
* Assumptions:
|
|
||||||
* - Joomla table prefix is used via #__.
|
|
||||||
* - Source timezone is Europe/Berlin; output is UTC ISO-8601 "Z".
|
|
||||||
* - For turnier:
|
|
||||||
* - rundenstufe = 10 => Vorrunde
|
|
||||||
* - rundenstufe = 1,2,3 => Hauptrunde with groups:
|
|
||||||
* 1 => Profifeld, 2 => Amateurfeld, 3 => Hobbyfeld
|
|
||||||
* - For team-based exports:
|
|
||||||
* - stage/group are synthesized as defaults.
|
|
||||||
*
|
|
||||||
* Place this in a Joomla context (CLI script, controller, or a small admin entry point).
|
|
||||||
*/
|
|
||||||
|
|
||||||
defined('_JEXEC') or die;
|
|
||||||
|
|
||||||
use Joomla\Database\DatabaseDriver;
|
|
||||||
|
|
||||||
final class SMExporter
|
|
||||||
{
|
|
||||||
|
|
||||||
private DatabaseDriver $db;
|
|
||||||
|
|
||||||
private DateTimeZone $sourceTz;
|
|
||||||
private DateTimeZone $outputTz;
|
|
||||||
|
|
||||||
// Optional filter; set to null for all seasons
|
|
||||||
private $exportSeasonId = null;
|
|
||||||
|
|
||||||
// Optional file output; set to null to echo JSON only
|
|
||||||
private string $outputFile = JPATH_ROOT . '/tsm.json';
|
|
||||||
|
|
||||||
private array $playerCache = [];
|
|
||||||
private array $meldungsPlayersCache = [];
|
|
||||||
private array $teamCache = [];
|
|
||||||
|
|
||||||
private array $disciplineShortNames = ['Offenes Doppel' => 'OD',
|
|
||||||
'Offenes Einzel' => 'OE',
|
|
||||||
'Damen Doppel' => 'DD',
|
|
||||||
'Damen Einzel' => 'DE',
|
|
||||||
'Herren Doppel' => 'HD',
|
|
||||||
'Herren Einzel' => 'HE',
|
|
||||||
'Junioren Doppel' => 'JD',
|
|
||||||
'Junioren Einzel' => 'JE',
|
|
||||||
'Senioren Doppel' => 'SD',
|
|
||||||
'Senioren Einzel' => 'SE',];
|
|
||||||
|
|
||||||
public function __construct(DatabaseDriver $db)
|
|
||||||
{
|
|
||||||
$this->db = $db;
|
|
||||||
$this->sourceTz = new DateTimeZone('Europe/Berlin');
|
|
||||||
$this->outputTz = new DateTimeZone('UTC');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Format a DB date/datetime into UTC ISO-8601.
|
|
||||||
*/
|
|
||||||
function isoUtc(?string $value, DateTimeZone $sourceTz, DateTimeZone $outputTz): ?string
|
|
||||||
{
|
|
||||||
if (!$value || $value === '0000-00-00' || $value === '0000-00-00 00:00:00') {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
$dt = new DateTimeImmutable($value, $sourceTz);
|
|
||||||
return $dt->setTimezone($outputTz)->format('Y-m-d\TH:i:s\Z');
|
|
||||||
} catch (Throwable $e) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Build shortName from kuerzel or disziplin text.
|
|
||||||
*/
|
|
||||||
function disciplineShortName(?string $kuerzel, ?string $disziplin): string
|
|
||||||
{
|
|
||||||
$kuerzel = trim((string)$kuerzel);
|
|
||||||
if ($kuerzel !== '') {
|
|
||||||
return $kuerzel;
|
|
||||||
}
|
|
||||||
|
|
||||||
$disziplin = (string)$disziplin;
|
|
||||||
foreach ($this->disciplineShortNames as $needle => $short) {
|
|
||||||
if (mb_stripos($disziplin, $needle) !== false) {
|
|
||||||
return $short;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Last-resort fallback: initials of the words
|
|
||||||
$words = preg_split('/\s+/', trim($disziplin));
|
|
||||||
$initials = '';
|
|
||||||
foreach ($words as $w) {
|
|
||||||
if ($w !== '') {
|
|
||||||
$initials .= mb_substr($w, 0, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $initials !== '' ? mb_strtoupper($initials) : 'X';
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Build a person object from spieler_id or from turniermeldung_spieler_name.
|
|
||||||
*/
|
|
||||||
function getPersonForSpieler(
|
|
||||||
Joomla\Database\DatabaseInterface $db,
|
|
||||||
?int $spielerId,
|
|
||||||
?int $turniermeldungSpielerId,
|
|
||||||
array &$playerCache
|
|
||||||
): array
|
|
||||||
{
|
|
||||||
if ($spielerId && isset($playerCache[$spielerId])) {
|
|
||||||
return $playerCache[$spielerId];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($spielerId) {
|
|
||||||
$query = $db->getQuery(true)
|
|
||||||
->select(['spieler_id', 'vorname', 'nachname', 'spielernr'])
|
|
||||||
->from($db->quoteName('#__sportsmanager_spieler'))
|
|
||||||
->where($db->quoteName('spieler_id') . ' = ' . (int)$spielerId);
|
|
||||||
|
|
||||||
$db->setQuery($query);
|
|
||||||
$row = $db->loadObject();
|
|
||||||
|
|
||||||
$person = [
|
|
||||||
'name' => $row ? trim(($row->vorname ?? '') . ' ' . ($row->nachname ?? '')) : ('Spieler ' . $spielerId),
|
|
||||||
'playerNr' => $row && !empty($row->spielernr) ? (string)$row->spielernr : null,
|
|
||||||
];
|
|
||||||
|
|
||||||
$playerCache[$spielerId] = $person;
|
|
||||||
return $person;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($turniermeldungSpielerId) {
|
|
||||||
$query = $db->getQuery(true)
|
|
||||||
->select(['vorname', 'nachname', 'vereinsname'])
|
|
||||||
->from($db->quoteName('#__sportsmanager_turniermeldung_spieler_name'))
|
|
||||||
->where($db->quoteName('turniermeldung_spieler_id') . ' = ' . (int)$turniermeldungSpielerId)
|
|
||||||
->order('turniermeldung_spieler_name_id ASC');
|
|
||||||
|
|
||||||
$db->setQuery($query);
|
|
||||||
$row = $db->loadObject();
|
|
||||||
|
|
||||||
if ($row) {
|
|
||||||
return [
|
|
||||||
'name' => trim(($row->vorname ?? '') . ' ' . ($row->nachname ?? '')),
|
|
||||||
'playerNr' => null,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return [
|
|
||||||
'name' => 'Unknown',
|
|
||||||
'playerNr' => null,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get all players assigned to a turniermeldung.
|
|
||||||
*/
|
|
||||||
function getMeldungPlayers(
|
|
||||||
Joomla\Database\DatabaseInterface $db,
|
|
||||||
int $turniermeldungId,
|
|
||||||
array &$meldungsPlayersCache,
|
|
||||||
array &$playerCache
|
|
||||||
): array
|
|
||||||
{
|
|
||||||
if (isset($meldungsPlayersCache[$turniermeldungId])) {
|
|
||||||
return $meldungsPlayersCache[$turniermeldungId];
|
|
||||||
}
|
|
||||||
|
|
||||||
$query = $db->getQuery(true)
|
|
||||||
->select(['tms.turniermeldung_spieler_id', 'tms.spieler_id'])
|
|
||||||
->from($db->quoteName('#__sportsmanager_turniermeldung_spieler', 'tms'))
|
|
||||||
->where('tms.turniermeldung_id = ' . $turniermeldungId)
|
|
||||||
->order('tms.turniermeldung_spieler_id ASC');
|
|
||||||
|
|
||||||
$db->setQuery($query);
|
|
||||||
$rows = $db->loadObjectList();
|
|
||||||
|
|
||||||
$players = [];
|
|
||||||
foreach ($rows as $row) {
|
|
||||||
$players[] = $this->getPersonForSpieler($db, $row->spieler_id ? (int)$row->spieler_id : null, (int)$row->turniermeldung_spieler_id, $playerCache);
|
|
||||||
}
|
|
||||||
|
|
||||||
$meldungsPlayersCache[$turniermeldungId] = $players;
|
|
||||||
return $players;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Build display name for a side.
|
|
||||||
*/
|
|
||||||
function buildSideName(array $players): string
|
|
||||||
{
|
|
||||||
if (count($players) === 0) {
|
|
||||||
return 'Unknown';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (count($players) === 1) {
|
|
||||||
return $players[0]['name'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$names = [];
|
|
||||||
foreach ($players as $p) {
|
|
||||||
$names[] = $p['name'];
|
|
||||||
}
|
|
||||||
|
|
||||||
return implode(' / ', $names);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Parse set scores from a result string.
|
|
||||||
* Supports patterns like "11:7;11:9", "11-7 11-9", etc.
|
|
||||||
*/
|
|
||||||
function parseSets(array $detail): array
|
|
||||||
{
|
|
||||||
$sets = [];
|
|
||||||
$n = 1;
|
|
||||||
foreach ($detail as $set) {
|
|
||||||
$set = trim((string)$set);
|
|
||||||
if ($set === '') {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
preg_match_all('/(\d{1,2})\s*[:\-]\s*(\d{1,2})/', $set, $m, PREG_SET_ORDER);
|
|
||||||
foreach ($m as $match) {
|
|
||||||
$sets[] = [
|
|
||||||
'number' => $n++,
|
|
||||||
'scoreHome' => (int)$match[1],
|
|
||||||
'scoreAway' => (int)$match[2],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $sets;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine match state.
|
|
||||||
*/
|
|
||||||
function determineMatchState($result, array $detail): string
|
|
||||||
{
|
|
||||||
if ($result !== null || ( !empty($detail) && !array_filter($detail, fn($v) => $v === null || trim((string)$v) === ''))) {
|
|
||||||
return 'PLAYED';
|
|
||||||
}
|
|
||||||
return 'SCHEDULED';
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine match state.
|
|
||||||
*/
|
|
||||||
function determineWinner(array $detail, string $sourceType): string
|
|
||||||
{
|
|
||||||
if ($sourceType === 'TEAM') {
|
|
||||||
$sets = $this->parseSets($detail);
|
|
||||||
$homeSetsWon = 0;
|
|
||||||
$awaySetsWon = 0;
|
|
||||||
foreach ($sets as $set) {
|
|
||||||
if ($set['scoreHome'] > $set['scoreAway']) {
|
|
||||||
$homeSetsWon++;
|
|
||||||
} elseif ($set['scoreHome'] < $set['scoreAway']) {
|
|
||||||
$awaySetsWon++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($homeSetsWon > $awaySetsWon) {
|
|
||||||
return 'HOME';
|
|
||||||
} elseif ($homeSetsWon < $awaySetsWon) {
|
|
||||||
return 'AWAY';
|
|
||||||
}
|
|
||||||
return 'DRAW';
|
|
||||||
} else {
|
|
||||||
if (count($detail) >0) {
|
|
||||||
if ($detail[0] == 1) {
|
|
||||||
return 'HOME';
|
|
||||||
} elseif ($detail[0] == 2) {
|
|
||||||
return 'AWAY';
|
|
||||||
} else {
|
|
||||||
return 'DRAW';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 'UNKNOWN';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine group state based on a cutoff date.
|
|
||||||
*/
|
|
||||||
function determineFinishedState(?string $cutoffDate): string
|
|
||||||
{
|
|
||||||
if (!$cutoffDate || $cutoffDate === '0000-00-00') {
|
|
||||||
return 'PLANNED';
|
|
||||||
}
|
|
||||||
|
|
||||||
$today = new DateTimeImmutable('today');
|
|
||||||
$cutoff = new DateTimeImmutable($cutoffDate);
|
|
||||||
|
|
||||||
return ($cutoff < $today) ? 'FINISHED' : 'RUNNING';
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Build one match object.
|
|
||||||
*/
|
|
||||||
function buildMatch(
|
|
||||||
array $homePlayers,
|
|
||||||
array $awayPlayers,
|
|
||||||
?string $startDate,
|
|
||||||
?string $endDate,
|
|
||||||
?int $result,
|
|
||||||
array $detail,
|
|
||||||
string $sourceType
|
|
||||||
): array
|
|
||||||
{
|
|
||||||
$type = (count($homePlayers) > 1 || count($awayPlayers) > 1) ? 'DOUBLE' : 'SINGLE';
|
|
||||||
$match = [
|
|
||||||
'startDate' => $startDate,
|
|
||||||
'endDate' => $endDate,
|
|
||||||
'type' => $type,
|
|
||||||
'state' => $this->determineMatchState($result, $detail),
|
|
||||||
'players' => [],
|
|
||||||
'sets' => $sourceType === 'TEAM' ? $this->parseSets($detail) : [],
|
|
||||||
'winner' => $this->determineWinner($detail, $sourceType),
|
|
||||||
];
|
|
||||||
|
|
||||||
foreach ($homePlayers as $p) {
|
|
||||||
$match['players'][] = [
|
|
||||||
'name' => $p['name'],
|
|
||||||
'playerNr' => $p['playerNr'],
|
|
||||||
'side' => 'HOME',
|
|
||||||
];
|
|
||||||
}
|
|
||||||
foreach ($awayPlayers as $p) {
|
|
||||||
$match['players'][] = [
|
|
||||||
'name' => $p['name'],
|
|
||||||
'playerNr' => $p['playerNr'],
|
|
||||||
'side' => 'AWAY',
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
// If detail parsing produced no sets, keep the structure valid by leaving it empty.
|
|
||||||
if ($sourceType === 'TEAM' && empty($match['sets']) && $result !== null) {
|
|
||||||
$match['sets'] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $match;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* group matches. Based on String (e.g. E1E1, D1D1, D1D1, E2E2, D2D2 etc.)
|
|
||||||
*/
|
|
||||||
function groupMatches(array $pattern, array $games): array {
|
|
||||||
$grouped = [];
|
|
||||||
$order = []; // to preserve first appearance order
|
|
||||||
|
|
||||||
foreach ($pattern as $i => $slot) {
|
|
||||||
if (!array_key_exists($i, $games)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (!isset($grouped[$slot])) {
|
|
||||||
$grouped[$slot] = [
|
|
||||||
'type' => $slot,
|
|
||||||
'sets' => []
|
|
||||||
];
|
|
||||||
$order[] = $slot; // remember order of first occurrence
|
|
||||||
}
|
|
||||||
|
|
||||||
$grouped[$slot]['sets'][] = $games[$i];
|
|
||||||
}
|
|
||||||
|
|
||||||
// rebuild ordered result
|
|
||||||
$result = [];
|
|
||||||
foreach ($order as $slot) {
|
|
||||||
$result[] = $grouped[$slot];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
function run(): void
|
|
||||||
{
|
|
||||||
set_time_limit(0);
|
|
||||||
$db = $this->db;
|
|
||||||
$export = [
|
|
||||||
'meta' => [
|
|
||||||
// Keep the organization value explicit, or replace it from settings if available.
|
|
||||||
'organisation' => 'TFVSH',
|
|
||||||
],
|
|
||||||
'seasons' => [],
|
|
||||||
];
|
|
||||||
|
|
||||||
// Seasons
|
|
||||||
$seasonSql = $db->getQuery(true)
|
|
||||||
->select(['saison_id', 'saisonbezeichnung'])
|
|
||||||
->from($db->quoteName('#__sportsmanager_saison'))
|
|
||||||
->order('saisonbezeichnung ASC, saison_id ASC');
|
|
||||||
|
|
||||||
if ($this->exportSeasonId !== null) {
|
|
||||||
$seasonSql->where('saison_id = ' . (int)$this->exportSeasonId);
|
|
||||||
}
|
|
||||||
|
|
||||||
$db->setQuery($seasonSql);
|
|
||||||
$seasons = $db->loadObjectList();
|
|
||||||
|
|
||||||
foreach ($seasons as $season) {
|
|
||||||
$seasonNode = [
|
|
||||||
'name' => (string)$season->saisonbezeichnung,
|
|
||||||
'events' => [],
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Event type 1: turniere
|
|
||||||
*/
|
|
||||||
$turnierSql = $db->getQuery(true)
|
|
||||||
->select([
|
|
||||||
't.turnier_id',
|
|
||||||
't.turnierbezeichnung',
|
|
||||||
't.erster_tag',
|
|
||||||
't.letzter_tag',
|
|
||||||
])
|
|
||||||
->from($db->quoteName('#__sportsmanager_turnier', 't'))
|
|
||||||
->where('t.saison_id = ' . (int)$season->saison_id)
|
|
||||||
->order('t.erster_tag ASC, t.turnier_id ASC');
|
|
||||||
|
|
||||||
$db->setQuery($turnierSql);
|
|
||||||
$turniere = $db->loadObjectList();
|
|
||||||
|
|
||||||
foreach ($turniere as $turnier) {
|
|
||||||
$eventNode = [
|
|
||||||
'name' => (string)$turnier->turnierbezeichnung,
|
|
||||||
'disciplines' => [],
|
|
||||||
];
|
|
||||||
|
|
||||||
$discSql = $db->getQuery(true)
|
|
||||||
->select([
|
|
||||||
'd.turnierdisziplin_id',
|
|
||||||
'd.disziplin',
|
|
||||||
'd.kuerzel',
|
|
||||||
'd.beginn',
|
|
||||||
])
|
|
||||||
->from($db->quoteName('#__sportsmanager_turnierdisziplin', 'd'))
|
|
||||||
->where('d.turnier_id = ' . (int)$turnier->turnier_id)
|
|
||||||
->order('d.reihenfolge ASC, d.turnierdisziplin_id ASC');
|
|
||||||
|
|
||||||
$db->setQuery($discSql);
|
|
||||||
$disciplines = $db->loadObjectList();
|
|
||||||
|
|
||||||
foreach ($disciplines as $disc) {
|
|
||||||
$disciplineNode = [
|
|
||||||
'name' => (string)$disc->disziplin,
|
|
||||||
'shortName' => $this->disciplineShortName($disc->kuerzel, $disc->disziplin),
|
|
||||||
'stages' => [],
|
|
||||||
];
|
|
||||||
|
|
||||||
$spielSql = $db->getQuery(true)
|
|
||||||
->select([
|
|
||||||
'ts.turnierspiel_id',
|
|
||||||
'ts.turnierdisziplin_id',
|
|
||||||
'ts.spiel_nummer',
|
|
||||||
'ts.runde',
|
|
||||||
'ts.rundenstufe',
|
|
||||||
'ts.heim_meldung_id',
|
|
||||||
'ts.gast_meldung_id',
|
|
||||||
'ts.ergebnis',
|
|
||||||
'ts.ergebnis_detailliert',
|
|
||||||
'hm.meldungsgruppe_id AS heim_meldungsgruppe_id',
|
|
||||||
'gm.meldungsgruppe_id AS gast_meldungsgruppe_id',
|
|
||||||
])
|
|
||||||
->from($db->quoteName('#__sportsmanager_turnierspiel', 'ts'))
|
|
||||||
->leftJoin($db->quoteName('#__sportsmanager_turniermeldung', 'hm') . ' ON hm.turniermeldung_id = ts.heim_meldung_id')
|
|
||||||
->leftJoin($db->quoteName('#__sportsmanager_turniermeldung', 'gm') . ' ON gm.turniermeldung_id = ts.gast_meldung_id')
|
|
||||||
->where('ts.turnierdisziplin_id = ' . (int)$disc->turnierdisziplin_id)
|
|
||||||
->order('COALESCE(ts.rundenstufe, 99) ASC, COALESCE(ts.runde, 99) ASC, COALESCE(ts.spiel_nummer, 99) ASC, ts.turnierspiel_id ASC');
|
|
||||||
|
|
||||||
$db->setQuery($spielSql);
|
|
||||||
$spiele = $db->loadObjectList();
|
|
||||||
|
|
||||||
$stages = [];
|
|
||||||
foreach ($spiele as $spiel) {
|
|
||||||
$rundenstufe = (int)($spiel->rundenstufe ?? 0);
|
|
||||||
|
|
||||||
if ($rundenstufe === 10) {
|
|
||||||
$stageName = 'Vorrunde';
|
|
||||||
$groupName = 'Vorrunde';
|
|
||||||
} elseif (in_array($rundenstufe, [1, 2, 3], true)) {
|
|
||||||
$stageName = 'Hauptrunde';
|
|
||||||
$groupName = match ($rundenstufe) {
|
|
||||||
1 => 'Profifeld',
|
|
||||||
2 => 'Amateurfeld',
|
|
||||||
3 => 'Hobbyfeld',
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
$stageName = 'Stage A';
|
|
||||||
$groupName = 'Group A';
|
|
||||||
}
|
|
||||||
|
|
||||||
$groupKey = $stageName . '|' . $groupName;
|
|
||||||
|
|
||||||
if (!isset($stages[$stageName])) {
|
|
||||||
$stages[$stageName] = [];
|
|
||||||
}
|
|
||||||
if (!isset($stages[$stageName][$groupKey])) {
|
|
||||||
$stages[$stageName][$groupKey] = [
|
|
||||||
'name' => $groupName,
|
|
||||||
'rounds' => [],
|
|
||||||
'_dates' => [],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
$homePlayers = $this->getMeldungPlayers($db, (int)$spiel->heim_meldung_id, $this->meldungsPlayersCache, $this->playerCache);
|
|
||||||
$awayPlayers = $this->getMeldungPlayers($db, (int)$spiel->gast_meldung_id, $this->meldungsPlayersCache, $this->playerCache);
|
|
||||||
|
|
||||||
$homeName = $this->buildSideName($homePlayers);
|
|
||||||
$awayName = $this->buildSideName($awayPlayers);
|
|
||||||
|
|
||||||
$startDate = $this->isoUtc((string)$disc->beginn, $this->sourceTz, $this->outputTz) ?: $this->isoUtc($turnier->erster_tag . ' 00:00:00', $this->sourceTz, $this->outputTz);
|
|
||||||
$endDate = $this->isoUtc((string)$disc->beginn, $this->sourceTz, $this->outputTz) ?: $this->isoUtc($turnier->letzter_tag . ' 23:59:59', $this->sourceTz, $this->outputTz);
|
|
||||||
|
|
||||||
$match = $this->buildMatch(
|
|
||||||
$homePlayers,
|
|
||||||
$awayPlayers,
|
|
||||||
$startDate,
|
|
||||||
$endDate,
|
|
||||||
$spiel->ergebnis !== null ? (int)$spiel->ergebnis : null,
|
|
||||||
[$spiel->ergebnis ?? null],
|
|
||||||
'TURNIER'
|
|
||||||
);
|
|
||||||
|
|
||||||
$roundIndex = $spiel->runde ?? 1;
|
|
||||||
$roundKey = (string)$roundIndex;
|
|
||||||
|
|
||||||
if (!isset($stages[$stageName][$groupKey]['rounds'][$roundKey])) {
|
|
||||||
$stages[$stageName][$groupKey]['rounds'][$roundKey] = [
|
|
||||||
'index' => $roundIndex,
|
|
||||||
'name' => 'Round ' . $roundIndex,
|
|
||||||
'matchdays' => [],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
$matchdayName = 'Day ' . (int)($spiel->spiel_nummer ?: $spiel->turnierspiel_id);
|
|
||||||
$stages[$stageName][$groupKey]['rounds'][$roundKey]['matchdays'][] = [
|
|
||||||
'name' => $matchdayName,
|
|
||||||
'startDate' => $startDate,
|
|
||||||
'endDate' => $endDate,
|
|
||||||
'teamHome' => ['name' => $homeName],
|
|
||||||
'teamAway' => ['name' => $awayName],
|
|
||||||
'matches' => [$match],
|
|
||||||
];
|
|
||||||
|
|
||||||
$stages[$stageName][$groupKey]['_dates'][] = $turnier->letzter_tag ?: $turnier->erster_tag;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($stages as $stageName => $groupBucket) {
|
|
||||||
$stageNode = [
|
|
||||||
'name' => $stageName,
|
|
||||||
'groups' => [],
|
|
||||||
];
|
|
||||||
|
|
||||||
foreach ($groupBucket as $groupKey => $groupData) {
|
|
||||||
$cutoffDate = null;
|
|
||||||
if (!empty($groupData['_dates'])) {
|
|
||||||
$cutoffDate = max($groupData['_dates']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$groupNode = [
|
|
||||||
'name' => $groupData['name'],
|
|
||||||
'tournamentMode' => 'unknown',
|
|
||||||
'state' => $this->determineFinishedState($cutoffDate),
|
|
||||||
'rounds' => [],
|
|
||||||
];
|
|
||||||
|
|
||||||
ksort($groupData['rounds'], SORT_NATURAL);
|
|
||||||
foreach ($groupData['rounds'] as $round) {
|
|
||||||
$groupNode['rounds'][] = $round;
|
|
||||||
}
|
|
||||||
|
|
||||||
$stageNode['groups'][] = $groupNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
$disciplineNode['stages'][] = $stageNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
$eventNode['disciplines'][] = $disciplineNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
$seasonNode['events'][] = $eventNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Event type 2: team-based events from veranstaltung via team/begegnung/teamspiel
|
|
||||||
*/
|
|
||||||
$veranstaltungSql = $db->getQuery(true)
|
|
||||||
->select([
|
|
||||||
'v.veranstaltung_id',
|
|
||||||
'v.bezeichnung',
|
|
||||||
'v.erster_tag',
|
|
||||||
'v.letzter_tag',
|
|
||||||
'tsm.modus AS modus'
|
|
||||||
])
|
|
||||||
->from($db->quoteName('#__sportsmanager_veranstaltung', 'v'))
|
|
||||||
->innerJoin($db->quoteName('#__sportsmanager_team', 'tm') . ' ON tm.veranstaltung_id = v.veranstaltung_id')
|
|
||||||
->leftJoin($db->quoteName('#__sportsmanager_teamspiel_modus', 'tsm') . ' ON tsm.teamspiel_modus_id = v.modus_id')
|
|
||||||
->where('v.saison_id = ' . (int)$season->saison_id)
|
|
||||||
->group('v.veranstaltung_id, v.bezeichnung, v.erster_tag, v.letzter_tag')
|
|
||||||
->order('v.erster_tag, v.veranstaltung_id');
|
|
||||||
|
|
||||||
$db->setQuery($veranstaltungSql);
|
|
||||||
$veranstaltungen = $db->loadObjectList();
|
|
||||||
|
|
||||||
foreach ($veranstaltungen as $veranstaltung) {
|
|
||||||
|
|
||||||
$modus = array_map('trim', explode(',', $veranstaltung->modus));
|
|
||||||
|
|
||||||
$eventNode = [
|
|
||||||
'name' => (string)$veranstaltung->bezeichnung,
|
|
||||||
'disciplines' => [
|
|
||||||
[
|
|
||||||
'name' => 'Teamspiel',
|
|
||||||
'shortName' => 'TS',
|
|
||||||
'stages' => [
|
|
||||||
[
|
|
||||||
'name' => 'Stage A',
|
|
||||||
'groups' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
|
|
||||||
$groupNode = [
|
|
||||||
'name' => 'Group A',
|
|
||||||
'tournamentMode' => 'unknown',
|
|
||||||
'state' => 'PLANNED',
|
|
||||||
'rounds' => [],
|
|
||||||
];
|
|
||||||
|
|
||||||
$begegnungSql = $db->getQuery(true)
|
|
||||||
->select([
|
|
||||||
'b.begegnung_id',
|
|
||||||
'b.heim_team_id',
|
|
||||||
'b.gast_team_id',
|
|
||||||
'b.zeitpunkt',
|
|
||||||
'b.spieltag',
|
|
||||||
'b.spieltag_titel',
|
|
||||||
'b.spiel_nr',
|
|
||||||
])
|
|
||||||
->from($db->quoteName('#__sportsmanager_begegnung', 'b'))
|
|
||||||
->innerJoin($db->quoteName('#__sportsmanager_team', 'th') . ' ON th.team_id = b.heim_team_id')
|
|
||||||
->innerJoin($db->quoteName('#__sportsmanager_team', 'tg') . ' ON tg.team_id = b.gast_team_id')
|
|
||||||
->where('th.veranstaltung_id = ' . (int)$veranstaltung->veranstaltung_id)
|
|
||||||
->order('COALESCE(b.spieltag, 9999) ASC, b.zeitpunkt ASC, b.begegnung_id ASC');
|
|
||||||
|
|
||||||
$db->setQuery($begegnungSql);
|
|
||||||
$begegnungen = $db->loadObjectList();
|
|
||||||
|
|
||||||
$groupDates = [];
|
|
||||||
$roundsByKey = [];
|
|
||||||
|
|
||||||
foreach ($begegnungen as $begegnung) {
|
|
||||||
$homeTeamId = (int)$begegnung->heim_team_id;
|
|
||||||
$awayTeamId = (int)$begegnung->gast_team_id;
|
|
||||||
|
|
||||||
if (!isset($this->teamCache[$homeTeamId])) {
|
|
||||||
$db->setQuery(
|
|
||||||
$db->getQuery(true)
|
|
||||||
->select(['team_id', 'teamname'])
|
|
||||||
->from($db->quoteName('#__sportsmanager_team'))
|
|
||||||
->where('team_id = ' . $homeTeamId)
|
|
||||||
);
|
|
||||||
$this->teamCache[$homeTeamId] = $db->loadObject();
|
|
||||||
}
|
|
||||||
if (!isset($this->teamCache[$awayTeamId])) {
|
|
||||||
$db->setQuery(
|
|
||||||
$db->getQuery(true)
|
|
||||||
->select(['team_id', 'teamname'])
|
|
||||||
->from($db->quoteName('#__sportsmanager_team'))
|
|
||||||
->where('team_id = ' . $awayTeamId)
|
|
||||||
);
|
|
||||||
$this->teamCache[$awayTeamId] = $db->loadObject();
|
|
||||||
}
|
|
||||||
|
|
||||||
$homeTeam = $this->teamCache[$homeTeamId];
|
|
||||||
$awayTeam = $this->teamCache[$awayTeamId];
|
|
||||||
|
|
||||||
$roundIndex = $begegnung->spieltag ?? 1;
|
|
||||||
$roundKey = (string)$roundIndex;
|
|
||||||
if (!isset($roundsByKey[$roundKey])) {
|
|
||||||
$roundsByKey[$roundKey] = [
|
|
||||||
'index' => $roundIndex,
|
|
||||||
'name' => 'Round ' . $roundIndex,
|
|
||||||
'matchdays' => [],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
$teamspielSql = $db->getQuery(true)
|
|
||||||
->select([
|
|
||||||
'ts.teamspiel_id',
|
|
||||||
'ts.teamspiel_nummer',
|
|
||||||
'ts.heim_spieler_1_id',
|
|
||||||
'ts.heim_spieler_2_id',
|
|
||||||
'ts.gast_spieler_1_id',
|
|
||||||
'ts.gast_spieler_2_id',
|
|
||||||
'ts.teamspiel_heim_punkte',
|
|
||||||
'ts.teamspiel_gast_punkte',
|
|
||||||
'ts.teamspiel_heim_spielpunkte',
|
|
||||||
'ts.teamspiel_gast_spielpunkte',
|
|
||||||
'ts.ergebnis_detailliert',
|
|
||||||
])
|
|
||||||
->from($db->quoteName('#__sportsmanager_teamspiel', 'ts'))
|
|
||||||
->where('ts.begegnung_id = ' . (int)$begegnung->begegnung_id)
|
|
||||||
->order('ts.teamspiel_nummer ASC, ts.teamspiel_id ASC');
|
|
||||||
|
|
||||||
$db->setQuery($teamspielSql);
|
|
||||||
$teamspiele = $db->loadObjectList();
|
|
||||||
|
|
||||||
$matchdayMatches = [];
|
|
||||||
$teamspiele = $this->groupMatches($modus, $teamspiele);
|
|
||||||
foreach ($teamspiele as $group) {
|
|
||||||
if (empty($group['sets'])) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$ts = $group['sets'][0];
|
|
||||||
// use modus here
|
|
||||||
$homePlayers = [];
|
|
||||||
$awayPlayers = [];
|
|
||||||
|
|
||||||
$homePlayers[] = $this->getPersonForSpieler($db, (int)$ts->heim_spieler_1_id, null, $this->playerCache);
|
|
||||||
if (!empty($ts->heim_spieler_2_id)) {
|
|
||||||
$homePlayers[] = $this->getPersonForSpieler($db, (int)$ts->heim_spieler_2_id, null, $this->playerCache);
|
|
||||||
}
|
|
||||||
|
|
||||||
$awayPlayers[] = $this->getPersonForSpieler($db, (int)$ts->gast_spieler_1_id, null, $this->playerCache);
|
|
||||||
if (!empty($ts->gast_spieler_2_id)) {
|
|
||||||
$awayPlayers[] = $this->getPersonForSpieler($db, (int)$ts->gast_spieler_2_id, null, $this->playerCache);
|
|
||||||
}
|
|
||||||
|
|
||||||
$startDate = $this->isoUtc($begegnung->zeitpunkt, $this->sourceTz, $this->outputTz);
|
|
||||||
$endDate = $this->isoUtc($begegnung->zeitpunkt, $this->sourceTz, $this->outputTz);
|
|
||||||
|
|
||||||
$detail = [];
|
|
||||||
foreach ($group['sets'] as $set) {
|
|
||||||
$detail[] = $set->ergebnis_detailliert ?? null;
|
|
||||||
}
|
|
||||||
|
|
||||||
$matchdayMatches[] = $this->buildMatch(
|
|
||||||
$homePlayers,
|
|
||||||
$awayPlayers,
|
|
||||||
$startDate,
|
|
||||||
$endDate,
|
|
||||||
($ts->teamspiel_heim_punkte !== null || $ts->teamspiel_gast_punkte !== null) ? 1 : null,
|
|
||||||
$detail,
|
|
||||||
'TEAM'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
$matchdayName = trim((string)$begegnung->spieltag_titel) !== ''
|
|
||||||
? (string)$begegnung->spieltag_titel
|
|
||||||
: ('Spieltag ' . $roundIndex);
|
|
||||||
|
|
||||||
$roundsByKey[$roundKey]['matchdays'][] = [
|
|
||||||
'name' => $matchdayName,
|
|
||||||
'startDate' => $this->isoUtc($begegnung->zeitpunkt, $this->sourceTz, $this->outputTz),
|
|
||||||
'endDate' => $this->isoUtc($begegnung->zeitpunkt, $this->sourceTz, $this->outputTz),
|
|
||||||
'teamHome' => ['name' => $homeTeam->teamname ?? ('Team ' . $homeTeamId)],
|
|
||||||
'teamAway' => ['name' => $awayTeam->teamname ?? ('Team ' . $awayTeamId)],
|
|
||||||
'matches' => $matchdayMatches,
|
|
||||||
];
|
|
||||||
|
|
||||||
$groupDates[] = substr((string)$begegnung->zeitpunkt, 0, 10);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($groupDates)) {
|
|
||||||
$groupNode['state'] = $this->determineFinishedState(max($groupDates));
|
|
||||||
}
|
|
||||||
|
|
||||||
ksort($roundsByKey, SORT_NATURAL);
|
|
||||||
foreach ($roundsByKey as $round) {
|
|
||||||
$groupNode['rounds'][] = $round;
|
|
||||||
}
|
|
||||||
|
|
||||||
$eventNode['disciplines'][0]['stages'][0]['groups'][] = $groupNode;
|
|
||||||
$seasonNode['events'][] = $eventNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
$export['seasons'][] = $seasonNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
$json = json_encode($export, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
|
|
||||||
|
|
||||||
if ($json === false) {
|
|
||||||
throw new RuntimeException('JSON encoding failed: ' . json_last_error_msg());
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->outputFile) {
|
|
||||||
file_put_contents($this->outputFile, $json . PHP_EOL);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (PHP_SAPI !== 'cli') {
|
|
||||||
header('Content-Type: application/json; charset=utf-8');
|
|
||||||
}
|
|
||||||
|
|
||||||
echo 'Successfully created export file: ' . $this->outputFile;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -145,12 +145,6 @@ class HTML_sportsmanager_admin
|
|||||||
</td>
|
</td>
|
||||||
<?php
|
<?php
|
||||||
$Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
|
$Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
|
||||||
?>
|
|
||||||
<td style="padding-right: 15px" nowrap>
|
|
||||||
<a href="<?php echo SportsManagerURL('&task=admin_sportshub'); ?>"><?php echo 'Sportshub'; ?></a>
|
|
||||||
</td>
|
|
||||||
<?php
|
|
||||||
$Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
|
|
||||||
}
|
}
|
||||||
if (benutzerZugriff("termine_aendern")) {
|
if (benutzerZugriff("termine_aendern")) {
|
||||||
?>
|
?>
|
||||||
@@ -2892,7 +2886,7 @@ class HTML_sportsmanager_admin
|
|||||||
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>"> </span>
|
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>"> </span>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($nichtAktualisierteUnterschiede)){
|
if (!empty($nichtAktualisierteUnterschiede)){
|
||||||
?>
|
?>
|
||||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
@@ -3545,7 +3539,7 @@ class HTML_sportsmanager_admin
|
|||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
static function adminVereine($rows, $organisationAnzeigen, $ansprechpartner): void
|
static function adminVereine($rows, $organisationAnzeigen): void
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
|
|
||||||
@@ -3605,8 +3599,6 @@ class HTML_sportsmanager_admin
|
|||||||
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_MEMBERS'); ?></strong></th>
|
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_MEMBERS'); ?></strong></th>
|
||||||
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_TEAM_SEAT'); ?></strong></th>
|
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_TEAM_SEAT'); ?></strong></th>
|
||||||
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_BEATEN'); ?></strong></th>
|
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_BEATEN'); ?></strong></th>
|
||||||
<th></th>
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
@@ -3669,15 +3661,7 @@ class HTML_sportsmanager_admin
|
|||||||
</td>
|
</td>
|
||||||
<td nowrap><?php if (!empty($row->vereinssitz)) echo htmlentities_utf8($row->vereinssitz . (!empty($row->vereinssitz_ortsteil) ? ("-" . $row->vereinssitz_ortsteil) : "")); ?></td>
|
<td nowrap><?php if (!empty($row->vereinssitz)) echo htmlentities_utf8($row->vereinssitz . (!empty($row->vereinssitz_ortsteil) ? ("-" . $row->vereinssitz_ortsteil) : "")); ?></td>
|
||||||
<td nowrap><?php echo $row->ausgetreten ? Text::_('COM_SPORTSMANAGER_YES') : Text::_('COM_SPORTSMANAGER_NO'); ?></td>
|
<td nowrap><?php echo $row->ausgetreten ? Text::_('COM_SPORTSMANAGER_YES') : Text::_('COM_SPORTSMANAGER_NO'); ?></td>
|
||||||
<td>
|
<td nowrap><small><a
|
||||||
<?PHP
|
|
||||||
if (!empty($ansprechpartner[$row->verein_id])){
|
|
||||||
$emails = implode(';', $ansprechpartner[$row->verein_id]);
|
|
||||||
echo "<a href='mailto:" . $emails . "?subject=" . $row->vereinsname . "'>E-Mail</a> ";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
<td nowrap><small><a
|
|
||||||
href="<?php echo SportsManagerURL('&task=admin_verein_remove&id=' . $row->verein_id); ?>"
|
href="<?php echo SportsManagerURL('&task=admin_verein_remove&id=' . $row->verein_id); ?>"
|
||||||
onclick="return confirm('<?php echo Text::_('COM_SPORTSMANAGER_WANT_REALLY_REMOVE'); ?>');"
|
onclick="return confirm('<?php echo Text::_('COM_SPORTSMANAGER_WANT_REALLY_REMOVE'); ?>');"
|
||||||
title="<?php echo Text::_('COM_SPORTSMANAGER_REMOVE'); ?>">X</a></small></td>
|
title="<?php echo Text::_('COM_SPORTSMANAGER_REMOVE'); ?>">X</a></small></td>
|
||||||
@@ -4850,8 +4834,8 @@ class HTML_sportsmanager_admin
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap style="width: 20%; text-align: right">
|
<td nowrap style="width: 20%; text-align: right">
|
||||||
<label
|
<label
|
||||||
@@ -4859,7 +4843,7 @@ class HTML_sportsmanager_admin
|
|||||||
:</label>
|
:</label>
|
||||||
</td>
|
</td>
|
||||||
<td nowrap>
|
<td nowrap>
|
||||||
<select class="uk-select uk-form-width-medium" name="spiele_in_spielerstatistik"
|
<select class="uk-select uk-form-width-medium" name="spiele_in_spielerstatistik"
|
||||||
id="games_in_statistik" size="1">
|
id="games_in_statistik" size="1">
|
||||||
<option value="0"><?php echo Text::_('COM_SPORTSMANAGER_GAMES_IN_STATISTIK_ALL'); ?></option>
|
<option value="0"><?php echo Text::_('COM_SPORTSMANAGER_GAMES_IN_STATISTIK_ALL'); ?></option>
|
||||||
<?php
|
<?php
|
||||||
@@ -4870,9 +4854,9 @@ class HTML_sportsmanager_admin
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap style="width: 20%; text-align: right">
|
<td nowrap style="width: 20%; text-align: right">
|
||||||
<label for="status"><?php echo Text::_('COM_SPORTSMANAGER_ACTIVE'); ?>
|
<label for="status"><?php echo Text::_('COM_SPORTSMANAGER_ACTIVE'); ?>
|
||||||
@@ -6401,9 +6385,9 @@ class HTML_sportsmanager_admin
|
|||||||
<select class="uk-select uk-form-width-large" name="tabellenwertung"
|
<select class="uk-select uk-form-width-large" name="tabellenwertung"
|
||||||
id="table_evaluation" size="1">
|
id="table_evaluation" size="1">
|
||||||
<?php
|
<?php
|
||||||
$typ = array(0 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX0'),
|
$typ = array(0 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX0'),
|
||||||
1 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX1'),
|
1 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX1'),
|
||||||
2 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX2'),
|
2 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX2'),
|
||||||
3 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX3'),
|
3 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX3'),
|
||||||
4 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX4'),
|
4 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX4'),
|
||||||
5 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX5'));
|
5 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX5'));
|
||||||
@@ -6934,12 +6918,12 @@ class HTML_sportsmanager_admin
|
|||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
static function adminMailto($to,$cc,$bcc,$subject,$message,$backtomail,$backtosender,$vorlage=''): void
|
static function adminMailto($to,$cc,$bcc,$subject,$message,$backtomail,$backtosender,$vorlage=''): void
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
?>
|
?>
|
||||||
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_EMAIL_SEND'); ?></div>
|
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_EMAIL_SEND'); ?></div>
|
||||||
|
|
||||||
<form id="mailForm">
|
<form id="mailForm">
|
||||||
<div class="uk-overflow-auto">
|
<div class="uk-overflow-auto">
|
||||||
<table style="width: 100%">
|
<table style="width: 100%">
|
||||||
@@ -6988,8 +6972,8 @@ class HTML_sportsmanager_admin
|
|||||||
<input type="submit" name="joomlamail" value="<?php echo Text::_('COM_SPORTSMANAGER_EMAIL_SEND'); ?> (joomla)" class="button"/>
|
<input type="submit" name="joomlamail" value="<?php echo Text::_('COM_SPORTSMANAGER_EMAIL_SEND'); ?> (joomla)" class="button"/>
|
||||||
<?php if ($vorlage->name == "Ordnungsstrafe"){ ?>
|
<?php if ($vorlage->name == "Ordnungsstrafe"){ ?>
|
||||||
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_EDIT_DISCIPLINARY_FINE'); ?>" class="button"
|
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_EDIT_DISCIPLINARY_FINE'); ?>" class="button"
|
||||||
onclick="const t = this.form.task; t.value = 'admin_ordnungsstrafe_edit';"/>
|
onclick="const t = this.form.task; t.value = 'admin_ordnungsstrafe_edit';"/>
|
||||||
<input type="hidden" name="id" value="<?php echo $vorlage->id; ?>"/>
|
<input type="hidden" name="id" value="<?php echo $vorlage->id; ?>"/>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_BACK'); ?>" class="button"
|
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_BACK'); ?>" class="button"
|
||||||
onclick="const t = this.form.task; t.value = '<?php echo $backtosender; ?>';"/>
|
onclick="const t = this.form.task; t.value = '<?php echo $backtosender; ?>';"/>
|
||||||
@@ -7052,7 +7036,7 @@ class HTML_sportsmanager_admin
|
|||||||
<div
|
<div
|
||||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_DISCIPLINARY_FINES'); ?>
|
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_DISCIPLINARY_FINES'); ?>
|
||||||
: <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div>
|
: <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div>
|
||||||
|
|
||||||
<table style="border-spacing: 10px">
|
<table style="border-spacing: 10px">
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap><a
|
<td nowrap><a
|
||||||
@@ -7073,7 +7057,7 @@ class HTML_sportsmanager_admin
|
|||||||
</tr>
|
</tr>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<?php if (count($saisons) > 0) {
|
<?php if (count($saisons) > 0) {
|
||||||
?>
|
?>
|
||||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||||
@@ -7282,12 +7266,12 @@ class HTML_sportsmanager_admin
|
|||||||
size="1" style='height: 34px; width: 200px;' readonly
|
size="1" style='height: 34px; width: 200px;' readonly
|
||||||
value="<?php echo (empty($row->versendedatum) ? '' : $row->versendedatum); ?>"/>
|
value="<?php echo (empty($row->versendedatum) ? '' : $row->versendedatum); ?>"/>
|
||||||
<?php if ($row != null){ ?>
|
<?php if ($row != null){ ?>
|
||||||
<input type="submit" name="set_versender"
|
<input type="submit" name="set_versender"
|
||||||
value="<?php echo (empty($row->versendedatum) ? 'set' : 'reset'); ?>" class="button"/>
|
value="<?php echo (empty($row->versendedatum) ? 'set' : 'reset'); ?>" class="button"/>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap style="width: 20%; text-align: right">
|
<td nowrap style="width: 20%; text-align: right">
|
||||||
<label
|
<label
|
||||||
@@ -7305,7 +7289,7 @@ class HTML_sportsmanager_admin
|
|||||||
size="1" style='height: 34px; width: 200px;' readonly
|
size="1" style='height: 34px; width: 200px;' readonly
|
||||||
value="<?php echo (empty($row->rechnungsdatum) ? '' : $row->rechnungsdatum); ?>"/>
|
value="<?php echo (empty($row->rechnungsdatum) ? '' : $row->rechnungsdatum); ?>"/>
|
||||||
<?php if ($row != null && !empty($row->versendedatum)){ ?>
|
<?php if ($row != null && !empty($row->versendedatum)){ ?>
|
||||||
<input type="submit" name="set_rechnung"
|
<input type="submit" name="set_rechnung"
|
||||||
value="<?php echo (empty($row->rechnungsdatum) ? 'set' : 'reset'); ?>" class="button"/>
|
value="<?php echo (empty($row->rechnungsdatum) ? 'set' : 'reset'); ?>" class="button"/>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
</td>
|
</td>
|
||||||
@@ -7343,8 +7327,8 @@ class HTML_sportsmanager_admin
|
|||||||
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/>
|
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/>
|
||||||
<?php if ($row != null && benutzerZugriff("benutzerVeranstalterModerator")){ ?>
|
<?php if ($row != null && benutzerZugriff("benutzerVeranstalterModerator")){ ?>
|
||||||
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_SEND_DISCIPLINARY_FINE'); ?>" class="button"
|
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_SEND_DISCIPLINARY_FINE'); ?>" class="button"
|
||||||
onclick="const t = this.form.task; t.value = 'admin_ordnungsstrafe_mailen';"/>
|
onclick="const t = this.form.task; t.value = 'admin_ordnungsstrafe_mailen';"/>
|
||||||
<input type="hidden" name="id" value="<?php echo $row->ordnungsstrafen_id; ?>"/>
|
<input type="hidden" name="id" value="<?php echo $row->ordnungsstrafen_id; ?>"/>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/>
|
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/>
|
||||||
<input type="hidden" name="task" value="admin_ordnungsstrafe_save"/>
|
<input type="hidden" name="task" value="admin_ordnungsstrafe_save"/>
|
||||||
@@ -7366,7 +7350,7 @@ class HTML_sportsmanager_admin
|
|||||||
<div
|
<div
|
||||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_MATCH_RESCHEDULINGS'); ?>
|
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_MATCH_RESCHEDULINGS'); ?>
|
||||||
: <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div>
|
: <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div>
|
||||||
|
|
||||||
<table style="border-spacing: 10px">
|
<table style="border-spacing: 10px">
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap><a
|
<td nowrap><a
|
||||||
@@ -7426,13 +7410,13 @@ class HTML_sportsmanager_admin
|
|||||||
<?php
|
<?php
|
||||||
if (count($rows) > 0) {
|
if (count($rows) > 0) {
|
||||||
$k = 0;
|
$k = 0;
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
?>
|
?>
|
||||||
<tr class="sectiontableentry<?php echo $k + 1;
|
<tr class="sectiontableentry<?php echo $k + 1;
|
||||||
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
<td nowrap style='text-align: center;'>
|
<td nowrap style='text-align: center;'>
|
||||||
<a href="<?php
|
<a href="<?php
|
||||||
echo SportsManagerURL('&task=admin_spielverlegung_edit&begegnung_id=' . $row->begegnung_id);
|
echo SportsManagerURL('&task=admin_spielverlegung_edit&begegnung_id=' . $row->begegnung_id);
|
||||||
?>">
|
?>">
|
||||||
<?php echo $row->begegnung_id; ?>
|
<?php echo $row->begegnung_id; ?>
|
||||||
</a>
|
</a>
|
||||||
@@ -7441,7 +7425,7 @@ class HTML_sportsmanager_admin
|
|||||||
<?php echo htmlentities_utf8($row->Liga); ?>
|
<?php echo htmlentities_utf8($row->Liga); ?>
|
||||||
</td>
|
</td>
|
||||||
<td nowrap style='text-align: center;'>
|
<td nowrap style='text-align: center;'>
|
||||||
<?php
|
<?php
|
||||||
if ($row->Heim == $row->beantragt_von)
|
if ($row->Heim == $row->beantragt_von)
|
||||||
echo "<u>" . htmlentities_utf8($row->Heim) . "</u>";
|
echo "<u>" . htmlentities_utf8($row->Heim) . "</u>";
|
||||||
else
|
else
|
||||||
@@ -7482,7 +7466,7 @@ class HTML_sportsmanager_admin
|
|||||||
</div>
|
</div>
|
||||||
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>"> </span>
|
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>"> </span>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
static function adminEditSpielverlegung($row,$teams): void
|
static function adminEditSpielverlegung($row,$teams): void
|
||||||
{
|
{
|
||||||
@@ -7640,7 +7624,7 @@ class HTML_sportsmanager_admin
|
|||||||
setTimeout(() => { t.value = 'admin_verbandsorgane'; }, 100);"/>
|
setTimeout(() => { t.value = 'admin_verbandsorgane'; }, 100);"/>
|
||||||
<input type="hidden" name="task" value="admin_verbandsorgane"/>
|
<input type="hidden" name="task" value="admin_verbandsorgane"/>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7966,7 +7950,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/>
|
<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="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/>
|
||||||
@@ -7976,7 +7960,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
</form>
|
</form>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
static function adminHalloffame($rows): void
|
static function adminHalloffame($rows): void
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
@@ -8183,7 +8167,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_YEAR'); ?></strong>
|
<strong><?php echo Text::_('COM_SPORTSMANAGER_YEAR'); ?></strong>
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
for ($i = 1; $i <= 3; $i++) {
|
for ($i = 1; $i <= 3; $i++) {
|
||||||
if ($i == 2 && !$halloffame->platz2_zeigen) continue;
|
if ($i == 2 && !$halloffame->platz2_zeigen) continue;
|
||||||
if ($i == 3 && !$halloffame->platz3_zeigen) continue;
|
if ($i == 3 && !$halloffame->platz3_zeigen) continue;
|
||||||
@@ -8341,8 +8325,8 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
for ($p = 1; $p <= 3; $p++){
|
for ($p = 1; $p <= 3; $p++){
|
||||||
if ($halloffame->spielform == 1){
|
if ($halloffame->spielform == 1){
|
||||||
$index_vereinid = "verein_id_" . $p;
|
$index_vereinid = "verein_id_" . $p;
|
||||||
$index_team = "teamname_" . $p;
|
$index_team = "teamname_" . $p;
|
||||||
@@ -8366,9 +8350,9 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
value="<?php echo $row != null ? htmlentities_utf8($row->$index_team) : ''; ?>"/>
|
value="<?php echo $row != null ? htmlentities_utf8($row->$index_team) : ''; ?>"/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($halloffame->spielform == 2 || $halloffame->spielform == 3){
|
if ($halloffame->spielform == 2 || $halloffame->spielform == 3){
|
||||||
$index_spieler1id = "spieler1_id_" . $p;
|
$index_spieler1id = "spieler1_id_" . $p;
|
||||||
$index_spieler1 = "spieler1_" . $p;
|
$index_spieler1 = "spieler1_" . $p;
|
||||||
@@ -8408,15 +8392,15 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
<?PHP } ?>
|
<?PHP } ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap colspan="2"> </td>
|
<td nowrap colspan="2"> </td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/>
|
<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="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/>
|
||||||
@@ -8426,7 +8410,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
</form>
|
</form>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
static function adminRegelwerke($rows): void
|
static function adminRegelwerke($rows): void
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
@@ -9375,7 +9359,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
if (!einstellungswert("ordnungsstrafen_verwenden"))
|
if (!einstellungswert("ordnungsstrafen_verwenden"))
|
||||||
echo "<tr style='display: none;'>";
|
echo "<tr style='display: none;'>";
|
||||||
else
|
else
|
||||||
@@ -9728,7 +9712,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
static function adminMannschaften($veranstaltung, $rows, $ansprechpartner): void
|
static function adminMannschaften($veranstaltung, $rows): void
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
|
|
||||||
@@ -9778,8 +9762,6 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_NUM_REQUESTED_SHFITS_TOOLTIP'); ?>">
|
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_NUM_REQUESTED_SHFITS_TOOLTIP'); ?>">
|
||||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_NUM_REQUESTED_SHIFTS'); ?></strong></th>
|
<strong><?php echo Text::_('COM_SPORTSMANAGER_NUM_REQUESTED_SHIFTS'); ?></strong></th>
|
||||||
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HOME_VENUE'); ?></strong></th>
|
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HOME_VENUE'); ?></strong></th>
|
||||||
<th></th>
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
@@ -9822,14 +9804,6 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
</td>
|
</td>
|
||||||
<td nowrap align="center"><?php echo $row->anzahl_verschiebungen; ?></td>
|
<td nowrap align="center"><?php echo $row->anzahl_verschiebungen; ?></td>
|
||||||
<td nowrap><?php if (!empty($row->name)) echo htmlentities_utf8($row->name); ?></td>
|
<td nowrap><?php if (!empty($row->name)) echo htmlentities_utf8($row->name); ?></td>
|
||||||
<td>
|
|
||||||
<?PHP
|
|
||||||
if (!empty($ansprechpartner[$row->team_id])){
|
|
||||||
$emails = implode(';', $ansprechpartner[$row->team_id]);
|
|
||||||
echo "<a href='mailto:" . $emails . "?subject=" . $row->teamname . "'>E-Mail</a> ";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
<?php if ($row->begegnungen == 0) { ?>
|
<?php if ($row->begegnungen == 0) { ?>
|
||||||
<td nowrap><small><a
|
<td nowrap><small><a
|
||||||
href="<?php echo SportsManagerURL('&task=admin_team_remove&veranstaltungid=' . $veranstaltung->veranstaltung_id . '&id=' . $row->team_id); ?>"
|
href="<?php echo SportsManagerURL('&task=admin_team_remove&veranstaltungid=' . $veranstaltung->veranstaltung_id . '&id=' . $row->team_id); ?>"
|
||||||
@@ -10326,7 +10300,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
<th nowrap style="text-align: center"><strong><?php echo JText::_('COM_SPORTSMANAGER_PENALTY'); ?></strong></th>
|
<th nowrap style="text-align: center"><strong><?php echo JText::_('COM_SPORTSMANAGER_PENALTY'); ?></strong></th>
|
||||||
<th nowrap style="text-align: left"><strong><?php echo JText::_('COM_SPORTSMANAGER_DESCRIPTION'); ?></strong></th>
|
<th nowrap style="text-align: left"><strong><?php echo JText::_('COM_SPORTSMANAGER_DESCRIPTION'); ?></strong></th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$k = 0;
|
$k = 0;
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
@@ -11022,7 +10996,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
<?php echo Text::_('COM_SPORTSMANAGER_ENCOUNTERS'); ?>
|
<?php echo Text::_('COM_SPORTSMANAGER_ENCOUNTERS'); ?>
|
||||||
'<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?>
|
'<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?>
|
||||||
': <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div>
|
': <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div>
|
||||||
|
|
||||||
<div class="uk-overflow-auto">
|
<div class="uk-overflow-auto">
|
||||||
<table style="border-spacing: 10px; width: 100%;">
|
<table style="border-spacing: 10px; width: 100%;">
|
||||||
<tr>
|
<tr>
|
||||||
@@ -11093,10 +11067,10 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
$Spieltagname = "Runde " . $row->spieltag;
|
$Spieltagname = "Runde " . $row->spieltag;
|
||||||
else
|
else
|
||||||
$Spieltagname = "Spieltag " . $row->spieltag;
|
$Spieltagname = "Spieltag " . $row->spieltag;
|
||||||
|
|
||||||
if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "")
|
if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "")
|
||||||
$Spieltagname .= " - " . $row->spieltag_titel;
|
$Spieltagname .= " - " . $row->spieltag_titel;
|
||||||
|
|
||||||
if ($Spieltagname_Buffer != $Spieltagname){
|
if ($Spieltagname_Buffer != $Spieltagname){
|
||||||
?>
|
?>
|
||||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
@@ -11124,12 +11098,12 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
<th nowrap><span style="font-size: 70%; "><i>
|
<th nowrap><span style="font-size: 70%; "><i>
|
||||||
<?php echo htmlentities_utf8($monatsbezeichnung); ?></i></span>
|
<?php echo htmlentities_utf8($monatsbezeichnung); ?></i></span>
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
<tr class="sectiontableentry<?php echo $k + 1;
|
<tr class="sectiontableentry<?php echo $k + 1;
|
||||||
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
|
|
||||||
@@ -11349,7 +11323,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
value="<?php if ($row != null) echo htmlentities_utf8($row->spieltag_titel); ?>"/>
|
value="<?php if ($row != null) echo htmlentities_utf8($row->spieltag_titel); ?>"/>
|
||||||
<datalist id="auswahl_spieltagtitel" >
|
<datalist id="auswahl_spieltagtitel" >
|
||||||
<?php if ($auswahl_spieltagtitel){ ?>
|
<?php if ($auswahl_spieltagtitel){ ?>
|
||||||
<?php foreach($auswahl_spieltagtitel AS $titel){ ?>
|
<?php foreach($auswahl_spieltagtitel AS $titel){ ?>
|
||||||
<option value="<?= htmlspecialchars($titel->spieltag_titel, ENT_QUOTES) ?>"></option>
|
<option value="<?= htmlspecialchars($titel->spieltag_titel, ENT_QUOTES) ?>"></option>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
@@ -11368,7 +11342,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
title="Spielnummer (optional)" name="spiel_nr">
|
title="Spielnummer (optional)" name="spiel_nr">
|
||||||
<option value=""></option>
|
<option value=""></option>
|
||||||
<?php
|
<?php
|
||||||
for ($i = 1; $i <= 99; $i++)
|
for ($i = 1; $i <= 99; $i++)
|
||||||
{
|
{
|
||||||
echo "<option value=\"" . $i . "\"" . ($spiel_nr == $i ? " selected" : "") . ">" . $i . "</option>";
|
echo "<option value=\"" . $i . "\"" . ($spiel_nr == $i ? " selected" : "") . ">" . $i . "</option>";
|
||||||
}
|
}
|
||||||
@@ -11480,7 +11454,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"
|
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"
|
||||||
onclick="if (document.adminForm.heim_team_id.value === document.adminForm.gast_team_id.value)
|
onclick="if (document.adminForm.heim_team_id.value === document.adminForm.gast_team_id.value)
|
||||||
{ alert('<?php echo Text::_('COM_SPORTSMANAGER_HOME_VISITING_TEAMS_DIFFERENT'); ?>'); return false; } return true;"/>
|
{ alert('<?php echo Text::_('COM_SPORTSMANAGER_HOME_VISITING_TEAMS_DIFFERENT'); ?>'); return false; } return true;"/>
|
||||||
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>"
|
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>"
|
||||||
class="button"/>
|
class="button"/>
|
||||||
@@ -12521,7 +12495,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
value="<?php if ($row != null) echo htmlentities_utf8($row->spieltag_titel); ?>"/>
|
value="<?php if ($row != null) echo htmlentities_utf8($row->spieltag_titel); ?>"/>
|
||||||
<datalist id="auswahl_spieltagtitel" >
|
<datalist id="auswahl_spieltagtitel" >
|
||||||
<?php if ($auswahl_spieltagtitel){ ?>
|
<?php if ($auswahl_spieltagtitel){ ?>
|
||||||
<?php foreach($auswahl_spieltagtitel AS $titel){ ?>
|
<?php foreach($auswahl_spieltagtitel AS $titel){ ?>
|
||||||
<option value="<?= htmlspecialchars($titel->spieltag_titel, ENT_QUOTES) ?>"></option>
|
<option value="<?= htmlspecialchars($titel->spieltag_titel, ENT_QUOTES) ?>"></option>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
@@ -12537,11 +12511,11 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
<?php if ($teamnr == 1) echo Text::_('COM_SPORTSMANAGER_PAIRINGS') . ":"; ?>
|
<?php if ($teamnr == 1) echo Text::_('COM_SPORTSMANAGER_PAIRINGS') . ":"; ?>
|
||||||
</td>
|
</td>
|
||||||
<td nowrap>
|
<td nowrap>
|
||||||
<select class="uk-select uk-form-width-xsmall" size="1" id="game_nr"
|
<select class="uk-select uk-form-width-xsmall" size="1" id="game_nr"
|
||||||
name="spiel_nr_<?php echo $teamnr; ?>" title="Spielnummer (optional)">
|
name="spiel_nr_<?php echo $teamnr; ?>" title="Spielnummer (optional)">
|
||||||
<option value=""></option>
|
<option value=""></option>
|
||||||
<?php
|
<?php
|
||||||
for ($i = 1; $i <= 99; $i++)
|
for ($i = 1; $i <= 99; $i++)
|
||||||
{
|
{
|
||||||
echo "<option value=\"" . $i . "\"" . ($i == $spielnummer ? " selected " : "") . ">" . $i . "</option>";
|
echo "<option value=\"" . $i . "\"" . ($i == $spielnummer ? " selected " : "") . ">" . $i . "</option>";
|
||||||
}
|
}
|
||||||
@@ -15454,7 +15428,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
|||||||
for ($satz = 0; $satz < $saetze_maximal; $satz++) {
|
for ($satz = 0; $satz < $saetze_maximal; $satz++) {
|
||||||
?>
|
?>
|
||||||
<select class="uk-select uk-form-width-medium"
|
<select class="uk-select uk-form-width-medium"
|
||||||
name="ergebnis_punkte_heim[]"
|
name="ergebnis_punkte_heim[]"
|
||||||
size="1" onchange="punkte_changed(<?php echo $satz; ?>, 1);"
|
size="1" onchange="punkte_changed(<?php echo $satz; ?>, 1);"
|
||||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_POINTS_HOME'); ?>">
|
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_POINTS_HOME'); ?>">
|
||||||
<option value=""></option>
|
<option value=""></option>
|
||||||
|
|||||||
Reference in New Issue
Block a user