mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 06:27:52 +00:00
Merge branch 'sportsmanager2-dev' into sportsmanager2-issue121
This commit is contained in:
@@ -25,6 +25,18 @@ jobs:
|
|||||||
- name: Install npm dependencies
|
- name: Install npm dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Get version from git tag
|
||||||
|
run: echo "VERSION=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Update version.php
|
||||||
|
run: |
|
||||||
|
echo "<?php" > src/structure/components/com_sportsmanager/util/version.php
|
||||||
|
echo "defined('_JEXEC') or die;" >> src/structure/components/com_sportsmanager/util/version.php
|
||||||
|
echo "return [" >> src/structure/components/com_sportsmanager/util/version.php
|
||||||
|
echo " 'version' => '${{ env.VERSION }}'," >> src/structure/components/com_sportsmanager/util/version.php
|
||||||
|
echo " 'date' => '$(date +%F)'," >> src/structure/components/com_sportsmanager/util/version.php
|
||||||
|
echo "];" >> src/structure/components/com_sportsmanager/util/version.php
|
||||||
|
|
||||||
- name: Generate release notes
|
- name: Generate release notes
|
||||||
id: release_notes_extension
|
id: release_notes_extension
|
||||||
uses: release-drafter/release-drafter@v6
|
uses: release-drafter/release-drafter@v6
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -4,10 +4,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
use JetBrains\PhpStorm\NoReturn;
|
use JetBrains\PhpStorm\NoReturn;
|
||||||
use Joomla\CMS\Application\AdministratorApplication;
|
|
||||||
use Joomla\CMS\Application\SiteApplication;
|
use Joomla\CMS\Application\SiteApplication;
|
||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
use Joomla\CMS\User\UserFactory;
|
|
||||||
use Joomla\CMS\User\UserFactoryInterface;
|
use Joomla\CMS\User\UserFactoryInterface;
|
||||||
use Joomla\Registry\Registry;
|
use Joomla\Registry\Registry;
|
||||||
|
|
||||||
@@ -43,8 +41,7 @@ function notifyChange($data): void
|
|||||||
try {
|
try {
|
||||||
$db = getDatabase();
|
$db = getDatabase();
|
||||||
$query = "SELECT wert from #__sportsmanager_einstellungen WHERE name='api_push_key'";
|
$query = "SELECT wert from #__sportsmanager_einstellungen WHERE name='api_push_key'";
|
||||||
$db->setQuery($query);
|
$push_key = loadResult($db, $query);
|
||||||
$push_key = $db->loadResult();
|
|
||||||
$push_server = !empty($push_key) && isset(_payload($push_key)->aud) ? _payload($push_key)->aud : '';
|
$push_server = !empty($push_key) && isset(_payload($push_key)->aud) ? _payload($push_key)->aud : '';
|
||||||
if ($push_server != '' && $push_key != '') {
|
if ($push_server != '' && $push_key != '') {
|
||||||
$url = $push_server . (str_ends_with($push_server, '/') ? '' : '/') . 'v1/notifications/send';
|
$url = $push_server . (str_ends_with($push_server, '/') ? '' : '/') . 'v1/notifications/send';
|
||||||
@@ -137,11 +134,8 @@ function begegnungVerlegenNotify($begegnung, $users, $vorschlagendes_team_id, $h
|
|||||||
$expires->modify('+16 hours');
|
$expires->modify('+16 hours');
|
||||||
$db = getDatabase();
|
$db = getDatabase();
|
||||||
$query = "SELECT berechtigt_team_id from #__sportsmanager_berechtigt_fuer_team where berechtigt_user_id = $user_id";
|
$query = "SELECT berechtigt_team_id from #__sportsmanager_berechtigt_fuer_team where berechtigt_user_id = $user_id";
|
||||||
$db->setQuery($query);
|
$team_id = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
abortWithError($db->stderr(true));
|
|
||||||
}
|
|
||||||
$team_id = $db->loadObjectList();
|
|
||||||
JSON_sportsmanager::JSON([
|
JSON_sportsmanager::JSON([
|
||||||
'token' => jwt_token([
|
'token' => jwt_token([
|
||||||
'sub' => $user_id,
|
'sub' => $user_id,
|
||||||
@@ -180,8 +174,7 @@ function begegnungVerlegenNotify($begegnung, $users, $vorschlagendes_team_id, $h
|
|||||||
$db = getDatabase();
|
$db = getDatabase();
|
||||||
$query = $db->getQuery(true);
|
$query = $db->getQuery(true);
|
||||||
$query->select('id')->from('#__users')->where('username = "' . $username . '"')->setLimit(1);
|
$query->select('id')->from('#__users')->where('username = "' . $username . '"')->setLimit(1);
|
||||||
$db->setQuery($query);
|
$user_id = loadResult($db, $query);
|
||||||
$user_id = $db->loadResult();
|
|
||||||
$user = $container->get(UserFactoryInterface::class)->loadUserById($user_id);
|
$user = $container->get(UserFactoryInterface::class)->loadUserById($user_id);
|
||||||
|
|
||||||
//TODO: pw verification modernising: use php native methods, however this also needs new pw hashing. maybe force a pw reset on all accounts
|
//TODO: pw verification modernising: use php native methods, however this also needs new pw hashing. maybe force a pw reset on all accounts
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ use Joomla\Database\DatabaseInterface;
|
|||||||
use Joomla\Database\Mysql\MysqlDriver;
|
use Joomla\Database\Mysql\MysqlDriver;
|
||||||
use Joomla\Database\Mysqli\MysqliDriver;
|
use Joomla\Database\Mysqli\MysqliDriver;
|
||||||
|
|
||||||
|
require_once JPATH_SITE . '/components/com_sportsmanager/database/util.php';
|
||||||
|
|
||||||
function initDatabase(): void
|
function initDatabase(): void
|
||||||
{
|
{
|
||||||
global $sportsmanager_database_local;
|
global $sportsmanager_database_local;
|
||||||
@@ -22,11 +24,7 @@ function initDatabase(): void
|
|||||||
$sportsmanager_database_local = Factory::getContainer()->get(DatabaseInterface::class);
|
$sportsmanager_database_local = Factory::getContainer()->get(DatabaseInterface::class);
|
||||||
|
|
||||||
$query = "SELECT * FROM #__sportsmanager_einstellungen";
|
$query = "SELECT * FROM #__sportsmanager_einstellungen";
|
||||||
$sportsmanager_database_local->setQuery($query);
|
$rows = loadObjectList($sportsmanager_database_local, $query);
|
||||||
if (!$sportsmanager_database_local->execute()) {
|
|
||||||
die($sportsmanager_database_local->stderr(true));
|
|
||||||
}
|
|
||||||
$rows = $sportsmanager_database_local->loadObjectList();
|
|
||||||
|
|
||||||
$database_driver = "mysql";
|
$database_driver = "mysql";
|
||||||
$database_host = "";
|
$database_host = "";
|
||||||
@@ -75,14 +73,13 @@ function initDatabase(): void
|
|||||||
if ($sportsmanager_database_external === NULL) {
|
if ($sportsmanager_database_external === NULL) {
|
||||||
echo "<strong>" . Text::_('COM_SPORTSMANAGER_CONNECTION_EXTERNAL_DB_FAILURE') . "</strong><br><br>";
|
echo "<strong>" . Text::_('COM_SPORTSMANAGER_CONNECTION_EXTERNAL_DB_FAILURE') . "</strong><br><br>";
|
||||||
} else {
|
} else {
|
||||||
$query = "SELECT wert FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'";
|
|
||||||
$sportsmanager_database_external->setQuery($query);
|
|
||||||
try {
|
try {
|
||||||
if (!$sportsmanager_database_external->execute()) {
|
if (!$sportsmanager_database_external->execute()) {
|
||||||
echo "<strong>" . Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_NO_SM_TABLES') . "</strong><br><br>";
|
echo "<strong>" . Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_NO_SM_TABLES') . "</strong><br><br>";
|
||||||
$sportsmanager_database_external = NULL;
|
$sportsmanager_database_external = NULL;
|
||||||
} else {
|
} else {
|
||||||
$db_version = $sportsmanager_database_external->loadResult();
|
$query = "SELECT wert FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'";
|
||||||
|
$db_version = loadResult($sportsmanager_database_external, $query);
|
||||||
if ($db_version < 38) {
|
if ($db_version < 38) {
|
||||||
echo "<strong>" . Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_NO_SM_VERSION') . "</strong><br><br>";
|
echo "<strong>" . Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_NO_SM_VERSION') . "</strong><br><br>";
|
||||||
$sportsmanager_database_external = NULL;
|
$sportsmanager_database_external = NULL;
|
||||||
|
|||||||
@@ -20,27 +20,15 @@ function updateDatabase(): void
|
|||||||
$termin_aktionen_email_setzen = false;
|
$termin_aktionen_email_setzen = false;
|
||||||
|
|
||||||
$query = "SHOW TABLE STATUS WHERE name = '" . $db->getPrefix() . "tsleague_basis' || name = '" . $db->getPrefix() . "tsleague_einstellungen'";
|
$query = "SHOW TABLE STATUS WHERE name = '" . $db->getPrefix() . "tsleague_basis' || name = '" . $db->getPrefix() . "tsleague_einstellungen'";
|
||||||
$db->setQuery($query);
|
$rows = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$rows = $db->loadObjectList();
|
|
||||||
|
|
||||||
if (count($rows) > 0) {
|
if (count($rows) > 0) {
|
||||||
$query = "SHOW TABLE STATUS WHERE name = '" . $db->getPrefix() . "tsleague_basis'";
|
$query = "SHOW TABLE STATUS WHERE name = '" . $db->getPrefix() . "tsleague_basis'";
|
||||||
$db->setQuery($query);
|
$rows = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$rows = $db->loadObjectList();
|
|
||||||
|
|
||||||
if (count($rows) > 0) {
|
if (count($rows) > 0) {
|
||||||
$query = "SELECT * FROM #__tsleague_basis";
|
$query = "SELECT * FROM #__tsleague_basis";
|
||||||
$db->setQuery($query);
|
$rows = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$rows = $db->loadObjectList();
|
|
||||||
if (count($rows) == 0)
|
if (count($rows) == 0)
|
||||||
die(Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY'));
|
die(Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY'));
|
||||||
|
|
||||||
@@ -337,11 +325,7 @@ function updateDatabase(): void
|
|||||||
if ($datenbank_version < 9) {
|
if ($datenbank_version < 9) {
|
||||||
$query = "SELECT spieler_id, geschlecht"
|
$query = "SELECT spieler_id, geschlecht"
|
||||||
. "\n FROM #__tsleague_spieler";
|
. "\n FROM #__tsleague_spieler";
|
||||||
$db->setQuery($query);
|
$spieler = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$spieler = $db->loadObjectList();
|
|
||||||
|
|
||||||
$query = "ALTER TABLE #__tsleague_spieler CHANGE geschlecht geschlecht char(1)";
|
$query = "ALTER TABLE #__tsleague_spieler CHANGE geschlecht geschlecht char(1)";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
@@ -855,11 +839,7 @@ function updateDatabase(): void
|
|||||||
}
|
}
|
||||||
|
|
||||||
$query = "SELECT * FROM #__tsleague_einstellungen WHERE name = 'datenbank_version'";
|
$query = "SELECT * FROM #__tsleague_einstellungen WHERE name = 'datenbank_version'";
|
||||||
$db->setQuery($query);
|
$rows = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$rows = $db->loadObjectList();
|
|
||||||
if (count($rows) == 0)
|
if (count($rows) == 0)
|
||||||
die(Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY'));
|
die(Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY'));
|
||||||
|
|
||||||
@@ -1728,11 +1708,7 @@ function updateDatabase(): void
|
|||||||
}
|
}
|
||||||
|
|
||||||
$query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'";
|
$query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'";
|
||||||
$db->setQuery($query);
|
$rows = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$rows = $db->loadObjectList();
|
|
||||||
if (count($rows) == 0)
|
if (count($rows) == 0)
|
||||||
die(Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY'));
|
die(Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY'));
|
||||||
|
|
||||||
@@ -2174,11 +2150,7 @@ function updateDatabase(): void
|
|||||||
. "\n SELECT YEAR(erster_tag) AS jahr FROM #__sportsmanager_bestenliste WHERE NOT ISNULL(erster_tag)"
|
. "\n SELECT YEAR(erster_tag) AS jahr FROM #__sportsmanager_bestenliste WHERE NOT ISNULL(erster_tag)"
|
||||||
. "\n GROUP BY jahr"
|
. "\n GROUP BY jahr"
|
||||||
. "\n ORDER BY jahr";
|
. "\n ORDER BY jahr";
|
||||||
$db->setQuery($query);
|
$jahre = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$jahre = $db->loadObjectList();
|
|
||||||
|
|
||||||
if (count($jahre) > 0) {
|
if (count($jahre) > 0) {
|
||||||
foreach ($jahre as $jahr) {
|
foreach ($jahre as $jahr) {
|
||||||
@@ -2199,11 +2171,7 @@ function updateDatabase(): void
|
|||||||
}
|
}
|
||||||
|
|
||||||
$query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC LIMIT 1";
|
$query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC LIMIT 1";
|
||||||
$db->setQuery($query);
|
$saisons = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$saisons = $db->loadObjectList();
|
|
||||||
|
|
||||||
$aktuelle_saison_id = $saisons[0]->saison_id;
|
$aktuelle_saison_id = $saisons[0]->saison_id;
|
||||||
// Saisons den Veranstaltungen zuordnen
|
// Saisons den Veranstaltungen zuordnen
|
||||||
@@ -2644,11 +2612,7 @@ function updateDatabase(): void
|
|||||||
. "\n INNER JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
|
. "\n INNER JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
|
||||||
. "\n LEFT JOIN #__sportsmanager_saison USING (saison_id)"
|
. "\n LEFT JOIN #__sportsmanager_saison USING (saison_id)"
|
||||||
. "\n ORDER BY heimspielort_name, heimspielort_anschrift";
|
. "\n ORDER BY heimspielort_name, heimspielort_anschrift";
|
||||||
$db->setQuery($query);
|
$teams = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$teams = $db->loadObjectList();
|
|
||||||
|
|
||||||
$heimspielort_name = "";
|
$heimspielort_name = "";
|
||||||
$heimspielort_strasse = "";
|
$heimspielort_strasse = "";
|
||||||
@@ -3020,11 +2984,7 @@ function updateDatabase(): void
|
|||||||
|
|
||||||
$query = "SELECT * FROM #__sportsmanager_turniervoranmeldung"
|
$query = "SELECT * FROM #__sportsmanager_turniervoranmeldung"
|
||||||
. "\n ORDER BY turnierdisziplin_id";
|
. "\n ORDER BY turnierdisziplin_id";
|
||||||
$db->setQuery($query);
|
$rows = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$rows = $db->loadObjectList();
|
|
||||||
|
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
$query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, rundenstufe, platz)"
|
$query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, rundenstufe, platz)"
|
||||||
@@ -3215,11 +3175,7 @@ function updateDatabase(): void
|
|||||||
|
|
||||||
if ($datenbank_version < 40) {
|
if ($datenbank_version < 40) {
|
||||||
$query = "SELECT * FROM #__sportsmanager_kategorie ORDER BY typ, nummer, kategorie_id DESC";
|
$query = "SELECT * FROM #__sportsmanager_kategorie ORDER BY typ, nummer, kategorie_id DESC";
|
||||||
$db->setQuery($query);
|
$rows = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$rows = $db->loadObjectList();
|
|
||||||
|
|
||||||
$typ = -1;
|
$typ = -1;
|
||||||
$nummer = -1;
|
$nummer = -1;
|
||||||
@@ -4053,11 +4009,7 @@ function updateDatabase(): void
|
|||||||
}
|
}
|
||||||
|
|
||||||
$query = "SELECT * FROM #__sportsmanager_moderator";
|
$query = "SELECT * FROM #__sportsmanager_moderator";
|
||||||
$db->setQuery($query);
|
$rows = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$rows = $db->loadObjectList();
|
|
||||||
|
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
$moderator_id = $row->moderator_id;
|
$moderator_id = $row->moderator_id;
|
||||||
@@ -5214,8 +5166,7 @@ function updateDatabase(): void
|
|||||||
->from('INFORMATION_SCHEMA.COLUMNS')
|
->from('INFORMATION_SCHEMA.COLUMNS')
|
||||||
->where('TABLE_NAME = ' . $db->quote($db->replacePrefix('#__sportsmanager_rangliste')))
|
->where('TABLE_NAME = ' . $db->quote($db->replacePrefix('#__sportsmanager_rangliste')))
|
||||||
->where('COLUMN_NAME = ' . $db->quote('lizenzen'));
|
->where('COLUMN_NAME = ' . $db->quote('lizenzen'));
|
||||||
$db->setQuery($query);
|
$exists = (bool)loadResult($db, $query);
|
||||||
$exists = (bool)$db->loadResult();
|
|
||||||
|
|
||||||
if (!$exists) {
|
if (!$exists) {
|
||||||
$query = "ALTER TABLE #__sportsmanager_rangliste ADD lizenzen varchar(30) DEFAULT NULL AFTER streichergebnisse";
|
$query = "ALTER TABLE #__sportsmanager_rangliste ADD lizenzen varchar(30) DEFAULT NULL AFTER streichergebnisse";
|
||||||
@@ -5230,8 +5181,7 @@ function updateDatabase(): void
|
|||||||
->from('INFORMATION_SCHEMA.COLUMNS')
|
->from('INFORMATION_SCHEMA.COLUMNS')
|
||||||
->where('TABLE_NAME = ' . $db->quote($db->replacePrefix('#__sportsmanager_spieler')))
|
->where('TABLE_NAME = ' . $db->quote($db->replacePrefix('#__sportsmanager_spieler')))
|
||||||
->where('COLUMN_NAME = ' . $db->quote('lizenz'));
|
->where('COLUMN_NAME = ' . $db->quote('lizenz'));
|
||||||
$db->setQuery($query);
|
$exists = (bool)loadResult($db, $query);
|
||||||
$exists = (bool)$db->loadResult();
|
|
||||||
|
|
||||||
if (!$exists) {
|
if (!$exists) {
|
||||||
$query = "ALTER TABLE #__sportsmanager_spieler ADD lizenz varchar(30) DEFAULT NULL AFTER lizenznr";
|
$query = "ALTER TABLE #__sportsmanager_spieler ADD lizenz varchar(30) DEFAULT NULL AFTER lizenznr";
|
||||||
@@ -5266,14 +5216,39 @@ function updateDatabase(): void
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($termin_aktionen_email_setzen) {
|
if ($datenbank_version < 104) {
|
||||||
$query = "SELECT aktion_user_id, termin_aktion_id"
|
|
||||||
. "\n FROM #__sportsmanager_termin_aktion";
|
$query = "ALTER TABLE #__sportsmanager_veranstaltung ADD direktervergleich INT(4) NOT NULL DEFAULT '0' AFTER tabellenwertung;";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) {
|
if (!$db->execute()) {
|
||||||
die($db->stderr(true));
|
die($db->stderr(true));
|
||||||
}
|
}
|
||||||
$rows = $db->loadObjectList();
|
|
||||||
|
$query = "ALTER TABLE #__sportsmanager_team ADD setzliste_nr INT(4) NULL DEFAULT NULL AFTER veranstaltung_id;";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = "ALTER TABLE #__sportsmanager_begegnung ADD spiel_nr INT(4) NULL DEFAULT NULL AFTER spieltag;";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||||
|
. "\n SET wert = '104'"
|
||||||
|
. "\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";
|
||||||
|
$rows = loadObjectList($db, $query);
|
||||||
|
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
$container = Factory::getContainer();
|
$container = Factory::getContainer();
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Joomla\CMS\Log\Log;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $db
|
||||||
|
* @param $query
|
||||||
|
* @return mixed
|
||||||
|
* @since 2.0.5
|
||||||
|
*/
|
||||||
|
function loadObjectList($db, $query): mixed
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$db->setQuery($query);
|
||||||
|
$objList = $db->loadObjectList();
|
||||||
|
} catch (RuntimeException $e) {
|
||||||
|
Log::add("Database error: " . $e->getMessage(), Log::ERROR, "com_sportsmanager");
|
||||||
|
if(isJson()) {
|
||||||
|
abortWithError($e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $objList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $db
|
||||||
|
* @param $query
|
||||||
|
* @return mixed
|
||||||
|
* @since 2.0.5
|
||||||
|
*/
|
||||||
|
function loadResult($db, $query): mixed
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$db->setQuery($query);
|
||||||
|
$result = $db->loadResult();
|
||||||
|
} catch (RuntimeException $e) {
|
||||||
|
Log::add("Database error: " . $e->getMessage(), Log::ERROR, "com_sportsmanager");
|
||||||
|
if(isJson()) {
|
||||||
|
abortWithError($e->getMessage());
|
||||||
|
} else {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,6 @@ use Joomla\CMS\Factory;
|
|||||||
use Joomla\CMS\Log\Log;
|
use Joomla\CMS\Log\Log;
|
||||||
use Joomla\CMS\Router\Route;
|
use Joomla\CMS\Router\Route;
|
||||||
use Joomla\CMS\Uri\Uri;
|
use Joomla\CMS\Uri\Uri;
|
||||||
use Joomla\CMS\User\User;
|
|
||||||
use Joomla\CMS\Version;
|
use Joomla\CMS\Version;
|
||||||
|
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ use Joomla\CMS\Uri\Uri;
|
|||||||
use Joomla\Filesystem\File;
|
use Joomla\Filesystem\File;
|
||||||
use Joomla\Filesystem\Folder;
|
use Joomla\Filesystem\Folder;
|
||||||
|
|
||||||
|
require_once JPATH_SITE . '/components/com_sportsmanager/database/util.php';
|
||||||
|
|
||||||
const SPORTSMANAGER_JOOMLA_PATH = JPATH_ROOT;
|
const SPORTSMANAGER_JOOMLA_PATH = JPATH_ROOT;
|
||||||
define("SPORTSMANAGER_JOOMLA_URL", Uri::base());
|
define("SPORTSMANAGER_JOOMLA_URL", Uri::base());
|
||||||
|
|
||||||
@@ -241,11 +243,7 @@ function playerImage($playerId, $gender, $width = 180, $height = 240): ?string
|
|||||||
. "\n FROM #__sportsmanager_spieler"
|
. "\n FROM #__sportsmanager_spieler"
|
||||||
. "\n WHERE NOT ISNULL(aktueller_verein_id) AND NOT bild_ausblenden" . (!empty($spielernr) ? " AND spielernr = '$spielernr'" : " AND lizenznr = '$lizenznr'")
|
. "\n WHERE NOT ISNULL(aktueller_verein_id) AND NOT bild_ausblenden" . (!empty($spielernr) ? " AND spielernr = '$spielernr'" : " AND lizenznr = '$lizenznr'")
|
||||||
. "\n ORDER BY spieler_id DESC";
|
. "\n ORDER BY spieler_id DESC";
|
||||||
$db->setQuery($query);
|
$rows = loadObjectList($db, $query);
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$rows = $db->loadObjectList();
|
|
||||||
if (count($rows) < 1) {
|
if (count($rows) < 1) {
|
||||||
ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
|
ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
|
||||||
header('HTTP/1.1 404 Not Found');
|
header('HTTP/1.1 404 Not Found');
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?php // do not change this file, this is automatically updated while building releases, see .github/workflows/build_release.yml
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
return [
|
||||||
|
'version' => 'DEV',
|
||||||
|
'date' => '2025-08-05',
|
||||||
|
];
|
||||||
@@ -12,7 +12,8 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_tools.php';
|
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_tools.php';
|
||||||
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
|
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
|
||||||
|
|
||||||
function formatTimediff( $timestamp1, $timestamp2, $verbose ) {
|
function formatTimediff( $timestamp1, $timestamp2, $verbose ): string
|
||||||
|
{
|
||||||
if (empty($timestamp1) || empty($timestamp2)) {
|
if (empty($timestamp1) || empty($timestamp2)) {
|
||||||
return "";
|
return "";
|
||||||
} else {
|
} else {
|
||||||
@@ -27,7 +28,8 @@ function formatTimediff( $timestamp1, $timestamp2, $verbose ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatTeamName( $team_name, $team_id, $highlight_team_id ) {
|
function formatTeamName( $team_name, $team_id, $highlight_team_id ): string
|
||||||
|
{
|
||||||
if ($team_id == $highlight_team_id) {
|
if ($team_id == $highlight_team_id) {
|
||||||
return "<b><i>" . htmlentities_utf8($team_name) . "</i></b>";
|
return "<b><i>" . htmlentities_utf8($team_name) . "</i></b>";
|
||||||
} else {
|
} else {
|
||||||
@@ -37,9 +39,24 @@ function formatTeamName( $team_name, $team_id, $highlight_team_id ) {
|
|||||||
|
|
||||||
class HTML_sportsmanager_admin
|
class HTML_sportsmanager_admin
|
||||||
{
|
{
|
||||||
|
private static $versionData = null;
|
||||||
|
|
||||||
|
private static function loadVersionData(): void
|
||||||
|
{
|
||||||
|
if (self::$versionData === null) {
|
||||||
|
self::$versionData = include JPATH_SITE . '/components/com_sportsmanager/util/version.php';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getVersion(): string
|
||||||
|
{
|
||||||
|
self::loadVersionData();
|
||||||
|
return self::$versionData['version'] ?? 'DEV';
|
||||||
|
}
|
||||||
|
|
||||||
static function adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, $externe_datenbank): void
|
static function adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, $externe_datenbank): void
|
||||||
{
|
{
|
||||||
function checkZeilenumbruch($Spalte_Nr, $max_Spalten)
|
function checkZeilenumbruch($Spalte_Nr, $max_Spalten): int
|
||||||
{
|
{
|
||||||
$Spalte_Nr++;
|
$Spalte_Nr++;
|
||||||
if ($Spalte_Nr >= $max_Spalten){
|
if ($Spalte_Nr >= $max_Spalten){
|
||||||
@@ -53,7 +70,7 @@ class HTML_sportsmanager_admin
|
|||||||
?>
|
?>
|
||||||
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" style='font-weight: bold;'>
|
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" style='font-weight: bold;'>
|
||||||
<a href="https://github.com/Deutscher-Tischfussballbund/" target="_blank">
|
<a href="https://github.com/Deutscher-Tischfussballbund/" target="_blank">
|
||||||
Sports Manager <?php echo SPORTS_MANAGER_VERSION; ?> </a>
|
Sports Manager <?php echo self::getVersion(); ?> </a>
|
||||||
</div>
|
</div>
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -2276,23 +2293,21 @@ class HTML_sportsmanager_admin
|
|||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
static function adminImportSpielerFehler($spieler): void
|
static function adminImportSpielerFehler($spieler, $fehler): void
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
|
|
||||||
$spieler_anzahl = count($spieler);
|
$spieler_anzahl = count($spieler);
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div
|
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_PLAYERS_IMPORT2'); ?></div>
|
<?php echo Text::_('COM_SPORTSMANAGER_PLAYERS_IMPORT2'); ?>
|
||||||
|
</div>
|
||||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
if ($spieler_anzahl > 0) {
|
if ($spieler_anzahl > 0) {
|
||||||
?>
|
echo Text::_('COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE');
|
||||||
<?php echo Text::_('COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE'); ?>
|
|
||||||
<?php
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
@@ -2305,12 +2320,20 @@ class HTML_sportsmanager_admin
|
|||||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap class="contentheading<?php echo $params->get('pageclass_sfx'); ?>"
|
<td nowrap class="contentheading<?php echo $params->get('pageclass_sfx'); ?>"
|
||||||
style="width: 100%"><?php echo Text::_('COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE'); ?></td>
|
style="width: 100%">
|
||||||
|
<?php
|
||||||
|
if ($fehler == "konflikt")
|
||||||
|
echo Text::_('COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE');
|
||||||
|
if ($fehler == "Passnummer")
|
||||||
|
echo Text::_('COM_SPORTSMANAGER_IMPORT_WRONG_FORMAT_PLAYERNUMBER');
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
|
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_PLAYER_NUMBER_SHORT'); ?></strong></th>
|
||||||
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_NAME'); ?></strong></th>
|
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_NAME'); ?></strong></th>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
@@ -2320,6 +2343,7 @@ class HTML_sportsmanager_admin
|
|||||||
?>
|
?>
|
||||||
<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><?php echo htmlentities_utf8($s->spielernr); ?></td>
|
||||||
<td nowrap><?php echo htmlentities_utf8($s->nachname . ", " . $s->vorname); ?></td>
|
<td nowrap><?php echo htmlentities_utf8($s->nachname . ", " . $s->vorname); ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
@@ -2342,7 +2366,6 @@ class HTML_sportsmanager_admin
|
|||||||
static function adminImportSpielerVorschau($import_verweigern, $spieler, $veranstalter, $session_id, $persoenliche_daten, $lizenznr_beibehalten, $spalten): void
|
static function adminImportSpielerVorschau($import_verweigern, $spieler, $veranstalter, $session_id, $persoenliche_daten, $lizenznr_beibehalten, $spalten): void
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
|
|
||||||
$spieler_anzahl = count($spieler);
|
$spieler_anzahl = count($spieler);
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -7204,6 +7227,22 @@ class HTML_sportsmanager_admin
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr id="tr_hthr">
|
||||||
|
<td nowrap style="width: 20%; text-align: right">
|
||||||
|
<label for="dd_hthr"><?php echo Text::_('COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD'); ?>
|
||||||
|
:</label>
|
||||||
|
</td>
|
||||||
|
<td nowrap>
|
||||||
|
<select class="uk-select uk-form-width-medium" name="direktervergleich" id="dd_hthr" size="1">
|
||||||
|
<?php
|
||||||
|
$direktervergleich = array(Text::_('COM_SPORTSMANAGER_NO'), Text::_('COM_SPORTSMANAGER_YES'));
|
||||||
|
for ($i = 0; $i <= 1; $i++) {
|
||||||
|
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->direktervergleich == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($direktervergleich[$i]) . "</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap style="width: 20%; text-align: right">
|
<td nowrap style="width: 20%; text-align: right">
|
||||||
<label
|
<label
|
||||||
@@ -7378,6 +7417,26 @@ class HTML_sportsmanager_admin
|
|||||||
<input type="hidden" name="task" value="admin_veranstaltung_save"/>
|
<input type="hidden" name="task" value="admin_veranstaltung_save"/>
|
||||||
<input type="hidden" name="id" value="<?php echo($row != null ? $row->veranstaltung_id : "0"); ?>"/>
|
<input type="hidden" name="id" value="<?php echo($row != null ? $row->veranstaltung_id : "0"); ?>"/>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// Auswahlfeld Direkter Vergleich in Abhaengigkeit von Tabellenwertung anzeigen
|
||||||
|
const dropdown = document.getElementById("table_evaluation");
|
||||||
|
const zeile = document.getElementById("tr_hthr");
|
||||||
|
const unteroption = document.getElementById("dd_hthr");
|
||||||
|
|
||||||
|
function pruefeAnzeige() {
|
||||||
|
const wert = parseInt(dropdown.value);
|
||||||
|
if (wert >= 1 && wert <= 9) {
|
||||||
|
zeile.style.display = "";
|
||||||
|
} else {
|
||||||
|
zeile.style.display = "none";
|
||||||
|
unteroption.value = "0";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dropdown.addEventListener("change", pruefeAnzeige);
|
||||||
|
window.addEventListener("DOMContentLoaded", pruefeAnzeige);
|
||||||
|
</script>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -404,8 +404,9 @@ COM_SPORTSMANAGER_COUNTRY_CODE="Landeskennung"
|
|||||||
COM_SPORTSMANAGER_IMPORT="Importieren"
|
COM_SPORTSMANAGER_IMPORT="Importieren"
|
||||||
COM_SPORTSMANAGER_IMPORT_MESSAGE="Im Import sind ausschließlich Spielerdaten zum Verein %s enthalten. Soll ausschließlich der Spielerbestand des einen Vereins aktualisiert werden, muss der zugehörige Verein unten ausgewählt werden. Beinhaltet der Import den gesamten Spielerbestand einer Organisation, muss die zugehörige Organisation gewählt werden."
|
COM_SPORTSMANAGER_IMPORT_MESSAGE="Im Import sind ausschließlich Spielerdaten zum Verein %s enthalten. Soll ausschließlich der Spielerbestand des einen Vereins aktualisiert werden, muss der zugehörige Verein unten ausgewählt werden. Beinhaltet der Import den gesamten Spielerbestand einer Organisation, muss die zugehörige Organisation gewählt werden."
|
||||||
COM_SPORTSMANAGER_CHECK="Prüfen"
|
COM_SPORTSMANAGER_CHECK="Prüfen"
|
||||||
COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE="Im Import sind Konflikte enthalten, die im Vorfeld manuell beseitigt werden müssen."
|
COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE="Im Import sind Fehler oder Konflikte enthalten, die im Vorfeld manuell beseitigt werden müssen."
|
||||||
COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE="Versuch, Spielernr. auf eine bereits für einen anderen Spieler vergebene Spielernr. zu ändern"
|
COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE="Versuch, Spielernr. auf eine bereits für einen anderen Spieler vergebene Spielernr. zu ändern"
|
||||||
|
COM_SPORTSMANAGER_IMPORT_WRONG_FORMAT_PLAYERNUMBER="Eine oder mehrere Spielernummer enthalten ein ungültiges Format"
|
||||||
COM_SPORTSMANAGER_NAME2="Name"
|
COM_SPORTSMANAGER_NAME2="Name"
|
||||||
COM_SPORTSMANAGER_DATA_IMPORT_ABORT_MESSAGE="Der Import wird abgebrochen, da Konflikte bei den zu importierenden Spielerdaten bestehen. Bitte kontaktiere einen Moderator und sende dabei die Importdatei mit!"
|
COM_SPORTSMANAGER_DATA_IMPORT_ABORT_MESSAGE="Der Import wird abgebrochen, da Konflikte bei den zu importierenden Spielerdaten bestehen. Bitte kontaktiere einen Moderator und sende dabei die Importdatei mit!"
|
||||||
COM_SPORTSMANAGER_DATA_IMPORT_NO_CONFLICTS="Es bestehen keine Konflikte bei den zu importierenden Spielerdaten."
|
COM_SPORTSMANAGER_DATA_IMPORT_NO_CONFLICTS="Es bestehen keine Konflikte bei den zu importierenden Spielerdaten."
|
||||||
@@ -536,6 +537,7 @@ COM_SPORTSMANAGER_FULL_RATING="Volle Wertung"
|
|||||||
COM_SPORTSMANAGER_NO_RATING="Keine Wertung"
|
COM_SPORTSMANAGER_NO_RATING="Keine Wertung"
|
||||||
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Mannschaftswettbewerbe"
|
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Mannschaftswettbewerbe"
|
||||||
COM_SPORTSMANAGER_TABLE_SUMMARY="Tabellenwertung"
|
COM_SPORTSMANAGER_TABLE_SUMMARY="Tabellenwertung"
|
||||||
|
COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD="Direkter Vergleich"
|
||||||
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Spielpunkte gewonnen, Spielpunkte verloren, Punktedifferenz"
|
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Spielpunkte gewonnen, Spielpunkte verloren, Punktedifferenz"
|
||||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Leistungsindex (SP+ * SP+ * 100) / (SP+ + SP-), Spielpunkte gewonnen, ..."
|
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Leistungsindex (SP+ * SP+ * 100) / (SP+ + SP-), Spielpunkte gewonnen, ..."
|
||||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Leistungsindex (S * P+ * 10) / (P+ + P-), Spielpunkte gewonnen, ..."
|
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Leistungsindex (S * P+ * 10) / (P+ + P-), Spielpunkte gewonnen, ..."
|
||||||
|
|||||||
@@ -404,8 +404,9 @@ COM_SPORTSMANAGER_COUNTRY_CODE="Country code"
|
|||||||
COM_SPORTSMANAGER_IMPORT="Import"
|
COM_SPORTSMANAGER_IMPORT="Import"
|
||||||
COM_SPORTSMANAGER_IMPORT_MESSAGE="In the import there are only player information about club %s present. Shall only the members of that one club be updated, the associated club has to be selected down here. If the import contains all members of the organisation then the organisation must be selected."
|
COM_SPORTSMANAGER_IMPORT_MESSAGE="In the import there are only player information about club %s present. Shall only the members of that one club be updated, the associated club has to be selected down here. If the import contains all members of the organisation then the organisation must be selected."
|
||||||
COM_SPORTSMANAGER_CHECK="Check"
|
COM_SPORTSMANAGER_CHECK="Check"
|
||||||
COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE="There are conflicts in the import which have to be fixed manually first."
|
COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE="There are faults or conflicts in the import which have to be fixed manually first."
|
||||||
COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE="Attempt to change player number into one that is already assigned to another player."
|
COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE="Attempt to change player number into one that is already assigned to another player."
|
||||||
|
COM_SPORTSMANAGER_IMPORT_WRONG_FORMAT_PLAYERNUMBER="One or more player numbers contain an invalid format"
|
||||||
COM_SPORTSMANAGER_NAME2="Name"
|
COM_SPORTSMANAGER_NAME2="Name"
|
||||||
COM_SPORTSMANAGER_DATA_IMPORT_ABORT_MESSAGE="The import has been aborted because there are conflicts in the containing player information. Please contact a moderator and attach the import!"
|
COM_SPORTSMANAGER_DATA_IMPORT_ABORT_MESSAGE="The import has been aborted because there are conflicts in the containing player information. Please contact a moderator and attach the import!"
|
||||||
COM_SPORTSMANAGER_DATA_IMPORT_NO_CONFLICTS="There are conflicts in the containing player information."
|
COM_SPORTSMANAGER_DATA_IMPORT_NO_CONFLICTS="There are conflicts in the containing player information."
|
||||||
@@ -536,6 +537,7 @@ COM_SPORTSMANAGER_FULL_RATING="Full rating"
|
|||||||
COM_SPORTSMANAGER_NO_RATING="No rating"
|
COM_SPORTSMANAGER_NO_RATING="No rating"
|
||||||
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Team competitions"
|
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Team competitions"
|
||||||
COM_SPORTSMANAGER_TABLE_SUMMARY="Table rating"
|
COM_SPORTSMANAGER_TABLE_SUMMARY="Table rating"
|
||||||
|
COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD="Head-to-head record"
|
||||||
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Game points won, game points lost, point difference"
|
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Game points won, game points lost, point difference"
|
||||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Performance index (GP+ * GP+ * 100) / (GP+ + GP-), game points won, ..."
|
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Performance index (GP+ * GP+ * 100) / (GP+ + GP-), game points won, ..."
|
||||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Performance index (games * P+ * 10) / (P+ + P-), game points won, ..."
|
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Performance index (games * P+ * 10) / (P+ + P-), game points won, ..."
|
||||||
|
|||||||
@@ -137,6 +137,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n `tisch` tinytext DEFAULT NULL,"
|
. "\n `tisch` tinytext DEFAULT NULL,"
|
||||||
. "\n `zeitpunkt` datetime DEFAULT NULL,"
|
. "\n `zeitpunkt` datetime DEFAULT NULL,"
|
||||||
. "\n `spieltag` smallint(6) DEFAULT NULL,"
|
. "\n `spieltag` smallint(6) DEFAULT NULL,"
|
||||||
|
. "\n `spiel_nr` tinyint(4) DEFAULT NULL,"
|
||||||
. "\n `heim_punkte` smallint(6) DEFAULT NULL,"
|
. "\n `heim_punkte` smallint(6) DEFAULT NULL,"
|
||||||
. "\n `gast_punkte` smallint(6) DEFAULT NULL,"
|
. "\n `gast_punkte` smallint(6) DEFAULT NULL,"
|
||||||
. "\n `heim_spielpunkte` smallint(6) DEFAULT NULL,"
|
. "\n `heim_spielpunkte` smallint(6) DEFAULT NULL,"
|
||||||
@@ -680,6 +681,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n `teamgruppe_id` int(11) DEFAULT NULL,"
|
. "\n `teamgruppe_id` int(11) DEFAULT NULL,"
|
||||||
. "\n `verein_id` int(11) DEFAULT NULL,"
|
. "\n `verein_id` int(11) DEFAULT NULL,"
|
||||||
. "\n `veranstaltung_id` int(11) NOT NULL DEFAULT '0',"
|
. "\n `veranstaltung_id` int(11) NOT NULL DEFAULT '0',"
|
||||||
|
. "\n `setzliste_nr` tinyint(4) DEFAULT NULL,"
|
||||||
. "\n `teamname` varchar(50) NOT NULL,"
|
. "\n `teamname` varchar(50) NOT NULL,"
|
||||||
. "\n `tischtyp` varchar(200) DEFAULT NULL,"
|
. "\n `tischtyp` varchar(200) DEFAULT NULL,"
|
||||||
. "\n `tischeigenschaften` varchar(200) DEFAULT NULL,"
|
. "\n `tischeigenschaften` varchar(200) DEFAULT NULL,"
|
||||||
@@ -1033,6 +1035,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n `modus_id` int(11) NOT NULL DEFAULT '0',"
|
. "\n `modus_id` int(11) NOT NULL DEFAULT '0',"
|
||||||
. "\n `verschieberegel_id` int(11) NOT NULL DEFAULT '0',"
|
. "\n `verschieberegel_id` int(11) NOT NULL DEFAULT '0',"
|
||||||
. "\n `tabellenwertung` tinyint(4) NOT NULL DEFAULT '0',"
|
. "\n `tabellenwertung` tinyint(4) NOT NULL DEFAULT '0',"
|
||||||
|
. "\n `direktervergleich` tinyint(4) NOT NULL DEFAULT '0',"
|
||||||
. "\n `unterteilung` tinyint(4) NOT NULL DEFAULT '0',"
|
. "\n `unterteilung` tinyint(4) NOT NULL DEFAULT '0',"
|
||||||
. "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00',"
|
. "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00',"
|
||||||
. "\n `letzter_tag` date DEFAULT NULL,"
|
. "\n `letzter_tag` date DEFAULT NULL,"
|
||||||
|
|||||||
Reference in New Issue
Block a user