From 31a3eeef1284b6155143fbf5a6129cd6f03f96fe Mon Sep 17 00:00:00 2001 From: Marvin Flock Date: Fri, 28 Mar 2025 14:24:02 +0100 Subject: [PATCH] chore: replace database.php by splitting into init and update --- .../com_sportsmanager/database/init.php | 120 + .../{database.php => database/update.php} | 10528 ++++++++-------- 2 files changed, 5403 insertions(+), 5245 deletions(-) create mode 100644 src/structure/components/com_sportsmanager/database/init.php rename src/structure/components/com_sportsmanager/{database.php => database/update.php} (79%) diff --git a/src/structure/components/com_sportsmanager/database/init.php b/src/structure/components/com_sportsmanager/database/init.php new file mode 100644 index 0000000..77b57b1 --- /dev/null +++ b/src/structure/components/com_sportsmanager/database/init.php @@ -0,0 +1,120 @@ +get(DatabaseInterface::class); + + $query = "SELECT * FROM #__sportsmanager_einstellungen"; + $sportsmanager_database_local->setQuery($query); + if (!$sportsmanager_database_local->execute()) { + die($sportsmanager_database_local->stderr(true)); + } + $rows = $sportsmanager_database_local->loadObjectList(); + + $database_driver = "mysql"; + $database_host = ""; + $database_user = ""; + $database_password = ""; + $database_database = ""; + $database_prefix = "jos_"; + $joomla_path = ""; + $joomla_url = ""; + foreach ($rows as $row) { + $name = mb_strtolower($row->name); + if ($name == "database_driver") + $database_driver = $row->wert; + else if ($name == "database_host") + $database_host = $row->wert; + else if ($name == "database_user") + $database_user = $row->wert; + else if ($name == "database_password") + $database_password = $row->wert; + else if ($name == "database_database") + $database_database = $row->wert; + else if ($name == "database_prefix") + $database_prefix = $row->wert; + else if ($name == "joomla_path") + $joomla_path = $row->wert; + else if ($name == "joomla_url") + $joomla_url = $row->wert; + } + + if (!empty($database_driver) && !empty($database_host) && !empty($database_user) && !empty($database_database) && !empty($database_prefix) && !empty($joomla_path) && !empty($joomla_url)) { + $option = array(); //prevent problems + + $option['driver'] = $database_driver; // Database driver name + $option['host'] = $database_host; // Database host name + $option['user'] = $database_user; // User for database authentication + $option['password'] = $database_password; // Password for database authentication + $option['database'] = $database_database; // Database name + $option['prefix'] = $database_prefix; // Database prefix (may be empty) + + $sportsmanager_database_external = match ($option['driver']) { + 'mysql' => new MysqlDriver($option), + 'mysqli' => new MysqliDriver($option), + default => NULL, + }; + + if ($sportsmanager_database_external === NULL) { + echo "" . Text::_('COM_SPORTSMANAGER_CONNECTION_EXTERNAL_DB_FAILURE') . "

"; + } else { + $query = "SELECT wert FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'"; + $sportsmanager_database_external->setQuery($query); + try { + if (!$sportsmanager_database_external->execute()) { + echo "" . Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_NO_SM_TABLES') . "

"; + $sportsmanager_database_external = NULL; + } else { + $db_version = $sportsmanager_database_external->loadResult(); + if ($db_version < 38) { + echo "" . Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_NO_SM_VERSION') . "

"; + $sportsmanager_database_external = NULL; + } else if (!is_dir($joomla_path . DIRECTORY_SEPARATOR . "images" . DIRECTORY_SEPARATOR . "sportsmanager")) { + echo "" . Text::_('COM_SPORTSMANAGER_EXTERNAL_NO_IMAGES_FOLDER') . " '/images/sportsmanager'!

"; + $sportsmanager_database_external = NULL; + } else { + $sportsmanager_joomla_path = $joomla_path; + $sportsmanager_joomla_url = $joomla_url; + } + } + } catch (Exception $e) { + error_log($e->getMessage()); + } + } + } +} + +function isExternalDatabase(): bool +{ + global $sportsmanager_database_external; + return $sportsmanager_database_external != NULL; +} + +function getDatabase($forceLocalDB = FALSE) +{ + global $sportsmanager_database_local; + global $sportsmanager_database_external; + if ($forceLocalDB || $sportsmanager_database_external == NULL) + $db = $sportsmanager_database_local; + else + $db = $sportsmanager_database_external; + + return $db; +} diff --git a/src/structure/components/com_sportsmanager/database.php b/src/structure/components/com_sportsmanager/database/update.php similarity index 79% rename from src/structure/components/com_sportsmanager/database.php rename to src/structure/components/com_sportsmanager/database/update.php index 22490d0..b826884 100644 --- a/src/structure/components/com_sportsmanager/database.php +++ b/src/structure/components/com_sportsmanager/database/update.php @@ -1,5245 +1,5283 @@ -setQuery( $query ); - if (!$result = $sportsmanager_database_local->execute()) { die($sportsmanager_database_local->stderr(true)); } - $rows = $sportsmanager_database_local->loadObjectList(); - - $database_driver = "mysql"; - $database_host = ""; - $database_user = ""; - $database_password = ""; - $database_database = ""; - $database_prefix = "jos_"; - $joomla_path = ""; - $joomla_url = ""; - foreach ($rows as $row) { - $name = mb_strtolower($row->name); - if ($name == "database_driver") - $database_driver = $row->wert; - else if ($name == "database_host") - $database_host = $row->wert; - else if ($name == "database_user") - $database_user = $row->wert; - else if ($name == "database_password") - $database_password = $row->wert; - else if ($name == "database_database") - $database_database = $row->wert; - else if ($name == "database_prefix") - $database_prefix = $row->wert; - else if ($name == "joomla_path") - $joomla_path = $row->wert; - else if ($name == "joomla_url") - $joomla_url = $row->wert; - } - - if (!empty($database_driver) && !empty($database_host) && !empty($database_user) && !empty($database_database) && !empty($database_prefix) && !empty($joomla_path) && !empty($joomla_url)) { - $option = array(); //prevent problems - - $option['driver'] = $database_driver; // Database driver name - $option['host'] = $database_host; // Database host name - $option['user'] = $database_user; // User for database authentication - $option['password'] = $database_password; // Password for database authentication - $option['database'] = $database_database; // Database name - $option['prefix'] = $database_prefix; // Database prefix (may be empty) - - $sportsmanager_database_external = JDatabase::getInstance( $option ); - if (JError::isError($sportsmanager_database_external)) { - echo "".JText::_( 'COM_SPORTSMANAGER_CONNECTION_EXTERNAL_DB_FAILURE' )."

"; - $sportsmanager_database_external = NULL; - // jexit(htmlentities_utf8('Database Error: ' . $sportsmanager_database_external->toString())); - } else { - $query = "SELECT wert FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'"; - $sportsmanager_database_external->setQuery($query); - if (!$result = $sportsmanager_database_external->execute()) { - echo "".JText::_( 'COM_SPORTSMANAGER_EXTERNAL_DB_NO_SM_TABLES' )."

"; - $sportsmanager_database_external = NULL; - } else { - $db_version = $sportsmanager_database_external->loadResult(); - if ($db_version < 38) { - echo "".JText::_( 'COM_SPORTSMANAGER_EXTERNAL_DB_NO_SM_VERSION' )."

"; - $sportsmanager_database_external = NULL; - } else if (!is_dir($joomla_path.DIRECTORY_SEPARATOR."images".DIRECTORY_SEPARATOR."sportsmanager")) { - echo "".JText::_( 'COM_SPORTSMANAGER_EXTERNAL_NO_IMAGES_FOLDER' )." '/images/sportsmanager'!

"; - $sportsmanager_database_external = NULL; - } else { - $sportsmanager_joomla_path = $joomla_path; - $sportsmanager_joomla_url = $joomla_url; - } - } - } - } -} - -function isExternalDatabase() { - global $sportsmanager_database_external; - return $sportsmanager_database_external != NULL; -} - -function getDatabase($forceLocalDB = FALSE) { - global $sportsmanager_database_local; - global $sportsmanager_database_external; - if ($forceLocalDB || $sportsmanager_database_external == NULL) - $db = $sportsmanager_database_local; - else - $db = $sportsmanager_database_external; - - return $db; -} - -// Datenbank aktualisieren -function updateDatabase() -{ - $db = getDatabase(); - - - $elo_aktualisieren = false; - $rangliste_aktualisieren = false; - $wann_gespielt_aktualisieren = false; - $teamstatistik_aktualisieren = false; - $aktueller_verein_aktualisieren = false; - $spielerstatistik_aktualisieren = false; - $termin_aktionen_email_setzen = false; - - $query = "SHOW TABLE STATUS WHERE name = '" . $db->getPrefix() . "tsleague_basis' || name = '" . $db->getPrefix() . "tsleague_einstellungen'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - - if (count($rows) > 0) { - $query = "SHOW TABLE STATUS WHERE name = '" . $db->getPrefix() . "tsleague_basis'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - - if (count($rows) > 0) { - $query = "SELECT * FROM #__tsleague_basis"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - if (count($rows) == 0) - die(JText::_( 'COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY' )); - - $datenbank_version = $rows[0]->datenbank_version; - - if ($datenbank_version < 1) { - $query = "ALTER TABLE #__tsleague_spieler DROP verein_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 1"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 2) { - $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_rangliste_system` (" - . "\n `rangliste_system_id` int(11) NOT NULL auto_increment," - . "\n `systembezeichnung` varchar(50)," - . "\n PRIMARY KEY (`rangliste_system_id`)" - . "\n ) TYPE=MyISAM;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_rangliste_system_punkte` (" - . "\n `rangliste_system_punkte_id` int(11) NOT NULL auto_increment," - . "\n `system_id` int(11) NOT NULL," - . "\n `platz_min` smallint," - . "\n `platz_max` smallint," - . "\n `teilnehmer_min` smallint," - . "\n `teilnehmer_max` smallint," - . "\n `punkte` smallint," - . "\n PRIMARY KEY (`rangliste_system_punkte_id`)" - . "\n ) TYPE=MyISAM;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_rangliste` (" - . "\n `rangliste_id` int(11) NOT NULL auto_increment," - . "\n `system_id` int(11) NOT NULL," - . "\n `bezeichnung` varchar(50)," - . "\n `erster_tag` date NOT NULL," - . "\n `letzter_tag` date NOT NULL," - . "\n `status` tinyint NOT NULL default '0'," - . "\n PRIMARY KEY (`rangliste_id`)" - . "\n ) TYPE=MyISAM;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_rangliste_turnierdisziplin` (" - . "\n `rangliste_turnierdisziplin_id` int(11) NOT NULL auto_increment," - . "\n `rangliste_id` int(11) NOT NULL," - . "\n `turnierdisziplin_id` int(11) NOT NULL," - . "\n PRIMARY KEY (`rangliste_turnierdisziplin_id`)" - . "\n ) TYPE=MyISAM;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS #__tsleague_rangliste_punkte (" - . "\n `rangliste_punkte_id` int(11) NOT NULL auto_increment," - . "\n `spieler_id` int(11) NOT NULL," - . "\n `punkte` smallint," - . "\n `teilnahmen` smallint," - . "\n PRIMARY KEY (`rangliste_punkte_id`)" - . "\n ) TYPE=MyISAM;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 2"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 3) { - $query = "ALTER TABLE #__tsleague_teamspiel_modus ADD spielpunkte_wertung tinyint NOT NULL default '0' AFTER punktetyp"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_teamspiel_modus ADD begegnungspunkte_wertung tinyint NOT NULL default '0' AFTER spielpunkte_wertung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 3"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 4) { - $query = "ALTER TABLE #__tsleague_rangliste_system ADD streichergebnisse tinyint AFTER rangliste_system_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_rangliste_punkte ADD rangliste_id int(11) NOT NULL AFTER rangliste_punkte_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 4"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 5) { - $query = "ALTER TABLE #__tsleague_spieler_elo CHANGE einzel_liga_elo elo_einzel smallint"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler_elo CHANGE doppel_liga_elo elo_doppel smallint"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler_elo CHANGE einzel_liga_spiele spiele_einzel smallint"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler_elo CHANGE doppel_liga_spiele spiele_doppel smallint"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler_elo DROP einzel_turnier_elo"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler_elo DROP doppel_turnier_elo"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler_elo DROP einzel_turnier_spiele"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler_elo DROP doppel_turnier_spiele"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_turnierdisziplin CHANGE gewichtung elo_wertung tinyint"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_veranstaltung ADD elo_wertung tinyint AFTER letzter_tag"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_veranstaltung" - . "\n SET elo_wertung = 1" - . "\n WHERE status = 2 OR status = 3"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_turnierdisziplin" - . "\n SET elo_wertung = 1" - . "\n WHERE elo_wertung != 0"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 5"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $elo_aktualisieren = true; - } - - if ($datenbank_version < 6) { - - $query = "ALTER TABLE #__tsleague_unbestaetigtes_ergebnis ADD kommentar varchar(512) AFTER vorschlagendes_team_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD kommentar varchar(512) AFTER vorschlagendes_team_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 6"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 7) { - - $query = "ALTER TABLE #__tsleague_team CHANGE verein_id verein_id int(11)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_team" - . "\n SET verein_id = NULL" - . "\n WHERE verein_id = 0"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_verein DROP veranstaltung_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 7"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 8) { - $query = "ALTER TABLE #__tsleague_veranstalter ADD veranstalterkuerzel varchar(20) AFTER veranstalterbezeichnung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_verein ADD veranstalter_id int(11) AFTER verein_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 8"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 9) { - $query = "SELECT spieler_id, geschlecht" - . "\n FROM #__tsleague_spieler"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $spieler = $db->loadObjectList(); - - $query = "ALTER TABLE #__tsleague_spieler CHANGE geschlecht geschlecht char(1)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - foreach ($spieler as $s) { - $query = "UPDATE #__tsleague_spieler" - . "\n SET geschlecht = " . ($s->geschlecht == 0 ? "'M'" : "'W'") - . "\n WHERE spieler_id = $s->spieler_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 9"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 10) { - $query = "ALTER TABLE #__tsleague_spieler ADD zuletzt_gespielt date AFTER spielernr"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 10"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $wann_gespielt_aktualisieren = true; - $elo_aktualisieren = true; - } - - if ($datenbank_version < 11) { - $query = "ALTER TABLE #__tsleague_turnierdisziplin ADD voranmeldung datetime AFTER elo_wertung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS #__tsleague_turniervoranmeldung (" - . "\n `turniervoranmeldung_id` int(11) NOT NULL auto_increment," - . "\n `turnierdisziplin_id` int(11) NOT NULL," - . "\n `spieler_1_id` int(11) NOT NULL," - . "\n `spieler_2_id` int(11)," - . "\n PRIMARY KEY (`turniervoranmeldung_id`)" - . "\n ) TYPE=MyISAM;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 11"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 12) { - $query = "ALTER TABLE #__tsleague_begegnung_verlegen CHANGE kommentar kommentar varchar(255)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_unbestaetigtes_ergebnis CHANGE kommentar kommentar varchar(255)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 12"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 13) { - $query = "ALTER TABLE #__tsleague_verein ADD vereinssitz varchar(30) AFTER vereinsname"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler ADD landeskennung varchar(10) AFTER ort"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_veranstalter ADD kennzahl varchar(10) AFTER veranstalterkuerzel"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 13"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 14) { - $query = "ALTER TABLE #__tsleague_unbestaetigtes_ergebnis ADD vorgeschlagen datetime AFTER kommentar"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD vorgeschlagen datetime AFTER kommentar"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD vorschlaege_heim smallint default 0 AFTER vorgeschlagen"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD vorschlag_gast_erlauben smallint default 1 AFTER vorschlaege_heim"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_veranstaltung ADD reihenfolge tinyint default 1 AFTER status"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 14"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 15) { - $query = "ALTER TABLE #__tsleague_spieler ADD ausgetreten tinyint AFTER zuletzt_gespielt"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 15"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $elo_aktualisieren = true; - } - - if ($datenbank_version < 16) { - - $query = "ALTER TABLE #__tsleague_spieler CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_verein CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_vereinsansprechpartner CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_veranstalter CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_teamspiel_modus CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_veranstaltung CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_team CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_teamansprechpartner CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_unbestaetigtes_ergebnis CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_turnier CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_turnierdisziplin CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_turniermeldung CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_rangliste_system CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_rangliste CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 16"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 17) { - $query = "ALTER TABLE #__tsleague_veranstalter DROP kennzahl"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler DROP url"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 17"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 18) { - $query = "ALTER TABLE #__tsleague_spieler_elo ADD UNIQUE (spieler_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_verein ADD KEY (veranstalter_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_mitglied_von_verein ADD KEY (spieler_id), ADD KEY (verein_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_vereinsansprechpartner ADD KEY (verein_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_berechtigt_fuer_verein ADD KEY (berechtigt_user_id), ADD KEY (berechtigt_verein_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_veranstaltung ADD KEY (veranstalter_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_team ADD KEY (verein_id), ADD KEY (veranstaltung_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_teamansprechpartner ADD KEY (team_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_mitglied_von_team ADD KEY (spieler_id), ADD KEY (team_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung ADD KEY (heim_team_id), ADD KEY (gast_team_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD KEY (begegnung_id), ADD KEY (vorschlagendes_team_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_teamspiel ADD KEY (begegnung_id), ADD KEY (heim_spieler_1_id), ADD KEY (heim_spieler_2_id), ADD KEY (gast_spieler_1_id), ADD KEY (gast_spieler_2_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_unbestaetigtes_ergebnis ADD KEY (begegnung_id), ADD KEY (vorschlagendes_team_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_berechtigt_fuer_team ADD KEY (berechtigt_user_id), ADD KEY (berechtigt_team_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_moderator ADD KEY (moderator_user_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_turnier ADD KEY (veranstalter_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_turnierdisziplin ADD KEY (turnier_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_turniervoranmeldung ADD KEY (turnierdisziplin_id), ADD KEY (spieler_1_id), ADD KEY (spieler_2_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_turniermeldung ADD KEY (turnierdisziplin_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_turniermeldung_spieler ADD KEY (turniermeldung_id), ADD KEY (spieler_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_turnierspiel ADD KEY (turnierdisziplin_id), ADD KEY (heim_meldung_id), ADD KEY (gast_meldung_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_rangliste_system_punkte ADD KEY (system_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_rangliste ADD KEY (system_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_rangliste_turnierdisziplin ADD KEY (rangliste_id), ADD KEY (turnierdisziplin_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_rangliste_punkte ADD KEY (rangliste_id), ADD KEY (spieler_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 18"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 19) { - $query = "ALTER TABLE #__tsleague_verein CHANGE vereinsname vereinsname varchar(50) NOT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_basis" - . "\n SET datenbank_version = 19"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - $query = "DROP TABLE IF EXISTS `#__tsleague_einstellungen`;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_einstellungen` (" - . "\n `name` char(30)," - . "\n `wert` char(255)," - . "\n PRIMARY KEY (`name`)" - . "\n ) TYPE=MyISAM COLLATE=latin1_german1_ci;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler ADD lizenznr varchar(20) AFTER spielernr"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "INSERT #__tsleague_einstellungen" - . "\n SET name = 'datenbank_version', wert = '20'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "INSERT #__tsleague_einstellungen" - . "\n SET name = 'basis_spielernr', wert = ''"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "DROP TABLE #__tsleague_basis"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - $query = "SELECT * FROM #__tsleague_einstellungen WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - if (count($rows) == 0) - die(JText::_( 'COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY' )); - - $datenbank_version = intval($rows[0]->wert); - - if ($datenbank_version < 21) { - $query = "ALTER TABLE #__tsleague_veranstalter ADD kategorie tinyint default '1' AFTER veranstalterkuerzel"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_veranstaltung ADD kategorie tinyint default '1' AFTER reihenfolge"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '21'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 22) { - $query = "ALTER TABLE #__tsleague_veranstaltung ADD tabellenwertung tinyint NOT NULL default '0' AFTER modus_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_veranstaltung ADD unterteilung tinyint NOT NULL default '0' AFTER tabellenwertung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_veranstaltung" - . "\n LEFT JOIN #__tsleague_teamspiel_modus ON teamspiel_modus_id = modus_id" - . "\n SET tabellenwertung = IF(begegnungspunkte_wertung = 0, 1, 2)" - . "\n WHERE status = 2"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_veranstaltung" - . "\n SET unterteilung = IF(status = 3, 1, 2)" - . "\n WHERE status = 3 OR status = 1"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_veranstaltung" - . "\n SET status = 1" - . "\n WHERE status > 0"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_teamspiel_modus DROP begegnungspunkte_wertung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_teamspiel_modus DROP ergebnistyp"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung DROP heim_begegnungspunkte"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung DROP gast_begegnungspunkte"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '22'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 23) { - if (!JFolder::exists(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague' . DIRECTORY_SEPARATOR . 'spieler')) { - if (!JFolder::move(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague' . DIRECTORY_SEPARATOR . 'players', JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague' . DIRECTORY_SEPARATOR . 'spieler')) - die(JText::_( 'COM_SPORTSMANAGER_RENAME_PLAYER_DIRECTORY_FAILED' )); - } - - if (!JFolder::create(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague' . DIRECTORY_SEPARATOR . 'mannschaften', 0777)) - die(JText::_( 'COM_SPORTSMANAGER_CREATE_TEAM_DIRECTORY_FAILED' )); - - if (!JFolder::create(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague' . DIRECTORY_SEPARATOR . 'vereine', 0777)) - die(JText::_( 'COM_SPORTSMANAGER_CREATE_CLUB_DIRECTORY_FAILED' )); - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '23'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 24) { - $query = "ALTER TABLE #__tsleague_rangliste ADD reihenfolge tinyint default '1' AFTER status"; - - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_rangliste ADD kategorie tinyint default '1' AFTER reihenfolge"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_rangliste_turnierdisziplin ADD wertung tinyint default '1' AFTER turnierdisziplin_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '24'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 25) { - $query = "ALTER TABLE #__tsleague_turnierspiel CHANGE runde runde smallint"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '25'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 26) { - $query = "UPDATE #__tsleague_veranstaltung" - . "\n SET tabellenwertung = IF(tabellenwertung = 1, 2, 5)" - . "\n WHERE tabellenwertung > 0"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '26'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 27) { - $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD aktion tinyint default '0' AFTER begegnung_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen CHANGE neuer_zeitpunkt zeitpunkt datetime"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD user_id int(11) AFTER zeitpunkt"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen DROP INDEX vorschlagendes_team_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen CHANGE vorschlagendes_team_id team_id int(11)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD verantwortlich_team_id int(11) AFTER team_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD KEY (user_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD KEY (team_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD KEY (verantwortlich_team_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen DROP vorschlaege_heim"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen DROP vorschlag_gast_erlauben"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_begegnung_verlegen CHANGE vorgeschlagen eingetragen datetime"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_begegnung_verlegen, #__tsleague_begegnung" - . "\n SET verantwortlich_team_id = IF(team_id = heim_team_id, gast_team_id, heim_team_id)" - . "\n WHERE #__tsleague_begegnung_verlegen.begegnung_id = #__tsleague_begegnung.begegnung_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '27'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 28) { - $query = "ALTER TABLE #__tsleague_spieler DROP ausgetreten"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler ADD ausgetreten bool default '0'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_spieler" - . "\n SET ausgetreten = IF(ISNULL(austritt), FALSE, TRUE)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler DROP austritt"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_verein ADD ausgetreten bool default '0'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_verein" - . "\n SET ausgetreten = IF(ISNULL(austritt), FALSE, TRUE)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_verein DROP austritt"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_mitglied_von_verein ADD ausgetreten bool default '0'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_mitglied_von_verein" - . "\n SET ausgetreten = IF(ISNULL(austritt), FALSE, TRUE)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_mitglied_von_verein DROP austritt"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_mitglied_von_team ADD ausgetreten bool default '0'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_mitglied_von_team" - . "\n SET ausgetreten = IF(ISNULL(austritt), FALSE, TRUE)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_mitglied_von_team DROP austritt"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '28'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 29) { - $query = "ALTER TABLE #__tsleague_rangliste ADD streichergebnisse tinyint AFTER system_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_rangliste, #__tsleague_rangliste_system" - . "\n SET #__tsleague_rangliste.streichergebnisse = #__tsleague_rangliste_system.streichergebnisse WHERE system_id = rangliste_system_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_rangliste_system DROP streichergebnisse"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_rangliste_turnierdisziplin ADD system_id int(11) AFTER turnierdisziplin_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_rangliste_turnierdisziplin ADD KEY (system_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '29'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 30) { - $query = "ALTER TABLE #__tsleague_turniermeldung_spieler CHANGE spieler_id spieler_id int(11)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_turniermeldung_spieler_name` (" - . "\n `turniermeldung_spieler_name_id` int(11) NOT NULL auto_increment," - . "\n `turniermeldung_spieler_id` int(11) NOT NULL," - . "\n `nachname` varchar(30)," - . "\n `vorname` varchar(30) NOT NULL," - . "\n PRIMARY KEY (`turniermeldung_spieler_name_id`)," - . "\n KEY (`turniermeldung_spieler_id`)" - . "\n ) TYPE=MyISAM COLLATE=latin1_german1_ci;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_turnierdisziplin ADD reihenfolge tinyint default '1' AFTER voranmeldung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_turnierdisziplin ADD kategorie tinyint default '1' AFTER reihenfolge"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '30'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 31) { - $query = "ALTER TABLE #__tsleague_spieler ADD elo_einzel smallint AFTER pseudonym"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler ADD elo_einzel_spiele smallint AFTER elo_einzel"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler ADD elo_doppel smallint AFTER elo_einzel_spiele"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler ADD elo_doppel_spiele smallint AFTER elo_doppel"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_spieler" - . "\n INNER JOIN #__tsleague_spieler_elo USING (spieler_id)" - . "\n SET #__tsleague_spieler.elo_einzel = #__tsleague_spieler_elo.elo_einzel," - . "\n #__tsleague_spieler.elo_einzel_spiele = #__tsleague_spieler_elo.spiele_doppel," - . "\n #__tsleague_spieler.elo_doppel = #__tsleague_spieler_elo.elo_doppel," - . "\n #__tsleague_spieler.elo_doppel_spiele = #__tsleague_spieler_elo.spiele_einzel"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "DROP TABLE #__tsleague_spieler_elo;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '31'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 32) { - $query = "ALTER TABLE #__tsleague_spieler ADD INDEX (nachname, vorname)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_spieler ADD INDEX (vorname, nachname)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '32'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 33) { - $query = "ALTER TABLE #__tsleague_turniermeldung DROP name"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '33'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 34) { - $query = "ALTER TABLE #__tsleague_turnier ADD turnierort varchar(50) AFTER turnierbezeichnung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '34'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 35) { - $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_spieler_import` ( " - . "\n `spieler_import_id` int(11) NOT NULL auto_increment, " - . "\n `session_id` varchar(200) NOT NULL," - . "\n `nachname` varchar(30)," - . "\n `vorname` varchar(30)," - . "\n `geschlecht` char(1)," - . "\n `geburtsdatum` date," - . "\n `strasse` varchar(30)," - . "\n `plz` varchar(6)," - . "\n `ort` varchar(30)," - . "\n `landeskennung` varchar(10)," - . "\n `telefon` varchar(25)," - . "\n `mobil` varchar(25)," - . "\n `email` varchar(40)," - . "\n `spielernr` varchar(20)," - . "\n `lizenznr` varchar(20)," - . "\n `ausgetreten` bool default '0'," - . "\n `pseudonym` varchar(30)," - . "\n `vereinsname` varchar(50)," - . "\n `vereinssitz` varchar(30)," - . "\n `veranstalterbezeichnung` varchar(50)," - . "\n PRIMARY KEY (`spieler_import_id`)," - . "\n KEY (`session_id`)" - . "\n ) TYPE=MyISAM COLLATE=latin1_german1_ci;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '35'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 36) { - $query = "ALTER TABLE #__tsleague_turniermeldung_spieler_name ADD vereinsname varchar(50) AFTER vorname"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '36'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 37) { - $query = "ALTER TABLE #__tsleague_spieler ADD geburtsjahr smallint unsigned AFTER geburtsdatum"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_spieler" - . "\n SET geburtsjahr = YEAR(geburtsdatum)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '37'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 38) { - $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_kategorie` (" - . "\n `kategorie_id` int(11) NOT NULL auto_increment," - . "\n `typ` tinyint," - . "\n `nummer` tinyint," - . "\n `bezeichnung` varchar(50)," - . "\n PRIMARY KEY (`kategorie_id`)" - . "\n ) TYPE=MyISAM COLLATE=latin1_german1_ci;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '38'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 39) { - $query = "ALTER TABLE #__tsleague_turnierdisziplin DROP kuerzel"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '39'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 40) { - $query = "DELETE FROM #__tsleague_mitglied_von_verein WHERE spieler_id = 0"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '40'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 41) { - $query = "ALTER TABLE #__tsleague_spieler_import ADD geburtsjahr smallint unsigned AFTER geburtsdatum"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__tsleague_team CHANGE teamname teamname varchar(50) NOT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '41'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 42) { - $query = "ALTER TABLE #__tsleague_team ADD zusatzpunkte smallint AFTER tischtyp"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '42'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 43) { - $query = "ALTER TABLE #__tsleague_turnierspiel ADD rundenstufe tinyint AFTER runde"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_turnierspiel" - . "\n SET rundenstufe = IF(runde > 0, 1, -1), runde = ABS(runde)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '43'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 44) { - $query = "UPDATE #__tsleague_begegnung" - . "\n SET spieltag = spieltag + 99 - (2 * (spieltag % 100))" - . "\n WHERE spieltag >= 20000"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__tsleague_einstellungen" - . "\n SET wert = '44'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - $query = "DROP TABLE IF EXISTS `#__sportsmanager_begegnung`" - . ", `#__sportsmanager_begegnung_verlegen`" - . ", `#__sportsmanager_berechtigt_fuer_team`" - . ", `#__sportsmanager_berechtigt_fuer_turnier`" - . ", `#__sportsmanager_berechtigt_fuer_verein`" - . ", `#__sportsmanager_berechtigt_fuer_veranstalter`" - . ", `#__sportsmanager_berechtigt_fuer_veranstaltung`" - . ", `#__sportsmanager_einstellungen`" - . ", `#__sportsmanager_berechnung`" - . ", `#__sportsmanager_einstufung`" - . ", `#__sportsmanager_einstufung_rangliste`" - . ", `#__sportsmanager_elo_cache`" - . ", `#__sportsmanager_kategorie`" - . ", `#__sportsmanager_mitglied_von_team`" - . ", `#__sportsmanager_mitglied_von_verein`" - . ", `#__sportsmanager_moderator`" - . ", `#__sportsmanager_moderator_zugriff`" - . ", `#__sportsmanager_rangliste`" - . ", `#__sportsmanager_rangliste_punkte`" - . ", `#__sportsmanager_rangliste_system`" - . ", `#__sportsmanager_rangliste_system_punkte`" - . ", `#__sportsmanager_rangliste_turnierdisziplin`" - . ", `#__sportsmanager_spieler`" - . ", `#__sportsmanager_spieler_import`" - . ", `#__sportsmanager_team`" - . ", `#__sportsmanager_teamansprechpartner`" - . ", `#__sportsmanager_teamspiel`" - . ", `#__sportsmanager_teamspiel_modus`" - . ", `#__sportsmanager_termin`" - . ", `#__sportsmanager_termin_symbol`" - . ", `#__sportsmanager_termin_symbolanzeige`" - . ", `#__sportsmanager_termin_aktion`" - . ", `#__sportsmanager_termin_zusatz`" - . ", `#__sportsmanager_termin_bezeichnungszusatz`" - . ", `#__sportsmanager_termin_bezeichnung`" - . ", `#__sportsmanager_termin_bundesland`" - . ", `#__sportsmanager_termin_land`" - . ", `#__sportsmanager_turnier`" - . ", `#__sportsmanager_turnierdisziplin`" - . ", `#__sportsmanager_turniermeldung`" - . ", `#__sportsmanager_turniermeldung_spieler`" - . ", `#__sportsmanager_turniermeldung_spieler_name`" - . ", `#__sportsmanager_turnierspiel`" - . ", `#__sportsmanager_turniervoranmeldung`" - . ", `#__sportsmanager_unbestaetigtes_ergebnis`" - . ", `#__sportsmanager_veranstalter`" - . ", `#__sportsmanager_veranstaltung`" - . ", `#__sportsmanager_verein`" - . ", `#__sportsmanager_vereinsansprechpartner`;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "\n RENAME TABLE #__tsleague_begegnung TO #__sportsmanager_begegnung" - . ", #__tsleague_begegnung_verlegen TO #__sportsmanager_begegnung_verlegen" - . ", #__tsleague_berechtigt_fuer_team TO #__sportsmanager_berechtigt_fuer_team" - . ", #__tsleague_berechtigt_fuer_verein TO #__sportsmanager_berechtigt_fuer_verein" - . ", #__tsleague_einstellungen TO #__sportsmanager_einstellungen" - . ", #__tsleague_kategorie TO #__sportsmanager_kategorie" - . ", #__tsleague_mitglied_von_team TO #__sportsmanager_mitglied_von_team" - . ", #__tsleague_mitglied_von_verein TO #__sportsmanager_mitglied_von_verein" - . ", #__tsleague_moderator TO #__sportsmanager_moderator" - . ", #__tsleague_rangliste TO #__sportsmanager_rangliste" - . ", #__tsleague_rangliste_punkte TO #__sportsmanager_rangliste_punkte" - . ", #__tsleague_rangliste_system TO #__sportsmanager_rangliste_system" - . ", #__tsleague_rangliste_system_punkte TO #__sportsmanager_rangliste_system_punkte" - . ", #__tsleague_rangliste_turnierdisziplin TO #__sportsmanager_rangliste_turnierdisziplin" - . ", #__tsleague_spieler TO #__sportsmanager_spieler" - . ", #__tsleague_spieler_import TO #__sportsmanager_spieler_import" - . ", #__tsleague_team TO #__sportsmanager_team" - . ", #__tsleague_teamansprechpartner TO #__sportsmanager_teamansprechpartner" - . ", #__tsleague_teamspiel TO #__sportsmanager_teamspiel" - . ", #__tsleague_teamspiel_modus TO #__sportsmanager_teamspiel_modus" - . ", #__tsleague_turnier TO #__sportsmanager_turnier" - . ", #__tsleague_turnierdisziplin TO #__sportsmanager_turnierdisziplin" - . ", #__tsleague_turniermeldung TO #__sportsmanager_turniermeldung" - . ", #__tsleague_turniermeldung_spieler TO #__sportsmanager_turniermeldung_spieler" - . ", #__tsleague_turniermeldung_spieler_name TO #__sportsmanager_turniermeldung_spieler_name" - . ", #__tsleague_turnierspiel TO #__sportsmanager_turnierspiel" - . ", #__tsleague_turniervoranmeldung TO #__sportsmanager_turniervoranmeldung" - . ", #__tsleague_unbestaetigtes_ergebnis TO #__sportsmanager_unbestaetigtes_ergebnis" - . ", #__tsleague_veranstalter TO #__sportsmanager_veranstalter" - . ", #__tsleague_veranstaltung TO #__sportsmanager_veranstaltung" - . ", #__tsleague_verein TO #__sportsmanager_verein" - . ", #__tsleague_vereinsansprechpartner TO #__sportsmanager_vereinsansprechpartner;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '1'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - if (!JFolder::exists(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager') && JFolder::exists(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague')) { - if (!JFolder::move(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague', JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager')) - die(JText::_( 'COM_SPORTSMANAGER_RENAME_PLAYER_FAILED' )); - } - - } - - $query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - if (count($rows) == 0) - die(JText::_( 'COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY' )); - - $datenbank_version = intval($rows[0]->wert); - - if ($datenbank_version < 2) { - $query = "ALTER TABLE #__sportsmanager_team CHANGE tischtyp tischtyp varchar(60)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '2'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 3) { - $query = "ALTER TABLE #__sportsmanager_spieler ADD elo_wertung tinyint(4) DEFAULT '1' AFTER pseudonym"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '3'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 4) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_bestenliste` (" - . "\n `bestenliste_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `bezeichnung` varchar(50) COLLATE latin1_german1_ci DEFAULT NULL," - . "\n `tabellenwertung` tinyint(4) NOT NULL DEFAULT '0'," - . "\n `typ` tinyint(4) DEFAULT NULL," - . "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00'," - . "\n `letzter_tag` date NOT NULL DEFAULT '0000-00-00'," - . "\n `status` tinyint(4) NOT NULL DEFAULT '0'," - . "\n `reihenfolge` tinyint(4) DEFAULT '1'," - . "\n `kategorie` tinyint(4) DEFAULT '1'," - . "\n PRIMARY KEY (`bestenliste_id`)" - . "\n ) ENGINE=MyISAM ;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_bestenliste_punkte` (" - . "\n `bestenliste_punkte_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `bestenliste_id` int(11) NOT NULL DEFAULT '0'," - . "\n `spieler_id` int(11) NOT NULL DEFAULT '0'," - . "\n `siege` smallint(6) DEFAULT NULL," - . "\n `unentschieden` smallint(6) DEFAULT NULL," - . "\n `niederlagen` smallint(6) DEFAULT NULL," - . "\n `spielpunkte_gewonnen` smallint(6) DEFAULT NULL," - . "\n `spielpunkte_verloren` smallint(6) DEFAULT NULL," - . "\n `punkte_gewonnen` smallint(6) DEFAULT NULL," - . "\n `punkte_verloren` smallint(6) DEFAULT NULL," - . "\n PRIMARY KEY (`bestenliste_punkte_id`)," - . "\n KEY `bestenliste_id` (`bestenliste_id`)," - . "\n KEY `spieler_id` (`spieler_id`)" - . "\n) ENGINE=MyISAM ;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_bestenliste_veranstaltung` (" - . "\n `bestenliste_veranstaltung_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `bestenliste_id` int(11) NOT NULL DEFAULT '0'," - . "\n `veranstaltung_id` int(11) NOT NULL DEFAULT '0'," - . "\n PRIMARY KEY (`bestenliste_veranstaltung_id`)," - . "\n KEY `bestenliste_id` (`bestenliste_id`)," - . "\n KEY `veranstaltung_id` (`veranstaltung_id`)" - . "\n) ENGINE=MyISAM ;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '4'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 5) { - $query = "ALTER TABLE #__sportsmanager_rangliste_punkte ADD platz smallint(6) DEFAULT NULL AFTER spieler_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '5'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $rangliste_aktualisieren = true; - } - - if ($datenbank_version < 6) { - $query = "ALTER TABLE #__sportsmanager_team ADD platz smallint(6) DEFAULT NULL AFTER heimspielort_anschrift_url"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD gesamtpunkte smallint(6) DEFAULT NULL AFTER platz"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD begegnungspunkte smallint(6) DEFAULT NULL AFTER gesamtpunkte"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD siege smallint(6) DEFAULT NULL AFTER begegnungspunkte"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD unentschieden smallint(6) DEFAULT NULL AFTER siege"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD niederlagen smallint(6) DEFAULT NULL AFTER unentschieden"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD spielpunkte_gewonnen smallint(6) DEFAULT NULL AFTER niederlagen"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD spielpunkte_verloren smallint(6) DEFAULT NULL AFTER spielpunkte_gewonnen"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD spielpunkte_differenz smallint(6) DEFAULT NULL AFTER spielpunkte_verloren"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD spielpunkte_quotient float(8,2) DEFAULT NULL AFTER spielpunkte_differenz"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD punkte_gewonnen smallint(6) DEFAULT NULL AFTER spielpunkte_quotient"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD punkte_verloren smallint(6) DEFAULT NULL AFTER punkte_gewonnen"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD punkte_differenz smallint(6) DEFAULT NULL AFTER punkte_verloren"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD punkte_quotient float(8,2) DEFAULT NULL AFTER punkte_differenz"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '6'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $teamstatistik_aktualisieren = true; - } - - if ($datenbank_version < 7) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_veranstalter` (" - . "\n `berechtigt_fuer_veranstalter_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `berechtigt_user_id` int(11) NOT NULL DEFAULT '0'," - . "\n `berechtigt_veranstalter_id` int(11) NOT NULL DEFAULT '0'," - . "\n PRIMARY KEY (`berechtigt_fuer_veranstalter_id`)," - . "\n KEY `berechtigt_user_id` (`berechtigt_user_id`)," - . "\n KEY `berechtigt_veranstalter_id` (`berechtigt_veranstalter_id`)" - . "\n) ENGINE=MyISAM ;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '7'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 8) { - $query = "ALTER TABLE #__sportsmanager_moderator ADD zugriff smallint(6) DEFAULT 1 AFTER moderator_user_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '8'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 9) { - $query = "ALTER TABLE #__sportsmanager_rangliste ADD wertungskategorie tinyint(4) DEFAULT 0 AFTER streichergebnisse"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '9'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 10) { - $query = "ALTER TABLE #__sportsmanager_spieler ADD aktueller_verein_id int(11) DEFAULT NULL AFTER pseudonym"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '10'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $aktueller_verein_aktualisieren = true; - } - - if ($datenbank_version < 11) { - $query = "ALTER TABLE #__sportsmanager_spieler DROP ausgetreten"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '11'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 12) { - $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD status tinyint(4) NOT NULL DEFAULT 0 AFTER modus"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_teamspiel_modus" - . "\n SET status = '1'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste_system ADD status tinyint(4) NOT NULL DEFAULT 0 AFTER systembezeichnung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_rangliste_system" - . "\n SET status = '1'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '12'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 13) { - $query = "ALTER TABLE #__sportsmanager_spieler_import ADD spielernr_alt varchar(20) COLLATE latin1_german1_ci DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '13'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $aktueller_verein_aktualisieren = true; - } - - if ($datenbank_version < 14) { - $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD punkte_sieg tinyint(4) NOT NULL DEFAULT 0 AFTER punktetyp"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '14'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $aktueller_verein_aktualisieren = true; - } - - if ($datenbank_version < 15) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_saison` (" - . "\n `saison_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `saisonbezeichnung` varchar(30) COLLATE latin1_german1_ci DEFAULT NULL," - . "\n PRIMARY KEY (`saison_id`)" - . "\n) ENGINE=MyISAM ;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste ADD saison_id int(11) NOT NULL DEFAULT 0 AFTER rangliste_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste ADD KEY (saison_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_bestenliste ADD saison_id int(11) NOT NULL DEFAULT 0 AFTER bestenliste_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_bestenliste ADD KEY (saison_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turnier ADD saison_id int(11) NOT NULL DEFAULT 0 AFTER turnier_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turnier ADD KEY (saison_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD saison_id int(11) NOT NULL DEFAULT 0 AFTER veranstaltung_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD KEY (saison_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - //// Saisons ergänzen - $query = "SELECT YEAR(erster_tag) AS jahr FROM #__sportsmanager_veranstaltung WHERE NOT ISNULL(erster_tag)" - . "\n UNION" - . "\n SELECT YEAR(erster_tag) AS jahr FROM #__sportsmanager_turnier WHERE NOT ISNULL(erster_tag)" - . "\n UNION" - . "\n SELECT YEAR(erster_tag) AS jahr FROM #__sportsmanager_rangliste WHERE NOT ISNULL(erster_tag)" - . "\n UNION" - . "\n SELECT YEAR(erster_tag) AS jahr FROM #__sportsmanager_bestenliste WHERE NOT ISNULL(erster_tag)" - . "\n GROUP BY jahr" - . "\n ORDER BY jahr"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $jahre = $db->loadObjectList(); - - if (count($jahre) > 0) { - foreach ($jahre as $jahr) { - $query = "INSERT #__sportsmanager_saison" - . "\n SET saisonbezeichnung = '$jahr->jahr'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - } else { - $query = "INSERT #__sportsmanager_saison" - . "\n SET saisonbezeichnung = 'Keine'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC LIMIT 1"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $saisons = $db->loadObjectList(); - - $aktuelle_saison_id = $saisons[0]->saison_id; - // Saisons den Veranstaltungen zuordnen - $query = "UPDATE #__sportsmanager_veranstaltung" - . "\n LEFT JOIN #__sportsmanager_saison ON YEAR(erster_tag) = saisonbezeichnung" - . "\n SET #__sportsmanager_veranstaltung.saison_id = COALESCE(#__sportsmanager_saison.saison_id, '$aktuelle_saison_id')"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_turnier" - . "\n LEFT JOIN #__sportsmanager_saison ON YEAR(erster_tag) = saisonbezeichnung" - . "\n SET #__sportsmanager_turnier.saison_id = COALESCE(#__sportsmanager_saison.saison_id, '$aktuelle_saison_id')"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_rangliste" - . "\n LEFT JOIN #__sportsmanager_saison ON YEAR(erster_tag) = saisonbezeichnung" - . "\n SET #__sportsmanager_rangliste.saison_id = COALESCE(#__sportsmanager_saison.saison_id, '$aktuelle_saison_id')"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_bestenliste" - . "\n LEFT JOIN #__sportsmanager_saison ON YEAR(erster_tag) = saisonbezeichnung" - . "\n SET #__sportsmanager_bestenliste.saison_id = COALESCE(#__sportsmanager_saison.saison_id, '$aktuelle_saison_id')"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '15'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 16) { - if (!JFolder::create(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder', 0777)) - die(JText::_('COM_SPORTSMANAGER_CREATE_TEAM_MEMBERS_DIRECTORY_FAILED')); - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '16'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $aktueller_verein_aktualisieren = true; - } - - if ($datenbank_version < 17) { - $query = "ALTER TABLE #__sportsmanager_unbestaetigtes_ergebnis ADD zwischenergebnis bool default '0' AFTER vorschlagendes_team_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '17'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 18) { - $query = "ALTER TABLE #__sportsmanager_einstellungen CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_saison CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_begegnung CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_begegnung_verlegen CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_berechtigt_fuer_team CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_berechtigt_fuer_verein CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_berechtigt_fuer_veranstalter CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_kategorie CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_mitglied_von_team CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_mitglied_von_verein CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_moderator CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste_punkte CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste_system CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste_system_punkte CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste_turnierdisziplin CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_bestenliste CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_bestenliste_punkte CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_bestenliste_veranstaltung CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler_import CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_teamansprechpartner CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_teamspiel CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_teamspiel_modus CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turnier CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turnierdisziplin CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turniermeldung CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turniermeldung_spieler CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turniermeldung_spieler_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turnierspiel CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turniervoranmeldung CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_unbestaetigtes_ergebnis CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_veranstalter CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_veranstaltung CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_verein CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_vereinsansprechpartner CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '18'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 19) { - $query = "ALTER TABLE #__sportsmanager_verein ADD vereinssitz_ortsteil varchar(30) DEFAULT NULL AFTER vereinssitz"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_verein ADD url varchar(150) DEFAULT NULL AFTER vereinssitz_ortsteil"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_verein ADD beschreibung varchar(500) DEFAULT NULL AFTER url"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_spielort` (" - . "\n `spielort_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `name` varchar(40) DEFAULT NULL," - . "\n `strasse` varchar(30) DEFAULT NULL," - . "\n `plz` varchar(10) DEFAULT NULL," - . "\n `ortsname` varchar(30) DEFAULT NULL," - . "\n `ortsteil` varchar(30) DEFAULT NULL," - . "\n `url` varchar(150) DEFAULT NULL," - . "\n `beschreibung` varchar(500) DEFAULT NULL," - . "\n `status` tinyint(1) NOT NULL DEFAULT '0'," - . "\n PRIMARY KEY (`spielort_id`)" - . "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD heimspielort_id int(11) DEFAULT NULL AFTER heimspiel_uhrzeit"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD KEY (heimspielort_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '19'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $rangliste_aktualisieren = true; - } - - if ($datenbank_version < 20) { - $query = "INSERT #__sportsmanager_einstellungen" - . "\n SET name = 'ansprechpartner_ausblenden', wert = '0'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '20'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 21) { - $query = "ALTER TABLE #__sportsmanager_spieler ADD bild_ausblenden tinyint(1) DEFAULT '0' AFTER pseudonym"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "INSERT #__sportsmanager_einstellungen" - . "\n SET name = 'ansprechpartner_spielerdaten', wert = '1'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '21'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 22) { - $query = "ALTER TABLE #__sportsmanager_turnierdisziplin ADD voranmeldungen_rangliste_id int(11) DEFAULT NULL AFTER voranmeldung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turnierdisziplin ADD voranmeldungen_reihenfolge tinyint(4) DEFAULT '0' AFTER voranmeldungen_rangliste_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turnierdisziplin ADD KEY (voranmeldungen_rangliste_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '22'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 23) { - $query = "SELECT #__sportsmanager_team.*" - . "\n FROM #__sportsmanager_team" - . "\n INNER JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)" - . "\n LEFT JOIN #__sportsmanager_saison USING (saison_id)" - . "\n ORDER BY heimspielort_name, heimspielort_anschrift"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); - - $heimspielort_name = ""; - $heimspielort_strasse = ""; - $heimspielort_plz = ""; - $heimspielort_ortsname = ""; - $heimspielort_beschreibung = ""; - $heimspielort_url = ""; - $spielort_id = 0; - foreach ($teams as $team) { - $name = $team->heimspielort_name; - $strasse = $team->heimspielort_anschrift; - if (empty($name) && empty($strasse)) - continue; - $plz_pos = false; - for ($i = 0; $i < strlen($strasse) - 5; $i++) { - if ($strasse[$i + 5] != " " || !ctype_digit(substr($strasse, $i, 5))) - continue; - $plz_pos = $i; - break; - } - if ($plz_pos === false) { - $plz = $ortsname = $beschreibung = ""; - } else { - $plz = substr($strasse, $plz_pos, 5); - $ortsname = trim(substr($strasse, $plz_pos + 6)); - $beschreibung_pos = strpos($ortsname, ","); - if ($beschreibung_pos === false) { - $beschreibung = ""; - } else { - $beschreibung = trim(substr($ortsname, $beschreibung_pos + 1)); - $ortsname = trim(substr($ortsname, 0, $beschreibung_pos)); - } - $strasse = trim(substr($strasse, 0, $plz_pos)); - $strasse_len = strlen($strasse); - if ($strasse_len > 0 && $strasse[$strasse_len - 1] == ",") - $strasse = trim(substr($strasse, 0, $strasse_len - 1)); - } - - if ($heimspielort_name != $name || $heimspielort_strasse != $strasse || $heimspielort_plz != $plz || $heimspielort_ortsname != $ortsname) { - $heimspielort_name = $name; - $heimspielort_strasse = $strasse; - $heimspielort_plz = $plz; - $heimspielort_ortsname = $ortsname; - $heimspielort_beschreibung = $beschreibung; - $heimspielort_url = $team->heimspielort_url; - $query = "INSERT INTO #__sportsmanager_spielort (name, strasse, plz, ortsname, ortsteil, url, beschreibung, status)" - . "\n VALUES ('" . $db->getEscaped($heimspielort_name) . "', '" . $db->getEscaped($heimspielort_strasse) . "', '" . $db->getEscaped($heimspielort_plz) . "', '" . $db->getEscaped($heimspielort_ortsname) . "', '', '" . $db->getEscaped($heimspielort_url) . "', '" . $db->getEscaped($heimspielort_beschreibung) . "', 1);"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $spielort_id = $db->insertid(); - } - $query = "UPDATE #__sportsmanager_team" - . "\n SET heimspielort_id = '$spielort_id'" - . "\n WHERE team_id = '$team->team_id'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - $query = "ALTER TABLE #__sportsmanager_team DROP heimspielort_name"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team DROP heimspielort_url"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team DROP heimspielort_anschrift"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team DROP heimspielort_anschrift_url"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_verein DROP heimspielort_name"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_verein DROP heimspielort_url"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_verein DROP heimspielort_anschrift"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_verein DROP heimspielort_anschrift_url"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '23'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 24) { - $query = "ALTER TABLE #__sportsmanager_begegnung ADD spielort_id int(11) DEFAULT NULL AFTER gast_team_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '24'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 25) { - $query = "ALTER TABLE #__sportsmanager_rangliste ADD system_wertung tinyint(4) DEFAULT '0' AFTER system_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste_turnierdisziplin ADD system_wertung tinyint(4) DEFAULT '0' AFTER system_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '25'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 26) { - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '26'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $rangliste_aktualisieren = true; - $spielerstatistik_aktualisieren = true; - } - - if ($datenbank_version < 27) { - $query = "ALTER TABLE #__sportsmanager_team ADD teamgruppe_id int(11) DEFAULT NULL AFTER team_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '27'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 28) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verteiler` (" - . "\n `verteiler_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `bezeichnung` TINYTEXT NOT NULL," - . "\n `verteiler` TEXT NOT NULL," - . "\n PRIMARY KEY (`verteiler_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '28'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 29) { - $query = "ALTER TABLE #__sportsmanager_team ADD KEY (teamgruppe_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_begegnung ADD KEY (spielort_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD verschieberegel_id int(11) DEFAULT NULL AFTER modus_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD KEY (verschieberegel_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verschieberegel` (" - . "\n `verschieberegel_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `bezeichnung` varchar(50) NOT NULL DEFAULT ''," - . "\n `initial_ohne_termin` tinyint(1) NOT NULL DEFAULT '0'," - . "\n `keine_gegenvorschlaege` tinyint(1) NOT NULL DEFAULT '0'," - . "\n `vorlaufzeit_tage` tinyint(4) NOT NULL DEFAULT '0'," - . "\n `termine_minimal` tinyint(4) NOT NULL DEFAULT '0'," - . "\n `termine_maximal` tinyint(4) NOT NULL DEFAULT '0'," - . "\n PRIMARY KEY (`verschieberegel_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "INSERT INTO #__sportsmanager_verschieberegel (bezeichnung, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage, termine_minimal, termine_maximal)" - . "\n VALUES ('Beliebig', '0', '0', '0', '1', '3');"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $verschieberegel_id = $db->insertid(); - - $query = "UPDATE #__sportsmanager_veranstaltung" - . "\n SET verschieberegel_id = $verschieberegel_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '29'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 30) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rechnung` (" - . "\n `rechnung_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `bezeichnung` TINYTEXT NOT NULL," - . "\n `notiz` TEXT NOT NULL," - . "\n `saison_id` int(11) NOT NULL DEFAULT '0'," - . "\n `verein_id` int(11) DEFAULT NULL," - . "\n `veranstalter_id` int(11) DEFAULT NULL," - . "\n PRIMARY KEY (`rechnung_id`)," - . "\n KEY `saison_id` (`saison_id`)," - . "\n KEY `verein_id` (`verein_id`)," - . "\n KEY `veranstalter_id` (`veranstalter_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rechnung_spieler` (" - . "\n `rechnung_spieler_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `rechnung_id` int(11) NOT NULL," - . "\n `spieler_id` int(11) NOT NULL," - . "\n PRIMARY KEY (`rechnung_spieler_id`)," - . "\n KEY `rechnung_id` (`rechnung_id`)," - . "\n KEY `spieler_id` (`spieler_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '30'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 31) { - $query = "RENAME TABLE #__sportsmanager_begegnung_verlegen TO #__sportsmanager_begegnung_historie;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_begegnung_historie CHANGE begegnung_verlegen_id begegnung_historie_id int(11) NOT NULL AUTO_INCREMENT"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '31'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 32) { - $query = "ALTER TABLE #__sportsmanager_verschieberegel ADD ablehnen tinyint(1) NOT NULL DEFAULT '0' AFTER termine_maximal"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '32'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 33) { - $query = "UPDATE #__sportsmanager_turnierspiel" - . "\n SET rundenstufe = '10'" - . "\n WHERE rundenstufe = '-1'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turniermeldung ADD rundenstufe tinyint(4) DEFAULT NULL AFTER turnierdisziplin_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_turniermeldung" - . "\n SET rundenstufe = '0'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "SELECT * FROM #__sportsmanager_turniervoranmeldung" - . "\n ORDER BY turnierdisziplin_id"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - $rows = $db->loadObjectList(); - - foreach ($rows as $row) { - $query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, rundenstufe, platz)" - . "\n VALUES ('$row->turnierdisziplin_id', '20', NULL);"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - $id = $db->insertid(); - - $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)" - . "\n VALUES ('$id', '$row->spieler_1_id');"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - if ($row->spieler_2_id != NULL) { - $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)" - . "\n VALUES ('$id', '$row->spieler_2_id');"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - } - } - - $query = "DROP TABLE #__sportsmanager_turniervoranmeldung;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '33'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 34) { - $query = "ALTER TABLE #__sportsmanager_turniermeldung ADD meldungsgruppe_id int(11) DEFAULT NULL AFTER turnierdisziplin_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turniermeldung ADD KEY (meldungsgruppe_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '34'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 35) { - $query = "ALTER TABLE #__sportsmanager_turnierspiel ADD ergebnis_detailliert tinytext DEFAULT NULL AFTER ergebnis"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '35'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 36) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_turnier_rundenstufe` (" - . "\n `turnier_rundenstufe_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `turnierdisziplin_id` int(11) NOT NULL DEFAULT '0'," - . "\n `rundenstufe` tinyint(4) DEFAULT NULL," - . "\n `bezeichnung` tinytext DEFAULT NULL," - . "\n `typ` tinyint(4) DEFAULT NULL," - . "\n `runden` tinyint(4) DEFAULT NULL," - . "\n `saetze` tinyint(4) DEFAULT NULL," - . "\n `tore` tinyint(4) DEFAULT NULL," - . "\n `tabellenwertung` tinyint(4) DEFAULT NULL," - . "\n `spielfelder` text DEFAULT NULL," - . "\n PRIMARY KEY (`turnier_rundenstufe_id`)," - . "\n KEY `turnierdisziplin_id` (`turnierdisziplin_id`)," - . "\n KEY `rundenstufe` (`rundenstufe`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '36'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 37) { - $query = "ALTER TABLE #__sportsmanager_spieler ADD INDEX (spielernr)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler DROP INDEX vorname"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler DROP INDEX nachname"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler ADD INDEX (nachname)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler ADD INDEX (vorname)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler_import ADD INDEX (spielernr)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '37'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 38) { - $query = "ALTER TABLE #__sportsmanager_rangliste_turnierdisziplin CHANGE wertung wertung float(4,2) DEFAULT '1'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '38'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 39) { - $query = "ALTER TABLE #__sportsmanager_team ADD pin varchar(20) DEFAULT NULL AFTER zusatzpunkte"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '39'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 40) { - $query = "SELECT * FROM #__sportsmanager_kategorie ORDER BY typ, nummer, kategorie_id DESC"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - $rows = $db->loadObjectList(); - - $typ = -1; - $nummer = -1; - foreach ($rows as $row) { - if ($typ != $row->typ || $nummer != $row->nummer) { - $typ = $row->typ; - $nummer = $row->nummer; - continue; - } - $query = "DELETE FROM #__sportsmanager_kategorie WHERE kategorie_id = $row->kategorie_id;"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '40'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 41) { - $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD spielpunkte_bedingung tinyint(4) NOT NULL DEFAULT '0' AFTER spielpunkte_wertung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '41'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 42) { - $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD spielernamen tinyint(4) NOT NULL DEFAULT '0' AFTER spielpunkte_bedingung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '42'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 43) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_einstufung` (" - . "\n `einstufung_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `bezeichnung` TINYTEXT NOT NULL," - . "\n `prioritaet` tinyint(4) DEFAULT NULL," - . "\n PRIMARY KEY (`einstufung_id`)," - . "\n KEY `prioritaet` (`prioritaet`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_einstufung_rangliste` (" - . "\n `einstufung_rangliste_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `einstufung_id` int(11) NOT NULL," - . "\n `rangliste_id` int(11) NOT NULL," - . "\n `platz_min` smallint(6) DEFAULT NULL," - . "\n `platz_max` smallint(6) DEFAULT NULL," - . "\n PRIMARY KEY (`einstufung_rangliste_id`)," - . "\n KEY `einstufung_id` (`einstufung_id`)," - . "\n KEY `rangliste_id` (`rangliste_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "ALTER TABLE #__sportsmanager_spieler ADD einstufung_id int(11) DEFAULT NULL AFTER bild_ausblenden"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '43'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 44) { - $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD heimtausch tinyint(4) NOT NULL DEFAULT '0' AFTER spielernamen"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '44'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 45) { - $query = "ALTER TABLE #__sportsmanager_einstufung ADD elo_min smallint(6) DEFAULT NULL AFTER prioritaet"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_einstufung ADD elo_max smallint(6) DEFAULT NULL AFTER elo_min"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '45'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 46) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_elo_cache` (" - . "\n `cache_datum` date NOT NULL," - . "\n `spieler_id` int(11) NOT NULL DEFAULT '0'," - . "\n `elo_einzel` smallint(6) DEFAULT NULL," - . "\n `elo_einzel_spiele` smallint(6) DEFAULT NULL," - . "\n `elo_doppel` smallint(6) DEFAULT NULL," - . "\n `elo_doppel_spiele` smallint(6) DEFAULT NULL," - . "\n PRIMARY KEY (`spieler_id`, `cache_datum`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '46'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $elo_aktualisieren = TRUE; - } - - if ($datenbank_version < 47) { - $query = "ALTER TABLE #__sportsmanager_spieler ADD erstmals_gespielt date AFTER lizenznr"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '47'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $wann_gespielt_aktualisieren = TRUE; - } - - if ($datenbank_version < 48) { - $query = "INSERT #__sportsmanager_einstellungen" - . "\n SET name = 'spielerliste_elo', wert = '1'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '48'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 49) { - $query = "ALTER TABLE #__sportsmanager_einstufung ADD typ smallint(4) DEFAULT NULL AFTER bezeichnung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstufung" - . "\n SET typ = '0'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "ALTER TABLE #__sportsmanager_spieler CHANGE einstufung_id einstufung_allgemein_id int(11) DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler ADD einstufung_einzel_id int(11) DEFAULT NULL AFTER einstufung_allgemein_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler ADD einstufung_doppel_id int(11) DEFAULT NULL AFTER einstufung_einzel_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '49'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 50) { - $query = "ALTER TABLE #__sportsmanager_rangliste_system ADD funktion TEXT DEFAULT NULL AFTER systembezeichnung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "INSERT #__sportsmanager_rangliste_system" - . "\n SET systembezeichnung = 'Klostermann/Wahle (1 Punkt für Letzten)'," - . "\n status = '1'," - //. "\n funktion = 'MAX(ROUND(m * ROUND((((POW(n * 10, 0.7) - 1) * (-LOG(p / n) * (1 - (p / n)))) / (-LOG(1 / n) * (1 - (1 / n)))) + 1)), 1)'"; - . "\n funktion = 'VERTEILUNG(POW(n * 10, 0.7), p, n, m)'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $system_id = $db->insertid(); - - $query = "UPDATE #__sportsmanager_rangliste" - . "\n SET system_id = '$system_id'" - . "\n WHERE system_wertung = '3'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_rangliste_turnierdisziplin" - . "\n SET system_id = '$system_id'" - . "\n WHERE system_wertung = '3'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "INSERT #__sportsmanager_rangliste_system" - . "\n SET systembezeichnung = 'Klostermann (1 Punkt ab Platz 129)'," - . "\n status = '1'," - . "\n funktion = 'MAX(ROUND(m * ROUND((((n / 100) * 0.5) + 0.7) * (100 + ((-20.45) * LN(p))))), 1)'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $system_id = $db->insertid(); - - $query = "UPDATE #__sportsmanager_rangliste" - . "\n SET system_id = '$system_id'" - . "\n WHERE system_wertung = '2'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_rangliste_turnierdisziplin" - . "\n SET system_id = '$system_id'" - . "\n WHERE system_wertung = '2'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "INSERT #__sportsmanager_rangliste_system" - . "\n SET systembezeichnung = 'Klostermann (1 Punkt ab Platz 50)'," - . "\n status = '1'," - . "\n funktion = 'MAX(ROUND(m * ROUND((((n / 100) * 0.5) + 0.7) * (100 + ((-25.3) * LN(p))))), 1)'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $system_id = $db->insertid(); - - $query = "UPDATE #__sportsmanager_rangliste" - . "\n SET system_id = '$system_id'" - . "\n WHERE system_wertung = '1'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_rangliste_turnierdisziplin" - . "\n SET system_id = '$system_id'" - . "\n WHERE system_wertung = '1'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste DROP system_wertung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste_turnierdisziplin DROP system_wertung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '50'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $rangliste_aktualisieren = true; - } - - if ($datenbank_version < 51) { - $query = "ALTER TABLE #__sportsmanager_mitglied_von_verein ADD mitgliedsstatus tinyint(4) NOT NULL DEFAULT '0' AFTER verein_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_mitglied_von_verein" - . "\n SET mitgliedsstatus = IF(ausgetreten, 0, 1)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '51'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 52) { - $query = "ALTER TABLE #__sportsmanager_spieler_import ADD mitgliedsstatus tinyint(4) NOT NULL AFTER veranstalterbezeichnung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_spieler_import" - . "\n SET mitgliedsstatus = 1"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $query = "ALTER TABLE #__sportsmanager_spieler_import DROP ausgetreten"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '52'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 53) { - $query = "ALTER TABLE #__sportsmanager_rechnung ADD mitgliedsstatus tinyint(4) NOT NULL AFTER veranstalter_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_rechnung" - . "\n SET mitgliedsstatus = 1"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '53'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 54) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin` (" - . "\n `termin_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `termin_bezug_id` int(11) NOT NULL," - . "\n `erster_tag` date NOT NULL," - . "\n `letzter_tag` date NOT NULL," - . "\n `bezeichnung` text NOT NULL," - . "\n `beschreibung` text NOT NULL," - . "\n `ort` text NOT NULL," - . "\n `land` text NOT NULL," - . "\n `url` text NOT NULL," - . "\n `email` text NOT NULL," - . "\n `bestaetigt` tinyint(1) NOT NULL," - . "\n PRIMARY KEY (`termin_id`)," - . "\n KEY `termin_bezug_id` (`termin_bezug_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_aktion` (" - . "\n `termin_aktion_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `termin_id` int(11) NOT NULL," - . "\n `typ` tinyint(4) NOT NULL," - . "\n `kommentar` text NOT NULL," - . "\n `aktion_user_id` int(11) NOT NULL DEFAULT '0'," - . "\n `aktion_zeitpunkt` datetime NOT NULL," - . "\n `moderation_user_id` int(11) DEFAULT '0'," - . "\n `moderation_zeitpunkt` datetime," - . "\n `status` tinyint(4) NOT NULL," - . "\n PRIMARY KEY (`termin_aktion_id`)," - . "\n KEY `termin_id` (`termin_id`)," - . "\n KEY `typ` (`typ`)," - . "\n KEY `status` (`status`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_bezeichnung` (" - . "\n `termin_bezeichnung_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `bezeichnung` text NOT NULL," - . "\n PRIMARY KEY (`termin_bezeichnung_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_bundesland` (" - . "\n `termin_bundesland_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `bundesland` text NOT NULL," - . "\n PRIMARY KEY (`termin_bundesland_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_land` (" - . "\n `termin_land_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `land` text NOT NULL," - . "\n PRIMARY KEY (`termin_land_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_zusatz` (" - . "\n `termin_zusatz_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `termin_id` int(11) NOT NULL," - . "\n `zusatz` text NOT NULL," - . "\n PRIMARY KEY (`termin_zusatz_id`)," - . "\n KEY `termin_id` (`termin_id`)," - . "\n KEY `ix_length_zusatz` (`zusatz`(16))" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_bezeichnungszusatz` (" - . "\n `termin_bezeichnungszusatz_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `bezeichnungszusatz` text NOT NULL," - . "\n `titel` text NOT NULL," - . "\n PRIMARY KEY (`termin_bezeichnungszusatz_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = 'Challenger'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = 'Meeting'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = 'ITSF Master'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = 'ITSF Pro'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = 'ITSF WCS'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = 'Bundesliga'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = '2. Bundesliga'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = 'Frauen-Bundesliga'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = '2. Frauen-Bundesliga'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = 'Junioren-Bundesliga'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = '2. Junioren-Bundesliga'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = 'Senioren-Bundesliga'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = '2. Senioren-Bundesliga'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = 'Sonstiges'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnung" - . "\n SET bezeichnung = 'Deutsche Meisterschaft'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" - . "\n SET bezeichnungszusatz = 'OD'," - . "\n titel = 'Offenes Doppel'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" - . "\n SET bezeichnungszusatz = 'OE'," - . "\n titel = 'Offenes Einzel'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" - . "\n SET bezeichnungszusatz = 'HD'," - . "\n titel = 'Herren Doppel'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" - . "\n SET bezeichnungszusatz = 'HE'," - . "\n titel = 'Herren Einzel'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" - . "\n SET bezeichnungszusatz = 'DD'," - . "\n titel = 'Damen Doppel'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" - . "\n SET bezeichnungszusatz = 'DE'," - . "\n titel = 'Damen Einzel'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" - . "\n SET bezeichnungszusatz = 'JD'," - . "\n titel = 'Junioren Doppel'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" - . "\n SET bezeichnungszusatz = 'JE'," - . "\n titel = 'Junioren Einzel'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" - . "\n SET bezeichnungszusatz = 'SD'," - . "\n titel = 'Senioren Doppel'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" - . "\n SET bezeichnungszusatz = 'SE'," - . "\n titel = 'Senioren Einzel'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Baden-Württemberg'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Bayern'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Berlin'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Bremen'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Hamburg'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Hessen'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Niedersachsen'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Nordrhein-Westfalen'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Rheinland-Pfalz'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Saarland'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Sachsen'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Sachsen-Anhalt'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Schleswig-Holstein'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Schweiz'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "INSERT #__sportsmanager_termin_bundesland" - . "\n SET bundesland = 'Thüringen'"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '54'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 55) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_moderator_zugriff` (" - . "\n `moderator_zugriff_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `moderator_id` int(11) NOT NULL," - . "\n `zugriff` varchar(64) NOT NULL," - . "\n `zusatz` text," - . "\n PRIMARY KEY (`moderator_zugriff_id`)," - . "\n KEY `moderator_id` (`moderator_id`)," - . "\n KEY `zugriff` (`zugriff`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "SELECT * FROM #__sportsmanager_moderator"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - $rows = $db->loadObjectList(); - - foreach ($rows as $row) { - $moderator_id = $row->moderator_id; - $moderator_zugriff = $row->zugriff; - $zugriffe_admin = array( - "moderatoren_aendern", - "basiseinstellungen_aendern", - "kategorien_aendern", - "organisationen_aendern", - "saisons_aendern", - "spieler_aendern", - "spieler_lesen_erweiterte_daten", - "termine_aendern", - "termine_benachrichtigung" - ); - $zugriffe_vereine = array( - "vereine_aendern" - ); - $zugriffe_wettbewerbe = array( - "mannschaftsspielplaene_aendern", - "verschieberegeln_aendern", - "spielorte_aendern", - "einstufungen_aendern", - "mannschaftswettbewerb_aendern", - "spielerstatistiken_aendern", - "turniere_aendern", - "ranglistenwertungen_aendern", - "ranglisten_aendern", - ); - $zugriffe_verteiler = array( - "verteiler_aendern" - ); - $zugriffe_mitgliederrechnungen = array( - "rechnungen_aendern" - ); - $zugriffe_sonstige = array( - "verteiler_lesen" - ); - - if ($moderator_zugriff == 1) - $zugriffe = array_merge($zugriffe_admin, $zugriffe_vereine, $zugriffe_wettbewerbe, $zugriffe_verteiler, $zugriffe_mitgliederrechnungen, $zugriffe_sonstige); - else if ($moderator_zugriff == 2) - $zugriffe = array_merge($zugriffe_vereine, $zugriffe_wettbewerbe, $zugriffe_verteiler, $zugriffe_mitgliederrechnungen, $zugriffe_sonstige); - else if ($moderator_zugriff == 3) - $zugriffe = array_merge($zugriffe_wettbewerbe, $zugriffe_verteiler, $zugriffe_mitgliederrechnungen, $zugriffe_sonstige); - else if ($moderator_zugriff == 4) - $zugriffe = array_merge($zugriffe_verteiler, $zugriffe_sonstige); - else if ($moderator_zugriff == 5) - $zugriffe = array_merge($zugriffe_verteiler, $zugriffe_mitgliederrechnungen, $zugriffe_sonstige); - else if ($moderator_zugriff == 6) - $zugriffe = array_merge($zugriffe_mitgliederrechnungen, $zugriffe_sonstige); - else - $zugriffe = $zugriffe_sonstige; - - foreach ($zugriffe as $zugriff) { - $query = "INSERT #__sportsmanager_moderator_zugriff" - . "\n SET moderator_id = '$moderator_id'," - . "\n zugriff = '$zugriff'," - . "\n zusatz = ''"; - $db->setQuery($query); - if (!$result = $db->execute()) { die($db->stderr(true)); } - } - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '55'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 56) { - $query = "ALTER TABLE #__sportsmanager_moderator DROP zugriff"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '56'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 57) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_turnier` (" - . "\n `berechtigt_fuer_turnier_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `berechtigt_user_id` int(11) NOT NULL DEFAULT '0'," - . "\n `berechtigt_turnier_id` int(11) NOT NULL DEFAULT '0'," - . "\n PRIMARY KEY (`berechtigt_fuer_turnier_id`)," - . "\n KEY `berechtigt_user_id` (`berechtigt_user_id`)," - . "\n KEY `berechtigt_turnier_id` (`berechtigt_turnier_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_veranstaltung` (" - . "\n `berechtigt_fuer_veranstaltung_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `berechtigt_user_id` int(11) NOT NULL DEFAULT '0'," - . "\n `berechtigt_veranstaltung_id` int(11) NOT NULL DEFAULT '0'," - . "\n PRIMARY KEY (`berechtigt_fuer_veranstaltung_id`)," - . "\n KEY `berechtigt_user_id` (`berechtigt_user_id`)," - . "\n KEY `berechtigt_veranstaltung_id` (`berechtigt_veranstaltung_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '57'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 58) { - $query = "ALTER TABLE #__sportsmanager_spieler CHANGE email email varchar(64) DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler_import CHANGE email email varchar(64) DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_teamansprechpartner CHANGE email email varchar(64) DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_vereinsansprechpartner CHANGE email email varchar(64) DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '58'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 59) { - $query = "ALTER TABLE #__sportsmanager_einstellungen CHANGE name name char(64) NOT NULL DEFAULT ''"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '59'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 60) { - if (!JFolder::create(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine', 0777)) - die(JText::_( 'COM_SPORTSMANAGER_CREATE_DATES_FAILED' )); - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '60'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 61) { - $query = "ALTER TABLE #__sportsmanager_termin_aktion DROP kommentar"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_termin_aktion ADD aktion_kommentar text NOT NULL AFTER aktion_zeitpunkt"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_termin_aktion ADD moderation_kommentar text NOT NULL AFTER moderation_zeitpunkt"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '61'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 62) { - $pfad = JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'termine'.DIRECTORY_SEPARATOR.'.htaccess'; - $inhalt = "# Dokumente der Terminverwaltung\n" - . "Deny from all\n"; - if (file_put_contents($pfad, $inhalt) === FALSE) - die(JText::_( 'COM_SPORTSMANAGER_FILE_FAILED' )); - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '62'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 63) { - // Fix für ausgebliebene Aktualisierung des Ausgetretenwertes beim manuellen Ändern des Mitgliedsstatus - $query = "UPDATE #__sportsmanager_mitglied_von_verein" - . "\n SET ausgetreten = IF(mitgliedsstatus = 0, TRUE, FALSE)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '63'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 64) { - $query = "ALTER TABLE #__sportsmanager_termin ADD ergebnisse_url text NOT NULL AFTER email"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '64'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 65) { - $query = "ALTER TABLE #__sportsmanager_spieler DROP elo_wertung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '65'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 66) { - $query = "ALTER TABLE #__sportsmanager_termin ADD ergebnisse_live bool default '0' AFTER ergebnisse_url"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '66'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 67) { - $query = "ALTER TABLE #__sportsmanager_turnierdisziplin ADD kuerzel varchar(20) DEFAULT NULL AFTER disziplin"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '67'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 68) { - $query = "ALTER TABLE #__sportsmanager_turnier ADD kategorie tinyint(4) DEFAULT '1' AFTER letzter_tag"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_turnierdisziplin" - . "\n INNER JOIN #__sportsmanager_turnier" - . "\n SET #__sportsmanager_turnier.kategorie = #__sportsmanager_turnierdisziplin.kategorie"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_turnierdisziplin DROP kategorie"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '68'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 69) { - $query = "ALTER TABLE #__sportsmanager_teamspiel ADD ergebnis_detailliert tinytext DEFAULT NULL AFTER teamspiel_gast_spielpunkte"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '69'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 70) { - $query = "ALTER TABLE #__sportsmanager_turnier CHANGE turnierbezeichnung turnierbezeichnung varchar(64) DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '70'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 71) { - $query = "ALTER TABLE #__sportsmanager_rangliste ADD doppel_teilwertung float(4,2) DEFAULT '1' AFTER wertungskategorie"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '71'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 72) { - $query = "ALTER TABLE #__sportsmanager_rangliste DROP doppel_teilwertung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste_turnierdisziplin ADD doppel_teilwertung float(4,2) DEFAULT '1' AFTER wertung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '72'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 73) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_individualwettbewerb` (" - . "\n `individualwettbewerb_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `saison_id` int(11) NOT NULL DEFAULT '0'," - . "\n `veranstalter_id` int(11) NOT NULL DEFAULT '0'," - . "\n `bezeichnung` varchar(50) DEFAULT NULL," - . "\n `saetze` tinyint(4) DEFAULT NULL," - . "\n `tore` tinyint(4) DEFAULT NULL," - . "\n `tabellenwertung` tinyint(4) NOT NULL DEFAULT '0'," - . "\n `elo_wertung` tinyint(4) DEFAULT NULL," - . "\n `status` tinyint(4) NOT NULL DEFAULT '0'," - . "\n `reihenfolge` tinyint(4) DEFAULT '1'," - . "\n `kategorie` tinyint(4) DEFAULT '1'," - . "\n PRIMARY KEY (`individualwettbewerb_id`)," - . "\n KEY `saison_id` (`saison_id`)," - . "\n KEY `veranstalter_id` (`veranstalter_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_individualwettbewerb_spiel` (" - . "\n `individualwettbewerb_spiel_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `individualwettbewerb_id` int(11) NOT NULL DEFAULT '0'," - . "\n `zeitpunkt` datetime DEFAULT NULL," - . "\n `heim_spieler_1_id` int(11) NOT NULL DEFAULT '0'," - . "\n `heim_spieler_2_id` int(11) DEFAULT NULL," - . "\n `gast_spieler_1_id` int(11) NOT NULL DEFAULT '0'," - . "\n `gast_spieler_2_id` int(11) DEFAULT NULL," - . "\n `ergebnis` tinyint(4) DEFAULT NULL," - . "\n `ergebnis_detailliert` tinytext DEFAULT NULL," - . "\n PRIMARY KEY (`individualwettbewerb_spiel_id`)," - . "\n KEY `individualwettbewerb_id` (`individualwettbewerb_id`)," - . "\n KEY `zeitpunkt` (`zeitpunkt`)," - . "\n KEY `heim_spieler_1_id` (`heim_spieler_1_id`)," - . "\n KEY `heim_spieler_2_id` (`heim_spieler_2_id`)," - . "\n KEY `gast_spieler_1_id` (`gast_spieler_1_id`)," - . "\n KEY `gast_spieler_2_id` (`gast_spieler_2_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '73'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 74) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_individualwettbewerb` (" - . "\n `berechtigt_fuer_individualwettbewerb_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `berechtigt_user_id` int(11) NOT NULL DEFAULT '0'," - . "\n `berechtigt_individualwettbewerb_id` int(11) NOT NULL DEFAULT '0'," - . "\n PRIMARY KEY (`berechtigt_fuer_individualwettbewerb_id`)," - . "\n KEY `berechtigt_user_id` (`berechtigt_user_id`)," - . "\n KEY `berechtigt_individualwettbewerb_id` (`berechtigt_individualwettbewerb_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '74'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 75) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_individualwettbewerb_platzierung` (" - . "\n `individualwettbewerb_platzierung_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `individualwettbewerb_id` int(11) NOT NULL DEFAULT '0'," - . "\n `spieler_id` int(11) NOT NULL DEFAULT '0'," - . "\n `platz` smallint(6) DEFAULT NULL," - . "\n PRIMARY KEY (`individualwettbewerb_platzierung_id`)," - . "\n KEY `individualwettbewerb_id` (`individualwettbewerb_id`)," - . "\n KEY `platz` (`platz`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '75'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 76) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_individualwettbewerb_ausgangsplatzierung` (" - . "\n `individualwettbewerb_ausgangsplatzierung_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `individualwettbewerb_id` int(11) NOT NULL DEFAULT '0'," - . "\n `spieler_id` int(11) NOT NULL DEFAULT '0'," - . "\n `platz` smallint(6) DEFAULT NULL," - . "\n PRIMARY KEY (`individualwettbewerb_ausgangsplatzierung_id`)," - . "\n KEY `individualwettbewerb_id` (`individualwettbewerb_id`)," - . "\n KEY `platz` (`platz`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '76'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 77) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_bestenliste_individualwettbewerb` (" - . "\n `bestenliste_individualwettbewerb_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `bestenliste_id` int(11) NOT NULL DEFAULT '0'," - . "\n `individualwettbewerb_id` int(11) NOT NULL DEFAULT '0'," - . "\n PRIMARY KEY (`bestenliste_individualwettbewerb_id`)," - . "\n KEY `bestenliste_id` (`bestenliste_id`)," - . "\n KEY `individualwettbewerb_id` (`individualwettbewerb_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "ALTER TABLE #__sportsmanager_bestenliste_punkte ADD spieler_2_id int(11) DEFAULT NULL AFTER spieler_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_bestenliste_punkte ADD KEY (spieler_2_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_bestenliste_punkte ADD saetze_gewonnen smallint(6) DEFAULT NULL AFTER spielpunkte_verloren"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_bestenliste_punkte ADD saetze_unentschieden smallint(6) DEFAULT NULL AFTER saetze_gewonnen"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_bestenliste_punkte ADD saetze_verloren smallint(6) DEFAULT NULL AFTER saetze_unentschieden"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '77'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 78) { - $query = "ALTER TABLE #__sportsmanager_teamspiel_modus CHANGE punkte_sieg punkte_sieg_einzel tinyint(4) NOT NULL DEFAULT '0'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD punkte_sieg_doppel tinyint(4) NOT NULL DEFAULT '0' AFTER punkte_sieg_einzel"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_teamspiel_modus CHANGE spielpunkte_wertung spielpunkte_wertung_einzel tinyint(4) NOT NULL DEFAULT '0'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD spielpunkte_wertung_doppel tinyint(4) NOT NULL DEFAULT '0' AFTER spielpunkte_wertung_einzel"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_teamspiel_modus" - . "\n SET punkte_sieg_doppel = punkte_sieg_einzel," - . "\n spielpunkte_wertung_doppel = spielpunkte_wertung_einzel;"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '78'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $teamstatistik_aktualisieren = true; - } - - if ($datenbank_version < 79) { - $query = "ALTER TABLE #__sportsmanager_termin_aktion ADD benachrichtigung_email text NOT NULL AFTER typ"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_termin_aktion" - . "\n SET benachrichtigung_email = '';"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '79'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $termin_aktionen_email_setzen = true; - } - - if ($datenbank_version < 80) { - if (!JFolder::create(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftswettbewerbe', 0777)) - die(JText::_( 'COM_SPORTSMANAGER_CREATE_TEAM_COMPETITION_FAILED' )); - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '80'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 81) { - $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD logo_url tinytext DEFAULT NULL AFTER elo_wertung"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '81'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 82) { - $query = "ALTER TABLE #__sportsmanager_team CHANGE zusatzpunkte zusatzpunkte float(6,2) DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team CHANGE gesamtpunkte gesamtpunkte float(6,2) DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '82'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 83) { - $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD ticker_logo_url tinytext DEFAULT NULL AFTER logo_url"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '83'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 84) { - $query = "ALTER TABLE #__sportsmanager_spieler ADD elo_einzel_startwert smallint(6) DEFAULT NULL AFTER aktueller_verein_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler ADD elo_doppel_startwert smallint(6) DEFAULT NULL AFTER elo_einzel_spiele"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '84'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 85) { - $query = "ALTER TABLE #__sportsmanager_team CHANGE tischtyp tischtyp varchar(100) DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '85'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 86) { - $query = "ALTER TABLE #__sportsmanager_team ADD buchholz1 smallint(6) DEFAULT NULL AFTER punkte_quotient"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD buchholz2 smallint(6) DEFAULT NULL AFTER buchholz1"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '86'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 87) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_symbolanzeige` (" - . "\n `termin_symbolanzeige_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `termin_symbol_id` int(11) NOT NULL," - . "\n `termin_id` int(11) NOT NULL," - . "\n PRIMARY KEY (`termin_symbolanzeige_id`)," - . "\n KEY `termin_symbol_id` (`termin_symbol_id`)," - . "\n KEY `termin_id` (`termin_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_symbol` (" - . "\n `termin_symbol_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `symboltitel` text NOT NULL," - . "\n `status` tinyint(1) NOT NULL DEFAULT '0'," - . "\n PRIMARY KEY (`termin_symbol_id`)," - . "\n KEY `status` (`status`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - if (!JFolder::create(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'terminsymbole', 0777)) - die(JText::_( 'COM_SPORTSMANAGER_CREATE_DATES_SYMBOLS_FAILED' )); - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '87'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 88) { - $query = "ALTER TABLE #__sportsmanager_turniermeldung ADD KEY turnierdisziplin_rundenstufe_platz (turnierdisziplin_id, rundenstufe, platz)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste_punkte ADD KEY rangliste_platz (rangliste_id, platz)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '88'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 89) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rangliste_turnierdisziplin_punkte` (" - . "\n `rangliste_id` int(11) NOT NULL," - . "\n `spieler_id` int(11) NOT NULL," - . "\n `turnierdisziplin_id` int(11) NOT NULL," - . "\n `punkte` smallint(6) DEFAULT NULL," - . "\n PRIMARY KEY (`rangliste_id`, `spieler_id`, `turnierdisziplin_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "ALTER TABLE #__sportsmanager_rangliste_punkte DROP PRIMARY KEY, DROP rangliste_punkte_id, DROP KEY rangliste_id, DROP KEY spieler_id, ADD PRIMARY KEY(rangliste_id, spieler_id)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '89'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - $rangliste_aktualisieren = true; - } - - if ($datenbank_version < 90) { - $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechnung` (" - . "\n `berechnung_id` int(11) NOT NULL AUTO_INCREMENT," - . "\n `session_id` varchar(200) NOT NULL," - . "\n `typ` char(64) NOT NULL DEFAULT ''," - . "\n `parameter` char(255) DEFAULT NULL," - . "\n `id` int(11) DEFAULT NULL," - . "\n PRIMARY KEY (`berechnung_id`)," - . "\n KEY `session_id` (`session_id`)," - . "\n KEY `typ` (`typ`)," - . "\n KEY `id` (`typ`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '90'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 91) { - $query = "ALTER TABLE #__sportsmanager_berechnung CHANGE session_id session_id datetime DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler_import CHANGE session_id session_id datetime DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '91'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 92) { - $query = "ALTER TABLE #__sportsmanager_rangliste_turnierdisziplin_punkte ADD platz smallint(6) DEFAULT NULL AFTER turnierdisziplin_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '92'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $rangliste_aktualisieren = true; - } - - if ($datenbank_version < 93) { - if (!bildKopierenAngepasst(JPATH_ROOT.DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_sportsmanager'.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'spieler-m.png', JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'spieler'.DIRECTORY_SEPARATOR.'m.png', 180, 240, 1)) - die('Das Bild konnte nicht an die Zielposition kopiert werden.'); - - if (!bildKopierenAngepasst(JPATH_ROOT.DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_sportsmanager'.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'spieler-w.png', JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'spieler'.DIRECTORY_SEPARATOR.'w.png', 180, 240, 1)) - die('Das Bild konnte nicht an die Zielposition kopiert werden.'); - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '93'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 94) { - $query = "ALTER TABLE #__sportsmanager_team CHANGE tischtyp tischtyp varchar(200) DEFAULT NULL"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '94'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 95) { - $query = "ALTER TABLE #__sportsmanager_rechnung ADD wertungskategorie tinyint(4) NOT NULL AFTER mitgliedsstatus"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_rechnung" - . "\n SET wertungskategorie = 15"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '95'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 96) { - $query = "UPDATE #__sportsmanager_teamspiel" - . "\n SET ergebnis_detailliert = IF((ISNULL(teamspiel_heim_punkte) OR (teamspiel_heim_punkte = 0)) AND (ISNULL(teamspiel_gast_punkte) OR (teamspiel_gast_punkte = 0)), null, CONCAT_WS(':', teamspiel_heim_punkte, teamspiel_gast_punkte))"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '96'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 97) { - $query = "ALTER TABLE #__sportsmanager_rangliste ADD geschlecht tinyint(4) DEFAULT NULL AFTER wertungskategorie"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste ADD minalter tinyint(4) DEFAULT NULL AFTER geschlecht"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste ADD maxalter tinyint(4) DEFAULT NULL AFTER minalter"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_rangliste" - . "\n SET geschlecht = IF(wertungskategorie = 1 OR wertungskategorie = 5, 1, IF(wertungskategorie = 2 OR wertungskategorie = 6, 2, null))"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_rangliste" - . "\n SET minalter = IF(wertungskategorie = 1 OR wertungskategorie = 2, 18, IF(wertungskategorie = 4, 50, null))"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_rangliste" - . "\n SET maxalter = IF(wertungskategorie = 1 OR wertungskategorie = 2, 49, IF(wertungskategorie = 3, 17, null))"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_rangliste DROP wertungskategorie"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '97'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 98) { - $query = "ALTER TABLE #__sportsmanager_begegnung ADD tisch tinytext DEFAULT NULL AFTER spielort_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '98'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 99) { - $query = "ALTER TABLE #__sportsmanager_rangliste ADD ohnealter bool DEFAULT '0' AFTER maxalter"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_rangliste" - . "\n SET ohnealter = '1'" - . "\n WHERE ISNULL(minalter) AND ISNULL(maxalter)"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '99'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 100) { - $query = "ALTER TABLE #__sportsmanager_team ADD tischeigenschaften varchar(200) DEFAULT NULL AFTER tischtyp"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '100'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($datenbank_version < 101) { - $query = "ALTER TABLE #__sportsmanager_begegnung ADD nichtraucherschutz tinyint(4) DEFAULT '0' AFTER gast_spielpunkte"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_team ADD nichtraucherschutz tinyint(4) DEFAULT '0' AFTER heimspielort_id"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '101'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - - if ($datenbank_version < 102) { - $query = "ALTER TABLE #__sportsmanager_rangliste ADD lizenzen varchar(30) DEFAULT NULL AFTER streichergebnisse"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "ALTER TABLE #__sportsmanager_spieler ADD lizenz varchar(30) DEFAULT NULL AFTER lizenznr"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - - $query = "UPDATE #__sportsmanager_einstellungen" - . "\n SET wert = '102'" - . "\n WHERE name = 'datenbank_version'"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - - if ($termin_aktionen_email_setzen) { - $query = "SELECT aktion_user_id, termin_aktion_id" - . "\n FROM #__sportsmanager_termin_aktion"; - $db->setQuery( $query ); - if (!$result = $db->execute()) { die($db->stderr(true)); } - $rows = $db->loadObjectList(); - - foreach ($rows as $row) { - $aktion_user =& JFactory::getUser($row->aktion_user_id); - if (empty($aktion_user->id) || empty($aktion_user->email)) - continue; - $query = "UPDATE #__sportsmanager_termin_aktion" - . "\n SET benachrichtigung_email = '" . $db->getEscaped($aktion_user->email) . "'" - . "\n WHERE termin_aktion_id = " . $row->termin_aktion_id . ";"; - $db->setQuery($query); - if (!$result = $db->execute()) { - die($db->stderr(true)); - } - } - } - - if ($wann_gespielt_aktualisieren) - wannGespieltAktualisieren(); - - if ($teamstatistik_aktualisieren) - teamstatistikAktualisieren(); - - if ($aktueller_verein_aktualisieren) - aktuellerVereinAktualisieren(); - - if ($spielerstatistik_aktualisieren) - spielerstatistikAktualisieren(); - - if ($elo_aktualisieren) - eloAktualisieren(); - - if ($rangliste_aktualisieren) - ranglisteAktualisieren(); - - if (!redirectSessionIdEmpty()) { - // Neu laden, um etwaige offene Berechnungen auszuführen und genügend Rechenzeit für eigentlichen Seitenaufruf zu haben - // Dass Posts verloren gehen, ist unwahrscheinlich, aber wird akzeptiert // TODO: Session-Id in URL ergänzen - redirectCurrentURL(); - jexit(); - } -} - -?> +getPrefix() . "tsleague_basis' || name = '" . $db->getPrefix() . "tsleague_einstellungen'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $rows = $db->loadObjectList(); + + if (count($rows) > 0) { + $query = "SHOW TABLE STATUS WHERE name = '" . $db->getPrefix() . "tsleague_basis'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $rows = $db->loadObjectList(); + + if (count($rows) > 0) { + $query = "SELECT * FROM #__tsleague_basis"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $rows = $db->loadObjectList(); + if (count($rows) == 0) + die(Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY')); + + $datenbank_version = $rows[0]->datenbank_version; + + if ($datenbank_version < 1) { + $query = "ALTER TABLE #__tsleague_spieler DROP verein_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 1"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 2) { + $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_rangliste_system` (" + . "\n `rangliste_system_id` int(11) NOT NULL auto_increment," + . "\n `systembezeichnung` varchar(50)," + . "\n PRIMARY KEY (`rangliste_system_id`)" + . "\n ) ENGINE=MyISAM;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_rangliste_system_punkte` (" + . "\n `rangliste_system_punkte_id` int(11) NOT NULL auto_increment," + . "\n `system_id` int(11) NOT NULL," + . "\n `platz_min` smallint," + . "\n `platz_max` smallint," + . "\n `teilnehmer_min` smallint," + . "\n `teilnehmer_max` smallint," + . "\n `punkte` smallint," + . "\n PRIMARY KEY (`rangliste_system_punkte_id`)" + . "\n ) ENGINE=MyISAM;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_rangliste` (" + . "\n `rangliste_id` int(11) NOT NULL auto_increment," + . "\n `system_id` int(11) NOT NULL," + . "\n `bezeichnung` varchar(50)," + . "\n `erster_tag` date NOT NULL," + . "\n `letzter_tag` date NOT NULL," + . "\n `status` tinyint NOT NULL default '0'," + . "\n PRIMARY KEY (`rangliste_id`)" + . "\n ) ENGINE=MyISAM;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_rangliste_turnierdisziplin` (" + . "\n `rangliste_turnierdisziplin_id` int(11) NOT NULL auto_increment," + . "\n `rangliste_id` int(11) NOT NULL," + . "\n `turnierdisziplin_id` int(11) NOT NULL," + . "\n PRIMARY KEY (`rangliste_turnierdisziplin_id`)" + . "\n ) ENGINE=MyISAM;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS #__tsleague_rangliste_punkte (" + . "\n `rangliste_punkte_id` int(11) NOT NULL auto_increment," + . "\n `spieler_id` int(11) NOT NULL," + . "\n `punkte` smallint," + . "\n `teilnahmen` smallint," + . "\n PRIMARY KEY (`rangliste_punkte_id`)" + . "\n ) ENGINE=MyISAM;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 2"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 3) { + $query = "ALTER TABLE #__tsleague_teamspiel_modus ADD spielpunkte_wertung tinyint NOT NULL default '0' AFTER punktetyp"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_teamspiel_modus ADD begegnungspunkte_wertung tinyint NOT NULL default '0' AFTER spielpunkte_wertung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 3"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 4) { + $query = "ALTER TABLE #__tsleague_rangliste_system ADD streichergebnisse tinyint AFTER rangliste_system_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_rangliste_punkte ADD rangliste_id int(11) NOT NULL AFTER rangliste_punkte_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 4"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 5) { + $query = "ALTER TABLE #__tsleague_spieler_elo CHANGE einzel_liga_elo elo_einzel smallint"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler_elo CHANGE doppel_liga_elo elo_doppel smallint"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler_elo CHANGE einzel_liga_spiele spiele_einzel smallint"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler_elo CHANGE doppel_liga_spiele spiele_doppel smallint"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler_elo DROP einzel_turnier_elo"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler_elo DROP doppel_turnier_elo"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler_elo DROP einzel_turnier_spiele"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler_elo DROP doppel_turnier_spiele"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_turnierdisziplin CHANGE gewichtung elo_wertung tinyint"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_veranstaltung ADD elo_wertung tinyint AFTER letzter_tag"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_veranstaltung" + . "\n SET elo_wertung = 1" + . "\n WHERE status = 2 OR status = 3"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_turnierdisziplin" + . "\n SET elo_wertung = 1" + . "\n WHERE elo_wertung != 0"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 5"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $elo_aktualisieren = true; + } + + if ($datenbank_version < 6) { + + $query = "ALTER TABLE #__tsleague_unbestaetigtes_ergebnis ADD kommentar varchar(512) AFTER vorschlagendes_team_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD kommentar varchar(512) AFTER vorschlagendes_team_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 6"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 7) { + + $query = "ALTER TABLE #__tsleague_team CHANGE verein_id verein_id int(11)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_team" + . "\n SET verein_id = NULL" + . "\n WHERE verein_id = 0"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_verein DROP veranstaltung_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 7"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 8) { + $query = "ALTER TABLE #__tsleague_veranstalter ADD veranstalterkuerzel varchar(20) AFTER veranstalterbezeichnung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_verein ADD veranstalter_id int(11) AFTER verein_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 8"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 9) { + $query = "SELECT spieler_id, geschlecht" + . "\n FROM #__tsleague_spieler"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $spieler = $db->loadObjectList(); + + $query = "ALTER TABLE #__tsleague_spieler CHANGE geschlecht geschlecht char(1)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + foreach ($spieler as $s) { + $query = "UPDATE #__tsleague_spieler" + . "\n SET geschlecht = " . ($s->geschlecht == 0 ? "'M'" : "'W'") + . "\n WHERE spieler_id = $s->spieler_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 9"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 10) { + $query = "ALTER TABLE #__tsleague_spieler ADD zuletzt_gespielt date AFTER spielernr"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 10"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $wann_gespielt_aktualisieren = true; + $elo_aktualisieren = true; + } + + if ($datenbank_version < 11) { + $query = "ALTER TABLE #__tsleague_turnierdisziplin ADD voranmeldung datetime AFTER elo_wertung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS #__tsleague_turniervoranmeldung (" + . "\n `turniervoranmeldung_id` int(11) NOT NULL auto_increment," + . "\n `turnierdisziplin_id` int(11) NOT NULL," + . "\n `spieler_1_id` int(11) NOT NULL," + . "\n `spieler_2_id` int(11)," + . "\n PRIMARY KEY (`turniervoranmeldung_id`)" + . "\n ) ENGINE=MyISAM;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 11"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 12) { + $query = "ALTER TABLE #__tsleague_begegnung_verlegen CHANGE kommentar kommentar varchar(255)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_unbestaetigtes_ergebnis CHANGE kommentar kommentar varchar(255)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 12"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 13) { + $query = "ALTER TABLE #__tsleague_verein ADD vereinssitz varchar(30) AFTER vereinsname"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler ADD landeskennung varchar(10) AFTER ort"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_veranstalter ADD kennzahl varchar(10) AFTER veranstalterkuerzel"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 13"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 14) { + $query = "ALTER TABLE #__tsleague_unbestaetigtes_ergebnis ADD vorgeschlagen datetime AFTER kommentar"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD vorgeschlagen datetime AFTER kommentar"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD vorschlaege_heim smallint default 0 AFTER vorgeschlagen"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD vorschlag_gast_erlauben smallint default 1 AFTER vorschlaege_heim"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_veranstaltung ADD reihenfolge tinyint default 1 AFTER status"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 14"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 15) { + $query = "ALTER TABLE #__tsleague_spieler ADD ausgetreten tinyint AFTER zuletzt_gespielt"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 15"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $elo_aktualisieren = true; + } + + if ($datenbank_version < 16) { + + $query = "ALTER TABLE #__tsleague_spieler CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_verein CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_vereinsansprechpartner CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_veranstalter CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_teamspiel_modus CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_veranstaltung CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_team CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_teamansprechpartner CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_unbestaetigtes_ergebnis CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_turnier CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_turnierdisziplin CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_turniermeldung CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_rangliste_system CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_rangliste CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 16"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 17) { + $query = "ALTER TABLE #__tsleague_veranstalter DROP kennzahl"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler DROP url"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 17"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 18) { + $query = "ALTER TABLE #__tsleague_spieler_elo ADD UNIQUE (spieler_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_verein ADD KEY (veranstalter_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_mitglied_von_verein ADD KEY (spieler_id), ADD KEY (verein_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_vereinsansprechpartner ADD KEY (verein_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_berechtigt_fuer_verein ADD KEY (berechtigt_user_id), ADD KEY (berechtigt_verein_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_veranstaltung ADD KEY (veranstalter_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_team ADD KEY (verein_id), ADD KEY (veranstaltung_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_teamansprechpartner ADD KEY (team_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_mitglied_von_team ADD KEY (spieler_id), ADD KEY (team_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung ADD KEY (heim_team_id), ADD KEY (gast_team_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD KEY (begegnung_id), ADD KEY (vorschlagendes_team_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_teamspiel ADD KEY (begegnung_id), ADD KEY (heim_spieler_1_id), ADD KEY (heim_spieler_2_id), ADD KEY (gast_spieler_1_id), ADD KEY (gast_spieler_2_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_unbestaetigtes_ergebnis ADD KEY (begegnung_id), ADD KEY (vorschlagendes_team_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_berechtigt_fuer_team ADD KEY (berechtigt_user_id), ADD KEY (berechtigt_team_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_moderator ADD KEY (moderator_user_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_turnier ADD KEY (veranstalter_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_turnierdisziplin ADD KEY (turnier_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_turniervoranmeldung ADD KEY (turnierdisziplin_id), ADD KEY (spieler_1_id), ADD KEY (spieler_2_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_turniermeldung ADD KEY (turnierdisziplin_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_turniermeldung_spieler ADD KEY (turniermeldung_id), ADD KEY (spieler_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_turnierspiel ADD KEY (turnierdisziplin_id), ADD KEY (heim_meldung_id), ADD KEY (gast_meldung_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_rangliste_system_punkte ADD KEY (system_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_rangliste ADD KEY (system_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_rangliste_turnierdisziplin ADD KEY (rangliste_id), ADD KEY (turnierdisziplin_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_rangliste_punkte ADD KEY (rangliste_id), ADD KEY (spieler_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 18"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 19) { + $query = "ALTER TABLE #__tsleague_verein CHANGE vereinsname vereinsname varchar(50) NOT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_basis" + . "\n SET datenbank_version = 19"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + $query = "DROP TABLE IF EXISTS `#__tsleague_einstellungen`;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_einstellungen` (" + . "\n `name` char(30)," + . "\n `wert` char(255)," + . "\n PRIMARY KEY (`name`)" + . "\n ) ENGINE=MyISAM COLLATE=latin1_german1_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler ADD lizenznr varchar(20) AFTER spielernr"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__tsleague_einstellungen" + . "\n SET name = 'datenbank_version', wert = '20'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__tsleague_einstellungen" + . "\n SET name = 'basis_spielernr', wert = ''"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "DROP TABLE #__tsleague_basis"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + $query = "SELECT * FROM #__tsleague_einstellungen WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $rows = $db->loadObjectList(); + if (count($rows) == 0) + die(Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY')); + + $datenbank_version = intval($rows[0]->wert); + + if ($datenbank_version < 21) { + $query = "ALTER TABLE #__tsleague_veranstalter ADD kategorie tinyint default '1' AFTER veranstalterkuerzel"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_veranstaltung ADD kategorie tinyint default '1' AFTER reihenfolge"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '21'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 22) { + $query = "ALTER TABLE #__tsleague_veranstaltung ADD tabellenwertung tinyint NOT NULL default '0' AFTER modus_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_veranstaltung ADD unterteilung tinyint NOT NULL default '0' AFTER tabellenwertung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_veranstaltung" + . "\n LEFT JOIN #__tsleague_teamspiel_modus ON teamspiel_modus_id = modus_id" + . "\n SET tabellenwertung = IF(begegnungspunkte_wertung = 0, 1, 2)" + . "\n WHERE status = 2"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_veranstaltung" + . "\n SET unterteilung = IF(status = 3, 1, 2)" + . "\n WHERE status = 3 OR status = 1"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_veranstaltung" + . "\n SET status = 1" + . "\n WHERE status > 0"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_teamspiel_modus DROP begegnungspunkte_wertung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_teamspiel_modus DROP ergebnistyp"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung DROP heim_begegnungspunkte"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung DROP gast_begegnungspunkte"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '22'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 23) { + if (!Folder::exists(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague' . DIRECTORY_SEPARATOR . 'spieler')) { + if (!Folder::move(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague' . DIRECTORY_SEPARATOR . 'players', JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague' . DIRECTORY_SEPARATOR . 'spieler')) + die(Text::_('COM_SPORTSMANAGER_RENAME_PLAYER_DIRECTORY_FAILED')); + } + + if (!Folder::create(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague' . DIRECTORY_SEPARATOR . 'mannschaften', 0777)) + die(Text::_('COM_SPORTSMANAGER_CREATE_TEAM_DIRECTORY_FAILED')); + + if (!Folder::create(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague' . DIRECTORY_SEPARATOR . 'vereine', 0777)) + die(Text::_('COM_SPORTSMANAGER_CREATE_CLUB_DIRECTORY_FAILED')); + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '23'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 24) { + $query = "ALTER TABLE #__tsleague_rangliste ADD reihenfolge tinyint default '1' AFTER status"; + + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_rangliste ADD kategorie tinyint default '1' AFTER reihenfolge"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_rangliste_turnierdisziplin ADD wertung tinyint default '1' AFTER turnierdisziplin_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '24'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 25) { + $query = "ALTER TABLE #__tsleague_turnierspiel CHANGE runde runde smallint"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '25'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 26) { + $query = "UPDATE #__tsleague_veranstaltung" + . "\n SET tabellenwertung = IF(tabellenwertung = 1, 2, 5)" + . "\n WHERE tabellenwertung > 0"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '26'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 27) { + $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD aktion tinyint default '0' AFTER begegnung_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen CHANGE neuer_zeitpunkt zeitpunkt datetime"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD user_id int(11) AFTER zeitpunkt"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen DROP INDEX vorschlagendes_team_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen CHANGE vorschlagendes_team_id team_id int(11)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD verantwortlich_team_id int(11) AFTER team_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD KEY (user_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD KEY (team_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen ADD KEY (verantwortlich_team_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen DROP vorschlaege_heim"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen DROP vorschlag_gast_erlauben"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_begegnung_verlegen CHANGE vorgeschlagen eingetragen datetime"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_begegnung_verlegen, #__tsleague_begegnung" + . "\n SET verantwortlich_team_id = IF(team_id = heim_team_id, gast_team_id, heim_team_id)" + . "\n WHERE #__tsleague_begegnung_verlegen.begegnung_id = #__tsleague_begegnung.begegnung_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '27'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 28) { + $query = "ALTER TABLE #__tsleague_spieler DROP ausgetreten"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler ADD ausgetreten bool default '0'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_spieler" + . "\n SET ausgetreten = IF(ISNULL(austritt), FALSE, TRUE)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler DROP austritt"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_verein ADD ausgetreten bool default '0'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_verein" + . "\n SET ausgetreten = IF(ISNULL(austritt), FALSE, TRUE)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_verein DROP austritt"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_mitglied_von_verein ADD ausgetreten bool default '0'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_mitglied_von_verein" + . "\n SET ausgetreten = IF(ISNULL(austritt), FALSE, TRUE)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_mitglied_von_verein DROP austritt"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_mitglied_von_team ADD ausgetreten bool default '0'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_mitglied_von_team" + . "\n SET ausgetreten = IF(ISNULL(austritt), FALSE, TRUE)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_mitglied_von_team DROP austritt"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '28'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 29) { + $query = "ALTER TABLE #__tsleague_rangliste ADD streichergebnisse tinyint AFTER system_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_rangliste, #__tsleague_rangliste_system" + . "\n SET #__tsleague_rangliste.streichergebnisse = #__tsleague_rangliste_system.streichergebnisse WHERE system_id = rangliste_system_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_rangliste_system DROP streichergebnisse"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_rangliste_turnierdisziplin ADD system_id int(11) AFTER turnierdisziplin_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_rangliste_turnierdisziplin ADD KEY (system_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '29'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 30) { + $query = "ALTER TABLE #__tsleague_turniermeldung_spieler CHANGE spieler_id spieler_id int(11)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_turniermeldung_spieler_name` (" + . "\n `turniermeldung_spieler_name_id` int(11) NOT NULL auto_increment," + . "\n `turniermeldung_spieler_id` int(11) NOT NULL," + . "\n `nachname` varchar(30)," + . "\n `vorname` varchar(30) NOT NULL," + . "\n PRIMARY KEY (`turniermeldung_spieler_name_id`)," + . "\n KEY (`turniermeldung_spieler_id`)" + . "\n ) ENGINE=MyISAM COLLATE=latin1_german1_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_turnierdisziplin ADD reihenfolge tinyint default '1' AFTER voranmeldung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_turnierdisziplin ADD kategorie tinyint default '1' AFTER reihenfolge"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '30'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 31) { + $query = "ALTER TABLE #__tsleague_spieler ADD elo_einzel smallint AFTER pseudonym"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler ADD elo_einzel_spiele smallint AFTER elo_einzel"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler ADD elo_doppel smallint AFTER elo_einzel_spiele"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler ADD elo_doppel_spiele smallint AFTER elo_doppel"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_spieler" + . "\n INNER JOIN #__tsleague_spieler_elo USING (spieler_id)" + . "\n SET #__tsleague_spieler.elo_einzel = #__tsleague_spieler_elo.elo_einzel," + . "\n #__tsleague_spieler.elo_einzel_spiele = #__tsleague_spieler_elo.spiele_doppel," + . "\n #__tsleague_spieler.elo_doppel = #__tsleague_spieler_elo.elo_doppel," + . "\n #__tsleague_spieler.elo_doppel_spiele = #__tsleague_spieler_elo.spiele_einzel"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "DROP TABLE #__tsleague_spieler_elo;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '31'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 32) { + $query = "ALTER TABLE #__tsleague_spieler ADD INDEX (nachname, vorname)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_spieler ADD INDEX (vorname, nachname)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '32'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 33) { + $query = "ALTER TABLE #__tsleague_turniermeldung DROP name"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '33'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 34) { + $query = "ALTER TABLE #__tsleague_turnier ADD turnierort varchar(50) AFTER turnierbezeichnung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '34'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 35) { + $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_spieler_import` ( " + . "\n `spieler_import_id` int(11) NOT NULL auto_increment, " + . "\n `session_id` varchar(200) NOT NULL," + . "\n `nachname` varchar(30)," + . "\n `vorname` varchar(30)," + . "\n `geschlecht` char(1)," + . "\n `geburtsdatum` date," + . "\n `strasse` varchar(30)," + . "\n `plz` varchar(6)," + . "\n `ort` varchar(30)," + . "\n `landeskennung` varchar(10)," + . "\n `telefon` varchar(25)," + . "\n `mobil` varchar(25)," + . "\n `email` varchar(40)," + . "\n `spielernr` varchar(20)," + . "\n `lizenznr` varchar(20)," + . "\n `ausgetreten` bool default '0'," + . "\n `pseudonym` varchar(30)," + . "\n `vereinsname` varchar(50)," + . "\n `vereinssitz` varchar(30)," + . "\n `veranstalterbezeichnung` varchar(50)," + . "\n PRIMARY KEY (`spieler_import_id`)," + . "\n KEY (`session_id`)" + . "\n ) ENGINE=MyISAM COLLATE=latin1_german1_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '35'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 36) { + $query = "ALTER TABLE #__tsleague_turniermeldung_spieler_name ADD vereinsname varchar(50) AFTER vorname"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '36'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 37) { + $query = "ALTER TABLE #__tsleague_spieler ADD geburtsjahr smallint unsigned AFTER geburtsdatum"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_spieler" + . "\n SET geburtsjahr = YEAR(geburtsdatum)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '37'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 38) { + $query = "CREATE TABLE IF NOT EXISTS `#__tsleague_kategorie` (" + . "\n `kategorie_id` int(11) NOT NULL auto_increment," + . "\n `typ` tinyint," + . "\n `nummer` tinyint," + . "\n `bezeichnung` varchar(50)," + . "\n PRIMARY KEY (`kategorie_id`)" + . "\n ) ENGINE=MyISAM COLLATE=latin1_german1_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '38'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 39) { + $query = "ALTER TABLE #__tsleague_turnierdisziplin DROP kuerzel"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '39'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 40) { + $query = "DELETE FROM #__tsleague_mitglied_von_verein WHERE spieler_id = 0"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '40'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 41) { + $query = "ALTER TABLE #__tsleague_spieler_import ADD geburtsjahr smallint unsigned AFTER geburtsdatum"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__tsleague_team CHANGE teamname teamname varchar(50) NOT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '41'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 42) { + $query = "ALTER TABLE #__tsleague_team ADD zusatzpunkte smallint AFTER tischtyp"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '42'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 43) { + $query = "ALTER TABLE #__tsleague_turnierspiel ADD rundenstufe tinyint AFTER runde"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_turnierspiel" + . "\n SET rundenstufe = IF(runde > 0, 1, -1), runde = ABS(runde)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '43'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 44) { + $query = "UPDATE #__tsleague_begegnung" + . "\n SET spieltag = spieltag + 99 - (2 * (spieltag % 100))" + . "\n WHERE spieltag >= 20000"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__tsleague_einstellungen" + . "\n SET wert = '44'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + $query = "DROP TABLE IF EXISTS `#__sportsmanager_begegnung`" + . ", `#__sportsmanager_begegnung_verlegen`" + . ", `#__sportsmanager_berechtigt_fuer_team`" + . ", `#__sportsmanager_berechtigt_fuer_turnier`" + . ", `#__sportsmanager_berechtigt_fuer_verein`" + . ", `#__sportsmanager_berechtigt_fuer_veranstalter`" + . ", `#__sportsmanager_berechtigt_fuer_veranstaltung`" + . ", `#__sportsmanager_einstellungen`" + . ", `#__sportsmanager_berechnung`" + . ", `#__sportsmanager_einstufung`" + . ", `#__sportsmanager_einstufung_rangliste`" + . ", `#__sportsmanager_elo_cache`" + . ", `#__sportsmanager_kategorie`" + . ", `#__sportsmanager_mitglied_von_team`" + . ", `#__sportsmanager_mitglied_von_verein`" + . ", `#__sportsmanager_moderator`" + . ", `#__sportsmanager_moderator_zugriff`" + . ", `#__sportsmanager_rangliste`" + . ", `#__sportsmanager_rangliste_punkte`" + . ", `#__sportsmanager_rangliste_system`" + . ", `#__sportsmanager_rangliste_system_punkte`" + . ", `#__sportsmanager_rangliste_turnierdisziplin`" + . ", `#__sportsmanager_spieler`" + . ", `#__sportsmanager_spieler_import`" + . ", `#__sportsmanager_team`" + . ", `#__sportsmanager_teamansprechpartner`" + . ", `#__sportsmanager_teamspiel`" + . ", `#__sportsmanager_teamspiel_modus`" + . ", `#__sportsmanager_termin`" + . ", `#__sportsmanager_termin_symbol`" + . ", `#__sportsmanager_termin_symbolanzeige`" + . ", `#__sportsmanager_termin_aktion`" + . ", `#__sportsmanager_termin_zusatz`" + . ", `#__sportsmanager_termin_bezeichnungszusatz`" + . ", `#__sportsmanager_termin_bezeichnung`" + . ", `#__sportsmanager_termin_bundesland`" + . ", `#__sportsmanager_termin_land`" + . ", `#__sportsmanager_turnier`" + . ", `#__sportsmanager_turnierdisziplin`" + . ", `#__sportsmanager_turniermeldung`" + . ", `#__sportsmanager_turniermeldung_spieler`" + . ", `#__sportsmanager_turniermeldung_spieler_name`" + . ", `#__sportsmanager_turnierspiel`" + . ", `#__sportsmanager_turniervoranmeldung`" + . ", `#__sportsmanager_unbestaetigtes_ergebnis`" + . ", `#__sportsmanager_veranstalter`" + . ", `#__sportsmanager_veranstaltung`" + . ", `#__sportsmanager_verein`" + . ", `#__sportsmanager_vereinsansprechpartner`;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "\n RENAME TABLE #__tsleague_begegnung TO #__sportsmanager_begegnung" + . ", #__tsleague_begegnung_verlegen TO #__sportsmanager_begegnung_verlegen" + . ", #__tsleague_berechtigt_fuer_team TO #__sportsmanager_berechtigt_fuer_team" + . ", #__tsleague_berechtigt_fuer_verein TO #__sportsmanager_berechtigt_fuer_verein" + . ", #__tsleague_einstellungen TO #__sportsmanager_einstellungen" + . ", #__tsleague_kategorie TO #__sportsmanager_kategorie" + . ", #__tsleague_mitglied_von_team TO #__sportsmanager_mitglied_von_team" + . ", #__tsleague_mitglied_von_verein TO #__sportsmanager_mitglied_von_verein" + . ", #__tsleague_moderator TO #__sportsmanager_moderator" + . ", #__tsleague_rangliste TO #__sportsmanager_rangliste" + . ", #__tsleague_rangliste_punkte TO #__sportsmanager_rangliste_punkte" + . ", #__tsleague_rangliste_system TO #__sportsmanager_rangliste_system" + . ", #__tsleague_rangliste_system_punkte TO #__sportsmanager_rangliste_system_punkte" + . ", #__tsleague_rangliste_turnierdisziplin TO #__sportsmanager_rangliste_turnierdisziplin" + . ", #__tsleague_spieler TO #__sportsmanager_spieler" + . ", #__tsleague_spieler_import TO #__sportsmanager_spieler_import" + . ", #__tsleague_team TO #__sportsmanager_team" + . ", #__tsleague_teamansprechpartner TO #__sportsmanager_teamansprechpartner" + . ", #__tsleague_teamspiel TO #__sportsmanager_teamspiel" + . ", #__tsleague_teamspiel_modus TO #__sportsmanager_teamspiel_modus" + . ", #__tsleague_turnier TO #__sportsmanager_turnier" + . ", #__tsleague_turnierdisziplin TO #__sportsmanager_turnierdisziplin" + . ", #__tsleague_turniermeldung TO #__sportsmanager_turniermeldung" + . ", #__tsleague_turniermeldung_spieler TO #__sportsmanager_turniermeldung_spieler" + . ", #__tsleague_turniermeldung_spieler_name TO #__sportsmanager_turniermeldung_spieler_name" + . ", #__tsleague_turnierspiel TO #__sportsmanager_turnierspiel" + . ", #__tsleague_turniervoranmeldung TO #__sportsmanager_turniervoranmeldung" + . ", #__tsleague_unbestaetigtes_ergebnis TO #__sportsmanager_unbestaetigtes_ergebnis" + . ", #__tsleague_veranstalter TO #__sportsmanager_veranstalter" + . ", #__tsleague_veranstaltung TO #__sportsmanager_veranstaltung" + . ", #__tsleague_verein TO #__sportsmanager_verein" + . ", #__tsleague_vereinsansprechpartner TO #__sportsmanager_vereinsansprechpartner;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '1'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + if (!Folder::exists(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager') && Folder::exists(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague')) { + if (!Folder::move(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'tsleague', JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager')) + die(Text::_('COM_SPORTSMANAGER_RENAME_PLAYER_FAILED')); + } + + } + + $query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $rows = $db->loadObjectList(); + if (count($rows) == 0) + die(Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY')); + + $datenbank_version = intval($rows[0]->wert); + + if ($datenbank_version < 2) { + $query = "ALTER TABLE #__sportsmanager_team CHANGE tischtyp tischtyp varchar(60)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '2'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 3) { + $query = "ALTER TABLE #__sportsmanager_spieler ADD elo_wertung tinyint(4) DEFAULT '1' AFTER pseudonym"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '3'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 4) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_bestenliste` (" + . "\n `bestenliste_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `bezeichnung` varchar(50) COLLATE latin1_german1_ci DEFAULT NULL," + . "\n `tabellenwertung` tinyint(4) NOT NULL DEFAULT '0'," + . "\n `typ` tinyint(4) DEFAULT NULL," + . "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00'," + . "\n `letzter_tag` date NOT NULL DEFAULT '0000-00-00'," + . "\n `status` tinyint(4) NOT NULL DEFAULT '0'," + . "\n `reihenfolge` tinyint(4) DEFAULT '1'," + . "\n `kategorie` tinyint(4) DEFAULT '1'," + . "\n PRIMARY KEY (`bestenliste_id`)" + . "\n ) ENGINE=MyISAM ;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_bestenliste_punkte` (" + . "\n `bestenliste_punkte_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `bestenliste_id` int(11) NOT NULL DEFAULT '0'," + . "\n `spieler_id` int(11) NOT NULL DEFAULT '0'," + . "\n `siege` smallint(6) DEFAULT NULL," + . "\n `unentschieden` smallint(6) DEFAULT NULL," + . "\n `niederlagen` smallint(6) DEFAULT NULL," + . "\n `spielpunkte_gewonnen` smallint(6) DEFAULT NULL," + . "\n `spielpunkte_verloren` smallint(6) DEFAULT NULL," + . "\n `punkte_gewonnen` smallint(6) DEFAULT NULL," + . "\n `punkte_verloren` smallint(6) DEFAULT NULL," + . "\n PRIMARY KEY (`bestenliste_punkte_id`)," + . "\n KEY `bestenliste_id` (`bestenliste_id`)," + . "\n KEY `spieler_id` (`spieler_id`)" + . "\n) ENGINE=MyISAM ;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_bestenliste_veranstaltung` (" + . "\n `bestenliste_veranstaltung_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `bestenliste_id` int(11) NOT NULL DEFAULT '0'," + . "\n `veranstaltung_id` int(11) NOT NULL DEFAULT '0'," + . "\n PRIMARY KEY (`bestenliste_veranstaltung_id`)," + . "\n KEY `bestenliste_id` (`bestenliste_id`)," + . "\n KEY `veranstaltung_id` (`veranstaltung_id`)" + . "\n) ENGINE=MyISAM ;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '4'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 5) { + $query = "ALTER TABLE #__sportsmanager_rangliste_punkte ADD platz smallint(6) DEFAULT NULL AFTER spieler_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '5'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $rangliste_aktualisieren = true; + } + + if ($datenbank_version < 6) { + $query = "ALTER TABLE #__sportsmanager_team ADD platz smallint(6) DEFAULT NULL AFTER heimspielort_anschrift_url"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD gesamtpunkte smallint(6) DEFAULT NULL AFTER platz"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD begegnungspunkte smallint(6) DEFAULT NULL AFTER gesamtpunkte"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD siege smallint(6) DEFAULT NULL AFTER begegnungspunkte"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD unentschieden smallint(6) DEFAULT NULL AFTER siege"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD niederlagen smallint(6) DEFAULT NULL AFTER unentschieden"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD spielpunkte_gewonnen smallint(6) DEFAULT NULL AFTER niederlagen"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD spielpunkte_verloren smallint(6) DEFAULT NULL AFTER spielpunkte_gewonnen"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD spielpunkte_differenz smallint(6) DEFAULT NULL AFTER spielpunkte_verloren"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD spielpunkte_quotient float(8,2) DEFAULT NULL AFTER spielpunkte_differenz"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD punkte_gewonnen smallint(6) DEFAULT NULL AFTER spielpunkte_quotient"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD punkte_verloren smallint(6) DEFAULT NULL AFTER punkte_gewonnen"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD punkte_differenz smallint(6) DEFAULT NULL AFTER punkte_verloren"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD punkte_quotient float(8,2) DEFAULT NULL AFTER punkte_differenz"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '6'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $teamstatistik_aktualisieren = true; + } + + if ($datenbank_version < 7) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_veranstalter` (" + . "\n `berechtigt_fuer_veranstalter_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `berechtigt_user_id` int(11) NOT NULL DEFAULT '0'," + . "\n `berechtigt_veranstalter_id` int(11) NOT NULL DEFAULT '0'," + . "\n PRIMARY KEY (`berechtigt_fuer_veranstalter_id`)," + . "\n KEY `berechtigt_user_id` (`berechtigt_user_id`)," + . "\n KEY `berechtigt_veranstalter_id` (`berechtigt_veranstalter_id`)" + . "\n) ENGINE=MyISAM ;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '7'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 8) { + $query = "ALTER TABLE #__sportsmanager_moderator ADD zugriff smallint(6) DEFAULT 1 AFTER moderator_user_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '8'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 9) { + $query = "ALTER TABLE #__sportsmanager_rangliste ADD wertungskategorie tinyint(4) DEFAULT 0 AFTER streichergebnisse"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '9'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 10) { + $query = "ALTER TABLE #__sportsmanager_spieler ADD aktueller_verein_id int(11) DEFAULT NULL AFTER pseudonym"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '10'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $aktueller_verein_aktualisieren = true; + } + + if ($datenbank_version < 11) { + $query = "ALTER TABLE #__sportsmanager_spieler DROP ausgetreten"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '11'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 12) { + $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD status tinyint(4) NOT NULL DEFAULT 0 AFTER modus"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_teamspiel_modus" + . "\n SET status = '1'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste_system ADD status tinyint(4) NOT NULL DEFAULT 0 AFTER systembezeichnung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_rangliste_system" + . "\n SET status = '1'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '12'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 13) { + $query = "ALTER TABLE #__sportsmanager_spieler_import ADD spielernr_alt varchar(20) COLLATE latin1_german1_ci DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '13'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $aktueller_verein_aktualisieren = true; + } + + if ($datenbank_version < 14) { + $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD punkte_sieg tinyint(4) NOT NULL DEFAULT 0 AFTER punktetyp"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '14'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $aktueller_verein_aktualisieren = true; + } + + if ($datenbank_version < 15) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_saison` (" + . "\n `saison_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `saisonbezeichnung` varchar(30) COLLATE latin1_german1_ci DEFAULT NULL," + . "\n PRIMARY KEY (`saison_id`)" + . "\n) ENGINE=MyISAM ;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste ADD saison_id int(11) NOT NULL DEFAULT 0 AFTER rangliste_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste ADD KEY (saison_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_bestenliste ADD saison_id int(11) NOT NULL DEFAULT 0 AFTER bestenliste_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_bestenliste ADD KEY (saison_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turnier ADD saison_id int(11) NOT NULL DEFAULT 0 AFTER turnier_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turnier ADD KEY (saison_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD saison_id int(11) NOT NULL DEFAULT 0 AFTER veranstaltung_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD KEY (saison_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + +//// Saisons ergänzen + $query = "SELECT YEAR(erster_tag) AS jahr FROM #__sportsmanager_veranstaltung WHERE NOT ISNULL(erster_tag)" + . "\n UNION" + . "\n SELECT YEAR(erster_tag) AS jahr FROM #__sportsmanager_turnier WHERE NOT ISNULL(erster_tag)" + . "\n UNION" + . "\n SELECT YEAR(erster_tag) AS jahr FROM #__sportsmanager_rangliste WHERE NOT ISNULL(erster_tag)" + . "\n UNION" + . "\n SELECT YEAR(erster_tag) AS jahr FROM #__sportsmanager_bestenliste WHERE NOT ISNULL(erster_tag)" + . "\n GROUP BY jahr" + . "\n ORDER BY jahr"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $jahre = $db->loadObjectList(); + + if (count($jahre) > 0) { + foreach ($jahre as $jahr) { + $query = "INSERT #__sportsmanager_saison" + . "\n SET saisonbezeichnung = '$jahr->jahr'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + } else { + $query = "INSERT #__sportsmanager_saison" + . "\n SET saisonbezeichnung = 'Keine'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC LIMIT 1"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $saisons = $db->loadObjectList(); + + $aktuelle_saison_id = $saisons[0]->saison_id; +// Saisons den Veranstaltungen zuordnen + $query = "UPDATE #__sportsmanager_veranstaltung" + . "\n LEFT JOIN #__sportsmanager_saison ON YEAR(erster_tag) = saisonbezeichnung" + . "\n SET #__sportsmanager_veranstaltung.saison_id = COALESCE(#__sportsmanager_saison.saison_id, '$aktuelle_saison_id')"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_turnier" + . "\n LEFT JOIN #__sportsmanager_saison ON YEAR(erster_tag) = saisonbezeichnung" + . "\n SET #__sportsmanager_turnier.saison_id = COALESCE(#__sportsmanager_saison.saison_id, '$aktuelle_saison_id')"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_rangliste" + . "\n LEFT JOIN #__sportsmanager_saison ON YEAR(erster_tag) = saisonbezeichnung" + . "\n SET #__sportsmanager_rangliste.saison_id = COALESCE(#__sportsmanager_saison.saison_id, '$aktuelle_saison_id')"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_bestenliste" + . "\n LEFT JOIN #__sportsmanager_saison ON YEAR(erster_tag) = saisonbezeichnung" + . "\n SET #__sportsmanager_bestenliste.saison_id = COALESCE(#__sportsmanager_saison.saison_id, '$aktuelle_saison_id')"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '15'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 16) { + if (!Folder::create(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder', 0777)) + die(Text::_('COM_SPORTSMANAGER_CREATE_TEAM_MEMBERS_DIRECTORY_FAILED')); + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '16'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $aktueller_verein_aktualisieren = true; + } + + if ($datenbank_version < 17) { + $query = "ALTER TABLE #__sportsmanager_unbestaetigtes_ergebnis ADD zwischenergebnis bool default '0' AFTER vorschlagendes_team_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '17'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 18) { + $query = "ALTER TABLE #__sportsmanager_einstellungen CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_saison CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_begegnung CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_begegnung_verlegen CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_berechtigt_fuer_team CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_berechtigt_fuer_verein CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_berechtigt_fuer_veranstalter CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_kategorie CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_mitglied_von_team CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_mitglied_von_verein CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_moderator CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste_punkte CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste_system CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste_system_punkte CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste_turnierdisziplin CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_bestenliste CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_bestenliste_punkte CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_bestenliste_veranstaltung CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler_import CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_teamansprechpartner CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_teamspiel CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_teamspiel_modus CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turnier CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turnierdisziplin CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turniermeldung CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turniermeldung_spieler CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turniermeldung_spieler_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turnierspiel CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turniervoranmeldung CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_unbestaetigtes_ergebnis CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_veranstalter CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_veranstaltung CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_verein CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_vereinsansprechpartner CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '18'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 19) { + $query = "ALTER TABLE #__sportsmanager_verein ADD vereinssitz_ortsteil varchar(30) DEFAULT NULL AFTER vereinssitz"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_verein ADD url varchar(150) DEFAULT NULL AFTER vereinssitz_ortsteil"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_verein ADD beschreibung varchar(500) DEFAULT NULL AFTER url"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_spielort` (" + . "\n `spielort_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `name` varchar(40) DEFAULT NULL," + . "\n `strasse` varchar(30) DEFAULT NULL," + . "\n `plz` varchar(10) DEFAULT NULL," + . "\n `ortsname` varchar(30) DEFAULT NULL," + . "\n `ortsteil` varchar(30) DEFAULT NULL," + . "\n `url` varchar(150) DEFAULT NULL," + . "\n `beschreibung` varchar(500) DEFAULT NULL," + . "\n `status` tinyint(1) NOT NULL DEFAULT '0'," + . "\n PRIMARY KEY (`spielort_id`)" + . "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD heimspielort_id int(11) DEFAULT NULL AFTER heimspiel_uhrzeit"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD KEY (heimspielort_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '19'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $rangliste_aktualisieren = true; + } + + if ($datenbank_version < 20) { + $query = "INSERT #__sportsmanager_einstellungen" + . "\n SET name = 'ansprechpartner_ausblenden', wert = '0'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '20'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 21) { + $query = "ALTER TABLE #__sportsmanager_spieler ADD bild_ausblenden tinyint(1) DEFAULT '0' AFTER pseudonym"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_einstellungen" + . "\n SET name = 'ansprechpartner_spielerdaten', wert = '1'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '21'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 22) { + $query = "ALTER TABLE #__sportsmanager_turnierdisziplin ADD voranmeldungen_rangliste_id int(11) DEFAULT NULL AFTER voranmeldung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turnierdisziplin ADD voranmeldungen_reihenfolge tinyint(4) DEFAULT '0' AFTER voranmeldungen_rangliste_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turnierdisziplin ADD KEY (voranmeldungen_rangliste_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '22'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 23) { + $query = "SELECT #__sportsmanager_team.*" + . "\n FROM #__sportsmanager_team" + . "\n INNER JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)" + . "\n LEFT JOIN #__sportsmanager_saison USING (saison_id)" + . "\n ORDER BY heimspielort_name, heimspielort_anschrift"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $teams = $db->loadObjectList(); + + $heimspielort_name = ""; + $heimspielort_strasse = ""; + $heimspielort_plz = ""; + $heimspielort_ortsname = ""; + $spielort_id = 0; + foreach ($teams as $team) { + $name = $team->heimspielort_name; + $strasse = $team->heimspielort_anschrift; + if (empty($name) && empty($strasse)) + continue; + $plz_pos = false; + for ($i = 0; $i < strlen($strasse) - 5; $i++) { + if ($strasse[$i + 5] != " " || !ctype_digit(substr($strasse, $i, 5))) + continue; + $plz_pos = $i; + break; + } + if ($plz_pos === false) { + $plz = $ortsname = $beschreibung = ""; + } else { + $plz = substr($strasse, $plz_pos, 5); + $ortsname = trim(substr($strasse, $plz_pos + 6)); + $beschreibung_pos = strpos($ortsname, ","); + if ($beschreibung_pos === false) { + $beschreibung = ""; + } else { + $beschreibung = trim(substr($ortsname, $beschreibung_pos + 1)); + $ortsname = trim(substr($ortsname, 0, $beschreibung_pos)); + } + $strasse = trim(substr($strasse, 0, $plz_pos)); + $strasse_len = strlen($strasse); + if ($strasse_len > 0 && $strasse[$strasse_len - 1] == ",") + $strasse = trim(substr($strasse, 0, $strasse_len - 1)); + } + + if ($heimspielort_name != $name || $heimspielort_strasse != $strasse || $heimspielort_plz != $plz || $heimspielort_ortsname != $ortsname) { + $heimspielort_name = $name; + $heimspielort_strasse = $strasse; + $heimspielort_plz = $plz; + $heimspielort_ortsname = $ortsname; + $heimspielort_beschreibung = $beschreibung; + $heimspielort_url = $team->heimspielort_url; + $query = "INSERT INTO #__sportsmanager_spielort (name, strasse, plz, ortsname, ortsteil, url, beschreibung, status)" + . "\n VALUES ('" . $db->getEscaped($heimspielort_name) . "', '" . $db->getEscaped($heimspielort_strasse) . "', '" . $db->getEscaped($heimspielort_plz) . "', '" . $db->getEscaped($heimspielort_ortsname) . "', '', '" . $db->getEscaped($heimspielort_url) . "', '" . $db->getEscaped($heimspielort_beschreibung) . "', 1);"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $spielort_id = $db->insertid(); + } + $query = "UPDATE #__sportsmanager_team" + . "\n SET heimspielort_id = '$spielort_id'" + . "\n WHERE team_id = '$team->team_id'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + $query = "ALTER TABLE #__sportsmanager_team DROP heimspielort_name"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team DROP heimspielort_url"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team DROP heimspielort_anschrift"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team DROP heimspielort_anschrift_url"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_verein DROP heimspielort_name"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_verein DROP heimspielort_url"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_verein DROP heimspielort_anschrift"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_verein DROP heimspielort_anschrift_url"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '23'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 24) { + $query = "ALTER TABLE #__sportsmanager_begegnung ADD spielort_id int(11) DEFAULT NULL AFTER gast_team_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '24'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 25) { + $query = "ALTER TABLE #__sportsmanager_rangliste ADD system_wertung tinyint(4) DEFAULT '0' AFTER system_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste_turnierdisziplin ADD system_wertung tinyint(4) DEFAULT '0' AFTER system_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '25'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 26) { + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '26'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $rangliste_aktualisieren = true; + $spielerstatistik_aktualisieren = true; + } + + if ($datenbank_version < 27) { + $query = "ALTER TABLE #__sportsmanager_team ADD teamgruppe_id int(11) DEFAULT NULL AFTER team_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '27'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 28) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verteiler` (" + . "\n `verteiler_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `bezeichnung` TINYTEXT NOT NULL," + . "\n `verteiler` TEXT NOT NULL," + . "\n PRIMARY KEY (`verteiler_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '28'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 29) { + $query = "ALTER TABLE #__sportsmanager_team ADD KEY (teamgruppe_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_begegnung ADD KEY (spielort_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD verschieberegel_id int(11) DEFAULT NULL AFTER modus_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD KEY (verschieberegel_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verschieberegel` (" + . "\n `verschieberegel_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `bezeichnung` varchar(50) NOT NULL DEFAULT ''," + . "\n `initial_ohne_termin` tinyint(1) NOT NULL DEFAULT '0'," + . "\n `keine_gegenvorschlaege` tinyint(1) NOT NULL DEFAULT '0'," + . "\n `vorlaufzeit_tage` tinyint(4) NOT NULL DEFAULT '0'," + . "\n `termine_minimal` tinyint(4) NOT NULL DEFAULT '0'," + . "\n `termine_maximal` tinyint(4) NOT NULL DEFAULT '0'," + . "\n PRIMARY KEY (`verschieberegel_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT INTO #__sportsmanager_verschieberegel (bezeichnung, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage, termine_minimal, termine_maximal)" + . "\n VALUES ('Beliebig', '0', '0', '0', '1', '3');"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $verschieberegel_id = $db->insertid(); + + $query = "UPDATE #__sportsmanager_veranstaltung" + . "\n SET verschieberegel_id = $verschieberegel_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '29'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 30) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rechnung` (" + . "\n `rechnung_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `bezeichnung` TINYTEXT NOT NULL," + . "\n `notiz` TEXT NOT NULL," + . "\n `saison_id` int(11) NOT NULL DEFAULT '0'," + . "\n `verein_id` int(11) DEFAULT NULL," + . "\n `veranstalter_id` int(11) DEFAULT NULL," + . "\n PRIMARY KEY (`rechnung_id`)," + . "\n KEY `saison_id` (`saison_id`)," + . "\n KEY `verein_id` (`verein_id`)," + . "\n KEY `veranstalter_id` (`veranstalter_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rechnung_spieler` (" + . "\n `rechnung_spieler_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `rechnung_id` int(11) NOT NULL," + . "\n `spieler_id` int(11) NOT NULL," + . "\n PRIMARY KEY (`rechnung_spieler_id`)," + . "\n KEY `rechnung_id` (`rechnung_id`)," + . "\n KEY `spieler_id` (`spieler_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '30'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 31) { + $query = "RENAME TABLE #__sportsmanager_begegnung_verlegen TO #__sportsmanager_begegnung_historie;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_begegnung_historie CHANGE begegnung_verlegen_id begegnung_historie_id int(11) NOT NULL AUTO_INCREMENT"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '31'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 32) { + $query = "ALTER TABLE #__sportsmanager_verschieberegel ADD ablehnen tinyint(1) NOT NULL DEFAULT '0' AFTER termine_maximal"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '32'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 33) { + $query = "UPDATE #__sportsmanager_turnierspiel" + . "\n SET rundenstufe = '10'" + . "\n WHERE rundenstufe = '-1'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turniermeldung ADD rundenstufe tinyint(4) DEFAULT NULL AFTER turnierdisziplin_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_turniermeldung" + . "\n SET rundenstufe = '0'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "SELECT * FROM #__sportsmanager_turniervoranmeldung" + . "\n ORDER BY turnierdisziplin_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $rows = $db->loadObjectList(); + + foreach ($rows as $row) { + $query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, rundenstufe, platz)" + . "\n VALUES ('$row->turnierdisziplin_id', '20', NULL);"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $id = $db->insertid(); + + $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)" + . "\n VALUES ('$id', '$row->spieler_1_id');"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + if ($row->spieler_2_id != NULL) { + $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)" + . "\n VALUES ('$id', '$row->spieler_2_id');"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + } + + $query = "DROP TABLE #__sportsmanager_turniervoranmeldung;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '33'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 34) { + $query = "ALTER TABLE #__sportsmanager_turniermeldung ADD meldungsgruppe_id int(11) DEFAULT NULL AFTER turnierdisziplin_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turniermeldung ADD KEY (meldungsgruppe_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '34'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 35) { + $query = "ALTER TABLE #__sportsmanager_turnierspiel ADD ergebnis_detailliert tinytext DEFAULT NULL AFTER ergebnis"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '35'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 36) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_turnier_rundenstufe` (" + . "\n `turnier_rundenstufe_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `turnierdisziplin_id` int(11) NOT NULL DEFAULT '0'," + . "\n `rundenstufe` tinyint(4) DEFAULT NULL," + . "\n `bezeichnung` tinytext DEFAULT NULL," + . "\n `typ` tinyint(4) DEFAULT NULL," + . "\n `runden` tinyint(4) DEFAULT NULL," + . "\n `saetze` tinyint(4) DEFAULT NULL," + . "\n `tore` tinyint(4) DEFAULT NULL," + . "\n `tabellenwertung` tinyint(4) DEFAULT NULL," + . "\n `spielfelder` text DEFAULT NULL," + . "\n PRIMARY KEY (`turnier_rundenstufe_id`)," + . "\n KEY `turnierdisziplin_id` (`turnierdisziplin_id`)," + . "\n KEY `rundenstufe` (`rundenstufe`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '36'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 37) { + $query = "ALTER TABLE #__sportsmanager_spieler ADD INDEX (spielernr)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler DROP INDEX vorname"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler DROP INDEX nachname"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler ADD INDEX (nachname)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler ADD INDEX (vorname)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler_import ADD INDEX (spielernr)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '37'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 38) { + $query = "ALTER TABLE #__sportsmanager_rangliste_turnierdisziplin CHANGE wertung wertung float(4,2) DEFAULT '1'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '38'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 39) { + $query = "ALTER TABLE #__sportsmanager_team ADD pin varchar(20) DEFAULT NULL AFTER zusatzpunkte"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '39'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 40) { + $query = "SELECT * FROM #__sportsmanager_kategorie ORDER BY typ, nummer, kategorie_id DESC"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $rows = $db->loadObjectList(); + + $typ = -1; + $nummer = -1; + foreach ($rows as $row) { + if ($typ != $row->typ || $nummer != $row->nummer) { + $typ = $row->typ; + $nummer = $row->nummer; + continue; + } + $query = "DELETE FROM #__sportsmanager_kategorie WHERE kategorie_id = $row->kategorie_id;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '40'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 41) { + $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD spielpunkte_bedingung tinyint(4) NOT NULL DEFAULT '0' AFTER spielpunkte_wertung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '41'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 42) { + $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD spielernamen tinyint(4) NOT NULL DEFAULT '0' AFTER spielpunkte_bedingung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '42'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 43) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_einstufung` (" + . "\n `einstufung_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `bezeichnung` TINYTEXT NOT NULL," + . "\n `prioritaet` tinyint(4) DEFAULT NULL," + . "\n PRIMARY KEY (`einstufung_id`)," + . "\n KEY `prioritaet` (`prioritaet`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_einstufung_rangliste` (" + . "\n `einstufung_rangliste_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `einstufung_id` int(11) NOT NULL," + . "\n `rangliste_id` int(11) NOT NULL," + . "\n `platz_min` smallint(6) DEFAULT NULL," + . "\n `platz_max` smallint(6) DEFAULT NULL," + . "\n PRIMARY KEY (`einstufung_rangliste_id`)," + . "\n KEY `einstufung_id` (`einstufung_id`)," + . "\n KEY `rangliste_id` (`rangliste_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler ADD einstufung_id int(11) DEFAULT NULL AFTER bild_ausblenden"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '43'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 44) { + $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD heimtausch tinyint(4) NOT NULL DEFAULT '0' AFTER spielernamen"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '44'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 45) { + $query = "ALTER TABLE #__sportsmanager_einstufung ADD elo_min smallint(6) DEFAULT NULL AFTER prioritaet"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_einstufung ADD elo_max smallint(6) DEFAULT NULL AFTER elo_min"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '45'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 46) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_elo_cache` (" + . "\n `cache_datum` date NOT NULL," + . "\n `spieler_id` int(11) NOT NULL DEFAULT '0'," + . "\n `elo_einzel` smallint(6) DEFAULT NULL," + . "\n `elo_einzel_spiele` smallint(6) DEFAULT NULL," + . "\n `elo_doppel` smallint(6) DEFAULT NULL," + . "\n `elo_doppel_spiele` smallint(6) DEFAULT NULL," + . "\n PRIMARY KEY (`spieler_id`, `cache_datum`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '46'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $elo_aktualisieren = TRUE; + } + + if ($datenbank_version < 47) { + $query = "ALTER TABLE #__sportsmanager_spieler ADD erstmals_gespielt date AFTER lizenznr"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '47'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $wann_gespielt_aktualisieren = TRUE; + } + + if ($datenbank_version < 48) { + $query = "INSERT #__sportsmanager_einstellungen" + . "\n SET name = 'spielerliste_elo', wert = '1'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '48'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 49) { + $query = "ALTER TABLE #__sportsmanager_einstufung ADD typ smallint(4) DEFAULT NULL AFTER bezeichnung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstufung" + . "\n SET typ = '0'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler CHANGE einstufung_id einstufung_allgemein_id int(11) DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler ADD einstufung_einzel_id int(11) DEFAULT NULL AFTER einstufung_allgemein_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler ADD einstufung_doppel_id int(11) DEFAULT NULL AFTER einstufung_einzel_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '49'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 50) { + $query = "ALTER TABLE #__sportsmanager_rangliste_system ADD funktion TEXT DEFAULT NULL AFTER systembezeichnung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_rangliste_system" + . "\n SET systembezeichnung = 'Klostermann/Wahle (1 Punkt für Letzten)'," + . "\n status = '1'," +//. "\n funktion = 'MAX(ROUND(m * ROUND((((POW(n * 10, 0.7) - 1) * (-LOG(p / n) * (1 - (p / n)))) / (-LOG(1 / n) * (1 - (1 / n)))) + 1)), 1)'"; + . "\n funktion = 'VERTEILUNG(POW(n * 10, 0.7), p, n, m)'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $system_id = $db->insertid(); + + $query = "UPDATE #__sportsmanager_rangliste" + . "\n SET system_id = '$system_id'" + . "\n WHERE system_wertung = '3'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_rangliste_turnierdisziplin" + . "\n SET system_id = '$system_id'" + . "\n WHERE system_wertung = '3'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_rangliste_system" + . "\n SET systembezeichnung = 'Klostermann (1 Punkt ab Platz 129)'," + . "\n status = '1'," + . "\n funktion = 'MAX(ROUND(m * ROUND((((n / 100) * 0.5) + 0.7) * (100 + ((-20.45) * LN(p))))), 1)'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $system_id = $db->insertid(); + + $query = "UPDATE #__sportsmanager_rangliste" + . "\n SET system_id = '$system_id'" + . "\n WHERE system_wertung = '2'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_rangliste_turnierdisziplin" + . "\n SET system_id = '$system_id'" + . "\n WHERE system_wertung = '2'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_rangliste_system" + . "\n SET systembezeichnung = 'Klostermann (1 Punkt ab Platz 50)'," + . "\n status = '1'," + . "\n funktion = 'MAX(ROUND(m * ROUND((((n / 100) * 0.5) + 0.7) * (100 + ((-25.3) * LN(p))))), 1)'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $system_id = $db->insertid(); + + $query = "UPDATE #__sportsmanager_rangliste" + . "\n SET system_id = '$system_id'" + . "\n WHERE system_wertung = '1'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_rangliste_turnierdisziplin" + . "\n SET system_id = '$system_id'" + . "\n WHERE system_wertung = '1'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste DROP system_wertung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste_turnierdisziplin DROP system_wertung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '50'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $rangliste_aktualisieren = true; + } + + if ($datenbank_version < 51) { + $query = "ALTER TABLE #__sportsmanager_mitglied_von_verein ADD mitgliedsstatus tinyint(4) NOT NULL DEFAULT '0' AFTER verein_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_mitglied_von_verein" + . "\n SET mitgliedsstatus = IF(ausgetreten, 0, 1)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '51'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 52) { + $query = "ALTER TABLE #__sportsmanager_spieler_import ADD mitgliedsstatus tinyint(4) NOT NULL AFTER veranstalterbezeichnung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_spieler_import" + . "\n SET mitgliedsstatus = 1"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $query = "ALTER TABLE #__sportsmanager_spieler_import DROP ausgetreten"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '52'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 53) { + $query = "ALTER TABLE #__sportsmanager_rechnung ADD mitgliedsstatus tinyint(4) NOT NULL AFTER veranstalter_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_rechnung" + . "\n SET mitgliedsstatus = 1"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '53'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 54) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin` (" + . "\n `termin_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `termin_bezug_id` int(11) NOT NULL," + . "\n `erster_tag` date NOT NULL," + . "\n `letzter_tag` date NOT NULL," + . "\n `bezeichnung` text NOT NULL," + . "\n `beschreibung` text NOT NULL," + . "\n `ort` text NOT NULL," + . "\n `land` text NOT NULL," + . "\n `url` text NOT NULL," + . "\n `email` text NOT NULL," + . "\n `bestaetigt` tinyint(1) NOT NULL," + . "\n PRIMARY KEY (`termin_id`)," + . "\n KEY `termin_bezug_id` (`termin_bezug_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_aktion` (" + . "\n `termin_aktion_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `termin_id` int(11) NOT NULL," + . "\n `typ` tinyint(4) NOT NULL," + . "\n `kommentar` text NOT NULL," + . "\n `aktion_user_id` int(11) NOT NULL DEFAULT '0'," + . "\n `aktion_zeitpunkt` datetime NOT NULL," + . "\n `moderation_user_id` int(11) DEFAULT '0'," + . "\n `moderation_zeitpunkt` datetime," + . "\n `status` tinyint(4) NOT NULL," + . "\n PRIMARY KEY (`termin_aktion_id`)," + . "\n KEY `termin_id` (`termin_id`)," + . "\n KEY `typ` (`typ`)," + . "\n KEY `status` (`status`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_bezeichnung` (" + . "\n `termin_bezeichnung_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `bezeichnung` text NOT NULL," + . "\n PRIMARY KEY (`termin_bezeichnung_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_bundesland` (" + . "\n `termin_bundesland_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `bundesland` text NOT NULL," + . "\n PRIMARY KEY (`termin_bundesland_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_land` (" + . "\n `termin_land_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `land` text NOT NULL," + . "\n PRIMARY KEY (`termin_land_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_zusatz` (" + . "\n `termin_zusatz_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `termin_id` int(11) NOT NULL," + . "\n `zusatz` text NOT NULL," + . "\n PRIMARY KEY (`termin_zusatz_id`)," + . "\n KEY `termin_id` (`termin_id`)," + . "\n KEY `ix_length_zusatz` (`zusatz`(16))" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_bezeichnungszusatz` (" + . "\n `termin_bezeichnungszusatz_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `bezeichnungszusatz` text NOT NULL," + . "\n `titel` text NOT NULL," + . "\n PRIMARY KEY (`termin_bezeichnungszusatz_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = 'Challenger'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = 'Meeting'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = 'ITSF Master'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = 'ITSF Pro'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = 'ITSF WCS'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = 'Bundesliga'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = '2. Bundesliga'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = 'Frauen-Bundesliga'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = '2. Frauen-Bundesliga'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = 'Junioren-Bundesliga'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = '2. Junioren-Bundesliga'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = 'Senioren-Bundesliga'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = '2. Senioren-Bundesliga'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = 'Sonstiges'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnung" + . "\n SET bezeichnung = 'Deutsche Meisterschaft'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" + . "\n SET bezeichnungszusatz = 'OD'," + . "\n titel = 'Offenes Doppel'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" + . "\n SET bezeichnungszusatz = 'OE'," + . "\n titel = 'Offenes Einzel'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" + . "\n SET bezeichnungszusatz = 'HD'," + . "\n titel = 'Herren Doppel'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" + . "\n SET bezeichnungszusatz = 'HE'," + . "\n titel = 'Herren Einzel'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" + . "\n SET bezeichnungszusatz = 'DD'," + . "\n titel = 'Damen Doppel'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" + . "\n SET bezeichnungszusatz = 'DE'," + . "\n titel = 'Damen Einzel'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" + . "\n SET bezeichnungszusatz = 'JD'," + . "\n titel = 'Junioren Doppel'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" + . "\n SET bezeichnungszusatz = 'JE'," + . "\n titel = 'Junioren Einzel'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" + . "\n SET bezeichnungszusatz = 'SD'," + . "\n titel = 'Senioren Doppel'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz" + . "\n SET bezeichnungszusatz = 'SE'," + . "\n titel = 'Senioren Einzel'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Baden-Württemberg'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Bayern'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Berlin'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Bremen'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Hamburg'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Hessen'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Niedersachsen'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Nordrhein-Westfalen'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Rheinland-Pfalz'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Saarland'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Sachsen'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Sachsen-Anhalt'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Schleswig-Holstein'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Schweiz'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "INSERT #__sportsmanager_termin_bundesland" + . "\n SET bundesland = 'Thüringen'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '54'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 55) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_moderator_zugriff` (" + . "\n `moderator_zugriff_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `moderator_id` int(11) NOT NULL," + . "\n `zugriff` varchar(64) NOT NULL," + . "\n `zusatz` text," + . "\n PRIMARY KEY (`moderator_zugriff_id`)," + . "\n KEY `moderator_id` (`moderator_id`)," + . "\n KEY `zugriff` (`zugriff`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "SELECT * FROM #__sportsmanager_moderator"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $rows = $db->loadObjectList(); + + foreach ($rows as $row) { + $moderator_id = $row->moderator_id; + $moderator_zugriff = $row->zugriff; + $zugriffe_admin = array( + "moderatoren_aendern", + "basiseinstellungen_aendern", + "kategorien_aendern", + "organisationen_aendern", + "saisons_aendern", + "spieler_aendern", + "spieler_lesen_erweiterte_daten", + "termine_aendern", + "termine_benachrichtigung" + ); + $zugriffe_vereine = array( + "vereine_aendern" + ); + $zugriffe_wettbewerbe = array( + "mannschaftsspielplaene_aendern", + "verschieberegeln_aendern", + "spielorte_aendern", + "einstufungen_aendern", + "mannschaftswettbewerb_aendern", + "spielerstatistiken_aendern", + "turniere_aendern", + "ranglistenwertungen_aendern", + "ranglisten_aendern", + ); + $zugriffe_verteiler = array( + "verteiler_aendern" + ); + $zugriffe_mitgliederrechnungen = array( + "rechnungen_aendern" + ); + $zugriffe_sonstige = array( + "verteiler_lesen" + ); + + if ($moderator_zugriff == 1) + $zugriffe = array_merge($zugriffe_admin, $zugriffe_vereine, $zugriffe_wettbewerbe, $zugriffe_verteiler, $zugriffe_mitgliederrechnungen, $zugriffe_sonstige); + else if ($moderator_zugriff == 2) + $zugriffe = array_merge($zugriffe_vereine, $zugriffe_wettbewerbe, $zugriffe_verteiler, $zugriffe_mitgliederrechnungen, $zugriffe_sonstige); + else if ($moderator_zugriff == 3) + $zugriffe = array_merge($zugriffe_wettbewerbe, $zugriffe_verteiler, $zugriffe_mitgliederrechnungen, $zugriffe_sonstige); + else if ($moderator_zugriff == 4) + $zugriffe = array_merge($zugriffe_verteiler, $zugriffe_sonstige); + else if ($moderator_zugriff == 5) + $zugriffe = array_merge($zugriffe_verteiler, $zugriffe_mitgliederrechnungen, $zugriffe_sonstige); + else if ($moderator_zugriff == 6) + $zugriffe = array_merge($zugriffe_mitgliederrechnungen, $zugriffe_sonstige); + else + $zugriffe = $zugriffe_sonstige; + + foreach ($zugriffe as $zugriff) { + $query = "INSERT #__sportsmanager_moderator_zugriff" + . "\n SET moderator_id = '$moderator_id'," + . "\n zugriff = '$zugriff'," + . "\n zusatz = ''"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '55'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 56) { + $query = "ALTER TABLE #__sportsmanager_moderator DROP zugriff"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '56'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 57) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_turnier` (" + . "\n `berechtigt_fuer_turnier_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `berechtigt_user_id` int(11) NOT NULL DEFAULT '0'," + . "\n `berechtigt_turnier_id` int(11) NOT NULL DEFAULT '0'," + . "\n PRIMARY KEY (`berechtigt_fuer_turnier_id`)," + . "\n KEY `berechtigt_user_id` (`berechtigt_user_id`)," + . "\n KEY `berechtigt_turnier_id` (`berechtigt_turnier_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_veranstaltung` (" + . "\n `berechtigt_fuer_veranstaltung_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `berechtigt_user_id` int(11) NOT NULL DEFAULT '0'," + . "\n `berechtigt_veranstaltung_id` int(11) NOT NULL DEFAULT '0'," + . "\n PRIMARY KEY (`berechtigt_fuer_veranstaltung_id`)," + . "\n KEY `berechtigt_user_id` (`berechtigt_user_id`)," + . "\n KEY `berechtigt_veranstaltung_id` (`berechtigt_veranstaltung_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '57'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 58) { + $query = "ALTER TABLE #__sportsmanager_spieler CHANGE email email varchar(64) DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler_import CHANGE email email varchar(64) DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_teamansprechpartner CHANGE email email varchar(64) DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_vereinsansprechpartner CHANGE email email varchar(64) DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '58'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 59) { + $query = "ALTER TABLE #__sportsmanager_einstellungen CHANGE name name char(64) NOT NULL DEFAULT ''"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '59'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 60) { + if (!Folder::create(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine', 0777)) + die(Text::_('COM_SPORTSMANAGER_CREATE_DATES_FAILED')); + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '60'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 61) { + $query = "ALTER TABLE #__sportsmanager_termin_aktion DROP kommentar"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_termin_aktion ADD aktion_kommentar text NOT NULL AFTER aktion_zeitpunkt"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_termin_aktion ADD moderation_kommentar text NOT NULL AFTER moderation_zeitpunkt"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '61'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 62) { + $pfad = JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine' . DIRECTORY_SEPARATOR . '.htaccess'; + $inhalt = "# Dokumente der Terminverwaltung\n" + . "Deny from all\n"; + if (file_put_contents($pfad, $inhalt) === FALSE) + die(Text::_('COM_SPORTSMANAGER_FILE_FAILED')); + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '62'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 63) { +// Fix für ausgebliebene Aktualisierung des Ausgetretenwertes beim manuellen Ändern des Mitgliedsstatus + $query = "UPDATE #__sportsmanager_mitglied_von_verein" + . "\n SET ausgetreten = IF(mitgliedsstatus = 0, TRUE, FALSE)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '63'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 64) { + $query = "ALTER TABLE #__sportsmanager_termin ADD ergebnisse_url text NOT NULL AFTER email"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '64'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 65) { + $query = "ALTER TABLE #__sportsmanager_spieler DROP elo_wertung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '65'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 66) { + $query = "ALTER TABLE #__sportsmanager_termin ADD ergebnisse_live bool default '0' AFTER ergebnisse_url"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '66'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 67) { + $query = "ALTER TABLE #__sportsmanager_turnierdisziplin ADD kuerzel varchar(20) DEFAULT NULL AFTER disziplin"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '67'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 68) { + $query = "ALTER TABLE #__sportsmanager_turnier ADD kategorie tinyint(4) DEFAULT '1' AFTER letzter_tag"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_turnierdisziplin" + . "\n INNER JOIN #__sportsmanager_turnier" + . "\n SET #__sportsmanager_turnier.kategorie = #__sportsmanager_turnierdisziplin.kategorie"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_turnierdisziplin DROP kategorie"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '68'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 69) { + $query = "ALTER TABLE #__sportsmanager_teamspiel ADD ergebnis_detailliert tinytext DEFAULT NULL AFTER teamspiel_gast_spielpunkte"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '69'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 70) { + $query = "ALTER TABLE #__sportsmanager_turnier CHANGE turnierbezeichnung turnierbezeichnung varchar(64) DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '70'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 71) { + $query = "ALTER TABLE #__sportsmanager_rangliste ADD doppel_teilwertung float(4,2) DEFAULT '1' AFTER wertungskategorie"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '71'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 72) { + $query = "ALTER TABLE #__sportsmanager_rangliste DROP doppel_teilwertung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste_turnierdisziplin ADD doppel_teilwertung float(4,2) DEFAULT '1' AFTER wertung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '72'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 73) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_individualwettbewerb` (" + . "\n `individualwettbewerb_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `saison_id` int(11) NOT NULL DEFAULT '0'," + . "\n `veranstalter_id` int(11) NOT NULL DEFAULT '0'," + . "\n `bezeichnung` varchar(50) DEFAULT NULL," + . "\n `saetze` tinyint(4) DEFAULT NULL," + . "\n `tore` tinyint(4) DEFAULT NULL," + . "\n `tabellenwertung` tinyint(4) NOT NULL DEFAULT '0'," + . "\n `elo_wertung` tinyint(4) DEFAULT NULL," + . "\n `status` tinyint(4) NOT NULL DEFAULT '0'," + . "\n `reihenfolge` tinyint(4) DEFAULT '1'," + . "\n `kategorie` tinyint(4) DEFAULT '1'," + . "\n PRIMARY KEY (`individualwettbewerb_id`)," + . "\n KEY `saison_id` (`saison_id`)," + . "\n KEY `veranstalter_id` (`veranstalter_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_individualwettbewerb_spiel` (" + . "\n `individualwettbewerb_spiel_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `individualwettbewerb_id` int(11) NOT NULL DEFAULT '0'," + . "\n `zeitpunkt` datetime DEFAULT NULL," + . "\n `heim_spieler_1_id` int(11) NOT NULL DEFAULT '0'," + . "\n `heim_spieler_2_id` int(11) DEFAULT NULL," + . "\n `gast_spieler_1_id` int(11) NOT NULL DEFAULT '0'," + . "\n `gast_spieler_2_id` int(11) DEFAULT NULL," + . "\n `ergebnis` tinyint(4) DEFAULT NULL," + . "\n `ergebnis_detailliert` tinytext DEFAULT NULL," + . "\n PRIMARY KEY (`individualwettbewerb_spiel_id`)," + . "\n KEY `individualwettbewerb_id` (`individualwettbewerb_id`)," + . "\n KEY `zeitpunkt` (`zeitpunkt`)," + . "\n KEY `heim_spieler_1_id` (`heim_spieler_1_id`)," + . "\n KEY `heim_spieler_2_id` (`heim_spieler_2_id`)," + . "\n KEY `gast_spieler_1_id` (`gast_spieler_1_id`)," + . "\n KEY `gast_spieler_2_id` (`gast_spieler_2_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '73'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 74) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_individualwettbewerb` (" + . "\n `berechtigt_fuer_individualwettbewerb_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `berechtigt_user_id` int(11) NOT NULL DEFAULT '0'," + . "\n `berechtigt_individualwettbewerb_id` int(11) NOT NULL DEFAULT '0'," + . "\n PRIMARY KEY (`berechtigt_fuer_individualwettbewerb_id`)," + . "\n KEY `berechtigt_user_id` (`berechtigt_user_id`)," + . "\n KEY `berechtigt_individualwettbewerb_id` (`berechtigt_individualwettbewerb_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '74'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 75) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_individualwettbewerb_platzierung` (" + . "\n `individualwettbewerb_platzierung_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `individualwettbewerb_id` int(11) NOT NULL DEFAULT '0'," + . "\n `spieler_id` int(11) NOT NULL DEFAULT '0'," + . "\n `platz` smallint(6) DEFAULT NULL," + . "\n PRIMARY KEY (`individualwettbewerb_platzierung_id`)," + . "\n KEY `individualwettbewerb_id` (`individualwettbewerb_id`)," + . "\n KEY `platz` (`platz`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '75'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 76) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_individualwettbewerb_ausgangsplatzierung` (" + . "\n `individualwettbewerb_ausgangsplatzierung_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `individualwettbewerb_id` int(11) NOT NULL DEFAULT '0'," + . "\n `spieler_id` int(11) NOT NULL DEFAULT '0'," + . "\n `platz` smallint(6) DEFAULT NULL," + . "\n PRIMARY KEY (`individualwettbewerb_ausgangsplatzierung_id`)," + . "\n KEY `individualwettbewerb_id` (`individualwettbewerb_id`)," + . "\n KEY `platz` (`platz`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '76'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 77) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_bestenliste_individualwettbewerb` (" + . "\n `bestenliste_individualwettbewerb_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `bestenliste_id` int(11) NOT NULL DEFAULT '0'," + . "\n `individualwettbewerb_id` int(11) NOT NULL DEFAULT '0'," + . "\n PRIMARY KEY (`bestenliste_individualwettbewerb_id`)," + . "\n KEY `bestenliste_id` (`bestenliste_id`)," + . "\n KEY `individualwettbewerb_id` (`individualwettbewerb_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_bestenliste_punkte ADD spieler_2_id int(11) DEFAULT NULL AFTER spieler_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_bestenliste_punkte ADD KEY (spieler_2_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_bestenliste_punkte ADD saetze_gewonnen smallint(6) DEFAULT NULL AFTER spielpunkte_verloren"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_bestenliste_punkte ADD saetze_unentschieden smallint(6) DEFAULT NULL AFTER saetze_gewonnen"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_bestenliste_punkte ADD saetze_verloren smallint(6) DEFAULT NULL AFTER saetze_unentschieden"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '77'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 78) { + $query = "ALTER TABLE #__sportsmanager_teamspiel_modus CHANGE punkte_sieg punkte_sieg_einzel tinyint(4) NOT NULL DEFAULT '0'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD punkte_sieg_doppel tinyint(4) NOT NULL DEFAULT '0' AFTER punkte_sieg_einzel"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_teamspiel_modus CHANGE spielpunkte_wertung spielpunkte_wertung_einzel tinyint(4) NOT NULL DEFAULT '0'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_teamspiel_modus ADD spielpunkte_wertung_doppel tinyint(4) NOT NULL DEFAULT '0' AFTER spielpunkte_wertung_einzel"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_teamspiel_modus" + . "\n SET punkte_sieg_doppel = punkte_sieg_einzel," + . "\n spielpunkte_wertung_doppel = spielpunkte_wertung_einzel;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '78'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $teamstatistik_aktualisieren = true; + } + + if ($datenbank_version < 79) { + $query = "ALTER TABLE #__sportsmanager_termin_aktion ADD benachrichtigung_email text NOT NULL AFTER typ"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_termin_aktion" + . "\n SET benachrichtigung_email = '';"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '79'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $termin_aktionen_email_setzen = true; + } + + if ($datenbank_version < 80) { + if (!Folder::create(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftswettbewerbe', 0777)) + die(Text::_('COM_SPORTSMANAGER_CREATE_TEAM_COMPETITION_FAILED')); + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '80'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 81) { + $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD logo_url tinytext DEFAULT NULL AFTER elo_wertung"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '81'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 82) { + $query = "ALTER TABLE #__sportsmanager_team CHANGE zusatzpunkte zusatzpunkte float(6,2) DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team CHANGE gesamtpunkte gesamtpunkte float(6,2) DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '82'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 83) { + $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD ticker_logo_url tinytext DEFAULT NULL AFTER logo_url"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '83'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 84) { + $query = "ALTER TABLE #__sportsmanager_spieler ADD elo_einzel_startwert smallint(6) DEFAULT NULL AFTER aktueller_verein_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler ADD elo_doppel_startwert smallint(6) DEFAULT NULL AFTER elo_einzel_spiele"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '84'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 85) { + $query = "ALTER TABLE #__sportsmanager_team CHANGE tischtyp tischtyp varchar(100) DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '85'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 86) { + $query = "ALTER TABLE #__sportsmanager_team ADD buchholz1 smallint(6) DEFAULT NULL AFTER punkte_quotient"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD buchholz2 smallint(6) DEFAULT NULL AFTER buchholz1"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '86'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 87) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_symbolanzeige` (" + . "\n `termin_symbolanzeige_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `termin_symbol_id` int(11) NOT NULL," + . "\n `termin_id` int(11) NOT NULL," + . "\n PRIMARY KEY (`termin_symbolanzeige_id`)," + . "\n KEY `termin_symbol_id` (`termin_symbol_id`)," + . "\n KEY `termin_id` (`termin_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_symbol` (" + . "\n `termin_symbol_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `symboltitel` text NOT NULL," + . "\n `status` tinyint(1) NOT NULL DEFAULT '0'," + . "\n PRIMARY KEY (`termin_symbol_id`)," + . "\n KEY `status` (`status`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + if (!Folder::create(JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'terminsymbole', 0777)) + die(Text::_('COM_SPORTSMANAGER_CREATE_DATES_SYMBOLS_FAILED')); + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '87'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 88) { + $query = "ALTER TABLE #__sportsmanager_turniermeldung ADD KEY turnierdisziplin_rundenstufe_platz (turnierdisziplin_id, rundenstufe, platz)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste_punkte ADD KEY rangliste_platz (rangliste_id, platz)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '88'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 89) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rangliste_turnierdisziplin_punkte` (" + . "\n `rangliste_id` int(11) NOT NULL," + . "\n `spieler_id` int(11) NOT NULL," + . "\n `turnierdisziplin_id` int(11) NOT NULL," + . "\n `punkte` smallint(6) DEFAULT NULL," + . "\n PRIMARY KEY (`rangliste_id`, `spieler_id`, `turnierdisziplin_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste_punkte DROP PRIMARY KEY, DROP rangliste_punkte_id, DROP KEY rangliste_id, DROP KEY spieler_id, ADD PRIMARY KEY(rangliste_id, spieler_id)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '89'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $rangliste_aktualisieren = true; + } + + if ($datenbank_version < 90) { + $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechnung` (" + . "\n `berechnung_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `session_id` varchar(200) NOT NULL," + . "\n `typ` char(64) NOT NULL DEFAULT ''," + . "\n `parameter` char(255) DEFAULT NULL," + . "\n `id` int(11) DEFAULT NULL," + . "\n PRIMARY KEY (`berechnung_id`)," + . "\n KEY `session_id` (`session_id`)," + . "\n KEY `typ` (`typ`)," + . "\n KEY `id` (`typ`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '90'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 91) { + $query = "ALTER TABLE #__sportsmanager_berechnung CHANGE session_id session_id datetime DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler_import CHANGE session_id session_id datetime DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '91'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 92) { + $query = "ALTER TABLE #__sportsmanager_rangliste_turnierdisziplin_punkte ADD platz smallint(6) DEFAULT NULL AFTER turnierdisziplin_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '92'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $rangliste_aktualisieren = true; + } + + if ($datenbank_version < 93) { + if (!bildKopierenAngepasst(JPATH_ROOT . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_sportsmanager' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'spieler-m.png', JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'spieler' . DIRECTORY_SEPARATOR . 'm.png', 180, 240, 1)) + die('Das Bild konnte nicht an die Zielposition kopiert werden.'); + + if (!bildKopierenAngepasst(JPATH_ROOT . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_sportsmanager' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'spieler-w.png', JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'spieler' . DIRECTORY_SEPARATOR . 'w.png', 180, 240, 1)) + die('Das Bild konnte nicht an die Zielposition kopiert werden.'); + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '93'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 94) { + $query = "ALTER TABLE #__sportsmanager_team CHANGE tischtyp tischtyp varchar(200) DEFAULT NULL"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '94'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 95) { + $query = "ALTER TABLE #__sportsmanager_rechnung ADD wertungskategorie tinyint(4) NOT NULL AFTER mitgliedsstatus"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_rechnung" + . "\n SET wertungskategorie = 15"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '95'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 96) { + $query = "UPDATE #__sportsmanager_teamspiel" + . "\n SET ergebnis_detailliert = IF((ISNULL(teamspiel_heim_punkte) OR (teamspiel_heim_punkte = 0)) AND (ISNULL(teamspiel_gast_punkte) OR (teamspiel_gast_punkte = 0)), null, CONCAT_WS(':', teamspiel_heim_punkte, teamspiel_gast_punkte))"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '96'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 97) { + $query = "ALTER TABLE #__sportsmanager_rangliste ADD geschlecht tinyint(4) DEFAULT NULL AFTER wertungskategorie"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste ADD minalter tinyint(4) DEFAULT NULL AFTER geschlecht"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste ADD maxalter tinyint(4) DEFAULT NULL AFTER minalter"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_rangliste" + . "\n SET geschlecht = IF(wertungskategorie = 1 OR wertungskategorie = 5, 1, IF(wertungskategorie = 2 OR wertungskategorie = 6, 2, null))"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_rangliste" + . "\n SET minalter = IF(wertungskategorie = 1 OR wertungskategorie = 2, 18, IF(wertungskategorie = 4, 50, null))"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_rangliste" + . "\n SET maxalter = IF(wertungskategorie = 1 OR wertungskategorie = 2, 49, IF(wertungskategorie = 3, 17, null))"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_rangliste DROP wertungskategorie"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '97'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 98) { + $query = "ALTER TABLE #__sportsmanager_begegnung ADD tisch tinytext DEFAULT NULL AFTER spielort_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '98'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 99) { + $query = "ALTER TABLE #__sportsmanager_rangliste ADD ohnealter bool DEFAULT '0' AFTER maxalter"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_rangliste" + . "\n SET ohnealter = '1'" + . "\n WHERE ISNULL(minalter) AND ISNULL(maxalter)"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '99'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 100) { + $query = "ALTER TABLE #__sportsmanager_team ADD tischeigenschaften varchar(200) DEFAULT NULL AFTER tischtyp"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '100'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + if ($datenbank_version < 101) { + $query = "ALTER TABLE #__sportsmanager_begegnung ADD nichtraucherschutz tinyint(4) DEFAULT '0' AFTER gast_spielpunkte"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_team ADD nichtraucherschutz tinyint(4) DEFAULT '0' AFTER heimspielort_id"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '101'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + + if ($datenbank_version < 102) { + $query = "ALTER TABLE #__sportsmanager_rangliste ADD lizenzen varchar(30) DEFAULT NULL AFTER streichergebnisse"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "ALTER TABLE #__sportsmanager_spieler ADD lizenz varchar(30) DEFAULT NULL AFTER lizenznr"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '102'" + . "\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"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $rows = $db->loadObjectList(); + + foreach ($rows as $row) { + $container = Factory::getContainer(); + $aktion_user = $container->get(UserFactory::class)->loadUserById($row->aktion_user_id); + + if (empty($aktion_user->id) || empty($aktion_user->email)) + continue; + $query = "UPDATE #__sportsmanager_termin_aktion" + . "\n SET benachrichtigung_email = '" . $db->getEscaped($aktion_user->email) . "'" + . "\n WHERE termin_aktion_id = " . $row->termin_aktion_id . ";"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + } + + if ($wann_gespielt_aktualisieren) + wannGespieltAktualisieren(); + + if ($teamstatistik_aktualisieren) + teamstatistikAktualisieren(); + + if ($aktueller_verein_aktualisieren) + aktuellerVereinAktualisieren(); + + if ($spielerstatistik_aktualisieren) + spielerstatistikAktualisieren(); + + if ($elo_aktualisieren) + eloAktualisieren(); + + if ($rangliste_aktualisieren) + ranglisteAktualisieren(); + + if (!redirectSessionIdEmpty()) { +// Neu laden, um etwaige offene Berechnungen auszuführen und genügend Rechenzeit für eigentlichen Seitenaufruf zu haben +// Dass Posts verloren gehen, ist unwahrscheinlich, aber wird akzeptiert // TODO: Session-Id in URL ergänzen + redirectCurrentURL(); + jexit(); + } +}