diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php
index 9dd6e8d..08ff990 100644
--- a/src/structure/components/com_sportsmanager/admin.php
+++ b/src/structure/components/com_sportsmanager/admin.php
@@ -4,3347 +4,3248 @@
*/
// kein direkter Zugriff
+use JetBrains\PhpStorm\NoReturn;
+use Joomla\Archive\Zip;
+use Joomla\CMS\Application\SiteApplication;
+use Joomla\CMS\Factory;
+use Joomla\CMS\Log\Log;
+use Joomla\CMS\Mail\Mail;
+use Joomla\CMS\User\User;
+use Joomla\Filesystem\File;
+use Joomla\CMS\Language\Text;
+use Joomla\Filesystem\Folder;
+
defined('_JEXEC') or die('Restricted access');
+require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
+require_once JPATH_SITE . '/components/com_sportsmanager/database/init.php';
-function adminUebersicht() {
- $db = getDatabase();
- global $params;
- global $content;
- $jinput = JFactory::getApplication()->input;
+function adminUebersicht(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerModerator() && !benutzerVeranstaltungModerator() && !benutzerTurnierModerator() && !benutzerIndividualwettbewerbModerator())
- keinZugriff(true);
+ if (!benutzerModerator() && !benutzerVeranstaltungModerator() && !benutzerTurnierModerator() && !benutzerIndividualwettbewerbModerator())
+ keinZugriff(true);
- $unabhaengige_ansicht = empty($content) || $content == "administration";
+ $filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
+ if ($filter_saison_id == 0)
+ $filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
- $filter_saison_id = $jinput->get('filter_saison_id', 0, 'INT');
- if ($filter_saison_id == 0)
- $filter_saison_id = $jinput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
+ $query = "SELECT saison_id, saisonbezeichnung"
+ . "\n FROM #__sportsmanager_saison"
+ . "\n ORDER BY saisonbezeichnung DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $saisons = $db->loadObjectList();
- $query = "SELECT saison_id, saisonbezeichnung"
- . "\n FROM #__sportsmanager_saison"
- . "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ if (count($saisons) != 0) {
+ $gefunden = false;
+ foreach ($saisons as $saison) {
+ if ($saison->saison_id == $filter_saison_id) {
+ $gefunden = true;
+ break;
+ }
+ }
+ if (!$gefunden)
+ $filter_saison_id = $saisons[0]->saison_id;
+ }
- if (count($saisons) != 0) {
- $gefunden = false;
- foreach ($saisons as $saison) {
- if ($saison->saison_id == $filter_saison_id) {
- $gefunden = true;
- break;
- }
- }
- if (!$gefunden)
- $filter_saison_id = $saisons[0]->saison_id;
- }
+ $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
+ if ($beschraenkter_zugriff_veranstaltungen) {
+ $query = "SELECT t1.*, t2.veranstalterbezeichnung, t2.veranstalterkuerzel,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_team AS tt1 WHERE tt1.veranstaltung_id = t1.veranstaltung_id) AS teams,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_team AS tt2 ON tt1.heim_team_id = tt2.team_id WHERE tt2.veranstaltung_id = t1.veranstaltung_id) AS begegnungen"
+ . "\n FROM #__sportsmanager_veranstaltung AS t1"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter AS t2 ON t1.veranstalter_id = t2.veranstalter_id"
+ . "\n WHERE " . veranstaltungFilter("t1.veranstaltung_id IN")
+ . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
+ . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, t1.bezeichnung, t1.kategorie";
+ } else {
+ $query = "SELECT t1.*, t2.veranstalterbezeichnung, t2.veranstalterkuerzel,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_team AS tt1 WHERE tt1.veranstaltung_id = t1.veranstaltung_id) AS teams,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_team AS tt2 ON tt1.heim_team_id = tt2.team_id WHERE tt2.veranstaltung_id = t1.veranstaltung_id) AS begegnungen"
+ . "\n FROM #__sportsmanager_veranstaltung AS t1"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter AS t2 ON t1.veranstalter_id = t2.veranstalter_id"
+ . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
+ . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, t1.bezeichnung, t1.kategorie";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstaltungen = $db->loadObjectList();
- $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
- if ($beschraenkter_zugriff_veranstaltungen) {
- $query = "SELECT t1.*, t2.veranstalterbezeichnung, t2.veranstalterkuerzel,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_team AS tt1 WHERE tt1.veranstaltung_id = t1.veranstaltung_id) AS teams,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_team AS tt2 ON tt1.heim_team_id = tt2.team_id WHERE tt2.veranstaltung_id = t1.veranstaltung_id) AS begegnungen"
- . "\n FROM #__sportsmanager_veranstaltung AS t1"
- . "\n LEFT JOIN #__sportsmanager_veranstalter AS t2 ON t1.veranstalter_id = t2.veranstalter_id"
- . "\n WHERE " . veranstaltungFilter("t1.veranstaltung_id IN")
- . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
- . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, t1.bezeichnung, t1.kategorie";
- }
- else {
- $query = "SELECT t1.*, t2.veranstalterbezeichnung, t2.veranstalterkuerzel,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_team AS tt1 WHERE tt1.veranstaltung_id = t1.veranstaltung_id) AS teams,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_team AS tt2 ON tt1.heim_team_id = tt2.team_id WHERE tt2.veranstaltung_id = t1.veranstaltung_id) AS begegnungen"
- . "\n FROM #__sportsmanager_veranstaltung AS t1"
- . "\n LEFT JOIN #__sportsmanager_veranstalter AS t2 ON t1.veranstalter_id = t2.veranstalter_id"
- . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
- . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, t1.bezeichnung, t1.kategorie";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
+ $query = "SELECT *,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_bestenliste_veranstaltung AS t2 WHERE t1.bestenliste_id = t2.bestenliste_id) + (SELECT COUNT(*) FROM #__sportsmanager_bestenliste_individualwettbewerb AS t2 WHERE t1.bestenliste_id = t2.bestenliste_id) AS veranstaltungen"
+ . "\n FROM #__sportsmanager_bestenliste AS t1"
+ . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
+ . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, t1.bezeichnung, t1.kategorie";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spielerstatistiken = $db->loadObjectList();
- $query = "SELECT *,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_bestenliste_veranstaltung AS t2 WHERE t1.bestenliste_id = t2.bestenliste_id) + (SELECT COUNT(*) FROM #__sportsmanager_bestenliste_individualwettbewerb AS t2 WHERE t1.bestenliste_id = t2.bestenliste_id) AS veranstaltungen"
- . "\n FROM #__sportsmanager_bestenliste AS t1"
- . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
- . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, t1.bezeichnung, t1.kategorie";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spielerstatistiken = $db->loadObjectList();
+ $beschraenkter_zugriff_turniere = benutzerZugriff("turniere_aendern") ? 0 : 1;
+ if ($beschraenkter_zugriff_turniere) {
+ $query = "SELECT #__sportsmanager_turnier.*, veranstalterbezeichnung, veranstalterkuerzel, GROUP_CONCAT(disziplintitel ORDER BY disziplintitel SEPARATOR ', ') AS disziplinen, COUNT(turnierdisziplin_id) AS disziplinen_anzahl, COALESCE(SUM(meldung_vorhanden), 0) AS disziplinen_mit_meldung_anzahl"
+ . "\n FROM #__sportsmanager_turnier"
+ . "\n LEFT JOIN (SELECT turnier_id, turnierdisziplin_id, status, IF(COALESCE(kuerzel, '') <> '', kuerzel, disziplin) AS disziplintitel, IF(EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id), 1, 0) AS meldung_vorhanden FROM #__sportsmanager_turnierdisziplin) AS turnierdisziplin USING (turnier_id)"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . "\n WHERE " . turnierFilter("#__sportsmanager_turnier.turnier_id IN")
+ . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
+ . "\n GROUP BY turnier_id"
+ . "\n ORDER BY erster_tag DESC, turnierbezeichnung";
+ } else {
+ $query = "SELECT #__sportsmanager_turnier.*, veranstalterbezeichnung, veranstalterkuerzel, GROUP_CONCAT(disziplintitel ORDER BY disziplintitel SEPARATOR ', ') AS disziplinen, COUNT(turnierdisziplin_id) AS disziplinen_anzahl, COALESCE(SUM(meldung_vorhanden), 0) AS disziplinen_mit_meldung_anzahl"
+ . "\n FROM #__sportsmanager_turnier"
+ . "\n LEFT JOIN (SELECT turnier_id, turnierdisziplin_id, status, IF(COALESCE(kuerzel, '') <> '', kuerzel, disziplin) AS disziplintitel, IF(EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id), 1, 0) AS meldung_vorhanden FROM #__sportsmanager_turnierdisziplin) AS turnierdisziplin USING (turnier_id)"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
+ . "\n GROUP BY turnier_id"
+ . "\n ORDER BY erster_tag DESC, turnierbezeichnung";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $turniere = $db->loadObjectList();
- $beschraenkter_zugriff_turniere = benutzerZugriff("turniere_aendern") ? 0 : 1;
- if ($beschraenkter_zugriff_turniere) {
- $query = "SELECT #__sportsmanager_turnier.*, veranstalterbezeichnung, veranstalterkuerzel, GROUP_CONCAT(disziplintitel ORDER BY disziplintitel SEPARATOR ', ') AS disziplinen, COUNT(turnierdisziplin_id) AS disziplinen_anzahl, COALESCE(SUM(meldung_vorhanden), 0) AS disziplinen_mit_meldung_anzahl"
- . "\n FROM #__sportsmanager_turnier"
- . "\n LEFT JOIN (SELECT turnier_id, turnierdisziplin_id, status, IF(COALESCE(kuerzel, '') <> '', kuerzel, disziplin) AS disziplintitel, IF(EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id), 1, 0) AS meldung_vorhanden FROM #__sportsmanager_turnierdisziplin) AS turnierdisziplin USING (turnier_id)"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n WHERE " . turnierFilter("#__sportsmanager_turnier.turnier_id IN")
- . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
- . "\n GROUP BY turnier_id"
- . "\n ORDER BY erster_tag DESC, turnierbezeichnung";
- }
- else {
- $query = "SELECT #__sportsmanager_turnier.*, veranstalterbezeichnung, veranstalterkuerzel, GROUP_CONCAT(disziplintitel ORDER BY disziplintitel SEPARATOR ', ') AS disziplinen, COUNT(turnierdisziplin_id) AS disziplinen_anzahl, COALESCE(SUM(meldung_vorhanden), 0) AS disziplinen_mit_meldung_anzahl"
- . "\n FROM #__sportsmanager_turnier"
- . "\n LEFT JOIN (SELECT turnier_id, turnierdisziplin_id, status, IF(COALESCE(kuerzel, '') <> '', kuerzel, disziplin) AS disziplintitel, IF(EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id), 1, 0) AS meldung_vorhanden FROM #__sportsmanager_turnierdisziplin) AS turnierdisziplin USING (turnier_id)"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
- . "\n GROUP BY turnier_id"
- . "\n ORDER BY erster_tag DESC, turnierbezeichnung";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $turniere = $db->loadObjectList();
+ $beschraenkter_zugriff_individualwettbewerbe = benutzerZugriff("individualwettbewerbe_aendern") ? 0 : 1;
+ if ($beschraenkter_zugriff_individualwettbewerbe) {
+ $query = "SELECT #__sportsmanager_individualwettbewerb.*, veranstalterbezeichnung, veranstalterkuerzel,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = #__sportsmanager_individualwettbewerb.individualwettbewerb_id) AS spiele"
+ . "\n FROM #__sportsmanager_individualwettbewerb"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . "\n WHERE " . individualwettbewerbFilter("individualwettbewerb_id IN")
+ . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
+ . "\n ORDER BY reihenfolge, bezeichnung, kategorie";
+ } else {
+ $query = "SELECT #__sportsmanager_individualwettbewerb.*, veranstalterbezeichnung, veranstalterkuerzel,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = #__sportsmanager_individualwettbewerb.individualwettbewerb_id) AS spiele"
+ . "\n FROM #__sportsmanager_individualwettbewerb"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
+ . "\n ORDER BY reihenfolge, bezeichnung, kategorie";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $individualwettbewerbe = $db->loadObjectList();
- $beschraenkter_zugriff_individualwettbewerbe = benutzerZugriff("individualwettbewerbe_aendern") ? 0 : 1;
- if ($beschraenkter_zugriff_individualwettbewerbe) {
- $query = "SELECT #__sportsmanager_individualwettbewerb.*, veranstalterbezeichnung, veranstalterkuerzel,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = #__sportsmanager_individualwettbewerb.individualwettbewerb_id) AS spiele"
- . "\n FROM #__sportsmanager_individualwettbewerb"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n WHERE " . individualwettbewerbFilter("individualwettbewerb_id IN")
- . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
- . "\n ORDER BY reihenfolge, bezeichnung, kategorie";
- }
- else {
- $query = "SELECT #__sportsmanager_individualwettbewerb.*, veranstalterbezeichnung, veranstalterkuerzel,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = #__sportsmanager_individualwettbewerb.individualwettbewerb_id) AS spiele"
- . "\n FROM #__sportsmanager_individualwettbewerb"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
- . "\n ORDER BY reihenfolge, bezeichnung, kategorie";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $individualwettbewerbe = $db->loadObjectList();
+ $query = "SELECT *,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_rangliste_turnierdisziplin AS t2 WHERE t1.rangliste_id = t2.rangliste_id) AS turnierdisziplinen"
+ . "\n FROM #__sportsmanager_rangliste AS t1"
+ . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
+ . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, t1.bezeichnung, t1.kategorie";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ranglisten = $db->loadObjectList();
- $query = "SELECT *,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_rangliste_turnierdisziplin AS t2 WHERE t1.rangliste_id = t2.rangliste_id) AS turnierdisziplinen"
- . "\n FROM #__sportsmanager_rangliste AS t1"
- . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
- . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, t1.bezeichnung, t1.kategorie";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ranglisten = $db->loadObjectList();
+ $statistik = array();
- $statistik = array();
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_saison), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $statistik["saisons"] = $db->loadResult();
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_saison), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $statistik["saisons"] = $db->loadResult();
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel_modus), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $statistik["teamspielmodi"] = $db->loadResult();
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel_modus), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $statistik["teamspielmodi"] = $db->loadResult();
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstalter), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $statistik["veranstalter"] = $db->loadResult();
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstalter), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $statistik["veranstalter"] = $db->loadResult();
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_rangliste_system), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $statistik["ranglistensysteme"] = $db->loadResult();
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_rangliste_system), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $statistik["ranglistensysteme"] = $db->loadResult();
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turnierdisziplin), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $statistik["turnierdisziplinen"] = $db->loadResult();
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turnierdisziplin), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $statistik["turnierdisziplinen"] = $db->loadResult();
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $statistik["individualwettbewerbe"] = $db->loadResult();
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $statistik["individualwettbewerbe"] = $db->loadResult();
-
- HTML_sportsmanager_admin::adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, $unabhaengige_ansicht, isExternalDatabase());
+ HTML_sportsmanager_admin::adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, isExternalDatabase());
}
-function adminVerteiler() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminVerteiler(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("verteiler_aendern") && !benutzerZugriff("verteiler_lesen"))
- keinZugriff(true);
+ if (!benutzerZugriff("verteiler_aendern") && !benutzerZugriff("verteiler_lesen"))
+ keinZugriff(true);
- $filter_saison_id = $jinput->get('filter_saison_id', 0, 'INT');
- if ($filter_saison_id == 0)
- $filter_saison_id = $jinput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
+ $filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
+ if ($filter_saison_id == 0)
+ $filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
- $query = "SELECT saison_id, saisonbezeichnung"
- . "\n FROM #__sportsmanager_saison"
- . "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $query = "SELECT saison_id, saisonbezeichnung"
+ . "\n FROM #__sportsmanager_saison"
+ . "\n ORDER BY saisonbezeichnung DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $saisons = $db->loadObjectList();
- if (count($saisons) != 0) {
- $gefunden = false;
- foreach ($saisons as $saison) {
- if ($saison->saison_id == $filter_saison_id) {
- $gefunden = true;
- break;
- }
- }
- if (!$gefunden)
- $filter_saison_id = $saisons[0]->saison_id;
- }
+ if (count($saisons) != 0) {
+ $gefunden = false;
+ foreach ($saisons as $saison) {
+ if ($saison->saison_id == $filter_saison_id) {
+ $gefunden = true;
+ break;
+ }
+ }
+ if (!$gefunden)
+ $filter_saison_id = $saisons[0]->saison_id;
+ }
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_verteiler"
- . "\n ORDER BY bezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $verteiler = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_verteiler"
+ . "\n ORDER BY bezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $verteiler = $db->loadObjectList();
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $organisationen = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $organisationen = $db->loadObjectList();
- $organisationen_mailverteiler = array();
- foreach ($organisationen as $organisation) {
- $query = "SELECT vorname, nachname, email"
- . "\n FROM #__sportsmanager_vereinsansprechpartner"
- . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
- . "\n WHERE " . ($organisation->veranstalter_id != null ? "veranstalter_id = $organisation->veranstalter_id" : "ISNULL(veranstalter_id)")
- . " AND NOT ausgetreten AND email != ''"
- . "\n ORDER BY vorname, nachname, email";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $organisationen_mailverteiler = array();
+ foreach ($organisationen as $organisation) {
+ $query = "SELECT vorname, nachname, email"
+ . "\n FROM #__sportsmanager_vereinsansprechpartner"
+ . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
+ . "\n WHERE " . ($organisation->veranstalter_id != null ? "veranstalter_id = $organisation->veranstalter_id" : "ISNULL(veranstalter_id)")
+ . " AND NOT ausgetreten AND email != ''"
+ . "\n ORDER BY vorname, nachname, email";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $organisationen_mailverteiler[$organisation->veranstalter_id] = "";
- $organisationen_mailverteiler[$organisation->veranstalter_id . "p"] = "";
- foreach ($rows as $row) {
- $organisationen_mailverteiler[$organisation->veranstalter_id] .= (!empty($organisationen_mailverteiler[$organisation->veranstalter_id]) ? "; " : "") . $row->email;
- $organisationen_mailverteiler[$organisation->veranstalter_id . "p"] .= (!empty($organisationen_mailverteiler[$organisation->veranstalter_id . "p"]) ? "; " : "") . "\"" . $row->vorname . " " . $row->nachname . "\" <" . $row->email . ">";
- }
- }
+ $organisationen_mailverteiler[$organisation->veranstalter_id] = "";
+ $organisationen_mailverteiler[$organisation->veranstalter_id . "p"] = "";
+ foreach ($rows as $row) {
+ $organisationen_mailverteiler[$organisation->veranstalter_id] .= (!empty($organisationen_mailverteiler[$organisation->veranstalter_id]) ? "; " : "") . $row->email;
+ $organisationen_mailverteiler[$organisation->veranstalter_id . "p"] .= (!empty($organisationen_mailverteiler[$organisation->veranstalter_id . "p"]) ? "; " : "") . "\"" . $row->vorname . " " . $row->nachname . "\" <" . $row->email . ">";
+ }
+ }
- $query = "SELECT t1.*, veranstalterbezeichnung"
- . "\n FROM #__sportsmanager_veranstaltung AS t1"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
- . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, bezeichnung, t1.kategorie";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
+ $query = "SELECT t1.*, veranstalterbezeichnung"
+ . "\n FROM #__sportsmanager_veranstaltung AS t1"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
+ . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, bezeichnung, t1.kategorie";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstaltungen = $db->loadObjectList();
- $veranstaltungen_mailverteiler = array();
- foreach ($veranstaltungen as $veranstaltung) {
- $query = "SELECT vorname, nachname, email"
- . "\n FROM #__sportsmanager_teamansprechpartner, #__sportsmanager_team"
- . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id AND #__sportsmanager_teamansprechpartner.team_id = #__sportsmanager_team.team_id AND email != ''"
- . "\n ORDER BY vorname, nachname, email";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $veranstaltungen_mailverteiler = array();
+ foreach ($veranstaltungen as $veranstaltung) {
+ $query = "SELECT vorname, nachname, email"
+ . "\n FROM #__sportsmanager_teamansprechpartner, #__sportsmanager_team"
+ . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id AND #__sportsmanager_teamansprechpartner.team_id = #__sportsmanager_team.team_id AND email != ''"
+ . "\n ORDER BY vorname, nachname, email";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id] = "";
- $veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id . "p"] = "";
- foreach ($rows as $row) {
- $veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id] .= (!empty($veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id]) ? "; " : "") . $row->email;
- $veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id . "p"] .= (!empty($veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id . "p"]) ? "; " : "") . "\"" . $row->vorname . " " . $row->nachname . "\" <" . $row->email . ">";
- }
- }
+ $veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id] = "";
+ $veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id . "p"] = "";
+ foreach ($rows as $row) {
+ $veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id] .= (!empty($veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id]) ? "; " : "") . $row->email;
+ $veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id . "p"] .= (!empty($veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id . "p"]) ? "; " : "") . "\"" . $row->vorname . " " . $row->nachname . "\" <" . $row->email . ">";
+ }
+ }
- HTML_sportsmanager_admin::adminVerteiler($verteiler, $organisationen, $organisationen_mailverteiler, $veranstaltungen, $veranstaltungen_mailverteiler, $saisons, $filter_saison_id, benutzerZugriff("verteiler_aendern"));
+ HTML_sportsmanager_admin::adminVerteiler($verteiler, $organisationen, $organisationen_mailverteiler, $veranstaltungen, $veranstaltungen_mailverteiler, $saisons, $filter_saison_id, benutzerZugriff("verteiler_aendern"));
}
-function adminEditVerteiler() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditVerteiler(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("verteiler_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("verteiler_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- if ($id == null)
- $row = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_verteiler WHERE verteiler_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
- }
+ $id = $jInput->get('id', 0, 'INT');
+ if ($id == null)
+ $row = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_verteiler WHERE verteiler_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
+ }
- HTML_sportsmanager_admin::adminEditVerteiler($row);
+ HTML_sportsmanager_admin::adminEditVerteiler($row);
}
-function adminSaveVerteiler() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveVerteiler(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("verteiler_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("verteiler_aendern"))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_verteiler');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_verteiler');
+ }
- return;
- }
-
- $id = $jinput->get('id', 0, 'INT');
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $verteiler = $db->escape(trim($jinput->get('verteiler', '', 'RAW')));
- if ($id == 0)
- $query = "INSERT INTO #__sportsmanager_verteiler (bezeichnung, verteiler) VALUES ('$bezeichnung', '$verteiler');";
- else {
- $query = "UPDATE #__sportsmanager_verteiler"
- . "\n SET bezeichnung = '$bezeichnung',"
- . "\n verteiler = '$verteiler'"
- . "\n WHERE verteiler_id = $id";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- redirectSportsManagerURL('&task=admin_verteiler');
+ $id = $jInput->get('id', 0, 'INT');
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $verteiler = $db->escape(trim($jInput->get('verteiler', '', 'RAW')));
+ if ($id == 0)
+ $query = "INSERT INTO #__sportsmanager_verteiler (bezeichnung, verteiler) VALUES ('$bezeichnung', '$verteiler');";
+ else {
+ $query = "UPDATE #__sportsmanager_verteiler"
+ . "\n SET bezeichnung = '$bezeichnung',"
+ . "\n verteiler = '$verteiler'"
+ . "\n WHERE verteiler_id = $id";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ redirectSportsManagerURL('&task=admin_verteiler');
}
-function adminRemoveVerteiler() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveVerteiler(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("verteiler_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("verteiler_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- $query = "DELETE FROM #__sportsmanager_verteiler WHERE verteiler_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_verteiler WHERE verteiler_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- redirectSportsManagerURL('&task=admin_verteiler');
+ redirectSportsManagerURL('&task=admin_verteiler');
}
-function adminRechnungen() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminRechnungen(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("rechnungen_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("rechnungen_aendern"))
+ keinZugriff(true);
- $filter_saison_id = $jinput->get('filter_saison_id', 0, 'INT');
- if ($filter_saison_id == 0)
- $filter_saison_id = $jinput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
+ $filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
+ if ($filter_saison_id == 0)
+ $filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
- $query = "SELECT saison_id, saisonbezeichnung"
- . "\n FROM #__sportsmanager_saison"
- . "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $query = "SELECT saison_id, saisonbezeichnung"
+ . "\n FROM #__sportsmanager_saison"
+ . "\n ORDER BY saisonbezeichnung DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $saisons = $db->loadObjectList();
- if (count($saisons) == 0)
- die("Wrong id!");
+ if (count($saisons) == 0)
+ die("Wrong id!");
- $gefunden = false;
- foreach ($saisons as $saison) {
- if ($saison->saison_id == $filter_saison_id) {
- $filter_saison = $saison;
- $gefunden = true;
- break;
- }
- }
- if (!$gefunden) {
- $filter_saison_id = $saisons[0]->saison_id;
- $saison = $saisons[0];
- }
+ $gefunden = false;
+ $filter_saison = null;
+ foreach ($saisons as $saison) {
+ if ($saison->saison_id == $filter_saison_id) {
+ $filter_saison = $saison;
+ $gefunden = true;
+ break;
+ }
+ }
+ if (!$gefunden) {
+ $filter_saison_id = $saisons[0]->saison_id;
+ $filter_saison = $saisons[0];
+ }
- $query = "SELECT #__sportsmanager_rechnung.*, IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalterbezeichnung, #__sportsmanager_verein.vereinsname) AS zuordnungbezeichnung,"
- . " (SELECT COUNT(*) FROM #__sportsmanager_rechnung_spieler WHERE #__sportsmanager_rechnung_spieler.rechnung_id = #__sportsmanager_rechnung.rechnung_id) AS mitglieder"
- . "\n FROM #__sportsmanager_rechnung"
- . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
- . "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id"
- . "\n WHERE saison_id = $filter_saison_id"
- . "\n ORDER BY bezeichnung, zuordnungbezeichnung, notiz";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rechnungen = $db->loadObjectList();
+ $query = "SELECT #__sportsmanager_rechnung.*, IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalterbezeichnung, #__sportsmanager_verein.vereinsname) AS zuordnungbezeichnung,"
+ . " (SELECT COUNT(*) FROM #__sportsmanager_rechnung_spieler WHERE #__sportsmanager_rechnung_spieler.rechnung_id = #__sportsmanager_rechnung.rechnung_id) AS mitglieder"
+ . "\n FROM #__sportsmanager_rechnung"
+ . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id"
+ . "\n WHERE saison_id = $filter_saison_id"
+ . "\n ORDER BY bezeichnung, zuordnungbezeichnung, notiz";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rechnungen = $db->loadObjectList();
- $query = "SELECT DISTINCT IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalter_id, #__sportsmanager_verein.verein_id) AS zuordnung_id, IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalterbezeichnung, #__sportsmanager_verein.vereinsname) AS zuordnungbezeichnung,"
- . " IF(ISNULL(#__sportsmanager_verein.verein_id), IF(ISNULL(#__sportsmanager_veranstalter.veranstalter_id), 0,"
- . "\n (SELECT COUNT(DISTINCT spieler_id)"
- . "\n FROM #__sportsmanager_veranstalter AS va1"
- . "\n LEFT JOIN #__sportsmanager_verein AS ve1 USING (veranstalter_id)"
- . "\n LEFT JOIN #__sportsmanager_mitglied_von_verein AS mve1 USING (verein_id)"
- . "\n WHERE va1.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id AND NOT ve1.ausgetreten AND NOT mve1.ausgetreten AND mve1.spieler_id NOT IN (SELECT DISTINCT spieler_id FROM #__sportsmanager_rechnung AS re1 INNER JOIN #__sportsmanager_rechnung_spieler AS res1 ON re1.rechnung_id = res1.rechnung_id WHERE saison_id = $filter_saison_id))"
- . "),"
- . "\n (SELECT COUNT(DISTINCT spieler_id)"
- . "\n FROM #__sportsmanager_verein AS ve1"
- . "\n LEFT JOIN #__sportsmanager_mitglied_von_verein AS mve1 USING (verein_id)"
- . "\n WHERE ve1.verein_id = #__sportsmanager_verein.verein_id AND NOT ve1.ausgetreten AND NOT mve1.ausgetreten AND mve1.spieler_id NOT IN (SELECT DISTINCT spieler_id FROM #__sportsmanager_rechnung AS re1 INNER JOIN #__sportsmanager_rechnung_spieler AS res1 ON re1.rechnung_id = res1.rechnung_id WHERE saison_id = $filter_saison_id))"
- . ") AS neuzugaenge"
-// . " (SELECT COUNT(*) FROM #__sportsmanager_rechnung_spieler WHERE #__sportsmanager_rechnung_spieler.rechnung_id = #__sportsmanager_rechnung.rechnung_id) AS mitglieder"
- . "\n FROM #__sportsmanager_rechnung"
- . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
- . "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id"
- . "\n WHERE saison_id = $filter_saison_id"
- . "\n HAVING neuzugaenge > 0"
- . "\n ORDER BY zuordnungbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $neuzugaenge = $db->loadObjectList();
+ $query = "SELECT DISTINCT IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalter_id, #__sportsmanager_verein.verein_id) AS zuordnung_id, IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalterbezeichnung, #__sportsmanager_verein.vereinsname) AS zuordnungbezeichnung,"
+ . " IF(ISNULL(#__sportsmanager_verein.verein_id), IF(ISNULL(#__sportsmanager_veranstalter.veranstalter_id), 0,"
+ . "\n (SELECT COUNT(DISTINCT spieler_id)"
+ . "\n FROM #__sportsmanager_veranstalter AS va1"
+ . "\n LEFT JOIN #__sportsmanager_verein AS ve1 USING (veranstalter_id)"
+ . "\n LEFT JOIN #__sportsmanager_mitglied_von_verein AS mve1 USING (verein_id)"
+ . "\n WHERE va1.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id AND NOT ve1.ausgetreten AND NOT mve1.ausgetreten AND mve1.spieler_id NOT IN (SELECT DISTINCT spieler_id FROM #__sportsmanager_rechnung AS re1 INNER JOIN #__sportsmanager_rechnung_spieler AS res1 ON re1.rechnung_id = res1.rechnung_id WHERE saison_id = $filter_saison_id))"
+ . "),"
+ . "\n (SELECT COUNT(DISTINCT spieler_id)"
+ . "\n FROM #__sportsmanager_verein AS ve1"
+ . "\n LEFT JOIN #__sportsmanager_mitglied_von_verein AS mve1 USING (verein_id)"
+ . "\n WHERE ve1.verein_id = #__sportsmanager_verein.verein_id AND NOT ve1.ausgetreten AND NOT mve1.ausgetreten AND mve1.spieler_id NOT IN (SELECT DISTINCT spieler_id FROM #__sportsmanager_rechnung AS re1 INNER JOIN #__sportsmanager_rechnung_spieler AS res1 ON re1.rechnung_id = res1.rechnung_id WHERE saison_id = $filter_saison_id))"
+ . ") AS neuzugaenge"
+ . "\n FROM #__sportsmanager_rechnung"
+ . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id"
+ . "\n WHERE saison_id = $filter_saison_id"
+ . "\n HAVING neuzugaenge > 0"
+ . "\n ORDER BY zuordnungbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $neuzugaenge = $db->loadObjectList();
- $query = "SELECT DISTINCT IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalter_id, #__sportsmanager_verein.verein_id) AS zuordnung_id, IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalterbezeichnung, #__sportsmanager_verein.vereinsname) AS zuordnungbezeichnung,"
- . " IF(ISNULL(#__sportsmanager_verein.verein_id), IF(ISNULL(#__sportsmanager_veranstalter.veranstalter_id), 0,"
- . "\n (SELECT COUNT(DISTINCT spieler_id)"
- . "\n FROM #__sportsmanager_veranstalter AS va1"
- . "\n INNER JOIN #__sportsmanager_verein AS ve1 USING (veranstalter_id)"
- . "\n INNER JOIN #__sportsmanager_mitglied_von_verein AS mve1 USING (verein_id)"
- . "\n INNER JOIN #__sportsmanager_rechnung_spieler USING (spieler_id)"
- . "\n INNER JOIN #__sportsmanager_rechnung USING (rechnung_id)"
- . "\n WHERE #__sportsmanager_rechnung.saison_id = $filter_saison_id AND #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id)"
- . "),"
- . "\n (SELECT COUNT(DISTINCT spieler_id)"
- . "\n FROM #__sportsmanager_verein AS ve1"
- . "\n INNER JOIN #__sportsmanager_mitglied_von_verein AS mve1 USING (verein_id)"
- . "\n INNER JOIN #__sportsmanager_rechnung_spieler USING (spieler_id)"
- . "\n INNER JOIN #__sportsmanager_rechnung USING (rechnung_id)"
- . "\n WHERE #__sportsmanager_rechnung.saison_id = $filter_saison_id AND #__sportsmanager_rechnung.verein_id = #__sportsmanager_verein.verein_id)"
- . ") AS mitglieder"
-// . " (SELECT COUNT(*) FROM #__sportsmanager_rechnung_spieler WHERE #__sportsmanager_rechnung_spieler.rechnung_id = #__sportsmanager_rechnung.rechnung_id) AS mitglieder"
- . "\n FROM #__sportsmanager_rechnung"
- . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
- . "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id"
- . "\n WHERE saison_id = $filter_saison_id"
- . "\n ORDER BY zuordnungbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $aufsummierung = $db->loadObjectList();
+ $query = "SELECT DISTINCT IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalter_id, #__sportsmanager_verein.verein_id) AS zuordnung_id, IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalterbezeichnung, #__sportsmanager_verein.vereinsname) AS zuordnungbezeichnung,"
+ . " IF(ISNULL(#__sportsmanager_verein.verein_id), IF(ISNULL(#__sportsmanager_veranstalter.veranstalter_id), 0,"
+ . "\n (SELECT COUNT(DISTINCT spieler_id)"
+ . "\n FROM #__sportsmanager_veranstalter AS va1"
+ . "\n INNER JOIN #__sportsmanager_verein AS ve1 USING (veranstalter_id)"
+ . "\n INNER JOIN #__sportsmanager_mitglied_von_verein AS mve1 USING (verein_id)"
+ . "\n INNER JOIN #__sportsmanager_rechnung_spieler USING (spieler_id)"
+ . "\n INNER JOIN #__sportsmanager_rechnung USING (rechnung_id)"
+ . "\n WHERE #__sportsmanager_rechnung.saison_id = $filter_saison_id AND #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id)"
+ . "),"
+ . "\n (SELECT COUNT(DISTINCT spieler_id)"
+ . "\n FROM #__sportsmanager_verein AS ve1"
+ . "\n INNER JOIN #__sportsmanager_mitglied_von_verein AS mve1 USING (verein_id)"
+ . "\n INNER JOIN #__sportsmanager_rechnung_spieler USING (spieler_id)"
+ . "\n INNER JOIN #__sportsmanager_rechnung USING (rechnung_id)"
+ . "\n WHERE #__sportsmanager_rechnung.saison_id = $filter_saison_id AND #__sportsmanager_rechnung.verein_id = #__sportsmanager_verein.verein_id)"
+ . ") AS mitglieder"
+ . "\n FROM #__sportsmanager_rechnung"
+ . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id"
+ . "\n WHERE saison_id = $filter_saison_id"
+ . "\n ORDER BY zuordnungbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $aufsummierung = $db->loadObjectList();
- HTML_sportsmanager_admin::adminRechnungen($rechnungen, $neuzugaenge, $aufsummierung, $saisons, $filter_saison_id, $saison);
+ HTML_sportsmanager_admin::adminRechnungen($rechnungen, $neuzugaenge, $aufsummierung, $filter_saison);
}
-function adminEditRechnung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditRechnung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("rechnungen_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("rechnungen_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- if ($id == null)
- $row = null;
- else {
- $query = "SELECT #__sportsmanager_rechnung.*, IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalterbezeichnung, #__sportsmanager_verein.vereinsname) AS zuordnungbezeichnung"
- . "\n FROM #__sportsmanager_rechnung"
- . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
- . "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id"
- . "\n WHERE rechnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
- }
+ $id = $jInput->get('id', 0, 'INT');
+ if ($id == null)
+ $row = null;
+ else {
+ $query = "SELECT #__sportsmanager_rechnung.*, IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalterbezeichnung, #__sportsmanager_verein.vereinsname) AS zuordnungbezeichnung"
+ . "\n FROM #__sportsmanager_rechnung"
+ . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id"
+ . "\n WHERE rechnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
+ }
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- $query = "SELECT #__sportsmanager_verein.verein_id, #__sportsmanager_verein.veranstalter_id, vereinsname, veranstalterbezeichnung"
- . "\n FROM #__sportsmanager_verein"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n WHERE NOT ausgetreten"
- . "\n ORDER BY veranstalterbezeichnung, vereinsname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
+ $query = "SELECT #__sportsmanager_verein.verein_id, #__sportsmanager_verein.veranstalter_id, vereinsname, veranstalterbezeichnung"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . "\n WHERE NOT ausgetreten"
+ . "\n ORDER BY veranstalterbezeichnung, vereinsname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereine = $db->loadObjectList();
- HTML_sportsmanager_admin::adminEditRechnung($row, $veranstalter, $vereine);
+ HTML_sportsmanager_admin::adminEditRechnung($row, $veranstalter, $vereine);
}
-function adminSaveRechnung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveRechnung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("rechnungen_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("rechnungen_aendern"))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_rechnungen');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_rechnungen');
+ }
- return;
- }
+ $filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
+ if ($filter_saison_id == 0)
+ $filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
- $filter_saison_id = $jinput->get('filter_saison_id', 0, 'INT');
- if ($filter_saison_id == 0)
- $filter_saison_id = $jinput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
+ $query = "SELECT saison_id, saisonbezeichnung"
+ . "\n FROM #__sportsmanager_saison"
+ . "\n ORDER BY saisonbezeichnung DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $saisons = $db->loadObjectList();
- $query = "SELECT saison_id, saisonbezeichnung"
- . "\n FROM #__sportsmanager_saison"
- . "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ if (count($saisons) != 0) {
+ $gefunden = false;
+ foreach ($saisons as $saison) {
+ if ($saison->saison_id == $filter_saison_id) {
+ $gefunden = true;
+ break;
+ }
+ }
+ if (!$gefunden)
+ $filter_saison_id = $saisons[0]->saison_id;
+ }
- if (count($saisons) != 0) {
- $gefunden = false;
- foreach ($saisons as $saison) {
- if ($saison->saison_id == $filter_saison_id) {
- $gefunden = true;
- break;
- }
- }
- if (!$gefunden)
- $filter_saison_id = $saisons[0]->saison_id;
- }
+ if ($filter_saison_id == 0)
+ die ("Wrong id");
- if ($filter_saison_id == 0)
- die ("Wrong id");
+ $id = $jInput->get('id', 0, 'INT');
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $notiz = $db->escape(trim($jInput->get('notiz', '', 'RAW')));
+ $veranstalterId = $db->escape($jInput->get('veranstalterid', 0, 'RAW'));
+ $mitgliedsstatus = $jInput->get('mitgliedsstatus', 0, 'INT');
+ $wertungskategorie = $jInput->get('wertungskategorie', 0, 'INT');
+ if ($id == 0) {
+ $filter_mitgliedsstatus = "";
+ for ($i = 1; $i <= 3; $i++) {
+ if (pow(2, $i) & $mitgliedsstatus) {
+ if (!empty($filter_mitgliedsstatus))
+ $filter_mitgliedsstatus .= " OR ";
+ $filter_mitgliedsstatus .= "mitgliedsstatus = " . $i;
+ }
+ }
+ if (!empty($filter_mitgliedsstatus))
+ $filter_mitgliedsstatus = " AND (" . $filter_mitgliedsstatus . ")";
+ $filter_kategorie = "";
+ if ($wertungskategorie != 15) {
+ $kategorien = array();
+ foreach (array(1 => "H", 2 => "D", 4 => "J", 8 => "S") as $b => $wert) {
+ if ($b & $wertungskategorie)
+ $kategorien[] = "\"" . $wert . "\"";
+ }
+ $jahr = date("Y");
+ if (!empty($kategorien))
+ $filter_kategorie = " AND IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) IN (" . implode(", ", $kategorien) . ")";
+ else
+ $filter_kategorie = " AND FALSE";
+ }
+ if (strlen($veranstalterId) > 1 && $veranstalterId[0] == "v") {
+ $verein_id = substr($veranstalterId, 1);
+ $query = "INSERT INTO #__sportsmanager_rechnung (saison_id, bezeichnung, notiz, verein_id, mitgliedsstatus, wertungskategorie) VALUES ('$filter_saison_id', '$bezeichnung', '$notiz', '$verein_id', '$mitgliedsstatus', '$wertungskategorie');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
- $id = $jinput->get('id', 0, 'INT');
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $notiz = $db->escape(trim($jinput->get('notiz', '', 'RAW')));
- $veranstalterid = $db->escape($jinput->get('veranstalterid', 0, 'RAW'));
- $mitgliedsstatus = $jinput->get('mitgliedsstatus', 0, 'INT');
- $wertungskategorie = $jinput->get('wertungskategorie', 0, 'INT');
- if ($id == 0) {
- $filter_mitgliedsstatus = "";
- for ($i = 1; $i <= 3; $i++) {
- if (pow(2, $i) & $mitgliedsstatus) {
- if (!empty($filter_mitgliedsstatus))
- $filter_mitgliedsstatus .= " OR ";
- $filter_mitgliedsstatus .= "mitgliedsstatus = " . $i;
- }
- }
- if (!empty($filter_mitgliedsstatus))
- $filter_mitgliedsstatus = " AND (" . $filter_mitgliedsstatus . ")";
- $filter_kategorie = "";
- if ($wertungskategorie != 15) {
- $kategorien = array();
- foreach (array(1 => "H", 2 => "D", 4 => "J", 8 => "S") as $b => $wert) {
- if ($b & $wertungskategorie)
- array_push($kategorien, "\"" . $wert . "\"");
- }
- $jahr = date("Y");
- if (!empty($kategorien))
- $filter_kategorie = " AND IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) IN (" . implode(", ", $kategorien) . ")";
- else
- $filter_kategorie = " AND FALSE";
- }
- if (strlen($veranstalterid) > 1 && $veranstalterid[0] == "v") {
- $verein_id = substr($veranstalterid, 1);
- $query = "INSERT INTO #__sportsmanager_rechnung (saison_id, bezeichnung, notiz, verein_id, mitgliedsstatus, wertungskategorie) VALUES ('$filter_saison_id', '$bezeichnung', '$notiz', '$verein_id', '$mitgliedsstatus', '$wertungskategorie');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
+ $query = "INSERT INTO #__sportsmanager_rechnung_spieler (spieler_id, rechnung_id)"
+ . "\n SELECT DISTINCT #__sportsmanager_mitglied_von_verein.spieler_id, '$id'"
+ . "\n FROM #__sportsmanager_mitglied_von_verein"
+ . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n WHERE #__sportsmanager_mitglied_von_verein.verein_id = $verein_id" . $filter_mitgliedsstatus . $filter_kategorie . " AND spieler_id NOT IN (SELECT DISTINCT #__sportsmanager_rechnung_spieler.spieler_id FROM #__sportsmanager_rechnung INNER JOIN #__sportsmanager_rechnung_spieler ON #__sportsmanager_rechnung.rechnung_id = #__sportsmanager_rechnung_spieler.rechnung_id WHERE saison_id = $filter_saison_id)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else if (strlen($veranstalterId) > 1 && $veranstalterId[0] == "a") {
+ $veranstalter_id = substr($veranstalterId, 1);
+ $query = "SELECT verein_id, (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.verein_id = #__sportsmanager_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AS mitglieder"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n WHERE veranstalter_id = $veranstalter_id AND not ausgetreten"
+ . "\n ORDER BY mitglieder, vereinsname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- $query = "INSERT INTO #__sportsmanager_rechnung_spieler (spieler_id, rechnung_id)"
- . "\n SELECT DISTINCT #__sportsmanager_mitglied_von_verein.spieler_id, '$id'"
- . "\n FROM #__sportsmanager_mitglied_von_verein"
- . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n WHERE #__sportsmanager_mitglied_von_verein.verein_id = $verein_id" . $filter_mitgliedsstatus . $filter_kategorie . " AND spieler_id NOT IN (SELECT DISTINCT #__sportsmanager_rechnung_spieler.spieler_id FROM #__sportsmanager_rechnung INNER JOIN #__sportsmanager_rechnung_spieler ON #__sportsmanager_rechnung.rechnung_id = #__sportsmanager_rechnung_spieler.rechnung_id WHERE saison_id = $filter_saison_id)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else if (strlen($veranstalterid) > 1 && $veranstalterid[0] == "a") {
- $veranstalter_id = substr($veranstalterid, 1);
- $query = "SELECT verein_id, (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.verein_id = #__sportsmanager_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AS mitglieder"
- . "\n FROM #__sportsmanager_verein"
- . "\n WHERE veranstalter_id = $veranstalter_id AND not ausgetreten"
- . "\n ORDER BY mitglieder, vereinsname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
+ foreach ($veranstalter as $row) {
+ $verein_id = $row->verein_id;
+ $query = "INSERT INTO #__sportsmanager_rechnung (saison_id, bezeichnung, notiz, verein_id, mitgliedsstatus, wertungskategorie) VALUES ('$filter_saison_id', '$bezeichnung', '$notiz', '$verein_id', '$mitgliedsstatus', '$wertungskategorie');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
- foreach ($veranstalter as $row) {
- $verein_id = $row->verein_id;
- $query = "INSERT INTO #__sportsmanager_rechnung (saison_id, bezeichnung, notiz, verein_id, mitgliedsstatus) VALUES ('$filter_saison_id', '$bezeichnung', '$notiz', '$verein_id', '$mitgliedsstatus');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
+ $query = "INSERT INTO #__sportsmanager_rechnung_spieler (spieler_id, rechnung_id)"
+ . "\n SELECT DISTINCT #__sportsmanager_mitglied_von_verein.spieler_id, '$id'"
+ . "\n FROM #__sportsmanager_mitglied_von_verein"
+ . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n WHERE #__sportsmanager_mitglied_von_verein.verein_id = $verein_id" . $filter_mitgliedsstatus . $filter_kategorie . " AND spieler_id NOT IN (SELECT DISTINCT #__sportsmanager_rechnung_spieler.spieler_id FROM #__sportsmanager_rechnung INNER JOIN #__sportsmanager_rechnung_spieler ON #__sportsmanager_rechnung.rechnung_id = #__sportsmanager_rechnung_spieler.rechnung_id WHERE saison_id = $filter_saison_id)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else if ($veranstalterId == "0") {
+ $query = "SELECT veranstalter_id, (SELECT COUNT(*) FROM #__sportsmanager_verein LEFT JOIN #__sportsmanager_mitglied_von_verein USING (verein_id) WHERE #__sportsmanager_verein.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AS mitglieder"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n ORDER BY mitglieder, veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- $query = "INSERT INTO #__sportsmanager_rechnung_spieler (spieler_id, rechnung_id)"
- . "\n SELECT DISTINCT #__sportsmanager_mitglied_von_verein.spieler_id, '$id'"
- . "\n FROM #__sportsmanager_mitglied_von_verein"
- . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n WHERE #__sportsmanager_mitglied_von_verein.verein_id = $verein_id" . $filter_mitgliedsstatus . $filter_kategorie . " AND spieler_id NOT IN (SELECT DISTINCT #__sportsmanager_rechnung_spieler.spieler_id FROM #__sportsmanager_rechnung INNER JOIN #__sportsmanager_rechnung_spieler ON #__sportsmanager_rechnung.rechnung_id = #__sportsmanager_rechnung_spieler.rechnung_id WHERE saison_id = $filter_saison_id)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else if ($veranstalterid == "0") {
- $query = "SELECT veranstalter_id, (SELECT COUNT(*) FROM #__sportsmanager_verein LEFT JOIN #__sportsmanager_mitglied_von_verein USING (verein_id) WHERE #__sportsmanager_verein.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AS mitglieder"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n ORDER BY mitglieder, veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
+ foreach ($veranstalter as $row) {
+ $veranstalterId = $row->veranstalter_id;
+ $query = "INSERT INTO #__sportsmanager_rechnung (saison_id, bezeichnung, notiz, veranstalter_id, mitgliedsstatus, wertungskategorie) VALUES ('$filter_saison_id', '$bezeichnung', '$notiz', '$veranstalterId', '$mitgliedsstatus', '$wertungskategorie');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
- foreach ($veranstalter as $row) {
- $veranstalterid = $row->veranstalter_id;
- $query = "INSERT INTO #__sportsmanager_rechnung (saison_id, bezeichnung, notiz, veranstalter_id, mitgliedsstatus) VALUES ('$filter_saison_id', '$bezeichnung', '$notiz', '$veranstalterid', '$mitgliedsstatus');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
+ $query = "INSERT INTO #__sportsmanager_rechnung_spieler (spieler_id, rechnung_id)"
+ . "\n SELECT DISTINCT #__sportsmanager_mitglied_von_verein.spieler_id, '$id'"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n LEFT JOIN #__sportsmanager_verein USING (veranstalter_id)"
+ . "\n LEFT JOIN #__sportsmanager_mitglied_von_verein USING (verein_id)"
+ . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n WHERE #__sportsmanager_veranstalter.veranstalter_id = $veranstalterId AND NOT #__sportsmanager_verein.ausgetreten" . $filter_mitgliedsstatus . $filter_kategorie . " AND spieler_id NOT IN (SELECT DISTINCT #__sportsmanager_rechnung_spieler.spieler_id FROM #__sportsmanager_rechnung INNER JOIN #__sportsmanager_rechnung_spieler ON #__sportsmanager_rechnung.rechnung_id = #__sportsmanager_rechnung_spieler.rechnung_id WHERE saison_id = $filter_saison_id)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else {
+ $query = "INSERT INTO #__sportsmanager_rechnung (saison_id, bezeichnung, notiz, veranstalter_id, mitgliedsstatus, wertungskategorie) VALUES ('$filter_saison_id', '$bezeichnung', '$notiz', '$veranstalterId', '$mitgliedsstatus', '$wertungskategorie');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ $query = "INSERT INTO #__sportsmanager_rechnung_spieler (spieler_id, rechnung_id)"
+ . "\n SELECT DISTINCT #__sportsmanager_mitglied_von_verein.spieler_id, '$id'"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n LEFT JOIN #__sportsmanager_verein USING (veranstalter_id)"
+ . "\n LEFT JOIN #__sportsmanager_mitglied_von_verein USING (verein_id)"
+ . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n WHERE #__sportsmanager_veranstalter.veranstalter_id = $veranstalterId AND NOT #__sportsmanager_verein.ausgetreten" . $filter_mitgliedsstatus . $filter_kategorie . " AND spieler_id NOT IN (SELECT DISTINCT #__sportsmanager_rechnung_spieler.spieler_id FROM #__sportsmanager_rechnung INNER JOIN #__sportsmanager_rechnung_spieler ON #__sportsmanager_rechnung.rechnung_id = #__sportsmanager_rechnung_spieler.rechnung_id WHERE saison_id = $filter_saison_id)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else {
+ $query = "UPDATE #__sportsmanager_rechnung"
+ . "\n SET bezeichnung = '$bezeichnung',"
+ . "\n notiz = '$notiz'"
+ . "\n WHERE rechnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "INSERT INTO #__sportsmanager_rechnung_spieler (spieler_id, rechnung_id)"
- . "\n SELECT DISTINCT #__sportsmanager_mitglied_von_verein.spieler_id, '$id'"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n LEFT JOIN #__sportsmanager_verein USING (veranstalter_id)"
- . "\n LEFT JOIN #__sportsmanager_mitglied_von_verein USING (verein_id)"
- . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n WHERE #__sportsmanager_veranstalter.veranstalter_id = $veranstalterid AND NOT #__sportsmanager_verein.ausgetreten" . $filter_mitgliedsstatus . $filter_kategorie . " AND spieler_id NOT IN (SELECT DISTINCT #__sportsmanager_rechnung_spieler.spieler_id FROM #__sportsmanager_rechnung INNER JOIN #__sportsmanager_rechnung_spieler ON #__sportsmanager_rechnung.rechnung_id = #__sportsmanager_rechnung_spieler.rechnung_id WHERE saison_id = $filter_saison_id)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else {
- $query = "INSERT INTO #__sportsmanager_rechnung (saison_id, bezeichnung, notiz, veranstalter_id, mitgliedsstatus) VALUES ('$filter_saison_id', '$bezeichnung', '$notiz', '$veranstalterid', '$mitgliedsstatus');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- $query = "INSERT INTO #__sportsmanager_rechnung_spieler (spieler_id, rechnung_id)"
- . "\n SELECT DISTINCT #__sportsmanager_mitglied_von_verein.spieler_id, '$id'"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n LEFT JOIN #__sportsmanager_verein USING (veranstalter_id)"
- . "\n LEFT JOIN #__sportsmanager_mitglied_von_verein USING (verein_id)"
- . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n WHERE #__sportsmanager_veranstalter.veranstalter_id = $veranstalterid AND NOT #__sportsmanager_verein.ausgetreten" . $filter_mitgliedsstatus . $filter_kategorie . " AND spieler_id NOT IN (SELECT DISTINCT #__sportsmanager_rechnung_spieler.spieler_id FROM #__sportsmanager_rechnung INNER JOIN #__sportsmanager_rechnung_spieler ON #__sportsmanager_rechnung.rechnung_id = #__sportsmanager_rechnung_spieler.rechnung_id WHERE saison_id = $filter_saison_id)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else {
- $query = "UPDATE #__sportsmanager_rechnung"
- . "\n SET bezeichnung = '$bezeichnung',"
- . "\n notiz = '$notiz'"
- . "\n WHERE rechnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- redirectSportsManagerURL('&task=admin_rechnungen');
+ redirectSportsManagerURL('&task=admin_rechnungen');
}
-function adminRemoveRechnung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveRechnung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("rechnungen_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("rechnungen_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- $query = "DELETE FROM #__sportsmanager_rechnung_spieler WHERE rechnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_rechnung_spieler WHERE rechnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_rechnung WHERE rechnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_rechnung WHERE rechnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- redirectSportsManagerURL('&task=admin_rechnungen');
+ redirectSportsManagerURL('&task=admin_rechnungen');
}
-function adminEinstellungen() {
- $db = getDatabase();
+function adminEinstellungen(): void
+{
+ $db = getDatabase();
- if (!benutzerZugriff("basiseinstellungen_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("basiseinstellungen_aendern"))
+ keinZugriff(true);
- $query = "SELECT * FROM #__sportsmanager_einstellungen";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_einstellungen";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $einstellungen = array();
- foreach ($rows as $row)
- $einstellungen[$row->name] = $row->wert;
+ $einstellungen = array();
+ foreach ($rows as $row)
+ $einstellungen[$row->name] = $row->wert;
- HTML_sportsmanager_admin::adminEinstellungen($einstellungen);
+ HTML_sportsmanager_admin::adminEinstellungen($einstellungen);
}
-function adminSaveEinstellungen() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveEinstellungen(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("basiseinstellungen_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("basiseinstellungen_aendern"))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_uebersicht');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_uebersicht');
+ }
- return;
- }
+ $basis_spielernr = $db->escape(trim($jInput->get('basis_spielernr', '', 'RAW')));
+ $ansprechpartner_ausblenden = $jInput->get('ansprechpartner_ausblenden', 0, 'INT');
+ $ansprechpartner_spielerdaten = $jInput->get('ansprechpartner_spielerdaten', 0, 'INT');
+ $ansprechpartner_importieren = $jInput->get('ansprechpartner_importieren', 0, 'INT');
+ $ansprechpartner_exportieren = $jInput->get('ansprechpartner_exportieren', 0, 'INT');
+ $spielerliste_elo = $jInput->get('spielerliste_elo', 0, 'INT');
+ $lizenz_anzeigen = $jInput->get('lizenz_anzeigen', 0, 'INT');
+ $termine_beantragen = $jInput->get('termine_beantragen', 0, 'INT');
+ $spielerimport_persoenliche_daten_vorauswahl = $jInput->get('spielerimport_persoenliche_daten_vorauswahl', 0, 'INT');
- $basis_spielernr = $db->escape(trim($jinput->get('basis_spielernr', '', 'RAW')));
- $ansprechpartner_ausblenden = $jinput->get('ansprechpartner_ausblenden', 0, 'INT');
- $ansprechpartner_spielerdaten = $jinput->get('ansprechpartner_spielerdaten', 0, 'INT');
- $ansprechpartner_importieren = $jinput->get('ansprechpartner_importieren', 0, 'INT');
- $ansprechpartner_exportieren = $jinput->get('ansprechpartner_exportieren', 0, 'INT');
- $spielerliste_elo = $jinput->get('spielerliste_elo', 0, 'INT');
- $lizenz_anzeigen = $jinput->get('lizenz_anzeigen', 0, 'INT');
- $termine_beantragen = $jinput->get('termine_beantragen', 0, 'INT');
- $spielerimport_persoenliche_daten_vorauswahl = $jinput->get('spielerimport_persoenliche_daten_vorauswahl', 0, 'INT');
+ $api_push_key = $jInput->get('api_push_key', '', 'RAW');
- $api_push_key = $jinput->get('api_push_key', '', 'RAW');
-
- /*
- $twitter_benutzername = $db->escape(trim( $jinput->get('twitter_benutzername', '', 'RAW') ));
- $twitter_kennwort = !empty($twitter_benutzername) ? $db->escape(trim( $jinput->get('twitter_kennwort', '', 'RAW') )) : "";
+ /*
+ $twitter_benutzername = $db->escape(trim( $jInput->get('twitter_benutzername', '', 'RAW') ));
+ $twitter_kennwort = !empty($twitter_benutzername) ? $db->escape(trim( $jInput->get('twitter_kennwort', '', 'RAW') )) : "";
*/
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'basis_spielernr'"
- . ", wert = '$basis_spielernr'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'basis_spielernr'"
+ . ", wert = '$basis_spielernr'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'termine_beantragen'"
- . ", wert = '$termine_beantragen'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'termine_beantragen'"
+ . ", wert = '$termine_beantragen'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'spielerliste_elo'"
- . ", wert = '$spielerliste_elo'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'spielerliste_elo'"
+ . ", wert = '$spielerliste_elo'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
$query = "REPLACE #__sportsmanager_einstellungen"
. "\n SET name = 'lizenz_anzeigen'"
. ", wert = '$lizenz_anzeigen'";
$db->setQuery($query);
- if (!$result = $db->execute()) {
+ if (!$db->execute()) {
die($db->stderr(true));
}
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'ansprechpartner_ausblenden'"
- . ", wert = '$ansprechpartner_ausblenden'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'ansprechpartner_ausblenden'"
+ . ", wert = '$ansprechpartner_ausblenden'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'ansprechpartner_spielerdaten'"
- . ", wert = '$ansprechpartner_spielerdaten'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'ansprechpartner_spielerdaten'"
+ . ", wert = '$ansprechpartner_spielerdaten'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'ansprechpartner_importieren'"
- . ", wert = '$ansprechpartner_importieren'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'ansprechpartner_importieren'"
+ . ", wert = '$ansprechpartner_importieren'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'ansprechpartner_exportieren'"
- . ", wert = '$ansprechpartner_exportieren'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'ansprechpartner_exportieren'"
+ . ", wert = '$ansprechpartner_exportieren'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'spielerimport_persoenliche_daten_vorauswahl'"
- . ", wert = '$spielerimport_persoenliche_daten_vorauswahl'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'spielerimport_persoenliche_daten_vorauswahl'"
+ . ", wert = '$spielerimport_persoenliche_daten_vorauswahl'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen SET name = 'api_push_key', wert = '$api_push_key'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen SET name = 'api_push_key', wert = '$api_push_key'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- /*
+ /*
$query = "REPLACE #__sportsmanager_einstellungen"
. "\n SET name = 'twitter_benutzername'"
. ", wert = '$twitter_benutzername'";
$db->setQuery($query);
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
if (empty($twitter_benutzername) || !empty($twitter_kennwort)) {
$query = "REPLACE #__sportsmanager_einstellungen"
. "\n SET name = 'twitter_kennwort'"
. ", wert = '$twitter_kennwort'";
$db->setQuery($query);
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
}
*/
- redirectSportsManagerURL('&task=admin_uebersicht');
+ redirectSportsManagerURL('&task=admin_uebersicht');
}
-function adminDatenbank() {
- $db = getDatabase(true);
+function adminDatenbank(): void
+{
+ $db = getDatabase(true);
- if (!benutzerZugriff("basiseinstellungen_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("basiseinstellungen_aendern"))
+ keinZugriff(true);
- $query = "SELECT * FROM #__sportsmanager_einstellungen";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_einstellungen";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $einstellungen = array();
- foreach ($rows as $row)
- $einstellungen[$row->name] = $row->wert;
+ $einstellungen = array();
+ foreach ($rows as $row)
+ $einstellungen[$row->name] = $row->wert;
- HTML_sportsmanager_admin::adminDatenbank($einstellungen);
+ HTML_sportsmanager_admin::adminDatenbank($einstellungen);
}
-function adminSaveDatenbank() {
- $db = getDatabase(true);
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveDatenbank(): void
+{
+ $db = getDatabase(true);
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("basiseinstellungen_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("basiseinstellungen_aendern"))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_uebersicht');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_uebersicht');
+ }
- return;
- }
+ $database_driver = $db->escape(trim($jInput->get('database_driver', '', 'RAW')));
+ $database_host = $db->escape(trim($jInput->get('database_host', '', 'RAW')));
+ $database_user = $db->escape(trim($jInput->get('database_user', '', 'RAW')));
+ $database_password = $db->escape(trim($jInput->get('database_password', '', 'RAW')));
+ $database_database = $db->escape(trim($jInput->get('database_database', '', 'RAW')));
+ $database_prefix = $db->escape(trim($jInput->get('database_prefix', '', 'RAW')));
+ $joomla_path = $db->escape(trim($jInput->get('joomla_path', '', 'RAW')));
+ $joomla_path = $joomla_path == "/" && $joomla_path != "\\" ? $joomla_path : rtrim(rtrim($joomla_path, "\\"), "/");
+ $joomla_url = $db->escape(trim($jInput->get('joomla_url', '', 'RAW')));
+ if (strlen($joomla_url) > 0 && !str_ends_with($joomla_url, "/"))
+ $joomla_url .= "/";
- $database_driver = $db->escape(trim($jinput->get('database_driver', '', 'RAW')));
- $database_host = $db->escape(trim($jinput->get('database_host', '', 'RAW')));
- $database_user = $db->escape(trim($jinput->get('database_user', '', 'RAW')));
- $database_password = $db->escape(trim($jinput->get('database_password', '', 'RAW')));
- $database_database = $db->escape(trim($jinput->get('database_database', '', 'RAW')));
- $database_prefix = $db->escape(trim($jinput->get('database_prefix', '', 'RAW')));
- $joomla_path = $db->escape(trim($jinput->get('joomla_path', '', 'RAW')));
- $joomla_path = $joomla_path == "/" && $joomla_path != "\\" ? $joomla_path : rtrim(rtrim($joomla_path, "\\"), "/");
- $joomla_url = $db->escape(trim($jinput->get('joomla_url', '', 'RAW')));
- if (strlen($joomla_url) > 0 && substr($joomla_url, strlen($joomla_url) - 1, 1) != "/")
- $joomla_url .= "/";
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'database_driver'"
+ . ", wert = '$database_driver'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'database_driver'"
- . ", wert = '$database_driver'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'database_host'"
+ . ", wert = '$database_host'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'database_host'"
- . ", wert = '$database_host'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'database_user'"
+ . ", wert = '$database_user'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'database_user'"
- . ", wert = '$database_user'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'database_password'"
+ . ", wert = '$database_password'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'database_password'"
- . ", wert = '$database_password'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'database_database'"
+ . ", wert = '$database_database'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'database_database'"
- . ", wert = '$database_database'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'database_prefix'"
+ . ", wert = '$database_prefix'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'database_prefix'"
- . ", wert = '$database_prefix'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'joomla_path'"
+ . ", wert = '$joomla_path'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'joomla_path'"
- . ", wert = '$joomla_path'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'joomla_url'"
+ . ", wert = '$joomla_url'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "REPLACE #__sportsmanager_einstellungen"
- . "\n SET name = 'joomla_url'"
- . ", wert = '$joomla_url'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- redirectSportsManagerURL('&task=admin_uebersicht');
+ redirectSportsManagerURL('&task=admin_uebersicht');
}
-function adminSpieler($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminSpieler($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $ansprechpartner_importieren = einstellungswert("ansprechpartner_importieren");
- $ansprechpartner_exportieren = einstellungswert("ansprechpartner_exportieren");
- $ansprechpartner_spielerdaten = einstellungswert("ansprechpartner_spielerdaten");
- $ansprechpartner_spielerdaten_bearbeiten = $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "2" || $ansprechpartner_spielerdaten == "3";
- $ansprechpartner_bilder_bearbeiten = $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "3";
+ $ansprechpartner_importieren = einstellungswert("ansprechpartner_importieren");
+ $ansprechpartner_exportieren = einstellungswert("ansprechpartner_exportieren");
+ $ansprechpartner_spielerdaten = einstellungswert("ansprechpartner_spielerdaten");
+ $ansprechpartner_spielerdaten_bearbeiten = $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "2" || $ansprechpartner_spielerdaten == "3";
+ $ansprechpartner_bilder_bearbeiten = $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "3";
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (benutzerVeranstalterModerator())
- $beschraenkter_zugriff = 1;
- else if (benutzerVereinModerator())
- $beschraenkter_zugriff = 2;
- else
- keinZugriff(true);
+ if (benutzerZugriff("spieler_aendern"))
+ $beschraenkter_zugriff = 0;
+ else if (benutzerVeranstalterModerator())
+ $beschraenkter_zugriff = 1;
+ else if (benutzerVereinModerator())
+ $beschraenkter_zugriff = 2;
+ else
+ keinZugriff(true);
- $filter = $jinput->get('filter', '', 'RAW');
- if (empty($filter))
- $filter = $jinput->get('spezialfilter', '', 'RAW');
+ $filter = $jInput->get('filter', '', 'RAW');
+ if (empty($filter))
+ $filter = $jInput->get('spezialfilter', '', 'RAW');
- $anzahlSpieler = array();
- $query = "SELECT COUNT(DISTINCT spieler_id)"
- . "\n FROM #__sportsmanager_spieler";
- if ($beschraenkter_zugriff == 0)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 1 GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- if ($beschraenkter_zugriff == 1)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 1 AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- else if ($beschraenkter_zugriff == 2)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 1 AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $anzahlSpieler["aktiv"] = $db->loadResult();
- $jahr = date("Y");
- $db->setQuery($query . "\n WHERE " . ($jahr - 18) . " <= geburtsjahr");
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $anzahlSpieler["J aktiv"] = $db->loadResult();
- $db->setQuery($query . "\n WHERE " . ($jahr - 50) . " > geburtsjahr");
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $anzahlSpieler["S aktiv"] = $db->loadResult();
- $db->setQuery($query . "\n WHERE geschlecht = 'M' AND (ISNULL(geburtsjahr) OR (" . ($jahr - 18) . " > geburtsjahr AND " . ($jahr - 50) . " <= geburtsjahr))");
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $anzahlSpieler["H aktiv"] = $db->loadResult();
- $db->setQuery($query . "\n WHERE geschlecht <> 'M' AND (ISNULL(geburtsjahr) OR (" . ($jahr - 18) . " > geburtsjahr AND " . ($jahr - 50) . " <= geburtsjahr))");
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $anzahlSpieler["D aktiv"] = $db->loadResult();
+ $anzahlSpieler = array();
+ $query = "SELECT COUNT(DISTINCT spieler_id)"
+ . "\n FROM #__sportsmanager_spieler";
+ if ($beschraenkter_zugriff == 0)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 1 GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ if ($beschraenkter_zugriff == 1)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 1 AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ else if ($beschraenkter_zugriff == 2)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 1 AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $anzahlSpieler["aktiv"] = $db->loadResult();
+ $jahr = date("Y");
+ $db->setQuery($query . "\n WHERE " . ($jahr - 18) . " <= geburtsjahr");
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $anzahlSpieler["J aktiv"] = $db->loadResult();
+ $db->setQuery($query . "\n WHERE " . ($jahr - 50) . " > geburtsjahr");
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $anzahlSpieler["S aktiv"] = $db->loadResult();
+ $db->setQuery($query . "\n WHERE geschlecht = 'M' AND (ISNULL(geburtsjahr) OR (" . ($jahr - 18) . " > geburtsjahr AND " . ($jahr - 50) . " <= geburtsjahr))");
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $anzahlSpieler["H aktiv"] = $db->loadResult();
+ $db->setQuery($query . "\n WHERE geschlecht <> 'M' AND (ISNULL(geburtsjahr) OR (" . ($jahr - 18) . " > geburtsjahr AND " . ($jahr - 50) . " <= geburtsjahr))");
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $anzahlSpieler["D aktiv"] = $db->loadResult();
- $query = "SELECT COUNT(DISTINCT spieler_id)"
- . "\n FROM #__sportsmanager_spieler";
- if ($beschraenkter_zugriff == 0)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 2 GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- if ($beschraenkter_zugriff == 1)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 2 AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- else if ($beschraenkter_zugriff == 2)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 2 AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $anzahlSpieler["eingeschraenkt"] = $db->loadResult();
+ $query = "SELECT COUNT(DISTINCT spieler_id)"
+ . "\n FROM #__sportsmanager_spieler";
+ if ($beschraenkter_zugriff == 0)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 2 GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ if ($beschraenkter_zugriff == 1)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 2 AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ else if ($beschraenkter_zugriff == 2)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 2 AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $anzahlSpieler["eingeschraenkt"] = $db->loadResult();
- $query = "SELECT COUNT(DISTINCT spieler_id)"
- . "\n FROM #__sportsmanager_spieler";
- if ($beschraenkter_zugriff == 0)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 3 GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- if ($beschraenkter_zugriff == 1)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 3 AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- else if ($beschraenkter_zugriff == 2)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 3 AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $anzahlSpieler["passiv"] = $db->loadResult();
+ $query = "SELECT COUNT(DISTINCT spieler_id)"
+ . "\n FROM #__sportsmanager_spieler";
+ if ($beschraenkter_zugriff == 0)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 3 GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ if ($beschraenkter_zugriff == 1)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 3 AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ else if ($beschraenkter_zugriff == 2)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 3 AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $anzahlSpieler["passiv"] = $db->loadResult();
- $search = stripslashes($filter);
- if ($beschraenkter_zugriff == 0 && $search == "_____DOPPELT") {
- $jahr = date("Y");
- $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, geschlecht, pseudonym, aktueller_verein_id, spielernr, lizenznr, geburtsjahr,"
- . "\n IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teamspiele,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS turniermeldungen,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_mitglied_von_team.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teammitgliedschaften,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbspiele,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE #__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbausgangsplatzierungen,"
- . "\n vereinsname"
- . "\n FROM (SELECT COUNT(*) AS identische_namen, nachname, vorname"
- . "\n FROM #__sportsmanager_spieler"
- . "\n GROUP BY nachname, vorname"
- . "\n HAVING identische_namen > 1) AS identische_namen"
- . "\n INNER JOIN #__sportsmanager_spieler USING (nachname, vorname)"
- . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- }
- else if ($beschraenkter_zugriff == 0 && $search == "_____DOPPELT_JAHR") {
- $jahr = date("Y");
- $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, geschlecht, pseudonym, aktueller_verein_id, spielernr, lizenznr, geburtsjahr,"
- . "\n IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teamspiele,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS turniermeldungen,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_mitglied_von_team.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teammitgliedschaften,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbspiele,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE #__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbausgangsplatzierungen,"
- . "\n vereinsname"
- . "\n FROM (SELECT COUNT(*) AS identische_namen, nachname, vorname, geburtsjahr"
- . "\n FROM #__sportsmanager_spieler"
- . "\n GROUP BY nachname, vorname, geburtsjahr"
- . "\n HAVING identische_namen > 1) AS identische_namen"
- . "\n INNER JOIN #__sportsmanager_spieler USING (nachname, vorname, geburtsjahr)"
- . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
- . "\n ORDER BY nachname, vorname, geburtsjahr";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- }
- else if ($beschraenkter_zugriff == 0 && $search == "_____KEINE_SPIELERNR") {
- $jahr = date("Y");
- $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, geschlecht, pseudonym, aktueller_verein_id, spielernr, lizenznr, geburtsjahr,"
- . "\n IF (ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teamspiele,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS turniermeldungen,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_mitglied_von_team.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teammitgliedschaften,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbspiele,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE #__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbausgangsplatzierungen,"
- . "\n vereinsname"
- . "\n FROM #__sportsmanager_spieler"
- . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
- . "\n WHERE #__sportsmanager_spieler.spielernr = ''"
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- }
- else if (isset($search) && $search != "" && ($beschraenkter_zugriff == 0 || $ansprechpartner_spielerdaten_bearbeiten)) {
- $searchEscapedWildcards = strpos($search, "*") !== false ? ($db->escape(trim(mb_strtolower(str_replace("*", "%", $search), 'UTF-8')))) : ("%" . $db->escape(trim(mb_strtolower($search, 'UTF-8'))) . "%");
- $searchEscaped = $db->escape(trim($search));
+ $search = stripslashes($filter);
+ if ($beschraenkter_zugriff == 0 && $search == "_____DOPPELT") {
+ $jahr = date("Y");
+ $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, geschlecht, pseudonym, aktueller_verein_id, spielernr, lizenznr, geburtsjahr,"
+ . "\n IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teamspiele,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS turniermeldungen,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_mitglied_von_team.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teammitgliedschaften,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbspiele,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE #__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbausgangsplatzierungen,"
+ . "\n vereinsname"
+ . "\n FROM (SELECT COUNT(*) AS identische_namen, nachname, vorname"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n GROUP BY nachname, vorname"
+ . "\n HAVING identische_namen > 1) AS identische_namen"
+ . "\n INNER JOIN #__sportsmanager_spieler USING (nachname, vorname)"
+ . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ } else if ($beschraenkter_zugriff == 0 && $search == "_____DOPPELT_JAHR") {
+ $jahr = date("Y");
+ $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, geschlecht, pseudonym, aktueller_verein_id, spielernr, lizenznr, geburtsjahr,"
+ . "\n IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teamspiele,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS turniermeldungen,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_mitglied_von_team.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teammitgliedschaften,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbspiele,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE #__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbausgangsplatzierungen,"
+ . "\n vereinsname"
+ . "\n FROM (SELECT COUNT(*) AS identische_namen, nachname, vorname, geburtsjahr"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n GROUP BY nachname, vorname, geburtsjahr"
+ . "\n HAVING identische_namen > 1) AS identische_namen"
+ . "\n INNER JOIN #__sportsmanager_spieler USING (nachname, vorname, geburtsjahr)"
+ . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
+ . "\n ORDER BY nachname, vorname, geburtsjahr";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ } else if ($beschraenkter_zugriff == 0 && $search == "_____KEINE_SPIELERNR") {
+ $jahr = date("Y");
+ $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, geschlecht, pseudonym, aktueller_verein_id, spielernr, lizenznr, geburtsjahr,"
+ . "\n IF (ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teamspiele,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS turniermeldungen,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_mitglied_von_team.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teammitgliedschaften,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbspiele,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE #__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbausgangsplatzierungen,"
+ . "\n vereinsname"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
+ . "\n WHERE #__sportsmanager_spieler.spielernr = ''"
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ } else if ($search != "" && ($beschraenkter_zugriff == 0 || $ansprechpartner_spielerdaten_bearbeiten)) {
+ $searchEscapedWildcards = str_contains($search, "*") ? ($db->escape(trim(mb_strtolower(str_replace("*", "%", $search), 'UTF-8')))) : ("%" . $db->escape(trim(mb_strtolower($search, 'UTF-8'))) . "%");
+ $searchEscaped = $db->escape(trim($search));
- $jahr = date("Y");
- $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, geschlecht, pseudonym, aktueller_verein_id, spielernr, lizenznr, geburtsjahr,"
- . "\n IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teamspiele,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS turniermeldungen,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_mitglied_von_team.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teammitgliedschaften,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbspiele,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE #__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbausgangsplatzierungen,"
- . "\n vereinsname"
- . "\n FROM #__sportsmanager_spieler";
- if ($beschraenkter_zugriff == 1)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- else if ($beschraenkter_zugriff == 2)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- else
- $query .= "\n LEFT JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- $query .= "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id";
- $query .= "\n WHERE (CONCAT_WS(', ', nachname, vorname) LIKE '$searchEscapedWildcards' OR CONCAT_WS(' ', vorname, nachname) LIKE '$searchEscapedWildcards' OR spielernr = '$searchEscaped' OR lizenznr = '$searchEscaped')";
- $query .= "\n ORDER BY nachname, vorname LIMIT 101";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $jahr = date("Y");
+ $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, geschlecht, pseudonym, aktueller_verein_id, spielernr, lizenznr, geburtsjahr,"
+ . "\n IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teamspiele,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS turniermeldungen,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_mitglied_von_team.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teammitgliedschaften,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbspiele,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE #__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbausgangsplatzierungen,"
+ . "\n vereinsname"
+ . "\n FROM #__sportsmanager_spieler";
+ if ($beschraenkter_zugriff == 1)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ else if ($beschraenkter_zugriff == 2)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ else
+ $query .= "\n LEFT JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ $query .= "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id";
+ $query .= "\n WHERE (CONCAT_WS(', ', nachname, vorname) LIKE '$searchEscapedWildcards' OR CONCAT_WS(' ', vorname, nachname) LIKE '$searchEscapedWildcards' OR spielernr = '$searchEscaped' OR lizenznr = '$searchEscaped')";
+ $query .= "\n ORDER BY nachname, vorname LIMIT 101";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- if (count($rows) > 100) {
- redirectSportsManagerURL('&task=admin_spieler', "Mehr als 100 Spieler gefunden, bitte genaueren Filter verwenden.");
+ if (count($rows) > 100) {
+ redirectSportsManagerURL('&task=admin_spieler', "Mehr als 100 Spieler gefunden, bitte genaueren Filter verwenden.");
+ }
+ } else if ($anzahlSpieler["aktiv"] <= 100 && ($beschraenkter_zugriff == 0 || $ansprechpartner_spielerdaten_bearbeiten)) {
+ $jahr = date("Y");
+ $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, geschlecht, pseudonym, aktueller_verein_id, spielernr, lizenznr, geburtsjahr,"
+ . "\n IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teamspiele,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS turniermeldungen,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_mitglied_von_team.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teammitgliedschaften,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbspiele,"
+ . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE #__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbausgangsplatzierungen,"
+ . "\n vereinsname"
+ . "\n FROM #__sportsmanager_spieler";
+ if ($beschraenkter_zugriff == 1)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ else if ($beschraenkter_zugriff == 2)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ else
+ $query .= "\n LEFT JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ $query .= "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id";
+ $query .= "\n ORDER BY nachname, vorname LIMIT 101";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- return;
- }
- }
- else if ($anzahlSpieler["aktiv"] <= 100 && ($beschraenkter_zugriff == 0 || $ansprechpartner_spielerdaten_bearbeiten)) {
- $jahr = date("Y");
- $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, geschlecht, pseudonym, aktueller_verein_id, spielernr, lizenznr, geburtsjahr,"
- . "\n IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teamspiele,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS turniermeldungen,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_mitglied_von_team.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS teammitgliedschaften,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = #__sportsmanager_spieler.spieler_id OR heim_spieler_2_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_1_id = #__sportsmanager_spieler.spieler_id OR gast_spieler_2_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbspiele,"
- . "\n IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE #__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id = #__sportsmanager_spieler.spieler_id), 1, 0) AS individualwettbewerbausgangsplatzierungen,"
- . "\n vereinsname"
- . "\n FROM #__sportsmanager_spieler";
- if ($beschraenkter_zugriff == 1)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- else if ($beschraenkter_zugriff == 2)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- else
- $query .= "\n LEFT JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- $query .= "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id";
- $query .= "\n ORDER BY nachname, vorname LIMIT 101";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ if (count($rows) > 100)
+ $rows = null;
+ } else
+ $rows = null;
- if (count($rows) > 100)
- $rows = null;
- }
- else
- $rows = null;
-
- $statistik = array();
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE NOT ISNULL(spielernr) AND spielernr <> ''), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $statistik["spielernr_national"] = $db->loadResult();
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE NOT ISNULL(lizenznr) AND lizenznr <> ''), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $statistik["spielernr_international"] = $db->loadResult();
-
- HTML_sportsmanager_admin::adminSpieler($filter, $rows, $anzahlSpieler, $admin_uebersicht, $beschraenkter_zugriff, $ansprechpartner_importieren, $ansprechpartner_exportieren, $ansprechpartner_spielerdaten_bearbeiten, $ansprechpartner_bilder_bearbeiten, $statistik);
+ HTML_sportsmanager_admin::adminSpieler($filter, $rows, $anzahlSpieler, $admin_uebersicht, $beschraenkter_zugriff, $ansprechpartner_importieren, $ansprechpartner_exportieren, $ansprechpartner_spielerdaten_bearbeiten, $ansprechpartner_bilder_bearbeiten);
}
-function adminEditSpieler() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditSpieler(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $ansprechpartner_spielerdaten = einstellungswert("ansprechpartner_spielerdaten");
- $ansprechpartner_spielerdaten_bearbeiten = $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "2" || $ansprechpartner_spielerdaten == "3";
+ $ansprechpartner_spielerdaten = einstellungswert("ansprechpartner_spielerdaten");
+ $ansprechpartner_spielerdaten_bearbeiten = $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "2" || $ansprechpartner_spielerdaten == "3";
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (benutzerVeranstalterModerator() && $ansprechpartner_spielerdaten_bearbeiten)
- $beschraenkter_zugriff = 1;
- else if (benutzerVereinModerator() && $ansprechpartner_spielerdaten_bearbeiten)
- $beschraenkter_zugriff = 2;
- else
- keinZugriff(true);
+ if (benutzerZugriff("spieler_aendern"))
+ $beschraenkter_zugriff = 0;
+ else if (benutzerVeranstalterModerator() && $ansprechpartner_spielerdaten_bearbeiten)
+ $beschraenkter_zugriff = 1;
+ else if (benutzerVereinModerator() && $ansprechpartner_spielerdaten_bearbeiten)
+ $beschraenkter_zugriff = 2;
+ else
+ keinZugriff(true);
- $filter = $jinput->get('filter', '', 'RAW');
- $id = $jinput->get('id', 0, 'INT');
- if ($id == 0)
- $spieler = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 1)
- $spieler = $rows[0];
- else
- $spieler = null;
- }
+ $filter = $jInput->get('filter', '', 'RAW');
+ $id = $jInput->get('id', 0, 'INT');
+ if ($id == 0)
+ $spieler = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 1)
+ $spieler = $rows[0];
+ else
+ $spieler = null;
+ }
- if ($beschraenkter_zugriff != 0) {
- if ($id == 0)
- keinZugriff(true);
- if ($beschraenkter_zugriff == 1)
- $query = "SELECT IF(EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id AND " . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten), 1, 0)";
- else // $beschraenkter_zugriff == 2
- $query = "SELECT IF(EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id AND " . vereinFilter("#__sportsmanager_verein.verein_id IN") . "AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n == 0)
- keinZugriff(true);
- }
+ if ($beschraenkter_zugriff != 0) {
+ if ($id == 0)
+ keinZugriff(true);
+ if ($beschraenkter_zugriff == 1)
+ $query = "SELECT IF(EXISTS(
+ SELECT 1 FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein
+ WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id
+ AND " . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "
+ AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten
+ AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id
+ AND NOT #__sportsmanager_verein.ausgetreten),1, 0)";
+ else // $beschraenkter_zugriff == 2
+ $query = "SELECT IF(EXISTS(
+ SELECT 1 FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein
+ WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id
+ AND " . vereinFilter("#__sportsmanager_verein.verein_id IN") . "
+ AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten
+ AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id
+ AND NOT #__sportsmanager_verein.ausgetreten), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n == 0)
+ keinZugriff(true);
+ }
- // Vereine ermitteln
- $query = "SELECT #__sportsmanager_verein.verein_id, vereinsname, ausgetreten AS verein_ausgetreten, veranstalterbezeichnung"
- . "\n FROM #__sportsmanager_verein"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n ORDER BY veranstalterbezeichnung, vereinsname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
+ // Vereine ermitteln
+ $query = "SELECT #__sportsmanager_verein.verein_id, vereinsname, ausgetreten AS verein_ausgetreten, veranstalterbezeichnung"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . "\n ORDER BY veranstalterbezeichnung, vereinsname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereine = $db->loadObjectList();
- $vereinsmitgliedschaften = null;
- if (!empty($id)) {
- $query = "SELECT DISTINCT verein_id, mitgliedsstatus"
- . "\n FROM #__sportsmanager_verein"
- . "\n INNER JOIN (SELECT verein_id, mitgliedsstatus FROM #__sportsmanager_mitglied_von_verein WHERE spieler_id = $id) AS mitgliedschaft USING (verein_id)"
- . "\n ORDER BY IF(mitgliedsstatus <> 0, 0, 1), mitgliedsstatus, vereinsname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereinsmitgliedschaften = $db->loadObjectList();
- }
+ $vereinsmitgliedschaften = null;
+ if (!empty($id)) {
+ $query = "SELECT DISTINCT verein_id, mitgliedsstatus"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n INNER JOIN (SELECT verein_id, mitgliedsstatus FROM #__sportsmanager_mitglied_von_verein WHERE spieler_id = $id) AS mitgliedschaft USING (verein_id)"
+ . "\n ORDER BY IF(mitgliedsstatus <> 0, 0, 1), mitgliedsstatus, vereinsname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereinsmitgliedschaften = $db->loadObjectList();
+ }
- // Nächste Spieler-Nr. ermitteln
- $query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'basis_spielernr'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 0)
- die("Fehler: Inkonsistenz in den MySQL-Tabellen!");
- $naechste_spielernr = $rows[0]->wert;
- if (empty($naechste_spielernr))
- $naechste_spielernr = "1";
+ // Nächste Spieler-Nr. ermitteln
+ $query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'basis_spielernr'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 0)
+ die("Fehler: Inkonsistenz in den MySQL-Tabellen!");
+ $naechste_spielernr = $rows[0]->wert;
+ if (empty($naechste_spielernr))
+ $naechste_spielernr = "1";
- for ($i = strlen($naechste_spielernr) - 1; $i >= 0; $i--) {
- if ($naechste_spielernr[$i] < '0' || $naechste_spielernr[$i] > '9')
- break;
- }
- $spielernr_praefix = substr($naechste_spielernr, 0, $i + 1);
+ for ($i = strlen($naechste_spielernr) - 1; $i >= 0; $i--) {
+ if ($naechste_spielernr[$i] < '0' || $naechste_spielernr[$i] > '9')
+ break;
+ }
+ $spielernr_praefix = substr($naechste_spielernr, 0, $i + 1);
- $query = "SELECT spielernr"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE Left(spielernr, " . strlen($spielernr_praefix) . ") = '" . $db->escape($spielernr_praefix) . "'"
- . "\n ORDER BY LENGTH(spielernr) DESC, spielernr DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) > 0) {
- $naechste_spielernr = $rows[0]->spielernr;
- for ($i = strlen($naechste_spielernr) - 1; $i >= 0; $i--) {
- if ($naechste_spielernr[$i] < '0' || $naechste_spielernr[$i] > '9') {
- $naechste_spielernr = substr($naechste_spielernr, 0, $i + 1) . "1" . substr($naechste_spielernr, $i + 1);
- break;
- }
- if ($naechste_spielernr[$i] <= '8') {
- $naechste_spielernr[$i] = $naechste_spielernr[$i] + 1;
- break;
- }
- // $naechste_spielernr[$i] == '9'
- $naechste_spielernr[$i] = '0';
- }
- if ($i < 0)
- $naechste_spielernr = "1" . $naechste_spielernr;
- }
+ $query = "SELECT spielernr"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE Left(spielernr, " . strlen($spielernr_praefix) . ") = '" . $db->escape($spielernr_praefix) . "'"
+ . "\n ORDER BY LENGTH(spielernr) DESC, spielernr DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) > 0) {
+ $naechste_spielernr = $rows[0]->spielernr;
+ for ($i = strlen($naechste_spielernr) - 1; $i >= 0; $i--) {
+ if ($naechste_spielernr[$i] < '0' || $naechste_spielernr[$i] > '9') {
+ $naechste_spielernr = substr($naechste_spielernr, 0, $i + 1) . "1" . substr($naechste_spielernr, $i + 1);
+ break;
+ }
+ if ($naechste_spielernr[$i] <= '8') {
+ $naechste_spielernr[$i] = $naechste_spielernr[$i] + 1;
+ break;
+ }
+ $naechste_spielernr[$i] = '0';
+ }
+ if ($i < 0)
+ $naechste_spielernr = "1" . $naechste_spielernr;
+ }
- HTML_sportsmanager_admin::adminEditSpieler($spieler, $naechste_spielernr, $filter, $vereine, $vereinsmitgliedschaften, $beschraenkter_zugriff, $ansprechpartner_spielerdaten);
+ HTML_sportsmanager_admin::adminEditSpieler($spieler, $naechste_spielernr, $filter, $vereine, $vereinsmitgliedschaften, $beschraenkter_zugriff, $ansprechpartner_spielerdaten);
}
-function adminSaveSpieler() {
- $db = getDatabase();
- global $_FILES;
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveSpieler(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $ansprechpartner_spielerdaten = einstellungswert("ansprechpartner_spielerdaten");
- $ansprechpartner_spielerdaten_bearbeiten = $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "2" || $ansprechpartner_spielerdaten == "3";
+ $ansprechpartner_spielerdaten = einstellungswert("ansprechpartner_spielerdaten");
+ $ansprechpartner_spielerdaten_bearbeiten = $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "2" || $ansprechpartner_spielerdaten == "3";
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (benutzerVeranstalterModerator() && $ansprechpartner_spielerdaten_bearbeiten)
- $beschraenkter_zugriff = 1;
- else if (benutzerVereinModerator() && $ansprechpartner_spielerdaten_bearbeiten)
- $beschraenkter_zugriff = 2;
- else
- keinZugriff();
+ if (benutzerZugriff("spieler_aendern"))
+ $beschraenkter_zugriff = 0;
+ else if (benutzerVeranstalterModerator() && $ansprechpartner_spielerdaten_bearbeiten)
+ $beschraenkter_zugriff = 1;
+ else if (benutzerVereinModerator() && $ansprechpartner_spielerdaten_bearbeiten)
+ $beschraenkter_zugriff = 2;
+ else
+ keinZugriff();
- $filter = $jinput->get('filter', '', 'RAW');
- $id = $jinput->get('id', 0, 'INT');
- $vorname = $db->escape(trim($jinput->get('vorname', '', 'RAW')));
- $nachname = $db->escape(trim($jinput->get('nachname', '', 'RAW')));
- $lizenz = $db->escape(trim($jinput->get('lizenz', '', 'RAW')));
- $pseudonym = $db->escape(trim($jinput->get('pseudonym', '', 'RAW')));
- $geschlecht = $db->escape(trim($jinput->get('geschlecht', 'M', 'RAW')));
- $geburtsdatum = normalisiertesDatum($jinput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jinput->get('datum_jahr', 0, 'INT'), $jinput->get('datum_monat', 0, 'INT'), $jinput->get('datum_tag', 0, 'INT')));
- $geburtsjahr = $jinput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%d", $jinput->get('datum_jahr', 0, 'INT'));
- $strasse = $db->escape(trim($jinput->get('strasse', '', 'RAW')));
- $plz = $db->escape(trim($jinput->get('plz', '', 'RAW')));
- $ort = $db->escape(trim($jinput->get('ort', '', 'RAW')));
- $landeskennung = $db->escape(trim($jinput->get('landeskennung', '', 'RAW')));
- $telefon = $db->escape(trim($jinput->get('telefon', '', 'RAW')));
- $mobil = $db->escape(trim($jinput->get('mobil', '', 'RAW')));
- $email = $db->escape(trim($jinput->get('email', '', 'RAW')));
- $spielernr = $db->escape(trim($jinput->get('spielernr', '', 'RAW')));
- $lizenznr = $db->escape(trim($jinput->get('lizenznr', '', 'RAW')));
- $bild_ausblenden = $jinput->get('bild_ausblenden', 0, 'INT');
- $bildbeibehalten = $jinput->get('bildbeibehalten', 0, 'INT');
- $elo_startwert_einzel = max(min($jinput->get('elo_startwert_einzel', 0, 'INT'), 9999), 0);
- $elo_startwert_doppel = max(min($jinput->get('elo_startwert_doppel', 0, 'INT'), 9999), 0);
- $vereinsauswahl_anzahl = $jinput->get('vereinsauswahl_anzahl', 0, 'INT');
+ $filter = $jInput->get('filter', '', 'RAW');
+ $id = $jInput->get('id', 0, 'INT');
+ $vorname = $db->escape(trim($jInput->get('vorname', '', 'RAW')));
+ $nachname = $db->escape(trim($jInput->get('nachname', '', 'RAW')));
+ $lizenz = $db->escape(trim($jInput->get('lizenz', '', 'RAW')));
+ $pseudonym = $db->escape(trim($jInput->get('pseudonym', '', 'RAW')));
+ $geschlecht = $db->escape(trim($jInput->get('geschlecht', 'M', 'RAW')));
+ $geburtsdatum = normalisiertesDatum($jInput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jInput->get('datum_jahr', 0, 'INT'), $jInput->get('datum_monat', 0, 'INT'), $jInput->get('datum_tag', 0, 'INT')));
+ $geburtsjahr = $jInput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%d", $jInput->get('datum_jahr', 0, 'INT'));
+ $strasse = $db->escape(trim($jInput->get('strasse', '', 'RAW')));
+ $plz = $db->escape(trim($jInput->get('plz', '', 'RAW')));
+ $ort = $db->escape(trim($jInput->get('ort', '', 'RAW')));
+ $landeskennung = $db->escape(trim($jInput->get('landeskennung', '', 'RAW')));
+ $telefon = $db->escape(trim($jInput->get('telefon', '', 'RAW')));
+ $mobil = $db->escape(trim($jInput->get('mobil', '', 'RAW')));
+ $email = $db->escape(trim($jInput->get('email', '', 'RAW')));
+ $spielernr = $db->escape(trim($jInput->get('spielernr', '', 'RAW')));
+ $lizenznr = $db->escape(trim($jInput->get('lizenznr', '', 'RAW')));
+ $bild_ausblenden = $jInput->get('bild_ausblenden', 0, 'INT');
+ $bildbeibehalten = $jInput->get('bildbeibehalten', 0, 'INT');
+ $elo_startwert_einzel = max(min($jInput->get('elo_startwert_einzel', 0, 'INT'), 9999), 0);
+ $elo_startwert_doppel = max(min($jInput->get('elo_startwert_doppel', 0, 'INT'), 9999), 0);
+ $vereinsauswahl_anzahl = $jInput->get('vereinsauswahl_anzahl', 0, 'INT');
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter) . '#id' . $id);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter) . '#id' . $id);
+ }
- return;
- }
+ $vereinsmitgliedschaften = array();
+ $verein_mitgliedsstatus = array();
+ for ($i = 0; $i < $vereinsauswahl_anzahl; $i++) {
+ $verein_id = $jInput->get('verein_id_' . $i, 0, 'INT');
+ if (empty($verein_id))
+ continue;
+ $vereinsmitgliedschaften[] = $verein_id;
+ $verein_mitgliedsstatus[] = $jInput->get('verein_mitgliedsstatus_' . $i, 0, 'INT');
+ }
- $vereinsmitgliedschaften = array();
- $verein_mitgliedsstatus = array();
- for ($i = 0; $i < $vereinsauswahl_anzahl; $i++) {
- $verein_id = $jinput->get('verein_id_' . $i, 0, 'INT');
- if (empty($verein_id))
- continue;
- array_push($vereinsmitgliedschaften, $verein_id);
- array_push($verein_mitgliedsstatus, $jinput->get('verein_mitgliedsstatus_' . $i, 0, 'INT'));
- }
+ if ($beschraenkter_zugriff != 0) {
+ if ($id == 0)
+ keinZugriff(true);
+ if ($beschraenkter_zugriff == 1)
+ $query = "SELECT IF(EXISTS(
+ SELECT * FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein
+ WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id
+ AND " . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "
+ AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten
+ AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id
+ AND NOT #__sportsmanager_verein.ausgetreten), 1, 0)";
+ else // $beschraenkter_zugriff == 2
+ $query = "SELECT IF(EXISTS(
+ SELECT * FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein
+ WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id
+ AND " . vereinFilter("#__sportsmanager_verein.verein_id IN") . "
+ AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten
+ AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id
+ AND NOT #__sportsmanager_verein.ausgetreten), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n == 0)
+ keinZugriff();
+ }
- if ($beschraenkter_zugriff != 0) {
- if ($id == 0)
- keinZugriff(true);
- if ($beschraenkter_zugriff == 1)
- $query = "SELECT IF(EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id AND " . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten), 1, 0)";
- else // $beschraenkter_zugriff == 2
- $query = "SELECT IF(EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id AND " . vereinFilter("#__sportsmanager_verein.verein_id IN") . "AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n == 0)
- keinZugriff();
- }
+ if (strlen($spielernr) > 0) {
+ $query = "SELECT COUNT(*) FROM #__sportsmanager_spieler WHERE spielernr = '$spielernr' AND spieler_id != $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) {
+ redirectSportsManagerURL('&task=admin_spieler', Text::_('COM_SPORTSMANAGER_PLAYER_NO_USED'));
+ }
+ }
- if (strlen($spielernr) > 0) {
- $query = "SELECT COUNT(*) FROM #__sportsmanager_spieler WHERE spielernr = '$spielernr' AND spieler_id != $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) {
- redirectSportsManagerURL('&task=admin_spieler', JText::_('COM_SPORTSMANAGER_PLAYER_NO_USED'));
+ $rangliste_aktualisieren = false;
+ $elo_aktualisieren = false;
+ // Vereinsmitgliedschaften prüfen und ggf. aktualisieren
+ if ($id != 0 && !$beschraenkter_zugriff) {
+ $query = "SELECT verein_id, #__sportsmanager_mitglied_von_verein.ausgetreten, mitgliedsstatus"
+ . "\n FROM #__sportsmanager_mitglied_von_verein"
+ . "\n INNER JOIN #__sportsmanager_verein USING (verein_id)"
+ . "\n WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $bestehende_vereinsmitgliedschaften = $db->loadObjectList();
- return;
- }
- }
+ foreach ($bestehende_vereinsmitgliedschaften as $bestehende_vereinsmitgliedschaft) {
+ $ist_mitglied = false;
+ foreach ($vereinsmitgliedschaften as $verein_id) {
+ if ($bestehende_vereinsmitgliedschaft->verein_id == $verein_id) {
+ $ist_mitglied = true;
+ break;
+ }
+ }
+ if (!$ist_mitglied) {
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE verein_id = $bestehende_vereinsmitgliedschaft->verein_id AND spieler_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- $rangliste_aktualisieren = false;
- $elo_aktualisieren = false;
- // Vereinsmitgliedschaften prüfen und ggf. aktualisieren
- if ($id != 0 && !$beschraenkter_zugriff) {
- $query = "SELECT verein_id, #__sportsmanager_mitglied_von_verein.ausgetreten, mitgliedsstatus"
- . "\n FROM #__sportsmanager_mitglied_von_verein"
- . "\n INNER JOIN #__sportsmanager_verein USING (verein_id)"
- . "\n WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $bestehende_vereinsmitgliedschaften = $db->loadObjectList();
+ $mitgliedsstatus = null;
+ foreach ($vereinsmitgliedschaften as $index => $verein_id) {
+ $ist_mitglied = false;
+ foreach ($bestehende_vereinsmitgliedschaften as $bestehende_vereinsmitgliedschaft) {
+ if ($bestehende_vereinsmitgliedschaft->verein_id == $verein_id) {
+ $ist_mitglied = true;
+ $mitgliedsstatus = $bestehende_vereinsmitgliedschaft->mitgliedsstatus;
+ break;
+ }
+ }
+ if (!$ist_mitglied) {
+ $query = "SELECT COUNT(*)"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n WHERE verein_id = $verein_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
- foreach ($bestehende_vereinsmitgliedschaften as $bestehende_vereinsmitgliedschaft) {
- $ist_mitglied = false;
- foreach ($vereinsmitgliedschaften as $verein_id) {
- if ($bestehende_vereinsmitgliedschaft->verein_id == $verein_id) {
- $ist_mitglied = true;
- break;
- }
- }
- if (!$ist_mitglied) {
- $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE verein_id = $bestehende_vereinsmitgliedschaft->verein_id AND spieler_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- //if ($id != 0)
- // $rangliste_und_elo_aktualisieren = TRUE;
- }
- }
+ if ($n > 0) {
+ $query = "INSERT INTO #__sportsmanager_mitglied_von_verein (spieler_id, verein_id, mitgliedsstatus, ausgetreten) VALUES ('$id', '$verein_id', '" . ($verein_mitgliedsstatus[$index]) . "', " . ($verein_mitgliedsstatus[$index] == 0 ? "TRUE" : "FALSE") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else if ($mitgliedsstatus != $verein_mitgliedsstatus[$index]) {
+ $query = "UPDATE #__sportsmanager_mitglied_von_verein"
+ . "\n SET mitgliedsstatus = '" . ($verein_mitgliedsstatus[$index]) . "',"
+ . "\n ausgetreten = " . ($verein_mitgliedsstatus[$index] == 0 ? "TRUE" : "FALSE")
+ . "\n WHERE verein_id = $verein_id AND spieler_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
- foreach ($vereinsmitgliedschaften as $index => $verein_id) {
- $ist_mitglied = false;
- foreach ($bestehende_vereinsmitgliedschaften as $bestehende_vereinsmitgliedschaft) {
- if ($bestehende_vereinsmitgliedschaft->verein_id == $verein_id) {
- $ist_mitglied = true;
- $mitgliedsstatus = $bestehende_vereinsmitgliedschaft->mitgliedsstatus;
- break;
- }
- }
- if (!$ist_mitglied) {
- $query = "SELECT COUNT(*)"
- . "\n FROM #__sportsmanager_verein"
- . "\n WHERE verein_id = $verein_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
+ if ($id == 0 && !$beschraenkter_zugriff) {
+ $query = "INSERT INTO #__sportsmanager_spieler "
+ . "(vorname, nachname, lizenz, pseudonym, geschlecht, geburtsdatum, geburtsjahr, strasse, plz, ort, landeskennung, telefon, mobil, email, spielernr, lizenznr, elo_einzel_startwert, elo_doppel_startwert, bild_ausblenden) "
+ . "VALUES ('$vorname', "
+ . "'$nachname', "
+ . "'$lizenz', "
+ . "'$pseudonym', "
+ . "'$geschlecht', "
+ . ($geburtsdatum == null ? "NULL" : "'$geburtsdatum'") . ", "
+ . ($geburtsjahr == null ? "NULL" : "'$geburtsjahr'") . ", "
+ . "'$strasse', "
+ . "'$plz', "
+ . "'$ort', "
+ . "'$landeskennung', "
+ . "'$telefon', "
+ . "'$mobil', "
+ . "'$email', "
+ . "'$spielernr', "
+ . "'$lizenznr', "
+ . "'$elo_startwert_einzel', "
+ . "'$elo_startwert_doppel', "
+ . ($bild_ausblenden ? "TRUE" : "FALSE") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
- if ($n > 0) {
- $query = "INSERT INTO #__sportsmanager_mitglied_von_verein (spieler_id, verein_id, mitgliedsstatus, ausgetreten) VALUES ('$id', '$verein_id', '" . ($verein_mitgliedsstatus[$index]) . "', " . ($verein_mitgliedsstatus[$index] == 0 ? "TRUE" : "FALSE") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- // if ($id != 0)
- // $rangliste_und_elo_aktualisieren = TRUE;
- }
- }
- else if ($mitgliedsstatus != $verein_mitgliedsstatus[$index]) {
- $query = "UPDATE #__sportsmanager_mitglied_von_verein"
- . "\n SET mitgliedsstatus = '" . ($verein_mitgliedsstatus[$index]) . "',"
- . "\n ausgetreten = " . ($verein_mitgliedsstatus[$index] == 0 ? "TRUE" : "FALSE")
- . "\n WHERE verein_id = $verein_id AND spieler_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- // if ($id != 0)
- // $rangliste_und_elo_aktualisieren = TRUE;
- }
- }
- }
+ // Vereinsmitgliedschaften erzeugen
+ foreach ($vereinsmitgliedschaften as $index => $verein_id) {
+ $query = "SELECT COUNT(*)"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n WHERE verein_id = $verein_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
- if ($id == 0 && !$beschraenkter_zugriff) {
- $query = "INSERT INTO #__sportsmanager_spieler "
- . "(vorname, nachname, lizenz, pseudonym, geschlecht, geburtsdatum, geburtsjahr, strasse, plz, ort, landeskennung, telefon, mobil, email, spielernr, lizenznr, elo_einzel_startwert, elo_doppel_startwert, bild_ausblenden) "
- . "VALUES ('$vorname', "
- . "'$nachname', "
- . "'$lizenz', "
- . "'$pseudonym', "
- . "'$geschlecht', "
- . ($geburtsdatum == null ? "NULL" : "'$geburtsdatum'") . ", "
- . ($geburtsjahr == null ? "NULL" : "'$geburtsjahr'") . ", "
- . "'$strasse', "
- . "'$plz', "
- . "'$ort', "
- . "'$landeskennung', "
- . "'$telefon', "
- . "'$mobil', "
- . "'$email', "
- . "'$spielernr', "
- . "'$lizenznr', "
- . "'$elo_startwert_einzel', "
- . "'$elo_startwert_doppel', "
- . ($bild_ausblenden ? "TRUE" : "FALSE") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
+ if ($n > 0) {
+ $query = "INSERT INTO #__sportsmanager_mitglied_von_verein (spieler_id, verein_id, mitgliedsstatus, ausgetreten) VALUES ('$id', '$verein_id', '" . ($verein_mitgliedsstatus[$index]) . "', " . ($verein_mitgliedsstatus[$index] == 0 ? "TRUE" : "FALSE") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+ $spieler = null;
+ if ($id != 0 && (!$beschraenkter_zugriff || $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "2")) {
- // Vereinsmitgliedschaften erzeugen
- foreach ($vereinsmitgliedschaften as $index => $verein_id) {
- $query = "SELECT COUNT(*)"
- . "\n FROM #__sportsmanager_verein"
- . "\n WHERE verein_id = $verein_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
+ $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ redirectSportsManagerURL('&task=admin_spieler', "Der Spieler existiert nicht mehr!");
+ }
+ $spieler = $rows[0];
- if ($n > 0) {
- $query = "INSERT INTO #__sportsmanager_mitglied_von_verein (spieler_id, verein_id, mitgliedsstatus, ausgetreten) VALUES ('$id', '$verein_id', '" . ($verein_mitgliedsstatus[$index]) . "', " . ($verein_mitgliedsstatus[$index] == 0 ? "TRUE" : "FALSE") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
- if ($id != 0 && (!$beschraenkter_zugriff || $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "2")) {
+ if ($spieler->elo_einzel_startwert != $elo_startwert_einzel || $spieler->elo_doppel_startwert != $elo_startwert_doppel)
+ $elo_aktualisieren = true;
- $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- redirectSportsManagerURL('&task=admin_spieler', "Der Spieler existiert nicht mehr!");
+ $query = "UPDATE #__sportsmanager_spieler"
+ . "\n SET pseudonym = '$pseudonym',"
+ . "\n strasse = '$strasse',"
+ . "\n plz = '$plz',"
+ . "\n ort = '$ort',"
+ . "\n landeskennung = '$landeskennung',"
+ . "\n telefon = '$telefon',"
+ . "\n mobil = '$mobil',"
+ . "\n bild_ausblenden = " . ($bild_ausblenden ? "TRUE" : "FALSE") . ",";
+ if (!$beschraenkter_zugriff) {
+ $query .= "\n vorname = '$vorname',"
+ . "\n nachname = '$nachname',"
+ . "\n lizenz = '$lizenz',"
+ . "\n geschlecht = '$geschlecht',"
+ . "\n geburtsdatum = " . ($geburtsdatum == null ? "NULL" : "'$geburtsdatum'") . ","
+ . "\n geburtsjahr = " . ($geburtsjahr == null ? "NULL" : "'$geburtsjahr'") . ","
+ . "\n spielernr = '$spielernr',"
+ . "\n lizenznr = '$lizenznr',"
+ . "\n elo_einzel_startwert = " . ($elo_startwert_einzel == null ? "NULL" : "'$elo_startwert_einzel'") . ","
+ . "\n elo_doppel_startwert = " . ($elo_startwert_doppel == null ? "NULL" : "'$elo_startwert_doppel'") . ",";
+ }
+ $query .= "\n email = '$email'"
+ . "\n WHERE spieler_id = $id";
- return;
- }
- $spieler = $rows[0];
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- if ($spieler->elo_einzel_startwert != $elo_startwert_einzel || $spieler->elo_doppel_startwert != $elo_startwert_doppel)
- $elo_aktualisieren = true;
+ if ($geburtsjahr != $spieler->geburtsjahr || $geschlecht != $spieler->geschlecht)
+ $rangliste_aktualisieren = true;
+ }
- $query = "UPDATE #__sportsmanager_spieler"
- . "\n SET pseudonym = '$pseudonym',"
- . "\n strasse = '$strasse',"
- . "\n plz = '$plz',"
- . "\n ort = '$ort',"
- . "\n landeskennung = '$landeskennung',"
- . "\n telefon = '$telefon',"
- . "\n mobil = '$mobil',"
- . "\n bild_ausblenden = " . ($bild_ausblenden ? "TRUE" : "FALSE") . ",";
- if (!$beschraenkter_zugriff) {
- $query .= "\n vorname = '$vorname',"
- . "\n nachname = '$nachname',"
- . "\n lizenz = '$lizenz',"
- . "\n geschlecht = '$geschlecht',"
- . "\n geburtsdatum = " . ($geburtsdatum == null ? "NULL" : "'$geburtsdatum'") . ","
- . "\n geburtsjahr = " . ($geburtsjahr == null ? "NULL" : "'$geburtsjahr'") . ","
- . "\n spielernr = '$spielernr',"
- . "\n lizenznr = '$lizenznr',"
- . "\n elo_einzel_startwert = " . ($elo_startwert_einzel == null ? "NULL" : "'$elo_startwert_einzel'") . ","
- . "\n elo_doppel_startwert = " . ($elo_startwert_doppel == null ? "NULL" : "'$elo_startwert_doppel'") . ",";
- }
- $query .= "\n email = '$email'"
- . "\n WHERE spieler_id = $id";
+ if ($elo_aktualisieren)
+ eloAktualisieren($spieler->erstmals_gespielt);
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ if ($bildbeibehalten == 0 && (!$beschraenkter_zugriff || $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "3")) {
+ bildLoeschen('spieler', $id);
- if ($geburtsjahr != $spieler->geburtsjahr || $geschlecht != $spieler->geschlecht)
- $rangliste_aktualisieren = true;
- }
+ if (!empty($_FILES["bild"]["tmp_name"])) {
+ if (is_uploaded_file($_FILES["bild"]["tmp_name"])) {
+ $size = getimagesize($_FILES["bild"]["tmp_name"]);
+ if (!$size
+ || ($size[2] != IMAGETYPE_JPEG && $size[2] != IMAGETYPE_PNG)
+ || ($size[0] < 60 || $size[1] < 60 || $size[0] > 8192 || $size[1] > 8192)) {
+ redirectSportsManagerURL('&task=admin_spieler', Text::_('COM_SPORTSMANAGER_PLAYER_WRONG_IMAGE_FORMAT'));
+ }
+ $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'spieler';
+ if (!bildKopierenAngepasst($_FILES["bild"]["tmp_name"], $bilder_pfad . DIRECTORY_SEPARATOR . $id . ($size[2] == IMAGETYPE_PNG ? '.png' : '.jpg'), 180, 240, 1)) {
+ redirectSportsManagerURL('&task=admin_spieler', Text::_('COM_SPORTSMANAGER_IMAGE_COULD_NOT_COPIED'));
+ }
+ }
+ }
+ }
- if ($elo_aktualisieren)
- eloAktualisieren($spieler->erstmals_gespielt);
+ aktuellerVereinAktualisieren($id);
+ if ($rangliste_aktualisieren) {
+ ranglisteAktualisieren(0, 0, $id);
+ einstufungAktualisieren();
+ }
- if ($bildbeibehalten == 0 && (!$beschraenkter_zugriff || $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "3")) {
- bildLoeschen('spieler', $id);
-
- if (!empty($_FILES["bild"]["tmp_name"])) {
- if (is_uploaded_file($_FILES["bild"]["tmp_name"])) {
- $size = getimagesize($_FILES["bild"]["tmp_name"]);
- if ($size == false
- || ($size[2] != IMAGETYPE_JPEG && $size[2] != IMAGETYPE_PNG)
- || ($size[0] < 60 || $size[1] < 60 || $size[0] > 8192 || $size[1] > 8192)) {
- redirectSportsManagerURL('&task=admin_spieler', JText::_('COM_SPORTSMANAGER_PLAYER_WRONG_IMAGE_FORMAT'));
-
- return;
- }
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'spieler';
- if (!bildKopierenAngepasst($_FILES["bild"]["tmp_name"], $bilder_pfad . DIRECTORY_SEPARATOR . $id . ($size[2] == IMAGETYPE_PNG ? '.png' : '.jpg'), 180, 240, 1)) {
- redirectSportsManagerURL('&task=admin_spieler', JText::_('COM_SPORTSMANAGER_IMAGE_COULD_NOT_COPIED'));
-
- return;
- }
- }
- }
- }
-
- aktuellerVereinAktualisieren($id);
- if ($rangliste_aktualisieren) {
- ranglisteAktualisieren(0, 0, $id);
- einstufungAktualisieren();
- }
-
- redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter) . '#id' . $id);
+ redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter) . '#id' . $id);
}
-function adminRemoveSpieler() {
- $db = getDatabase();
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveSpieler(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("spieler_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("spieler_aendern"))
+ keinZugriff(true);
- $filter = $jinput->get('filter', '', 'RAW');
- $id = $jinput->get('id', 0, 'INT');
+ $filter = $jInput->get('filter', '', 'RAW');
+ $id = $jInput->get('id', 0, 'INT');
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = $id OR heim_spieler_2_id = $id OR gast_spieler_1_id = $id OR gast_spieler_2_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = $id OR heim_spieler_2_id = $id OR gast_spieler_1_id = $id OR gast_spieler_2_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE spieler_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE spieler_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE spieler_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE spieler_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = $id OR heim_spieler_2_id = $id OR gast_spieler_1_id = $id OR gast_spieler_2_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = $id OR heim_spieler_2_id = $id OR gast_spieler_1_id = $id OR gast_spieler_2_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE spieler_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE spieler_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
- $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE spieler_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE spieler_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_spieler WHERE spieler_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_spieler WHERE spieler_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- bildLoeschen("spieler", $id);
+ bildLoeschen("spieler", $id);
- spielerstatistikAktualisieren();
+ spielerstatistikAktualisieren();
- redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter));
+ redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter));
}
-function adminGroomingMehrfacheMitgliedschaften() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminGroomingMehrfacheMitgliedschaften(): void
+{
+ $db = getDatabase();
- if (!benutzerZugriff("spieler_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("spieler_aendern"))
+ keinZugriff(true);
- $query = "SELECT spieler_id, COUNT(*) AS mehrfach"
- . "\n FROM #__sportsmanager_mitglied_von_verein"
- . "\n GROUP BY spieler_id, verein_id"
- . "\n HAVING mehrfach > 1"
- . "\n ORDER BY spieler_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $mitglieder = $db->loadObjectList();
+ $query = "SELECT spieler_id, COUNT(*) AS mehrfach"
+ . "\n FROM #__sportsmanager_mitglied_von_verein"
+ . "\n GROUP BY spieler_id, verein_id"
+ . "\n HAVING mehrfach > 1"
+ . "\n ORDER BY spieler_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $mitglieder = $db->loadObjectList();
- foreach ($mitglieder as $mitglied) {
- $query = "SELECT mitglied_von_verein_id, verein_id"
- . "\n FROM #__sportsmanager_mitglied_von_verein"
- . "\n WHERE spieler_id = $mitglied->spieler_id"
- . "\n ORDER BY verein_id, ausgetreten, mitgliedsstatus";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ foreach ($mitglieder as $mitglied) {
+ $query = "SELECT mitglied_von_verein_id, verein_id"
+ . "\n FROM #__sportsmanager_mitglied_von_verein"
+ . "\n WHERE spieler_id = $mitglied->spieler_id"
+ . "\n ORDER BY verein_id, ausgetreten, mitgliedsstatus";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $mitglied_verein_id = -1;
- foreach ($rows as $row) {
- if ($mitglied_verein_id != $row->verein_id) {
- $mitglied_verein_id = $row->verein_id;
- continue;
- }
- $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE mitglied_von_verein_id = '$row->mitglied_von_verein_id';";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
+ $mitglied_verein_id = -1;
+ foreach ($rows as $row) {
+ if ($mitglied_verein_id != $row->verein_id) {
+ $mitglied_verein_id = $row->verein_id;
+ continue;
+ }
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE mitglied_von_verein_id = '$row->mitglied_von_verein_id';";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- redirectSportsManagerURL('&task=admin_uebersicht');
+ redirectSportsManagerURL('&task=admin_uebersicht');
}
-function adminSpielerZusammenlegenForm() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminSpielerZusammenlegenForm(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("spieler_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("spieler_aendern"))
+ keinZugriff(true);
- $filter = $jinput->get('filter', '', 'RAW');
+ $filter = $jInput->get('filter', '', 'RAW');
- $query = "SELECT spieler_id, vorname, nachname, spielernr, aktueller_verein_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n ORDER BY nachname, vorname, spielernr, aktueller_verein_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
+ $query = "SELECT spieler_id, vorname, nachname, spielernr, aktueller_verein_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n ORDER BY nachname, vorname, spielernr, aktueller_verein_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler = $db->loadObjectList();
- HTML_sportsmanager_admin::adminSpielerZusammenlegen($spieler, $filter);
+ HTML_sportsmanager_admin::adminSpielerZusammenlegen($spieler, $filter);
}
-function adminSpielerZusammenlegen() {
- $db = getDatabase();
- global $_FILES;
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSpielerZusammenlegen(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("spieler_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("spieler_aendern"))
+ keinZugriff();
- $spieler_beizubehalten_id = $jinput->get('spieler_beizubehalten_id', 0, 'INT');
- $spieler_zu_entfernen_id = $jinput->get('spieler_zu_entfernen_id', 0, 'INT');
- $filter = $jinput->get('filter', '', 'RAW');
+ $spieler_beizubehalten_id = $jInput->get('spieler_beizubehalten_id', 0, 'INT');
+ $spieler_zu_entfernen_id = $jInput->get('spieler_zu_entfernen_id', 0, 'INT');
+ $filter = $jInput->get('filter', '', 'RAW');
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter));
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter));
+ }
- return;
- }
+ if ($spieler_beizubehalten_id == $spieler_zu_entfernen_id) {
+ redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter) . '#id' . $spieler_beizubehalten_id, "Zum Zusammanlegen müssen zwei unterschiedliche Spieler gewählt werden");
+ }
- if ($spieler_beizubehalten_id == $spieler_zu_entfernen_id) {
- redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter) . '#id' . $spieler_beizubehalten_id, "Zum Zusammanlegen müssen zwei unterschiedliche Spieler gewählt werden");
+ if (!ini_get('safe_mode'))
+ set_time_limit(300);
- return;
- }
+ $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $spieler_beizubehalten_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter), "Beizubehaltender Spieler existiert nicht.");
+ }
- if (!ini_get('safe_mode'))
- set_time_limit(300);
+ $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter) . '#id' . $spieler_beizubehalten_id, "Zu entfernender Spieler existiert nicht.");
+ }
+ $spieler_zu_entfernen = $rows[0];
- $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $spieler_beizubehalten_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter), "Beizubehaltender Spieler existiert nicht.");
- }
- $spieler_beizubehalten = $rows[0];
+ $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin_punkte"
+ . "\n WHERE spieler_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter) . '#id' . $spieler_beizubehalten_id, "Zu entfernender Spieler existiert nicht.");
- }
- $spieler_zu_entfernen = $rows[0];
+ $query = "DELETE FROM #__sportsmanager_rangliste_punkte"
+ . "\n WHERE spieler_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin_punkte"
- . "\n WHERE spieler_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "UPDATE #__sportsmanager_turniermeldung_spieler"
+ . "\n SET spieler_id = $spieler_beizubehalten_id"
+ . "\n WHERE spieler_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_rangliste_punkte"
- . "\n WHERE spieler_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "UPDATE #__sportsmanager_teamspiel"
+ . "\n SET heim_spieler_1_id = $spieler_beizubehalten_id"
+ . "\n WHERE heim_spieler_1_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "UPDATE #__sportsmanager_turniermeldung_spieler"
- . "\n SET spieler_id = $spieler_beizubehalten_id"
- . "\n WHERE spieler_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "UPDATE #__sportsmanager_teamspiel"
+ . "\n SET heim_spieler_2_id = $spieler_beizubehalten_id"
+ . "\n WHERE heim_spieler_2_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "UPDATE #__sportsmanager_teamspiel"
- . "\n SET heim_spieler_1_id = $spieler_beizubehalten_id"
- . "\n WHERE heim_spieler_1_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "UPDATE #__sportsmanager_teamspiel"
+ . "\n SET gast_spieler_1_id = $spieler_beizubehalten_id"
+ . "\n WHERE gast_spieler_1_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "UPDATE #__sportsmanager_teamspiel"
- . "\n SET heim_spieler_2_id = $spieler_beizubehalten_id"
- . "\n WHERE heim_spieler_2_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "UPDATE #__sportsmanager_teamspiel"
+ . "\n SET gast_spieler_2_id = $spieler_beizubehalten_id"
+ . "\n WHERE gast_spieler_2_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "UPDATE #__sportsmanager_teamspiel"
- . "\n SET gast_spieler_1_id = $spieler_beizubehalten_id"
- . "\n WHERE gast_spieler_1_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "UPDATE #__sportsmanager_individualwettbewerb_spiel"
+ . "\n SET heim_spieler_1_id = $spieler_beizubehalten_id"
+ . "\n WHERE heim_spieler_1_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "UPDATE #__sportsmanager_teamspiel"
- . "\n SET gast_spieler_2_id = $spieler_beizubehalten_id"
- . "\n WHERE gast_spieler_2_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "UPDATE #__sportsmanager_individualwettbewerb_spiel"
+ . "\n SET heim_spieler_2_id = $spieler_beizubehalten_id"
+ . "\n WHERE heim_spieler_2_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "UPDATE #__sportsmanager_individualwettbewerb_spiel"
- . "\n SET heim_spieler_1_id = $spieler_beizubehalten_id"
- . "\n WHERE heim_spieler_1_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "UPDATE #__sportsmanager_individualwettbewerb_spiel"
+ . "\n SET gast_spieler_1_id = $spieler_beizubehalten_id"
+ . "\n WHERE gast_spieler_1_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "UPDATE #__sportsmanager_individualwettbewerb_spiel"
- . "\n SET heim_spieler_2_id = $spieler_beizubehalten_id"
- . "\n WHERE heim_spieler_2_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "UPDATE #__sportsmanager_individualwettbewerb_spiel"
+ . "\n SET gast_spieler_2_id = $spieler_beizubehalten_id"
+ . "\n WHERE gast_spieler_2_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "UPDATE #__sportsmanager_individualwettbewerb_spiel"
- . "\n SET gast_spieler_1_id = $spieler_beizubehalten_id"
- . "\n WHERE gast_spieler_1_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "SELECT DISTINCT individualwettbewerb_id"
+ . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n WHERE spieler_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $individualwettbewerbe = $db->loadObjectList();
- $query = "UPDATE #__sportsmanager_individualwettbewerb_spiel"
- . "\n SET gast_spieler_2_id = $spieler_beizubehalten_id"
- . "\n WHERE gast_spieler_2_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ foreach ($individualwettbewerbe as $individualwettbewerb) {
+ $individualwettbewerbId = $individualwettbewerb->individualwettbewerb_id;
- $query = "SELECT DISTINCT individualwettbewerb_id"
- . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n WHERE spieler_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $individualwettbewerbe = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n WHERE individualwettbewerb_id = $individualwettbewerbId"
+ . "\n ORDER BY platz";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ausgangsplatzierungen = $db->loadObjectList();
- foreach ($individualwettbewerbe as $individualwettbewerb) {
- $individualwettbewerbid = $individualwettbewerb->individualwettbewerb_id;
+ $platzierungen = array();
+ foreach ($ausgangsplatzierungen as $ausgangsplatzierung)
+ $platzierungen[] = $ausgangsplatzierung->spieler_id;
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n WHERE individualwettbewerb_id = $individualwettbewerbid"
- . "\n ORDER BY platz";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ausgangsplatzierungen = $db->loadObjectList();
+ $spieler_beizubehalten_platzierung = in_array($spieler_beizubehalten_id, $platzierungen);
+ $spieler_zu_entfernen_platzierung = array_search($spieler_zu_entfernen_id, $platzierungen);
+ if ($spieler_beizubehalten_platzierung !== false && $spieler_zu_entfernen_platzierung !== false)
+ array_splice($platzierungen, $spieler_zu_entfernen_platzierung, 1);
+ else if ($spieler_beizubehalten_platzierung === false)
+ array_splice($platzierungen, $spieler_zu_entfernen_platzierung, 1, $spieler_beizubehalten_id);
- $platzierungen = array();
- foreach ($ausgangsplatzierungen as $ausgangsplatzierung)
- array_push($platzierungen, $ausgangsplatzierung->spieler_id);
+ $platzierungen_uebrig = $platzierungen;
+ foreach ($ausgangsplatzierungen as $platzierung_vorhanden) {
+ $index = array_search($platzierung_vorhanden->spieler_id, $platzierungen);
+ if ($index !== false) {
+ $platz = $index + 1;
+ if ($platzierung_vorhanden->platz != $platz) {
+ $query = "UPDATE #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n SET platz = '$platz'"
+ . "\n WHERE individualwettbewerb_ausgangsplatzierung_id = " . $platzierung_vorhanden->individualwettbewerb_ausgangsplatzierung_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $spieler_beizubehalten_platzierung = array_search($spieler_beizubehalten_id, $platzierungen);
- $spieler_zu_entfernen_platzierung = array_search($spieler_zu_entfernen_id, $platzierungen);
- if ($spieler_beizubehalten_platzierung !== false && $spieler_zu_entfernen_platzierung !== false)
- array_splice($platzierungen, $spieler_zu_entfernen_platzierung, 1);
- else if ($spieler_beizubehalten_platzierung === false)
- array_splice($platzierungen, $spieler_zu_entfernen_platzierung, 1, $spieler_beizubehalten_id);
+ $index_uebrig = array_search($platzierung_vorhanden->spieler_id, $platzierungen_uebrig);
+ unset($platzierungen_uebrig[$index_uebrig]);
+ } else {
+ $query = "DELETE FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE individualwettbewerb_ausgangsplatzierung_id = " . $platzierung_vorhanden->individualwettbewerb_ausgangsplatzierung_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- $platzierungen_uebrig = $platzierungen;
- foreach ($ausgangsplatzierungen as $platzierung_vorhanden) {
- $index = array_search($platzierung_vorhanden->spieler_id, $platzierungen);
- if ($index !== false) {
- $platz = $index + 1;
- if ($platzierung_vorhanden->platz != $platz) {
- $query = "UPDATE #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n SET platz = '$platz'"
- . "\n WHERE individualwettbewerb_ausgangsplatzierung_id = " . $platzierung_vorhanden->individualwettbewerb_ausgangsplatzierung_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ foreach ($platzierungen_uebrig as $platzierung_uebrig) {
+ $index = array_search($platzierung_uebrig, $platzierungen);
+ $platz = $index + 1;
+ $query = "INSERT #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n SET individualwettbewerb_id = '$individualwettbewerbId',"
+ . "\n spieler_id = '$platzierung_uebrig',"
+ . "\n platz = '$platz'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- $index_uebrig = array_search($platzierung_vorhanden->spieler_id, $platzierungen_uebrig);
- unset($platzierungen_uebrig[$index_uebrig]);
- }
- else {
- $query = "DELETE FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE individualwettbewerb_ausgangsplatzierung_id = " . $platzierung_vorhanden->individualwettbewerb_ausgangsplatzierung_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
+ $query = "UPDATE #__sportsmanager_mitglied_von_team"
+ . "\n SET spieler_id = $spieler_beizubehalten_id"
+ . "\n WHERE spieler_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- foreach ($platzierungen_uebrig as $platzierung_uebrig) {
- $index = array_search($platzierung_uebrig, $platzierungen);
- $platz = $index + 1;
- $query = "INSERT #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n SET individualwettbewerb_id = '$individualwettbewerbid',"
- . "\n spieler_id = '$platzierung_uebrig',"
- . "\n platz = '$platz'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
+ $query = "SELECT mitglied_von_verein_id, verein_id"
+ . "\n FROM #__sportsmanager_mitglied_von_verein"
+ . "\n WHERE spieler_id = $spieler_beizubehalten_id OR spieler_id = $spieler_zu_entfernen_id"
+ . "\n ORDER BY verein_id, ausgetreten, IF(spieler_id = $spieler_beizubehalten_id, 0, 1), mitgliedsstatus";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $query = "UPDATE #__sportsmanager_mitglied_von_team"
- . "\n SET spieler_id = $spieler_beizubehalten_id"
- . "\n WHERE spieler_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $mitglied_verein_id = -1;
+ foreach ($rows as $row) {
+ if ($mitglied_verein_id != $row->verein_id) {
+ $mitglied_verein_id = $row->verein_id;
+ continue;
+ }
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE mitglied_von_verein_id = '$row->mitglied_von_verein_id';";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "SELECT mitglied_von_verein_id, verein_id"
- . "\n FROM #__sportsmanager_mitglied_von_verein"
- . "\n WHERE spieler_id = $spieler_beizubehalten_id OR spieler_id = $spieler_zu_entfernen_id"
- . "\n ORDER BY verein_id, ausgetreten, IF(spieler_id = $spieler_beizubehalten_id, 0, 1), mitgliedsstatus";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "UPDATE #__sportsmanager_mitglied_von_verein"
+ . "\n SET spieler_id = $spieler_beizubehalten_id"
+ . "\n WHERE spieler_id = $spieler_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $mitglied_verein_id = -1;
- foreach ($rows as $row) {
- if ($mitglied_verein_id != $row->verein_id) {
- $mitglied_verein_id = $row->verein_id;
- continue;
- }
- $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE mitglied_von_verein_id = '$row->mitglied_von_verein_id';";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $query = "DELETE FROM #__sportsmanager_spieler WHERE spieler_id = $spieler_zu_entfernen_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "UPDATE #__sportsmanager_mitglied_von_verein"
- . "\n SET spieler_id = $spieler_beizubehalten_id"
- . "\n WHERE spieler_id = $spieler_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'spieler';
+ $neues_bild_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $spieler_beizubehalten_id . '.';
- $query = "DELETE FROM #__sportsmanager_spieler WHERE spieler_id = $spieler_zu_entfernen_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ if (!File::exists($neues_bild_pfad . 'png') && !File::exists($neues_bild_pfad . 'jpg')) {
+ $altes_bild_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $spieler_zu_entfernen_id . '.';
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'spieler';
- $neues_bild_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $spieler_beizubehalten_id . '.';
+ if (File::exists($altes_bild_pfad . 'png'))
+ File::copy($altes_bild_pfad . 'png', $neues_bild_pfad . 'png');
+ else if (File::exists($altes_bild_pfad . 'jpg'))
+ File::copy($altes_bild_pfad . 'jpg', $neues_bild_pfad . 'jpg');
+ }
- if (!JFile::exists($neues_bild_pfad . 'png') && !JFile::exists($neues_bild_pfad . 'jpg')) {
- $altes_bild_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $spieler_zu_entfernen_id . '.';
+ bildLoeschen("spieler", $spieler_zu_entfernen_id);
- if (JFile::exists($altes_bild_pfad . 'png'))
- JFile::copy($altes_bild_pfad . 'png', $neues_bild_pfad . 'png');
- else if (JFile::exists($altes_bild_pfad . 'jpg'))
- JFile::copy($altes_bild_pfad . 'jpg', $neues_bild_pfad . 'jpg');
- }
+ if (!empty($spieler_zu_entfernen->erstmals_gespielt)) {
+ wannGespieltAktualisieren();
+ individualwettbewerbTabelleAktualisieren();
+ eloAktualisieren($spieler_zu_entfernen->erstmals_gespielt);
+ }
+ spielerstatistikAktualisieren();
+ aktuellerVereinAktualisieren($spieler_beizubehalten_id);
+ ranglisteAktualisieren();
+ einstufungAktualisieren();
- bildLoeschen("spieler", $spieler_zu_entfernen_id);
-
- if (!empty($spieler_zu_entfernen->erstmals_gespielt)) {
- wannGespieltAktualisieren();
- individualwettbewerbTabelleAktualisieren();
- eloAktualisieren($spieler_zu_entfernen->erstmals_gespielt);
- }
- spielerstatistikAktualisieren();
- aktuellerVereinAktualisieren($spieler_beizubehalten_id);
- ranglisteAktualisieren();
- einstufungAktualisieren();
-
- redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter) . '#id' . $spieler_beizubehalten_id);
+ redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter) . '#id' . $spieler_beizubehalten_id);
}
-function adminRemoveInaktiveSpielerForm() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminRemoveInaktiveSpielerForm(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("spieler_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("spieler_aendern"))
+ keinZugriff(true);
- $filter = $jinput->get('filter', '', 'RAW');
+ $filter = $jInput->get('filter', '', 'RAW');
- $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, spielernr, lizenznr"
- . "\n FROM #__sportsmanager_spieler"
- . "\n LEFT JOIN #__sportsmanager_turniermeldung_spieler USING (spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_ausgangsplatzierung USING (spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_mitglied_von_team USING (spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel1 ON #__sportsmanager_spieler.spieler_id = teamspiel1.heim_spieler_1_id"
- . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel2 ON #__sportsmanager_spieler.spieler_id = teamspiel2.heim_spieler_2_id"
- . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel3 ON #__sportsmanager_spieler.spieler_id = teamspiel3.gast_spieler_1_id"
- . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel4 ON #__sportsmanager_spieler.spieler_id = teamspiel4.gast_spieler_2_id"
- . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel1 ON #__sportsmanager_spieler.spieler_id = individualspiel1.heim_spieler_1_id"
- . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel2 ON #__sportsmanager_spieler.spieler_id = individualspiel2.heim_spieler_2_id"
- . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel3 ON #__sportsmanager_spieler.spieler_id = individualspiel3.gast_spieler_1_id"
- . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel4 ON #__sportsmanager_spieler.spieler_id = individualspiel4.gast_spieler_2_id"
- . "\n WHERE ISNULL(aktueller_verein_id)"
- . "\n AND ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id)"
- . "\n AND ISNULL(#__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id)"
- . "\n AND ISNULL(#__sportsmanager_mitglied_von_team.team_id)"
- . "\n AND ISNULL(teamspiel1.heim_spieler_1_id)"
- . "\n AND ISNULL(teamspiel2.heim_spieler_2_id)"
- . "\n AND ISNULL(teamspiel3.gast_spieler_1_id)"
- . "\n AND ISNULL(teamspiel4.gast_spieler_2_id)"
- . "\n AND ISNULL(individualspiel1.heim_spieler_1_id)"
- . "\n AND ISNULL(individualspiel2.heim_spieler_2_id)"
- . "\n AND ISNULL(individualspiel3.gast_spieler_1_id)"
- . "\n AND ISNULL(individualspiel4.gast_spieler_2_id)"
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
+ $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, spielernr, lizenznr"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n LEFT JOIN #__sportsmanager_turniermeldung_spieler USING (spieler_id)"
+ . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_ausgangsplatzierung USING (spieler_id)"
+ . "\n LEFT JOIN #__sportsmanager_mitglied_von_team USING (spieler_id)"
+ . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel1 ON #__sportsmanager_spieler.spieler_id = teamspiel1.heim_spieler_1_id"
+ . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel2 ON #__sportsmanager_spieler.spieler_id = teamspiel2.heim_spieler_2_id"
+ . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel3 ON #__sportsmanager_spieler.spieler_id = teamspiel3.gast_spieler_1_id"
+ . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel4 ON #__sportsmanager_spieler.spieler_id = teamspiel4.gast_spieler_2_id"
+ . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel1 ON #__sportsmanager_spieler.spieler_id = individualspiel1.heim_spieler_1_id"
+ . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel2 ON #__sportsmanager_spieler.spieler_id = individualspiel2.heim_spieler_2_id"
+ . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel3 ON #__sportsmanager_spieler.spieler_id = individualspiel3.gast_spieler_1_id"
+ . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel4 ON #__sportsmanager_spieler.spieler_id = individualspiel4.gast_spieler_2_id"
+ . "\n WHERE ISNULL(aktueller_verein_id)"
+ . "\n AND ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id)"
+ . "\n AND ISNULL(#__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id)"
+ . "\n AND ISNULL(#__sportsmanager_mitglied_von_team.team_id)"
+ . "\n AND ISNULL(teamspiel1.heim_spieler_1_id)"
+ . "\n AND ISNULL(teamspiel2.heim_spieler_2_id)"
+ . "\n AND ISNULL(teamspiel3.gast_spieler_1_id)"
+ . "\n AND ISNULL(teamspiel4.gast_spieler_2_id)"
+ . "\n AND ISNULL(individualspiel1.heim_spieler_1_id)"
+ . "\n AND ISNULL(individualspiel2.heim_spieler_2_id)"
+ . "\n AND ISNULL(individualspiel3.gast_spieler_1_id)"
+ . "\n AND ISNULL(individualspiel4.gast_spieler_2_id)"
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler = $db->loadObjectList();
- HTML_sportsmanager_admin::adminRemoveInaktiveSpieler($spieler, $filter);
+ HTML_sportsmanager_admin::adminRemoveInaktiveSpieler($spieler, $filter);
}
-function adminRemoveInaktiveSpieler() {
- $db = getDatabase();
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveInaktiveSpieler(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("spieler_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("spieler_aendern"))
+ keinZugriff();
- $spieler_beizubehalten_ids = $jinput->get('spielerids', array(), 'ARRAY');
- $filter = $jinput->get('filter', '', 'RAW');
+ $spieler_beizubehalten_ids = $jInput->get('spielerids', array(), 'ARRAY');
+ $filter = $jInput->get('filter', '', 'RAW');
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter));
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter));
+ }
- return;
- }
+ $query = "SELECT #__sportsmanager_spieler.spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n LEFT JOIN #__sportsmanager_turniermeldung_spieler USING (spieler_id)"
+ . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_ausgangsplatzierung USING (spieler_id)"
+ . "\n LEFT JOIN #__sportsmanager_mitglied_von_team USING (spieler_id)"
+ . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel1 ON #__sportsmanager_spieler.spieler_id = teamspiel1.heim_spieler_1_id"
+ . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel2 ON #__sportsmanager_spieler.spieler_id = teamspiel2.heim_spieler_2_id"
+ . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel3 ON #__sportsmanager_spieler.spieler_id = teamspiel3.gast_spieler_1_id"
+ . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel4 ON #__sportsmanager_spieler.spieler_id = teamspiel4.gast_spieler_2_id"
+ . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel1 ON #__sportsmanager_spieler.spieler_id = individualspiel1.heim_spieler_1_id"
+ . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel2 ON #__sportsmanager_spieler.spieler_id = individualspiel2.heim_spieler_2_id"
+ . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel3 ON #__sportsmanager_spieler.spieler_id = individualspiel3.gast_spieler_1_id"
+ . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel4 ON #__sportsmanager_spieler.spieler_id = individualspiel4.gast_spieler_2_id"
+ . "\n WHERE ISNULL(aktueller_verein_id)"
+ . "\n AND ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id)"
+ . "\n AND ISNULL(#__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id)"
+ . "\n AND ISNULL(#__sportsmanager_mitglied_von_team.team_id)"
+ . "\n AND ISNULL(teamspiel1.heim_spieler_1_id)"
+ . "\n AND ISNULL(teamspiel2.heim_spieler_2_id)"
+ . "\n AND ISNULL(teamspiel3.gast_spieler_1_id)"
+ . "\n AND ISNULL(teamspiel4.gast_spieler_2_id)"
+ . "\n AND ISNULL(individualspiel1.heim_spieler_1_id)"
+ . "\n AND ISNULL(individualspiel2.heim_spieler_2_id)"
+ . "\n AND ISNULL(individualspiel3.gast_spieler_1_id)"
+ . "\n AND ISNULL(individualspiel4.gast_spieler_2_id)"
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler = $db->loadObjectList();
- $query = "SELECT #__sportsmanager_spieler.spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n LEFT JOIN #__sportsmanager_turniermeldung_spieler USING (spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_ausgangsplatzierung USING (spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_mitglied_von_team USING (spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel1 ON #__sportsmanager_spieler.spieler_id = teamspiel1.heim_spieler_1_id"
- . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel2 ON #__sportsmanager_spieler.spieler_id = teamspiel2.heim_spieler_2_id"
- . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel3 ON #__sportsmanager_spieler.spieler_id = teamspiel3.gast_spieler_1_id"
- . "\n LEFT JOIN #__sportsmanager_teamspiel AS teamspiel4 ON #__sportsmanager_spieler.spieler_id = teamspiel4.gast_spieler_2_id"
- . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel1 ON #__sportsmanager_spieler.spieler_id = individualspiel1.heim_spieler_1_id"
- . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel2 ON #__sportsmanager_spieler.spieler_id = individualspiel2.heim_spieler_2_id"
- . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel3 ON #__sportsmanager_spieler.spieler_id = individualspiel3.gast_spieler_1_id"
- . "\n LEFT JOIN #__sportsmanager_individualwettbewerb_spiel AS individualspiel4 ON #__sportsmanager_spieler.spieler_id = individualspiel4.gast_spieler_2_id"
- . "\n WHERE ISNULL(aktueller_verein_id)"
- . "\n AND ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id)"
- . "\n AND ISNULL(#__sportsmanager_individualwettbewerb_ausgangsplatzierung.spieler_id)"
- . "\n AND ISNULL(#__sportsmanager_mitglied_von_team.team_id)"
- . "\n AND ISNULL(teamspiel1.heim_spieler_1_id)"
- . "\n AND ISNULL(teamspiel2.heim_spieler_2_id)"
- . "\n AND ISNULL(teamspiel3.gast_spieler_1_id)"
- . "\n AND ISNULL(teamspiel4.gast_spieler_2_id)"
- . "\n AND ISNULL(individualspiel1.heim_spieler_1_id)"
- . "\n AND ISNULL(individualspiel2.heim_spieler_2_id)"
- . "\n AND ISNULL(individualspiel3.gast_spieler_1_id)"
- . "\n AND ISNULL(individualspiel4.gast_spieler_2_id)"
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
+ $bilder_spieler_ids = array();
- $bilder_spieler_ids = array();
+ foreach ($spieler as $s) {
+ $id = $s->spieler_id;
- foreach ($spieler AS $s) {
- $id = $s->spieler_id;
+ if (in_array($id, $spieler_beizubehalten_ids))
+ continue;
- if (in_array($id, $spieler_beizubehalten_ids))
- continue;
+ $bilder_spieler_ids[] = $id;
- array_push($bilder_spieler_ids, $id);
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE spieler_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE spieler_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_spieler WHERE spieler_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "DELETE FROM #__sportsmanager_spieler WHERE spieler_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ spielerstatistikAktualisieren();
- spielerstatistikAktualisieren();
+ foreach ($bilder_spieler_ids as $id)
+ bildLoeschen("spieler", $id);
- foreach ($bilder_spieler_ids AS $id)
- bildLoeschen("spieler", $id);
-
- redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter) . '#id' . $spieler_beizubehalten_id);
+ redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter));
}
-function adminImportSpielerForm() {
- $db = getDatabase();
+function adminImportSpielerForm(): void
+{
+ $ansprechpartner_importieren = einstellungswert("ansprechpartner_importieren");
- $ansprechpartner_importieren = einstellungswert("ansprechpartner_importieren");
+ if (!benutzerZugriff("spieler_aendern") && !(($ansprechpartner_importieren == 1 || $ansprechpartner_importieren == 2) && benutzerVeranstalterModerator()))
+ keinZugriff(true);
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (($ansprechpartner_importieren == 1 || $ansprechpartner_importieren == 2) && benutzerVeranstalterModerator())
- $beschraenkter_zugriff = 1;
-// else if (benutzerVereinModerator())
-// $beschraenkter_zugriff = 2;
- else
- keinZugriff(true);
-
- HTML_sportsmanager_admin::adminImportSpieler();
+ HTML_sportsmanager_admin::adminImportSpieler();
}
-function adminImportSpielerDetailsForm() {
- $db = getDatabase();
- global $_FILES;
- $jinput = JFactory::getApplication()->input;
+function adminImportSpielerDetailsForm(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $ansprechpartner_importieren = einstellungswert("ansprechpartner_importieren");
+ $ansprechpartner_importieren = einstellungswert("ansprechpartner_importieren");
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (($ansprechpartner_importieren == 1 || $ansprechpartner_importieren == 2) && benutzerVeranstalterModerator())
- $beschraenkter_zugriff = 1;
-// else if (benutzerVereinModerator())
-// $beschraenkter_zugriff = 2;
- else
- keinZugriff();
+ if (benutzerZugriff("spieler_aendern"))
+ $beschraenkter_zugriff = 0;
+ else if (($ansprechpartner_importieren == 1 || $ansprechpartner_importieren == 2) && benutzerVeranstalterModerator())
+ $beschraenkter_zugriff = 1;
+ else
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spieler');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spieler');
+ }
- return;
- }
+ $query = "SELECT DISTINCT session_id"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n WHERE session_id < SUBTIME(NOW(), '00:05:00')";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $query = "SELECT DISTINCT session_id"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n WHERE session_id < SUBTIME(NOW(), '00:05:00')";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ foreach ($rows as $row) {
+ $query = "DELETE FROM #__sportsmanager_spieler_import"
+ . "\n WHERE session_id = '$row->session_id'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- foreach ($rows as $row) {
- $query = "DELETE FROM #__sportsmanager_spieler_import"
- . "\n WHERE session_id = '$row->session_id'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ if (empty($_FILES["daten"]["tmp_name"]) || !is_uploaded_file($_FILES["daten"]["tmp_name"])) {
+ redirectSportsManagerURL('&task=admin_spieler', Text::_('COM_SPORTSMANAGER_NO_FILE_SPECIFIED'));
+ }
- if (empty($_FILES["daten"]["tmp_name"]) || !is_uploaded_file($_FILES["daten"]["tmp_name"])) {
- redirectSportsManagerURL('&task=admin_spieler', JText::_('COM_SPORTSMANAGER_NO_FILE_SPECIFIED'));
+ $handle = fopen($_FILES["daten"]["tmp_name"], "r");
+ if (!$handle) {
+ redirectSportsManagerURL('&task=admin_spieler', Text::_('COM_SPORTSMANAGER_COULD_NOT_OPEN_FILE'));
+ }
+ if (feof($handle)) {
+ redirectSportsManagerURL('&task=admin_spieler', Text::_('COM_SPORTSMANAGER_FILE_IS_EMPTY'));
+ }
- return;
- }
+ $titelzeile = chop(utf8_encode(fgets($handle, 4096)));
+ if (str_starts_with($titelzeile, "sep=")) {
+ $trennzeichen = substr($titelzeile, 4);
+ if ($trennzeichen == "") // TAB am Ende wird aus irgendwelchen Gründen weggekürzt
+ $trennzeichen = "\t";
+ $titelzeile = chop(utf8_encode(fgets($handle, 4096)));
+ } else if ($titelzeile == "NAME#VORNAME#GESCHLECHT#VEREIN#STRASSE#PLZ/ORT#TELEFON#FAX#MOBILE#EMAIL#BEMERKUNG#SPIELERPASS#GEBURTSDATUM")
+ $trennzeichen = "#";
+ else if (str_contains($titelzeile, "\t"))
+ $trennzeichen = "\t";
+ else if (str_contains($titelzeile, ";"))
+ $trennzeichen = ";";
+ else
+ $trennzeichen = ",";
- $handle = fopen($_FILES["daten"]["tmp_name"], "r");
- if (!$handle) {
- redirectSportsManagerURL('&task=admin_spieler', JText::_('COM_SPORTSMANAGER_COULD_NOT_OPEN_FILE'));
+ $spalte = array();
- return;
- }
- if (feof($handle)) {
- redirectSportsManagerURL('&task=admin_spieler', JText::_('COM_SPORTSMANAGER_FILE_IS_EMPTY'));
+ if (str_starts_with($titelzeile, ";All licensees") || str_starts_with($titelzeile, ";All validated licensees")) {
+ // ITSF-Export
+ $lizenz_import = true;
+ $buffer = $titelzeile;
+ while (!feof($handle) && !str_contains($buffer, "Profession"))
+ $buffer = chop(utf8_encode(fgets($handle, 4096)));
+ $spalte["nachname"] = 3;
+ $spalte["vorname"] = 2;
+ $spalte["geschlecht"] = 1;
+ $spalte["spielernr"] = 6;
+ $spalte["lizenznr"] = 0;
+ $spalte["geburtsjahr"] = 5;
+ } else {
+ $lizenz_import = false;
+ $titel = explode($trennzeichen, strtolower($titelzeile));
- return;
- }
+ foreach ($titel as $index => $bezeichnung) {
+ $bezeichnung = trim($bezeichnung);
+ $len = strlen($bezeichnung);
+ if ($len >= 2 && $bezeichnung[0] == '"' && $bezeichnung[$len - 1] == '"')
+ $bezeichnung = trim(str_replace('""', '"', substr($bezeichnung, 1, $len - 2)));
- $titelzeile = chop(utf8_encode(fgets($handle, 4096)));
- if (substr($titelzeile, 0, 4) == "sep=") {
- $trennzeichen = substr($titelzeile, 4);
- if ($trennzeichen == "") // TAB am Ende wird aus irgendwelchen Gründen weggekürzt
- $trennzeichen = "\t";
- $titelzeile = chop(utf8_encode(fgets($handle, 4096)));
- }
- else if ($titelzeile == "NAME#VORNAME#GESCHLECHT#VEREIN#STRASSE#PLZ/ORT#TELEFON#FAX#MOBILE#EMAIL#BEMERKUNG#SPIELERPASS#GEBURTSDATUM")
- $trennzeichen = "#";
- else if (strpos($titelzeile, "\t") !== false)
- $trennzeichen = "\t";
- else if (strpos($titelzeile, ";") !== false)
- $trennzeichen = ";";
- else
- $trennzeichen = ",";
+ if ($bezeichnung == "name" || $bezeichnung == "nachname")
+ $spalte["nachname"] = $index;
+ else if ($bezeichnung == "vorname")
+ $spalte["vorname"] = $index;
+ else if ($bezeichnung == "name, vorname" || $bezeichnung == "name,vorname")
+ $spalte["name,vorname"] = $index;
+ else if ($bezeichnung == "pseudonym")
+ $spalte["pseudonym"] = $index;
+ else if ($bezeichnung == "geschlecht" || $bezeichnung == "anrede")
+ $spalte["geschlecht"] = $index;
+ else if ($bezeichnung == "spielernr" || $bezeichnung == "spielernr." || $bezeichnung == "spielerpass")
+ $spalte["spielernr"] = $index;
+ else if ($bezeichnung == "spielernr alt" || $bezeichnung == "spielernr. alt" || $bezeichnung == "spielernr_alt")
+ $spalte["spielernr_alt"] = $index;
+ else if ($bezeichnung == "lizenznr" || $bezeichnung == "lizenznr.")
+ $spalte["lizenznr"] = $index;
+ else if ($bezeichnung == "organisation")
+ $spalte["organisation"] = $index;
+ else if ($bezeichnung == "vereinssitz")
+ $spalte["vereinssitz"] = $index;
+ else if ($bezeichnung == "vereinsname" || $bezeichnung == "verein")
+ $spalte["vereinsname"] = $index;
+ else if ($bezeichnung == "geburtsdatum")
+ $spalte["geburtsdatum"] = $index;
+ else if ($bezeichnung == "geburtsjahr")
+ $spalte["geburtsjahr"] = $index;
+ else if ($bezeichnung == "email" || $bezeichnung == "e-mail")
+ $spalte["email"] = $index;
+ else if (str_starts_with($bezeichnung, "stra"))
+ $spalte["strasse"] = $index;
+ else if ($bezeichnung == "plz/ort")
+ $spalte["plz/ort"] = $index;
+ else if ($bezeichnung == "plz")
+ $spalte["plz"] = $index;
+ else if ($bezeichnung == "ort")
+ $spalte["ort"] = $index;
+ else if ($bezeichnung == "landeskennung")
+ $spalte["landeskennung"] = $index;
+ else if ($bezeichnung == "telefon")
+ $spalte["telefon"] = $index;
+ else if ($bezeichnung == "mobil")
+ $spalte["mobil"] = $index;
+ else if ($bezeichnung == "austritt" || $bezeichnung == "ausgetreten")
+ $spalte["ausgetreten"] = $index;
+ else if ($bezeichnung == "mitgliedsstatus")
+ $spalte["mitgliedsstatus"] = $index;
+ }
- $spalte = array();
+ if (((!isset($spalte["nachname"]) || !isset($spalte["vorname"])) && !isset($spalte["name,vorname"])) || !isset($spalte["spielernr"])) {
+ redirectSportsManagerURL('&task=admin_spieler', "Die übergebene Datei ist keine Spielerdatei.");
+ }
+ }
- if (substr($titelzeile, 0, 14) == ";All licensees" || substr($titelzeile, 0, 24) == ";All validated licensees") {
- // ITSF-Export
- $lizenz_import = true;
- $buffer = $titelzeile;
- while (!feof($handle) && strpos($buffer, "Profession") === false)
- $buffer = chop(utf8_encode(fgets($handle, 4096)));
- $spalte["nachname"] = 3;
- $spalte["vorname"] = 2;
- $spalte["geschlecht"] = 1;
- $spalte["spielernr"] = 6;
- $spalte["lizenznr"] = 0;
- $spalte["geburtsjahr"] = 5;
- }
- else {
- $lizenz_import = false;
- $titel = explode($trennzeichen, strtolower($titelzeile));
+ $session_id = date('Y-m-d H:i:s');
- foreach ($titel as $index => $bezeichnung) {
- $bezeichnung = trim($bezeichnung);
- $len = strlen($bezeichnung);
- if ($len >= 2 && $bezeichnung[0] == '"' && $bezeichnung[$len - 1] == '"')
- $bezeichnung = trim(str_replace('""', '"', substr($bezeichnung, 1, $len - 2)));
+ while (!feof($handle)) {
+ $buffer = chop(utf8_encode(fgets($handle, 4096)));
+ $daten = explode($trennzeichen, $buffer);
- if ($bezeichnung == "name" || $bezeichnung == "nachname")
- $spalte["nachname"] = $index;
- else if ($bezeichnung == "vorname")
- $spalte["vorname"] = $index;
- else if ($bezeichnung == "name, vorname" || $bezeichnung == "name,vorname")
- $spalte["name,vorname"] = $index;
- else if ($bezeichnung == "pseudonym")
- $spalte["pseudonym"] = $index;
- else if ($bezeichnung == "geschlecht" || $bezeichnung == "anrede")
- $spalte["geschlecht"] = $index;
- else if ($bezeichnung == "spielernr" || $bezeichnung == "spielernr." || $bezeichnung == "spielerpass")
- $spalte["spielernr"] = $index;
- else if ($bezeichnung == "spielernr alt" || $bezeichnung == "spielernr. alt" || $bezeichnung == "spielernr_alt")
- $spalte["spielernr_alt"] = $index;
- else if ($bezeichnung == "lizenznr" || $bezeichnung == "lizenznr.")
- $spalte["lizenznr"] = $index;
- else if ($bezeichnung == "organisation")
- $spalte["organisation"] = $index;
- else if ($bezeichnung == "vereinssitz")
- $spalte["vereinssitz"] = $index;
- else if ($bezeichnung == "vereinsname" || $bezeichnung == "verein")
- $spalte["vereinsname"] = $index;
- else if ($bezeichnung == "mannschaft" || $bezeichnung == "teamname")
- $spalte["teamname"] = $index;
- else if ($bezeichnung == "geburtsdatum")
- $spalte["geburtsdatum"] = $index;
- else if ($bezeichnung == "geburtsjahr")
- $spalte["geburtsjahr"] = $index;
- else if ($bezeichnung == "email" || $bezeichnung == "e-mail")
- $spalte["email"] = $index;
- else if (substr($bezeichnung, 0, 4) == "stra")
- $spalte["strasse"] = $index;
- else if ($bezeichnung == "plz/ort")
- $spalte["plz/ort"] = $index;
- else if ($bezeichnung == "plz")
- $spalte["plz"] = $index;
- else if ($bezeichnung == "ort")
- $spalte["ort"] = $index;
- else if ($bezeichnung == "landeskennung")
- $spalte["landeskennung"] = $index;
- else if ($bezeichnung == "telefon")
- $spalte["telefon"] = $index;
- else if ($bezeichnung == "mobil")
- $spalte["mobil"] = $index;
- else if ($bezeichnung == "beruf")
- $spalte["beruf"] = $index;
- else if ($bezeichnung == "austritt" || $bezeichnung == "ausgetreten")
- $spalte["ausgetreten"] = $index;
- else if ($bezeichnung == "mitgliedsstatus")
- $spalte["mitgliedsstatus"] = $index;
- }
+ foreach ($daten as $index => $wert) {
+ $wert = trim($wert);
+ $len = strlen($wert);
+ if ($len < 2 || $wert[$len - 1] != '"' || !($wert[0] == '"' || ($wert[0] == '=' && $wert[1] == '"')))
+ $daten[$index] = $wert;
+ else if ($wert[0] == '"')
+ $daten[$index] = trim(str_replace('""', '"', substr($wert, 1, $len - 2)));
+ else
+ $daten[$index] = trim(str_replace('""', '"', substr($wert, 2, $len - 3)));
+ }
- if (((!isset($spalte["nachname"]) || !isset($spalte["vorname"])) && !isset($spalte["name,vorname"])) || !isset($spalte["spielernr"])) {
- redirectSportsManagerURL('&task=admin_spieler', "Die übergebene Datei ist keine Spielerdatei.");
+ if (isset($spalte["vorname"]) && isset($spalte["nachname"]) && isset($daten[$spalte["vorname"]]) && isset($daten[$spalte["nachname"]])) {
+ $nachname = $daten[$spalte["nachname"]];
+ $vorname = $daten[$spalte["vorname"]];
+ } else if (isset($spalte["name,vorname"]) && isset($daten[$spalte["name,vorname"]])) {
+ $pos = strpos($daten[$spalte["name,vorname"]], ",");
+ if ($pos === false)
+ continue;
+ $nachname = trim(substr($daten[$spalte["name,vorname"]], 0, $pos));
+ $vorname = trim(substr($daten[$spalte["name,vorname"]], $pos + 1));
+ } else
+ continue;
- return;
- }
- }
+ if ($vorname == "" || $nachname == "")
+ continue;
- $session_id = date('Y-m-d H:i:s');
+ $mitgliedsstatus = 1;
+ if (isset($spalte["mitgliedsstatus"]) && !empty($daten[$spalte["mitgliedsstatus"]])) {
+ $s = strtolower($daten[$spalte["mitgliedsstatus"]]);
+ if ($s == "ausgetreten")
+ $mitgliedsstatus = 0;
+ else if ($s == "passiv")
+ $mitgliedsstatus = 3;
+ else if (str_starts_with($s, "eingeschr"))
+ $mitgliedsstatus = 2;
+ } else if (isset($spalte["ausgetreten"]) && !empty($daten[$spalte["ausgetreten"]])) {
+ if (strtolower($daten[$spalte["ausgetreten"]]) == "ja")
+ $mitgliedsstatus = 0;
+ }
-// $veranstalter_import = array();
+ if ($mitgliedsstatus == 0)
+ continue;
- while (!feof($handle)) {
- $buffer = chop(utf8_encode(fgets($handle, 4096)));
- $daten = explode($trennzeichen, $buffer);
+ $geschlecht = isset($spalte["geschlecht"]) && isset($daten[$spalte["geschlecht"]]) ? (($daten[$spalte["geschlecht"]][0] == "M" || $daten[$spalte["geschlecht"]][0] == "m" || $daten[$spalte["geschlecht"]][0] == "H" || $daten[$spalte["geschlecht"]][0] == "h") ? "M" : "W") : "M";
+ $spielernr = isset($daten[$spalte["spielernr"]]) ? trim($daten[$spalte["spielernr"]]) : "";
+ if (!empty($spielernr) && !ctype_digit(substr($spielernr, strlen($spielernr) - 1, 1)))
+ $spielernr = "";
+ $spielernr_alt = isset($spalte["spielernr_alt"]) && isset($daten[$spalte["spielernr_alt"]]) ? trim($daten[$spalte["spielernr_alt"]]) : "";
+ $lizenznr = isset($spalte["lizenznr"]) && isset($daten[$spalte["lizenznr"]]) ? $daten[$spalte["lizenznr"]] : "";
+ if (!empty($lizenznr) && !ctype_digit(substr($lizenznr, strlen($lizenznr) - 1, 1)))
+ $lizenznr = "";
+ $pseudonym = isset($spalte["pseudonym"]) && isset($daten[$spalte["pseudonym"]]) ? $daten[$spalte["pseudonym"]] : "";
+ $organisation = isset($spalte["organisation"]) && isset($daten[$spalte["organisation"]]) ? $daten[$spalte["organisation"]] : "";
+ $vereinssitz = isset($spalte["vereinssitz"]) && isset($daten[$spalte["vereinssitz"]]) ? $daten[$spalte["vereinssitz"]] : "";
+ $vereinsname = isset($spalte["vereinsname"]) && isset($daten[$spalte["vereinsname"]]) ? $daten[$spalte["vereinsname"]] : "";
+ $geburtsdatum = isset($spalte["geburtsdatum"]) && isset($daten[$spalte["geburtsdatum"]]) ? normalisiertesDatum($daten[$spalte["geburtsdatum"]]) : null;
+ $geburtsjahr = isset($spalte["geburtsjahr"]) && isset($daten[$spalte["geburtsjahr"]]) ? $daten[$spalte["geburtsjahr"]] : null;
+ if (empty($geburtsjahr) || !ctype_digit($geburtsjahr) || $geburtsjahr < 1800)
+ $geburtsjahr = null;
+ $email = isset($spalte["email"]) && isset($daten[$spalte["email"]]) ? $daten[$spalte["email"]] : "";
+ $strasse = isset($spalte["strasse"]) && isset($daten[$spalte["strasse"]]) ? $daten[$spalte["strasse"]] : "";
+ if (isset($spalte["plz/ort"]) && isset($daten[$spalte["plz/ort"]])) {
+ $pos = strpos($daten[$spalte["plz/ort"]], ' ');
+ if (!$pos) {
+ $plz = "";
+ $ort = "";
+ } else {
+ $plz = substr($daten[$spalte["plz/ort"]], 0, $pos);
+ $ort = substr($daten[$spalte["plz/ort"]], $pos + 1);
+ }
+ } else {
+ $plz = "";
+ $ort = "";
+ }
+ if (isset($spalte["plz"]))
+ $plz = $daten[$spalte["plz"]] ?? "";
+ if (isset($spalte["ort"]))
+ $ort = $daten[$spalte["ort"]] ?? "";
+ $landeskennung = isset($spalte["landeskennung"]) && isset($daten[$spalte["landeskennung"]]) ? $daten[$spalte["landeskennung"]] : "";
+ $telefon = isset($spalte["telefon"]) && isset($daten[$spalte["telefon"]]) ? $daten[$spalte["telefon"]] : "";
+ $mobil = isset($spalte["mobil"]) && isset($daten[$spalte["mobil"]]) ? $daten[$spalte["mobil"]] : "";
- foreach ($daten as $index => $wert) {
- $wert = trim($wert);
- $len = strlen($wert);
- if ($len < 2 || $wert[$len - 1] != '"' || !($wert[0] == '"' || ($wert[0] == '=' && $wert[1] == '"')))
- $daten[$index] = $wert;
- else if ($wert[0] == '"')
- $daten[$index] = trim(str_replace('""', '"', substr($wert, 1, $len - 2)));
- else
- $daten[$index] = trim(str_replace('""', '"', substr($wert, 2, $len - 3)));
- }
-
- if (isset($spalte["vorname"]) && isset($spalte["nachname"]) && isset($daten[$spalte["vorname"]]) && isset($daten[$spalte["nachname"]])) {
- $nachname = $daten[$spalte["nachname"]];
- $vorname = $daten[$spalte["vorname"]];
- }
- else if (isset($spalte["name,vorname"]) && isset($daten[$spalte["name,vorname"]])) {
- $pos = strpos($daten[$spalte["name,vorname"]], ",");
- if ($pos === false)
- continue;
- $nachname = trim(substr($daten[$spalte["name,vorname"]], 0, $pos));
- $vorname = trim(substr($daten[$spalte["name,vorname"]], $pos + 1));
- }
- else
- continue;
-
- if ($vorname == "" || $nachname == "")
- continue;
-
- $mitgliedsstatus = 1;
- if (isset($spalte["mitgliedsstatus"]) && isset($daten[$spalte["mitgliedsstatus"]]) && !empty($daten[$spalte["mitgliedsstatus"]])) {
- $s = strtolower($daten[$spalte["mitgliedsstatus"]]);
- if ($s == "ausgetreten")
- $mitgliedsstatus = 0;
- else if ($s == "passiv")
- $mitgliedsstatus = 3;
- else if (substr($s, 0, 9) == "eingeschr")
- $mitgliedsstatus = 2;
- }
- else if (isset($spalte["ausgetreten"]) && isset($daten[$spalte["ausgetreten"]]) && !empty($daten[$spalte["ausgetreten"]])) {
- if (strtolower($daten[$spalte["ausgetreten"]]) == "ja")
- $mitgliedsstatus = 0;
- }
-
- if ($mitgliedsstatus == 0)
- continue;
-
- $geschlecht = isset($spalte["geschlecht"]) && isset($daten[$spalte["geschlecht"]]) ? (($daten[$spalte["geschlecht"]][0] == "M" || $daten[$spalte["geschlecht"]][0] == "m" || $daten[$spalte["geschlecht"]][0] == "H" || $daten[$spalte["geschlecht"]][0] == "h") ? "M" : "W") : "M";
- $spielernr = isset($spalte["spielernr"]) && isset($daten[$spalte["spielernr"]]) ? trim($daten[$spalte["spielernr"]]) : "";
- if (!empty($spielernr) && !ctype_digit(substr($spielernr, strlen($spielernr) - 1, 1)))
- $spielernr = "";
- $spielernr_alt = isset($spalte["spielernr_alt"]) && isset($daten[$spalte["spielernr_alt"]]) ? trim($daten[$spalte["spielernr_alt"]]) : "";
- $lizenznr = isset($spalte["lizenznr"]) && isset($daten[$spalte["lizenznr"]]) ? $daten[$spalte["lizenznr"]] : "";
- if (!empty($lizenznr) && !ctype_digit(substr($lizenznr, strlen($lizenznr) - 1, 1)))
- $lizenznr = "";
- $pseudonym = isset($spalte["pseudonym"]) && isset($daten[$spalte["pseudonym"]]) ? $daten[$spalte["pseudonym"]] : "";
- $organisation = isset($spalte["organisation"]) && isset($daten[$spalte["organisation"]]) ? $daten[$spalte["organisation"]] : "";
- $vereinssitz = isset($spalte["vereinssitz"]) && isset($daten[$spalte["vereinssitz"]]) ? $daten[$spalte["vereinssitz"]] : "";
- $vereinsname = isset($spalte["vereinsname"]) && isset($daten[$spalte["vereinsname"]]) ? $daten[$spalte["vereinsname"]] : "";
- $geburtsdatum = isset($spalte["geburtsdatum"]) && isset($daten[$spalte["geburtsdatum"]]) ? normalisiertesDatum($daten[$spalte["geburtsdatum"]]) : null;
- $geburtsjahr = isset($spalte["geburtsjahr"]) && isset($daten[$spalte["geburtsjahr"]]) ? $daten[$spalte["geburtsjahr"]] : null;
- if (empty($geburtsjahr) || !ctype_digit($geburtsjahr) || $geburtsjahr < 1800)
- $geburtsjahr = null;
- $email = isset($spalte["email"]) && isset($daten[$spalte["email"]]) ? $daten[$spalte["email"]] : "";
- $strasse = isset($spalte["strasse"]) && isset($daten[$spalte["strasse"]]) ? $daten[$spalte["strasse"]] : "";
- if (isset($spalte["plz/ort"]) && isset($daten[$spalte["plz/ort"]])) {
- $pos = strpos($daten[$spalte["plz/ort"]], ' ');
- if ($pos == false) {
- $plz = "";
- $ort = "";
- }
- else {
- $plz = substr($daten[$spalte["plz/ort"]], 0, $pos);
- $ort = substr($daten[$spalte["plz/ort"]], $pos + 1);
- }
- }
- else {
- $plz = "";
- $ort = "";
- }
- if (isset($spalte["plz"]))
- $plz = isset($daten[$spalte["plz"]]) ? $daten[$spalte["plz"]] : "";
- if (isset($spalte["ort"]))
- $ort = isset($daten[$spalte["ort"]]) ? $daten[$spalte["ort"]] : "";
- $landeskennung = isset($spalte["landeskennung"]) && isset($daten[$spalte["landeskennung"]]) ? $daten[$spalte["landeskennung"]] : "";
- $telefon = isset($spalte["telefon"]) && isset($daten[$spalte["telefon"]]) ? $daten[$spalte["telefon"]] : "";
- $mobil = isset($spalte["mobil"]) && isset($daten[$spalte["mobil"]]) ? $daten[$spalte["mobil"]] : "";
- $beruf = isset($spalte["beruf"]) && isset($daten[$spalte["beruf"]]) ? $daten[$spalte["beruf"]] : "";
-
- $query = "INSERT #__sportsmanager_spieler_import"
- . "\n SET session_id = '" . $db->escape($session_id) . "',"
- . "\n vorname = '" . $db->escape($vorname) . "',"
- . "\n nachname = '" . $db->escape($nachname) . "'";
- if (isset($spalte["spielernr"]))
- $query .= ",\n spielernr = '" . $db->escape($spielernr) . "'";
- if (isset($spalte["spielernr_alt"]))
- $query .= ",\n spielernr_alt = '" . $db->escape($spielernr_alt) . "'";
- if (isset($spalte["lizenznr"]))
- $query .= ",\n lizenznr = '" . $db->escape($lizenznr) . "'";
- if (isset($spalte["pseudonym"]))
- $query .= ",\n pseudonym = '" . $db->escape($pseudonym) . "'";
- $query .= ",\n geschlecht = '" . $db->escape($geschlecht) . "'";
- if (isset($spalte["geburtsdatum"]))
- $query .= ",\n geburtsdatum = " . ($geburtsdatum == null ? "NULL" : ("'" . $db->escape($geburtsdatum) . "'"));
- if (isset($spalte["geburtsjahr"]) || isset($spalte["geburtsdatum"]))
- $query .= ",\n geburtsjahr = " . ($geburtsjahr == null ? ($geburtsdatum == null ? "NULL" : ("YEAR('" . $db->escape($geburtsdatum) . "')")) : ("'" . $db->escape($geburtsjahr) . "'"));
- if (isset($spalte["strasse"]))
- $query .= ",\n strasse = '" . $db->escape($strasse) . "'";
- if (isset($spalte["plz"]))
- $query .= ",\n plz = '" . $db->escape($plz) . "'";
- if (isset($spalte["ort"]))
- $query .= ",\n ort = '" . $db->escape($ort) . "'";
- if (isset($spalte["landeskennung"]))
- $query .= ",\n landeskennung = '" . $db->escape($landeskennung) . "'";
- if (isset($spalte["telefon"]))
- $query .= ",\n telefon = '" . $db->escape($telefon) . "'";
- if (isset($spalte["mobil"]))
- $query .= ",\n mobil = '" . $db->escape($mobil) . "'";
- if (isset($spalte["email"]))
- $query .= ",\n email = '" . $db->escape($email) . "'";
- if (isset($spalte["vereinsname"]))
- $query .= ",\n vereinsname = '" . $db->escape($vereinsname) . "'";
- if (isset($spalte["vereinssitz"]))
- $query .= ",\n vereinssitz = '" . $db->escape($vereinssitz) . "'";
- if (isset($spalte["organisation"]))
- $query .= ",\n veranstalterbezeichnung = '" . $db->escape($organisation) . "'";
- $query .= ",\n mitgliedsstatus = '" . $mitgliedsstatus . "'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "INSERT #__sportsmanager_spieler_import"
+ . "\n SET session_id = '" . $db->escape($session_id) . "',"
+ . "\n vorname = '" . $db->escape($vorname) . "',"
+ . "\n nachname = '" . $db->escape($nachname) . "',"
+ . "\n spielernr = '" . $db->escape($spielernr) . "'";
+ if (isset($spalte["spielernr_alt"]))
+ $query .= ",\n spielernr_alt = '" . $db->escape($spielernr_alt) . "'";
+ if (isset($spalte["lizenznr"]))
+ $query .= ",\n lizenznr = '" . $db->escape($lizenznr) . "'";
+ if (isset($spalte["pseudonym"]))
+ $query .= ",\n pseudonym = '" . $db->escape($pseudonym) . "'";
+ $query .= ",\n geschlecht = '" . $db->escape($geschlecht) . "'";
+ if (isset($spalte["geburtsdatum"]))
+ $query .= ",\n geburtsdatum = " . ($geburtsdatum == null ? "NULL" : ("'" . $db->escape($geburtsdatum) . "'"));
+ if (isset($spalte["geburtsjahr"]) || isset($spalte["geburtsdatum"]))
+ $query .= ",\n geburtsjahr = " . ($geburtsjahr == null ? ($geburtsdatum == null ? "NULL" : ("YEAR('" . $db->escape($geburtsdatum) . "')")) : ("'" . $db->escape($geburtsjahr) . "'"));
+ if (isset($spalte["strasse"]))
+ $query .= ",\n strasse = '" . $db->escape($strasse) . "'";
+ if (isset($spalte["plz"]))
+ $query .= ",\n plz = '" . $db->escape($plz) . "'";
+ if (isset($spalte["ort"]))
+ $query .= ",\n ort = '" . $db->escape($ort) . "'";
+ if (isset($spalte["landeskennung"]))
+ $query .= ",\n landeskennung = '" . $db->escape($landeskennung) . "'";
+ if (isset($spalte["telefon"]))
+ $query .= ",\n telefon = '" . $db->escape($telefon) . "'";
+ if (isset($spalte["mobil"]))
+ $query .= ",\n mobil = '" . $db->escape($mobil) . "'";
+ if (isset($spalte["email"]))
+ $query .= ",\n email = '" . $db->escape($email) . "'";
+ if (isset($spalte["vereinsname"]))
+ $query .= ",\n vereinsname = '" . $db->escape($vereinsname) . "'";
+ if (isset($spalte["vereinssitz"]))
+ $query .= ",\n vereinssitz = '" . $db->escape($vereinssitz) . "'";
+ if (isset($spalte["organisation"]))
+ $query .= ",\n veranstalterbezeichnung = '" . $db->escape($organisation) . "'";
+ $query .= ",\n mitgliedsstatus = '" . $mitgliedsstatus . "'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
// if (!isset($veranstalter_import[$organisation]))
// $veranstalter_import[$organisation] = TRUE;
- }
- fclose($handle);
+ }
+ fclose($handle);
- if ($lizenz_import) {
- $query = "SELECT COUNT(*)"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n INNER JOIN #__sportsmanager_spieler USING (spielernr)"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND #__sportsmanager_spieler_import.spielernr <> '' AND #__sportsmanager_spieler_import.lizenznr <> ''";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $lizenzen_aktualisiert = $db->loadResult();
+ if ($lizenz_import) {
+ $query = "SELECT COUNT(*)"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n INNER JOIN #__sportsmanager_spieler USING (spielernr)"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND #__sportsmanager_spieler_import.spielernr <> '' AND #__sportsmanager_spieler_import.lizenznr <> ''";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $lizenzen_aktualisiert = $db->loadResult();
- $query = "UPDATE #__sportsmanager_spieler_import"
- . "\n INNER JOIN #__sportsmanager_spieler USING (spielernr)"
- . "\n SET #__sportsmanager_spieler.lizenznr = #__sportsmanager_spieler_import.lizenznr"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND #__sportsmanager_spieler_import.spielernr <> '' AND #__sportsmanager_spieler_import.lizenznr <> ''";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "UPDATE #__sportsmanager_spieler_import"
+ . "\n INNER JOIN #__sportsmanager_spieler USING (spielernr)"
+ . "\n SET #__sportsmanager_spieler.lizenznr = #__sportsmanager_spieler_import.lizenznr"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND #__sportsmanager_spieler_import.spielernr <> '' AND #__sportsmanager_spieler_import.lizenznr <> ''";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_spieler_import"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_spieler_import"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- HTML_sportsmanager_admin::adminImportSpielerBericht($lizenzen_aktualisiert, array(), 0, array(), array(), array(), false, redirectSessionIdEmpty() ? null : redirectSessionIdSetzen());
+ HTML_sportsmanager_admin::adminImportSpielerBericht($lizenzen_aktualisiert, array(), 0, array(), array(), array(), false, redirectSessionIdEmpty() ? null : redirectSessionIdSetzen());
- return;
- }
+ return;
+ }
- $spalten = array();
- if (isset($spalte["pseudonym"]))
- array_push($spalten, "pseudonym");
- if (isset($spalte["geschlecht"]))
- array_push($spalten, "geschlecht");
- if (isset($spalte["spielernr"]))
- array_push($spalten, "spielernr");
- if (isset($spalte["spielernr_alt"]))
- array_push($spalten, "spielernr_alt");
- if (isset($spalte["lizenznr"]))
- array_push($spalten, "lizenznr");
- if (isset($spalte["organisation"]))
- array_push($spalten, "organisation");
- if (isset($spalte["vereinssitz"]))
- array_push($spalten, "vereinssitz");
- if (isset($spalte["vereinsname"]))
- array_push($spalten, "vereinsname");
- if (isset($spalte["geburtsdatum"]))
- array_push($spalten, "geburtsdatum");
- if (isset($spalte["geburtsjahr"]) || isset($spalte["geburtsdatum"]))
- array_push($spalten, "geburtsjahr");
- if (isset($spalte["email"]))
- array_push($spalten, "email");
- if (isset($spalte["strasse"]))
- array_push($spalten, "strasse");
- if (isset($spalte["strasse"]))
- array_push($spalten, "strasse");
- if (isset($spalte["plz/ort"]) || isset($spalte["plz"]))
- array_push($spalten, "plz");
- if (isset($spalte["plz/ort"]) || isset($spalte["ort"]))
- array_push($spalten, "ort");
- if (isset($spalte["landeskennung"]))
- array_push($spalten, "landeskennung");
- if (isset($spalte["telefon"]))
- array_push($spalten, "telefon");
- if (isset($spalte["mobil"]))
- array_push($spalten, "mobil");
- array_push($spalten, "mitgliedsstatus");
+ $spalten = array();
+ if (isset($spalte["pseudonym"]))
+ $spalten[] = "pseudonym";
+ if (isset($spalte["geschlecht"]))
+ $spalten[] = "geschlecht";
+ $spalten[] = "spielernr";
+ if (isset($spalte["spielernr_alt"]))
+ $spalten[] = "spielernr_alt";
+ if (isset($spalte["lizenznr"]))
+ $spalten[] = "lizenznr";
+ if (isset($spalte["organisation"]))
+ $spalten[] = "organisation";
+ if (isset($spalte["vereinssitz"]))
+ $spalten[] = "vereinssitz";
+ if (isset($spalte["vereinsname"]))
+ $spalten[] = "vereinsname";
+ if (isset($spalte["geburtsdatum"]))
+ $spalten[] = "geburtsdatum";
+ if (isset($spalte["geburtsjahr"]) || isset($spalte["geburtsdatum"]))
+ $spalten[] = "geburtsjahr";
+ if (isset($spalte["email"]))
+ $spalten[] = "email";
+ if (isset($spalte["strasse"]))
+ $spalten[] = "strasse";
+ if (isset($spalte["strasse"]))
+ $spalten[] = "strasse";
+ if (isset($spalte["plz/ort"]) || isset($spalte["plz"]))
+ $spalten[] = "plz";
+ if (isset($spalte["plz/ort"]) || isset($spalte["ort"]))
+ $spalten[] = "ort";
+ if (isset($spalte["landeskennung"]))
+ $spalten[] = "landeskennung";
+ if (isset($spalte["telefon"]))
+ $spalten[] = "telefon";
+ if (isset($spalte["mobil"]))
+ $spalten[] = "mobil";
+ $spalten[] = "mitgliedsstatus";
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_veranstalter";
- if ($beschraenkter_zugriff)
- $query .= "\n WHERE" . veranstalterFilter("veranstalter_id IN");
- $query .= "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_veranstalter";
+ if ($beschraenkter_zugriff)
+ $query .= "\n WHERE" . veranstalterFilter("veranstalter_id IN");
+ $query .= "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- $query = "SELECT DISTINCT veranstalterbezeichnung"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "'"
- . "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter_import = $db->loadObjectList();
+ $query = "SELECT DISTINCT veranstalterbezeichnung"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "'"
+ . "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter_import = $db->loadObjectList();
- $veranstalter_zugehoerigkeit = array();
- foreach ($veranstalter_import as $v) {
- $query = "SELECT #__sportsmanager_veranstalter.veranstalter_id, COUNT(*) AS spieler"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n INNER JOIN #__sportsmanager_spieler ON #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr"
- . "\n INNER JOIN #__sportsmanager_mitglied_von_verein USING (spieler_id)"
- . "\n INNER JOIN #__sportsmanager_verein USING (verein_id)"
- . "\n INNER JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND #__sportsmanager_spieler_import.spielernr != '' AND " . (empty($v->veranstalterbezeichnung) ? "ISNULL(#__sportsmanager_spieler_import.veranstalterbezeichnung)" : ("#__sportsmanager_spieler_import.veranstalterbezeichnung = '" . $db->escape($v->veranstalterbezeichnung) . "'")) . " AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten"
- . "\n GROUP BY #__sportsmanager_veranstalter.veranstalter_id"
- . "\n ORDER BY spieler DESC"
- . "\n LIMIT 1";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $veranstalter_zugehoerigkeit = array();
+ foreach ($veranstalter_import as $v) {
+ $query = "SELECT #__sportsmanager_veranstalter.veranstalter_id, COUNT(*) AS spieler"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n INNER JOIN #__sportsmanager_spieler ON #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr"
+ . "\n INNER JOIN #__sportsmanager_mitglied_von_verein USING (spieler_id)"
+ . "\n INNER JOIN #__sportsmanager_verein USING (verein_id)"
+ . "\n INNER JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND #__sportsmanager_spieler_import.spielernr != '' AND " . (empty($v->veranstalterbezeichnung) ? "ISNULL(#__sportsmanager_spieler_import.veranstalterbezeichnung)" : ("#__sportsmanager_spieler_import.veranstalterbezeichnung = '" . $db->escape($v->veranstalterbezeichnung) . "'")) . " AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten"
+ . "\n GROUP BY #__sportsmanager_veranstalter.veranstalter_id"
+ . "\n ORDER BY spieler DESC"
+ . "\n LIMIT 1";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- if (count($rows) > 0)
- $veranstalter_zugehoerigkeit[$v->veranstalterbezeichnung] = $rows[0]->veranstalter_id;
- }
+ if (count($rows) > 0)
+ $veranstalter_zugehoerigkeit[$v->veranstalterbezeichnung] = $rows[0]->veranstalter_id;
+ }
- $query = "SELECT DISTINCT vereinsname, veranstalterbezeichnung"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine_import = $db->loadObjectList();
- $vereine_import_anzahl = count($vereine_import);
+ $query = "SELECT DISTINCT vereinsname, veranstalterbezeichnung"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereine_import = $db->loadObjectList();
- $query = "SELECT COUNT(*)"
- . "\n FROM #__sportsmanager_verein";
- if ($beschraenkter_zugriff)
- $query .= "\n WHERE" . veranstalterFilter("veranstalter_id IN");
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine_aktuell_anzahl = $db->loadResult();
+ if (!$beschraenkter_zugriff && count($vereine_import) == 1) {
+ $verein_import = $vereine_import[0]->vereinsname;
+ $query = "SELECT #__sportsmanager_verein.verein_id, vereinsname, veranstalterbezeichnung"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . "\n WHERE NOT ausgetreten"
+ . "\n ORDER BY veranstalterbezeichnung, vereinsname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereine = $db->loadObjectList();
+ } else {
+ $verein_import = "";
+ $vereine = array();
+ }
- if (!$beschraenkter_zugriff && count($vereine_import) == 1) {
- $verein_import = $vereine_import[0]->vereinsname;
- $query = "SELECT #__sportsmanager_verein.verein_id, vereinsname, veranstalterbezeichnung"
- . "\n FROM #__sportsmanager_verein"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n WHERE NOT ausgetreten"
- . "\n ORDER BY veranstalterbezeichnung, vereinsname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
- }
- else {
- $verein_import = "";
- $vereine = array();
- }
-
- HTML_sportsmanager_admin::adminImportSpielerDetails($beschraenkter_zugriff, $ansprechpartner_importieren, $veranstalter, $veranstalter_import, $veranstalter_zugehoerigkeit, $session_id, implode(",", $spalten), $verein_import, $vereine, einstellungswert("spielerimport_persoenliche_daten_vorauswahl"), $vereine_import_anzahl, $vereine_aktuell_anzahl);
+ HTML_sportsmanager_admin::adminImportSpielerDetails($beschraenkter_zugriff, $ansprechpartner_importieren, $veranstalter, $veranstalter_import, $veranstalter_zugehoerigkeit, $session_id, implode(",", $spalten), $verein_import, $vereine, einstellungswert("spielerimport_persoenliche_daten_vorauswahl"));
}
-function adminImportSpielerVorschau() {
- $db = getDatabase();
- global $_FILES;
- $jinput = JFactory::getApplication()->input;
+function adminImportSpielerVorschau(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $ansprechpartner_importieren = einstellungswert("ansprechpartner_importieren");
+ $ansprechpartner_importieren = einstellungswert("ansprechpartner_importieren");
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (($ansprechpartner_importieren == 1 || $ansprechpartner_importieren == 2) && benutzerVeranstalterModerator())
- $beschraenkter_zugriff = 1;
-// else if (benutzerVereinModerator())
-// $beschraenkter_zugriff = 2;
- else
- keinZugriff();
+ if (benutzerZugriff("spieler_aendern"))
+ $beschraenkter_zugriff = 0;
+ else if (($ansprechpartner_importieren == 1 || $ansprechpartner_importieren == 2) && benutzerVeranstalterModerator())
+ $beschraenkter_zugriff = 1;
+ else
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spieler');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spieler');
+ }
- return;
- }
+ if (!ini_get('safe_mode'))
+ set_time_limit(300);
- if (!ini_get('safe_mode'))
- set_time_limit(300);
+ $session_id = $jInput->get('session_id', '', 'RAW');
- $session_id = $jinput->get('session_id', '', 'RAW');
+ $query = "SELECT DISTINCT veranstalterbezeichnung"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "'"
+ . "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter_import = $db->loadObjectList();
- $query = "SELECT DISTINCT veranstalterbezeichnung"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "'"
- . "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter_import = $db->loadObjectList();
+ $spalten = array();
+ foreach (explode(",", $jInput->get('spalten', '', 'RAW')) as $s)
+ $spalten[$s] = true;
+ $veranstalter = array();
+ $n = 1;
+ foreach ($veranstalter_import as $v) {
+ $veranstalter_id = $jInput->get('veranstalter_' . $n . '_id', '', 'INT');
+ if (!$beschraenkter_zugriff || (!empty($veranstalter_id) && benutzerVeranstalterModerator($veranstalter_id)))
+ $veranstalter[$v->veranstalterbezeichnung] = $veranstalter_id;
+ else
+ $veranstalter[$v->veranstalterbezeichnung] = "";
+ $n++;
+ }
- $spalten = array();
- foreach (explode(",", $jinput->get('spalten', '', 'RAW')) as $s)
- $spalten[$s] = true;
- $veranstalter = array();
- $n = 1;
- foreach ($veranstalter_import as $v) {
- $veranstalter_id = $jinput->get('veranstalter_' . $n . '_id', '', 'INT');
- if (!$beschraenkter_zugriff || (!empty($veranstalter_id) && benutzerVeranstalterModerator($veranstalter_id)))
- $veranstalter[$v->veranstalterbezeichnung] = $veranstalter_id;
- else
- $veranstalter[$v->veranstalterbezeichnung] = "";
- $n++;
- }
+ $spielernr_aendern = false;
+ if (isset($spalten["spielernr_alt"])) {
+ $query = "SELECT nachname, vorname, spielernr, spielernr_alt"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND mitgliedsstatus <> 0 AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != ''"
+ . "\n LIMIT 1";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spielervergleich = $db->loadObjectList();
- $spielernr_aendern = false;
- if (isset($spalten["spielernr_alt"])) {
- $query = "SELECT nachname, vorname, spielernr, spielernr_alt"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND mitgliedsstatus <> 0 AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != ''"
- . "\n LIMIT 1";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spielervergleich = $db->loadObjectList();
+ if (count($spielervergleich) > 0) {
+ $spielernr_aendern = true;
+ $s1 = $spielervergleich[0];
+ $query = "SELECT nachname, vorname, spielernr"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE spielernr = '$s1->spielernr'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler = $db->loadObjectList();
- if (count($spielervergleich) > 0) {
- $spielernr_aendern = true;
- $s1 = $spielervergleich[0];
- $query = "SELECT nachname, vorname, spielernr"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE spielernr = '$s1->spielernr'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
+ if (count($spieler) > 0) {
+ $s2 = $spieler[0];
+ if ($s1->vorname == $s2->vorname && $s1->nachname == $s2->nachname) {
+ $query = "UPDATE #__sportsmanager_spieler_import"
+ . "\n SET spielernr_alt = NULL";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spielernr_aendern = false;
+ }
+ }
- if (count($spieler) > 0) {
- $s2 = $spieler[0];
- if ($s1->vorname == $s2->vorname && $s1->nachname == $s1->nachname) {
- $query = "UPDATE #__sportsmanager_spieler_import"
- . "\n SET spielernr_alt = NULL";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spielernr_aendern = false;
- }
- }
+ if ($spielernr_aendern) {
+ $query = "SELECT nachname, vorname"
+ . "\n FROM"
+ . "\n (SELECT nachname, vorname, spielernr, spielernr_alt"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND mitgliedsstatus <> 0 AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != '') AS import"
+ . "\n INNER JOIN"
+ . "\n (SELECT spielernr"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n ) AS bestand"
+ . "\n ON bestand.spielernr = import.spielernr"
+ . "\n WHERE NOT EXISTS(SELECT * FROM #__sportsmanager_spieler_import WHERE spielernr_alt = bestand.spielernr AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != '')"
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $konflikte = $db->loadObjectList();
- if ($spielernr_aendern) {
- $query = "SELECT nachname, vorname"
- . "\n FROM"
- . "\n (SELECT nachname, vorname, spielernr, spielernr_alt"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND mitgliedsstatus <> 0 AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != '') AS import"
- . "\n INNER JOIN"
- . "\n (SELECT spielernr"
- . "\n FROM #__sportsmanager_spieler"
- . "\n ) AS bestand"
- . "\n ON bestand.spielernr = import.spielernr"
- . "\n WHERE NOT EXISTS(SELECT * FROM #__sportsmanager_spieler_import WHERE spielernr_alt = bestand.spielernr AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != '')"
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $konflikte = $db->loadObjectList();
+ if (count($konflikte) > 0) {
+ HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte);
- if (count($konflikte) > 0) {
- HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte);
+ return;
+ }
+ }
+ }
+ }
- return;
- }
- }
- }
- }
+ $query = "SELECT #__sportsmanager_spieler_import.*, #__sportsmanager_spieler.spieler_id, IF(#__sportsmanager_spieler.nachname != #__sportsmanager_spieler_import.nachname, #__sportsmanager_spieler.nachname, NULL) AS nachname_alt, IF(#__sportsmanager_spieler.vorname != #__sportsmanager_spieler_import.vorname, #__sportsmanager_spieler.vorname, NULL) AS vorname_alt,"
+ . "\n IF(#__sportsmanager_spieler_import.spielernr = '', (SELECT COUNT(*) FROM #__sportsmanager_spieler AS t1 WHERE (#__sportsmanager_spieler_import.vorname = t1.vorname AND #__sportsmanager_spieler_import.nachname = t1.nachname AND ((ISNULL(#__sportsmanager_spieler_import.geburtsjahr) AND ISNULL(t1.geburtsjahr)) OR #__sportsmanager_spieler_import.geburtsjahr = t1.geburtsjahr))), 0) AS namensgleich"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n LEFT JOIN #__sportsmanager_spieler ON #__sportsmanager_spieler_import.spielernr != '' AND " . ($spielernr_aendern ? "IF(NOT ISNULL(#__sportsmanager_spieler_import.spielernr_alt) AND #__sportsmanager_spieler_import.spielernr_alt != '', #__sportsmanager_spieler_import.spielernr_alt = #__sportsmanager_spieler.spielernr, #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr)" : "#__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr")
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "'"
+ . "\n HAVING namensgleich > 0 OR NOT ISNULL(nachname_alt) OR NOT ISNULL(vorname_alt)"
+ // "namensgleich" kann in der "ORDER"-Anweisung" nicht verwendet werden, da MySQL 5.0.x dies nicht akzeptiert
+ . "\n ORDER BY IF(#__sportsmanager_spieler_import.spielernr = '', (SELECT COUNT(*) FROM #__sportsmanager_spieler AS t1 WHERE (#__sportsmanager_spieler_import.vorname = t1.vorname AND #__sportsmanager_spieler_import.nachname = t1.nachname AND ((ISNULL(#__sportsmanager_spieler_import.geburtsjahr) AND ISNULL(t1.geburtsjahr)) OR #__sportsmanager_spieler_import.geburtsjahr = t1.geburtsjahr))), 0) > 0 DESC, nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler_import = $db->loadObjectList();
- $query = "SELECT #__sportsmanager_spieler_import.*, #__sportsmanager_spieler.spieler_id, IF(#__sportsmanager_spieler.nachname != #__sportsmanager_spieler_import.nachname, #__sportsmanager_spieler.nachname, NULL) AS nachname_alt, IF(#__sportsmanager_spieler.vorname != #__sportsmanager_spieler_import.vorname, #__sportsmanager_spieler.vorname, NULL) AS vorname_alt,"
- . "\n IF(#__sportsmanager_spieler_import.spielernr = '', (SELECT COUNT(*) FROM #__sportsmanager_spieler AS t1 WHERE (#__sportsmanager_spieler_import.vorname = t1.vorname AND #__sportsmanager_spieler_import.nachname = t1.nachname AND ((ISNULL(#__sportsmanager_spieler_import.geburtsjahr) AND ISNULL(t1.geburtsjahr)) OR #__sportsmanager_spieler_import.geburtsjahr = t1.geburtsjahr))), 0) AS namensgleich"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n LEFT JOIN #__sportsmanager_spieler ON #__sportsmanager_spieler_import.spielernr != '' AND " . ($spielernr_aendern ? "IF(NOT ISNULL(#__sportsmanager_spieler_import.spielernr_alt) AND #__sportsmanager_spieler_import.spielernr_alt != '', #__sportsmanager_spieler_import.spielernr_alt = #__sportsmanager_spieler.spielernr, #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr)" : "#__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr")
- . "\n WHERE session_id = '" . $db->escape($session_id) . "'"
- . "\n HAVING namensgleich > 0 OR NOT ISNULL(nachname_alt) OR NOT ISNULL(vorname_alt)"
- // "namensgleich" kann in der "ORDER"-Anweisung" nicht verwendet werden, da MySQL 5.0.x dies nicht akzeptiert
- . "\n ORDER BY IF(#__sportsmanager_spieler_import.spielernr = '', (SELECT COUNT(*) FROM #__sportsmanager_spieler AS t1 WHERE (#__sportsmanager_spieler_import.vorname = t1.vorname AND #__sportsmanager_spieler_import.nachname = t1.nachname AND ((ISNULL(#__sportsmanager_spieler_import.geburtsjahr) AND ISNULL(t1.geburtsjahr)) OR #__sportsmanager_spieler_import.geburtsjahr = t1.geburtsjahr))), 0) > 0 DESC, nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler_import = $db->loadObjectList();
+ $import_verweigern = false;
+ if ($beschraenkter_zugriff) {
+ foreach ($spieler_import as $s) {
+ if ($s->namensgleich > 0) {
+ $import_verweigern = true;
+ break;
+ }
+ $p1 = $p2 = 100;
+ if ($s->nachname_alt != null)
+ similar_text($s->nachname, $s->nachname_alt, $p1);
+ if ($s->vorname_alt != null)
+ similar_text($s->vorname, $s->vorname_alt, $p2);
+ if (floor($p1) < 75 && floor($p2) < 75) {
+ $p1 = $p2 = 100;
+ if ($s->nachname_alt != null)
+ similar_text($s->vorname, $s->nachname_alt, $p1);
+ if ($s->vorname_alt != null)
+ similar_text($s->nachname, $s->vorname_alt, $p2);
+ if (floor($p1) < 75 && floor($p2) < 75) {
+ $import_verweigern = true;
+ break;
+ }
+ }
+ }
+ if (!$import_verweigern) {
+ $query = "SELECT SUM(IF(ISNULL(spieler_id), 0, 1)) AS zugeordnet, SUM(IF(ISNULL(spieler_id), 1, 0)) AS nicht_zugeordnet"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n LEFT JOIN #__sportsmanager_spieler ON #__sportsmanager_spieler_import.spielernr != '' AND " . ($spielernr_aendern ? "IF(NOT ISNULL(#__sportsmanager_spieler_import.spielernr_alt) AND #__sportsmanager_spieler_import.spielernr_alt != '', #__sportsmanager_spieler_import.spielernr_alt = #__sportsmanager_spieler.spielernr, #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr)" : "#__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr")
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler_zugeordnet = $db->loadObjectList();
- $import_verweigern = false;
- if ($beschraenkter_zugriff) {
- $eintraege_zugeordnet = 0;
- $eintraege_nicht_zugeordnet = 0;
- foreach ($spieler_import as $s) {
- if ($s->namensgleich > 0) {
- $import_verweigern = true;
- break;
- }
- $p1 = $p2 = 100;
- if ($s->nachname_alt != null)
- similar_text($s->nachname, $s->nachname_alt, $p1);
- if ($s->vorname_alt != null)
- similar_text($s->vorname, $s->vorname_alt, $p2);
- if (floor($p1) < 75 && floor($p2) < 75) {
- $p1 = $p2 = 100;
- if ($s->nachname_alt != null)
- similar_text($s->vorname, $s->nachname_alt, $p1);
- if ($s->vorname_alt != null)
- similar_text($s->nachname, $s->vorname_alt, $p2);
- if (floor($p1) < 75 && floor($p2) < 75) {
- $import_verweigern = true;
- break;
- }
- }
- }
- if (!$import_verweigern) {
- $query = "SELECT SUM(IF(ISNULL(spieler_id), 0, 1)) AS zugeordnet, SUM(IF(ISNULL(spieler_id), 1, 0)) AS nicht_zugeordnet"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n LEFT JOIN #__sportsmanager_spieler ON #__sportsmanager_spieler_import.spielernr != '' AND " . ($spielernr_aendern ? "IF(NOT ISNULL(#__sportsmanager_spieler_import.spielernr_alt) AND #__sportsmanager_spieler_import.spielernr_alt != '', #__sportsmanager_spieler_import.spielernr_alt = #__sportsmanager_spieler.spielernr, #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr)" : "#__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr")
- . "\n WHERE session_id = '" . $db->escape($session_id) . "'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler_zugeordnet = $db->loadObjectList();
+ if (count($spieler_zugeordnet) > 0 && $spieler_zugeordnet[0]->nicht_zugeordnet > ($spieler_zugeordnet[0]->zugeordnet / 2))
+ $import_verweigern = true;
+ }
+ }
- if (count($spieler_zugeordnet) > 0 && $spieler_zugeordnet[0]->nicht_zugeordnet > ($spieler_zugeordnet[0]->zugeordnet / 2))
- $import_verweigern = true;
- }
- }
+ if ($import_verweigern) {
+ $query = "DELETE FROM #__sportsmanager_spieler_import"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- if ($import_verweigern) {
- $query = "DELETE FROM #__sportsmanager_spieler_import"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- HTML_sportsmanager_admin::adminImportSpielerVorschau($import_verweigern, $spieler_import, $veranstalter, $session_id, $jinput->get('persoenliche_daten', 0, 'INT'), $jinput->get('lizenznr_beibehalten', 0, 'INT'), $jinput->get('spalten', '', 'RAW'));
+ HTML_sportsmanager_admin::adminImportSpielerVorschau($import_verweigern, $spieler_import, $veranstalter, $session_id, $jInput->get('persoenliche_daten', 0, 'INT'), $jInput->get('lizenznr_beibehalten', 0, 'INT'), $jInput->get('spalten', '', 'RAW'));
}
-function adminImportSpieler() {
- $db = getDatabase();
- global $_FILES;
- $jinput = JFactory::getApplication()->input;
+function adminImportSpieler(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $ansprechpartner_importieren = einstellungswert("ansprechpartner_importieren");
+ $ansprechpartner_importieren = einstellungswert("ansprechpartner_importieren");
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (($ansprechpartner_importieren == 1 || $ansprechpartner_importieren == 2) && benutzerVeranstalterModerator())
- $beschraenkter_zugriff = 1;
-// else if (benutzerVereinModerator())
-// $beschraenkter_zugriff = 2;
- else
- keinZugriff();
+ if (benutzerZugriff("spieler_aendern"))
+ $beschraenkter_zugriff = 0;
+ else if (($ansprechpartner_importieren == 1 || $ansprechpartner_importieren == 2) && benutzerVeranstalterModerator())
+ $beschraenkter_zugriff = 1;
+ else
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spieler');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spieler');
+ }
- return;
- }
-
- if (!ini_get('safe_mode'))
- set_time_limit(300);
+ if (!ini_get('safe_mode'))
+ set_time_limit(300);
- if (!$beschraenkter_zugriff || $ansprechpartner_importieren != 1)
- $persoenliche_daten = $jinput->get('persoenliche_daten', 0, 'INT'); // 0: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr.", 1: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr., Geburtsdatum", "Alle"
- else
- $persoenliche_daten = 0;
- $lizenznr_beibehalten = $jinput->get('lizenznr_beibehalten', 0, 'INT');
+ if (!$beschraenkter_zugriff || $ansprechpartner_importieren != 1)
+ $persoenliche_daten = $jInput->get('persoenliche_daten', 0, 'INT'); // 0: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr.", 1: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr., Geburtsdatum", "Alle"
+ else
+ $persoenliche_daten = 0;
+ $lizenznr_beibehalten = $jInput->get('lizenznr_beibehalten', 0, 'INT');
- $session_id = $jinput->get('session_id', '', 'RAW');
- $query = "SELECT DISTINCT veranstalterbezeichnung"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "'"
- . "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter_import = $db->loadObjectList();
+ $session_id = $jInput->get('session_id', '', 'RAW');
+ $query = "SELECT DISTINCT veranstalterbezeichnung"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "'"
+ . "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter_import = $db->loadObjectList();
- $spalten = array();
- foreach (explode(",", $jinput->get('spalten', '', 'RAW')) as $s)
- $spalten[$s] = true;
- $veranstalter = array();
- $n = 1;
- $verein_explizit = 0;
- foreach ($veranstalter_import as $v) {
- if (isset($_POST["veranstalter_" . $n . "_id"])) {
- $veranstalter_id = $jinput->get('veranstalter_' . $n . '_id', '', 'INT');
- if (!$beschraenkter_zugriff || (!empty($veranstalter_id) && benutzerVeranstalterModerator($veranstalter_id))) {
- if ($veranstalter_id == "")
- $veranstalter_id = -1;
- else if ($veranstalter_id < 0) {
- $verein_explizit = abs($veranstalter_id);
- break;
- }
- else
- $veranstalter_id = intval($veranstalter_id);
- $veranstalter[$v->veranstalterbezeichnung] = $veranstalter_id;
- }
- else {
- $veranstalter[$v->veranstalterbezeichnung] = -1;
- }
- }
- $n++;
- }
+ $spalten = array();
+ foreach (explode(",", $jInput->get('spalten', '', 'RAW')) as $s)
+ $spalten[$s] = true;
+ $veranstalter = array();
+ $n = 1;
+ $verein_explizit = 0;
+ foreach ($veranstalter_import as $v) {
+ if (isset($_POST["veranstalter_" . $n . "_id"])) {
+ $veranstalter_id = $jInput->get('veranstalter_' . $n . '_id', '', 'INT');
+ if (!$beschraenkter_zugriff || (!empty($veranstalter_id) && benutzerVeranstalterModerator($veranstalter_id))) {
+ if ($veranstalter_id == "")
+ $veranstalter_id = -1;
+ else if ($veranstalter_id < 0) {
+ $verein_explizit = abs($veranstalter_id);
+ break;
+ } else
+ $veranstalter_id = intval($veranstalter_id);
+ $veranstalter[$v->veranstalterbezeichnung] = $veranstalter_id;
+ } else {
+ $veranstalter[$v->veranstalterbezeichnung] = -1;
+ }
+ }
+ $n++;
+ }
- /*
- // TODO: Importinhalt um Spielernummern ergänzen, dann UPDATE aller gegebenen Spalten. So kein Vorgehen Spieler für Spieler erforderlich.
+ /*
+ * TODO: Importinhalt um Spielernummern ergänzen, dann UPDATE aller gegebenen Spalten. So kein Vorgehen Spieler für Spieler erforderlich.
+ * Immer Spieler neu hinzufügen, wenn Spieler über Spielernr. nicht gefunden werden konnte, d.h.
+ * wenn keine Spielernr. vorhanden, dann Spielernr. generieren
+ * sonst Spielernr. übernehmen
+ */
+ if (isset($spalten["spielernr_alt"])) {
+ $query = "SELECT nachname, vorname"
+ . "\n FROM"
+ . "\n (SELECT nachname, vorname, spielernr, spielernr_alt"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND mitgliedsstatus <> 0 AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != '') AS import"
+ . "\n INNER JOIN"
+ . "\n (SELECT spielernr"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n ) AS bestand"
+ . "\n ON bestand.spielernr = import.spielernr"
+ . "\n WHERE NOT EXISTS(SELECT * FROM #__sportsmanager_spieler_import AS it1 WHERE spielernr_alt = bestand.spielernr AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != '')"
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $konflikte = $db->loadObjectList();
- Immer Spieler neu hinzufügen, wenn Spieler über Spielernr. nicht gefunden werden konnte, d.h.
- wenn keine Spielernr. vorhanden, dann Spielernr. generieren
- sonst Spielernr. übernehmen
+ if (count($konflikte) > 0) {
+ HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte);
-*/
+ return;
+ }
- if (isset($spalten["spielernr_alt"])) {
- $query = "SELECT nachname, vorname"
- . "\n FROM"
- . "\n (SELECT nachname, vorname, spielernr, spielernr_alt"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND mitgliedsstatus <> 0 AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != '') AS import"
- . "\n INNER JOIN"
- . "\n (SELECT spielernr"
- . "\n FROM #__sportsmanager_spieler"
- . "\n ) AS bestand"
- . "\n ON bestand.spielernr = import.spielernr"
- . "\n WHERE NOT EXISTS(SELECT * FROM #__sportsmanager_spieler_import AS it1 WHERE spielernr_alt = bestand.spielernr AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != '')"
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $konflikte = $db->loadObjectList();
+ $query = "UPDATE #__sportsmanager_spieler"
+ . "\n INNER JOIN #__sportsmanager_spieler_import ON NOT ISNULL(spielernr_alt) AND spielernr_alt != '' AND spielernr_alt = #__sportsmanager_spieler.spielernr"
+ . "\n SET #__sportsmanager_spieler.spielernr = #__sportsmanager_spieler_import.spielernr"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND mitgliedsstatus <> 0 AND #__sportsmanager_spieler.spielernr = #__sportsmanager_spieler_import.spielernr_alt";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- if (count($konflikte) > 0) {
- HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte);
+ $query = "SELECT IF(EXISTS("
+ . "\n SELECT * FROM #__sportsmanager_spieler"
+ . "\n INNER JOIN #__sportsmanager_spieler_import ON NOT ISNULL(#__sportsmanager_spieler_import.spielernr) AND #__sportsmanager_spieler_import.spielernr != '' AND #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr"
+ . "\n WHERE #__sportsmanager_spieler_import.geschlecht != #__sportsmanager_spieler.geschlecht OR #__sportsmanager_spieler_import.geburtsjahr != #__sportsmanager_spieler.geburtsjahr"
+ . "\n), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $kategorie_potentiell_geaendert = $db->loadResult();
- return;
- }
+ $query = "SELECT #__sportsmanager_spieler_import.*, #__sportsmanager_spieler.spieler_id, IF(#__sportsmanager_spieler.nachname != #__sportsmanager_spieler_import.nachname, #__sportsmanager_spieler.nachname, NULL) AS nachname_alt, IF(#__sportsmanager_spieler.vorname != #__sportsmanager_spieler_import.vorname, #__sportsmanager_spieler.vorname, NULL) AS vorname_alt,"
+ . "\n IF(#__sportsmanager_spieler_import.spielernr = '', (SELECT COUNT(*) FROM #__sportsmanager_spieler AS tt1 WHERE (#__sportsmanager_spieler_import.vorname = tt1.vorname AND #__sportsmanager_spieler_import.nachname = tt1.nachname AND ((ISNULL(#__sportsmanager_spieler_import.geburtsjahr) AND ISNULL(tt1.geburtsjahr)) OR #__sportsmanager_spieler_import.geburtsjahr = tt1.geburtsjahr))), 0) AS namensgleich"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n LEFT JOIN #__sportsmanager_spieler ON #__sportsmanager_spieler_import.spielernr != '' AND #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND 1 = 1"
+ . "\n ORDER BY IF(#__sportsmanager_spieler_import.spielernr = '', (SELECT COUNT(*) FROM #__sportsmanager_spieler AS tt2 WHERE (#__sportsmanager_spieler_import.vorname = tt2.vorname AND #__sportsmanager_spieler_import.nachname = tt2.nachname AND ((ISNULL(#__sportsmanager_spieler_import.geburtsjahr) AND ISNULL(tt2.geburtsjahr)) OR #__sportsmanager_spieler_import.geburtsjahr = tt2.geburtsjahr))), 0) > 0 DESC, IF(NOT ISNULL(IF(#__sportsmanager_spieler.nachname != #__sportsmanager_spieler_import.nachname, #__sportsmanager_spieler.nachname, NULL)) OR NOT ISNULL(IF(#__sportsmanager_spieler.vorname != #__sportsmanager_spieler_import.vorname, #__sportsmanager_spieler.vorname, NULL)), 0, 1), nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler_import = $db->loadObjectList();
- $query = "UPDATE #__sportsmanager_spieler"
- . "\n INNER JOIN #__sportsmanager_spieler_import ON NOT ISNULL(spielernr_alt) AND spielernr_alt != '' AND spielernr_alt = #__sportsmanager_spieler.spielernr"
- . "\n SET #__sportsmanager_spieler.spielernr = #__sportsmanager_spieler_import.spielernr"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND mitgliedsstatus <> 0 AND #__sportsmanager_spieler.spielernr = #__sportsmanager_spieler_import.spielernr_alt";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ if (empty($verein_explizit)) {
+ // Alle Vereinsmitgliedschaften des Verbandes vorsorglich beenden, damit diese beim Import ggf. wieder aktiviert werden können
+ foreach ($veranstalter as $veranstalterId) {
+ if ($veranstalterId != -1) {
+ $query = "UPDATE #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id)"
+ . "\n SET mitgliedsstatus = 0,"
+ . "\n #__sportsmanager_mitglied_von_verein.ausgetreten = TRUE"
+ . "\n WHERE " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId");
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ } else if ($verein_explizit != -1) {
+ $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $verein_explizit";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id!");
- $query = "SELECT IF(EXISTS("
- . "\n SELECT * FROM #__sportsmanager_spieler"
- . "\n INNER JOIN #__sportsmanager_spieler_import ON NOT ISNULL(#__sportsmanager_spieler_import.spielernr) AND #__sportsmanager_spieler_import.spielernr != '' AND #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr"
- . "\n WHERE #__sportsmanager_spieler_import.geschlecht != #__sportsmanager_spieler.geschlecht OR #__sportsmanager_spieler_import.geburtsjahr != #__sportsmanager_spieler.geburtsjahr"
- . "\n), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $kategorie_potentiell_geaendert = $db->loadResult();
+ // Alle Vereinsmitgliedschaften des Vereins vorsorglich beenden, damit diese beim Import ggf. wieder aktiviert werden können
+ $query = "UPDATE #__sportsmanager_mitglied_von_verein"
+ . "\n SET mitgliedsstatus = 0,"
+ . "\n ausgetreten = TRUE"
+ . "\n WHERE verein_id = $verein_explizit";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "SELECT #__sportsmanager_spieler_import.*, #__sportsmanager_spieler.spieler_id, IF(#__sportsmanager_spieler.nachname != #__sportsmanager_spieler_import.nachname, #__sportsmanager_spieler.nachname, NULL) AS nachname_alt, IF(#__sportsmanager_spieler.vorname != #__sportsmanager_spieler_import.vorname, #__sportsmanager_spieler.vorname, NULL) AS vorname_alt,"
- . "\n IF(#__sportsmanager_spieler_import.spielernr = '', (SELECT COUNT(*) FROM #__sportsmanager_spieler AS tt1 WHERE (#__sportsmanager_spieler_import.vorname = tt1.vorname AND #__sportsmanager_spieler_import.nachname = tt1.nachname AND ((ISNULL(#__sportsmanager_spieler_import.geburtsjahr) AND ISNULL(tt1.geburtsjahr)) OR #__sportsmanager_spieler_import.geburtsjahr = tt1.geburtsjahr))), 0) AS namensgleich"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n LEFT JOIN #__sportsmanager_spieler ON #__sportsmanager_spieler_import.spielernr != '' AND #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND 1 = 1"
- // "namensgleich", "nachname_alt", "vorname_alt" kann in der "ORDER"-Anweisung" nicht verwendet werden, da MySQL 5.0.x dies nicht akzeptiert
- // . "\n ORDER BY IF(#__sportsmanager_spieler_import.spielernr = '', (SELECT COUNT(*) FROM #__sportsmanager_spieler AS tt2 WHERE (#__sportsmanager_spieler_import.vorname = tt2.vorname AND #__sportsmanager_spieler_import.nachname = tt2.nachname AND ((ISNULL(#__sportsmanager_spieler_import.geburtsjahr) AND ISNULL(tt2.geburtsjahr)) OR #__sportsmanager_spieler_import.geburtsjahr = tt2.geburtsjahr))), 0) > 0 DESC, IF(NOT ISNULL(nachname_alt) OR NOT ISNULL(vorname_alt), 0, 1), nachname, vorname";
- . "\n ORDER BY IF(#__sportsmanager_spieler_import.spielernr = '', (SELECT COUNT(*) FROM #__sportsmanager_spieler AS tt2 WHERE (#__sportsmanager_spieler_import.vorname = tt2.vorname AND #__sportsmanager_spieler_import.nachname = tt2.nachname AND ((ISNULL(#__sportsmanager_spieler_import.geburtsjahr) AND ISNULL(tt2.geburtsjahr)) OR #__sportsmanager_spieler_import.geburtsjahr = tt2.geburtsjahr))), 0) > 0 DESC, IF(NOT ISNULL(IF(#__sportsmanager_spieler.nachname != #__sportsmanager_spieler_import.nachname, #__sportsmanager_spieler.nachname, NULL)) OR NOT ISNULL(IF(#__sportsmanager_spieler.vorname != #__sportsmanager_spieler_import.vorname, #__sportsmanager_spieler.vorname, NULL)), 0, 1), nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler_import = $db->loadObjectList();
+ // Nächste Spieler-Nr. ermitteln
+ $query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'basis_spielernr'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 0)
+ die("Fehler: Inkonsistenz in den MySQL-Tabellen!");
+ $naechste_spielernr = $rows[0]->wert;
+ if (empty($naechste_spielernr))
+ $naechste_spielernr = "1";
- if (empty($verein_explizit)) {
- // Alle Vereinsmitgliedschaften des Verbandes vorsorglich beenden, damit diese beim Import ggf. wieder aktiviert werden können
- foreach ($veranstalter as $v => $veranstalterid) {
- if ($veranstalterid != -1) {
- $query = "UPDATE #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id)"
- . "\n SET mitgliedsstatus = 0,"
- . "\n #__sportsmanager_mitglied_von_verein.ausgetreten = TRUE"
- . "\n WHERE " . ($veranstalterid == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterid");
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
- else if ($verein_explizit != -1) {
- $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $verein_explizit";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id!");
+ for ($i = strlen($naechste_spielernr) - 1; $i >= 0; $i--) {
+ if ($naechste_spielernr[$i] < '0' || $naechste_spielernr[$i] > '9')
+ break;
+ }
+ $spielernr_praefix = substr($naechste_spielernr, 0, $i + 1);
- // Alle Vereinsmitgliedschaften des Vereins vorsorglich beenden, damit diese beim Import ggf. wieder aktiviert werden können
- $query = "UPDATE #__sportsmanager_mitglied_von_verein"
- . "\n SET mitgliedsstatus = 0,"
- . "\n ausgetreten = TRUE"
- . "\n WHERE verein_id = $verein_explizit";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else {
- $query = "INSERT INTO #__sportsmanager_verein (vereinsname, vereinssitz, vereinssitz_ortsteil, veranstalter_id, url, beschreibung, ausgetreten)"
- . "\n VALUES ('$vereinsname', '$vereinssitz', '$vereinssitz_ortsteil', " . ($veranstalter_id != 0 ? "'$veranstalter_id'" : "NULL") . ", '$url', '$beschreibung', " . ($ausgetreten ? "TRUE" : "FALSE") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
+ $query = "SELECT spielernr"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE Left(spielernr, " . strlen($spielernr_praefix) . ") = '" . $db->escape($spielernr_praefix) . "'"
+ . "\n ORDER BY LENGTH(spielernr) DESC, spielernr DESC"
+ . "\n LIMIT 1";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) > 0) {
+ $naechste_spielernr = $rows[0]->spielernr;
+ for ($i = strlen($naechste_spielernr) - 1; $i >= 0; $i--) {
+ if ($naechste_spielernr[$i] < '0' || $naechste_spielernr[$i] > '9') {
+ $naechste_spielernr = substr($naechste_spielernr, 0, $i + 1) . "1" . substr($naechste_spielernr, $i + 1);
+ break;
+ }
+ if ($naechste_spielernr[$i] <= '8') {
+ $naechste_spielernr[$i] = $naechste_spielernr[$i] + 1;
+ break;
+ }
+ // $naechste_spielernr[$i] == '9'
+ $naechste_spielernr[$i] = '0';
+ }
+ if ($i < 0)
+ $naechste_spielernr = "1" . $naechste_spielernr;
+ }
- // Nächste Spieler-Nr. ermitteln
- $query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'basis_spielernr'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 0)
- die("Fehler: Inkonsistenz in den MySQL-Tabellen!");
- $naechste_spielernr = $rows[0]->wert;
- if (empty($naechste_spielernr))
- $naechste_spielernr = "1";
+ $aktualisierungen = 0;
+ $spielerHinzugefuegt = array();
+ $vereineHinzugefuegt = 0;
+ $vereineManuell = array();
+ $spielerIdsHinzugefuegt = array();
- for ($i = strlen($naechste_spielernr) - 1; $i >= 0; $i--) {
- if ($naechste_spielernr[$i] < '0' || $naechste_spielernr[$i] > '9')
- break;
- }
- $spielernr_praefix = substr($naechste_spielernr, 0, $i + 1);
+ $organisation = -1;
+ $veranstalterId = -1;
+ foreach ($spieler_import as $t) {
+ // wenn der Spieler ausgetreten ist, dann nicht prüfen
+ $mitgliedsstatus = $t->mitgliedsstatus;
+ if ($mitgliedsstatus == 0)
+ continue;
- $query = "SELECT spielernr"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE Left(spielernr, " . strlen($spielernr_praefix) . ") = '" . $db->escape($spielernr_praefix) . "'"
- . "\n ORDER BY LENGTH(spielernr) DESC, spielernr DESC"
- . "\n LIMIT 1";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) > 0) {
- $naechste_spielernr = $rows[0]->spielernr;
- for ($i = strlen($naechste_spielernr) - 1; $i >= 0; $i--) {
- if ($naechste_spielernr[$i] < '0' || $naechste_spielernr[$i] > '9') {
- $naechste_spielernr = substr($naechste_spielernr, 0, $i + 1) . "1" . substr($naechste_spielernr, $i + 1);
- break;
- }
- if ($naechste_spielernr[$i] <= '8') {
- $naechste_spielernr[$i] = $naechste_spielernr[$i] + 1;
- break;
- }
- // $naechste_spielernr[$i] == '9'
- $naechste_spielernr[$i] = '0';
- }
- if ($i < 0)
- $naechste_spielernr = "1" . $naechste_spielernr;
- }
+ if (empty($verein_explizit)) {
+ if ($organisation != $t->veranstalterbezeichnung) {
+ $organisation = $t->veranstalterbezeichnung;
+ $veranstalterId = $veranstalter[$organisation] ?? -1;
+ }
+ if ($veranstalterId == -1)
+ continue;
+ }
- $aktualisierungen = 0;
- $spielerHinzugefuegt = array();
- $vereineHinzugefuegt = 0;
- $vereineManuell = array();
- $spielerIdsHinzugefuegt = array();
+ $spieler_id = $t->spieler_id;
+ $nachname = $t->nachname;
+ $vorname = $t->vorname;
+ $name = $t->vorname . " " . $t->nachname;
+ $geschlecht = $t->geschlecht;
+ $lizenznr = $t->lizenznr;
+ $pseudonym = $t->pseudonym;
+ $vereinsname = $t->vereinsname;
+ $geburtsdatum = $t->geburtsdatum;
+ $geburtsjahr = $t->geburtsjahr;
+ $email = $t->email;
+ $strasse = $t->strasse;
+ $plz = $t->plz;
+ $ort = $t->ort;
+ $landeskennung = $t->landeskennung;
+ $telefon = $t->telefon;
+ $mobil = $t->mobil;
+ $spielernr = $t->spielernr;
- $organisation = -1;
- $veranstalterid = -1;
- foreach ($spieler_import as $t) {
- // wenn der Spieler ausgetreten ist, dann nicht prüfen
- $mitgliedsstatus = $t->mitgliedsstatus;
- if ($mitgliedsstatus == 0)
- continue;
+ if ($spieler_id == null && !empty($spielernr) && isset($spielerIdsHinzugefuegt[$spielernr]))
+ $spieler_id = $spielerIdsHinzugefuegt[$spielernr]; // Wenn Spieler schon hinzugefügt wurde, dann vorhandenen Eintrag verwenden; verhindert doppeltes Hinterlegen von Spielernr.
- if (empty($verein_explizit)) {
- if ($organisation != $t->veranstalterbezeichnung) {
- $organisation = $t->veranstalterbezeichnung;
- $veranstalterid = isset($veranstalter[$organisation]) ? $veranstalter[$organisation] : -1;
- }
- if ($veranstalterid == -1)
- continue;
- }
+ // Wenn kein Vereinsname angegeben ist, aber eine Organisation gewählt wurde, dann Spieler nicht ergänzen
+ if ($spieler_id == null && empty($vereinsname) && empty($verein_explizit))
+ continue;
- $spieler_id = $t->spieler_id;
- $nachname = $t->nachname;
- $vorname = $t->vorname;
- $name = $t->vorname . " " . $t->nachname;
- $geschlecht = $t->geschlecht;
- $spielernr = $t->spielernr;
- $lizenznr = $t->lizenznr;
- $pseudonym = $t->pseudonym;
- $vereinsname = $t->vereinsname;
- $geburtsdatum = $t->geburtsdatum;
- $geburtsjahr = $t->geburtsjahr;
- $email = $t->email;
- $strasse = $t->strasse;
- $plz = $t->plz;
- $ort = $t->ort;
- $landeskennung = $t->landeskennung;
- $telefon = $t->telefon;
- $mobil = $t->mobil;
- $spielernr = $t->spielernr;
+ // Spieler aktualisieren bzw. ergänzen
+ if ($spieler_id != null) { // Spieler aktualisieren
+ $query = "UPDATE #__sportsmanager_spieler"
+ . "\n SET vorname = '" . $db->escape($vorname) . "',"
+ . "\n nachname = '" . $db->escape($nachname) . "'";
+ //. "\n spielernr = '" . $db->escape($spielernr) . "'";
+ if (isset($spalten["lizenznr"]) && ($lizenznr_beibehalten == 0 || !empty($lizenznr)))
+ $query .= ",\n lizenznr = '" . $db->escape($lizenznr) . "'";
+ if (isset($spalten["pseudonym"]))
+ $query .= ",\n pseudonym = '" . $db->escape($pseudonym) . "'";
+ if (isset($spalten["geschlecht"]))
+ $query .= ",\n geschlecht = '" . $db->escape($geschlecht) . "'";
+ if (isset($spalten["geburtsdatum"]) || isset($spalten["geburtsjahr"]))
+ $query .= ",\n geburtsjahr = " . ($geburtsjahr == null ? "NULL" : ("'" . $db->escape($geburtsjahr) . "'"));
+ if (($persoenliche_daten == 1 || $persoenliche_daten == 2) && isset($spalten["geburtsdatum"]))
+ $query .= ",\n geburtsdatum = " . ($geburtsdatum == null ? "NULL" : ("'" . $db->escape($geburtsdatum) . "'"));
+ if ($persoenliche_daten == 2) {
+ if (isset($spalten["strasse"]))
+ $query .= ",\n strasse = '" . $db->escape($strasse) . "'";
+ if (isset($spalten["plz"]))
+ $query .= ",\n plz = '" . $db->escape($plz) . "'";
+ if (isset($spalten["ort"]))
+ $query .= ",\n ort = '" . $db->escape($ort) . "'";
+ if (isset($spalten["landeskennung"]))
+ $query .= ",\n landeskennung = '" . $db->escape($landeskennung) . "'";
+ if (isset($spalten["telefon"]))
+ $query .= ",\n telefon = '" . $db->escape($telefon) . "'";
+ if (isset($spalten["mobil"]))
+ $query .= ",\n mobil = '" . $db->escape($mobil) . "'";
+ if (isset($spalten["email"]))
+ $query .= ",\n email = '" . $db->escape($email) . "'";
+ }
+ $query .= "\n WHERE spieler_id = $spieler_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ // $bearbeitungsVerlauf .= "-> Spielerdaten aktualisiert ";
- if ($spieler_id == null && !empty($spielernr) && isset($spielerIdsHinzugefuegt[$spielernr]))
- $spieler_id = $spielerIdsHinzugefuegt[$spielernr]; // Wenn Spieler schon hinzugefügt wurde, dann vorhandenen Eintrag verwenden; verhindert doppeltes Hinterlegen von Spielernr.
+ $aktualisierungen++;
+ } else { // Spieler ergänzen
+ // Neuen Spieler anlegen
+ $query = "INSERT #__sportsmanager_spieler"
+ . "\n SET vorname = '" . $db->escape($vorname) . "'"
+ . ",\n nachname = '" . $db->escape($nachname) . "'"
+ . ",\n spielernr = '" . $db->escape(!empty($spielernr) ? $spielernr : $naechste_spielernr) . "'"
+ . ",\n lizenznr = '" . $db->escape($lizenznr) . "'"
+ . ",\n geschlecht = '" . $db->escape($geschlecht) . "'"
+ . ",\n geburtsjahr = " . ($geburtsjahr == null ? "NULL" : ("'" . $db->escape($geburtsjahr) . "'"));
+ if ($persoenliche_daten == 1 || $persoenliche_daten == 2)
+ $query .= ",\n geburtsdatum = " . ($geburtsdatum == null ? "NULL" : ("'" . $db->escape($geburtsdatum) . "'"));
+ if ($persoenliche_daten == 2)
+ $query .= ",\n pseudonym = '" . $db->escape($pseudonym) . "'"
+ . ",\n strasse = '" . $db->escape($strasse) . "'"
+ . ",\n plz = '" . $db->escape($plz) . "'"
+ . ",\n ort = '" . $db->escape($ort) . "'"
+ . ",\n landeskennung = '" . $db->escape($landeskennung) . "'"
+ . ",\n telefon = '" . $db->escape($telefon) . "'"
+ . ",\n mobil = '" . $db->escape($mobil) . "'"
+ . ",\n email = '" . $db->escape($email) . "'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler_id = $db->insertid();
- // Wenn kein Vereinsname angegeben ist, aber eine Organisation gewählt wurde, dann Spieler nicht ergänzen
- if ($spieler_id == null && empty($vereinsname) && empty($verein_explizit))
- continue;
+ $spielerHinzugefuegt[] = array($nachname, $vorname, !empty($spielernr) ? $spielernr : $naechste_spielernr);
+ $spielerIdsHinzugefuegt[!empty($spielernr) ? $spielernr : $naechste_spielernr] = $spieler_id;
- // Spieler aktualisieren bzw. ergänzen
- if ($spieler_id != null) { // Spieler aktualisieren
- $query = "UPDATE #__sportsmanager_spieler"
- . "\n SET vorname = '" . $db->escape($vorname) . "',"
- . "\n nachname = '" . $db->escape($nachname) . "'";
- //. "\n spielernr = '" . $db->escape($spielernr) . "'";
- if (isset($spalten["lizenznr"]) && ($lizenznr_beibehalten == 0 || !empty($lizenznr)))
- $query .= ",\n lizenznr = '" . $db->escape($lizenznr) . "'";
- if (isset($spalten["pseudonym"]))
- $query .= ",\n pseudonym = '" . $db->escape($pseudonym) . "'";
- if (isset($spalten["geschlecht"]))
- $query .= ",\n geschlecht = '" . $db->escape($geschlecht) . "'";
- if (isset($spalten["geburtsdatum"]) || isset($spalten["geburtsjahr"]))
- $query .= ",\n geburtsjahr = " . ($geburtsjahr == null ? "NULL" : ("'" . $db->escape($geburtsjahr) . "'"));
- if (($persoenliche_daten == 1 || $persoenliche_daten == 2) && isset($spalten["geburtsdatum"]))
- $query .= ",\n geburtsdatum = " . ($geburtsdatum == null ? "NULL" : ("'" . $db->escape($geburtsdatum) . "'"));
- if ($persoenliche_daten == 2) {
- if (isset($spalten["strasse"]))
- $query .= ",\n strasse = '" . $db->escape($strasse) . "'";
- if (isset($spalten["plz"]))
- $query .= ",\n plz = '" . $db->escape($plz) . "'";
- if (isset($spalten["ort"]))
- $query .= ",\n ort = '" . $db->escape($ort) . "'";
- if (isset($spalten["landeskennung"]))
- $query .= ",\n landeskennung = '" . $db->escape($landeskennung) . "'";
- if (isset($spalten["telefon"]))
- $query .= ",\n telefon = '" . $db->escape($telefon) . "'";
- if (isset($spalten["mobil"]))
- $query .= ",\n mobil = '" . $db->escape($mobil) . "'";
- if (isset($spalten["email"]))
- $query .= ",\n email = '" . $db->escape($email) . "'";
- }
- $query .= "\n WHERE spieler_id = $spieler_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- // $bearbeitungsVerlauf .= "-> Spielerdaten aktualisiert ";
+ if (empty($spielernr)) {
+ do {
+ for ($i = strlen($naechste_spielernr) - 1; $i >= 0; $i--) {
+ if ($naechste_spielernr[$i] < '0' || $naechste_spielernr[$i] > '9') {
+ $naechste_spielernr = substr($naechste_spielernr, 0, $i + 1) . "1" . substr($naechste_spielernr, $i + 1);
+ break;
+ }
+ if ($naechste_spielernr[$i] <= '8') {
+ $naechste_spielernr[$i] = $naechste_spielernr[$i] + 1;
+ break;
+ }
+ $naechste_spielernr[$i] = '0';
+ }
+ if ($i < 0)
+ $naechste_spielernr = "1" . $naechste_spielernr;
+ } while (isset($spielerIdsHinzugefuegt[$naechste_spielernr]));
+ }
+ }
- $aktualisierungen++;
- }
- else { // Spieler ergänzen
- // Neuen Spieler anlegen
- $query = "INSERT #__sportsmanager_spieler"
- . "\n SET vorname = '" . $db->escape($vorname) . "'"
- . ",\n nachname = '" . $db->escape($nachname) . "'"
- . ",\n spielernr = '" . $db->escape(!empty($spielernr) ? $spielernr : $naechste_spielernr) . "'"
- . ",\n lizenznr = '" . $db->escape($lizenznr) . "'"
- . ",\n geschlecht = '" . $db->escape($geschlecht) . "'"
- . ",\n geburtsjahr = " . ($geburtsjahr == null ? "NULL" : ("'" . $db->escape($geburtsjahr) . "'"));
- if ($persoenliche_daten == 1 || $persoenliche_daten == 2)
- $query .= ",\n geburtsdatum = " . ($geburtsdatum == null ? "NULL" : ("'" . $db->escape($geburtsdatum) . "'"));
- if ($persoenliche_daten == 2)
- $query .= ",\n pseudonym = '" . $db->escape($pseudonym) . "'"
- . ",\n strasse = '" . $db->escape($strasse) . "'"
- . ",\n plz = '" . $db->escape($plz) . "'"
- . ",\n ort = '" . $db->escape($ort) . "'"
- . ",\n landeskennung = '" . $db->escape($landeskennung) . "'"
- . ",\n telefon = '" . $db->escape($telefon) . "'"
- . ",\n mobil = '" . $db->escape($mobil) . "'"
- . ",\n email = '" . $db->escape($email) . "'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler_id = $db->insertid();
+ // Wenn nicht ausgetreten und Vereisname angegeben, dann Vereinsmitgliedschaft herstellen
+ if (!empty($vereinsname) || !empty($verein_explizit)) {
+ // Prüfen, ob Vereinsmitgliedschaft besteht
+ if (!empty($verein_explizit)) {
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_mitglied_von_verein"
+ . "\n WHERE spieler_id = $spieler_id AND #__sportsmanager_mitglied_von_verein.verein_id = $verein_explizit";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- array_push($spielerHinzugefuegt, array($nachname, $vorname, !empty($spielernr) ? $spielernr : $naechste_spielernr));
- $spielerIdsHinzugefuegt[!empty($spielernr) ? $spielernr : $naechste_spielernr] = $spieler_id;
+ if (count($rows) > 0) {
+ $query = "UPDATE #__sportsmanager_mitglied_von_verein"
+ . "\n SET mitgliedsstatus = '$mitgliedsstatus',"
+ . "\n ausgetreten = FALSE"
+ . "\n WHERE spieler_id = $spieler_id AND verein_id = $verein_explizit";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else {
+ // Vereinsmitgliedschaft besteht nicht, deshalb prüfen, ob Verein überhaupt existiert
+ $query = "SELECT verein_id"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n WHERE verein_id = $verein_explizit";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- if (empty($spielernr)) {
- do {
- for ($i = strlen($naechste_spielernr) - 1; $i >= 0; $i--) {
- if ($naechste_spielernr[$i] < '0' || $naechste_spielernr[$i] > '9') {
- $naechste_spielernr = substr($naechste_spielernr, 0, $i + 1) . "1" . substr($naechste_spielernr, $i + 1);
- break;
- }
- if ($naechste_spielernr[$i] <= '8') {
- $naechste_spielernr[$i] = $naechste_spielernr[$i] + 1;
- break;
- }
- // $naechste_spielernr[$i] == '9'
- $naechste_spielernr[$i] = '0';
- }
- if ($i < 0)
- $naechste_spielernr = "1" . $naechste_spielernr;
- } while (isset($spielerIdsHinzugefuegt[$naechste_spielernr]));
- }
- }
+ // Wenn Verein existiert, dann Mitgliedschaft ergänzen
+ if (count($rows) > 0) {
+ $query = "INSERT #__sportsmanager_mitglied_von_verein"
+ . "\n SET spieler_id = $spieler_id, verein_id = $verein_explizit, mitgliedsstatus = '$mitgliedsstatus', ausgetreten = FALSE";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ } else {
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein"
+ . "\n WHERE spieler_id = $spieler_id AND vereinsname = '" . $db->escape($vereinsname) . "' AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id"
+ . " AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId");
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- // Wenn nicht ausgetreten und Vereisname angegeben, dann Vereinsmitgliedschaft herstellen
- if (!empty($vereinsname) || !empty($verein_explizit)) {
- // Prüfen, ob Vereinsmitgliedschaft besteht
- if (!empty($verein_explizit)) {
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_mitglied_von_verein"
- . "\n WHERE spieler_id = $spieler_id AND #__sportsmanager_mitglied_von_verein.verein_id = $verein_explizit";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ if (count($rows) > 0) {
+ $query = "UPDATE #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein"
+ . "\n SET mitgliedsstatus = '$mitgliedsstatus', #__sportsmanager_mitglied_von_verein.ausgetreten = FALSE"
+ . "\n WHERE spieler_id = $spieler_id AND vereinsname = '" . $db->escape($vereinsname) . "' AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id"
+ . " AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId");
+ } else {
+ // Vereinsmitgliedschaft besteht nicht, deshalb prüfen, ob Verein überhaupt existiert
+ $query = "SELECT verein_id"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n WHERE vereinsname = '" . $db->escape($vereinsname) . "'"
+ . " AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId");
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- if (count($rows) > 0) {
- $query = "UPDATE #__sportsmanager_mitglied_von_verein"
- . "\n SET mitgliedsstatus = '$mitgliedsstatus',"
- . "\n ausgetreten = FALSE"
- . "\n WHERE spieler_id = $spieler_id AND verein_id = $verein_explizit";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else {
- // Vereinsmitgliedschaft besteht nicht, deshalb prüfen, ob Verein überhaupt existiert
- $query = "SELECT verein_id"
- . "\n FROM #__sportsmanager_verein"
- . "\n WHERE verein_id = $verein_explizit";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ // Wenn mehrere Vereine existieren, dann Aktualisierung auslassen
+ if (count($rows) > 1) {
+ $vereineManuell[] = $name;
+ continue;
+ }
+ // Wenn Verein nicht existiert, dann ergänzen
+ if (count($rows) == 0) {
+ $query = "INSERT #__sportsmanager_verein"
+ . "\n SET vereinsname = '" . $db->escape($vereinsname) . "'";
+ if (!empty($vereinssitz))
+ $query .= ",\n vereinssitz = '" . $db->escape($vereinssitz) . "'";
+ $query .= ",\n veranstalter_id = " . ($veranstalterId == 0 ? "NULL" : "$veranstalterId");
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $verein_id = $db->insertid();
+ $vereineHinzugefuegt++;
+ } // Sonst Verein merken
+ else {
+ $verein_id = $rows[0]->verein_id;
+ }
- // Wenn Verein existiert, dann Mitgliedschaft ergänzen
- if (count($rows) > 0) {
- $query = "INSERT #__sportsmanager_mitglied_von_verein"
- . "\n SET spieler_id = $spieler_id, verein_id = $verein_explizit, mitgliedsstatus = '$mitgliedsstatus', ausgetreten = FALSE";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
- else {
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein"
- . "\n WHERE spieler_id = $spieler_id AND vereinsname = '" . $db->escape($vereinsname) . "' AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id"
- . " AND " . ($veranstalterid == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterid");
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ // Vereinsmitgliedschaft setzen
+ $query = "INSERT #__sportsmanager_mitglied_von_verein"
+ . "\n SET spieler_id = $spieler_id, verein_id = $verein_id, mitgliedsstatus = '$mitgliedsstatus', ausgetreten = FALSE";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
- if (count($rows) > 0) {
- $query = "UPDATE #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein"
- . "\n SET mitgliedsstatus = '$mitgliedsstatus', #__sportsmanager_mitglied_von_verein.ausgetreten = FALSE"
- . "\n WHERE spieler_id = $spieler_id AND vereinsname = '" . $db->escape($vereinsname) . "' AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id"
- . " AND " . ($veranstalterid == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterid");
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else {
- // Vereinsmitgliedschaft besteht nicht, deshalb prüfen, ob Verein überhaupt existiert
- $query = "SELECT verein_id"
- . "\n FROM #__sportsmanager_verein"
- . "\n WHERE vereinsname = '" . $db->escape($vereinsname) . "'"
- . " AND " . ($veranstalterid == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterid");
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- // Wenn mehrere Vereine existieren, dann Aktualisierung auslassen
- if (count($rows) > 1) {
- array_push($vereineManuell, $name);
- // $bearbeitungsVerlauf .= "-> Vereinsaktualiesierung übersprungen, da mehrere Vereine mit Namen existieren";
- // echo "(" . $name . ", " . $spielernr . ") " . $bearbeitungsVerlauf . " ";
- continue;
- }
- // Wenn Verein nicht existiert, dann ergänzen
- if (count($rows) == 0) {
- $query = "INSERT #__sportsmanager_verein"
- . "\n SET vereinsname = '" . $db->escape($vereinsname) . "'";
- if (!empty($vereinssitz))
- $query .= ",\n vereinssitz = '" . $db->escape($vereinssitz) . "'";
- $query .= ",\n veranstalter_id = " . ($veranstalterid == 0 ? "NULL" : "$veranstalterid");
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $verein_id = $db->insertid();
- $vereineHinzugefuegt++;
- // $bearbeitungsVerlauf .= "-> Verein ergänzt ";
- }
- // Sonst Verein merken
- else {
- $verein_id = $rows[0]->verein_id;
- // $bearbeitungsVerlauf .= "-> Verein gefunden ";
- }
-
- // Vereinsmitgliedschaft setzen
- $query = "INSERT #__sportsmanager_mitglied_von_verein"
- . "\n SET spieler_id = $spieler_id, verein_id = $verein_id, mitgliedsstatus = '$mitgliedsstatus', ausgetreten = FALSE";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- // $bearbeitungsVerlauf .= "-> Vereinsmitgliedschaft ergänzt ";
- }
- }
- }
- // echo "(" . $name . ", " . $spielernr . ") " . $bearbeitungsVerlauf . " ";
- }
-
- $ausgetreteneVereineMitAktivenMitgliedern = array();
- /*
+ $ausgetreteneVereineMitAktivenMitgliedern = array();
+ /*
if ($verein_explizit != 0) {
// Alle Spieler austreten lassen, die nicht aktives Mitglied irgendeines Vereins sind, aber Mitglied des importierten Vereins waren
$query = "UPDATE #__sportsmanager_spieler"
@@ -3353,7313 +3254,7030 @@ function adminImportSpieler() {
. " AND (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein AS t1 WHERE t1.spieler_id = #__sportsmanager_spieler.spieler_id AND NOT t1.ausgetreten) = 0"
. " AND NOT ausgetreten";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
}
else {
// Alle Spieler austreten lassen, die nicht aktives Mitglied irgendeines Vereins sind, aber Mitglied in einem Verein des Verbandes waren oder sind
- foreach ($veranstalter as $v => $veranstalterid) {
- if ($veranstalterid != -1) {
+ foreach ($veranstalter as $v => $veranstalterId) {
+ if ($veranstalterId != -1) {
$query = "UPDATE #__sportsmanager_spieler"
. "\n SET ausgetreten = TRUE"
- . "\n WHERE (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_mitglied_von_verein.verein_id = #__sportsmanager_verein.verein_id AND " . ($veranstalterid == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterid") . ") > 0"
+ . "\n WHERE (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_mitglied_von_verein.verein_id = #__sportsmanager_verein.verein_id AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId") . ") > 0"
. " AND (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein AS t1 WHERE t1.spieler_id = #__sportsmanager_spieler.spieler_id AND NOT t1.ausgetreten) = 0"
. " AND NOT ausgetreten";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
}
}
*/
- if ($verein_explizit == 0) {
- // Vereine der Organisation als ausgetreten notieren, die keine aktiven Mitglieder haben
- foreach ($veranstalter as $v => $veranstalterid) {
- if ($veranstalterid != -1) {
- $query = "UPDATE #__sportsmanager_verein"
- . "\n SET ausgetreten = TRUE"
- . "\n WHERE NOT EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AND NOT ausgetreten AND " . ($veranstalterid == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterid");
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
-
- // Vereine der Organisation aus nicht ausgetreten notieren, die aktive Mitglieder haben, aber als ausgetreten notiert sind
- foreach ($veranstalter as $v => $veranstalterid) {
- if ($veranstalterid != -1) {
- $query = "SELECT vereinsname"
- . "\n FROM #__sportsmanager_verein"
- . "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AND ausgetreten AND " . ($veranstalterid == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterid");
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- $query = "UPDATE #__sportsmanager_verein"
- . "\n SET ausgetreten = FALSE"
- . "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AND ausgetreten AND " . ($veranstalterid == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterid");
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- foreach ($rows as $row)
- array_push($ausgetreteneVereineMitAktivenMitgliedern, $row->vereinsname);
-
- $query = "SELECT DISTINCT verein_id, #__sportsmanager_spieler_import.vereinsname, #__sportsmanager_spieler_import.vereinssitz"
- . "\n FROM #__sportsmanager_spieler_import"
- . "\n INNER JOIN #__sportsmanager_verein ON #__sportsmanager_verein.vereinsname = #__sportsmanager_spieler_import.vereinsname"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND " . ($v == null ? "ISNULL(#__sportsmanager_spieler_import.veranstalterbezeichnung)" : ("#__sportsmanager_spieler_import.veranstalterbezeichnung = '" . $db->escape($v) . "'")) . " AND #__sportsmanager_spieler_import.vereinsname != '' AND #__sportsmanager_spieler_import.vereinssitz != '' AND (ISNULL(#__sportsmanager_verein.vereinssitz) OR #__sportsmanager_verein.vereinssitz != #__sportsmanager_spieler_import.vereinssitz) AND NOT #__sportsmanager_verein.ausgetreten AND " . ($veranstalterid == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterid");
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- foreach ($rows as $row) {
- $query = "UPDATE #__sportsmanager_verein"
- . "\n SET vereinssitz = '" . $db->escape($row->vereinssitz) . "'"
- . "\n WHERE verein_id = $row->verein_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
- }
-
- $query = "DELETE FROM #__sportsmanager_spieler_import"
- . "\n WHERE session_id = '" . $db->escape($session_id) . "'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- sort($vereineManuell);
- sort($ausgetreteneVereineMitAktivenMitgliedern);
-
- aktuellerVereinAktualisieren();
- if ($kategorie_potentiell_geaendert) {
- ranglisteAktualisieren();
- einstufungAktualisieren();
- }
-
- HTML_sportsmanager_admin::adminImportSpielerBericht($aktualisierungen, $spielerHinzugefuegt, $vereineHinzugefuegt, $spieler_import, $vereineManuell, $ausgetreteneVereineMitAktivenMitgliedern, $kategorie_potentiell_geaendert, redirectSessionIdEmpty() ? null : redirectSessionIdSetzen());
-}
-
-function adminExportSpielerInternationalForm() {
- $db = getDatabase();
-
- if (!benutzerZugriff("spieler_aendern"))
- keinZugriff(true);
-
- HTML_sportsmanager_admin::adminExportSpielerInternational();
-}
-
-function csvFilter($value, $decode = true) {
- if ($value === null)
- return "";
- if ($decode)
- $value = utf8_decode($value);
- $value = str_replace('"', '""', $value);
- /*
- $value = str_replace("\t", ' ', $value);
- $value = str_replace("\r", '', $value);
- $value = str_replace("\n", ' ', $value);
- */
-
- // escape tab characters
- $value = preg_replace("/\t/", "\\t", $value);
-
- // escape new lines
- $value = preg_replace("/\r?\n/", "\\n", $value);
-
- /*
- // convert 't' and 'f' to boolean values
- if($str == 't') $str = 'TRUE';
- if($str == 'f') $str = 'FALSE';
- */
-
- // force certain number/date formats to be imported as strings
- /*
- if (preg_match("/^0/", $value) || preg_match("/^\+?\d{8,}$/", $value) || preg_match("/^\d{4}.\d{1,2}.\d{1,2}/", $value))
- $value = "'$value";
- */
-
- /*
- // escape fields that include double quotes
- if(strstr($value, '"')) $value = '"' . str_replace('"', '""', $value) . '"';
- */
- $value = '="' . $value . '"';
-
- return $value;
-}
-
-function adminExportSpielerInternational() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spieler_aendern"))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spieler');
-
- return;
- }
-
- $persoenliche_daten = $jinput->get('persoenliche_daten', 0, 'INT'); // 0: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr.", 1: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr., Geburtsdatum", "Alle"
- $landeskennung = $db->escape(trim($jinput->get('landeskennung', '', 'RAW')));
-
- $jahr = date("Y");
- $query = "SELECT lizenznr, vorname, nachname, spielernr, geschlecht, geburtsjahr";
- if ($persoenliche_daten == 1)
- $query .= ",\n email, strasse, plz, ort, landeskennung, telefon, mobil, pseudonym";
- $query .= "\n FROM #__sportsmanager_spieler"// . "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein AS t1 LEFT JOIN #__sportsmanager_verein AS t2 USING (verein_id) WHERE t1.spieler_id = #__sportsmanager_spieler.spieler_id AND t2.veranstalter_id = $veranstalterid AND NOT t1.ausgetreten AND NOT t2.ausgetreten)"
- . "\n WHERE NOT ISNULL(aktueller_verein_id)"
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- if (count($rows) == 0) {
- redirectSportsManagerURL('&task=admin_spieler_export_international_form', "Zu dieser Auswahl sind keine Spielerdaten vorhanden!");
-
- return;
- }
-
- $dateiname = "Spieler international " . date('Y-m-d') . ".csv";
- $dateiname = bereinigterDateiname($dateiname);
-
- ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
- Header("Content-Type: text/x-csv");
- Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
- Header('Content-Disposition: attachment; filename="' . $dateiname . '"');
- Header("Pragma: no-cache");
-
- $trennzeichen = "\t";
-
- $header = "ITSF Number\tGender\tFirst Name\tLAST NAME\tNationality\tYear of birth\tNational Code\tPlayer in wheelchair ?\tE-mail\tCountry of residence\tAddress\tZip/Postal Code\tCity\tPhone\tProfession";
- echo "sep=" . $trennzeichen . "\n" . $header . "\n";
- foreach ($rows as $row) {
- echo csvFilter($row->lizenznr) . $trennzeichen
- . csvFilter($row->geschlecht == "M" ? "M" : "F") . $trennzeichen
- . csvFilter($row->vorname) . $trennzeichen
- . csvFilter($row->nachname) . $trennzeichen
- . csvFilter($landeskennung) . $trennzeichen
- . csvFilter($row->geburtsjahr) . $trennzeichen
- . csvFilter($row->spielernr) . $trennzeichen
- . "N" . $trennzeichen;
- if ($persoenliche_daten == 1) {
- echo csvFilter($row->email) . $trennzeichen
- . csvFilter($row->landeskennung) . $trennzeichen
- . csvFilter($row->strasse) . $trennzeichen
- . csvFilter($row->plz) . $trennzeichen
- . csvFilter($row->ort) . $trennzeichen
- . csvFilter($row->telefon) . $trennzeichen
- . "\n";
- }
- else {
- echo $trennzeichen
- . $trennzeichen
- . $trennzeichen
- . $trennzeichen
- . $trennzeichen
- . $trennzeichen
- . "\n";
- }
- }
- die();
-}
-
-function adminExportSpielerForm() {
- $db = getDatabase();
-
- $ansprechpartner_exportieren = einstellungswert("ansprechpartner_exportieren");
-
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (($ansprechpartner_exportieren == 1 || $ansprechpartner_exportieren == 2) && benutzerVeranstalterModerator())
- $beschraenkter_zugriff = 1;
-// else if (benutzerVereinModerator())
-// $beschraenkter_zugriff = 2;
- else
- keinZugriff(true);
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE #__sportsmanager_verein.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten)";
- if ($beschraenkter_zugriff)
- $query .= " AND" . veranstalterFilter("veranstalter_id IN");
- $query .= "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
-
- if (!$beschraenkter_zugriff) {
- $query = "SELECT #__sportsmanager_verein.verein_id, vereinsname, veranstalterbezeichnung"
- . "\n FROM #__sportsmanager_verein"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n WHERE NOT ausgetreten AND EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.verein_id = #__sportsmanager_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten)"
- . "\n ORDER BY veranstalterbezeichnung, vereinsname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
- }
- else {
- $vereine = array();
- }
-
- HTML_sportsmanager_admin::adminExportSpieler($beschraenkter_zugriff, $ansprechpartner_exportieren, $veranstalter, $vereine);
-}
-
-function adminExportSpieler() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $ansprechpartner_exportieren = einstellungswert("ansprechpartner_exportieren");
-
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (($ansprechpartner_exportieren == 1 || $ansprechpartner_exportieren == 2) && benutzerVeranstalterModerator())
- $beschraenkter_zugriff = 1;
-// else if (benutzerVereinModerator())
-// $beschraenkter_zugriff = 2;
- else
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spieler');
-
- return;
- }
-
- $verein_explizit = 0;
- if ($beschraenkter_zugriff) {
- $veranstalterid = $jinput->get('veranstalterid', 0, 'INT');
- if (!benutzerVeranstalterModerator($veranstalterid))
- $veranstalterid = 0;
- $verein_explizit = 0;
- $ausgetretene = 0;
- if ($ansprechpartner_exportieren != 1)
- $persoenliche_daten = $jinput->get('persoenliche_daten', 0, 'INT'); // 0: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr.", 1: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr., Geburtsdatum", "Alle"
- else
- $persoenliche_daten = 0;
- $organisatorische_daten = 0;
- $statistische_daten = 1;
- }
- else {
- $veranstalterid = $jinput->get('veranstalterid', 0, 'INT');
- $verein_explizit = $veranstalterid < 0 ? abs($veranstalterid) : 0;
-
- $ausgetretene = $jinput->get('ausgetretene', 0, 'INT'); // "Nein", "Ja"
- $persoenliche_daten = $jinput->get('persoenliche_daten', 0, 'INT'); // 0: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr.", 1: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr., Geburtsdatum", "Alle"
- $organisatorische_daten = $jinput->get('organisatorische_daten', 0, 'INT'); // 0: "Verein, Vereinssitz, Wettbewerb, Mannschaft, Ausgetreten", 1: "Ausgetreten"
- $statistische_daten = $jinput->get('statistische_daten', 0, 'INT'); // 0: "Elo-Werte, Kategorie, Zuletzt gespielt", 1: "Kategorie", 2: "Keine"
- }
-
- if ($verein_explizit != 0) {
- $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $verein_explizit";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $verein = $rows[0];
- }
- else if ($veranstalterid != 0) {
- $query = "SELECT * FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $veranstalterid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $veranstalter = $rows[0];
- }
-
- $jahr = date("Y");
- $query = "SELECT nachname, vorname, spielernr, lizenznr, lizenz, geschlecht";
- if ($statistische_daten != 2)
- $query .= ",\n IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie";
- if ($organisatorische_daten != 2)
- $query .= ",\n vereinsname as verein, vereinssitz, veranstalterbezeichnung as organisation, IF(mitgliedsstatus = 1, 'Aktiv', IF(mitgliedsstatus = 0, 'Ausgetreten', IF(mitgliedsstatus = 2, 'Eingeschränkt', 'Passiv'))) AS mitgliedsstatus";
- else if ($ausgetretene != 0)
- $query .= ", IF(ISNULL(aktueller_verein_id), 'Ausgetreten', 'Aktiv') as mitgliedsstatus";
- if ($persoenliche_daten == 0)
- $query .= ",\n geburtsjahr";
- if ($persoenliche_daten != 0)
- $query .= ",\n geburtsjahr, geburtsdatum";
- if ($persoenliche_daten == 2)
- $query .= ",\n email, strasse, plz, ort, landeskennung, telefon, mobil, pseudonym";
- if ($organisatorische_daten == 1)
- $query .= ",\n (SELECT bezeichnung FROM #__sportsmanager_mitglied_von_team, #__sportsmanager_team, #__sportsmanager_veranstaltung WHERE #__sportsmanager_spieler.spieler_id = #__sportsmanager_mitglied_von_team.spieler_id AND NOT #__sportsmanager_mitglied_von_team.ausgetreten AND #__sportsmanager_team.team_id = #__sportsmanager_mitglied_von_team.team_id AND #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id AND #__sportsmanager_veranstaltung.status > 0 AND CURDATE() BETWEEN erster_tag AND letzter_tag ORDER BY YEAR(#__sportsmanager_veranstaltung.letzter_tag) DESC, #__sportsmanager_veranstaltung.reihenfolge, #__sportsmanager_veranstaltung.letzter_tag DESC, #__sportsmanager_veranstaltung.bezeichnung, #__sportsmanager_team.teamname, #__sportsmanager_veranstaltung.kategorie LIMIT 1) AS wettbewerb,"
- . "\n (SELECT teamname FROM #__sportsmanager_mitglied_von_team, #__sportsmanager_team, #__sportsmanager_veranstaltung WHERE #__sportsmanager_spieler.spieler_id = #__sportsmanager_mitglied_von_team.spieler_id AND NOT #__sportsmanager_mitglied_von_team.ausgetreten AND #__sportsmanager_team.team_id = #__sportsmanager_mitglied_von_team.team_id AND #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id AND #__sportsmanager_veranstaltung.status > 0 AND CURDATE() BETWEEN erster_tag AND letzter_tag ORDER BY YEAR(#__sportsmanager_veranstaltung.letzter_tag) DESC, #__sportsmanager_veranstaltung.reihenfolge, #__sportsmanager_veranstaltung.letzter_tag DESC, #__sportsmanager_veranstaltung.bezeichnung, #__sportsmanager_team.teamname, #__sportsmanager_veranstaltung.kategorie LIMIT 1) AS mannschaft";
- if ($statistische_daten == 0)
- $query .= ",\n zuletzt_gespielt, elo_einzel, elo_einzel_spiele, elo_doppel, elo_doppel_spiele";
- $query .= "\n FROM #__sportsmanager_spieler";
- if ($organisatorische_daten != 2) {
- $query .= "\n LEFT JOIN #__sportsmanager_mitglied_von_verein USING (spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)";
- }
- if ($beschraenkter_zugriff == 2)
- $query .= "\n WHERE " . vereinFilter("#__sportsmanager_verein.verein_id IN") . "AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten";
- else if ($verein_explizit != 0) {
- if ($ausgetretene != 0)
- $query .= "\n WHERE #__sportsmanager_verein.verein_id = $verein_explizit";
- else
- $query .= "\n WHERE #__sportsmanager_verein.verein_id = $verein_explizit AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten";
- }
- else if ($veranstalterid != 0) {
- if ($ausgetretene != 0) {
- if ($organisatorische_daten == 0)
- $query .= "\n WHERE #__sportsmanager_verein.veranstalter_id = $veranstalterid";
- else
- $query .= "\n WHERE (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein AS t1 LEFT JOIN #__sportsmanager_verein AS t2 USING (verein_id) WHERE t1.spieler_id = #__sportsmanager_spieler.spieler_id AND t2.veranstalter_id = $veranstalterid) > 0";
- }
- else {
- if ($organisatorische_daten == 0)
- $query .= "\n WHERE #__sportsmanager_verein.veranstalter_id = $veranstalterid AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten";
- else
- $query .= "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein AS t1 LEFT JOIN #__sportsmanager_verein AS t2 USING (verein_id) WHERE t1.spieler_id = #__sportsmanager_spieler.spieler_id AND t2.veranstalter_id = $veranstalterid AND NOT t1.ausgetreten AND NOT t2.ausgetreten)";
- }
- }
- else if ($ausgetretene == 0) {
- $query .= "\n WHERE NOT ISNULL(aktueller_verein_id)";
- if ($organisatorische_daten == 0)
- $query .= " AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten";
- }
- if ($organisatorische_daten == 0)
- $query .= "\n ORDER BY nachname, vorname, IF(ISNULL(IF(ISNULL(aktueller_verein_id), #__sportsmanager_mitglied_von_verein.ausgetreten, NULL)), 1, 0), IF(ISNULL(aktueller_verein_id), #__sportsmanager_mitglied_von_verein.ausgetreten, NULL), verein";
- else
- $query .= "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- if (count($rows) == 0) {
- redirectSportsManagerURL('&task=admin_spieler_export_form', "Zu dieser Auswahl sind keine Spielerdaten vorhanden!");
-
- return;
- }
-
- $dateiname = "Spieler";
- if ($verein_explizit != 0)
- $dateiname .= " " . utf8_decode($verein->vereinsname);
- else if ($veranstalterid != 0)
- $dateiname .= " " . utf8_decode($veranstalter->veranstalterbezeichnung);
- $dateiname .= " " . date('Y-m-d') . ".csv";
- $dateiname = bereinigterDateiname($dateiname);
- ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
- Header("Content-Type: text/x-csv");
- Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
- Header('Content-Disposition: attachment; filename="' . $dateiname . '"');
- Header("Pragma: no-cache");
-
- $trennzeichen = "\t";
-
- $header = "";
- foreach ($rows[0] as $field => $value)
- $header .= $field . $trennzeichen;
-
- $data = "";
- foreach ($rows as $row) {
- $line = '';
- foreach ($row as $value) {
- if ((!isset($value)) OR ($value == "")) {
- $value = $trennzeichen;
- }
- else {
- $value = str_replace('"', '""', $value);
- $value = str_replace("\t", ' ', $value);
- $value = str_replace("\r", '', $value);
- $value = str_replace("\n", ' ', $value);
- $value = '="' . $value . '"' . $trennzeichen;
- }
- $line .= $value;
- }
- $data .= trim($line) . "\n";
- }
- $data = str_replace("\r", "", $data);
-
- echo "sep=" . $trennzeichen . "\n" . $header . "\n" . utf8_decode($data);
-
- die();
-}
-
-function adminExportSpielerSport() {
- $db = getDatabase();
-
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (benutzerVeranstalterModerator())
- $beschraenkter_zugriff = 1;
-// else if (benutzerVereinModerator())
-// $beschraenkter_zugriff = 2;
- else
- keinZugriff(true);
-
- $jahr = date("Y");
- $query = "SELECT *,"
- . " IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie, vereinsname"
-// . " (SELECT veranstalterbezeichnung FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein, #__sportsmanager_veranstalter WHERE #__sportsmanager_spieler.spieler_id = #__sportsmanager_mitglied_von_verein.spieler_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND #__sportsmanager_veranstalter.veranstalter_id = #__sportsmanager_verein.veranstalter_id ORDER BY #__sportsmanager_verein.verein_id DESC LIMIT 1) AS veranstalterbezeichnung"
-// . "\n (SELECT bezeichnung FROM #__sportsmanager_mitglied_von_team, #__sportsmanager_team, #__sportsmanager_veranstaltung WHERE #__sportsmanager_spieler.spieler_id = #__sportsmanager_mitglied_von_team.spieler_id AND NOT #__sportsmanager_mitglied_von_team.ausgetreten AND #__sportsmanager_team.team_id = #__sportsmanager_mitglied_von_team.team_id AND #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id AND #__sportsmanager_veranstaltung.status > 0 AND CURDATE() BETWEEN erster_tag AND letzter_tag ORDER BY YEAR(#__sportsmanager_veranstaltung.letzter_tag) DESC, #__sportsmanager_veranstaltung.reihenfolge, #__sportsmanager_veranstaltung.letzter_tag DESC, #__sportsmanager_veranstaltung.bezeichnung, #__sportsmanager_team.teamname, #__sportsmanager_veranstaltung.kategorie LIMIT 1) AS wettbewerb,"
-// . "\n (SELECT teamname FROM #__sportsmanager_mitglied_von_team, #__sportsmanager_team, #__sportsmanager_veranstaltung WHERE #__sportsmanager_spieler.spieler_id = #__sportsmanager_mitglied_von_team.spieler_id AND NOT #__sportsmanager_mitglied_von_team.ausgetreten AND #__sportsmanager_team.team_id = #__sportsmanager_mitglied_von_team.team_id AND #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id AND #__sportsmanager_veranstaltung.status > 0 AND CURDATE() BETWEEN erster_tag AND letzter_tag ORDER BY YEAR(#__sportsmanager_veranstaltung.letzter_tag) DESC, #__sportsmanager_veranstaltung.reihenfolge, #__sportsmanager_veranstaltung.letzter_tag DESC, #__sportsmanager_veranstaltung.bezeichnung, #__sportsmanager_team.teamname, #__sportsmanager_veranstaltung.kategorie LIMIT 1) AS mannschaft"
- . "\n FROM #__sportsmanager_spieler";
-
- if ($beschraenkter_zugriff == 2)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) INNER JOIN #__sportsmanager_veranstalter USING (veranstalter_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND" . vereinFilter("verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- else
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- $query .= "\n INNER JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- $dateiname = "Spieler " . date('Y-m-d') . ".csv";
- ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
- Header("Content-Type: text/x-csv; charset=utf-8;");
- Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
- Header('Content-Disposition: attachment; filename="' . $dateiname . '"');
- Header("Pragma: no-cache");
- echo "NAME#VORNAME#GESCHLECHT#VEREIN#STRASSE#PLZ/ORT#TELEFON#FAX#MOBILE#EMAIL#BEMERKUNG#SPIELERPASS#GEBURTSDATUM\r\n";
-
- $wiederholung_zaehler = 0;
- foreach ($rows as $index => $row) {
- $spielernr = $row->spielernr != null && $row->spielernr != "" ? $row->spielernr : "N/A";
- $lizenznr = $row->lizenznr != null && $row->lizenznr != "" ? $row->lizenznr : "N/A";
- $kategorie = array("H" => "Herren", "D" => "Damen", "J" => "Junioren", "S" => "Senioren");
- $kommentar = $kategorie[$row->kategorie];
- if ($lizenznr != null && $row->lizenznr != "")
- $kommentar .= " / " . $lizenznr;
- /*
- echo $row->nachname . "#" . $row->vorname . "#" . ($row->geschlecht == 'M' ? "M" : "F") . "#"
- . ($row->vereinsname != NULL ? ($row->vereinsname . ($row->veranstalterbezeichnung != NULL ? (" (" . $row->veranstalterbezeichnung . ")") : "")) : "Keiner") . "#" . $row->strasse . "#" . trim($row->plz . " " . $row->ort) . "#" . $row->telefon . "#"
- . "" . "#" . $row->mobil . "#" . $row->email . "#" . $kommentar . "#" . $spielernr . "#" . $row->geburtsdatum . "\r\n";
- */
- $vorname = $row->vorname;
- $nachname = $row->nachname;
- $naechster_name = isset($rows[$index + 1]) ? ($rows[$index + 1]->nachname . ", " . $rows[$index + 1]->vorname) : null;
- $name = $nachname . ", " . $vorname;
- if ($name == $naechster_name || $wiederholung_zaehler > 0) // Sports Manager macht einen case sensitive-Vergleich
- $vorname .= " (" . ($wiederholung_zaehler + 1) . ")";
- if ($name == $naechster_name)
- $wiederholung_zaehler++;
- else
- $wiederholung_zaehler = 0;
- echo utf8_decode($nachname . "#" . $vorname . "#" . ($row->geschlecht == 'M' ? "M" : "F") . "#"
- . ($row->vereinsname != null ? $row->vereinsname : "Keiner") . "#######" . $kommentar . "#" . $spielernr . "#\r\n");
- }
- die();
-}
-
-function adminVereine() {
- $db = getDatabase();
-
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff(true);
-
- $query = "SELECT COUNT(DISTINCT veranstalter_id) FROM #__sportsmanager_verein WHERE NOT ausgetreten";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $organisationAnzeigen = $db->loadResult() > 1;
-
- $query = "SELECT *,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AS mitglieder"
- . "\n FROM #__sportsmanager_verein"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n ORDER BY IF(ISNULL(#__sportsmanager_veranstalter.veranstalter_id), 1, 0), veranstalterbezeichnung, ausgetreten, vereinsname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminVereine($vereine, $organisationAnzeigen);
-}
-
-function adminEditVerein() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- if ($id == null) {
- $row = null;
- $berechtigt_fuer_verein = null;
- $vereinsansprechpartner = null;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 1)
- $row = $rows[0];
-
- $query = "SELECT t1.* FROM #__sportsmanager_berechtigt_fuer_verein AS t1, #__users AS t2 WHERE t1.berechtigt_user_id = t2.id AND berechtigt_verein_id = $id ORDER BY username, name";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $berechtigt_fuer_verein = $db->loadObjectList();
-
- $query = "SELECT * FROM #__sportsmanager_vereinsansprechpartner WHERE verein_id = $id ORDER BY vereinsansprechpartner_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereinsansprechpartner = $db->loadObjectList();
- }
-
- $query = "SELECT * FROM #__users ORDER BY name, username";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $users = $db->loadObjectList();
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditVerein($row, $users, $veranstalter, $berechtigt_fuer_verein, $vereinsansprechpartner);
-}
-
-function adminSaveVerein() {
- $db = getDatabase();
- global $_FILES;
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff();
-
- $id = $jinput->get('id', 0, 'INT');
- $vereinsname = $db->escape(trim($jinput->get('vereinsname', '', 'RAW')));
- $vereinssitz = $db->escape(trim($jinput->get('vereinssitz', '', 'RAW')));
- $vereinssitz_ortsteil = $db->escape(trim($jinput->get('vereinssitz_ortsteil', '', 'RAW')));
- $veranstalter_id = $jinput->get('veranstalter_id', 0, 'INT');
- $url = $db->escape(trim($jinput->get('url', '', 'RAW')));
- $beschreibung = $db->escape(trim($jinput->get('beschreibung', '', 'RAW')));
- $ausgetreten = $jinput->get('ausgetreten', 0, 'INT');
- $bildbeibehalten = $jinput->get('bildbeibehalten', 0, 'INT');
-
- $berechtigt_fuer_verein_user_ids = array($jinput->get('berechtigt_fuer_verein_user_1_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_verein_user_2_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_verein_user_3_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_verein_user_4_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_verein_user_5_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_verein_user_6_id', 0, 'INT'));
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_vereine#id' . $id);
-
- return;
- }
-
- if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_verein (vereinsname, vereinssitz, vereinssitz_ortsteil, veranstalter_id, url, beschreibung, ausgetreten)"
- . "\n VALUES ('$vereinsname', '$vereinssitz', '$vereinssitz_ortsteil', " . ($veranstalter_id != 0 ? "'$veranstalter_id'" : "NULL") . ", '$url', '$beschreibung', " . ($ausgetreten ? "TRUE" : "FALSE") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $query = "UPDATE #__sportsmanager_verein"
- . "\n SET vereinsname = '$vereinsname',"
- . "\n vereinssitz = '$vereinssitz',"
- . "\n vereinssitz_ortsteil = '$vereinssitz_ortsteil',"
- . "\n veranstalter_id = " . ($veranstalter_id != 0 ? "'$veranstalter_id'" : "NULL") . ","
- . "\n url = '$url',"
- . "\n beschreibung = '$beschreibung',"
- . "\n ausgetreten = " . ($ausgetreten ? "TRUE" : "FALSE")
- . "\n WHERE verein_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- // Vereinsvertreter speichern
-
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_verein WHERE berechtigt_verein_id = $id AND berechtigt_user_id != $berechtigt_fuer_verein_user_ids[0] AND berechtigt_user_id != $berechtigt_fuer_verein_user_ids[1] AND berechtigt_user_id != $berechtigt_fuer_verein_user_ids[2] AND berechtigt_user_id != $berechtigt_fuer_verein_user_ids[3] AND berechtigt_user_id != $berechtigt_fuer_verein_user_ids[4] AND berechtigt_user_id != $berechtigt_fuer_verein_user_ids[5];";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_verein WHERE berechtigt_verein_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- for ($nummer = 0; $nummer <= 5; $nummer++) {
- $berechtigt_user_id = $berechtigt_fuer_verein_user_ids[$nummer];
- if ($berechtigt_user_id != 0) {
- $gefunden = false;
- foreach ($rows as $row) {
- if ($row->berechtigt_user_id == $berechtigt_user_id)
- $gefunden = true;
- }
- if (!$gefunden) {
- $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_verein (berechtigt_user_id, berechtigt_verein_id) VALUES ('$berechtigt_user_id', '$id');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
-
- // Ansprechpartner speichern
-
- for ($nummer = 1; $nummer <= 3; $nummer++) {
- $vereinsansprechpartner_id = $jinput->get('vereinsansprechpartner_' . $nummer . '_id', 0, 'INT');
- $vereinsansprechpartner_vorname = trim($jinput->get('vereinsansprechpartner_' . $nummer . '_vorname', '', 'RAW'));
- $vereinsansprechpartner_nachname = trim($jinput->get('vereinsansprechpartner_' . $nummer . '_nachname', '', 'RAW'));
- $vereinsansprechpartner_telefon = trim($jinput->get('vereinsansprechpartner_' . $nummer . '_telefon', '', 'RAW'));
- $vereinsansprechpartner_mobil = trim($jinput->get('vereinsansprechpartner_' . $nummer . '_mobil', '', 'RAW'));
- $vereinsansprechpartner_email = trim($jinput->get('vereinsansprechpartner_' . $nummer . '_email', '', 'RAW'));
-
- if ($vereinsansprechpartner_id == 0) {
- if (strlen($vereinsansprechpartner_vorname) > 0 || strlen($vereinsansprechpartner_nachname) > 0) {
- $query = "INSERT INTO #__sportsmanager_vereinsansprechpartner (verein_id, vorname, nachname, telefon, mobil, email) VALUES ('$id', '$vereinsansprechpartner_vorname', '$vereinsansprechpartner_nachname', '$vereinsansprechpartner_telefon', '$vereinsansprechpartner_mobil', '$vereinsansprechpartner_email');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else {
- if (strlen($vereinsansprechpartner_vorname) > 0 || strlen($vereinsansprechpartner_nachname) > 0) {
- $query = "UPDATE #__sportsmanager_vereinsansprechpartner"
- . "\n SET vorname = '$vereinsansprechpartner_vorname',"
- . "\n nachname = '$vereinsansprechpartner_nachname',"
- . "\n telefon = '$vereinsansprechpartner_telefon',"
- . "\n mobil = '$vereinsansprechpartner_mobil',"
- . "\n email = '$vereinsansprechpartner_email'"
- . "\n WHERE vereinsansprechpartner_id = $vereinsansprechpartner_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else {
- $query = "DELETE FROM #__sportsmanager_vereinsansprechpartner WHERE vereinsansprechpartner_id = $vereinsansprechpartner_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
-
- if ($bildbeibehalten == 0) {
- bildLoeschen("vereine", $id);
-
- if (!empty($_FILES["bild"]["tmp_name"])) {
- if (is_uploaded_file($_FILES["bild"]["tmp_name"])) {
- $size = getimagesize($_FILES["bild"]["tmp_name"]);
- if ($size == false
- || ($size[2] != IMAGETYPE_JPEG && $size[2] != IMAGETYPE_PNG)
- || ($size[0] < 60 || $size[1] < 60 || $size[0] > 8192 || $size[1] > 8192)) {
- redirectSportsManagerURL('&task=admin_vereine', "Das Bild wurde nicht gespeichert, da es nicht im JPG/PNG-Format mit mindestens 90*90 und maximal 8192*8192 Bildpunkten vorliegt.");
-
- return;
- }
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'vereine';
- if (!bildKopierenAngepasst($_FILES["bild"]["tmp_name"], $bilder_pfad . DIRECTORY_SEPARATOR . $id . ($size[2] == IMAGETYPE_PNG ? '.png' : '.jpg'), 240, 240, 0)) {
- redirectSportsManagerURL('&task=admin_vereine', "Das Bild konnte nicht an die Zielposition kopiert werden.");
-
- return;
- }
- }
- }
- }
-
- aktuellerVereinAktualisieren();
-
- redirectSportsManagerURL('&task=admin_vereine#id' . $id);
-}
-
-function adminRemoveVerein() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "UPDATE #__sportsmanager_team SET verein_id = NULL WHERE verein_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "UPDATE #__sportsmanager_rechnung SET verein_id = NULL WHERE verein_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE verein_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_verein WHERE berechtigt_verein_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_vereinsansprechpartner WHERE verein_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_verein WHERE verein_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- bildLoeschen("vereine", $id);
-
- aktuellerVereinAktualisieren();
-
- redirectSportsManagerURL('&task=admin_vereine');
-}
-
-function adminVereineZusammenlegenForm() {
- $db = getDatabase();
-
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff(true);
-
- $query = "SELECT verein_id, vereinsname, veranstalterbezeichnung, ausgetreten"
- . "\n FROM #__sportsmanager_verein"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n ORDER BY veranstalterbezeichnung, vereinsname, ausgetreten";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminVereineZusammenlegen($vereine);
-}
-
-function adminVereineZusammenlegen() {
- $db = getDatabase();
- global $_FILES;
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff(true);
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_vereine');
-
- return;
- }
-
- $verein_beizubehalten_id = $jinput->get('verein_beizubehalten_id', 0, 'INT');
- $verein_zu_entfernen_id = $jinput->get('verein_zu_entfernen_id', 0, 'INT');
-
- if ($verein_beizubehalten_id == $verein_zu_entfernen_id) {
- redirectSportsManagerURL('&task=admin_vereine#id' . $verein_beizubehalten_id, "Zum Zusammanlegen müssen zwei unterschiedliche Vereine gewählt werden");
-
- return;
- }
-
- $query = "UPDATE #__sportsmanager_mitglied_von_verein"
- . "\n SET verein_id = $verein_beizubehalten_id"
- . "\n WHERE verein_id = $verein_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "SELECT mitglied_von_verein_id, ausgetreten, spieler_id"
- . "\n FROM #__sportsmanager_mitglied_von_verein"
- . "\n WHERE #__sportsmanager_mitglied_von_verein.verein_id = $verein_beizubehalten_id"
- . "\n ORDER BY spieler_id, IF(ausgetreten, 1, 0), ausgetreten DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- $spieler_id = null;
- foreach ($rows as $row) {
- if ($row->spieler_id == $spieler_id) {
- $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE mitglied_von_verein_id = $row->mitglied_von_verein_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else
- $spieler_id = $row->spieler_id;
- }
-
-
- $query = "UPDATE #__sportsmanager_team"
- . "\n SET verein_id = $verein_beizubehalten_id"
- . "\n WHERE verein_id = $verein_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "UPDATE #__sportsmanager_rechnung"
- . "\n SET verein_id = $verein_beizubehalten_id"
- . "\n WHERE verein_id = $verein_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE verein_id = $verein_zu_entfernen_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_vereinsansprechpartner WHERE verein_id = $verein_zu_entfernen_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_verein WHERE berechtigt_verein_id = $verein_zu_entfernen_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_verein WHERE verein_id = $verein_zu_entfernen_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- bildLoeschen("vereine", $verein_zu_entfernen_id);
-
- aktuellerVereinAktualisieren();
-
- redirectSportsManagerURL('&task=admin_vereine#id' . $verein_beizubehalten_id);
-}
-
-function adminVereinsmitglieder() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff(true);
-
- $vereinid = $jinput->get('vereinid', 0, 'INT');
- if ($vereinid == 0) die ("Wrong id!");
-
- $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $vereinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
- if (count($vereine) < 1) die ("Wrong id");
- $verein = $vereine[0];
-
- $berechtigt_spieler_aendern = benutzerZugriff("spieler_aendern");
-
- $query = "SELECT mitglied_von_verein_id, mitgliedsstatus, vorname, nachname, spielernr, #__sportsmanager_spieler.spieler_id"
- . "\n FROM #__sportsmanager_mitglied_von_verein"
- . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n WHERE #__sportsmanager_mitglied_von_verein.verein_id = $vereinid"
- . "\n ORDER BY IF(mitgliedsstatus <> 0, 0, 1), mitgliedsstatus, nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereinsmitglieder = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminVereinsmitglieder($verein, $vereinsmitglieder, $berechtigt_spieler_aendern);
-}
-
-function adminEditVereinsmitglied() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- $vereinid = $jinput->get('vereinid', 0, 'INT');
-
- if ($id == 0)
- $row = null;
- else {
- $query = "SELECT t1.*, t2.vorname, t2.nachname FROM #__sportsmanager_mitglied_von_verein AS t1 LEFT JOIN #__sportsmanager_spieler AS t2 ON t1.spieler_id = t2.spieler_id WHERE mitglied_von_verein_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 1)
- $row = $rows[0];
- }
-
- $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $vereinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
- if (count($vereine) < 1) die ("Wrong id");
- $verein = $vereine[0];
-
- $query = "SELECT spieler_id, vorname, nachname, spielernr FROM #__sportsmanager_spieler ORDER BY nachname, vorname, spielernr";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditVereinsmitglied($row, $verein, $spieler);
-}
-
-function adminSaveVereinsmitglied() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff();
-
- $id = $jinput->get('id', 0, 'INT');
- $spielerid = $jinput->get('spielerid', 0, 'INT');
- $vereinid = $jinput->get('vereinid', 0, 'INT');
- $mitgliedsstatus = $jinput->get('mitgliedsstatus', 0, 'INT');
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_vereinsmitglieder&vereinid=' . $vereinid);
-
- return;
- }
-
- if (empty($id)) {
- $query = "INSERT INTO #__sportsmanager_mitglied_von_verein (spieler_id, verein_id, mitgliedsstatus, ausgetreten) VALUES ('$spielerid', '$vereinid', '1', FALSE);";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else {
- $query = "UPDATE #__sportsmanager_mitglied_von_verein"
- . "\n SET mitgliedsstatus = '" . $mitgliedsstatus . "',"
- . "\n ausgetreten = " . ($mitgliedsstatus == 0 ? "TRUE" : "FALSE")
- . "\n WHERE mitglied_von_verein_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- aktuellerVereinAktualisieren($spielerid);
-
- redirectSportsManagerURL('&task=admin_vereinsmitglieder&vereinid=' . $vereinid);
-}
-
-function adminRemoveVereinsmitglied() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- $vereinid = $jinput->get('vereinid', 0, 'INT');
- $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE mitglied_von_verein_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- aktuellerVereinAktualisieren();
-
- redirectSportsManagerURL('&task=admin_vereinsmitglieder&vereinid=' . $vereinid);
-}
-
-function adminSpielorte() {
- $db = getDatabase();
-
- if (!benutzerZugriff("spielorte_aendern"))
- keinZugriff(true);
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_spielort"
- . "\n ORDER BY ortsname, name, ortsteil";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spielorte = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminSpielorte($spielorte);
-}
-
-function adminEditSpielort() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielorte_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- if ($id == null) {
- $row = null;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_spielort WHERE spielort_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 1)
- $row = $rows[0];
- }
-
- HTML_sportsmanager_admin::adminEditSpielort($row);
-}
-
-function adminSaveSpielort() {
- $db = getDatabase();
- global $_FILES;
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielorte_aendern"))
- keinZugriff();
-
- $id = $jinput->get('id', 0, 'INT');
- $name = $db->escape(trim($jinput->get('name', '', 'RAW')));
- $strasse = $db->escape(trim($jinput->get('strasse', '', 'RAW')));
- $plz = $db->escape(trim($jinput->get('plz', '', 'RAW')));
- $ortsname = $db->escape(trim($jinput->get('ortsname', '', 'RAW')));
- $ortsteil = $db->escape(trim($jinput->get('ortsteil', '', 'RAW')));
- $url = $db->escape(trim($jinput->get('url', '', 'RAW')));
- $beschreibung = $db->escape(trim($jinput->get('beschreibung', '', 'RAW')));
- $status = $jinput->get('status', 0, 'INT');
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spielorte#id' . $id);
-
- return;
- }
-
- if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_spielort (name, strasse, plz, ortsname, ortsteil, url, beschreibung, status)"
- . "\n VALUES ('$name', '$strasse', '$plz', '$ortsname', '$ortsteil', '$url', '$beschreibung', '$status');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $query = "UPDATE #__sportsmanager_spielort"
- . "\n SET name = '$name',"
- . "\n strasse = '$strasse',"
- . "\n plz = '$plz',"
- . "\n ortsname = '$ortsname',"
- . "\n ortsteil = '$ortsteil',"
- . "\n url = '$url',"
- . "\n beschreibung = '$beschreibung',"
- . "\n status = '$status'"
- . "\n WHERE spielort_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- redirectSportsManagerURL('&task=admin_spielorte#id' . $id);
-}
-
-function adminRemoveSpielort() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielorte_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "UPDATE #__sportsmanager_team SET heimspielort_id = NULL WHERE heimspielort_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "UPDATE #__sportsmanager_begegnung SET spielort_id = NULL WHERE spielort_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_spielort WHERE spielort_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- redirectSportsManagerURL('&task=admin_spielorte');
-}
-
-function adminSpielorteZusammenlegenForm() {
- $db = getDatabase();
-
- if (!benutzerZugriff("spielorte_aendern"))
- keinZugriff(true);
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_spielort"
- . "\n ORDER BY ortsname, name, ortsteil";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spielorte = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminSpielorteZusammenlegen($spielorte);
-}
-
-function adminSpielorteZusammenlegen() {
- $db = getDatabase();
- global $_FILES;
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielorte_aendern"))
- keinZugriff(true);
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spielorte');
-
- return;
- }
-
- $spielort_beizubehalten_id = $jinput->get('spielort_beizubehalten_id', 0, 'INT');
- $spielort_zu_entfernen_id = $jinput->get('spielort_zu_entfernen_id', 0, 'INT');
-
- if ($spielort_beizubehalten_id == $spielort_zu_entfernen_id) {
- redirectSportsManagerURL('&task=admin_spielorte#id' . $spielort_beizubehalten_id, "Zum Zusammanlegen müssen zwei unterschiedliche Spielorte gewählt werden");
-
- return;
- }
-
- $query = "UPDATE #__sportsmanager_team"
- . "\n SET heimspielort_id = $spielort_beizubehalten_id"
- . "\n WHERE heimspielort_id = $spielort_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "UPDATE #__sportsmanager_begegnung"
- . "\n SET spielort_id = $spielort_beizubehalten_id"
- . "\n WHERE spielort_id = $spielort_zu_entfernen_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_spielort WHERE spielort_id = $spielort_zu_entfernen_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- redirectSportsManagerURL('&task=admin_spielorte#id' . $spielort_beizubehalten_id);
-}
-
-function adminEinstufungen() {
- $db = getDatabase();
-
- if (!benutzerZugriff("einstufungen_aendern"))
- keinZugriff(true);
-
- $query = "SELECT *, (SELECT COUNT(*) FROM #__sportsmanager_einstufung_rangliste WHERE #__sportsmanager_einstufung.einstufung_id = #__sportsmanager_einstufung_rangliste.einstufung_id) AS ranglisten"
- . "\n FROM #__sportsmanager_einstufung"
- . "\n ORDER BY typ, prioritaet, bezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $einstufungen = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEinstufungen($einstufungen);
-}
-
-function adminEditEinstufung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("einstufungen_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- if ($id == null) {
- $row = null;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_einstufung WHERE einstufung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 1)
- $row = $rows[0];
- }
-
- // Ranglisten ermitteln
- if ($id == 0) {
- $query = "SELECT #__sportsmanager_rangliste.rangliste_id, bezeichnung, saisonbezeichnung"
- . "\n FROM #__sportsmanager_rangliste"
- . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
- }
- else {
- $query = "SELECT DISTINCT #__sportsmanager_rangliste.rangliste_id, ranglisten.einstufung_rangliste_id, ranglisten.platz_min, ranglisten.platz_max, bezeichnung, saisonbezeichnung"
- . "\n FROM #__sportsmanager_rangliste"
- . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n LEFT JOIN (SELECT rangliste_id, einstufung_rangliste_id, platz_min, platz_max FROM #__sportsmanager_einstufung_rangliste WHERE einstufung_id = $id) AS ranglisten USING (rangliste_id)"
- . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ranglisten = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditEinstufung($row, $ranglisten);
-}
-
-function adminSaveEinstufung() {
- $db = getDatabase();
- global $_FILES;
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("einstufungen_aendern"))
- keinZugriff();
-
- $id = $jinput->get('id', 0, 'INT');
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $prioritaet = $jinput->get('prioritaet', 0, 'INT');
- $typ = $jinput->get('typ', 0, 'INT');
- $elo_min = $jinput->get('elo_min', 0, 'INT');
- $elo_max = $jinput->get('elo_max', 0, 'INT');
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_einstufungen#id' . $id);
-
- return;
- }
-
- $ranglisten_beruecksichtigt = array();
- $ranglisten_beruecksichtigt_platz_min = array();
- $ranglisten_beruecksichtigt_platz_max = array();
- $i = 0;
- $rangliste_id = $jinput->get('rangliste_id_' . $i, 0, 'INT');
- $rangliste_platz_min = $jinput->get('rangliste_platz_min_' . $i, 0, 'INT');
- $rangliste_platz_max = $jinput->get('rangliste_platz_max_' . $i, 0, 'INT');
- while ($rangliste_id != 0 && !in_array($rangliste_id, $ranglisten_beruecksichtigt)) {
- array_push($ranglisten_beruecksichtigt, $rangliste_id);
- array_push($ranglisten_beruecksichtigt_platz_min, $rangliste_platz_min);
- array_push($ranglisten_beruecksichtigt_platz_max, $rangliste_platz_max);
- $i++;
- $rangliste_id = $jinput->get('rangliste_id_' . $i, 0, 'INT');
- $rangliste_platz_min = $jinput->get('rangliste_platz_min_' . $i, 0, 'INT');
- $rangliste_platz_max = $jinput->get('rangliste_platz_max_' . $i, 0, 'INT');
- }
-
- if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_einstufung (bezeichnung, prioritaet, typ, elo_min, elo_max)"
- . "\n VALUES ('$bezeichnung', '$prioritaet', '$typ', '$elo_min', '$elo_max');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $query = "UPDATE #__sportsmanager_einstufung"
- . "\n SET bezeichnung = '$bezeichnung',"
- . "\n prioritaet = '$prioritaet',"
- . "\n typ = '$typ',"
- . "\n elo_min = '$elo_min',"
- . "\n elo_max = '$elo_max'"
- . "\n WHERE einstufung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- // Berücksichtige Ranglisten prüfen und ggf. aktualisieren
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_einstufung_rangliste"
- . "\n WHERE einstufung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $bestehende_ranglisten_beruecksichtigt = $db->loadObjectList();
-
- $einstufungen_aktualisieren = false;
- foreach ($bestehende_ranglisten_beruecksichtigt as $bestehende_rangliste_beruecksichtigt) {
- $ist_beruecksichtigt = false;
- foreach ($ranglisten_beruecksichtigt as $rangliste_id) {
- if ($bestehende_rangliste_beruecksichtigt->rangliste_id == $rangliste_id) {
- $ist_beruecksichtigt = true;
- break;
- }
- }
- if (!$ist_beruecksichtigt) {
- $query = "DELETE FROM #__sportsmanager_einstufung_rangliste WHERE rangliste_id = $bestehende_rangliste_beruecksichtigt->rangliste_id AND einstufung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
-
- foreach ($ranglisten_beruecksichtigt as $index => $rangliste_id) {
- $ist_beruecksichtigt = false;
- foreach ($bestehende_ranglisten_beruecksichtigt as $bestehende_rangliste_beruecksichtigt) {
- if ($bestehende_rangliste_beruecksichtigt->rangliste_id == $rangliste_id) {
- $ist_beruecksichtigt = true;
- $bestehende_rangliste_platz_min = $bestehende_rangliste_beruecksichtigt->platz_min;
- $bestehende_rangliste_platz_min = $bestehende_rangliste_beruecksichtigt->platz_max;
- break;
- }
- }
- $platz_min = $ranglisten_beruecksichtigt_platz_min[$index];
- $platz_max = $ranglisten_beruecksichtigt_platz_max[$index];
- if (!$ist_beruecksichtigt) {
- $query = "SELECT COUNT(*)"
- . "\n FROM #__sportsmanager_rangliste"
- . "\n WHERE rangliste_id = $rangliste_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
-
- if ($n > 0) {
- $query = "INSERT INTO #__sportsmanager_einstufung_rangliste (einstufung_id, rangliste_id, platz_min, platz_max) VALUES ('$id', '$rangliste_id', '$platz_min', '$platz_max');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else if ($platz_min != $bestehende_rangliste_platz_min || $platz_max != $bestehende_rangliste_platz_max) {
- $query = "UPDATE #__sportsmanager_einstufung_rangliste"
- . "\n SET platz_min = '$platz_min',"
- . "\n platz_max = '$platz_max'"
- . "\n WHERE einstufung_id = $id AND rangliste_id = $rangliste_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
-
- einstufungAktualisieren();
-
- redirectSportsManagerURL('&task=admin_einstufungen#id' . $id);
-}
-
-function adminRemoveEinstufung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("einstufungen_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "DELETE FROM #__sportsmanager_einstufung_rangliste WHERE einstufung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_einstufung WHERE einstufung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- einstufungAktualisieren();
-
- redirectSportsManagerURL('&task=admin_einstufungen');
-}
-
-function einstufungAktualisieren($berechnungen_auswerten = false) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if ($berechnungen_auswerten) {
- $session_id = redirectRequestGetSessionId();
-
- $query = "SELECT IF(EXISTS("
- . "\n SELECT *"
- . "\n FROM #__sportsmanager_berechnung"
- . "\n WHERE typ = 'einstufung' AND " . (empty($session_id) ? ("session_id < SUBTIME(NOW(), '00:10:00')") : ("session_id = '" . $session_id . "'"))
- . "\n ), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $berechnungen = $db->loadResult();;
-
- if (empty($berechnungen) || laufzeit() >= 5) {
- return;
- }
- }
- else if (!redirectSessionIdEmpty() || laufzeit() >= 5) {
- $session_id = redirectSessionIdSetzen();
-
- $query = "INSERT INTO #__sportsmanager_berechnung (session_id, typ, id) VALUES ('$session_id', 'einstufung', NULL);";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- return;
- }
-
- $query = "SELECT einstufung_id, prioritaet, typ, elo_min, elo_max"
- . "\n FROM #__sportsmanager_einstufung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- $einstufung_prioritaet = array();
- $einstufung_typ = array();
- foreach ($rows as $row) {
- $einstufung_prioritaet[$row->einstufung_id] = $row->prioritaet;
- $einstufung_typ[$row->einstufung_id] = $row->typ;
- }
-
- $spieler_einstufung_allgemein = array();
- $spieler_einstufung_einzel = array();
- $spieler_einstufung_doppel = array();
- $query = "SELECT rangliste_id, einstufung_id, platz_min, platz_max"
- . "\n FROM #__sportsmanager_einstufung_rangliste"
- . "\n ORDER BY rangliste_id, platz_min, platz_max";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $einstufung_ranglisten = $db->loadObjectList();
-
- $einstufungen_per_ranglisten = array();
- foreach ($einstufung_ranglisten as $einstufung_rangliste) {
- $platz_min = $einstufung_rangliste->platz_min;
- $platz_max = $einstufung_rangliste->platz_max;
- if (empty($platz_min) && empty($platz_max))
- continue;
- if (!isset($einstufungen_per_ranglisten[$einstufung_rangliste->rangliste_id]))
- $einstufungen_per_ranglisten[$einstufung_rangliste->rangliste_id] = array();
- array_push($einstufungen_per_ranglisten[$einstufung_rangliste->rangliste_id], array($einstufung_rangliste->einstufung_id, $platz_min, $platz_max));
- }
-
- foreach ($einstufungen_per_ranglisten as $rangliste_id => $einstufung) {
- $query = "SELECT spieler_id, platz"
- . "\n FROM #__sportsmanager_rangliste_punkte"
- . "\n WHERE rangliste_id = $rangliste_id"
- . "\n ORDER BY platz";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rangliste_punkte = $db->loadObjectList();
-
- foreach ($rangliste_punkte as $punkte) {
- foreach ($einstufung as $einstufung_platzierung) {
- $platz_min = $einstufung_platzierung[1];
- $platz_max = $einstufung_platzierung[2];
- if (($punkte->platz >= $platz_min || $platz_min == 0) && ($punkte->platz <= $platz_max || $platz_max == 0)) {
- $einstufung_id = $einstufung_platzierung[0];
- if ($einstufung_typ[$einstufung_id] == 0) {
- if (!isset($spieler_einstufung_allgemein[$punkte->spieler_id]) || ($einstufung_prioritaet[$spieler_einstufung_allgemein[$punkte->spieler_id]] > $einstufung_prioritaet[$einstufung_id]))
- $spieler_einstufung_allgemein[$punkte->spieler_id] = $einstufung_id;
- }
- else if ($einstufung->typ == 1) {
- if (!isset($spieler_einstufung_einzel[$punkte->spieler_id]) || ($einstufung_prioritaet[$spieler_einstufung_einzel[$punkte->spieler_id]] > $einstufung_prioritaet[$einstufung_id]))
- $spieler_einstufung_einzel[$punkte->spieler_id] = $einstufung_id;
- }
- else {
- if (!isset($spieler_einstufung_doppel[$punkte->spieler_id]) || ($einstufung_prioritaet[$spieler_einstufung_doppel[$punkte->spieler_id]] > $einstufung_prioritaet[$einstufung_id]))
- $spieler_einstufung_doppel[$punkte->spieler_id] = $einstufung_id;
- }
- }
- }
- }
- }
-
- $query = "SELECT spieler_id, elo_einzel, elo_doppel"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE NOT ISNULL(elo_einzel) OR NOT ISNULL(elo_doppel) OR elo_einzel > 0 OR elo_doppel > 0";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
-
- foreach ($spieler as $s) {
- $spieler_id = $s->spieler_id;
- $elo_einzel = $s->elo_einzel;
- $elo_doppel = $s->elo_doppel;
- foreach ($rows as $einstufung) {
- $einstufung_id = $einstufung->einstufung_id;
- $elo_min = $einstufung->elo_min;
- $elo_max = $einstufung->elo_max;
- if (empty($elo_min) && empty($elo_max))
- continue;
- if ($einstufung_typ[$einstufung_id] == 0) {
- if (($elo_einzel > 0 && ($elo_einzel >= $elo_min || empty($elo_min)) && ($elo_einzel <= $elo_max || empty($elo_max)))
- || ($elo_doppel > 0 && ($elo_doppel >= $elo_min || empty($elo_min)) && ($elo_doppel <= $elo_max || empty($elo_max)))) {
- if (!isset($spieler_einstufung_allgemein[$spieler_id]) || ($einstufung_prioritaet[$einstufung_id] > $einstufung_prioritaet[$spieler_einstufung_allgemein[$spieler_id]]))
- $spieler_einstufung_allgemein[$spieler_id] = $einstufung_id;
- }
- }
- else if ($einstufung->typ == 1) {
- if ($elo_einzel > 0 && ($elo_einzel >= $elo_min || empty($elo_min)) && ($elo_einzel <= $elo_max || empty($elo_max))) {
- if (!isset($spieler_einstufung_einzel[$spieler_id]) || ($einstufung_prioritaet[$einstufung_id] > $einstufung_prioritaet[$spieler_einstufung_einzel[$spieler_id]]))
- $spieler_einstufung_einzel[$spieler_id] = $einstufung_id;
- }
- }
- else {
- if ($elo_doppel > 0 && ($elo_doppel >= $elo_min || empty($elo_min)) && ($elo_doppel <= $elo_max || empty($elo_max))) {
- if (!isset($spieler_einstufung_doppel[$spieler_id]) || ($einstufung_prioritaet[$einstufung_id] > $einstufung_prioritaet[$spieler_einstufung_doppel[$spieler_id]]))
- $spieler_einstufung_doppel[$spieler_id] = $einstufung_id;
- }
- }
- }
- }
-
- $db->transactionStart();
- $query = "UPDATE #__sportsmanager_spieler"
- . "\n SET einstufung_allgemein_id = NULL,"
- . "\n einstufung_einzel_id = NULL,"
- . "\n einstufung_doppel_id = NULL";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $spieler_ids = array_keys($spieler_einstufung_allgemein) + array_keys($spieler_einstufung_einzel) + array_keys($spieler_einstufung_doppel);
- foreach ($spieler_ids as $spieler_id) {
- $query = "UPDATE #__sportsmanager_spieler"
- . "\n SET einstufung_allgemein_id = " . (isset($spieler_einstufung_allgemein[$spieler_id]) ? $spieler_einstufung_allgemein[$spieler_id] : "NULL") . ","
- . "\n einstufung_einzel_id = " . (isset($spieler_einstufung_einzel[$spieler_id]) ? $spieler_einstufung_einzel[$spieler_id] : "NULL") . ","
- . "\n einstufung_doppel_id = " . (isset($spieler_einstufung_doppel[$spieler_id]) ? $spieler_einstufung_doppel[$spieler_id] : "NULL");
- $query .= "\n WHERE spieler_id = $spieler_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- $db->transactionCommit();
-
- if ($berechnungen_auswerten) {
- $query = "DELETE FROM #__sportsmanager_berechnung WHERE typ = 'einstufung' AND " . (empty($session_id) ? ("session_id < SUBTIME(NOW(), '00:10:00')") : ("session_id = '" . $session_id . "'"));
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-}
-
-function adminTeamspielmodi() {
- $db = getDatabase();
-
- if (!benutzerZugriff("mannschaftsspielplaene_aendern"))
- keinZugriff(true);
-
- $query = "SELECT *, IF(EXISTS(SELECT * FROM #__sportsmanager_veranstaltung WHERE teamspiel_modus_id = modus_id), 1, 0) AS veranstaltungen"
- . "\n FROM #__sportsmanager_teamspiel_modus"
- . "\n ORDER BY status DESC, bezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminTeamspielmodi($rows);
-}
-
-function adminEditTeamspielmodus() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("mannschaftsspielplaene_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- if ($id == null)
- $row = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 1)
- $row = $rows[0];
- }
-
- HTML_sportsmanager_admin::adminEditTeamspielmodus($row);
-}
-
-function adminSaveTeamspielmodus() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("mannschaftsspielplaene_aendern"))
- keinZugriff();
-
- $id = $jinput->get('id', 0, 'INT');
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $punktetyp = $jinput->get('punktetyp', 0, 'INT');
- $punkte_sieg_einzel = $jinput->get('punkte_sieg_einzel', 0, 'INT');
- $punkte_sieg_doppel_separat = $jinput->get('punkte_sieg_doppel_separat', 0, 'INT');
- $punkte_sieg_doppel = $punkte_sieg_doppel_separat ? $jinput->get('punkte_sieg_doppel', 0, 'INT') : $punkte_sieg_einzel;
- $heimtausch = $jinput->get('heimtausch', 0, 'INT');
- $status = $jinput->get('status', 0, 'INT');
- $spielpunkte_wertung_einzel = $jinput->get('spielpunkte_wertung_einzel', 0, 'INT');
- $spielpunkte_wertung_doppel_separat = $jinput->get('spielpunkte_wertung_doppel_separat', 0, 'INT');
- $spielpunkte_wertung_doppel = $spielpunkte_wertung_doppel_separat ? $jinput->get('spielpunkte_wertung_doppel', 0, 'INT') : $spielpunkte_wertung_einzel;
- $spielpunkte_bedingung = $jinput->get('spielpunkte_bedingung', 0, 'INT');
- $spielernamen = $jinput->get('spielernamen', 0, 'INT');
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_teamspiel_modi');
-
- return;
- }
-
- $modus = "";
- $spiel_nr = 1;
- do {
- $spiel_heim = $jinput->get('spiel_' . $spiel_nr . '_heim', '', 'RAW');
- $spiel_gast = $jinput->get('spiel_' . $spiel_nr . '_gast', '', 'RAW');
- $spiel_auflage = $jinput->get('spiel_' . $spiel_nr . '_auflage', '', 'RAW');
- if (strlen($spiel_heim) != 0 && strlen($spiel_gast) != 0 && ($spiel_auflage == "" || $spiel_auflage == "H" || $spiel_auflage == "G")) {
- if (strlen($modus) != 0)
- $modus .= ",";
- $modus .= $spiel_heim . $spiel_gast . $spiel_auflage;
- }
- $spiel_nr++;
- } while (strlen($spiel_heim) != 0 && strlen($spiel_gast) != 0);
-
- $verknuepfungen = "";
- $verknuepfung_nr = 1;
- for (; ;) {
- $verknuepfung_doppel = $jinput->get('verknuepfung_' . $verknuepfung_nr . '_doppel', '', 'RAW');
- $verknuepfung_einzel1 = $jinput->get('verknuepfung_' . $verknuepfung_nr . '_einzel1', '', 'RAW');
- $verknuepfung_einzel2 = $jinput->get('verknuepfung_' . $verknuepfung_nr . '_einzel2', '', 'RAW');
- if (strlen($verknuepfung_doppel) == 0 || strlen($verknuepfung_einzel1) == 0 || strlen($verknuepfung_einzel2) == 0)
- break;
- if (strpos($verknuepfungen, $verknuepfung_doppel) !== false || strpos($verknuepfungen, $verknuepfung_einzel1) !== false || strpos($verknuepfungen, $verknuepfung_einzel2) !== false ||
- $verknuepfung_einzel1 == $verknuepfung_einzel2)
- break;
- if (strlen($verknuepfungen) != 0)
- $verknuepfungen .= ",";
- $verknuepfungen .= $verknuepfung_doppel . $verknuepfung_einzel1 . $verknuepfung_einzel2;
- $verknuepfung_nr++;
- }
-
- if (strlen($verknuepfungen) > 0)
- $modus .= "|" . $verknuepfungen;
- $modus = $db->escape($modus);
-
- if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_teamspiel_modus (bezeichnung, punktetyp, punkte_sieg_einzel, punkte_sieg_doppel, spielpunkte_wertung_einzel, spielpunkte_wertung_doppel, spielpunkte_bedingung, spielernamen, heimtausch, modus, status) VALUES ('$bezeichnung', '$punktetyp', '$punkte_sieg_einzel', '$punkte_sieg_doppel', '$spielpunkte_wertung_einzel', '$spielpunkte_wertung_doppel', '$spielpunkte_bedingung', '$spielernamen', '$heimtausch', '$modus', '$status');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $query = "UPDATE #__sportsmanager_teamspiel_modus"
- . "\n SET bezeichnung = '$bezeichnung',"
- . "\n punktetyp = '$punktetyp',"
- . "\n punkte_sieg_einzel = '$punkte_sieg_einzel',"
- . "\n punkte_sieg_doppel = '$punkte_sieg_doppel',"
- . "\n spielpunkte_wertung_einzel = '$spielpunkte_wertung_einzel',"
- . "\n spielpunkte_wertung_doppel = '$spielpunkte_wertung_doppel',"
- . "\n spielpunkte_bedingung = '$spielpunkte_bedingung',"
- . "\n spielernamen = '$spielernamen',"
- . "\n heimtausch = '$heimtausch',"
- . "\n modus = '$modus',"
- . "\n status = '$status'"
- . "\n WHERE teamspiel_modus_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- begegnungenAktualisieren(0, $id);
- teamstatistikAktualisieren(0, $id);
- spielerstatistikAktualisieren(0, 0, 0, $id);
-
- redirectSportsManagerURL('&task=admin_teamspiel_modi');
-}
-
-function adminRemoveTeamspielmodus() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("mannschaftsspielplaene_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstaltung WHERE modus_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
-
- $query = "DELETE FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- redirectSportsManagerURL('&task=admin_teamspiel_modi');
-}
-
-function adminKopierenTeamspielmodus() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("mannschaftsspielplaene_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $teamspiel_modus = $rows[0];
-
- $query = "INSERT INTO #__sportsmanager_teamspiel_modus (bezeichnung, punktetyp, punkte_sieg_einzel, punkte_sieg_doppel, spielpunkte_wertung_einzel, spielpunkte_wertung_doppel, spielpunkte_bedingung, spielernamen, heimtausch, modus, status) VALUES ('" . $db->escape($teamspiel_modus->bezeichnung) . " (Kopie)', '$teamspiel_modus->punktetyp', '$teamspiel_modus->punkte_sieg_einzel', '$teamspiel_modus->punkte_sieg_doppel', '$teamspiel_modus->spielpunkte_wertung_einzel', '$teamspiel_modus->spielpunkte_wertung_doppel', '$teamspiel_modus->spielpunkte_bedingung', '$teamspiel_modus->spielernamen', '$teamspiel_modus->heimtausch', '$teamspiel_modus->modus', '$teamspiel_modus->status');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
-
- redirectSportsManagerURL('&task=admin_teamspiel_modi');
-}
-
-function adminVerschiebenModi() {
- $db = getDatabase();
-
- if (!benutzerZugriff("verschieberegeln_aendern"))
- keinZugriff(true);
-
- $query = "SELECT *, IF(EXISTS(SELECT * FROM #__sportsmanager_veranstaltung WHERE #__sportsmanager_veranstaltung.verschieberegel_id = #__sportsmanager_verschieberegel.verschieberegel_id), 1, 0) AS veranstaltungen"
- . "\n FROM #__sportsmanager_verschieberegel"
- . "\n ORDER BY bezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminVerschiebenModi($rows);
-}
-
-function adminEditVerschiebenModus() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("verschieberegeln_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- if ($id == null)
- $row = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_verschieberegel WHERE verschieberegel_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 1)
- $row = $rows[0];
- }
-
- if(!empty($row)) {
- HTML_sportsmanager_admin::adminEditVerschiebenModus($row);
- }
-}
-
-function adminSaveVerschiebenModus() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("verschieberegeln_aendern"))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_verschieben_modi');
-
- return;
- }
-
- $id = $jinput->get('id', 0, 'INT');
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $initial_ohne_termin = $jinput->get('initial_ohne_termin', 0, 'INT');
- $keine_gegenvorschlaege = $jinput->get('keine_gegenvorschlaege', 0, 'INT');
- $vorlaufzeit_tage = $jinput->get('vorlaufzeit_tage', 0, 'INT');
- $termine_minimal = $jinput->get('termine_minimal', 1, 'INT');
- $termine_maximal = $jinput->get('termine_maximal', 3, 'INT');
- $ablehnen = $jinput->get('ablehnen', 0, 'INT');
-
- if ($termine_minimal > 0 && $termine_maximal > 0 && $termine_minimal > $termine_maximal) {
- $t = $termine_minimal;
- $termine_minimal = $termine_maximal;
- $termine_maximal = $t;
- }
-
- if ($id == 0)
- $query = "INSERT INTO #__sportsmanager_verschieberegel (bezeichnung, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage, termine_minimal, termine_maximal, ablehnen) VALUES ('$bezeichnung', '$initial_ohne_termin', '$keine_gegenvorschlaege', '$vorlaufzeit_tage', '$termine_minimal', '$termine_maximal', '$ablehnen');";
- else {
- $query = "UPDATE #__sportsmanager_verschieberegel"
- . "\n SET bezeichnung = '$bezeichnung',"
- . "\n initial_ohne_termin = '$initial_ohne_termin',"
- . "\n keine_gegenvorschlaege = '$keine_gegenvorschlaege',"
- . "\n vorlaufzeit_tage = '$vorlaufzeit_tage',"
- . "\n termine_minimal = '$termine_minimal',"
- . "\n termine_maximal = '$termine_maximal',"
- . "\n ablehnen = '$ablehnen'"
- . "\n WHERE verschieberegel_id = $id";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- redirectSportsManagerURL('&task=admin_verschieben_modi');
-}
-
-function adminRemoveVerschiebenModus() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("verschieberegeln_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstaltung WHERE verschieberegel_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
-
- $query = "DELETE FROM #__sportsmanager_verschieberegel WHERE verschieberegel_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- redirectSportsManagerURL('&task=admin_verschieben_modi');
-}
-
-function adminKategorien() {
- $db = getDatabase();
-
- if (!benutzerZugriff("kategorien_aendern"))
- keinZugriff(true);
-
- $query = "SELECT * FROM #__sportsmanager_kategorie ORDER BY typ, nummer";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- $kategorien = array();
- $kategorien[1] = array();
- $kategorien[2] = array();
- $kategorien[3] = array();
- $kategorien[4] = array();
-
- foreach ($rows as $row)
- $kategorien[$row->typ][$row->nummer] = $row->bezeichnung;
-
- HTML_sportsmanager_admin::adminKategorien($kategorien);
-}
-
-function adminSaveKategorien() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("kategorien_aendern"))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_uebersicht');
-
- return;
- }
-
- $query = "SELECT * FROM #__sportsmanager_kategorie ORDER BY typ, nummer";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- $kategorien = array();
- $kategorien[1] = array();
- $kategorien[2] = array();
- $kategorien[3] = array();
- $kategorien[4] = array();
- $kategorien[5] = array();
- $kategorien[6] = array();
-
- foreach ($rows as $row)
- $kategorien[$row->typ][$row->nummer] = $row->bezeichnung;
-
- for ($typ = 1; $typ <= 6; $typ++) {
- for ($nummer = 1; $nummer <= 30; $nummer++) {
- $bezeichnung = $db->escape($jinput->get('bezeichnung_' . $typ . '_' . $nummer, '', 'RAW'));
- if (empty($bezeichnung)) {
- if (isset($kategorien[$typ][$nummer])) {
- $query = "DELETE FROM #__sportsmanager_kategorie WHERE typ = $typ AND nummer = $nummer;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else {
- if (isset($kategorien[$typ][$nummer])) {
- $query = "UPDATE #__sportsmanager_kategorie"
- . "\n SET bezeichnung = '$bezeichnung'"
- . "\n WHERE typ = $typ AND nummer = $nummer";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else {
- $query = "INSERT INTO #__sportsmanager_kategorie (typ, nummer, bezeichnung) VALUES ('$typ', '$nummer', '$bezeichnung');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
- }
-
- redirectSportsManagerURL('&task=admin_uebersicht');
-}
-
-function adminRanglistensysteme() {
- $db = getDatabase();
-
- if (!benutzerZugriff("ranglistenwertungen_aendern"))
- keinZugriff(true);
-
- $query = "SELECT *, (SELECT COUNT(*) FROM #__sportsmanager_rangliste WHERE rangliste_system_id = system_id) AS ranglisten, (SELECT COUNT(*) FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_system_id = system_id) AS ranglistenturnierdisziplinen FROM #__sportsmanager_rangliste_system ORDER BY status DESC, systembezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- $error_level = error_reporting(E_ERROR);
- $math = new MathParserSM;
- $math->setVariable('n', 100);
- $math->setVariable('m', 1);
- $math->setVariable('p', 5);
- $pruefung = array();
- foreach ($rows as $row) {
- $korrekt = true;
- $pruefung[$row->rangliste_system_id] = $korrekt;
- if (!empty($row->funktion)) {
- try {
- $math->setExpression($row->funktion);
- $n = $math->getValue();
- }
- catch (Exception $e) {
- $korrekt = false;
- }
- }
- $pruefung[$row->rangliste_system_id] = $korrekt;
- }
- error_reporting($error_level);
-
- HTML_sportsmanager_admin::adminRanglistensysteme($rows, $pruefung);
-}
-
-function adminEditRanglistensystem() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglistenwertungen_aendern"))
- keinZugriff(true);
-
- $row = null;
- $punkte = null;
-
- $id = $jinput->get('id', 0, 'INT');
- $typ = $jinput->get('typ', 0, 'INT');
- if ($id != null) {
- $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE rangliste_system_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
-
- $query = "SELECT * FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $id ORDER BY rangliste_system_punkte_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $punkte = $db->loadObjectList();
- }
-
- HTML_sportsmanager_admin::adminEditRanglistensystem($row, $punkte, $row != null ? ($row->funktion != null) : $typ);
-}
-
-function adminSaveRanglistensystem() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglistenwertungen_aendern"))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_ranglistensysteme');
-
- return;
- }
-
- $id = $jinput->get('id', 0, 'INT');
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $status = $jinput->get('status', 0, 'INT');
- $funktion = $db->escape(trim($jinput->get('funktion', '', 'RAW')));
- $typ = $jinput->get('typ', 0, 'INT');
-
- if ($id == 0) {
- if ($typ != 1)
- $query = "INSERT INTO #__sportsmanager_rangliste_system (systembezeichnung, status) VALUES ('$bezeichnung', '$status');";
- else
- $query = "INSERT INTO #__sportsmanager_rangliste_system (systembezeichnung, status, funktion) VALUES ('$bezeichnung', '$status', '$funktion');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $query = "UPDATE #__sportsmanager_rangliste_system"
- . "\n SET systembezeichnung = '$bezeichnung',"
- . "\n status = '$status'";
- if ($typ == 1)
- $query .= ",\n funktion = '$funktion'";
- $query .= "\n WHERE rangliste_system_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- $query = "DELETE FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- if ($typ != 1) {
- for ($punkte_nr = 1; $punkte_nr <= 50; $punkte_nr++) {
- $platz_min = $jinput->get('punkte_' . $punkte_nr . '_platz_min', 0, 'INT');
- $platz_max = $jinput->get('punkte_' . $punkte_nr . '_platz_max', 0, 'INT');
- $teilnehmer_min = $jinput->get('punkte_' . $punkte_nr . '_teilnehmer_min', 0, 'INT');
- $teilnehmer_max = $jinput->get('punkte_' . $punkte_nr . '_teilnehmer_max', 0, 'INT');
- $punkte = $jinput->get('punkte_' . $punkte_nr . '_punkte', 0, 'INT');
-
- if ($punkte != 0) {
- $query = "INSERT INTO #__sportsmanager_rangliste_system_punkte (system_id, platz_min, platz_max, teilnehmer_min, teilnehmer_max, punkte) VALUES ('$id', '$platz_min', '$platz_max', '$teilnehmer_min', '$teilnehmer_max', '$punkte');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
-
- ranglisteAktualisieren();
- einstufungAktualisieren();
-
- redirectSportsManagerURL('&task=admin_ranglistensysteme');
-}
-
-function adminRanglistensystemAuswertung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglistenwertungen_aendern"))
- keinZugriff(true);
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_ranglistensysteme');
-
- return;
- }
-
- $id = $jinput->get('id', 0, 'INT');
- $teilnehmer = $jinput->get('teilnehmer', 100, 'INT');
- $multiplikator = $jinput->get('multiplikator', 1, 'FLOAT');
-
- $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE rangliste_system_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $system = $rows[0];
-
- $query = "SELECT * FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $id ORDER BY rangliste_system_punkte_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $systempunkte = $db->loadObjectList();
-
- if ($system->funktion != NULL) {
- $math = new MathParserSM;
- try {
- $math->setVariable('n', $teilnehmer);
- $math->setVariable('m', $multiplikator);
- $math->setExpression($system->funktion);
- } catch (Exception $e) {
- }
- }
-
- $teilnehmerpunkte = array();
- for ($platz = 1; $platz <= $teilnehmer; $platz++) {
- $p = 0;
- if ($system->funktion == NULL) {
- foreach ($systempunkte as $sp) {
- if (($sp->platz_min == 0 || $sp->platz_min <= $platz) && ($sp->platz_max == 0 || $platz <= $sp->platz_max) && ($sp->teilnehmer_min == 0 || $sp->teilnehmer_min <= $teilnehmer) && ($sp->teilnehmer_max == 0 || $teilnehmer <= $sp->teilnehmer_max)) {
- $p = round($sp->punkte * $multiplikator);
- break;
- }
- }
- } else {
- try {
- $math->setVariable('p', $platz);
- $p = round($math->getValue());
- } catch (Exception $e) {
- }
- }
- $teilnehmerpunkte[$platz] = $p;
- }
-
- HTML_sportsmanager_admin::adminRanglistensystemAuswertung($system, $teilnehmer, $multiplikator, $teilnehmerpunkte);
-}
-
-function adminRanglistensystemAuswertungOLd() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglistenwertungen_aendern"))
- keinZugriff(true);
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_ranglistensysteme');
-
- return;
- }
-
- $row = null;
- $punkte = null;
-
- $id = $jinput->get('id', 0, 'INT');
- $teilnehmer = $jinput->get('teilnehmer', 100, 'INT');
- $multiplikator = $jinput->get('multiplikator', 1, 'INT');
-
- $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE rangliste_system_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $system = $rows[0];
-
- $query = "SELECT * FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $id ORDER BY rangliste_system_punkte_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $systempunkte = $db->loadObjectList();
-
- $teilnehmerpunkte = array();
- $math = new MathParserSM;
- for ($platz = 1; $platz <= $teilnehmer; $platz++) {
- $p = 0;
- if ($id != 0 && $system->funktion == NULL) {
- foreach ($systempunkte as $sp) {
- if (($sp->platz_min == 0 || $sp->platz_min <= $platz) && ($sp->platz_max == 0 || $platz <= $sp->platz_max) && ($sp->teilnehmer_min == 0 || $sp->teilnehmer_min <= $teilnehmer) && ($sp->teilnehmer_max == 0 || $teilnehmer <= $sp->teilnehmer_max)) {
- $p = round($sp->punkte * $wertung_multiplikator_normal);
- break;
- }
- }
- } else {
- $math->setVariable('p', $turnierplatzierung->platz);
- $math->setVariable('m', $wertung_multiplikator_normal);
- $math->setExpression($system->funktion);
- try {
- $p = round($math->getValue());
- } catch (Exception $e) {
-
- }
- }
- $teilnehmerpunkte[$platz] = $p;
- }
-
- HTML_sportsmanager_admin::adminRanglistensystemAuswertung($row, $teilnehmer, $multiplikator, $teilnehmerpunkte);
-}
-
-function adminRemoveRanglistensystem() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglistenwertungen_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_rangliste WHERE system_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_rangliste_turnierdisziplin WHERE system_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
-
- $query = "DELETE FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_rangliste_system WHERE rangliste_system_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- redirectSportsManagerURL('&task=admin_ranglistensysteme');
-}
-
-function adminEditRangliste() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglisten_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- if ($id == 0)
- $rangliste = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_rangliste WHERE rangliste_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $rangliste = $rows[0];
-
- if(isset($rangliste->lizenzen))
- {
- $rangliste->lizenzen = explode(',', $rangliste->lizenzen);
- }
- }
-
- $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE status > 0 " . ($id != 0 ? "OR rangliste_system_id = $rangliste->system_id " : "") . "ORDER BY systembezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $systeme = $db->loadObjectList();
-
- $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 4 ORDER BY nummer";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows_kategorien = $db->loadObjectList();
-
- $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
-
- $kategorien = array();
- foreach ($rows_kategorien as $kategorie)
- $kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
-
- HTML_sportsmanager_admin::adminEditRangliste($rangliste, $systeme, $kategorien, $saisons);
-}
-
-function adminSaveRangliste() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglisten_aendern"))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_uebersicht');
-
- return;
- }
-
- $id = $jinput->get('id', 0, 'INT');
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $saison_id = $jinput->get('saison_id', 0, 'INT');
- $erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jinput->get('erster_tag_jahr', 2000, 'INT'), $jinput->get('erster_tag_monat', 1, 'INT'), $jinput->get('erster_tag_tag', 1, 'INT')));
- $letzter_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jinput->get('letzter_tag_jahr', 2000, 'INT'), $jinput->get('letzter_tag_monat', 1, 'INT'), $jinput->get('letzter_tag_tag', 1, 'INT')));
- $system_id = $jinput->get('system_id', 0, 'INT');
- $maximal_gewertet_typ = $jinput->get('maximal_gewertet_typ', 0, 'INT');
- if ($maximal_gewertet_typ == 0)
- $maximal_gewertet_zahl = 0;
- else if ($maximal_gewertet_typ == 1)
- $maximal_gewertet_zahl = -$jinput->get('maximal_gewertet_zahl', 0, 'INT');
- else
- $maximal_gewertet_zahl = max(0, 100 - $jinput->get('maximal_gewertet_zahl', 0, 'INT'));
- $minalter = $jinput->get('minalter', 0, 'INT');
- $maxalter = $jinput->get('maxalter', 0, 'INT');
- $ohnealter = $jinput->get('ohnealter', 0, 'INT');
- $geschlecht = $jinput->get('geschlecht', 0, 'INT');
- $lizenzen = $jinput->get('lizenzen', [], 'ARRAY');
- $status = $jinput->get('status', 0, 'INT');
- $reihenfolge = $jinput->get('reihenfolge', 0, 'INT');
- $kategorie = $jinput->get('kategorie', 0, 'INT');
- if ($id == 0)
- $query = "INSERT INTO #__sportsmanager_rangliste (bezeichnung, saison_id, erster_tag, " . ($letzter_tag != null ? "letzter_tag, " : "") . "system_id, streichergebnisse, geschlecht, lizenzen, minalter, maxalter, ohnealter, status, reihenfolge, kategorie) VALUES ('$bezeichnung', '$saison_id', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$system_id', '$maximal_gewertet_zahl', " . ($geschlecht == null ? "null" : "'$geschlecht'") . ", " . (count((array) $lizenzen) ? implode(',', $lizenzen) : "null") . ", " . ($minalter == null ? "null" : "'$minalter'") . ", " . ($maxalter == null ? "null" : "'$maxalter'") . ", '$ohnealter', '$status', '$reihenfolge', '$kategorie');";
- else {
- $query = "UPDATE #__sportsmanager_rangliste"
- . "\n SET bezeichnung = '$bezeichnung',"
- . "\n saison_id = '$saison_id',"
- . "\n erster_tag = '$erster_tag',"
- . "\n letzter_tag = " . ($letzter_tag != null ? "'$letzter_tag'," : "NULL,")
- . "\n system_id = '$system_id',"
- . "\n streichergebnisse = '$maximal_gewertet_zahl',"
- . "\n geschlecht = " . ($geschlecht != null ? "'$geschlecht'," : "NULL,")
- . "\n lizenzen = " . (count((array) $lizenzen) ? "'" . implode(',', $lizenzen) . "',": "NULL,")
- . "\n minalter = " . ($minalter != null ? "'$minalter'," : "NULL,")
- . "\n maxalter = " . ($maxalter != null ? "'$maxalter'," : "NULL,")
- . "\n ohnealter = '$ohnealter',"
- . "\n status = '$status',"
- . "\n reihenfolge = '$reihenfolge',"
- . "\n kategorie = '$kategorie'"
- . "\n WHERE rangliste_id = $id";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- if ($id == 0)
- $id = $db->insertid();
-
- ranglisteAktualisieren($id);
- einstufungAktualisieren();
-
- redirectSportsManagerURL('&task=admin_uebersicht');
-}
-
-function adminRemoveRangliste() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglisten_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "DELETE FROM #__sportsmanager_einstufung_rangliste WHERE rangliste_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin_punkte WHERE rangliste_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_rangliste_punkte WHERE rangliste_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "UPDATE #__sportsmanager_turnierdisziplin"
- . "\n SET voranmeldungen_rangliste_id = NULL"
- . "\n WHERE voranmeldungen_rangliste_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_rangliste WHERE rangliste_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- ranglisteAktualisieren($id);
- einstufungAktualisieren();
-
- redirectSportsManagerURL('&task=admin_uebersicht');
-}
-
-function adminKopierenRangliste() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglisten_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "SELECT * FROM #__sportsmanager_rangliste WHERE rangliste_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $rangliste = $rows[0];
-
- $query = "INSERT INTO #__sportsmanager_rangliste (saison_id, system_id, streichergebnisse, geschlecht, minalter, maxalter, ohnealter, bezeichnung, erster_tag, letzter_tag, status, reihenfolge, kategorie)"
- . "\n VALUES ('$rangliste->saison_id', " . ($rangliste->system_id == null ? "null" : "'$rangliste->system_id'") . ", '" . $db->escape($rangliste->streichergebnisse) . "', " . ($rangliste->geschlecht == null ? "null" : "'$rangliste->geschlecht'") . ", " . ($rangliste->minalter == null ? "null" : "'$rangliste->minalter'") . ", " . ($rangliste->maxalter == null ? "null" : "'$rangliste->maxalter'") . ", '$rangliste->ohnealter', '" . $db->escape($rangliste->bezeichnung . " (Kopie)") . "', '" . $db->escape($rangliste->erster_tag) . "', '" . $db->escape($rangliste->letzter_tag) . "', '0', '" . $db->escape($rangliste->reihenfolge) . "', '" . $db->escape($rangliste->kategorie) . "');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ziel_rangliste_id = $db->insertid();
-
- // Disziplinen kopieren
-
- $query = "SELECT * FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- foreach ($rows as $row) {
- $query = "INSERT INTO #__sportsmanager_rangliste_turnierdisziplin (rangliste_id, turnierdisziplin_id, system_id, wertung, doppel_teilwertung)"
- . "\n VALUES ($ziel_rangliste_id, '$row->turnierdisziplin_id', " . ($row->system_id == null ? "null" : "'$row->system_id'") . ", '$row->wertung', '$row->doppel_teilwertung');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- redirectSportsManagerURL('&task=admin_uebersicht');
-}
-
-function adminRanglisteTurnierdisziplinen() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglisten_aendern"))
- keinZugriff(true);
-
- $rangliste_id = $jinput->get('rangliste_id', 0, 'INT');
- if ($rangliste_id == 0) die ("Wrong id!");
-
- $query = "SELECT * FROM #__sportsmanager_rangliste WHERE rangliste_id = $rangliste_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ranglisten = $db->loadObjectList();
- if (count($ranglisten) < 1) die ("Wrong id");
- $rangliste = $ranglisten[0];
-
- $query = "SELECT #__sportsmanager_rangliste_turnierdisziplin.*, disziplin, turnierbezeichnung, turnierort, systembezeichnung, beginn"
- . "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
- . "\n LEFT JOIN #__sportsmanager_turnierdisziplin USING (turnierdisziplin_id)"
- . "\n LEFT JOIN #__sportsmanager_turnier USING (turnier_id)"
- . "\n LEFT JOIN #__sportsmanager_rangliste_system ON system_id = rangliste_system_id"
- . "\n WHERE rangliste_id = $rangliste_id"
- . "\n ORDER BY #__sportsmanager_turnier.erster_tag DESC, disziplin";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $turnierdisziplinen = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminRanglisteTurnierdisziplinen($rangliste, $turnierdisziplinen);
-}
-
-function adminEditRanglisteTurnierdisziplin() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglisten_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- $rangliste_id = $jinput->get('rangliste_id', 0, 'INT');
-
- if ($id == 0)
- $ranglisteTurnierdisziplin = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_turnierdisziplin_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $ranglisteTurnierdisziplin = $rows[0];
- }
-
- $query = "SELECT * FROM #__sportsmanager_rangliste WHERE rangliste_id = $rangliste_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ranglisten = $db->loadObjectList();
- if (count($ranglisten) < 1) die ("Wrong id");
- $rangliste = $ranglisten[0];
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_turnierdisziplin, #__sportsmanager_turnier"
- . "\n WHERE #__sportsmanager_turnierdisziplin.turnier_id = #__sportsmanager_turnier.turnier_id";
- if ($rangliste->erster_tag != null)
- $query .= " AND (ISNULL(erster_tag) OR DATEDIFF(erster_tag, '$rangliste->erster_tag') >= -1096" . ($ranglisteTurnierdisziplin != null ? " OR $ranglisteTurnierdisziplin->turnierdisziplin_id = turnierdisziplin_id" : "") . ")";
- if ($rangliste->letzter_tag != null)
- $query .= " AND (ISNULL(erster_tag) OR DATEDIFF('$rangliste->letzter_tag', letzter_Tag) >= -366" . ($ranglisteTurnierdisziplin != null ? " OR $ranglisteTurnierdisziplin->turnierdisziplin_id = turnierdisziplin_id" : "") . ")";
- $query .= "\n ORDER BY erster_tag DESC, turnierbezeichnung, reihenfolge, disziplin";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $turnierdisziplinen = $db->loadObjectList();
-
- $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE status != 0 " . ($id != 0 && $ranglisteTurnierdisziplin->system_id != null ? "OR rangliste_system_id = $ranglisteTurnierdisziplin->system_id " : "") . "ORDER BY systembezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $systeme = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditRanglisteTurnierdisziplin($rangliste, $ranglisteTurnierdisziplin, $turnierdisziplinen, $systeme);
-}
-
-function adminSaveRanglisteTurnierdisziplin() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglisten_aendern"))
- keinZugriff();
-
- $id = $jinput->get('id', 0, 'INT');
- $rangliste_id = $jinput->get('rangliste_id', 0, 'INT');
- $turnierdisziplin_id = $db->escape($jinput->get('turnierdisziplin_id', 0, 'INT'));
- $system_id = $jinput->get('system_id', 0, 'INT');
- $wertung = $jinput->get('wertung', 0, 'RAW');
- $doppel_teilwertung = $jinput->get('doppel_teilwertung', 0, 'RAW');
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_rangliste_turnierdisziplinen&rangliste_id=' . $rangliste_id);
-
- return;
- }
-
- $query = ($id == 0 ? "INSERT" : "UPDATE") . " #__sportsmanager_rangliste_turnierdisziplin"
- . "\n SET rangliste_id = '$rangliste_id',"
- . "\n turnierdisziplin_id = '$turnierdisziplin_id',"
- . "\n system_id = " . ($system_id != 0 ? "'$system_id'" : "NULL") . ","
- . "\n wertung = '" . $db->escape($wertung) . "',"
- . "\n doppel_teilwertung = '" . $db->escape($doppel_teilwertung) . "'";
- if ($id != 0)
- $query .= "\n WHERE rangliste_turnierdisziplin_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- ranglisteAktualisieren($rangliste_id);
- einstufungAktualisieren();
-
- redirectSportsManagerURL('&task=admin_rangliste_turnierdisziplinen&rangliste_id=' . $rangliste_id);
-}
-
-function adminRemoveRanglisteTurnierdisziplin() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglisten_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- $rangliste_id = $jinput->get('rangliste_id', 0, 'INT');
-
- $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- ranglisteAktualisieren($rangliste_id);
- einstufungAktualisieren();
-
- redirectSportsManagerURL('&task=admin_rangliste_turnierdisziplinen&rangliste_id=' . $rangliste_id);
-}
-
-function adminRanglisteDisziplinenEntfernen() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglisten_aendern"))
- keinZugriff(true);
-
- $rangliste_id = $jinput->get('rangliste_id', 0, 'INT');
-
- $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_id = $rangliste_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- ranglisteAktualisieren($rangliste_id);
- einstufungAktualisieren();
-
- redirectSportsManagerURL('&task=admin_rangliste_turnierdisziplinen&rangliste_id=' . $rangliste_id);
-}
-
-function adminRanglisteSystemZuruecksetzen() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("ranglisten_aendern"))
- keinZugriff(true);
-
- $rangliste_id = $jinput->get('rangliste_id', 0, 'INT');
-
- $query = "UPDATE #__sportsmanager_rangliste_turnierdisziplin"
- . "\n SET system_id = NULL,"
- . "\n wertung = 1"
- . "\n WHERE rangliste_id = $rangliste_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- ranglisteAktualisieren($rangliste_id);
- einstufungAktualisieren();
-
- redirectSportsManagerURL('&task=admin_rangliste_turnierdisziplinen&rangliste_id=' . $rangliste_id);
-}
-
-function adminEditSpielerstatistik() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielerstatistiken_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- if ($id == 0)
- $spielerstatistik = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $spielerstatistik = $rows[0];
- }
-
- $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 5 ORDER BY nummer";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows_kategorien = $db->loadObjectList();
-
- $kategorien = array();
- foreach ($rows_kategorien as $kategorie)
- $kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
-
- $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditSpielerstatistik($spielerstatistik, $kategorien, $saisons);
-}
-
-function adminSaveSpielerstatistik() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielerstatistiken_aendern"))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_uebersicht');
-
- return;
- }
-
- $id = $jinput->get('id', 0, 'INT');
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $saison_id = $jinput->get('saison_id', 0, 'INT');
- $erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jinput->get('erster_tag_jahr', 2000, 'INT'), $jinput->get('erster_tag_monat', 1, 'INT'), $jinput->get('erster_tag_tag', 1, 'INT')));
- $letzter_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jinput->get('letzter_tag_jahr', 2000, 'INT'), $jinput->get('letzter_tag_monat', 1, 'INT'), $jinput->get('letzter_tag_tag', 1, 'INT')));
- $tabellenwertung = $jinput->get('tabellenwertung', 0, 'INT');
- $typ = $jinput->get('typ', 0, 'INT');
- $status = $jinput->get('status', 0, 'INT');
- $reihenfolge = $jinput->get('reihenfolge', 0, 'INT');
- $kategorie = $jinput->get('kategorie', 0, 'INT');
- if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_bestenliste (bezeichnung, saison_id, erster_tag, " . ($letzter_tag != null ? "letzter_tag, " : "") . "tabellenwertung, typ, status, reihenfolge, kategorie) VALUES ('$bezeichnung', '$saison_id', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$tabellenwertung', '$typ', '$status', '$reihenfolge', '$kategorie');";
- $spielerstatistik_aktualisieren = false;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $spielerstatistik = $rows[0];
-
- $query = "UPDATE #__sportsmanager_bestenliste"
- . "\n SET bezeichnung = '$bezeichnung',"
- . "\n saison_id = '$saison_id',"
- . "\n erster_tag = '$erster_tag',"
- . "\n letzter_tag = " . ($letzter_tag != null ? "'$letzter_tag'," : "NULL,")
- . "\n tabellenwertung = '$tabellenwertung',"
- . "\n typ = '$typ',"
- . "\n status = '$status',"
- . "\n reihenfolge = '$reihenfolge',"
- . "\n kategorie = '$kategorie'"
- . "\n WHERE bestenliste_id = $id";
-
- if ($spielerstatistik->tabellenwertung != $tabellenwertung || $spielerstatistik->typ != $typ)
- $spielerstatistik_aktualisieren = true;
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- if ($id == 0)
- $id = $db->insertid();
-
- if ($spielerstatistik_aktualisieren)
- spielerstatistikAktualisieren($id);
-
- redirectSportsManagerURL('&task=admin_uebersicht');
-}
-
-function adminRemoveSpielerstatistik() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielerstatistiken_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "DELETE FROM #__sportsmanager_bestenliste_punkte WHERE bestenliste_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_bestenliste_veranstaltung WHERE bestenliste_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE bestenliste_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- redirectSportsManagerURL('&task=admin_uebersicht');
-}
-
-function adminKopierenSpielerstatistik() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielerstatistiken_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $spielerstatistik = $rows[0];
-
- $query = "INSERT INTO #__sportsmanager_bestenliste (saison_id, bezeichnung, tabellenwertung, typ, erster_tag, letzter_tag, status, reihenfolge, kategorie)"
- . "\n VALUES ('$spielerstatistik->saison_id', '" . $db->escape($spielerstatistik->bezeichnung . " (Kopie)") . "', '$spielerstatistik->tabellenwertung', '$spielerstatistik->typ', '" . $db->escape($spielerstatistik->erster_tag) . "', '" . $db->escape($spielerstatistik->letzter_tag) . "', '0', '" . $db->escape($spielerstatistik->reihenfolge) . "', '" . $db->escape($spielerstatistik->kategorie) . "');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ziel_spielerstatistik_id = $db->insertid();
-
- $query = "SELECT * FROM #__sportsmanager_bestenliste_veranstaltung WHERE bestenliste_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- foreach ($rows as $row) {
- $query = "INSERT INTO #__sportsmanager_bestenliste_veranstaltung (bestenliste_id, veranstaltung_id)"
- . "\n VALUES ($ziel_spielerstatistik_id, $row->veranstaltung_id);";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- $query = "SELECT * FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE bestenliste_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- foreach ($rows as $row) {
- $query = "INSERT INTO #__sportsmanager_bestenliste_individualwettbewerb (bestenliste_id, individualwettbewerb_id)"
- . "\n VALUES ($ziel_spielerstatistik_id, $row->individualwettbewerb_id);";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- spielerstatistikAktualisieren($ziel_spielerstatistik_id);
-
- redirectSportsManagerURL('&task=admin_uebersicht');
-}
-
-function adminSpielerstatistikVeranstaltungen() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielerstatistiken_aendern"))
- keinZugriff(true);
-
- $spielerstatistik_id = $jinput->get('spielerstatistik_id', 0, 'INT');
- if ($spielerstatistik_id == 0) die ("Wrong id!");
-
- $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $spielerstatistik_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spielerstatistiken = $db->loadObjectList();
- if (count($spielerstatistiken) < 1) die ("Wrong id");
- $spielerstatistik = $spielerstatistiken[0];
-
- $query = "SELECT #__sportsmanager_bestenliste_veranstaltung.*, bezeichnung, erster_tag, letzter_tag, saisonbezeichnung"
- . "\n FROM #__sportsmanager_bestenliste_veranstaltung"
- . "\n LEFT JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
- . "\n LEFT JOIN #__sportsmanager_saison ON #__sportsmanager_saison.saison_id = #__sportsmanager_veranstaltung.saison_id"
- . "\n WHERE bestenliste_id = $spielerstatistik_id"
- . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
-
- $query = "SELECT #__sportsmanager_bestenliste_individualwettbewerb.*, bezeichnung, saisonbezeichnung"
- . "\n FROM #__sportsmanager_bestenliste_individualwettbewerb"
- . "\n LEFT JOIN #__sportsmanager_individualwettbewerb USING (individualwettbewerb_id)"
- . "\n LEFT JOIN #__sportsmanager_saison ON #__sportsmanager_saison.saison_id = #__sportsmanager_individualwettbewerb.saison_id"
- . "\n WHERE bestenliste_id = $spielerstatistik_id"
- . "\n ORDER BY saisonbezeichnung, reihenfolge, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $individualwettbewerbe = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminSpielerstatistikVeranstaltungen($spielerstatistik, $veranstaltungen, $individualwettbewerbe);
-}
-
-function adminEditSpielerstatistikVeranstaltung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielerstatistiken_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- $spielerstatistik_id = $jinput->get('spielerstatistik_id', 0, 'INT');
-
- if ($id == 0)
- $spielerstatistikVeranstaltung = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_bestenliste_veranstaltung WHERE bestenliste_veranstaltung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $spielerstatistikVeranstaltung = $rows[0];
- }
-
- $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $spielerstatistik_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spielerstatistiken = $db->loadObjectList();
- if (count($spielerstatistiken) < 1) die ("Wrong id");
- $spielerstatistik = $spielerstatistiken[0];
-
- $query = "SELECT * FROM #__sportsmanager_veranstaltung";
- if ($spielerstatistik->erster_tag != null)
- $query .= "\n WHERE (ISNULL(erster_tag) OR DATEDIFF(erster_tag, '$spielerstatistik->erster_tag') >= -1096" . ($spielerstatistikVeranstaltung != null ? " OR $spielerstatistikVeranstaltung->veranstaltung_id = veranstaltung_id" : "") . ")";
- if ($spielerstatistik->letzter_tag != null)
- $query .= ($spielerstatistik->erster_tag != null ? " AND" : "\n WHERE") . " (ISNULL(erster_tag) OR DATEDIFF('$spielerstatistik->letzter_tag', letzter_Tag) >= -366" . ($spielerstatistikVeranstaltung != null ? " OR $spielerstatistikVeranstaltung->veranstaltung_id = veranstaltung_id" : "") . ")";
- $query .= "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditSpielerstatistikVeranstaltung($spielerstatistik, $spielerstatistikVeranstaltung, $veranstaltungen);
-}
-
-function adminSaveSpielerstatistikVeranstaltung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielerstatistiken_aendern"))
- keinZugriff();
-
- $id = $jinput->get('id', 0, 'INT');
- $spielerstatistik_id = $jinput->get('spielerstatistik_id', 0, 'INT');
- $veranstaltung_id = $jinput->get('veranstaltung_id', 0, 'INT');
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
-
- return;
- }
-
- $query = ($id == 0 ? "INSERT" : "UPDATE") . " #__sportsmanager_bestenliste_veranstaltung"
- . "\n SET bestenliste_id = '$spielerstatistik_id',"
- . "\n veranstaltung_id = '$veranstaltung_id'";
- if ($id != 0)
- $query .= "\n WHERE bestenliste_veranstaltung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- spielerstatistikAktualisieren($spielerstatistik_id);
-
- redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
-}
-
-function adminRemoveSpielerstatistikVeranstaltung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielerstatistiken_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- $spielerstatistik_id = $jinput->get('spielerstatistik_id', 0, 'INT');
-
- $query = "DELETE FROM #__sportsmanager_bestenliste_veranstaltung WHERE bestenliste_veranstaltung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- spielerstatistikAktualisieren($spielerstatistik_id);
-
- redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
-}
-
-function adminEditSpielerstatistikIndividualwettbewerb() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielerstatistiken_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- $spielerstatistik_id = $jinput->get('spielerstatistik_id', 0, 'INT');
-
- if ($id == 0)
- $spielerstatistikIndividualwettbewerb = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE bestenliste_individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $spielerstatistikIndividualwettbewerb = $rows[0];
- }
-
- $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $spielerstatistik_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spielerstatistiken = $db->loadObjectList();
- if (count($spielerstatistiken) < 1) die ("Wrong id");
- $spielerstatistik = $spielerstatistiken[0];
-
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb"
- . "\n LEFT JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $individualwettbewerbe = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditSpielerstatistikIndividualwettbewerb($spielerstatistik, $spielerstatistikIndividualwettbewerb, $individualwettbewerbe);
-}
-
-function adminSaveSpielerstatistikIndividualwettbewerb() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielerstatistiken_aendern"))
- keinZugriff();
-
- $id = $jinput->get('id', 0, 'INT');
- $spielerstatistik_id = $jinput->get('spielerstatistik_id', 0, 'INT');
- $individualwettbewerb_id = $jinput->get('individualwettbewerb_id', 0, 'INT');
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
-
- return;
- }
-
- $query = ($id == 0 ? "INSERT" : "UPDATE") . " #__sportsmanager_bestenliste_individualwettbewerb"
- . "\n SET bestenliste_id = '$spielerstatistik_id',"
- . "\n individualwettbewerb_id = '$individualwettbewerb_id'";
- if ($id != 0)
- $query .= "\n WHERE bestenliste_individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- spielerstatistikAktualisieren($spielerstatistik_id);
-
- redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
-}
-
-function adminRemoveSpielerstatistikIndividualwettbewerb() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("spielerstatistiken_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- $spielerstatistik_id = $jinput->get('spielerstatistik_id', 0, 'INT');
-
- $query = "DELETE FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE bestenliste_individualwettbewerb_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- spielerstatistikAktualisieren($spielerstatistik_id);
-
- redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
-}
-
-function adminSpielerstatistikVeranstaltungenEntfernen() {
- $db = getDatabase();
-
- if (!benutzerZugriff("spielerstatistiken_aendern"))
- keinZugriff(true);
-
- $spielerstatistik_id = $jinput->get('spielerstatistik_id', 0, 'INT');
-
- $query = "DELETE FROM #__sportsmanager_bestenliste_veranstaltung WHERE bestenliste_id = $spielerstatistik_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE bestenliste_id = $spielerstatistik_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- spielerstatistikAktualisieren($spielerstatistik_id);
-
- redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
-}
-
-function adminModeratoren() {
- $db = getDatabase();
-
- if (!benutzerZugriff("moderatoren_aendern"))
- keinZugriff(true);
-
- $query = "SELECT t1.moderator_id, t1.moderator_user_id, t2.name, t2.username, (SELECT COUNT(*) FROM #__sportsmanager_moderator_zugriff WHERE #__sportsmanager_moderator_zugriff.moderator_id = t1.moderator_id) AS zugriffe FROM #__sportsmanager_moderator as t1 LEFT JOIN #__users AS t2 ON t1.moderator_user_id=t2.id ORDER BY name, username";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminModeratoren($rows);
-}
-
-function adminEditModerator() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("moderatoren_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $row = null;
- if ($id != 0) {
- $query = "SELECT * FROM #__sportsmanager_moderator WHERE moderator_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
- }
-
- if (empty($id)) {
- $zugriffe = null;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_moderator_zugriff WHERE moderator_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $zugriffe = $db->loadObjectList();
- }
-
- $query = "SELECT * FROM #__users ORDER BY name, username";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $users = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditModerator($row, $zugriffe, $users);
-}
-
-function adminSaveModerator() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("moderatoren_aendern"))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_moderatoren');
-
- return;
- }
-
- $id = $jinput->get('id', 0, 'INT');
- $userid = $jinput->get('userid', 0, 'INT');
- $zugriffe = $jinput->get('zugriffe', array(), 'ARRAY');
-
- if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_moderator (moderator_user_id)"
- . "\n VALUES ('$userid');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $query = "UPDATE #__sportsmanager_moderator"
- . "\n SET moderator_user_id = '$userid'"
- . "\n WHERE moderator_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- $query = "SELECT * FROM #__sportsmanager_moderator_zugriff WHERE moderator_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $alte_zugriffe = $db->loadObjectList();
-
- foreach ($alte_zugriffe as $alter_zugriff) {
- if (!in_array($alter_zugriff->zugriff, $zugriffe)) {
- $alter_zugriff_id = $alter_zugriff->moderator_zugriff_id;
- $query = "DELETE FROM #__sportsmanager_moderator_zugriff WHERE moderator_zugriff_id = $alter_zugriff_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else {
- $index = array_search($alter_zugriff->zugriff, $zugriffe);
- if ($index !== false) {
- unset($zugriffe[$index]);
- }
- }
- }
-
- foreach ($zugriffe as $zugriff) {
- $query = "INSERT #__sportsmanager_moderator_zugriff"
- . "\n SET moderator_id = '$id',"
- . "\n zugriff = '$zugriff',"
- . "\n zusatz = ''";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- redirectSportsManagerURL('&task=admin_moderatoren');
-}
-
-function adminRemoveModerator() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("moderatoren_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "DELETE FROM #__sportsmanager_moderator WHERE moderator_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_moderator_zugriff WHERE moderator_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- redirectSportsManagerURL('&task=admin_moderatoren');
-}
-
-function adminVeranstalter() {
- $db = getDatabase();
-
- if (!benutzerZugriff("organisationen_aendern"))
- keinZugriff(true);
-
- $query = "SELECT *,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_veranstaltung WHERE #__sportsmanager_veranstalter.veranstalter_id = #__sportsmanager_veranstaltung.veranstalter_id) AS veranstaltungen,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_verein WHERE #__sportsmanager_veranstalter.veranstalter_id = #__sportsmanager_verein.veranstalter_id) AS vereine,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_turnier WHERE #__sportsmanager_veranstalter.veranstalter_id = #__sportsmanager_turnier.veranstalter_id) AS turniere,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_individualwettbewerb WHERE #__sportsmanager_veranstalter.veranstalter_id = #__sportsmanager_individualwettbewerb.veranstalter_id) AS individualwettbewerbe"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminVeranstalter($rows);
-}
-
-function adminEditVeranstalter() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("organisationen_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- if ($id == 0) {
- $row = null;
- $berechtigt_fuer_veranstalter = array();
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 1)
- $row = $rows[0];
-
- $query = "SELECT #__sportsmanager_berechtigt_fuer_veranstalter.* FROM #__sportsmanager_berechtigt_fuer_veranstalter, #__users WHERE berechtigt_user_id = id AND berechtigt_veranstalter_id = $id ORDER BY username, name";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $berechtigt_fuer_veranstalter = $db->loadObjectList();
- }
-
- $query = "SELECT * FROM #__users ORDER BY name, username";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $users = $db->loadObjectList();
-
- $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 1 ORDER BY nummer";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows_kategorien = $db->loadObjectList();
-
- $kategorien = array();
- foreach ($rows_kategorien as $kategorie)
- $kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
-
- HTML_sportsmanager_admin::adminEditVeranstalter($row, $berechtigt_fuer_veranstalter, $users, $kategorien);
-}
-
-function adminSaveVeranstalter() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("organisationen_aendern"))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_veranstalter');
-
- return;
- }
-
- $id = $jinput->get('id', 0, 'INT');
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $kuerzel = $db->escape(trim($jinput->get('kuerzel', '', 'RAW')));
- $kategorie = $jinput->get('kategorie', 0, 'INT');
-
- $berechtigt_fuer_veranstalter_user_ids = array($jinput->get('berechtigt_fuer_veranstalter_user_1_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_veranstalter_user_2_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_veranstalter_user_3_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_veranstalter_user_4_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_veranstalter_user_5_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_veranstalter_user_6_id', 0, 'INT'));
-
- if ($id == 0)
- $query = "INSERT INTO #__sportsmanager_veranstalter (veranstalterbezeichnung, veranstalterkuerzel, kategorie) VALUES ('$bezeichnung', '$kuerzel', '$kategorie');";
- else {
- $query = "UPDATE #__sportsmanager_veranstalter"
- . "\n SET veranstalterbezeichnung = '$bezeichnung',"
- . "\n veranstalterkuerzel = '$kuerzel',"
- . "\n kategorie = '$kategorie'"
- . "\n WHERE veranstalter_id = $id";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- if ($id == 0)
- $id = $db->insertid();
-
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_veranstalter WHERE berechtigt_veranstalter_id = $id AND berechtigt_user_id != $berechtigt_fuer_veranstalter_user_ids[0] AND berechtigt_user_id != $berechtigt_fuer_veranstalter_user_ids[1] AND berechtigt_user_id != $berechtigt_fuer_veranstalter_user_ids[2] AND berechtigt_user_id != $berechtigt_fuer_veranstalter_user_ids[3] AND berechtigt_user_id != $berechtigt_fuer_veranstalter_user_ids[4] AND berechtigt_user_id != $berechtigt_fuer_veranstalter_user_ids[5];";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_veranstalter WHERE berechtigt_veranstalter_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- for ($nummer = 0; $nummer <= 5; $nummer++) {
- $berechtigt_user_id = $berechtigt_fuer_veranstalter_user_ids[$nummer];
- if ($berechtigt_user_id != 0) {
- $gefunden = false;
- foreach ($rows as $row) {
- if ($row->berechtigt_user_id == $berechtigt_user_id)
- $gefunden = true;
- }
- if (!$gefunden) {
- $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_veranstalter (berechtigt_user_id, berechtigt_veranstalter_id) VALUES ('$berechtigt_user_id', '$id');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
-
- redirectSportsManagerURL('&task=admin_veranstalter');
-}
-
-function adminRemoveVeranstalter() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("organisationen_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstalter_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_verein WHERE veranstalter_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turnier WHERE veranstalter_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb WHERE veranstalter_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
-
- $query = "UPDATE #__sportsmanager_rechnung SET veranstalter_id = NULL WHERE veranstalter_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_veranstalter WHERE berechtigt_veranstalter_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- redirectSportsManagerURL('&task=admin_veranstalter');
-}
-
-function adminSaisons() {
- $db = getDatabase();
-
- if (!benutzerZugriff("saisons_aendern"))
- keinZugriff(true);
-
- $query = "SELECT *,"
- . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_veranstaltung WHERE #__sportsmanager_veranstaltung.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS veranstaltungen,"
- . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_turnier WHERE #__sportsmanager_turnier.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS turniere,"
- . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_rangliste WHERE #__sportsmanager_rangliste.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS ranglisten,"
- . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_bestenliste WHERE #__sportsmanager_bestenliste.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS bestenlisten"
- . "\n FROM #__sportsmanager_saison"
- . "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminSaisons($rows);
-}
-
-function adminEditSaison() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("saisons_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- if ($id == 0)
- $row = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_saison WHERE saison_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
- }
-
- HTML_sportsmanager_admin::adminEditSaison($row);
-}
-
-function adminSaveSaison() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("saisons_aendern"))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_saisons');
-
- return;
- }
-
- $id = $jinput->get('id', 0, 'INT');
- $saisonbezeichnung = $db->escape(trim($jinput->get('saisonbezeichnung', '', 'RAW')));
-
- if ($id == 0)
- $query = "INSERT INTO #__sportsmanager_saison (saisonbezeichnung) VALUES ('$saisonbezeichnung');";
- else {
- $query = "UPDATE #__sportsmanager_saison"
- . "\n SET saisonbezeichnung = '$saisonbezeichnung'"
- . "\n WHERE saison_id = $id";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- redirectSportsManagerURL('&task=admin_saisons');
-}
-
-function adminRemoveSaison() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("saisons_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "SELECT *,"
- . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_veranstaltung WHERE #__sportsmanager_veranstaltung.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS veranstaltungen,"
- . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_turnier WHERE #__sportsmanager_turnier.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS turniere,"
- . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_rangliste WHERE #__sportsmanager_rangliste.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS ranglisten,"
- . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_bestenliste WHERE #__sportsmanager_bestenliste.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS bestenlisten"
- . "\n FROM #__sportsmanager_saison"
- . "\n WHERE saison_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- $row = $rows[0];
- if ($row->veranstaltungen != 0 || $row->turniere != 0 || $row->ranglisten != 0 || $row->bestenlisten != 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
-
- $query = "DELETE FROM #__sportsmanager_saison WHERE saison_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
-
- redirectSportsManagerURL('&task=admin_saisons');
-}
-
-function adminEditVeranstaltung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $id = $jinput->get('id', 0, 'INT');
- if (!benutzerZugriff("mannschaftswettbewerb_aendern"))
- keinZugriff(true);
-
- if ($id == 0)
- $row = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
- }
- $vorlage = $jinput->get('vorlage', 0, 'INT');
-
- $query = "SELECT * FROM #__sportsmanager_veranstalter ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
-
- $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE status != 0 " . ($id != 0 ? "OR teamspiel_modus_id = $row->modus_id " : "") . "ORDER BY bezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spielmodi = $db->loadObjectList();
-
- $query = "SELECT * FROM #__sportsmanager_verschieberegel ORDER BY bezeichnung"; // WHERE status != 0 " . ($id != 0 ? "OR teamspiel_modus_id = $row->modus_id " : "") . "ORDER BY bezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $verschieberegeln = $db->loadObjectList();
-
- $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 2 ORDER BY nummer";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows_kategorien = $db->loadObjectList();
-
- $kategorien = array();
- foreach ($rows_kategorien as $kategorie)
- $kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
-
- $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
-
- if (empty($id)) {
- $berechtigt_fuer_veranstaltung = array();
- }
- else {
- $query = "SELECT #__sportsmanager_berechtigt_fuer_veranstaltung.* FROM #__sportsmanager_berechtigt_fuer_veranstaltung, #__users WHERE berechtigt_user_id = id AND berechtigt_veranstaltung_id = $id ORDER BY username, name";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $berechtigt_fuer_veranstaltung = $db->loadObjectList();
- }
-
- $query = "SELECT * FROM #__users ORDER BY name, username";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $users = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditVeranstaltung($row, $veranstalter, $spielmodi, $verschieberegeln, $kategorien, $saisons, $users, $berechtigt_fuer_veranstaltung, $vorlage);
-}
-
-function adminSaveVeranstaltung() {
- $db = getDatabase();
- global $_FILES;
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern"))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_uebersicht');
-
- return;
- }
-
- $vorlage = $jinput->get('vorlage', 0, 'INT');
- $id = $vorlage ? 0 : $jinput->get('id', 0, 'INT');
- $veranstalterid = $jinput->get('veranstalterid', 0, 'INT');
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $saison_id = $jinput->get('saison_id', 0, 'INT');
- $erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jinput->get('erster_tag_jahr', 2000, 'INT'), $jinput->get('erster_tag_monat', 1, 'INT'), $jinput->get('erster_tag_tag', 1, 'INT')));
- $letzter_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jinput->get('letzter_tag_jahr', 2000, 'INT'), $jinput->get('letzter_tag_monat', 1, 'INT'), $jinput->get('letzter_tag_tag', 1, 'INT')));
- $modus_id = $jinput->get('modus_id', 0, 'INT');
- $verschieberegel_id = $jinput->get('verschieberegel_id', 0, 'INT');
- $tabellenwertung = $jinput->get('tabellenwertung', 0, 'INT');
- $unterteilung = $jinput->get('unterteilung', 0, 'INT');
- $elo_wertung = $jinput->get('elo_wertung', 0, 'INT');
- $logo_url = $db->escape(trim($jinput->get('logo_url', '', 'RAW')));
- $ticker_logo_url = $db->escape(trim($jinput->get('ticker_logo_url', '', 'RAW')));
- $status = $jinput->get('status', 0, 'INT');
- $reihenfolge = $jinput->get('reihenfolge', 0, 'INT');
- $kategorie = $jinput->get('kategorie', 0, 'INT');
- $bildbeibehalten_logo = $jinput->get('bildbeibehalten_logo', 0, 'INT');
- $bildbeibehalten_ticker_logo = $jinput->get('bildbeibehalten_ticker_logo', 0, 'INT');
- $aktualisieren_ab_datum = $erster_tag;
- $berechtigt_fuer_veranstaltung_user_ids = array();
- for ($i = 1; $i <= 6; $i++) {
- $berechtigt_user_id = $jinput->get('berechtigt_fuer_veranstaltung_user_' . $i . '_id', 0, 'INT');
- if (!empty($berechtigt_user_id) && !in_array($berechtigt_user_id, $berechtigt_fuer_veranstaltung_user_ids))
- array_push($berechtigt_fuer_veranstaltung_user_ids, $berechtigt_user_id);
- }
-
- $elo_aktualisieren = false;
- $spielerstatistik_aktualisieren = false;
- if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_veranstaltung (veranstalter_id, saison_id, bezeichnung, erster_tag, " . ($letzter_tag != null ? "letzter_tag, " : "") . "modus_id, verschieberegel_id, tabellenwertung, unterteilung, elo_wertung, logo_url, ticker_logo_url, status, reihenfolge, kategorie) VALUES
- ('$veranstalterid', '$saison_id', '$bezeichnung', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$modus_id', '$verschieberegel_id', '$tabellenwertung', '$unterteilung', '$elo_wertung', '$logo_url', '$ticker_logo_url', '$status', '$reihenfolge', '$kategorie');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- redirectSportsManagerURL('&task=admin_uebersicht', "Die Veranstaltung existiert nicht mehr!");
- return;
- }
- $row = $rows[0];
-
- if (!empty($row->erster_tag) && $row->erster_tag < $erster_tag)
- $aktualisieren_ab_datum = $erster_tag;
-
- $query = "UPDATE #__sportsmanager_veranstaltung"
- . "\n SET veranstalter_id = '$veranstalterid',"
- . "\n bezeichnung = '$bezeichnung',"
- . "\n saison_id = '$saison_id',"
- . "\n erster_tag = '$erster_tag',"
- . "\n letzter_tag = " . ($letzter_tag != null ? "'$letzter_tag'," : "NULL,")
- . "\n modus_id = '$modus_id',"
- . "\n verschieberegel_id = '$verschieberegel_id',"
- . "\n tabellenwertung = '$tabellenwertung',"
- . "\n unterteilung = '$unterteilung',"
- . "\n elo_wertung = '$elo_wertung',"
- . "\n logo_url = '$logo_url',"
- . "\n ticker_logo_url = '$ticker_logo_url',"
- . "\n status = '$status',"
- . "\n reihenfolge = '$reihenfolge',"
- . "\n kategorie = '$kategorie'"
- . "\n WHERE veranstaltung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- if (($elo_wertung != 0 && $status != 0) != ($row->elo_wertung != 0 && $row->status != 0))
- $elo_aktualisieren = true;
- if ((($modus_id != 0 || $row->modus_id != 0) && $status != $row->status)
- || (($status != 0 || $row->status != 0) && $modus_id != $row->modus_id))
- $spielerstatistik_aktualisieren = true;
- }
-
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_veranstaltung WHERE berechtigt_veranstaltung_id = $id";
- if (!empty($berechtigt_fuer_veranstaltung_user_ids))
- $query .= " AND berechtigt_user_id NOT IN (" . implode(", ", $berechtigt_fuer_veranstaltung_user_ids) . ")";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_veranstaltung WHERE berechtigt_veranstaltung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- foreach ($rows as $row) {
- $index = array_search($row->berechtigt_user_id, $berechtigt_fuer_veranstaltung_user_ids);
- if ($index !== false) {
- unset($berechtigt_fuer_veranstaltung_user_ids[$index]);
- }
- }
-
- foreach ($berechtigt_fuer_veranstaltung_user_ids as $berechtigt_user_id) {
- $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_veranstaltung (berechtigt_user_id, berechtigt_veranstaltung_id) VALUES ('$berechtigt_user_id', '$id');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- if ($elo_aktualisieren) {
- eloAktualisieren($aktualisieren_ab_datum);
- einstufungAktualisieren();
- }
-
- teamstatistikAktualisieren($id);
-
- if ($spielerstatistik_aktualisieren) {
- begegnungenAktualisieren($id, 0);
- spielerstatistikAktualisieren(0, $id);
- }
-
- if ($bildbeibehalten_ticker_logo == 0) {
- bildLoeschen("mannschaftswettbewerbe/ticker_logo", $id);
-
- if (!empty($_FILES["bild_ticker_logo"]["tmp_name"])) {
- if (is_uploaded_file($_FILES["bild_ticker_logo"]["tmp_name"])) {
- $size = getimagesize($_FILES["bild_ticker_logo"]["tmp_name"]);
- if ($size == false
- || ($size[2] != IMAGETYPE_JPEG && $size[2] != IMAGETYPE_PNG)
- || ($size[0] > 8192 || $size[1] > 8192)) {
- redirectSportsManagerURL('&task=admin_ubersicht', "Das Bild wurde nicht gespeichert, da es nicht im JPG/PNG-Format mit maximal 8192*8192 Bildpunkten vorliegt.");
-
- return;
- }
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftswettbewerbe';
- if (!JFile::copy($_FILES["bild_ticker_logo"]["tmp_name"], $bilder_pfad . DIRECTORY_SEPARATOR . 'ticker_logo' . $id . ($size[2] == IMAGETYPE_PNG ? '.png' : '.jpg'))) {
- redirectSportsManagerURL('&task=admin_uebersicht', "Das Bild konnte nicht an die Zielposition kopiert werden.");
-
- return;
- }
- }
- }
- }
-
- redirectSportsManagerURL('&task=admin_uebersicht');
-}
-
-function adminRemoveVeranstaltung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern"))
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_team WHERE veranstaltung_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
-
- $query = "DELETE FROM #__sportsmanager_bestenliste_veranstaltung WHERE veranstaltung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_veranstaltung WHERE berechtigt_veranstaltung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- spielerstatistikAktualisieren(0, $id);
-
- bildLoeschen("mannschaftswettbewerbe/logo", $id);
- bildLoeschen("mannschaftswettbewerbe/ticker_logo", $id);
-
- redirectSportsManagerURL('&task=admin_uebersicht');
-}
-
-function adminMannschaften() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
-
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
-
- $query = "SELECT #__sportsmanager_team.*, #__sportsmanager_verein.vereinsname, #__sportsmanager_spielort.*,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_team.team_id = #__sportsmanager_mitglied_von_team.team_id AND NOT ausgetreten) AS mitglieder_aktiv,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_team.team_id = #__sportsmanager_mitglied_von_team.team_id) AS mitglieder,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung WHERE heim_team_id = #__sportsmanager_team.team_id OR gast_team_id = #__sportsmanager_team.team_id) AS begegnungen"
- . "\n FROM #__sportsmanager_team"
- . "\n LEFT JOIN #__sportsmanager_verein ON #__sportsmanager_verein.verein_id = #__sportsmanager_team.verein_id"
- . "\n LEFT JOIN #__sportsmanager_spielort ON #__sportsmanager_spielort.spielort_id = #__sportsmanager_team.heimspielort_id"
- . "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungid"
- . "\n ORDER BY teamname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminMannschaften($veranstaltung, $rows);
-}
-
-function adminEditMannschaft() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $id = $jinput->get('id', 0, 'INT');
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
-
- if ($id == 0) {
- $row = null;
- $berechtigt_fuer_team = null;
- $teamansprechpartner = null;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 1)
- $row = $rows[0];
-
- if ($veranstaltungid != $row->veranstaltung_id)
- die("Wrong id!");
-
- $query = "SELECT t1.* FROM #__sportsmanager_berechtigt_fuer_team AS t1, #__users AS t2 WHERE t1.berechtigt_user_id = t2.id AND berechtigt_team_id = $id ORDER BY username, name";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $berechtigt_fuer_team = $db->loadObjectList();
-
- $query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $id ORDER BY kontaktperson_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teamansprechpartner = $db->loadObjectList();
- }
-
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
-
- $query = "SELECT verein_id, vereinsname, veranstalterbezeichnung, ausgetreten"
- . "\n FROM #__sportsmanager_verein"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n WHERE NOT ausgetreten" . (!empty($row) && !empty($row->verein_id) ? " OR verein_id = $row->verein_id" : "")
- . "\n ORDER BY veranstalterbezeichnung, vereinsname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
-
- $query = "SELECT * FROM #__users ORDER BY name, username";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $users = $db->loadObjectList();
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_spielort"
- . "\n ORDER BY ortsname, name, ortsteil";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spielorte = $db->loadObjectList();
-
- $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
- if ($beschraenkter_zugriff_veranstaltungen) {
- if (empty($id) || empty($row->teamgruppe_id)) {
- $query = "SELECT veranstaltung_id, bezeichnung, erster_tag, letzter_tag, saison_id, IF(" . veranstaltungFilter("veranstaltung_id IN") . ", 1, 0) AS veranstaltung_moderator"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n WHERE veranstaltung_id != $veranstaltung->veranstaltung_id AND saison_id = $veranstaltung->saison_id AND " . veranstaltungFilter("veranstaltung_id IN")
- . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- }
- else {
- $query = "SELECT DISTINCT veranstaltung_id, bezeichnung, erster_tag, letzter_tag, saison_id, team_id, team_begegnungen, IF(" . veranstaltungFilter("veranstaltung_id IN") . ", 1, 0) AS veranstaltung_moderator"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n LEFT JOIN (SELECT veranstaltung_id, team_id, IF(EXISTS(SELECT * FROM #__sportsmanager_begegnung WHERE heim_team_id = team_id OR gast_team_id = team_id), 1, 0) AS team_begegnungen FROM #__sportsmanager_team WHERE teamgruppe_id = $row->teamgruppe_id) AS veranstaltungen USING (veranstaltung_id)"
- . "\n WHERE veranstaltung_id != $veranstaltung->veranstaltung_id AND ((saison_id = $veranstaltung->saison_id AND " . veranstaltungFilter("veranstaltung_id IN") . ") OR NOT ISNULL(team_id))"
- . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- }
- }
- else {
- if (empty($id) || empty($row->teamgruppe_id)) {
- $query = "SELECT veranstaltung_id, bezeichnung, erster_tag, letzter_tag, saison_id"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n WHERE veranstaltung_id != $veranstaltung->veranstaltung_id AND saison_id = $veranstaltung->saison_id"
- . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- }
- else {
- $query = "SELECT DISTINCT veranstaltung_id, bezeichnung, erster_tag, letzter_tag, saison_id, team_id, team_begegnungen"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n LEFT JOIN (SELECT veranstaltung_id, team_id, IF(EXISTS(SELECT * FROM #__sportsmanager_begegnung WHERE heim_team_id = team_id OR gast_team_id = team_id), 1, 0) AS team_begegnungen FROM #__sportsmanager_team WHERE teamgruppe_id = $row->teamgruppe_id) AS veranstaltungen USING (veranstaltung_id)"
- . "\n WHERE veranstaltung_id != $veranstaltung->veranstaltung_id AND (saison_id = $veranstaltung->saison_id OR NOT ISNULL(team_id))"
- . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- }
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditMannschaft($veranstaltung, $row, $veranstaltungen, $vereine, $users, $berechtigt_fuer_team, $teamansprechpartner, $spielorte, $beschraenkter_zugriff_veranstaltungen);
-}
-
-function adminSaveMannschaft() {
- $db = getDatabase();
- global $_FILES;
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
-
- $id = $jinput->get('id', 0, 'INT');
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltung_id))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungid);
-
- return;
- }
-
- $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
- $beschraenkter_zugriff_veranstaltungen_ids = $beschraenkter_zugriff_veranstaltungen ? benutzerVeranstaltungIdsModerator() : null;
-
- $teamname = $db->escape(trim($jinput->get('teamname', '', 'RAW')));
- $platz = $jinput->get('platz', 0, 'INT');
- $verein_id = $jinput->get('verein_id', 0, 'INT');
- $tischtyp = $db->escape(trim($jinput->get('tischtyp', '', 'RAW')));
- $tischeigenschaften = $db->escape(trim($jinput->get('tischeigenschaften', '', 'RAW')));
- $heimspiel_wochentag = $jinput->get('heimspiel_wochentag', 0, 'INT');
- $heimspiel_uhrzeit = sprintf("%02d%02d", $jinput->get('heimspiel_uhrzeit_stunden', 0, 'INT'), $jinput->get('heimspiel_uhrzeit_minuten', 0, 'INT'));
- $heimspielort_id = $jinput->get('heimspielort_id', 0, 'INT');
- $nichtraucherschutz = $jinput->get('nichtraucherschutz', 0, 'INT');
- $zusatzpunkte = $jinput->get('zusatzpunkte', 0, 'FLOAT');
- $bildbeibehalten = $jinput->get('bildbeibehalten', 0, 'INT');
-
- $berechtigt_fuer_team_user_ids = array($jinput->get('berechtigt_fuer_team_user_1_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_team_user_2_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_team_user_3_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_team_user_4_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_team_user_5_id', 0, 'INT'),
- $jinput->get('berechtigt_fuer_team_user_6_id', 0, 'INT'));
- $pin = $db->escape(trim($jinput->get('pin', '', 'RAW')));
-
- $weitere_veranstaltungen_anzahl = $jinput->get('weitere_veranstaltungen_anzahl', 0, 'INT');
- $weitere_veranstaltungen_beruecksichtigt = array();
- for ($i = 0; $i < $weitere_veranstaltungen_anzahl; $i++) {
- $weitere_veranstaltung_id = $jinput->get('weitere_veranstaltung_id_' . $i, 0, 'INT');
- if ($weitere_veranstaltung_id != 0 && !in_array($weitere_veranstaltung_id, $weitere_veranstaltungen_beruecksichtigt))
- array_push($weitere_veranstaltungen_beruecksichtigt, $weitere_veranstaltung_id);
- }
-
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
-
- if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, zusatzpunkte" . ($veranstaltung->tabellenwertung == -2 ? ", platz" : "") . ", pin)"
- . "\n VALUES (" . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ", '$veranstaltungid', '$teamname', '$tischtyp', '$tischeigenschaften', '$heimspiel_wochentag', '$heimspiel_uhrzeit', " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ", '$nichtraucherschutz', '$zusatzpunkte'" . ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? ", '$platz'" : ", NULL") : "") . ", '$pin');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- $teamgruppe_id = $id;
- $team_alt = null;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_team"
- . "\n WHERE team_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) == 0) die("Wrong id!");
- $team_alt = $teams[0];
- $teamgruppe_id = $team_alt->teamgruppe_id != null ? $team_alt->teamgruppe_id : $id;
-
- if ($veranstaltungid != $team_alt->veranstaltung_id)
- die("Wrong id!");
-
- $query = "UPDATE #__sportsmanager_team"
- . "\n SET verein_id = " . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ","
- . "\n teamname = '$teamname',"
- . "\n tischtyp = '$tischtyp',"
- . "\n tischeigenschaften = '$tischeigenschaften',"
- . "\n heimspiel_wochentag = '$heimspiel_wochentag',"
- . "\n heimspiel_uhrzeit = '$heimspiel_uhrzeit',"
- . "\n heimspielort_id = " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ","
- . "\n nichtraucherschutz = '$nichtraucherschutz',"
- . ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? "\n platz = '$platz'," : "\n platz = NULL,") : "")
- . "\n zusatzpunkte = '$zusatzpunkte',"
- . "\n pin = '$pin'"
- . "\n WHERE team_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- // Teamvertreter speichern
-
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $id AND berechtigt_user_id != $berechtigt_fuer_team_user_ids[0] AND berechtigt_user_id != $berechtigt_fuer_team_user_ids[1] AND berechtigt_user_id != $berechtigt_fuer_team_user_ids[2] AND berechtigt_user_id != $berechtigt_fuer_team_user_ids[3] AND berechtigt_user_id != $berechtigt_fuer_team_user_ids[4] AND berechtigt_user_id != $berechtigt_fuer_team_user_ids[5];";
-
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- for ($nummer = 0; $nummer <= 5; $nummer++) {
- $berechtigt_user_id = $berechtigt_fuer_team_user_ids[$nummer];
- if ($berechtigt_user_id != 0) {
- $gefunden = false;
- foreach ($rows as $row) {
- if ($row->berechtigt_user_id == $berechtigt_user_id)
- $gefunden = true;
- }
- if (!$gefunden) {
- $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_team (berechtigt_user_id, berechtigt_team_id) VALUES ('$berechtigt_user_id', '$id');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
-
- // Ansprechpartner speichern
- for ($nummer = 1; $nummer <= 2; $nummer++) {
- $teamansprechpartner_id = $jinput->get('teamansprechpartner_' . $nummer . '_id', 0, 'INT');
- $teamansprechpartner_vorname = trim($jinput->get('teamansprechpartner_' . $nummer . '_vorname', '', 'RAW'));
- $teamansprechpartner_nachname = trim($jinput->get('teamansprechpartner_' . $nummer . '_nachname', '', 'RAW'));
- $teamansprechpartner_telefon = trim($jinput->get('teamansprechpartner_' . $nummer . '_telefon', '', 'RAW'));
- $teamansprechpartner_mobil = trim($jinput->get('teamansprechpartner_' . $nummer . '_mobil', '', 'RAW'));
- $teamansprechpartner_email = trim($jinput->get('teamansprechpartner_' . $nummer . '_email', '', 'RAW'));
-
- if ($teamansprechpartner_id == 0) {
- if (strlen($teamansprechpartner_vorname) > 0 || strlen($teamansprechpartner_nachname) > 0) {
- $query = "INSERT INTO #__sportsmanager_teamansprechpartner (team_id, vorname, nachname, telefon, mobil, email) VALUES ('$id', '$teamansprechpartner_vorname', '$teamansprechpartner_nachname', '$teamansprechpartner_telefon', '$teamansprechpartner_mobil', '$teamansprechpartner_email');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else {
- if (strlen($teamansprechpartner_vorname) > 0 || strlen($teamansprechpartner_nachname) > 0) {
- $query = "UPDATE #__sportsmanager_teamansprechpartner"
- . "\n SET vorname = '$teamansprechpartner_vorname',"
- . "\n nachname = '$teamansprechpartner_nachname',"
- . "\n telefon = '$teamansprechpartner_telefon',"
- . "\n mobil = '$teamansprechpartner_mobil',"
- . "\n email = '$teamansprechpartner_email'"
- . "\n WHERE kontaktperson_id = $teamansprechpartner_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else {
- $query = "DELETE FROM #__sportsmanager_teamansprechpartner WHERE kontaktperson_id = $teamansprechpartner_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
-
- if ($team_alt != null && ($team_alt->heimspiel_wochentag != $heimspiel_wochentag || $team_alt->heimspiel_uhrzeit != $heimspiel_uhrzeit))
- heimspieltag_aktualisieren($id);
-
- $bild_aktualisieren_gescheitert = 0;
- if ($bildbeibehalten == 0) {
- bildLoeschen("mannschaften", $id);
- if (!empty($_FILES["bild"]["tmp_name"])) {
- if (is_uploaded_file($_FILES["bild"]["tmp_name"])) {
- $size = getimagesize($_FILES["bild"]["tmp_name"]);
- if ($size == false
- || ($size[2] != IMAGETYPE_JPEG && $size[2] != IMAGETYPE_PNG)
- || ($size[0] < 60 || $size[1] < 60 || $size[0] > 8192 || $size[1] > 8192)) {
- $bild_aktualisieren_gescheitert = 1;
- }
- else {
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaften';
- $ziel_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $id . ($size[2] == IMAGETYPE_PNG ? '.png' : '.jpg');
- if (!bildKopierenAngepasst($_FILES["bild"]["tmp_name"], $ziel_pfad, 240, 240, 0))
- $bild_aktualisieren_gescheitert = 2;
- }
- }
- }
- }
-
- // Weitere Wettbewerbe aktualisieren
- $query = "SELECT team_id, veranstaltung_id"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE team_id != $id AND teamgruppe_id = $teamgruppe_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $bestehende_weitere_veranstaltungen_beruecksichtigt = $db->loadObjectList();
-
- $veranstaltungen_aktualisieren = array();
- foreach ($bestehende_weitere_veranstaltungen_beruecksichtigt as $bestehende_weitere_veranstaltung_beruecksichtigt) {
- if ($beschraenkter_zugriff_veranstaltungen && !in_array($bestehende_weitere_veranstaltung_beruecksichtigt->veranstaltung_id, $beschraenkter_zugriff_veranstaltungen_ids))
- continue;
- $ist_beruecksichtigt = false;
- foreach ($weitere_veranstaltungen_beruecksichtigt as $weitere_veranstaltung_id) {
- if ($bestehende_weitere_veranstaltung_beruecksichtigt->veranstaltung_id == $weitere_veranstaltung_id) {
- $ist_beruecksichtigt = true;
- break;
- }
- }
- if (!$ist_beruecksichtigt)
- mannschaftsgruppe_entfernen($bestehende_weitere_veranstaltung_beruecksichtigt->team_id);
- else {
- mannschaftsgruppe_verknuepfen($id, $bestehende_weitere_veranstaltung_beruecksichtigt->team_id, true, false, $bildbeibehalten == 0);
- if ($team_alt != null && ($team_alt->heimspiel_wochentag != $heimspiel_wochentag || $team_alt->heimspiel_uhrzeit != $heimspiel_uhrzeit))
- heimspieltag_aktualisieren($bestehende_weitere_veranstaltung_beruecksichtigt->team_id);
- }
- if (!in_array($bestehende_weitere_veranstaltung_beruecksichtigt->veranstaltung_id, $veranstaltungen_aktualisieren))
- array_push($veranstaltungen_aktualisieren, $bestehende_weitere_veranstaltung_beruecksichtigt->veranstaltung_id);
- }
-
- foreach ($weitere_veranstaltungen_beruecksichtigt as $index => $weitere_veranstaltung_id) {
- if ($beschraenkter_zugriff_veranstaltungen && !in_array($weitere_veranstaltung_id, $beschraenkter_zugriff_veranstaltungen_ids))
- continue;
-
- $ist_beruecksichtigt = false;
- foreach ($bestehende_weitere_veranstaltungen_beruecksichtigt as $bestehende_weitere_veranstaltung_beruecksichtigt) {
- if ($bestehende_weitere_veranstaltung_beruecksichtigt->veranstaltung_id == $weitere_veranstaltung_id) {
- $ist_beruecksichtigt = true;
- break;
- }
- }
- if (!$ist_beruecksichtigt)
- mannschaftsgruppe_hinzufuegen($id, $weitere_veranstaltung_id);
- if (!in_array($weitere_veranstaltung_id, $veranstaltungen_aktualisieren))
- array_push($veranstaltungen_aktualisieren, $weitere_veranstaltung_id);
- }
-
- teamstatistikAktualisieren($veranstaltungid);
- foreach ($veranstaltungen_aktualisieren as $weitere_veranstaltung_id)
- teamstatistikAktualisieren($weitere_veranstaltung_id);
-
- if ($bild_aktualisieren_gescheitert > 0) {
- redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungid, $bild_aktualisieren_gescheitert == 1 ? "Das Bild wurde nicht gespeichert, da es nicht im JPG/PNG-Format mit mindestens 90*90 und maximal 8192*8192 Bildpunkten vorliegt." : "Das Bild konnte nicht an die Zielposition kopiert werden.");
-
- return;
- }
-
- redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungid);
-}
-
-function mannschaftsgruppe_hinzufuegen($quelle_team_id, $ziel_veranstaltung_id) {
- $db = getDatabase();
-
- $query = "SELECT * FROM #__sportsmanager_team"
- . "\n WHERE team_id = $quelle_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) == 0) die("Wrong id!");
- $team = $teams[0];
- $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $quelle_team_id;
-
- $query = "SELECT COUNT(*)"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE teamgruppe_id = $teamgruppe_id AND veranstaltung_id = $ziel_veranstaltung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0)
- return false;
-
- $query = "SELECT COUNT(*)"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n WHERE veranstaltung_id = $ziel_veranstaltung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n == 0) die("Wrong id!");
-
- $query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, pin)"
- . "\n VALUES (" . ($team->verein_id == null ? "NULL" : "'$team->verein_id'") . ", '$ziel_veranstaltung_id', '" . $db->escape($team->teamname) . "', '" . $db->escape($team->tischtyp) . "', '" . $db->escape($team->tischeigenschaften) . "', '" . $db->escape($team->heimspiel_wochentag) . "', '" . $db->escape($team->heimspiel_uhrzeit) . "', " . ($team->heimspielort_id != 0 ? "'$team->heimspielort_id'" : "NULL") . ", '$team->nichtraucherschutz', '" . $db->escape($team->pin) . "');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ziel_team_id = $db->insertid();
-
- return mannschaftsgruppe_verknuepfen($quelle_team_id, $ziel_team_id, true, true, true);
-}
-
-function mannschaftsgruppe_verknuepfen($quelle_team_id, $ziel_team_id, $mannschaftsdaten_aktualisieren, $mannschaftsspieler_aktualisieren, $mannschaftsbild_aktualisieren) {
- $db = getDatabase();
- global $sportsmanager_joomla_path;
-
- if ($quelle_team_id == $ziel_team_id)
- return false;
-
- $query = "SELECT * FROM #__sportsmanager_team"
- . "\n WHERE team_id = $quelle_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 0) die("Wrong id!");
- $team = $teams[0];
- $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $quelle_team_id;
-
- if ($team->teamgruppe_id == null) {
- $query = "UPDATE #__sportsmanager_team"
- . "\n SET teamgruppe_id = '$teamgruppe_id'"
- . "\n WHERE team_id = $quelle_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- // Mannschaftsdaten aktualisieren
- if ($mannschaftsdaten_aktualisieren) {
- $query = "UPDATE #__sportsmanager_team"
- . "\n SET teamgruppe_id = '$teamgruppe_id',"
- . "\n verein_id = " . ($team->verein_id == null ? "NULL" : "'$team->verein_id'") . ","
- . "\n teamname = '" . $db->escape($team->teamname) . "',"
- . "\n tischtyp = '" . $db->escape($team->tischtyp) . "',"
- . "\n tischeigenschaften = '" . $db->escape($team->tischeigenschaften) . "',"
- . "\n heimspiel_wochentag = '" . $db->escape($team->heimspiel_wochentag) . "',"
- . "\n heimspiel_uhrzeit = '" . $db->escape($team->heimspiel_uhrzeit) . "',"
- . "\n heimspielort_id = " . ($team->heimspielort_id != 0 ? "'$team->heimspielort_id'" : "NULL") . ","
- . "\n nichtraucherschutz = '$team->nichtraucherschutz',"
- . "\n pin = '" . $db->escape($team->pin) . "'"
- . "\n WHERE team_id = $ziel_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- // Teamvertreter kopieren
- $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $quelle_team_id ORDER BY berechtigt_fuer_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $quelle_teamvertreter = $db->loadObjectList();
-
- $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $ziel_team_id ORDER BY berechtigt_fuer_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ziel_teamvertreter = $db->loadObjectList();
-
- $quelle_teamvertreter_anzahl = count($quelle_teamvertreter);
- $ziel_teamvertreter_anzahl = count($ziel_teamvertreter);
- for ($i = 0; $i < $quelle_teamvertreter_anzahl; $i++) {
- $berechtigt_user_id = $quelle_teamvertreter[$i]->berechtigt_user_id;
- if ($i < $ziel_teamvertreter_anzahl) {
- $berechtigt_fuer_team_id = $ziel_teamvertreter[$i]->berechtigt_fuer_team_id;
- $query = "UPDATE #__sportsmanager_berechtigt_fuer_team"
- . "\n SET berechtigt_user_id = '$berechtigt_user_id'"
- . "\n WHERE berechtigt_fuer_team_id = $berechtigt_fuer_team_id";
- }
- else {
- $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_team (berechtigt_user_id, berechtigt_team_id)"
- . "\n VALUES ('$berechtigt_user_id', '$ziel_team_id');";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- for ($i = $quelle_teamvertreter_anzahl; $i < $ziel_teamvertreter_anzahl; $i++) {
- $berechtigt_fuer_team_id = $ziel_teamvertreter[$i]->berechtigt_fuer_team_id;
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_fuer_team_id = $berechtigt_fuer_team_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- // Ansprechpartner kopieren
- $query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $quelle_team_id ORDER BY kontaktperson_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $quelle_ansprechpartner = $db->loadObjectList();
-
- $query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $ziel_team_id ORDER BY kontaktperson_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ziel_ansprechpartner = $db->loadObjectList();
-
- $quelle_ansprechpartner_anzahl = count($quelle_ansprechpartner);
- $ziel_ansprechpartner_anzahl = count($ziel_ansprechpartner);
- for ($i = 0; $i < $quelle_ansprechpartner_anzahl; $i++) {
- if ($i < $ziel_ansprechpartner_anzahl) {
- $kontaktperson_id = $ziel_ansprechpartner[$i]->kontaktperson_id;
- $query = "UPDATE #__sportsmanager_teamansprechpartner"
- . "\n SET nachname = '" . $db->escape($quelle_ansprechpartner[$i]->nachname) . "',"
- . "\n vorname = '" . $db->escape($quelle_ansprechpartner[$i]->vorname) . "',"
- . "\n telefon = '" . $db->escape($quelle_ansprechpartner[$i]->telefon) . "',"
- . "\n mobil = '" . $db->escape($quelle_ansprechpartner[$i]->mobil) . "',"
- . "\n email = '" . $db->escape($quelle_ansprechpartner[$i]->email) . "'"
- . "\n WHERE kontaktperson_id = $kontaktperson_id";
- }
- else {
- $query = "INSERT INTO #__sportsmanager_teamansprechpartner (team_id, nachname, vorname, telefon, mobil, email)"
- . "\n VALUES ('$ziel_team_id', '" . $db->escape($quelle_ansprechpartner[$i]->nachname) . "', '" . $db->escape($quelle_ansprechpartner[$i]->vorname) . "', '" . $db->escape($quelle_ansprechpartner[$i]->telefon) . "', '" . $db->escape($quelle_ansprechpartner[$i]->mobil) . "', '" . $db->escape($quelle_ansprechpartner[$i]->email) . "');";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- for ($i = $quelle_ansprechpartner_anzahl; $i < $ziel_ansprechpartner_anzahl; $i++) {
- $kontaktperson_id = $ziel_ansprechpartner[$i]->kontaktperson_id;
- $query = "DELETE FROM #__sportsmanager_teamansprechpartner WHERE kontaktperson_id = $kontaktperson_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
-
- // Mitglieder aktualisieren
- if ($mannschaftsspieler_aktualisieren) {
- $query = "SELECT spieler_id, ausgetreten, SUM(IF(team_id = $quelle_team_id, 1, 0)) AS mitglied_quelle, SUM(IF(team_id = $ziel_team_id, 1, 0)) AS mitglied_ziel" // , SUM(IF(team_id = $quelle_team_id, 1, IF(team_id = $ziel_team_id, 10000, 0))) AS teammitgliedschaften"
- . "\n FROM #__sportsmanager_mitglied_von_team"
- . "\n WHERE team_id = $quelle_team_id OR team_id = $ziel_team_id"
- . "\n GROUP BY spieler_id, ausgetreten";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereinte_mitglieder = $db->loadObjectList();
-
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder';
- foreach ($vereinte_mitglieder as $mitglied) {
- $query = "SELECT mitglied_von_team_id"
- . "\n FROM #__sportsmanager_mitglied_von_team"
- . "\n WHERE spieler_id = $mitglied->spieler_id AND team_id = $ziel_team_id AND ausgetreten = $mitglied->ausgetreten";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ziel_mitglieder = $db->loadObjectList();
-
- foreach ($ziel_mitglieder as $ziel_mitglied)
- bildLoeschen("mannschaftsmitglieder", $ziel_mitglied->mitglied_von_team_id);
-
- if ($mitglied->mitglied_quelle == 0 && $mitglied->mitglied_ziel > 0) {
- $query = "DELETE FROM #__sportsmanager_mitglied_von_team WHERE spieler_id = $mitglied->spieler_id AND team_id = $ziel_team_id AND ausgetreten = $mitglied->ausgetreten;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- continue;
- }
-
- if ($mitglied->mitglied_quelle > 0 && $mitglied->mitglied_ziel == 0) {
- $query = "INSERT INTO #__sportsmanager_mitglied_von_team (spieler_id, team_id, ausgetreten)"
- . "\n VALUES ('$mitglied->spieler_id', '$ziel_team_id', '$mitglied->ausgetreten');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "SELECT mitglied_von_team_id"
- . "\n FROM #__sportsmanager_mitglied_von_team"
- . "\n WHERE spieler_id = $mitglied->spieler_id AND team_id = $ziel_team_id AND ausgetreten = $mitglied->ausgetreten";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ziel_mitglieder = $db->loadObjectList();
- }
-
- $query = "SELECT mitglied_von_team_id"
- . "\n FROM #__sportsmanager_mitglied_von_team"
- . "\n WHERE spieler_id = $mitglied->spieler_id AND team_id = $quelle_team_id AND ausgetreten = $mitglied->ausgetreten";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $quelle_mitglieder = $db->loadObjectList();
-
- $bild_kopiert = false;
- foreach ($quelle_mitglieder as $quelle_mitglied) {
- foreach ($ziel_mitglieder as $ziel_mitglied) {
- $pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $quelle_mitglied->mitglied_von_team_id . '.';
- if (JFile::exists($pfad . 'png')) {
- JFile::copy($pfad . 'png', $bilder_pfad . DIRECTORY_SEPARATOR . $ziel_mitglied->mitglied_von_team_id . '.png');
- $bild_kopiert = true;
- }
- else if (JFile::exists($pfad . 'jpg')) {
- JFile::copy($pfad . 'jpg', $bilder_pfad . DIRECTORY_SEPARATOR . $ziel_mitglied->mitglied_von_team_id . '.jpg');
- $bild_kopiert = true;
- }
- }
- if ($bild_kopiert)
- break;
- }
- }
- }
-
- // Mannschaftsbild aktualisieren
- if ($mannschaftsbild_aktualisieren) {
- bildLoeschen("mannschaften", $ziel_team_id);
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaften';
- $quelle_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $quelle_team_id . '.';
- $ziel_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $ziel_team_id . '.';
- if (JFile::exists($quelle_pfad . 'png'))
- $ext = "png";
- else if (JFile::exists($quelle_pfad . 'jpg'))
- $ext = "jpg";
- else
- $ext = "";
- if (!empty($ext) && !JFile::copy($quelle_pfad . $ext, $ziel_pfad . $ext))
- return false;
- }
-
- return true;
-}
-
-function mannschaftsgruppe_entfernen($ziel_team_id) {
- $db = getDatabase();
- global $sportsmanager_joomla_path;
-
- $query = "SELECT * FROM #__sportsmanager_team"
- . "\n WHERE team_id = $ziel_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 0) die("Wrong id!");
- $team = $teams[0];
- $teamgruppe_id = $team->teamgruppe_id;
- if ($teamgruppe_id == null)
- return false;
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_begegnung WHERE heim_team_id = $ziel_team_id OR gast_team_id = $ziel_team_id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
-
- if ($n > 0)
- return false;
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_mitglied_von_team"
- . "\n WHERE team_id = $ziel_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- foreach ($rows as $row)
- bildLoeschen("mannschaftsmitglieder", $row->mitglied_von_team_id);
-
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $ziel_team_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_teamansprechpartner WHERE team_id = $ziel_team_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_mitglied_von_team WHERE team_id = $ziel_team_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_team WHERE team_id = $ziel_team_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "SELECT COUNT(*)"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE teamgruppe_id = $teamgruppe_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
-
- if ($n == 1) {
- $query = "UPDATE #__sportsmanager_team"
- . "\n SET teamgruppe_id = NULL"
- . "\n WHERE teamgruppe_id = $teamgruppe_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- return true;
-}
-
-function heimspieltag_aktualisieren($team_id) {
- $db = getDatabase();
-
- $query = "SELECT * FROM #__sportsmanager_team"
- . "\n WHERE team_id = $team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 0) die("Wrong id!");
- $team = $teams[0];
-
- if ($team->heimspiel_wochentag < 1 || $team->heimspiel_wochentag > 7)
- return;
-
- $query = "SELECT begegnung_id, zeitpunkt"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
- . "\n WHERE heim_team_id = $team_id AND COALESCE(heim_spielpunkte, 0) = 0 AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id) AND NOT EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id)"
- . "\n ORDER BY spieltag DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
-
- foreach ($begegnungen as $begegnung) {
- $ts = getdate(geaenderterWochentag(strtotime($begegnung->zeitpunkt), $team->heimspiel_wochentag - 1));
- $neuer_zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($team->heimspiel_uhrzeit / 100), $team->heimspiel_uhrzeit % 100);
- $query = "UPDATE #__sportsmanager_begegnung"
- . "\n SET zeitpunkt = '$neuer_zeitpunkt'"
- . "\n WHERE begegnung_id = $begegnung->begegnung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-}
-
-function termin_aktualisieren($begegnung_id) {
- $db = getDatabase();
-
- $query = "SELECT heim_team_id, zeitpunkt"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
- . "\n WHERE begegnung_id = $begegnung_id AND COALESCE(heim_spielpunkte, 0) = 0 AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id) AND NOT EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id)"
- . "\n ORDER BY spieltag DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
- if (count($begegnungen) < 1)
- return;
- $begegnung = $begegnungen[0];
-
- $query = "SELECT * FROM #__sportsmanager_team"
- . "\n WHERE team_id = $begegnung->heim_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 0) die("Wrong id!");
- $team = $teams[0];
-
- if ($team->heimspiel_wochentag < 1 || $team->heimspiel_wochentag > 7)
- return;
-
- $ts = getdate(geaenderterWochentag(strtotime($begegnung->zeitpunkt), $team->heimspiel_wochentag - 1));
- $neuer_zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($team->heimspiel_uhrzeit / 100), $team->heimspiel_uhrzeit % 100);
- $query = "UPDATE #__sportsmanager_begegnung"
- . "\n SET zeitpunkt = '$neuer_zeitpunkt'"
- . "\n WHERE begegnung_id = $begegnung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-}
-
-function adminRemoveMannschaft() {
- $db = getDatabase();
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
-
- $id = $jinput->get('id', 0, 'INT');
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
-
- $query = "SELECT teamgruppe_id, veranstaltung_id FROM #__sportsmanager_team WHERE team_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $teamgruppe_id = $rows[0]->teamgruppe_id != null ? $rows[0]->teamgruppe_id : $id;
-
- if ($veranstaltungid != $rows[0]->veranstaltung_id)
- die("Wrong id!");
-
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_begegnung WHERE heim_team_id = $id OR gast_team_id = $id), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
- if ($n > 0) die(JText::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
-
- if ($rows[0]->teamgruppe_id != null) {
- mannschaftsgruppe_entfernen($id);
- }
- else {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_mitglied_von_team"
- . "\n WHERE team_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- foreach ($rows as $row)
- bildLoeschen("mannschaftsmitglieder", $row->mitglied_von_team_id);
-
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_teamansprechpartner WHERE team_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_mitglied_von_team WHERE team_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_team WHERE team_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- bildLoeschen("mannschaften", $id);
- }
-
- teamstatistikAktualisieren($veranstaltungid);
-
- redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungid);
-}
-
-function adminKopierenMannschaftForm() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
-
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
-
- $query = "SELECT #__sportsmanager_team.*, vereinsname"
- . "\n FROM #__sportsmanager_team"
- . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
- . "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungid"
- . "\n ORDER BY teamname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
-
- $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
- if ($beschraenkter_zugriff_veranstaltungen) {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n WHERE " . veranstaltungFilter("veranstaltung_id IN")
- . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- }
- else {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminKopierenMannschaft($veranstaltung, $teams, $veranstaltungen);
-}
-
-function adminKopierenMannschaft() {
- $db = getDatabase();
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
-
- $ids = $jinput->get('ids', array(), 'ARRAY');
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
- $mitglieder_kopieren = $jinput->get('mitglieder_kopieren', 0, 'INT');
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungid);
-
- return;
- }
-
- $beschraenkter_zugriff = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
-
- $ziel_veranstaltungen_ids = array();
- for ($i = 1; $i <= 4; $i++) {
- $ziel_veranstaltungid = $jinput->get('ziel_veranstaltungid_' . $i, 0, 'INT');
- if (empty($ziel_veranstaltungid) || ($beschraenkter_zugriff && !benutzerVeranstaltungModerator($ziel_veranstaltungid)))
- continue;
- if (!in_array($ziel_veranstaltungid, $ziel_veranstaltungen_ids))
- array_push($ziel_veranstaltungen_ids, $ziel_veranstaltungid);
- }
-
- foreach ($ziel_veranstaltungen_ids as $ziel_veranstaltungid) {
- foreach ($ids as $id) {
- $query = "SELECT * FROM #__sportsmanager_team"
- . "\n WHERE team_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 0) die("Wrong id!");
- $team = $teams[0];
-
- if ($veranstaltungid != $team->veranstaltung_id)
- die("Wrong id!");
-
- $query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, pin)"
- . "\n VALUES (" . ($team->verein_id == null ? "NULL" : "'$team->verein_id'") . ", '$ziel_veranstaltungid', '" . $db->escape($team->teamname) . "', '" . $db->escape($team->tischtyp) . "', '" . $db->escape($team->tischeigenschaften) . "', '" . $db->escape($team->heimspiel_wochentag) . "', '" . $db->escape($team->heimspiel_uhrzeit) . "', " . ($team->heimspielort_id != 0 ? "'$team->heimspielort_id'" : "NULL") . ", '$team->nichtraucherschutz', '" . $db->escape($team->pin) . "');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ziel_teamid = $db->insertid();
-
- // Mitglieder kopieren
- if ($mitglieder_kopieren) {
- $query = "SELECT * FROM #__sportsmanager_mitglied_von_team WHERE team_id = $id AND NOT ausgetreten";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- foreach ($rows as $row) {
- $query = "INSERT INTO #__sportsmanager_mitglied_von_team (spieler_id, team_id)"
- . "\n VALUES ('$row->spieler_id', '$ziel_teamid');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ziel_mitglied_von_team_id = $db->insertid();
-
- $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder' . DIRECTORY_SEPARATOR . $row->mitglied_von_team_id . '.';
- if (JFile::exists($pfad . 'png'))
- JFile::copy($pfad . 'png', $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder' . DIRECTORY_SEPARATOR . $ziel_mitglied_von_team_id . '.png');
- else if (JFile::exists($pfad . 'jpg'))
- JFile::copy($pfad . 'jpg', $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder' . DIRECTORY_SEPARATOR . $ziel_mitglied_von_team_id . '.jpg');
- }
- }
-
- // Teamvertreter kopieren
- $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $id ORDER BY berechtigt_fuer_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- foreach ($rows as $row) {
- $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_team (berechtigt_user_id, berechtigt_team_id)"
- . "\n VALUES ('$row->berechtigt_user_id', '$ziel_teamid');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- // Ansprechpartner kopieren
- $query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $id ORDER BY kontaktperson_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- foreach ($rows as $row) {
- $query = "INSERT INTO #__sportsmanager_teamansprechpartner (team_id, nachname, vorname, telefon, mobil, email)"
- . "\n VALUES ('$ziel_teamid', '" . $db->escape($row->nachname) . "', '" . $db->escape($row->vorname) . "', '" . $db->escape($row->telefon) . "', '" . $db->escape($row->mobil) . "', '" . $db->escape($row->email) . "');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaften' . DIRECTORY_SEPARATOR . $id . '.';
- if (JFile::exists($pfad . 'png'))
- JFile::copy($pfad . "png", $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaften' . DIRECTORY_SEPARATOR . $ziel_teamid . '.png');
- else if (JFile::exists($pfad . 'jpg'))
- JFile::copy($pfad . "jpg", $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaften' . DIRECTORY_SEPARATOR . $ziel_teamid . '.jpg');
- }
- }
-
- teamstatistikAktualisieren($ziel_veranstaltungid);
-
- redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungid);
-}
-
-function adminVerknuepfenMannschaftForm() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
-
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
-
- $query = "SELECT #__sportsmanager_team.*, vereinsname"
- . "\n FROM #__sportsmanager_team"
- . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
- . "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungid"
- . "\n ORDER BY teamname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
-
- $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
- if ($beschraenkter_zugriff_veranstaltungen) {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n WHERE saison_id = $veranstaltung->saison_id AND " . veranstaltungFilter("veranstaltung_id IN")
- . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- }
- else {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n WHERE saison_id = $veranstaltung->saison_id"
- . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminVerknuepfenMannschaft($veranstaltung, $teams, $veranstaltungen);
-}
-
-function adminVerknuepfenMannschaft() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $ids = $jinput->get('ids', array(), 'ARRAY');
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungid);
-
- return;
- }
-
- $beschraenkter_zugriff = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
-
- $ziel_veranstaltungen_ids = array();
- for ($i = 1; $i <= 4; $i++) {
- $ziel_veranstaltungid = $jinput->get('ziel_veranstaltungid_' . $i, 0, 'INT');
- if (empty($ziel_veranstaltungid) || ($beschraenkter_zugriff && !benutzerVeranstaltungModerator($ziel_veranstaltungid)))
- continue;
- if (!in_array($ziel_veranstaltungid, $ziel_veranstaltungen_ids))
- array_push($ziel_veranstaltungen_ids, $ziel_veranstaltungid);
- }
-
- foreach ($ziel_veranstaltungen_ids as $ziel_veranstaltungid) {
- foreach ($ids as $id) {
- $query = "SELECT * FROM #__sportsmanager_team"
- . "\n WHERE team_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 0) die("Wrong id!");
- $team = $teams[0];
-
- if ($veranstaltungid != $team->veranstaltung_id)
- die("Wrong id!");
-
- mannschaftsgruppe_hinzufuegen($id, $ziel_veranstaltungid);
- }
- }
-
- teamstatistikAktualisieren($ziel_veranstaltungid);
-
- redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungid);
-}
-
-function adminMitglieder() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator())
- keinZugriff(true);
-
- $berechtigt_spieler_aendern = benutzerZugriff("spieler_aendern");
-
- $teamid = $jinput->get('teamid', 0, 'INT');
- if ($teamid == 0) die ("Wrong id!");
-
- $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $teamid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 1) die ("Wrong id");
- $team = $teams[0];
- $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $teamid;
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($team->veranstaltung_id))
- keinZugriff(true);
-
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $team->veranstaltung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
-
- $query = "SELECT mitglied_von_team_id, spieler_id, aktueller_verein_id, MAX(IF(team_id = $teamid, #__sportsmanager_mitglied_von_team.ausgetreten, 0)) AS ausgetreten, MAX(IF(team_id = $teamid, erster_spieltag, NULL)) AS erster_spieltag, MAX(IF(team_id = $teamid, letzter_spieltag, NULL)) AS letzter_spieltag, vorname, nachname, spielernr, MIN(IF(team_id = $teamid, 0, 1)) AS anderes_team"
- . "\n FROM #__sportsmanager_mitglied_von_team"
- . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n INNER JOIN #__sportsmanager_team USING (team_id)"
- . "\n WHERE (team_id = $teamid OR teamgruppe_id = $teamgruppe_id)"
- . "\n GROUP BY spieler_id"
- . "\n ORDER BY anderes_team, IF(#__sportsmanager_mitglied_von_team.ausgetreten, 1, 0), nachname, vorname, erster_spieltag";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $mitglieder = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminMitglieder($team, $veranstaltung, $mitglieder, $berechtigt_spieler_aendern);
-}
-
-function adminEditMitglied() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator())
- keinZugriff(true);
-
- $id = $jinput->get('id', 0, 'INT');
- $teamid = $jinput->get('teamid', 0, 'INT');
- $alle_anzeigen = $jinput->get('alle_anzeigen', 0, 'INT');
- $entfernen = $jinput->get('entfernen', 0, 'INT');
-
- $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $teamid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 1) die ("Wrong id");
- $team = $teams[0];
- $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $teamid;
-
- if (empty($id))
- $row = null;
- else {
- $query = "SELECT #__sportsmanager_mitglied_von_team.*, vorname, nachname FROM #__sportsmanager_mitglied_von_team LEFT JOIN #__sportsmanager_spieler USING (spieler_id) INNER JOIN #__sportsmanager_team USING (team_id) WHERE spieler_id = $id AND (team_id = $teamid OR teamgruppe_id = $teamgruppe_id)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
- }
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($team->veranstaltung_id))
- keinZugriff(true);
-
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $team->veranstaltung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
-
- if (empty($id)) {
- $query = "SELECT DISTINCT veranstaltung_id, bezeichnung, unterteilung, saison_id, team_id, NULL AS mitglied_von_team_id, NULL AS erster_spieltag, NULL AS letzter_spieltag, NULL AS ausgetreten"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n LEFT JOIN (SELECT veranstaltung_id, team_id, teamgruppe_id FROM #__sportsmanager_team WHERE team_id = $teamid" . (!empty($team->teamgruppe_id) ? " OR teamgruppe_id = $team->teamgruppe_id" : "") . ") AS veranstaltungen USING (veranstaltung_id)"
- . "\n WHERE team_id = $teamid" . (!empty($team->teamgruppe_id) ? " OR teamgruppe_id = $team->teamgruppe_id" : "")
- . "\n ORDER BY IF(veranstaltung_id = $team->veranstaltung_id, 0, 1), bezeichnung";
- }
- else {
- $query = "SELECT DISTINCT veranstaltung_id, bezeichnung, unterteilung, saison_id, veranstaltungen.team_id, mitglied_von_team_id, erster_spieltag, letzter_spieltag, #__sportsmanager_mitglied_von_team.ausgetreten"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n LEFT JOIN (SELECT veranstaltung_id, team_id, teamgruppe_id FROM #__sportsmanager_team WHERE #__sportsmanager_team.team_id = $teamid" . (!empty($team->teamgruppe_id) ? " OR teamgruppe_id = $team->teamgruppe_id" : "") . ") AS veranstaltungen USING (veranstaltung_id)"
- . "\n LEFT JOIN #__sportsmanager_mitglied_von_team ON veranstaltungen.team_id = #__sportsmanager_mitglied_von_team.team_id AND spieler_id = " . $row->spieler_id
- . "\n WHERE veranstaltungen.team_id = $teamid" . (!empty($team->teamgruppe_id) ? " OR teamgruppe_id = $team->teamgruppe_id" : "")
- . "\n ORDER BY IF(veranstaltung_id = $team->veranstaltung_id, 0, 1), bezeichnung";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
-
- $veranstaltungen_begegnungen = array();
- foreach ($veranstaltungen as $v) {
- $query = "SELECT spieltag, zeitpunkt"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n WHERE (heim_team_id = " . $v->team_id . " OR gast_team_id = " . $v->team_id . ") AND zeitpunkt < CURDATE()"
- . "\n ORDER BY zeitpunkt DESC"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
-
- $veranstaltungen_begegnungen[$v->veranstaltung_id] = array();
- $begegnungen = array_reverse($begegnungen);
- foreach ($begegnungen as $begegnung)
- array_push($veranstaltungen_begegnungen[$v->veranstaltung_id], array($begegnung->spieltag, $begegnung->zeitpunkt));
-
- $query = "SELECT spieltag, zeitpunkt"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n WHERE (heim_team_id = " . $v->team_id . " OR gast_team_id = " . $v->team_id . ") AND zeitpunkt >= CURDATE()"
- . "\n ORDER BY zeitpunkt"
- . "\n LIMIT 4";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
-
- foreach ($begegnungen as $begegnung)
- array_push($veranstaltungen_begegnungen[$v->veranstaltung_id], array($begegnung->spieltag, $begegnung->zeitpunkt));
- }
-
- /*
- $query = "SELECT spieler_id, vorname, nachname, spielernr"
- . "\n FROM #__sportsmanager_spieler";
- if ($team->verein_id != NULL)
- $query .= "\n LEFT JOIN #__sportsmanager_mitglied_von_verein USING (spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
- . "\n WHERE #__sportsmanager_mitglied_von_verein.verein_id = $team->verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT ISNULL(aktueller_verein_id)";
- else
- $query .= "\n WHERE NOT ISNULL(aktueller_verein_id)";
- $query .= "\n ORDER BY nachname, vorname";
-*/
- if ($team->verein_id != null) {
- $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $team->verein_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
- if (count($vereine) < 1) die ("Wrong id");
- $verein = $vereine[0];
- }
- else
- $verein = null;
-
- if (empty($id)) {
- if (!empty($team->verein_id) && !$alle_anzeigen) {
- $query = "SELECT DISTINCT #__sportsmanager_spieler.spieler_id, vorname, nachname, spielernr, 1 AS aktives_mitglied"
- . "\n FROM #__sportsmanager_mitglied_von_verein"
- . "\n INNER JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n WHERE verein_id = $team->verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten"
- . " AND spieler_id NOT IN (SELECT spieler_id FROM #__sportsmanager_team INNER JOIN #__sportsmanager_mitglied_von_team USING (team_id) WHERE team_id = $teamid OR teamgruppe_id = $teamgruppe_id)"
- . "\n ORDER BY nachname, vorname";
- }
- else {
- $query = "SELECT spieler_id, vorname, nachname, spielernr"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE NOT ISNULL(aktueller_verein_id)"
- . " AND spieler_id NOT IN (SELECT spieler_id FROM #__sportsmanager_team INNER JOIN #__sportsmanager_mitglied_von_team USING (team_id) WHERE team_id = $teamid OR teamgruppe_id = $teamgruppe_id)"
- . "\n ORDER BY nachname, vorname";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
-
- if (!empty($team->verein_id) && !$alle_anzeigen) {
- $query = "SELECT spieler_id, veranstaltung_id, unterteilung, erster_spieltag, letzter_spieltag, team_id, ausgetreten"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n INNER JOIN #__sportsmanager_team USING (veranstaltung_id)"
- . "\n INNER JOIN #__sportsmanager_mitglied_von_team USING (team_id)"
- . "\n INNER JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n WHERE saison_id = $veranstaltung->saison_id AND (unterteilung = 0 OR unterteilung = 1)"
- . " AND EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.verein_id = $team->verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten)"
- . "\n ORDER BY reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
-
- }
- else {
- $query = "SELECT spieler_id, veranstaltung_id, unterteilung, erster_spieltag, letzter_spieltag, team_id, ausgetreten"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n INNER JOIN #__sportsmanager_team USING (veranstaltung_id)"
- . "\n INNER JOIN #__sportsmanager_mitglied_von_team USING (team_id)"
- . "\n INNER JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n WHERE saison_id = $veranstaltung->saison_id AND (unterteilung = 0 OR unterteilung = 1) AND NOT ISNULL(aktueller_verein_id)"
- . "\n ORDER BY reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $mitgliedschaften = $db->loadObjectList();
-
- $spielberechtigungen = array();
- foreach ($mitgliedschaften as $mitgliedschaft) {
- if (!isset($spielberechtigungen[$mitgliedschaft->spieler_id]))
- $spielberechtigungen[$mitgliedschaft->spieler_id] = array();
- array_push($spielberechtigungen[$mitgliedschaft->spieler_id], array($mitgliedschaft->veranstaltung_id, $mitgliedschaft->unterteilung, $mitgliedschaft->erster_spieltag, $mitgliedschaft->letzter_spieltag, $mitgliedschaft->team_id, $mitgliedschaft->ausgetreten));
- }
-
- // Veranstaltungsbezeichnungen ermitteln
- $query = "SELECT veranstaltung_id, bezeichnung"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n WHERE saison_id = $veranstaltung->saison_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- $veranstaltungsbezeichnungen = array();
- foreach ($rows as $v)
- $veranstaltungsbezeichnungen[$v->veranstaltung_id] = $v->bezeichnung;
-
- // Mannschaftsbezeichnungen ermitteln
- $query = "SELECT team_id, teamname"
- . "\n FROM #__sportsmanager_team"
- . "\n LEFT JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
- . "\n WHERE saison_id = $veranstaltung->saison_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- $mannschaftsnamen = array();
- foreach ($rows as $m)
- $veranstaltungsbezeichnungen[$m->team_id] = $m->teamname;
-
- }
- else {
- $spieler = array();
- $spielberechtigungen = null;
- $veranstaltungsbezeichnungen = null;
- $mannschaftsnamen = null;
- }
-
- HTML_sportsmanager_admin::adminEditMitglied($row, $team, $verein, $veranstaltung, $spieler, $spielberechtigungen, $veranstaltungsbezeichnungen, $mannschaftsnamen, $veranstaltungen, $veranstaltungen_begegnungen, $alle_anzeigen, $entfernen);
-}
-
-function adminSaveMitglied() {
- $db = getDatabase();
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator())
- keinZugriff();
-
- $id = $jinput->get('id', 0, 'INT');
- $spielerids = $id != 0 ? array($id) : $jinput->get('spielerids', array(), 'ARRAY');
- $teamid = $jinput->get('teamid', 0, 'INT');
- $bildbeibehalten = $jinput->get('bildbeibehalten', 0, 'INT');
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_mitglieder&teamid=' . $teamid);
-
- return;
- }
-
- $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $teamid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 1) die ("Wrong id");
- $team = $teams[0];
- $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $teamid;
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($team->veranstaltung_id))
- keinZugriff();
-
- // Sicherstellen, dass Mannschaftsmitglied zum Team gehört
- if (!empty($id)) {
- $query = "SELECT * FROM #__sportsmanager_mitglied_von_team INNER JOIN #__sportsmanager_team USING (team_id) WHERE spieler_id = $id AND (team_id = $teamid OR teamgruppe_id = $teamgruppe_id)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- }
-
- $query = "SELECT DISTINCT veranstaltung_id, team_id"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE team_id = $teamid" . (!empty($teamgruppe_id) ? " OR teamgruppe_id = $teamgruppe_id" : null);
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
-
- foreach ($veranstaltungen as $v) {
- $status = $jinput->get('status_' . $v->veranstaltung_id, -1, 'INT');
- if ($status == -1)
- continue;
- $erster_spieltag = $jinput->get('erster_spieltag_' . $v->veranstaltung_id, 0, 'INT');
- $letzter_spieltag = $jinput->get('letzter_spieltag_' . $v->veranstaltung_id, 0, 'INT');
-
- $erste_runde_typ = $jinput->get('erste_runde_typ_' . $v->veranstaltung_id, -1, 'INT');
- $erste_runde = max(min(abs($jinput->get('erste_runde_' . $v->veranstaltung_id, 1, 'INT')), $erste_runde_typ == -2 ? 99 : 9999), 1);
- $erste_runde_platzierung_ende = max(min(abs($jinput->get('erste_runde_platzierung_ende_' . $v->veranstaltung_id, 0, 'INT')), $erste_runde + 99), 1);
-
- if ($erste_runde_typ >= 10000)
- $erste_runde = $erste_runde_typ;
- else if ($erste_runde_typ == -2)
- $erste_runde = 20000 + ((99 - abs($erste_runde_platzierung_ende - $erste_runde)) * 100) + 99 - min($erste_runde, $erste_runde_platzierung_ende);
- else if ($erste_runde_typ == 0)
- $erste_runde = 0;
-
- $letzte_runde_typ = $jinput->get('letzte_runde_typ_' . $v->veranstaltung_id, -1, 'INT');
- $letzte_runde = max(min(abs($jinput->get('letzte_runde_' . $v->veranstaltung_id, 1, 'INT')), $letzte_runde_typ == -2 ? 99 : 9999), 1);
- $letzte_runde_platzierung_ende = max(min(abs($jinput->get('letzte_runde_platzierung_ende_' . $v->veranstaltung_id, 0, 'INT')), $letzte_runde + 99), 1);
-
- if ($letzte_runde_typ >= 10000)
- $letzte_runde = $letzte_runde_typ;
- else if ($letzte_runde_typ == -2)
- $letzte_runde = 20000 + ((99 - abs($letzte_runde_platzierung_ende - $letzte_runde)) * 100) + 99 - min($letzte_runde, $letzte_runde_platzierung_ende);
- else if ($letzte_runde_typ == 0)
- $letzte_runde = 0;
-
- if ($letzte_runde != 0 && $erste_runde != 0 && $erste_runde > $letzte_runde) {
- $t = $erste_runde;
- $erste_runde = $letzte_runde;
- $letzte_runde = $t;
- }
-
- if ($id == 0) {
- foreach ($spielerids as $spielerid) {
- if ($status == 0)
- continue;
-
- $query = "SELECT mitglied_von_team_id FROM #__sportsmanager_mitglied_von_team WHERE team_id = $v->team_id AND spieler_id = '" . $db->escape($spielerid) . "'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) > 0)
- continue;
-
- $query = "INSERT #__sportsmanager_mitglied_von_team"
- . "\n SET spieler_id = '" . $db->escape($spielerid) . "',"
- . "\n team_id = '$v->team_id',"
- . "\n erster_spieltag = " . ($erste_runde == 0 ? "NULL" : "'$erste_runde'") . ","
- . "\n letzter_spieltag = " . ($letzte_runde == 0 ? "NULL" : "'$letzte_runde'") . ","
- . "\n ausgetreten = " . ($status == 2 ? "TRUE" : "FALSE") . ";";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else {
- $query = "SELECT mitglied_von_team_id FROM #__sportsmanager_mitglied_von_team WHERE team_id = $v->team_id AND spieler_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if ($status == 0) {
- foreach ($rows as $row) {
- $query = "DELETE FROM #__sportsmanager_mitglied_von_team WHERE mitglied_von_team_id = " . $row->mitglied_von_team_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- bildLoeschen("mannschaftsmitglieder", $row->mitglied_von_team_id);
- }
- }
- else {
- if (count($rows) == 0) {
- $query = "INSERT #__sportsmanager_mitglied_von_team"
- . "\n SET spieler_id = '$id',"
- . "\n team_id = '$v->team_id',"
- . "\n erster_spieltag = " . ($erste_runde == 0 ? "NULL" : "'$erste_runde'") . ","
- . "\n letzter_spieltag = " . ($letzte_runde == 0 ? "NULL" : "'$letzte_runde'") . ","
- . "\n ausgetreten = " . ($status == 2 ? "TRUE" : "FALSE");
- }
- else {
- $query = "UPDATE #__sportsmanager_mitglied_von_team"
- . "\n SET erster_spieltag = " . ($erste_runde == 0 ? "NULL" : "'$erste_runde'") . ","
- . "\n letzter_spieltag = " . ($letzte_runde == 0 ? "NULL" : "'$letzte_runde'") . ","
- . "\n ausgetreten = " . ($status == 2 ? "TRUE" : "FALSE")
- . "\n WHERE mitglied_von_team_id = " . $rows[0]->mitglied_von_team_id;
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- if ($bildbeibehalten == 0) {
- foreach ($rows as $row) {
- bildLoeschen("mannschaftsmitglieder", $row->mitglied_von_team_id);
-
- if (!empty($_FILES["bild"]["tmp_name"])) {
- if (is_uploaded_file($_FILES["bild"]["tmp_name"])) {
- $size = getimagesize($_FILES["bild"]["tmp_name"]);
- if ($size == false
- || ($size[2] != IMAGETYPE_JPEG && $size[2] != IMAGETYPE_PNG)
- || ($size[0] < 60 || $size[1] < 60 || $size[0] > 8192 || $size[1] > 8192)) {
- redirectSportsManagerURL('&task=admin_mitglieder&teamid=' . $teamid, "Das Bild wurde nicht gespeichert, da es nicht im JPG/PNG-Format mit mindestens 90*90 und maximal 8192*8192 Bildpunkten vorliegt.");
-
- return;
- }
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder';
- if (!bildKopierenAngepasst($_FILES["bild"]["tmp_name"], $bilder_pfad . DIRECTORY_SEPARATOR . $row->mitglied_von_team_id . ($size[2] == IMAGETYPE_PNG ? '.png' : '.jpg'), 180, 240, 1)) {
- redirectSportsManagerURL('&task=admin_mitglieder&teamid=' . $teamid, "Das Bild konnte nicht an die Zielposition kopiert werden.");
-
- return;
- }
- }
- }
- }
- }
- }
- }
- }
-
- $query = "SELECT team_id"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE team_id != $teamid AND teamgruppe_id = $teamgruppe_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $bestehende_weitere_veranstaltungen_beruecksichtigt = $db->loadObjectList();
-
- foreach ($bestehende_weitere_veranstaltungen_beruecksichtigt as $bestehende_weitere_veranstaltung_beruecksichtigt)
- mannschaftsgruppe_verknuepfen($teamid, $bestehende_weitere_veranstaltung_beruecksichtigt->team_id, false, false, false);
-
- redirectSportsManagerURL('&task=admin_mitglieder&teamid=' . $teamid);
-}
-
-function adminBegegnungen() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
-
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
-
- $modus_id = $veranstaltung->modus_id;
- $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 1)
- $modus = $rows[0];
-
- $query = "SELECT t1.*, t2.teamname AS heim_name, t3.teamname AS gast_name, t4.unbestaetigtes_ergebnis_id, t4.zwischenergebnis, t2.nichtraucherschutz AS heim_nichtraucherschutz, t3.nichtraucherschutz AS gast_nichtraucherschutz,"
- . "\n EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = t1.begegnung_id AND aktion IN (1, 5)) AS verlegt,"
- . "\n (SELECT IF(#__sportsmanager_begegnung_historie.aktion NOT IN (0, 3, 4), NULL, #__sportsmanager_begegnung_historie.eingetragen) AS eingetragen FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verlegung_eingetragen"
- . "\n FROM #__sportsmanager_begegnung AS t1"
- . "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
- . "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
- . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
- . "\n WHERE t2.veranstaltung_id = $veranstaltungid"
- . "\n ORDER BY " . (($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) ? "t1.spieltag, " : "") . "t1.zeitpunkt, heim_name";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminBegegnungen($veranstaltung, $modus, $rows);
-}
-
-function adminEditBegegnung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $id = $jinput->get('id', 0, 'INT');
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
-
- if (empty($id)) {
- $query = "SELECT #__sportsmanager_begegnung.*"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n INNER JOIN #__sportsmanager_team USING (veranstaltung_id)"
- . "\n INNER JOIN #__sportsmanager_begegnung ON team_id = heim_team_id"
- . "\n WHERE veranstaltung_id = $veranstaltungid"
- . "\n ORDER BY zeitpunkt DESC LIMIT 1";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- $row = count($rows) < 1 ? null : $rows[0]; // Falls keine Begegnung als Vorlage verfügbar ist
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_begegnung WHERE begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id!");
- $row = $rows[0];
-
- // Sicherstellen, dass mindestens ein Team zu Veranstaltung gehört
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE team_id = $row->heim_team_id AND veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 1) die ("Wrong id!");
- }
-
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE veranstaltung_id = $veranstaltungid"
- . "\n ORDER BY teamname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
-
- // Vorgeschlagene Termine ermitteln
- $query = "SELECT #__sportsmanager_begegnung_historie.*, team.teamname as team, user.username, user.name, verantwortlich_team.teamname as verantwortlich_team"
- . "\n FROM #__sportsmanager_begegnung_historie"
- . "\n LEFT JOIN #__sportsmanager_team AS team USING (team_id)"
- . "\n LEFT JOIN #__sportsmanager_team AS verantwortlich_team ON verantwortlich_team.team_id = verantwortlich_team_id"
- . "\n LEFT JOIN #__users AS user ON user.id = user_id"
- . "\n WHERE begegnung_id = $id"
- . "\n ORDER BY begegnung_historie_id DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $verlegen_aktionen = $db->loadObjectList();
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_spielort"
- . "\n ORDER BY ortsname, name, ortsteil";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spielorte = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditBegegnung($veranstaltung, $row, $id == null, $teams, $spielorte);
- HTML_sportsmanager_admin::adminVerlegenVerlauf($verlegen_aktionen);
-}
-
-function adminSaveBegegnung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $id = $jinput->get('id', 0, 'INT');
- $update = $id != 0;
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff();
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid . '#id' . $id);
-
- return;
- }
-
- $datum = normalisiertesDatum($jinput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jinput->get('datum_jahr', 0, 'INT'), $jinput->get('datum_monat', 0, 'INT'), $jinput->get('datum_tag', 0, 'INT')));
- $uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jinput->get('uhrzeit_stunden', 0, 'INT'), $jinput->get('uhrzeit_minuten', 0, 'INT')));
- $zeitpunkt = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit);
- $heim_team_id = $jinput->get('heim_team_id', 0, 'INT');
- $gast_team_id = $jinput->get('gast_team_id', 0, 'INT');
- $spielort_id = $jinput->get('spielort_id', 0, 'INT');
- $tisch = $db->escape(trim($jinput->get('tisch', '', 'RAW')));
- $nichtraucherschutz = $jinput->get('nichtraucherschutz', 0, 'INT');
- $rundentyp = $jinput->get('rundentyp', -1, 'INT');
- $runde = max(min(abs($jinput->get('runde', 1, 'INT')), $rundentyp == -2 ? 99 : 9999), 1);
- $platzierung_ende = max(min(abs($jinput->get('platzierung_ende', 0, 'INT')), $runde + 99), 1);
- $aktualisieren_ab_datum = $datum;
-
- if ($rundentyp >= 10000)
- $runde = $rundentyp;
- else if ($rundentyp == -2)
- $runde = 20000 + ((99 - abs($platzierung_ende - $runde)) * 100) + 99 - min($runde, $platzierung_ende);
- else if ($rundentyp == 0)
- $runde = 0;
-
- $query = "SELECT status, elo_wertung"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong Id!");
- $veranstaltung = $rows[0];
-
- // Sicherstellen, dass Teams zu Veranstaltung gehören
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE team_id = $heim_team_id AND veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 1) die ("Wrong id!");
- $heim_team = $teams[0];
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE team_id = $gast_team_id AND veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 1) die ("Wrong id!");
- $gast_team = $teams[0];
-
- $user_id = isExternalDatabase() ? 0 : JFactory::getUser()->id;
- if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, heim_team_id, gast_team_id, spielort_id, tisch, nichtraucherschutz)"
- . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", " . ($runde != null ? "'$runde'" : "NULL") . ", '$heim_team_id', '$gast_team_id', " . ($spielort_id != 0 ? "'$spielort_id'" : "NULL") . ", '$tisch', '$nichtraucherschutz');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- // Begegnung ermitteln
- $query = "SELECT *,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id) AS verlegen_aktionen"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n WHERE begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id!");
- $begegnung = $rows[0];
-
- if (!empty($begegnung->zeitpunkt) && substr($begegnung->zeitpunkt, 0, 10) < $aktualisieren_ab_datum)
- $aktualisieren_ab_datum = substr($begegnung->zeitpunkt, 0, 10);
-
- if ($begegnung->heim_team_id != $heim_team_id || $begegnung->gast_team_id != $gast_team_id) {
- $query = "DELETE FROM #__sportsmanager_begegnung_historie WHERE begegnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else if ($begegnung->zeitpunkt != $zeitpunkt && $begegnung->verlegen_aktionen != 0) {
- $aktueller_zeitpunkt = date('Y-m-d H:i:s');
- $query = "INSERT INTO #__sportsmanager_begegnung_historie (begegnung_id, aktion, zeitpunkt, user_id, team_id, verantwortlich_team_id, kommentar, eingetragen)"
- . "\n VALUES ($id, 5, " . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", '$user_id', NULL, NULL, NULL, '$aktueller_zeitpunkt');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- if ($begegnung->heim_team_id != $heim_team_id || $begegnung->gast_team_id != $gast_team_id || $begegnung->zeitpunkt != $zeitpunkt || $begegnung->spieltag != $runde || $begegnung->spielort_id != $spielort_id || (empty($begegnung->tisch) != empty($tisch) || $begegnung->tisch != $tisch) || $begegnung->nichtraucherschutz != $nichtraucherschutz) {
- $query = "UPDATE #__sportsmanager_begegnung"
- . "\n SET zeitpunkt = " . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ","
- . "\n spieltag = " . ($runde != null ? "'$runde'" : "NULL") . ","
- . "\n heim_team_id = '$heim_team_id',"
- . "\n gast_team_id = '$gast_team_id',"
- . "\n spielort_id = " . ($spielort_id != 0 ? "'$spielort_id'" : "NULL") . ","
- . "\n tisch = '$tisch',"
- . "\n nichtraucherschutz = '$nichtraucherschutz'"
- . "\n WHERE begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
-
- if ($veranstaltung->status > 0) {
- if ($update && (empty($begegnung->tisch) != empty($tisch) || $begegnung->tisch != $tisch)) {
- $query = "SELECT *,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id) AS verlegen_aktionen"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n WHERE begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id!");
- $begegnung = $rows[0];
- begegnungTischChanged($begegnung, $heim_team, $gast_team);
- }
-
- if ($veranstaltung->elo_wertung > 0) {
- wannGespieltAktualisieren();
- eloAktualisieren($aktualisieren_ab_datum);
- einstufungAktualisieren();
- }
- }
-
- redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid . '#id' . $id);
-}
-
-function adminRemoveBegegnung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $id = $jinput->get('id', 0, 'INT');
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
-
- // Sicherstellen, dass Begegnung zu Veranstaltung gehört und Elo-Status abrufen
- $query = "SELECT status, elo_wertung, zeitpunkt"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id"
- . "\n INNER JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
- . "\n WHERE begegnung_id = $id AND veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- return;
- }
- $row = $rows[0];
-
- $elo_aktualisieren = $row->status != 0 && $row->elo_wertung != 0;
- $aktualisieren_ab_datum = !empty($row->zeitpunkt) ? substr($row->zeitpunkt, 0, 10) : null;
-
- $query = "DELETE FROM #__sportsmanager_begegnung_historie WHERE begegnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_unbestaetigtes_ergebnis WHERE begegnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_teamspiel WHERE begegnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_begegnung WHERE begegnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- if ($elo_aktualisieren) {
- wannGespieltAktualisieren();
- eloAktualisieren($aktualisieren_ab_datum);
- einstufungAktualisieren();
- }
- spielerstatistikAktualisieren(0, $veranstaltungid);
- teamstatistikAktualisieren($veranstaltungid);
-
- redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid);
-}
-
-function adminHeimtauschBegegnung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $id = $jinput->get('id', 0, 'INT');
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
-
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
-
- $query = "SELECT * FROM #__sportsmanager_begegnung WHERE begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id!");
- $row = $rows[0];
-
- // Sicherstellen, dass mindestens ein Team zur Veranstaltung gehört
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE team_id = $row->heim_team_id AND veranstaltung_id = $veranstaltungid"
- . "\n ORDER BY teamname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 1) die ("Wrong id!");
-
- $query = "UPDATE #__sportsmanager_begegnung"
- . "\n SET heim_team_id = (@temp_heim_team_id := heim_team_id), heim_team_id = gast_team_id,"
- . "\n gast_team_id = @temp_heim_team_id,"
- . "\n heim_punkte = (@temp_heim_punkte := heim_punkte), heim_punkte = gast_punkte,"
- . "\n gast_punkte = @temp_heim_punkte,"
- . "\n heim_spielpunkte = (@temp_heim_spielpunkte := heim_spielpunkte), heim_spielpunkte = gast_spielpunkte,"
- . "\n gast_spielpunkte = @temp_heim_spielpunkte"
- . "\n WHERE begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "UPDATE #__sportsmanager_teamspiel"
- . "\n SET heim_spieler_1_id = (@temp_heim_spieler_1_id := heim_spieler_1_id), heim_spieler_1_id = gast_spieler_1_id,"
- . "\n gast_spieler_1_id = @temp_heim_spieler_1_id,"
- . "\n heim_spieler_2_id = (@temp_heim_spieler_2_id := heim_spieler_2_id), heim_spieler_2_id = gast_spieler_2_id,"
- . "\n gast_spieler_2_id = @temp_heim_spieler_2_id,"
- . "\n teamspiel_heim_punkte = (@temp_teamspiel_heim_punkte := teamspiel_heim_punkte), teamspiel_heim_punkte = teamspiel_gast_punkte,"
- . "\n teamspiel_gast_punkte = @temp_teamspiel_heim_punkte,"
- . "\n teamspiel_heim_spielpunkte = (@temp_teamspiel_heim_spielpunkte := teamspiel_heim_spielpunkte), teamspiel_heim_spielpunkte = teamspiel_gast_spielpunkte,"
- . "\n teamspiel_gast_spielpunkte = @temp_teamspiel_heim_spielpunkte"
- . "\n WHERE begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- termin_aktualisieren($id);
-
- redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid . '#id' . $id);
-}
-
-function adminEditBegegnungSpielplan($bestaetigen) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
-
- $user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : JFactory::getUser()->id);
- $erneut_oeffnen = $jinput->get('erneut_oeffnen', 0, 'INT');
-
- if ($bestaetigen == 2) {
- $pin = $db->escape(trim($jinput->get('pin', '', 'RAW')));
- if (empty($pin)) {
- $encrypted_pin = $db->escape($jinput->get('epin', '', 'RAW'));
- if (empty($encrypted_pin)) {
- redirectSportsManagerURL(null, "Keine PIN eingegeben.");
- jexit();
- }
- $id = $jinput->get('id', 0, 'INT');
- if ($id == 0) die("Missing id!");
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
- $aus_uebersicht = $jinput->get('aus_uebersicht', 0, 'INT');
- $pin = decrypt($encrypted_pin, "a9cZ" . $veranstaltungid . "oDS7" . $id . "2eA");
- }
-
- $query = "SELECT t1.begegnung_id, t5.veranstaltung_id, IF(t2.pin = '$pin', heim_team_id, gast_team_id) AS aktion_team_id, IF(t2.pin = '$pin', gast_team_id, heim_team_id) AS anderes_team_id"
- . "\n FROM #__sportsmanager_begegnung AS t1"
- . "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
- . "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
- . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
- . "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
- . "\n WHERE t5.status > 0 " . kategorieFilter("AND t5.kategorie IN") . " AND ((ISNULL(heim_punkte) AND ISNULL(gast_punkte)) OR zwischenergebnis OR NOT ISNULL(unbestaetigtes_ergebnis_id)) AND ((NOT ISNULL(t2.pin) AND t2.pin = '$pin') OR (NOT ISNULL(t3.pin) AND t3.pin = '$pin'))"
- . "\n ORDER BY t1.zeitpunkt"
- . "\n LIMIT 1";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- if (count($rows) == 0) {
- redirectSportsManagerURL(null, "Keine offene Begegnung zur PIN gefunden.");
- jexit();
- }
-
- $id = $rows[0]->begegnung_id;
- $veranstaltungid = $rows[0]->veranstaltung_id;
- $aus_uebersicht = 0;
- $aktion_team_id = $rows[0]->aktion_team_id;
- $anderes_team_id = $rows[0]->anderes_team_id;
- }
- else {
- $pin = "";
- $id = $jinput->get('id', 0, 'INT');
- if ($id == 0) die("Missing id!");
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
- $aus_uebersicht = $jinput->get('aus_uebersicht', 0, 'INT');
- }
-
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
-
- $teamspiel_modus_id = $veranstaltung->modus_id;
-
- $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $teamspiel_modus_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $teamspiel_modus = $rows[0];
-
- $query = "SELECT t1.*, t2.unbestaetigtes_ergebnis_id, t2.kommentar, t2.zwischenergebnis,";
- $query .= "\n (SELECT COUNT(*) FROM #__sportsmanager_berechtigt_fuer_team AS tt1 WHERE tt1.berechtigt_user_id = $user_id AND (tt1.berechtigt_team_id = t1.heim_team_id OR tt1.berechtigt_team_id = t1.gast_team_id)) AS berechtigt_fuer_team_eintragen,";
- if ($bestaetigen != 2) {
- $query .= "\n (SELECT COUNT(*) FROM #__sportsmanager_berechtigt_fuer_team AS tt1 WHERE tt1.berechtigt_user_id = $user_id AND ((tt1.berechtigt_team_id = t1.heim_team_id AND t4.vorschlagendes_team_id = t1.gast_team_id) OR (tt1.berechtigt_team_id = t1.gast_team_id AND t4.vorschlagendes_team_id = t1.heim_team_id))) AS berechtigt_fuer_team_akzeptieren";
- } else {
- $query .= "\n IF(t4.vorschlagendes_team_id = $anderes_team_id, 1, 0) AS berechtigt_fuer_team_akzeptieren";
- }
- $query .= "\n FROM #__sportsmanager_begegnung AS t1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t2 ON t1.begegnung_id = t2.begegnung_id"
- . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
- . "\n WHERE t1.begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id!");
- $begegnung = $rows[0];
-
- // Vorgeschlagene Termine ermitteln
- $query = "SELECT #__sportsmanager_begegnung_historie.*, team.teamname as team, user.username, user.name, verantwortlich_team.teamname as verantwortlich_team"
- . "\n FROM #__sportsmanager_begegnung_historie"
- . "\n LEFT JOIN #__sportsmanager_team AS team USING (team_id)"
- . "\n LEFT JOIN #__sportsmanager_team AS verantwortlich_team ON verantwortlich_team.team_id = verantwortlich_team_id"
- . "\n LEFT JOIN #__users AS user ON user.id = user_id"
- . "\n WHERE begegnung_id = $id"
- . "\n ORDER BY begegnung_historie_id DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $verlegen_aktionen = $db->loadObjectList();
-
- if ($bestaetigen == 1) {
- if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0))
- keinZugriff();
-
- $query = "SELECT t1.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team AS t1, #__sportsmanager_begegnung WHERE begegnung_id = $id AND berechtigt_user_id = $user_id AND (berechtigt_team_id = heim_team_id OR berechtigt_team_id = gast_team_id)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 0)
- keinZugriff(true);
- }
- else if ($bestaetigen == 2) {
- //
- }
- else {
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
- }
-
- $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $heim_team = $rows[0];
-
- if ($veranstaltungid != $heim_team->veranstaltung_id)
- die("Wrong id!");
-
- $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $gast_team = $rows[0];
-
- $query = "SELECT * FROM #__sportsmanager_teamspiel WHERE begegnung_id = $id ORDER BY teamspiel_nummer";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_mitglied_von_team as t1"
- . "\n INNER JOIN #__sportsmanager_spieler AS t2 USING (spieler_id)"
- . "\n WHERE team_id = $begegnung->heim_team_id AND NOT t1.ausgetreten " . ($begegnung->spieltag != null ? "AND (ISNULL(t1.erster_spieltag) OR t1.erster_spieltag <= $begegnung->spieltag) AND (ISNULL(t1.letzter_spieltag) OR $begegnung->spieltag <= t1.letzter_spieltag) " : "")
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $heim_spieler = $db->loadObjectList();
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_mitglied_von_team as t1"
- . "\n INNER JOIN #__sportsmanager_spieler AS t2 USING (spieler_id)"
- . "\n WHERE team_id = $begegnung->gast_team_id AND NOT t1.ausgetreten " . ($begegnung->spieltag != null ? "AND (ISNULL(t1.erster_spieltag) OR t1.erster_spieltag <= $begegnung->spieltag) AND (ISNULL(t1.letzter_spieltag) OR $begegnung->spieltag <= t1.letzter_spieltag) " : "")
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $gast_spieler = $db->loadObjectList();
-
- $encrypted_pin = encrypt($pin, "a9cZ" . $veranstaltung->veranstaltung_id . "oDS7" . $id . "2eA");
- // Spielort ermitteln
- $spielortQuery = "SELECT name FROM #__sportsmanager_spielort WHERE spielort_id = \""
- . (JFactory::getApplication()->input->getCmd('spielort_heim') == 1
- ? $heim_team->heimspielort_id
- : $begegnung->spielort_id) . "\"";
- $db->setQuery($spielortQuery);
- $begegnung->spielort_name = $db->loadResult();
-
-
- if (isJson()) {
- $response = JSON_sportsmanager::adminEditBegegnungSpielplan($bestaetigen, $veranstaltung, $begegnung, $heim_team, $gast_team, $spiele, $heim_spieler, $gast_spieler, $teamspiel_modus, $encrypted_pin, count($verlegen_aktionen), $erneut_oeffnen, $aus_uebersicht);
- JSON_sportsmanager::JSON($response);
- } else {
- HTML_sportsmanager_admin::adminEditBegegnungSpielplan($bestaetigen, $veranstaltung, $begegnung, $heim_team, $gast_team, $spiele, $heim_spieler, $gast_spieler, $teamspiel_modus, $encrypted_pin, count($verlegen_aktionen), $erneut_oeffnen, $aus_uebersicht);
- HTML_sportsmanager_admin::adminVerlegenVerlauf($verlegen_aktionen);
- }
-
-}
-
+ if ($verein_explizit == 0) {
+ // Vereine der Organisation als ausgetreten notieren, die keine aktiven Mitglieder haben
+ foreach ($veranstalter as $veranstalterId) {
+ if ($veranstalterId != -1) {
+ $query = "UPDATE #__sportsmanager_verein"
+ . "\n SET ausgetreten = TRUE"
+ . "\n WHERE NOT EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AND NOT ausgetreten AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId");
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+
+ // Vereine der Organisation aus nicht ausgetreten notieren, die aktive Mitglieder haben, aber als ausgetreten notiert sind
+ foreach ($veranstalter as $v => $veranstalterId) {
+ if ($veranstalterId != -1) {
+ $query = "SELECT vereinsname"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AND ausgetreten AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId");
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ $query = "UPDATE #__sportsmanager_verein"
+ . "\n SET ausgetreten = FALSE"
+ . "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AND ausgetreten AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId");
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ foreach ($rows as $row)
+ $ausgetreteneVereineMitAktivenMitgliedern[] = $row->vereinsname;
+
+ $query = "SELECT DISTINCT verein_id, #__sportsmanager_spieler_import.vereinsname, #__sportsmanager_spieler_import.vereinssitz"
+ . "\n FROM #__sportsmanager_spieler_import"
+ . "\n INNER JOIN #__sportsmanager_verein ON #__sportsmanager_verein.vereinsname = #__sportsmanager_spieler_import.vereinsname"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND " . ($v == null ? "ISNULL(#__sportsmanager_spieler_import.veranstalterbezeichnung)" : ("#__sportsmanager_spieler_import.veranstalterbezeichnung = '" . $db->escape($v) . "'")) . " AND #__sportsmanager_spieler_import.vereinsname != '' AND #__sportsmanager_spieler_import.vereinssitz != '' AND (ISNULL(#__sportsmanager_verein.vereinssitz) OR #__sportsmanager_verein.vereinssitz != #__sportsmanager_spieler_import.vereinssitz) AND NOT #__sportsmanager_verein.ausgetreten AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId");
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ foreach ($rows as $row) {
+ $query = "UPDATE #__sportsmanager_verein"
+ . "\n SET vereinssitz = '" . $db->escape($row->vereinssitz) . "'"
+ . "\n WHERE verein_id = $row->verein_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+ }
+
+ $query = "DELETE FROM #__sportsmanager_spieler_import"
+ . "\n WHERE session_id = '" . $db->escape($session_id) . "'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ sort($vereineManuell);
+ sort($ausgetreteneVereineMitAktivenMitgliedern);
+
+ aktuellerVereinAktualisieren();
+ if ($kategorie_potentiell_geaendert) {
+ ranglisteAktualisieren();
+ einstufungAktualisieren();
+ }
+
+ HTML_sportsmanager_admin::adminImportSpielerBericht($aktualisierungen, $spielerHinzugefuegt, $vereineHinzugefuegt, $spieler_import, $vereineManuell, $ausgetreteneVereineMitAktivenMitgliedern, $kategorie_potentiell_geaendert, redirectSessionIdEmpty() ? null : redirectSessionIdSetzen());
+}
+
+function adminExportSpielerInternationalForm(): void
+{
+ if (!benutzerZugriff("spieler_aendern"))
+ keinZugriff(true);
+
+ HTML_sportsmanager_admin::adminExportSpielerInternational();
+}
+
+function csvFilter($value, $decode = true): string
+{
+ if ($value === null)
+ return "";
+ if ($decode)
+ $value = utf8_decode($value);
+ $value = str_replace('"', '""', $value);
+
+ // escape tab characters
+ $value = preg_replace("/\t/", "\\t", $value);
+
+ // escape new lines
+ $value = preg_replace("/\r?\n/", "\\n", $value);
+
+ return '="' . $value . '"';
+}
+
+#[NoReturn] function adminExportSpielerInternational(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spieler_aendern"))
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spieler');
+ }
+
+ $persoenliche_daten = $jInput->get('persoenliche_daten', 0, 'INT'); // 0: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr.", 1: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr., Geburtsdatum", "Alle"
+ $landeskennung = $db->escape(trim($jInput->get('landeskennung', '', 'RAW')));
+
+ $query = "SELECT lizenznr, vorname, nachname, spielernr, geschlecht, geburtsjahr";
+ if ($persoenliche_daten == 1)
+ $query .= ",\n email, strasse, plz, ort, landeskennung, telefon, mobil, pseudonym";
+ $query .= "\n FROM #__sportsmanager_spieler"// . "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein AS t1 LEFT JOIN #__sportsmanager_verein AS t2 USING (verein_id) WHERE t1.spieler_id = #__sportsmanager_spieler.spieler_id AND t2.veranstalter_id = $veranstalterId AND NOT t1.ausgetreten AND NOT t2.ausgetreten)"
+ . "\n WHERE NOT ISNULL(aktueller_verein_id)"
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ if (count($rows) == 0) {
+ redirectSportsManagerURL('&task=admin_spieler_export_international_form', "Zu dieser Auswahl sind keine Spielerdaten vorhanden!");
+ }
+
+ $dateiname = "Spieler international " . date('Y-m-d') . ".csv";
+ $dateiname = bereinigterDateiname($dateiname);
+
+ ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
+ Header("Content-Type: text/x-csv");
+ Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
+ Header('Content-Disposition: attachment; filename="' . $dateiname . '"');
+ Header("Pragma: no-cache");
+
+ $trennzeichen = "\t";
+
+ $header = "ITSF Number\tGender\tFirst Name\tLAST NAME\tNationality\tYear of birth\tNational Code\tPlayer in wheelchair ?\tE-mail\tCountry of residence\tAddress\tZip/Postal Code\tCity\tPhone\tProfession";
+ echo "sep=" . $trennzeichen . "\n" . $header . "\n";
+ foreach ($rows as $row) {
+ echo csvFilter($row->lizenznr) . $trennzeichen
+ . csvFilter($row->geschlecht == "M" ? "M" : "F") . $trennzeichen
+ . csvFilter($row->vorname) . $trennzeichen
+ . csvFilter($row->nachname) . $trennzeichen
+ . csvFilter($landeskennung) . $trennzeichen
+ . csvFilter($row->geburtsjahr) . $trennzeichen
+ . csvFilter($row->spielernr) . $trennzeichen
+ . "N" . $trennzeichen;
+ if ($persoenliche_daten == 1) {
+ echo csvFilter($row->email) . $trennzeichen
+ . csvFilter($row->landeskennung) . $trennzeichen
+ . csvFilter($row->strasse) . $trennzeichen
+ . csvFilter($row->plz) . $trennzeichen
+ . csvFilter($row->ort) . $trennzeichen
+ . csvFilter($row->telefon) . $trennzeichen
+ . "\n";
+ } else {
+ echo $trennzeichen
+ . $trennzeichen
+ . $trennzeichen
+ . $trennzeichen
+ . $trennzeichen
+ . $trennzeichen
+ . "\n";
+ }
+ }
+ die();
+}
+
+function adminExportSpielerForm(): void
+{
+ $db = getDatabase();
+
+ $ansprechpartner_exportieren = einstellungswert("ansprechpartner_exportieren");
+
+ if (benutzerZugriff("spieler_aendern"))
+ $beschraenkter_zugriff = 0;
+ else if (($ansprechpartner_exportieren == 1 || $ansprechpartner_exportieren == 2) && benutzerVeranstalterModerator())
+ $beschraenkter_zugriff = 1;
+ else
+ keinZugriff(true);
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE #__sportsmanager_verein.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten)";
+ if ($beschraenkter_zugriff)
+ $query .= " AND" . veranstalterFilter("veranstalter_id IN");
+ $query .= "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
+
+ if (!$beschraenkter_zugriff) {
+ $query = "SELECT #__sportsmanager_verein.verein_id, vereinsname, veranstalterbezeichnung"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . "\n WHERE NOT ausgetreten AND EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.verein_id = #__sportsmanager_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten)"
+ . "\n ORDER BY veranstalterbezeichnung, vereinsname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereine = $db->loadObjectList();
+ } else {
+ $vereine = array();
+ }
+
+ HTML_sportsmanager_admin::adminExportSpieler($beschraenkter_zugriff, $ansprechpartner_exportieren, $veranstalter, $vereine);
+}
+
+#[NoReturn] function adminExportSpieler(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $ansprechpartner_exportieren = einstellungswert("ansprechpartner_exportieren");
+
+ $beschraenkter_zugriff = null;
+ if (benutzerZugriff("spieler_aendern"))
+ $beschraenkter_zugriff = 0;
+ else if (($ansprechpartner_exportieren == 1 || $ansprechpartner_exportieren == 2) && benutzerVeranstalterModerator())
+ $beschraenkter_zugriff = 1;
+ else
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spieler');
+ }
+
+ $veranstalterId = $jInput->get('veranstalterid', 0, 'INT');
+ if ($beschraenkter_zugriff) {
+ if (!benutzerVeranstalterModerator($veranstalterId))
+ $veranstalterId = 0;
+ $verein_explizit = 0;
+ $ausgetretene = 0;
+ if ($ansprechpartner_exportieren != 1)
+ $persoenliche_daten = $jInput->get('persoenliche_daten', 0, 'INT'); // 0: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr.", 1: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr., Geburtsdatum", "Alle"
+ else
+ $persoenliche_daten = 0;
+ $organisatorische_daten = 0;
+ $statistische_daten = 1;
+ } else {
+ $verein_explizit = $veranstalterId < 0 ? abs($veranstalterId) : 0;
+
+ $ausgetretene = $jInput->get('ausgetretene', 0, 'INT'); // "Nein", "Ja"
+ $persoenliche_daten = $jInput->get('persoenliche_daten', 0, 'INT'); // 0: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr.", 1: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr., Geburtsdatum", "Alle"
+ $organisatorische_daten = $jInput->get('organisatorische_daten', 0, 'INT'); // 0: "Verein, Vereinssitz, Wettbewerb, Mannschaft, Ausgetreten", 1: "Ausgetreten"
+ $statistische_daten = $jInput->get('statistische_daten', 0, 'INT'); // 0: "Elo-Werte, Kategorie, Zuletzt gespielt", 1: "Kategorie", 2: "Keine"
+ }
+
+ $verein = null;
+ $veranstalter = null;
+ if ($verein_explizit != 0) {
+ $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $verein_explizit";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $verein = $rows[0];
+ } else if ($veranstalterId != 0) {
+ $query = "SELECT * FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $veranstalterId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $veranstalter = $rows[0];
+ }
+
+ $jahr = date("Y");
+ $query = "SELECT nachname, vorname, spielernr, lizenznr, lizenz, geschlecht";
+ if ($statistische_daten != 2)
+ $query .= ",\n IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie";
+ if ($organisatorische_daten != 2)
+ $query .= ",\n vereinsname as verein, vereinssitz, veranstalterbezeichnung as organisation, IF(mitgliedsstatus = 1, 'Aktiv', IF(mitgliedsstatus = 0, 'Ausgetreten', IF(mitgliedsstatus = 2, 'Eingeschränkt', 'Passiv'))) AS mitgliedsstatus";
+ else if ($ausgetretene != 0)
+ $query .= ", IF(ISNULL(aktueller_verein_id), 'Ausgetreten', 'Aktiv') as mitgliedsstatus";
+ if ($persoenliche_daten == 0)
+ $query .= ",\n geburtsjahr";
+ if ($persoenliche_daten != 0)
+ $query .= ",\n geburtsjahr, geburtsdatum";
+ if ($persoenliche_daten == 2)
+ $query .= ",\n email, strasse, plz, ort, landeskennung, telefon, mobil, pseudonym";
+ if ($organisatorische_daten == 1)
+ $query .= ",\n (SELECT bezeichnung FROM #__sportsmanager_mitglied_von_team, #__sportsmanager_team, #__sportsmanager_veranstaltung WHERE #__sportsmanager_spieler.spieler_id = #__sportsmanager_mitglied_von_team.spieler_id AND NOT #__sportsmanager_mitglied_von_team.ausgetreten AND #__sportsmanager_team.team_id = #__sportsmanager_mitglied_von_team.team_id AND #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id AND #__sportsmanager_veranstaltung.status > 0 AND CURDATE() BETWEEN erster_tag AND letzter_tag ORDER BY YEAR(#__sportsmanager_veranstaltung.letzter_tag) DESC, #__sportsmanager_veranstaltung.reihenfolge, #__sportsmanager_veranstaltung.letzter_tag DESC, #__sportsmanager_veranstaltung.bezeichnung, #__sportsmanager_team.teamname, #__sportsmanager_veranstaltung.kategorie LIMIT 1) AS wettbewerb,"
+ . "\n (SELECT teamname FROM #__sportsmanager_mitglied_von_team, #__sportsmanager_team, #__sportsmanager_veranstaltung WHERE #__sportsmanager_spieler.spieler_id = #__sportsmanager_mitglied_von_team.spieler_id AND NOT #__sportsmanager_mitglied_von_team.ausgetreten AND #__sportsmanager_team.team_id = #__sportsmanager_mitglied_von_team.team_id AND #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id AND #__sportsmanager_veranstaltung.status > 0 AND CURDATE() BETWEEN erster_tag AND letzter_tag ORDER BY YEAR(#__sportsmanager_veranstaltung.letzter_tag) DESC, #__sportsmanager_veranstaltung.reihenfolge, #__sportsmanager_veranstaltung.letzter_tag DESC, #__sportsmanager_veranstaltung.bezeichnung, #__sportsmanager_team.teamname, #__sportsmanager_veranstaltung.kategorie LIMIT 1) AS mannschaft";
+ if ($statistische_daten == 0)
+ $query .= ",\n zuletzt_gespielt, elo_einzel, elo_einzel_spiele, elo_doppel, elo_doppel_spiele";
+ $query .= "\n FROM #__sportsmanager_spieler";
+ if ($organisatorische_daten != 2) {
+ $query .= "\n LEFT JOIN #__sportsmanager_mitglied_von_verein USING (spieler_id)"
+ . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)";
+ }
+
+ if ($verein_explizit != 0) {
+ if ($ausgetretene != 0)
+ $query .= "\n WHERE #__sportsmanager_verein.verein_id = $verein_explizit";
+ else
+ $query .= "\n WHERE #__sportsmanager_verein.verein_id = $verein_explizit AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten";
+ } else if ($veranstalterId != 0) {
+ if ($ausgetretene != 0) {
+ if ($organisatorische_daten == 0)
+ $query .= "\n WHERE #__sportsmanager_verein.veranstalter_id = $veranstalterId";
+ else
+ $query .= "\n WHERE (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein AS t1 LEFT JOIN #__sportsmanager_verein AS t2 USING (verein_id) WHERE t1.spieler_id = #__sportsmanager_spieler.spieler_id AND t2.veranstalter_id = $veranstalterId) > 0";
+ } else {
+ if ($organisatorische_daten == 0)
+ $query .= "\n WHERE #__sportsmanager_verein.veranstalter_id = $veranstalterId AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten";
+ else
+ $query .= "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein AS t1 LEFT JOIN #__sportsmanager_verein AS t2 USING (verein_id) WHERE t1.spieler_id = #__sportsmanager_spieler.spieler_id AND t2.veranstalter_id = $veranstalterId AND NOT t1.ausgetreten AND NOT t2.ausgetreten)";
+ }
+ } else if ($ausgetretene == 0) {
+ $query .= "\n WHERE NOT ISNULL(aktueller_verein_id)";
+ if ($organisatorische_daten == 0)
+ $query .= " AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten";
+ }
+ if ($organisatorische_daten == 0)
+ $query .= "\n ORDER BY nachname, vorname, IF(ISNULL(IF(ISNULL(aktueller_verein_id), #__sportsmanager_mitglied_von_verein.ausgetreten, NULL)), 1, 0), IF(ISNULL(aktueller_verein_id), #__sportsmanager_mitglied_von_verein.ausgetreten, NULL), verein";
+ else
+ $query .= "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ if (count($rows) == 0) {
+ redirectSportsManagerURL('&task=admin_spieler_export_form', "Zu dieser Auswahl sind keine Spielerdaten vorhanden!");
+ }
+
+ $dateiname = "Spieler";
+ if ($verein_explizit != 0)
+ $dateiname .= " " . utf8_decode($verein->vereinsname);
+ else if ($veranstalterId != 0)
+ $dateiname .= " " . utf8_decode($veranstalter->veranstalterbezeichnung);
+ $dateiname .= " " . date('Y-m-d') . ".csv";
+ $dateiname = bereinigterDateiname($dateiname);
+ ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
+ Header("Content-Type: text/x-csv");
+ Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
+ Header('Content-Disposition: attachment; filename="' . $dateiname . '"');
+ Header("Pragma: no-cache");
+
+ $trennzeichen = "\t";
+
+ $header = "";
+ foreach ($rows[0] as $field => $value)
+ $header .= $field . $trennzeichen;
+
+ $data = "";
+ foreach ($rows as $row) {
+ $line = '';
+ foreach ($row as $value) {
+ if ((!isset($value)) or ($value == "")) {
+ $value = $trennzeichen;
+ } else {
+ $value = str_replace('"', '""', $value);
+ $value = str_replace("\t", ' ', $value);
+ $value = str_replace("\r", '', $value);
+ $value = str_replace("\n", ' ', $value);
+ $value = '="' . $value . '"' . $trennzeichen;
+ }
+ $line .= $value;
+ }
+ $data .= trim($line) . "\n";
+ }
+ $data = str_replace("\r", "", $data);
+
+ echo "sep=" . $trennzeichen . "\n" . $header . "\n" . utf8_decode($data);
+
+ die();
+}
+
+#[NoReturn] function adminExportSpielerSport(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("spieler_aendern") && !benutzerVeranstalterModerator())
+ keinZugriff(true);
+
+ $jahr = date("Y");
+ $query = "SELECT *,"
+ . " IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie, vereinsname"
+ . "\n FROM #__sportsmanager_spieler";
+
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ $query .= "\n INNER JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ $dateiname = "Spieler " . date('Y-m-d') . ".csv";
+ ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
+ Header("Content-Type: text/x-csv; charset=utf-8;");
+ Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
+ Header('Content-Disposition: attachment; filename="' . $dateiname . '"');
+ Header("Pragma: no-cache");
+ echo "NAME#VORNAME#GESCHLECHT#VEREIN#STRASSE#PLZ/ORT#TELEFON#FAX#MOBILE#EMAIL#BEMERKUNG#SPIELERPASS#GEBURTSDATUM\r\n";
+
+ $wiederholung_zaehler = 0;
+ foreach ($rows as $index => $row) {
+ $spielernr = $row->spielernr != null && $row->spielernr != "" ? $row->spielernr : "N/A";
+ $lizenznr = $row->lizenznr != null && $row->lizenznr != "" ? $row->lizenznr : "N/A";
+ $kategorie = array("H" => "Herren", "D" => "Damen", "J" => "Junioren", "S" => "Senioren");
+ $kommentar = $kategorie[$row->kategorie];
+ if ($lizenznr != null && $row->lizenznr != "")
+ $kommentar .= " / " . $lizenznr;
+ $vorname = $row->vorname;
+ $nachname = $row->nachname;
+ $naechster_name = isset($rows[$index + 1]) ? ($rows[$index + 1]->nachname . ", " . $rows[$index + 1]->vorname) : null;
+ $name = $nachname . ", " . $vorname;
+ if ($name == $naechster_name || $wiederholung_zaehler > 0) // Sports Manager macht einen case sensitive-Vergleich
+ $vorname .= " (" . ($wiederholung_zaehler + 1) . ")";
+ if ($name == $naechster_name)
+ $wiederholung_zaehler++;
+ else
+ $wiederholung_zaehler = 0;
+ echo utf8_decode($nachname . "#" . $vorname . "#" . ($row->geschlecht == 'M' ? "M" : "F") . "#"
+ . ($row->vereinsname != null ? $row->vereinsname : "Keiner") . "#######" . $kommentar . "#" . $spielernr . "#\r\n");
+ }
+ die();
+}
+
+function adminVereine(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT COUNT(DISTINCT veranstalter_id) FROM #__sportsmanager_verein WHERE NOT ausgetreten";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $organisationAnzeigen = $db->loadResult() > 1;
+
+ $query = "SELECT *,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AS mitglieder"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . "\n ORDER BY IF(ISNULL(#__sportsmanager_veranstalter.veranstalter_id), 1, 0), veranstalterbezeichnung, ausgetreten, vereinsname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereine = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminVereine($vereine, $organisationAnzeigen);
+}
+
+function adminEditVerein(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $row = null;
+ if ($id == null) {
+ $berechtigt_fuer_verein = null;
+ $vereinsansprechpartner = null;
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 1)
+ $row = $rows[0];
+
+ $query = "SELECT t1.* FROM #__sportsmanager_berechtigt_fuer_verein AS t1, #__users AS t2 WHERE t1.berechtigt_user_id = t2.id AND berechtigt_verein_id = $id ORDER BY username, name";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $berechtigt_fuer_verein = $db->loadObjectList();
+
+ $query = "SELECT * FROM #__sportsmanager_vereinsansprechpartner WHERE verein_id = $id ORDER BY vereinsansprechpartner_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereinsansprechpartner = $db->loadObjectList();
+ }
+
+ $query = "SELECT * FROM #__users ORDER BY name, username";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $users = $db->loadObjectList();
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminEditVerein($row, $users, $veranstalter, $berechtigt_fuer_verein, $vereinsansprechpartner);
+}
+
+#[NoReturn] function adminSaveVerein(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff();
+
+ $id = $jInput->get('id', 0, 'INT');
+ $vereinsname = $db->escape(trim($jInput->get('vereinsname', '', 'RAW')));
+ $vereinssitz = $db->escape(trim($jInput->get('vereinssitz', '', 'RAW')));
+ $vereinssitz_ortsteil = $db->escape(trim($jInput->get('vereinssitz_ortsteil', '', 'RAW')));
+ $veranstalter_id = $jInput->get('veranstalter_id', 0, 'INT');
+ $url = $db->escape(trim($jInput->get('url', '', 'RAW')));
+ $beschreibung = $db->escape(trim($jInput->get('beschreibung', '', 'RAW')));
+ $ausgetreten = $jInput->get('ausgetreten', 0, 'INT');
+ $bildbeibehalten = $jInput->get('bildbeibehalten', 0, 'INT');
+
+ $berechtigt_fuer_verein_user_ids = array($jInput->get('berechtigt_fuer_verein_user_1_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_verein_user_2_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_verein_user_3_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_verein_user_4_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_verein_user_5_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_verein_user_6_id', 0, 'INT'));
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_vereine#id' . $id);
+ }
+
+ if ($id == 0) {
+ $query = "INSERT INTO #__sportsmanager_verein (vereinsname, vereinssitz, vereinssitz_ortsteil, veranstalter_id, url, beschreibung, ausgetreten)"
+ . "\n VALUES ('$vereinsname', '$vereinssitz', '$vereinssitz_ortsteil', " . ($veranstalter_id != 0 ? "'$veranstalter_id'" : "NULL") . ", '$url', '$beschreibung', " . ($ausgetreten ? "TRUE" : "FALSE") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $query = "UPDATE #__sportsmanager_verein"
+ . "\n SET vereinsname = '$vereinsname',"
+ . "\n vereinssitz = '$vereinssitz',"
+ . "\n vereinssitz_ortsteil = '$vereinssitz_ortsteil',"
+ . "\n veranstalter_id = " . ($veranstalter_id != 0 ? "'$veranstalter_id'" : "NULL") . ","
+ . "\n url = '$url',"
+ . "\n beschreibung = '$beschreibung',"
+ . "\n ausgetreten = " . ($ausgetreten ? "TRUE" : "FALSE")
+ . "\n WHERE verein_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ // Vereinsvertreter speichern
+
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_verein WHERE berechtigt_verein_id = $id AND berechtigt_user_id != $berechtigt_fuer_verein_user_ids[0] AND berechtigt_user_id != $berechtigt_fuer_verein_user_ids[1] AND berechtigt_user_id != $berechtigt_fuer_verein_user_ids[2] AND berechtigt_user_id != $berechtigt_fuer_verein_user_ids[3] AND berechtigt_user_id != $berechtigt_fuer_verein_user_ids[4] AND berechtigt_user_id != $berechtigt_fuer_verein_user_ids[5];";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_verein WHERE berechtigt_verein_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ for ($nummer = 0; $nummer <= 5; $nummer++) {
+ $berechtigt_user_id = $berechtigt_fuer_verein_user_ids[$nummer];
+ if ($berechtigt_user_id != 0) {
+ $gefunden = false;
+ foreach ($rows as $row) {
+ if ($row->berechtigt_user_id == $berechtigt_user_id)
+ $gefunden = true;
+ }
+ if (!$gefunden) {
+ $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_verein (berechtigt_user_id, berechtigt_verein_id) VALUES ('$berechtigt_user_id', '$id');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+
+ // Ansprechpartner speichern
+
+ for ($nummer = 1; $nummer <= 3; $nummer++) {
+ $vereinsansprechpartner_id = $jInput->get('vereinsansprechpartner_' . $nummer . '_id', 0, 'INT');
+ $vereinsansprechpartner_vorname = trim($jInput->get('vereinsansprechpartner_' . $nummer . '_vorname', '', 'RAW'));
+ $vereinsansprechpartner_nachname = trim($jInput->get('vereinsansprechpartner_' . $nummer . '_nachname', '', 'RAW'));
+ $vereinsansprechpartner_telefon = trim($jInput->get('vereinsansprechpartner_' . $nummer . '_telefon', '', 'RAW'));
+ $vereinsansprechpartner_mobil = trim($jInput->get('vereinsansprechpartner_' . $nummer . '_mobil', '', 'RAW'));
+ $vereinsansprechpartner_email = trim($jInput->get('vereinsansprechpartner_' . $nummer . '_email', '', 'RAW'));
+
+ if ($vereinsansprechpartner_id == 0) {
+ if (strlen($vereinsansprechpartner_vorname) > 0 || strlen($vereinsansprechpartner_nachname) > 0) {
+ $query = "INSERT INTO #__sportsmanager_vereinsansprechpartner (verein_id, vorname, nachname, telefon, mobil, email) VALUES ('$id', '$vereinsansprechpartner_vorname', '$vereinsansprechpartner_nachname', '$vereinsansprechpartner_telefon', '$vereinsansprechpartner_mobil', '$vereinsansprechpartner_email');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else {
+ if (strlen($vereinsansprechpartner_vorname) > 0 || strlen($vereinsansprechpartner_nachname) > 0) {
+ $query = "UPDATE #__sportsmanager_vereinsansprechpartner"
+ . "\n SET vorname = '$vereinsansprechpartner_vorname',"
+ . "\n nachname = '$vereinsansprechpartner_nachname',"
+ . "\n telefon = '$vereinsansprechpartner_telefon',"
+ . "\n mobil = '$vereinsansprechpartner_mobil',"
+ . "\n email = '$vereinsansprechpartner_email'"
+ . "\n WHERE vereinsansprechpartner_id = $vereinsansprechpartner_id";
+ } else {
+ $query = "DELETE FROM #__sportsmanager_vereinsansprechpartner WHERE vereinsansprechpartner_id = $vereinsansprechpartner_id;";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+
+ if ($bildbeibehalten == 0) {
+ bildLoeschen("vereine", $id);
+
+ if (!empty($_FILES["bild"]["tmp_name"])) {
+ if (is_uploaded_file($_FILES["bild"]["tmp_name"])) {
+ $size = getimagesize($_FILES["bild"]["tmp_name"]);
+ if (!$size
+ || ($size[2] != IMAGETYPE_JPEG && $size[2] != IMAGETYPE_PNG)
+ || ($size[0] < 60 || $size[1] < 60 || $size[0] > 8192 || $size[1] > 8192)) {
+ redirectSportsManagerURL('&task=admin_vereine', "Das Bild wurde nicht gespeichert, da es nicht im JPG/PNG-Format mit mindestens 90*90 und maximal 8192*8192 Bildpunkten vorliegt.");
+ }
+ $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'vereine';
+ if (!bildKopierenAngepasst($_FILES["bild"]["tmp_name"], $bilder_pfad . DIRECTORY_SEPARATOR . $id . ($size[2] == IMAGETYPE_PNG ? '.png' : '.jpg'), 240, 240, 0)) {
+ redirectSportsManagerURL('&task=admin_vereine', "Das Bild konnte nicht an die Zielposition kopiert werden.");
+ }
+ }
+ }
+ }
+
+ aktuellerVereinAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_vereine#id' . $id);
+}
+
+#[NoReturn] function adminRemoveVerein(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "UPDATE #__sportsmanager_team SET verein_id = NULL WHERE verein_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "UPDATE #__sportsmanager_rechnung SET verein_id = NULL WHERE verein_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE verein_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_verein WHERE berechtigt_verein_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_vereinsansprechpartner WHERE verein_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_verein WHERE verein_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ bildLoeschen("vereine", $id);
+
+ aktuellerVereinAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_vereine');
+}
+
+function adminVereineZusammenlegenForm(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT verein_id, vereinsname, veranstalterbezeichnung, ausgetreten"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . "\n ORDER BY veranstalterbezeichnung, vereinsname, ausgetreten";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereine = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminVereineZusammenlegen($vereine);
+}
+
+#[NoReturn] function adminVereineZusammenlegen(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff(true);
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_vereine');
+ }
+
+ $verein_beizubehalten_id = $jInput->get('verein_beizubehalten_id', 0, 'INT');
+ $verein_zu_entfernen_id = $jInput->get('verein_zu_entfernen_id', 0, 'INT');
+
+ if ($verein_beizubehalten_id == $verein_zu_entfernen_id) {
+ redirectSportsManagerURL('&task=admin_vereine#id' . $verein_beizubehalten_id, "Zum Zusammanlegen müssen zwei unterschiedliche Vereine gewählt werden");
+ }
+
+ $query = "UPDATE #__sportsmanager_mitglied_von_verein"
+ . "\n SET verein_id = $verein_beizubehalten_id"
+ . "\n WHERE verein_id = $verein_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "SELECT mitglied_von_verein_id, ausgetreten, spieler_id"
+ . "\n FROM #__sportsmanager_mitglied_von_verein"
+ . "\n WHERE #__sportsmanager_mitglied_von_verein.verein_id = $verein_beizubehalten_id"
+ . "\n ORDER BY spieler_id, IF(ausgetreten, 1, 0), ausgetreten DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ $spieler_id = null;
+ foreach ($rows as $row) {
+ if ($row->spieler_id == $spieler_id) {
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE mitglied_von_verein_id = $row->mitglied_von_verein_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else
+ $spieler_id = $row->spieler_id;
+ }
+
+
+ $query = "UPDATE #__sportsmanager_team"
+ . "\n SET verein_id = $verein_beizubehalten_id"
+ . "\n WHERE verein_id = $verein_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "UPDATE #__sportsmanager_rechnung"
+ . "\n SET verein_id = $verein_beizubehalten_id"
+ . "\n WHERE verein_id = $verein_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE verein_id = $verein_zu_entfernen_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_vereinsansprechpartner WHERE verein_id = $verein_zu_entfernen_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_verein WHERE berechtigt_verein_id = $verein_zu_entfernen_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_verein WHERE verein_id = $verein_zu_entfernen_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ bildLoeschen("vereine", $verein_zu_entfernen_id);
+
+ aktuellerVereinAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_vereine#id' . $verein_beizubehalten_id);
+}
+
+function adminVereinsmitglieder(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff(true);
+
+ $vereinId = $jInput->get('vereinid', 0, 'INT');
+ if ($vereinId == 0) die ("Wrong id!");
+
+ $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $vereinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereine = $db->loadObjectList();
+ if (count($vereine) < 1) die ("Wrong id");
+ $verein = $vereine[0];
+
+ $berechtigt_spieler_aendern = benutzerZugriff("spieler_aendern");
+
+ $query = "SELECT mitglied_von_verein_id, mitgliedsstatus, vorname, nachname, spielernr, #__sportsmanager_spieler.spieler_id"
+ . "\n FROM #__sportsmanager_mitglied_von_verein"
+ . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n WHERE #__sportsmanager_mitglied_von_verein.verein_id = $vereinId"
+ . "\n ORDER BY IF(mitgliedsstatus <> 0, 0, 1), mitgliedsstatus, nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereinsmitglieder = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminVereinsmitglieder($verein, $vereinsmitglieder, $berechtigt_spieler_aendern);
+}
+
+function adminEditVereinsmitglied(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ $vereinId = $jInput->get('vereinid', 0, 'INT');
+
+ $row = null;
+ if ($id !== 0) {
+ $query = "SELECT t1.*, t2.vorname, t2.nachname FROM #__sportsmanager_mitglied_von_verein AS t1 LEFT JOIN #__sportsmanager_spieler AS t2 ON t1.spieler_id = t2.spieler_id WHERE mitglied_von_verein_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 1)
+ $row = $rows[0];
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $vereinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereine = $db->loadObjectList();
+ if (count($vereine) < 1) die ("Wrong id");
+ $verein = $vereine[0];
+
+ $query = "SELECT spieler_id, vorname, nachname, spielernr FROM #__sportsmanager_spieler ORDER BY nachname, vorname, spielernr";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminEditVereinsmitglied($row, $verein, $spieler);
+}
+
+#[NoReturn] function adminSaveVereinsmitglied(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff();
+
+ $id = $jInput->get('id', 0, 'INT');
+ $spielerId = $jInput->get('spielerid', 0, 'INT');
+ $vereinId = $jInput->get('vereinid', 0, 'INT');
+ $mitgliedsstatus = $jInput->get('mitgliedsstatus', 0, 'INT');
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_vereinsmitglieder&vereinid=' . $vereinId);
+ }
+
+ if (empty($id)) {
+ $query = "INSERT INTO #__sportsmanager_mitglied_von_verein (spieler_id, verein_id, mitgliedsstatus, ausgetreten) VALUES ('$spielerId', '$vereinId', '1', FALSE);";
+ } else {
+ $query = "UPDATE #__sportsmanager_mitglied_von_verein"
+ . "\n SET mitgliedsstatus = '" . $mitgliedsstatus . "',"
+ . "\n ausgetreten = " . ($mitgliedsstatus == 0 ? "TRUE" : "FALSE")
+ . "\n WHERE mitglied_von_verein_id = $id";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ aktuellerVereinAktualisieren($spielerId);
+
+ redirectSportsManagerURL('&task=admin_vereinsmitglieder&vereinid=' . $vereinId);
+}
+
+#[NoReturn] function adminRemoveVereinsmitglied(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ $vereinId = $jInput->get('vereinid', 0, 'INT');
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE mitglied_von_verein_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ aktuellerVereinAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_vereinsmitglieder&vereinid=' . $vereinId);
+}
+
+function adminSpielorte(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("spielorte_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_spielort"
+ . "\n ORDER BY ortsname, name, ortsteil";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spielorte = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminSpielorte($spielorte);
+}
+
+function adminEditSpielort(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielorte_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $row = null;
+ if ($id !== null) {
+ $query = "SELECT * FROM #__sportsmanager_spielort WHERE spielort_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 1)
+ $row = $rows[0];
+ }
+
+ HTML_sportsmanager_admin::adminEditSpielort($row);
+}
+
+#[NoReturn] function adminSaveSpielort(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielorte_aendern"))
+ keinZugriff();
+
+ $id = $jInput->get('id', 0, 'INT');
+ $name = $db->escape(trim($jInput->get('name', '', 'RAW')));
+ $strasse = $db->escape(trim($jInput->get('strasse', '', 'RAW')));
+ $plz = $db->escape(trim($jInput->get('plz', '', 'RAW')));
+ $ortsname = $db->escape(trim($jInput->get('ortsname', '', 'RAW')));
+ $ortsteil = $db->escape(trim($jInput->get('ortsteil', '', 'RAW')));
+ $url = $db->escape(trim($jInput->get('url', '', 'RAW')));
+ $beschreibung = $db->escape(trim($jInput->get('beschreibung', '', 'RAW')));
+ $status = $jInput->get('status', 0, 'INT');
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spielorte#id' . $id);
+ }
+
+ if ($id == 0) {
+ $query = "INSERT INTO #__sportsmanager_spielort (name, strasse, plz, ortsname, ortsteil, url, beschreibung, status)"
+ . "\n VALUES ('$name', '$strasse', '$plz', '$ortsname', '$ortsteil', '$url', '$beschreibung', '$status');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $query = "UPDATE #__sportsmanager_spielort"
+ . "\n SET name = '$name',"
+ . "\n strasse = '$strasse',"
+ . "\n plz = '$plz',"
+ . "\n ortsname = '$ortsname',"
+ . "\n ortsteil = '$ortsteil',"
+ . "\n url = '$url',"
+ . "\n beschreibung = '$beschreibung',"
+ . "\n status = '$status'"
+ . "\n WHERE spielort_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ redirectSportsManagerURL('&task=admin_spielorte#id' . $id);
+}
+
+#[NoReturn] function adminRemoveSpielort(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielorte_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "UPDATE #__sportsmanager_team SET heimspielort_id = NULL WHERE heimspielort_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "UPDATE #__sportsmanager_begegnung SET spielort_id = NULL WHERE spielort_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_spielort WHERE spielort_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ redirectSportsManagerURL('&task=admin_spielorte');
+}
+
+function adminSpielorteZusammenlegenForm(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("spielorte_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_spielort"
+ . "\n ORDER BY ortsname, name, ortsteil";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spielorte = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminSpielorteZusammenlegen($spielorte);
+}
+
+#[NoReturn] function adminSpielorteZusammenlegen(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielorte_aendern"))
+ keinZugriff(true);
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spielorte');
+ }
+
+ $spielort_beizubehalten_id = $jInput->get('spielort_beizubehalten_id', 0, 'INT');
+ $spielort_zu_entfernen_id = $jInput->get('spielort_zu_entfernen_id', 0, 'INT');
+
+ if ($spielort_beizubehalten_id == $spielort_zu_entfernen_id) {
+ redirectSportsManagerURL('&task=admin_spielorte#id' . $spielort_beizubehalten_id, "Zum Zusammanlegen müssen zwei unterschiedliche Spielorte gewählt werden");
+ }
+
+ $query = "UPDATE #__sportsmanager_team"
+ . "\n SET heimspielort_id = $spielort_beizubehalten_id"
+ . "\n WHERE heimspielort_id = $spielort_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "UPDATE #__sportsmanager_begegnung"
+ . "\n SET spielort_id = $spielort_beizubehalten_id"
+ . "\n WHERE spielort_id = $spielort_zu_entfernen_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_spielort WHERE spielort_id = $spielort_zu_entfernen_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ redirectSportsManagerURL('&task=admin_spielorte#id' . $spielort_beizubehalten_id);
+}
+
+function adminEinstufungen(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("einstufungen_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT *, (SELECT COUNT(*) FROM #__sportsmanager_einstufung_rangliste WHERE #__sportsmanager_einstufung.einstufung_id = #__sportsmanager_einstufung_rangliste.einstufung_id) AS ranglisten"
+ . "\n FROM #__sportsmanager_einstufung"
+ . "\n ORDER BY typ, prioritaet, bezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $einstufungen = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminEinstufungen($einstufungen);
+}
+
+function adminEditEinstufung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("einstufungen_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $row = null;
+ if ($id !== null) {
+ $query = "SELECT * FROM #__sportsmanager_einstufung WHERE einstufung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 1)
+ $row = $rows[0];
+ }
+
+ // Ranglisten ermitteln
+ if ($id == 0) {
+ $query = "SELECT #__sportsmanager_rangliste.rangliste_id, bezeichnung, saisonbezeichnung"
+ . "\n FROM #__sportsmanager_rangliste"
+ . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
+ . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
+ } else {
+ $query = "SELECT DISTINCT #__sportsmanager_rangliste.rangliste_id, ranglisten.einstufung_rangliste_id, ranglisten.platz_min, ranglisten.platz_max, bezeichnung, saisonbezeichnung"
+ . "\n FROM #__sportsmanager_rangliste"
+ . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
+ . "\n LEFT JOIN (SELECT rangliste_id, einstufung_rangliste_id, platz_min, platz_max FROM #__sportsmanager_einstufung_rangliste WHERE einstufung_id = $id) AS ranglisten USING (rangliste_id)"
+ . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ranglisten = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminEditEinstufung($row, $ranglisten);
+}
+
+#[NoReturn] function adminSaveEinstufung(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("einstufungen_aendern"))
+ keinZugriff();
+
+ $id = $jInput->get('id', 0, 'INT');
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $prioritaet = $jInput->get('prioritaet', 0, 'INT');
+ $typ = $jInput->get('typ', 0, 'INT');
+ $elo_min = $jInput->get('elo_min', 0, 'INT');
+ $elo_max = $jInput->get('elo_max', 0, 'INT');
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_einstufungen#id' . $id);
+ }
+
+ $ranglisten_beruecksichtigt = array();
+ $ranglisten_beruecksichtigt_platz_min = array();
+ $ranglisten_beruecksichtigt_platz_max = array();
+ $i = 0;
+ $rangliste_id = $jInput->get('rangliste_id_' . $i, 0, 'INT');
+ $rangliste_platz_min = $jInput->get('rangliste_platz_min_' . $i, 0, 'INT');
+ $rangliste_platz_max = $jInput->get('rangliste_platz_max_' . $i, 0, 'INT');
+ while ($rangliste_id != 0 && !in_array($rangliste_id, $ranglisten_beruecksichtigt)) {
+ $ranglisten_beruecksichtigt[] = $rangliste_id;
+ $ranglisten_beruecksichtigt_platz_min[] = $rangliste_platz_min;
+ $ranglisten_beruecksichtigt_platz_max[] = $rangliste_platz_max;
+ $i++;
+ $rangliste_id = $jInput->get('rangliste_id_' . $i, 0, 'INT');
+ $rangliste_platz_min = $jInput->get('rangliste_platz_min_' . $i, 0, 'INT');
+ $rangliste_platz_max = $jInput->get('rangliste_platz_max_' . $i, 0, 'INT');
+ }
+
+ if ($id == 0) {
+ $query = "INSERT INTO #__sportsmanager_einstufung (bezeichnung, prioritaet, typ, elo_min, elo_max)"
+ . "\n VALUES ('$bezeichnung', '$prioritaet', '$typ', '$elo_min', '$elo_max');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $query = "UPDATE #__sportsmanager_einstufung"
+ . "\n SET bezeichnung = '$bezeichnung',"
+ . "\n prioritaet = '$prioritaet',"
+ . "\n typ = '$typ',"
+ . "\n elo_min = '$elo_min',"
+ . "\n elo_max = '$elo_max'"
+ . "\n WHERE einstufung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ // Berücksichtige Ranglisten prüfen und ggf. aktualisieren
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_einstufung_rangliste"
+ . "\n WHERE einstufung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $bestehende_ranglisten_beruecksichtigt = $db->loadObjectList();
+
+ foreach ($bestehende_ranglisten_beruecksichtigt as $bestehende_rangliste_beruecksichtigt) {
+ $ist_beruecksichtigt = false;
+ foreach ($ranglisten_beruecksichtigt as $rangliste_id) {
+ if ($bestehende_rangliste_beruecksichtigt->rangliste_id == $rangliste_id) {
+ $ist_beruecksichtigt = true;
+ break;
+ }
+ }
+ if (!$ist_beruecksichtigt) {
+ $query = "DELETE FROM #__sportsmanager_einstufung_rangliste WHERE rangliste_id = $bestehende_rangliste_beruecksichtigt->rangliste_id AND einstufung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+
+ foreach ($ranglisten_beruecksichtigt as $index => $rangliste_id) {
+ $ist_beruecksichtigt = false;
+ $bestehende_rangliste_platz_min = null;
+ $bestehende_rangliste_platz_max = null;
+ foreach ($bestehende_ranglisten_beruecksichtigt as $bestehende_rangliste_beruecksichtigt) {
+ if ($bestehende_rangliste_beruecksichtigt->rangliste_id == $rangliste_id) {
+ $ist_beruecksichtigt = true;
+ $bestehende_rangliste_platz_min = $bestehende_rangliste_beruecksichtigt->platz_min;
+ $bestehende_rangliste_platz_max = $bestehende_rangliste_beruecksichtigt->platz_max;
+ break;
+ }
+ }
+ $platz_min = $ranglisten_beruecksichtigt_platz_min[$index];
+ $platz_max = $ranglisten_beruecksichtigt_platz_max[$index];
+ if (!$ist_beruecksichtigt) {
+ $query = "SELECT COUNT(*)"
+ . "\n FROM #__sportsmanager_rangliste"
+ . "\n WHERE rangliste_id = $rangliste_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+
+ if ($n > 0) {
+ $query = "INSERT INTO #__sportsmanager_einstufung_rangliste (einstufung_id, rangliste_id, platz_min, platz_max) VALUES ('$id', '$rangliste_id', '$platz_min', '$platz_max');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else if ($platz_min != $bestehende_rangliste_platz_min || $platz_max != $bestehende_rangliste_platz_max) {
+ $query = "UPDATE #__sportsmanager_einstufung_rangliste"
+ . "\n SET platz_min = '$platz_min',"
+ . "\n platz_max = '$platz_max'"
+ . "\n WHERE einstufung_id = $id AND rangliste_id = $rangliste_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+
+ einstufungAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_einstufungen#id' . $id);
+}
+
+#[NoReturn] function adminRemoveEinstufung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("einstufungen_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "DELETE FROM #__sportsmanager_einstufung_rangliste WHERE einstufung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_einstufung WHERE einstufung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ einstufungAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_einstufungen');
+}
+
+function einstufungAktualisieren($berechnungen_auswerten = false): void
+{
+ $db = getDatabase();
+
+ if ($berechnungen_auswerten) {
+ $session_id = redirectRequestGetSessionId();
+
+ $query = "SELECT IF(EXISTS("
+ . "\n SELECT *"
+ . "\n FROM #__sportsmanager_berechnung"
+ . "\n WHERE typ = 'einstufung' AND " . (empty($session_id) ? ("session_id < SUBTIME(NOW(), '00:10:00')") : ("session_id = '" . $session_id . "'"))
+ . "\n ), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $berechnungen = $db->loadResult();
+
+ if (empty($berechnungen) || laufzeit() >= 5) {
+ return;
+ }
+ } else if (!redirectSessionIdEmpty() || laufzeit() >= 5) {
+ $session_id = redirectSessionIdSetzen();
+
+ $query = "INSERT INTO #__sportsmanager_berechnung (session_id, typ, id) VALUES ('$session_id', 'einstufung', NULL);";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ return;
+ }
+
+ $query = "SELECT einstufung_id, prioritaet, typ, elo_min, elo_max"
+ . "\n FROM #__sportsmanager_einstufung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ $einstufung_prioritaet = array();
+ $einstufung_typ = array();
+ foreach ($rows as $row) {
+ $einstufung_prioritaet[$row->einstufung_id] = $row->prioritaet;
+ $einstufung_typ[$row->einstufung_id] = $row->typ;
+ }
+
+ $spieler_einstufung_allgemein = array();
+ $spieler_einstufung_einzel = array();
+ $spieler_einstufung_doppel = array();
+ $query = "SELECT rangliste_id, einstufung_id, platz_min, platz_max"
+ . "\n FROM #__sportsmanager_einstufung_rangliste"
+ . "\n ORDER BY rangliste_id, platz_min, platz_max";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $einstufung_ranglisten = $db->loadObjectList();
+
+ $einstufungen_per_ranglisten = array();
+ foreach ($einstufung_ranglisten as $einstufung_rangliste) {
+ $platz_min = $einstufung_rangliste->platz_min;
+ $platz_max = $einstufung_rangliste->platz_max;
+ if (empty($platz_min) && empty($platz_max))
+ continue;
+ if (!isset($einstufungen_per_ranglisten[$einstufung_rangliste->rangliste_id]))
+ $einstufungen_per_ranglisten[$einstufung_rangliste->rangliste_id] = array();
+ $einstufungen_per_ranglisten[$einstufung_rangliste->rangliste_id][] = array($einstufung_rangliste->einstufung_id, $platz_min, $platz_max);
+ }
+
+ foreach ($einstufungen_per_ranglisten as $rangliste_id => $einstufung) {
+ $query = "SELECT spieler_id, platz"
+ . "\n FROM #__sportsmanager_rangliste_punkte"
+ . "\n WHERE rangliste_id = $rangliste_id"
+ . "\n ORDER BY platz";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rangliste_punkte = $db->loadObjectList();
+
+ foreach ($rangliste_punkte as $punkte) {
+ foreach ($einstufung as $einstufung_platzierung) {
+ $platz_min = $einstufung_platzierung[1];
+ $platz_max = $einstufung_platzierung[2];
+ if (($punkte->platz >= $platz_min || $platz_min == 0) && ($punkte->platz <= $platz_max || $platz_max == 0)) {
+ $einstufung_id = $einstufung_platzierung[0];
+ if ($einstufung_typ[$einstufung_id] == 0) {
+ if (!isset($spieler_einstufung_allgemein[$punkte->spieler_id]) || ($einstufung_prioritaet[$spieler_einstufung_allgemein[$punkte->spieler_id]] > $einstufung_prioritaet[$einstufung_id]))
+ $spieler_einstufung_allgemein[$punkte->spieler_id] = $einstufung_id;
+ } else if ($einstufung->typ == 1) {
+ if (!isset($spieler_einstufung_einzel[$punkte->spieler_id]) || ($einstufung_prioritaet[$spieler_einstufung_einzel[$punkte->spieler_id]] > $einstufung_prioritaet[$einstufung_id]))
+ $spieler_einstufung_einzel[$punkte->spieler_id] = $einstufung_id;
+ } else {
+ if (!isset($spieler_einstufung_doppel[$punkte->spieler_id]) || ($einstufung_prioritaet[$spieler_einstufung_doppel[$punkte->spieler_id]] > $einstufung_prioritaet[$einstufung_id]))
+ $spieler_einstufung_doppel[$punkte->spieler_id] = $einstufung_id;
+ }
+ }
+ }
+ }
+ }
+
+ $query = "SELECT spieler_id, elo_einzel, elo_doppel"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE NOT ISNULL(elo_einzel) OR NOT ISNULL(elo_doppel) OR elo_einzel > 0 OR elo_doppel > 0";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler = $db->loadObjectList();
+
+ foreach ($spieler as $s) {
+ $spieler_id = $s->spieler_id;
+ $elo_einzel = $s->elo_einzel;
+ $elo_doppel = $s->elo_doppel;
+ foreach ($rows as $einstufung) {
+ $einstufung_id = $einstufung->einstufung_id;
+ $elo_min = $einstufung->elo_min;
+ $elo_max = $einstufung->elo_max;
+ if (empty($elo_min) && empty($elo_max))
+ continue;
+ if ($einstufung_typ[$einstufung_id] == 0) {
+ if (($elo_einzel > 0 && ($elo_einzel >= $elo_min || empty($elo_min)) && ($elo_einzel <= $elo_max || empty($elo_max)))
+ || ($elo_doppel > 0 && ($elo_doppel >= $elo_min || empty($elo_min)) && ($elo_doppel <= $elo_max || empty($elo_max)))) {
+ if (!isset($spieler_einstufung_allgemein[$spieler_id]) || ($einstufung_prioritaet[$einstufung_id] > $einstufung_prioritaet[$spieler_einstufung_allgemein[$spieler_id]]))
+ $spieler_einstufung_allgemein[$spieler_id] = $einstufung_id;
+ }
+ } else if ($einstufung->typ == 1) {
+ if ($elo_einzel > 0 && ($elo_einzel >= $elo_min || empty($elo_min)) && ($elo_einzel <= $elo_max || empty($elo_max))) {
+ if (!isset($spieler_einstufung_einzel[$spieler_id]) || ($einstufung_prioritaet[$einstufung_id] > $einstufung_prioritaet[$spieler_einstufung_einzel[$spieler_id]]))
+ $spieler_einstufung_einzel[$spieler_id] = $einstufung_id;
+ }
+ } else {
+ if ($elo_doppel > 0 && ($elo_doppel >= $elo_min || empty($elo_min)) && ($elo_doppel <= $elo_max || empty($elo_max))) {
+ if (!isset($spieler_einstufung_doppel[$spieler_id]) || ($einstufung_prioritaet[$einstufung_id] > $einstufung_prioritaet[$spieler_einstufung_doppel[$spieler_id]]))
+ $spieler_einstufung_doppel[$spieler_id] = $einstufung_id;
+ }
+ }
+ }
+ }
+
+ $db->transactionStart();
+ $query = "UPDATE #__sportsmanager_spieler"
+ . "\n SET einstufung_allgemein_id = NULL,"
+ . "\n einstufung_einzel_id = NULL,"
+ . "\n einstufung_doppel_id = NULL";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $spieler_ids = array_keys($spieler_einstufung_allgemein) + array_keys($spieler_einstufung_einzel) + array_keys($spieler_einstufung_doppel);
+ foreach ($spieler_ids as $spieler_id) {
+ $query = "UPDATE #__sportsmanager_spieler"
+ . "\n SET einstufung_allgemein_id = " . ($spieler_einstufung_allgemein[$spieler_id] ?? "NULL") . ","
+ . "\n einstufung_einzel_id = " . ($spieler_einstufung_einzel[$spieler_id] ?? "NULL") . ","
+ . "\n einstufung_doppel_id = " . ($spieler_einstufung_doppel[$spieler_id] ?? "NULL");
+ $query .= "\n WHERE spieler_id = $spieler_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ $db->transactionCommit();
+
+ if ($berechnungen_auswerten) {
+ $query = "DELETE FROM #__sportsmanager_berechnung WHERE typ = 'einstufung' AND " . (empty($session_id) ? ("session_id < SUBTIME(NOW(), '00:10:00')") : ("session_id = '" . $session_id . "'"));
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+}
+
+function adminTeamspielmodi(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("mannschaftsspielplaene_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT *, IF(EXISTS(SELECT * FROM #__sportsmanager_veranstaltung WHERE teamspiel_modus_id = modus_id), 1, 0) AS veranstaltungen"
+ . "\n FROM #__sportsmanager_teamspiel_modus"
+ . "\n ORDER BY status DESC, bezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminTeamspielmodi($rows);
+}
+
+function adminEditTeamspielmodus(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("mannschaftsspielplaene_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ $row = null;
+ if ($id !== null) {
+ $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 1)
+ $row = $rows[0];
+ }
+
+ HTML_sportsmanager_admin::adminEditTeamspielmodus($row);
+}
+
+#[NoReturn] function adminSaveTeamspielmodus(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("mannschaftsspielplaene_aendern"))
+ keinZugriff();
+
+ $id = $jInput->get('id', 0, 'INT');
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $punktetyp = $jInput->get('punktetyp', 0, 'INT');
+ $punkte_sieg_einzel = $jInput->get('punkte_sieg_einzel', 0, 'INT');
+ $punkte_sieg_doppel_separat = $jInput->get('punkte_sieg_doppel_separat', 0, 'INT');
+ $punkte_sieg_doppel = $punkte_sieg_doppel_separat ? $jInput->get('punkte_sieg_doppel', 0, 'INT') : $punkte_sieg_einzel;
+ $heimtausch = $jInput->get('heimtausch', 0, 'INT');
+ $status = $jInput->get('status', 0, 'INT');
+ $spielpunkte_wertung_einzel = $jInput->get('spielpunkte_wertung_einzel', 0, 'INT');
+ $spielpunkte_wertung_doppel_separat = $jInput->get('spielpunkte_wertung_doppel_separat', 0, 'INT');
+ $spielpunkte_wertung_doppel = $spielpunkte_wertung_doppel_separat ? $jInput->get('spielpunkte_wertung_doppel', 0, 'INT') : $spielpunkte_wertung_einzel;
+ $spielpunkte_bedingung = $jInput->get('spielpunkte_bedingung', 0, 'INT');
+ $spielernamen = $jInput->get('spielernamen', 0, 'INT');
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_teamspiel_modi');
+ }
+
+ $modus = "";
+ $spiel_nr = 1;
+ do {
+ $spiel_heim = $jInput->get('spiel_' . $spiel_nr . '_heim', '', 'RAW');
+ $spiel_gast = $jInput->get('spiel_' . $spiel_nr . '_gast', '', 'RAW');
+ $spiel_auflage = $jInput->get('spiel_' . $spiel_nr . '_auflage', '', 'RAW');
+ if (strlen($spiel_heim) != 0 && strlen($spiel_gast) != 0 && ($spiel_auflage == "" || $spiel_auflage == "H" || $spiel_auflage == "G")) {
+ if (strlen($modus) != 0)
+ $modus .= ",";
+ $modus .= $spiel_heim . $spiel_gast . $spiel_auflage;
+ }
+ $spiel_nr++;
+ } while (strlen($spiel_heim) != 0 && strlen($spiel_gast) != 0);
+
+ $verknuepfungen = "";
+ $verknuepfung_nr = 1;
+ for (; ;) {
+ $verknuepfung_doppel = $jInput->get('verknuepfung_' . $verknuepfung_nr . '_doppel', '', 'RAW');
+ $verknuepfung_einzel1 = $jInput->get('verknuepfung_' . $verknuepfung_nr . '_einzel1', '', 'RAW');
+ $verknuepfung_einzel2 = $jInput->get('verknuepfung_' . $verknuepfung_nr . '_einzel2', '', 'RAW');
+ if (strlen($verknuepfung_doppel) == 0 || strlen($verknuepfung_einzel1) == 0 || strlen($verknuepfung_einzel2) == 0)
+ break;
+ if (str_contains($verknuepfungen, $verknuepfung_doppel) || str_contains($verknuepfungen, $verknuepfung_einzel1) || str_contains($verknuepfungen, $verknuepfung_einzel2) ||
+ $verknuepfung_einzel1 == $verknuepfung_einzel2)
+ break;
+ if (strlen($verknuepfungen) != 0)
+ $verknuepfungen .= ",";
+ $verknuepfungen .= $verknuepfung_doppel . $verknuepfung_einzel1 . $verknuepfung_einzel2;
+ $verknuepfung_nr++;
+ }
+
+ if (strlen($verknuepfungen) > 0)
+ $modus .= "|" . $verknuepfungen;
+ $modus = $db->escape($modus);
+
+ if ($id == 0) {
+ $query = "INSERT INTO #__sportsmanager_teamspiel_modus (bezeichnung, punktetyp, punkte_sieg_einzel, punkte_sieg_doppel, spielpunkte_wertung_einzel, spielpunkte_wertung_doppel, spielpunkte_bedingung, spielernamen, heimtausch, modus, status) VALUES ('$bezeichnung', '$punktetyp', '$punkte_sieg_einzel', '$punkte_sieg_doppel', '$spielpunkte_wertung_einzel', '$spielpunkte_wertung_doppel', '$spielpunkte_bedingung', '$spielernamen', '$heimtausch', '$modus', '$status');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $query = "UPDATE #__sportsmanager_teamspiel_modus"
+ . "\n SET bezeichnung = '$bezeichnung',"
+ . "\n punktetyp = '$punktetyp',"
+ . "\n punkte_sieg_einzel = '$punkte_sieg_einzel',"
+ . "\n punkte_sieg_doppel = '$punkte_sieg_doppel',"
+ . "\n spielpunkte_wertung_einzel = '$spielpunkte_wertung_einzel',"
+ . "\n spielpunkte_wertung_doppel = '$spielpunkte_wertung_doppel',"
+ . "\n spielpunkte_bedingung = '$spielpunkte_bedingung',"
+ . "\n spielernamen = '$spielernamen',"
+ . "\n heimtausch = '$heimtausch',"
+ . "\n modus = '$modus',"
+ . "\n status = '$status'"
+ . "\n WHERE teamspiel_modus_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ begegnungenAktualisieren(0, $id);
+ teamstatistikAktualisieren(0, $id);
+ spielerstatistikAktualisieren(0, 0, 0, $id);
+
+ redirectSportsManagerURL('&task=admin_teamspiel_modi');
+}
+
+#[NoReturn] function adminRemoveTeamspielmodus(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("mannschaftsspielplaene_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstaltung WHERE modus_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+
+ $query = "DELETE FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ redirectSportsManagerURL('&task=admin_teamspiel_modi');
+}
+
+#[NoReturn] function adminKopierenTeamspielmodus(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("mannschaftsspielplaene_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $teamspiel_modus = $rows[0];
+
+ $query = "INSERT INTO #__sportsmanager_teamspiel_modus (bezeichnung, punktetyp, punkte_sieg_einzel, punkte_sieg_doppel, spielpunkte_wertung_einzel, spielpunkte_wertung_doppel, spielpunkte_bedingung, spielernamen, heimtausch, modus, status) VALUES ('" . $db->escape($teamspiel_modus->bezeichnung) . " (Kopie)', '$teamspiel_modus->punktetyp', '$teamspiel_modus->punkte_sieg_einzel', '$teamspiel_modus->punkte_sieg_doppel', '$teamspiel_modus->spielpunkte_wertung_einzel', '$teamspiel_modus->spielpunkte_wertung_doppel', '$teamspiel_modus->spielpunkte_bedingung', '$teamspiel_modus->spielernamen', '$teamspiel_modus->heimtausch', '$teamspiel_modus->modus', '$teamspiel_modus->status');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $db->insertid();
+
+ redirectSportsManagerURL('&task=admin_teamspiel_modi');
+}
+
+function adminVerschiebenModi(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("verschieberegeln_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT *, IF(EXISTS(SELECT * FROM #__sportsmanager_veranstaltung WHERE #__sportsmanager_veranstaltung.verschieberegel_id = #__sportsmanager_verschieberegel.verschieberegel_id), 1, 0) AS veranstaltungen"
+ . "\n FROM #__sportsmanager_verschieberegel"
+ . "\n ORDER BY bezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminVerschiebenModi($rows);
+}
+
+function adminEditVerschiebenModus(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("verschieberegeln_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ if ($id == null)
+ $row = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_verschieberegel WHERE verschieberegel_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 1)
+ $row = $rows[0];
+ }
+
+ if (!empty($row)) {
+ HTML_sportsmanager_admin::adminEditVerschiebenModus($row);
+ }
+}
+
+#[NoReturn] function adminSaveVerschiebenModus(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("verschieberegeln_aendern"))
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_verschieben_modi');
+ }
+
+ $id = $jInput->get('id', 0, 'INT');
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $initial_ohne_termin = $jInput->get('initial_ohne_termin', 0, 'INT');
+ $keine_gegenvorschlaege = $jInput->get('keine_gegenvorschlaege', 0, 'INT');
+ $vorlaufzeit_tage = $jInput->get('vorlaufzeit_tage', 0, 'INT');
+ $termine_minimal = $jInput->get('termine_minimal', 1, 'INT');
+ $termine_maximal = $jInput->get('termine_maximal', 3, 'INT');
+ $ablehnen = $jInput->get('ablehnen', 0, 'INT');
+
+ if ($termine_minimal > 0 && $termine_maximal > 0 && $termine_minimal > $termine_maximal) {
+ $t = $termine_minimal;
+ $termine_minimal = $termine_maximal;
+ $termine_maximal = $t;
+ }
+
+ if ($id == 0)
+ $query = "INSERT INTO #__sportsmanager_verschieberegel (bezeichnung, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage, termine_minimal, termine_maximal, ablehnen) VALUES ('$bezeichnung', '$initial_ohne_termin', '$keine_gegenvorschlaege', '$vorlaufzeit_tage', '$termine_minimal', '$termine_maximal', '$ablehnen');";
+ else {
+ $query = "UPDATE #__sportsmanager_verschieberegel"
+ . "\n SET bezeichnung = '$bezeichnung',"
+ . "\n initial_ohne_termin = '$initial_ohne_termin',"
+ . "\n keine_gegenvorschlaege = '$keine_gegenvorschlaege',"
+ . "\n vorlaufzeit_tage = '$vorlaufzeit_tage',"
+ . "\n termine_minimal = '$termine_minimal',"
+ . "\n termine_maximal = '$termine_maximal',"
+ . "\n ablehnen = '$ablehnen'"
+ . "\n WHERE verschieberegel_id = $id";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ redirectSportsManagerURL('&task=admin_verschieben_modi');
+}
+
+#[NoReturn] function adminRemoveVerschiebenModus(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("verschieberegeln_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstaltung WHERE verschieberegel_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+
+ $query = "DELETE FROM #__sportsmanager_verschieberegel WHERE verschieberegel_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ redirectSportsManagerURL('&task=admin_verschieben_modi');
+}
+
+function adminKategorien(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("kategorien_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT * FROM #__sportsmanager_kategorie ORDER BY typ, nummer";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ $kategorien = array();
+ $kategorien[1] = array();
+ $kategorien[2] = array();
+ $kategorien[3] = array();
+ $kategorien[4] = array();
+
+ foreach ($rows as $row)
+ $kategorien[$row->typ][$row->nummer] = $row->bezeichnung;
+
+ HTML_sportsmanager_admin::adminKategorien($kategorien);
+}
+
+#[NoReturn] function adminSaveKategorien(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("kategorien_aendern"))
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_uebersicht');
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_kategorie ORDER BY typ, nummer";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ $kategorien = array();
+ $kategorien[1] = array();
+ $kategorien[2] = array();
+ $kategorien[3] = array();
+ $kategorien[4] = array();
+ $kategorien[5] = array();
+ $kategorien[6] = array();
+
+ foreach ($rows as $row)
+ $kategorien[$row->typ][$row->nummer] = $row->bezeichnung;
+
+ for ($typ = 1; $typ <= 6; $typ++) {
+ for ($nummer = 1; $nummer <= 30; $nummer++) {
+ $bezeichnung = $db->escape($jInput->get('bezeichnung_' . $typ . '_' . $nummer, '', 'RAW'));
+ if (empty($bezeichnung)) {
+ if (isset($kategorien[$typ][$nummer])) {
+ $query = "DELETE FROM #__sportsmanager_kategorie WHERE typ = $typ AND nummer = $nummer;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else {
+ if (isset($kategorien[$typ][$nummer])) {
+ $query = "UPDATE #__sportsmanager_kategorie"
+ . "\n SET bezeichnung = '$bezeichnung'"
+ . "\n WHERE typ = $typ AND nummer = $nummer";
+ } else {
+ $query = "INSERT INTO #__sportsmanager_kategorie (typ, nummer, bezeichnung) VALUES ('$typ', '$nummer', '$bezeichnung');";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+
+ redirectSportsManagerURL('&task=admin_uebersicht');
+}
+
+function adminRanglistensysteme(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("ranglistenwertungen_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT *, (SELECT COUNT(*) FROM #__sportsmanager_rangliste WHERE rangliste_system_id = system_id) AS ranglisten, (SELECT COUNT(*) FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_system_id = system_id) AS ranglistenturnierdisziplinen FROM #__sportsmanager_rangliste_system ORDER BY status DESC, systembezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ $error_level = error_reporting(E_ERROR);
+ $math = new MathParserSM;
-function adminSaveBegegnungSpielplan() {
- $app = &JFactory::getApplication();
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
- $begegnung_input = isJson() ? $jinput->json : $jinput;
-
- $user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : JFactory::getUser()->id);
- $id = $jinput->get('id', 0, 'INT');
- $bestaetigen = $begegnung_input->get('bestaetigen', 0, 'INT');
- $zwischenergebnis = isJson() && $jinput->getMethod() === 'PATCH' ? true : $begegnung_input->get('live', false, 'BOOL');
-
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) {
- abortWithError("Missing id!");
- }
- $kommentar = $db->escape($jinput->get('kommentar', '', 'RAW'));
- $aus_uebersicht = $jinput->get('aus_uebersicht', 0, 'INT');
- $anzahl_historie = $jinput->get('anzahl_historie', 0, 'INT');
- $erneut_oeffnen = $jinput->get('erneut_oeffnen', 0, 'INT');
- $heim_team_id = $jinput->get('heim_team_id', 0, 'INT');
- $gast_team_id = $jinput->get('gast_team_id', 0, 'INT');
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- if ($bestaetigen == 1) {
- if ($aus_uebersicht) {
- redirectSportsManagerURL('#id' . $id);
- }
- else {
- redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungid . '#id' . $id);
- }
- }
- else if ($bestaetigen == 2) {
- if ($aus_uebersicht) {
- redirectSportsManagerURL();
- }
- else {
- redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungid);
- }
- }
- else {
- redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid . '#id' . $id);
- }
-
- return;
- }
-
- $benutzer_ist_moderator = benutzerZugriff("mannschaftswettbewerb_aendern") || benutzerVeranstaltungModerator($veranstaltungid); // Abfrage muss vor LOCK erfolgen, da sonst die Abfrage mangels Lock auf Moderator-Tabelle scheitert
-
- $query = "SELECT #__sportsmanager_begegnung.*, unbestaetigtes_ergebnis_id, zwischenergebnis,"
- . " (SELECT COUNT(*) FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id) AS verlegen_aktionen"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id"
- . "\n WHERE #__sportsmanager_begegnung.begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- abortWithError("Wrong id!");
- }
- $begegnung = $rows[0];
-
- $mannschaften_vertauscht = $begegnung->heim_team_id == $gast_team_id || $begegnung->gast_team_id == $heim_team_id;
- $aktualisieren_ab_datum = !empty($begegnung->zeitpunkt) ? substr($begegnung->zeitpunkt, 0, 10) : null;
-
- // Veranstaltung ermitteln
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- abortWithError("Wrong id!");
- }
- $veranstaltung = $rows[0];
-
- // Sicherstellen, dass mindestens ein Team zu Veranstaltung gehört
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE team_id = $begegnung->heim_team_id AND veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 1) {
- abortWithError("Wrong id!");
- }
-
- // Spielmodus ermitteln
- $modus_id = $veranstaltung->modus_id;
- $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- abortWithError("Wrong id!");
- }
- $teamspiel_modus = $rows[0];
-
- $spielpunkte_wertung_einzel = $teamspiel_modus->spielpunkte_wertung_einzel;
- $spielpunkte_wertung_doppel = $teamspiel_modus->spielpunkte_wertung_doppel;
- $modus = explode("|", $teamspiel_modus->modus);
- $spieltypen = isset($modus[0]) ? explode(",", $modus[0]) : array();
-
- if ($bestaetigen == 1) {
- if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0)) {
- keinZugriff();
- }
-
- $query = "SELECT #__sportsmanager_berechtigt_fuer_team.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team, #__sportsmanager_begegnung WHERE begegnung_id = $id AND berechtigt_user_id = $user_id AND (berechtigt_team_id = heim_team_id OR berechtigt_team_id = gast_team_id)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 0) {
- keinZugriff();
- }
- $vorschlagendes_team_id = $rows[0]->berechtigt_team_id;
- }
- else if ($bestaetigen == 2) {
- if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0)) {
- keinZugriff();
- }
-
- $encrypted_pin = $db->escape($jinput->get('pin', '', 'RAW'));
- $pin = decrypt($encrypted_pin, "a9cZ" . $veranstaltungid . "oDS7" . $id . "2eA");
- if (empty($pin)) {
- keinZugriff();
- }
-
- $query = "SELECT team_id FROM #__sportsmanager_begegnung LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id OR gast_team_id = team_id WHERE begegnung_id = $id AND (team_id = $begegnung->heim_team_id OR team_id = $begegnung->gast_team_id) AND NOT ISNULL(pin) AND pin = '$pin'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- if (count($rows) == 0) {
- keinZugriff();
- }
-
- $vorschlagendes_team_id = $rows[0]->team_id;
- }
- else {
- if (!$benutzer_ist_moderator) {
- keinZugriff();
- }
- }
-
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) {
- abortWithError("Missing id!");
- }
-
- $query = "DELETE FROM #__sportsmanager_unbestaetigtes_ergebnis WHERE begegnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
-
- if ($zwischenergebnis) {
- $query = "INSERT INTO #__sportsmanager_unbestaetigtes_ergebnis (begegnung_id, vorschlagendes_team_id, zwischenergebnis, kommentar, vorgeschlagen)"
- . "\n VALUES ('$id', " . ($bestaetigen != 0 ? "'$vorschlagendes_team_id'" : "'0'") . ", '1', '$kommentar', now());";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
-
- $query = "INSERT INTO #__sportsmanager_begegnung_historie (begegnung_id, aktion, zeitpunkt, user_id, team_id, verantwortlich_team_id, kommentar, eingetragen)"
- . "\n VALUES ($id, 9, NULL, " . ($bestaetigen != 2 ? "'$user_id'" : "NULL") . ", " . ($bestaetigen != 0 ? "'$vorschlagendes_team_id'" : "NULL") . ", NULL, NULL, now());";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- }
- else if ($bestaetigen != 0) {
- $query = "INSERT INTO #__sportsmanager_unbestaetigtes_ergebnis (begegnung_id, vorschlagendes_team_id, kommentar, vorgeschlagen)"
- . "\n VALUES ('$id', '$vorschlagendes_team_id', '$kommentar', now());";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
-
- $query = "INSERT INTO #__sportsmanager_begegnung_historie (begegnung_id, aktion, zeitpunkt, user_id, team_id, verantwortlich_team_id, kommentar, eingetragen)"
- . "\n VALUES ($id, 6, NULL, " . ($bestaetigen != 2 ? "'$user_id'" : "NULL") . ", '$vorschlagendes_team_id', '" . ($vorschlagendes_team_id == $begegnung->heim_team_id ? $begegnung->gast_team_id : $begegnung->heim_team_id) . "', NULL, now());";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- }
- else {
- $query = "INSERT INTO #__sportsmanager_begegnung_historie (begegnung_id, aktion, zeitpunkt, user_id, team_id, verantwortlich_team_id, kommentar, eingetragen)"
- . "\n VALUES ($id, 8, NULL, '$user_id', NULL, NULL, NULL, now());";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- }
-
- $query = "SELECT * FROM #__sportsmanager_teamspiel WHERE begegnung_id = $id ORDER BY teamspiel_nummer";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
-
- $spiele_nummern = array();
- foreach ($spiele as $spiel) {
- $spiele_nummern[$spiel->teamspiel_nummer] = $spiel;
- }
-
- $ergebnis_vereinen = $zwischenergebnis && $begegnung->verlegen_aktionen != $anzahl_historie;
-
- $total_heim_punkte = 0;
- $total_gast_punkte = 0;
- $total_heim_spielpunkte = 0;
- $total_gast_spielpunkte = 0;
- $spiel_nr = 1;
- do {
- $spieltyp = isset($spieltypen[$spiel_nr - 1]) ? $spieltypen[$spiel_nr - 1] : '';
-
- $skip_spiel = $begegnung_input->get('spiel_' . $spiel_nr . '_typ', '', 'RAW') == '' && $jinput->getMethod() === 'PATCH';
-
- if ($skip_spiel) {
- if (isset($spiele_nummern[$spiel_nr])) {
- $spiel_heim_punkte = $spiele_nummern[$spiel_nr]->$spiel_heim_punkte;
- $spiel_gast_punkte = $spiele_nummern[$spiel_nr]->$spiel_gast_punkte;
- }
- else {
- $spiel_heim_punkte = 0;
- $spiel_gast_punkte = 0;
- }
- }
- else {
- $spiel_heim_punkte_detailliert = $begegnung_input->get('spiel_' . $spiel_nr . '_heim_punkte_detailliert', array(), 'ARRAY');
- $spiel_gast_punkte_detailliert = $begegnung_input->get('spiel_' . $spiel_nr . '_gast_punkte_detailliert', array(), 'ARRAY');
- if (empty($spiel_heim_punkte_detailliert)) {
- $spiel_heim_punkte = $begegnung_input->get('spiel_' . $spiel_nr . '_heim_punkte', 0, 'INT');
- $spiel_gast_punkte = $begegnung_input->get('spiel_' . $spiel_nr . '_gast_punkte', 0, 'INT');
- $ergebnis_detailliert = $spiel_heim_punkte == 0 && $spiel_gast_punkte == 0 ? '' : ($spiel_heim_punkte . ":" . $spiel_gast_punkte);
- }
- else {
- $ergebnis_detailliert = "";
- $spiel_heim_punkte = 0;
- $spiel_gast_punkte = 0;
- for ($i = 0; $i < count($spiel_heim_punkte_detailliert); $i++) {
- if (($spiel_heim_punkte_detailliert[$i] == 0 || empty($spiel_heim_punkte_detailliert[$i])) && ($spiel_gast_punkte_detailliert[$i] == 0 || empty($spiel_gast_punkte_detailliert[$i]))) {
- continue;
- }
- if (!empty($ergebnis_detailliert)) {
- $ergebnis_detailliert .= " ";
- }
- $punkte_heim = empty($spiel_heim_punkte_detailliert[$i]) ? "0" : $spiel_heim_punkte_detailliert[$i];
- $punkte_gast = empty($spiel_gast_punkte_detailliert[$i]) ? "0" : $spiel_gast_punkte_detailliert[$i];
- if ($punkte_heim > $punkte_gast) {
- $spiel_heim_punkte++;
- }
- else if ($punkte_gast > $punkte_heim) {
- $spiel_gast_punkte++;
- }
- $ergebnis_detailliert .= $punkte_heim . ":" . $punkte_gast;
- }
- }
-
- if ($spieltyp[0] == "S") {
- $spiel_heim_spieler_1_id = 0;
- $spiel_gast_spieler_1_id = 0;
- $spiel_heim_spieler_2_id = 0;
- $spiel_gast_spieler_2_id = 0;
- }
- else {
- $spiel_heim_spieler_1_id = $begegnung_input->get('spiel_' . $spiel_nr . '_heim_spieler_1_id', 0, 'INT');
- $spiel_gast_spieler_1_id = $begegnung_input->get('spiel_' . $spiel_nr . '_gast_spieler_1_id', 0, 'INT');
- if ($spieltyp[0] == "E") {
- $spiel_heim_spieler_2_id = 0;
- $spiel_gast_spieler_2_id = 0;
- }
- else {
- $spiel_heim_spieler_2_id = $begegnung_input->get('spiel_' . $spiel_nr . '_heim_spieler_2_id', 0, 'INT');
- $spiel_gast_spieler_2_id = $begegnung_input->get('spiel_' . $spiel_nr . '_gast_spieler_2_id', 0, 'INT');
- }
- $spieler_angegeben = $spiel_heim_spieler_1_id != 0 || $spiel_gast_spieler_1_id != 0 || $spiel_heim_spieler_2_id != 0 || $spiel_gast_spieler_2_id != 0;
- }
-
- if ($mannschaften_vertauscht) {
- $t = $spiel_heim_punkte;
- $spiel_heim_punkte = $spiel_gast_punkte;
- $spiel_gast_punkte = $t;
- $ergebnis_detailliert = runden_detailliert_invers($ergebnis_detailliert);
-
- $t = $spiel_heim_spieler_1_id;
- $spiel_heim_spieler_1_id = $spiel_gast_spieler_1_id;
- $spiel_gast_spieler_1_id = $t;
-
- $t = $spiel_heim_spieler_2_id;
- $spiel_heim_spieler_2_id = $spiel_gast_spieler_2_id;
- $spiel_gast_spieler_2_id = $t;
- }
-
- if ($zwischenergebnis && $begegnung->verlegen_aktionen != $anzahl_historie && isset($spiele_nummern[$spiel_nr])) {
- $spiel = $spiele_nummern[$spiel_nr];
- if ($spiel_heim_punkte == 0 && $spiel_gast_punkte == 0) {
- $spiel_heim_punkte = $spiel->teamspiel_heim_punkte;
- $spiel_gast_punkte = $spiel->teamspiel_gast_punkte;
- }
- if ($spiel_heim_spieler_1_id == 0)
- $spiel_heim_spieler_1_id = $spiel->heim_spieler_1_id;
- if ($spiel_gast_spieler_1_id == 0)
- $spiel_gast_spieler_1_id = $spiel->gast_spieler_1_id;
- $spieler_angegeben = $spiel_heim_spieler_1_id != 0 || $spiel_gast_spieler_1_id != 0;
- if ((!empty($spieltyp) && $spieltyp[0] == "D")) {
- if ($spiel_heim_spieler_2_id == 0)
- $spiel_heim_spieler_2_id = $spiel->heim_spieler_2_id;
- if ($spiel_gast_spieler_2_id == 0)
- $spiel_gast_spieler_2_id = $spiel->gast_spieler_2_id;
- if (!$spieler_angegeben)
- $spieler_angegeben = $spiel_heim_spieler_2_id != 0 || $spiel_gast_spieler_2_id != 0;
- }
- }
- }
-
- if ($skip_spiel || $spiel_heim_punkte != 0 || $spiel_gast_punkte != 0 || ($zwischenergebnis && $spieler_angegeben)) {
- $total_heim_punkte += $spiel_heim_punkte;
- $total_gast_punkte += $spiel_gast_punkte;
-
- if ($spieltyp[0] != "D") {
- if ($spielpunkte_wertung_einzel == 2) {
- $spiel_heim_spielpunkte = $spiel_heim_punkte;
- $spiel_gast_spielpunkte = $spiel_gast_punkte;
- }
- else {
- if ($spiel_heim_punkte > $spiel_gast_punkte) {
- $spiel_heim_spielpunkte = $spielpunkte_wertung_einzel == 0 ? 2 : ($spielpunkte_wertung_einzel == 1 ? 3 : 1);
- $spiel_gast_spielpunkte = 0;
- }
- else if ($spiel_heim_punkte < $spiel_gast_punkte) {
- $spiel_heim_spielpunkte = 0;
- $spiel_gast_spielpunkte = $spielpunkte_wertung_einzel == 0 ? 2 : ($spielpunkte_wertung_einzel == 1 ? 3 : 1);
- }
- else if ($spiel_heim_punkte == 0 && $spiel_gast_punkte == 0) {
- $spiel_heim_spielpunkte = 0;
- $spiel_gast_spielpunkte = 0;
- }
- else if ($spielpunkte_wertung != 3) {
- $spiel_heim_spielpunkte = 1;
- $spiel_gast_spielpunkte = 1;
- }
- else {
- $spiel_heim_spielpunkte = 0;
- $spiel_gast_spielpunkte = 0;
- }
- }
- }
- else {
- if ($spielpunkte_wertung_doppel == 2) {
- $spiel_heim_spielpunkte = $spiel_heim_punkte;
- $spiel_gast_spielpunkte = $spiel_gast_punkte;
- }
- else {
- if ($spiel_heim_punkte > $spiel_gast_punkte) {
- $spiel_heim_spielpunkte = $spielpunkte_wertung_doppel == 0 ? 2 : ($spielpunkte_wertung_doppel == 1 ? 3 : 1);
- $spiel_gast_spielpunkte = 0;
- }
- else if ($spiel_heim_punkte < $spiel_gast_punkte) {
- $spiel_heim_spielpunkte = 0;
- $spiel_gast_spielpunkte = $spielpunkte_wertung_doppel == 0 ? 2 : ($spielpunkte_wertung_doppel == 1 ? 3 : 1);
- }
- else if ($spiel_heim_punkte == 0 && $spiel_gast_punkte == 0) {
- $spiel_heim_spielpunkte = 0;
- $spiel_gast_spielpunkte = 0;
- }
- else if ($spielpunkte_wertung_doppel != 3) {
- $spiel_heim_spielpunkte = 1;
- $spiel_gast_spielpunkte = 1;
- }
- else {
- $spiel_heim_spielpunkte = 0;
- $spiel_gast_spielpunkte = 0;
- }
- }
- }
-
- $total_heim_spielpunkte += $spiel_heim_spielpunkte;
- $total_gast_spielpunkte += $spiel_gast_spielpunkte;
-
- if (!$skip_spiel) {
- if (!isset($spiele_nummern[$spiel_nr])) {
- $query = "INSERT INTO #__sportsmanager_teamspiel (begegnung_id, teamspiel_nummer, heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, teamspiel_heim_punkte, teamspiel_gast_punkte, teamspiel_heim_spielpunkte, teamspiel_gast_spielpunkte, ergebnis_detailliert)"
- . "\n VALUES ('$id', '$spiel_nr', '$spiel_heim_spieler_1_id', " . ($spieltyp[0] == "D" ? "'$spiel_heim_spieler_2_id'" : "NULL") . ", '$spiel_gast_spieler_1_id', " . ($spieltyp[0] == "D" ? "'$spiel_gast_spieler_2_id'" : "NULL") . ", '$spiel_heim_punkte', '$spiel_gast_punkte', '$spiel_heim_spielpunkte', '$spiel_gast_spielpunkte', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
- }
- else {
- $teamspiel_id = $spiele_nummern[$spiel_nr]->teamspiel_id;
- $query = "UPDATE #__sportsmanager_teamspiel"
- . "\n SET heim_spieler_1_id = '$spiel_heim_spieler_1_id',"
- . "\n heim_spieler_2_id = " . ($spieltyp[0] == "D" ? "'$spiel_heim_spieler_2_id'" : "NULL") . ","
- . "\n gast_spieler_1_id = '$spiel_gast_spieler_1_id',"
- . "\n gast_spieler_2_id = " . ($spieltyp[0] == "D" ? "'$spiel_gast_spieler_2_id'" : "NULL") . ","
- . "\n teamspiel_heim_punkte = '$spiel_heim_punkte',"
- . "\n teamspiel_gast_punkte = '$spiel_gast_punkte',"
- . "\n teamspiel_heim_spielpunkte = '$spiel_heim_spielpunkte',"
- . "\n teamspiel_gast_spielpunkte = '$spiel_gast_spielpunkte',"
- . "\n ergebnis_detailliert = " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'")
- . "\n WHERE teamspiel_id = $teamspiel_id";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- }
-
- $spiel_nr++;
- }
-
- } while (isset($spieltypen[$spiel_nr - 1]) && ($skip_spiel || $spiel_heim_punkte != 0 || $spiel_gast_punkte != 0 || ($zwischenergebnis && $spieler_angegeben)));
-
- $query = "DELETE FROM #__sportsmanager_teamspiel WHERE begegnung_id = $id AND teamspiel_nummer >= $spiel_nr;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
-
- if ($spiel_nr > 1) {
- $query = "UPDATE #__sportsmanager_begegnung"
- . "\n SET heim_punkte = '$total_heim_punkte',"
- . "\n gast_punkte = '$total_gast_punkte',"
- . "\n heim_spielpunkte = '$total_heim_spielpunkte',"
- . "\n gast_spielpunkte = '$total_gast_spielpunkte'"
- . "\n WHERE begegnung_id = $id";
- }
- else {
- $query = "UPDATE #__sportsmanager_begegnung"
- . "\n SET heim_punkte = NULL,"
- . "\n gast_punkte = NULL,"
- . "\n heim_spielpunkte = NULL,"
- . "\n gast_spielpunkte = NULL"
- . "\n WHERE begegnung_id = $id";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
-
- // Benachrichtigung schreiben
- /*
- $query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'twitter_benutzername' || name = 'twitter_kennwort' ORDER BY name";
- $db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
- $rows = $db->loadObjectList();
- if (count($rows) != 2 || empty($rows[0]->wert) || empty($rows[1]->wert))
- $twitter_benutzername = "";
- else {
- $twitter_benutzername = $rows[0]->wert;
- $twitter_kennwort = $rows[1]->wert;
- }
- */
-
-// if (!empty($twitter_benutzername) || $bestaetigen) {
- if ($bestaetigen != 0) {
- // Begegnung ermitteln
- $query = "SELECT #__sportsmanager_begegnung.*, unbestaetigtes_ergebnis_id, zwischenergebnis"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id"
- . "\n WHERE #__sportsmanager_begegnung.begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id!");
- $begegnung_alt = $begegnung;
- $begegnung = $rows[0];
-
- // Heimteam ermitteln
- $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- abortWithError("Wrong id!");
- }
- $heim_team = $rows[0];
-
- // Gastteam ermitteln
- $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- abortWithError("Wrong id!");
- }
- $gast_team = $rows[0];
- }
-
- if ($bestaetigen != 0 && !$zwischenergebnis) {
- $mailfrom = $app->getCfg('mailfrom');
- $fromname = $app->getCfg('fromname');
- $subject = $heim_team->teamname . " vs. " . $gast_team->teamname . ": Ergebnis vorgeschlagen";
- $body = "Zur Begegnung " . $heim_team->teamname . " gegen " . $gast_team->teamname . " am " . FormatiertesDatum($begegnung->zeitpunkt) . " in der " . $veranstaltung->bezeichnung . " wurde von " . ($vorschlagendes_team_id == $heim_team->team_id ? $heim_team->teamname : $gast_team->teamname) . " ein Ergebnis eingetragen.\n\nBestaetigen des Ergebnisses ueber " . SportsManagerURL('&task=admin_begegnung_spielplan_edit_bestaetigen&veranstaltungid=' . $veranstaltungid . '&id=' . $id, -1) . ".";
-
- $query = "SELECT * FROM #__users AS t1, #__sportsmanager_berechtigt_fuer_team AS t2 WHERE t1.id = t2.berechtigt_user_id AND (t2.berechtigt_team_id = " . $begegnung->heim_team_id . " OR t2.berechtigt_team_id = " . $begegnung->gast_team_id . ")";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- foreach ($rows as $row) {
- JFactory::getMailer()->sendMail($mailfrom, $fromname, $row->email, $subject, $body);
- }
- }
-
- /*
- if (!empty($twitter_benutzername)
- && ($begegnung_alt->zwischenergebnis != $begegnung->zwischenergebnis
- || $begegnung_alt->heim_punkte != $begegnung->heim_punkte
- || $begegnung_alt->gast_punkte != $begegnung->gast_punkte
- || $begegnung_alt->heim_spielpunkte != $begegnung->heim_spielpunkte
- || $begegnung_alt->gast_spielpunkte != $begegnung->gast_spielpunkte)) {
try {
- $twitter = new Twitter($twitter_benutzername, $twitter_kennwort);
- $status = $twitter->send(($zwischenergebnis ? "Live: " : "") . $veranstaltung->bezeichnung . " " . $heim_team->teamname . " vs. " . $gast_team->teamname . " " . $total_heim_spielpunkte . ":" . $total_gast_spielpunkte . " (" . $total_heim_punkte . ":" . $total_gast_punkte . ")");
- }
- catch(TwitterException $e) {
+ $math->setVariable('n', 100);
+ $math->setVariable('m', 1);
+ $math->setVariable('p', 5);
+ } catch (Exception $e) {
+ Log::add("variable could not be set: " . $e->getMessage(), Log::WARNING, "com_sportsmanager");
+ return;
}
- }
- */
+ $pruefung = array();
+ foreach ($rows as $row) {
+ $korrekt = true;
+ $pruefung[$row->rangliste_system_id] = true;
+ if (!empty($row->funktion)) {
+ try {
+ $math->setExpression($row->funktion);
+ } catch (Exception $e) {
+ $korrekt = false;
+ Log::add("expression could not be set: " . $e->getMessage(), Log::WARNING, "com_sportsmanager");
+ }
+ }
+ $pruefung[$row->rangliste_system_id] = $korrekt;
+ }
+ error_reporting($error_level);
- begegnungChanged($begegnung, $begegnung_alt, $modus, $heim_team, $gast_team, $spiele);
-
- if ($bestaetigen == 0) {
- if ($veranstaltung->status != 0) {
- if ($veranstaltung->elo_wertung != 0) {
- wannGespieltAktualisieren();
- eloAktualisieren($aktualisieren_ab_datum);
- einstufungAktualisieren();
- }
- }
- spielerstatistikAktualisieren(0, $veranstaltungid);
- teamstatistikAktualisieren($veranstaltungid);
- }
-
- if (isJson()) {
- begegnungSpielplan();
- } else {
- if ($erneut_oeffnen) {
- redirectSportsManagerURL('&task=' . ($bestaetigen != 0 ? ($bestaetigen == 1 ? 'admin_begegnung_spielplan_edit_bestaetigen' : 'pineingabe') : 'admin_begegnung_spielplan_edit') . '&id=' . $id . '&veranstaltungid=' . $veranstaltungid . ($bestaetigen != 0 ? '_bestaetigen' : '') . '&veranstaltungid=' . $veranstaltungid . '&id=' . $id . '&erneut_oeffnen=1' . (!empty($encrypted_pin) ? ('&epin=' . $encrypted_pin) : "") . ($aus_uebersicht ? '&aus_uebersicht=1' : ''));
- }
- else if ($bestaetigen == 1) {
- if ($aus_uebersicht)
- redirectSportsManagerURL('#id' . $id);
- else
- redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungid . '#id' . $id);
- }
- else if ($bestaetigen == 2) {
- if ($aus_uebersicht)
- redirectSportsManagerURL();
- else
- redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungid);
- }
- else {
- redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid . '#id' . $id);
- }
- }
+ HTML_sportsmanager_admin::adminRanglistensysteme($rows, $pruefung);
}
-function adminBegegnungSpielplanHeimtausch() {
- $app = &JFactory::getApplication();
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditRanglistensystem(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $user_id = isExternalDatabase() ? 0 : JFactory::getUser()->id;
- $id = $jinput->get('id', 0, 'INT');
- $bestaetigen = $jinput->get('bestaetigen', 0, 'INT');
- $zwischenergebnis = $jinput->get('zwischenergebnis', 0, 'INT');
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
- $kommentar = $db->escape($jinput->get('kommentar', '', 'RAW'));
- $aus_uebersicht = $jinput->get('aus_uebersicht', 0, 'INT');
- $anzahl_historie = $jinput->get('anzahl_historie', 0, 'INT');
- $erneut_oeffnen = $jinput->get('erneut_oeffnen', 0, 'INT');
- $heim_team_id = $jinput->get('heim_team_id', 0, 'INT');
- $gast_team_id = $jinput->get('gast_team_id', 0, 'INT');
+ if (!benutzerZugriff("ranglistenwertungen_aendern"))
+ keinZugriff(true);
- $benutzer_ist_moderator = benutzerZugriff("mannschaftswettbewerb_aendern") || benutzerVeranstaltungModerator($veranstaltungid); // Abfrage muss vor LOCK erfolgen, da sonst die Abfrage mangels Lock auf Moderator-Tabelle scheitert
+ $row = null;
+ $punkte = null;
- $query = "SELECT #__sportsmanager_begegnung.*, unbestaetigtes_ergebnis_id, zwischenergebnis,"
- . " (SELECT COUNT(*) FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id) AS verlegen_aktionen"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id"
- . "\n WHERE #__sportsmanager_begegnung.begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id!");
- $begegnung = $rows[0];
+ $id = $jInput->get('id', 0, 'INT');
+ $typ = $jInput->get('typ', 0, 'INT');
+ if ($id != null) {
+ $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE rangliste_system_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
- $mannschaften_vertauscht = $begegnung->heim_team_id == $gast_team_id || $begegnung->gast_team_id == $heim_team_id;
+ $query = "SELECT * FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $id ORDER BY rangliste_system_punkte_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $punkte = $db->loadObjectList();
+ }
- // Veranstaltung ermitteln
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
-
- // Sicherstellen, dass mindestens ein Team zu Veranstaltung gehört
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE team_id = $begegnung->heim_team_id AND veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
- if (count($teams) < 1) die ("Wrong id!");
-
- // Spielmodus ermitteln
- $modus_id = $veranstaltung->modus_id;
- $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $modus = $rows[0];
-
- if ($bestaetigen == 1) {
- if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0))
- keinZugriff();
-
- $query = "SELECT #__sportsmanager_berechtigt_fuer_team.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team, #__sportsmanager_begegnung WHERE begegnung_id = $id AND berechtigt_user_id = $user_id AND (berechtigt_team_id = heim_team_id OR berechtigt_team_id = gast_team_id)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 0)
- keinZugriff();
- $vorschlagendes_team_id = $rows[0]->berechtigt_team_id;
- }
- else if ($bestaetigen == 2) {
- if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0))
- keinZugriff();
-
- $encrypted_pin = $db->escape($jinput->get('pin', '', 'RAW'));
- $pin = decrypt($encrypted_pin, "a9cZ" . $veranstaltungid . "oDS7" . $id . "2eA");
- if (empty($pin))
- keinZugriff();
-
- $query = "SELECT team_id FROM #__sportsmanager_begegnung LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id OR gast_team_id = team_id WHERE begegnung_id = $id AND (team_id = $begegnung->heim_team_id OR team_id = $begegnung->gast_team_id) AND NOT ISNULL(pin) AND pin = '$pin'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- if (count($rows) == 0)
- keinZugriff();
-
- $vorschlagendes_team_id = $rows[0]->team_id;
- }
- else {
- if (!$benutzer_ist_moderator)
- keinZugriff();
- }
-
- if (!$benutzer_ist_moderator && !$modus->heimtausch)
- keinZugriff();
-
- if (!$mannschaften_vertauscht) {
- /*
- $query = "INSERT INTO #__sportsmanager_begegnung_historie (begegnung_id, aktion, zeitpunkt, user_id, team_id, verantwortlich_team_id, kommentar, eingetragen)"
- . "\n VALUES ($id, 9, NULL, '$user_id', " . ($bestaetigen != 0 ? "'$vorschlagendes_team_id'" : "NULL") . ", NULL, NULL, now());";
- $db->setQuery($query);
- if (!$result = $db->execute()) { die($db->stderr(true)); }
- */
-
- $query = "UPDATE #__sportsmanager_begegnung"
- . "\n SET heim_team_id = (@temp_heim_team_id := heim_team_id), heim_team_id = gast_team_id,"
- . "\n gast_team_id = @temp_heim_team_id,"
- . "\n heim_punkte = (@temp_heim_punkte := heim_punkte), heim_punkte = gast_punkte,"
- . "\n gast_punkte = @temp_heim_punkte,"
- . "\n heim_spielpunkte = (@temp_heim_spielpunkte := heim_spielpunkte), heim_spielpunkte = gast_spielpunkte,"
- . "\n gast_spielpunkte = @temp_heim_spielpunkte"
- . "\n WHERE begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "UPDATE #__sportsmanager_teamspiel"
- . "\n SET heim_spieler_1_id = (@temp_heim_spieler_1_id := heim_spieler_1_id), heim_spieler_1_id = gast_spieler_1_id,"
- . "\n gast_spieler_1_id = @temp_heim_spieler_1_id,"
- . "\n heim_spieler_2_id = (@temp_heim_spieler_2_id := heim_spieler_2_id), heim_spieler_2_id = gast_spieler_2_id,"
- . "\n gast_spieler_2_id = @temp_heim_spieler_2_id,"
- . "\n teamspiel_heim_punkte = (@temp_teamspiel_heim_punkte := teamspiel_heim_punkte), teamspiel_heim_punkte = teamspiel_gast_punkte,"
- . "\n teamspiel_gast_punkte = @temp_teamspiel_heim_punkte,"
- . "\n teamspiel_heim_spielpunkte = (@temp_teamspiel_heim_spielpunkte := teamspiel_heim_spielpunkte), teamspiel_heim_spielpunkte = teamspiel_gast_spielpunkte,"
- . "\n teamspiel_gast_spielpunkte = @temp_teamspiel_heim_spielpunkte"
- . "\n WHERE begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- redirectSportsManagerURL('&task=' . ($bestaetigen != 0 ? ($bestaetigen == 1 ? 'admin_begegnung_spielplan_edit_bestaetigen' : 'pineingabe') : 'admin_begegnung_spielplan_edit') . '&id=' . $id . '&veranstaltungid=' . $veranstaltungid . ($bestaetigen != 0 ? '_bestaetigen' : '') . '&veranstaltungid=' . $veranstaltungid . '&id=' . $id . '&erneut_oeffnen=1' . (!empty($encrypted_pin) ? ('&epin=' . $encrypted_pin) : "") . ($aus_uebersicht ? '&aus_uebersicht=1' : ''));
+ HTML_sportsmanager_admin::adminEditRanglistensystem($row, $punkte, $row != null ? ($row->funktion != null) : $typ);
}
-function adminBegegnungSpielplanBestaetigen() {
- $app = &JFactory::getApplication();
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveRanglistensystem(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : JFactory::getUser()->id);
- $id = $jinput->get('id', 0, 'INT');
- $bestaetigen = $jinput->get('bestaetigen', 0, 'INT');
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
- $aus_uebersicht = $jinput->get('aus_uebersicht', 0, 'INT');
+ if (!benutzerZugriff("ranglistenwertungen_aendern"))
+ keinZugriff();
- // Begegnung ermitteln
- $query = "SELECT #__sportsmanager_begegnung.*, unbestaetigtes_ergebnis_id, zwischenergebnis,"
- . " (SELECT COUNT(*) FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id) AS verlegen_aktionen"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id"
- . "\n WHERE #__sportsmanager_begegnung.begegnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- abortWithError("Wrong id!");
- }
- $begegnung = $rows[0];
-
- $aktualisieren_ab_datum = !empty($begegnung->zeitpunkt) ? substr($begegnung->zeitpunkt, 0, 10) : null;
-
- if ($bestaetigen == 2) {
- $encrypted_pin = $db->escape($jinput->get('pin', '', 'RAW'));
- $pin = decrypt($encrypted_pin, "a9cZ" . $veranstaltungid . "oDS7" . $id . "2eA");
- if (empty($pin)) {
- keinZugriff();
- }
- if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0)) {
- keinZugriff();
- }
-
- $query = "SELECT t1.begegnung_id, t5.veranstaltung_id, IF(t2.pin = '$pin', heim_team_id, gast_team_id) AS aktion_team_id, IF(t2.pin = '$pin', gast_team_id, heim_team_id) AS anderes_team_id,"
- . "\n IF(t4.vorschlagendes_team_id = IF(t2.pin = '$pin', gast_team_id, heim_team_id), 1, 0) AS berechtigt_fuer_team_akzeptieren"
- . "\n FROM #__sportsmanager_begegnung AS t1"
- . "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
- . "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
- . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
- . "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
- . "\n WHERE t5.status > 0 " . kategorieFilter("AND t5.kategorie IN") . " AND ((ISNULL(heim_punkte) AND ISNULL(gast_punkte)) OR zwischenergebnis OR NOT ISNULL(unbestaetigtes_ergebnis_id)) AND ((NOT ISNULL(t2.pin) AND t2.pin = '$pin') OR (NOT ISNULL(t3.pin) AND t3.pin = '$pin'))"
- . "\n ORDER BY t1.zeitpunkt"
- . "\n LIMIT 1";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- if (count($rows) == 0) {
- keinZugriff();
- }
-
- if (!$rows[0]->berechtigt_fuer_team_akzeptieren) {
- keinZugriff();
- }
-
- $aktion_team_id = $rows[0]->aktion_team_id;
- }
- else {
- if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0)) {
- keinZugriff();
- }
-
- $query = "SELECT t1.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team AS t1, #__sportsmanager_begegnung AS t2 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis t3 ON t2.begegnung_id = t3.begegnung_id WHERE NOT t3.zwischenergebnis AND t2.begegnung_id = $id AND t1.berechtigt_user_id = $user_id AND ((t1.berechtigt_team_id = t2.heim_team_id AND t3.vorschlagendes_team_id = t2.gast_team_id) OR (t1.berechtigt_team_id = t2.gast_team_id AND t3.vorschlagendes_team_id = t2.heim_team_id))";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) == 0) {
- keinZugriff();
- }
-
- $aktion_team_id = $rows[0]->berechtigt_team_id;
- }
-
- $query = "DELETE FROM #__sportsmanager_unbestaetigtes_ergebnis WHERE begegnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
-
- /*
- // Benachrichtigung schreiben
- $query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'twitter_benutzername' || name = 'twitter_kennwort' ORDER BY name";
- $db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
- $rows = $db->loadObjectList();
- if (count($rows) != 2 || empty($rows[0]->wert) || empty($rows[1]->wert))
- $twitter_benutzername = "";
- else {
- $twitter_benutzername = $rows[0]->wert;
- $twitter_kennwort = $rows[1]->wert;
- }
- */
-
- // Veranstaltung ermitteln
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- abortWithError("Wrong id!");
- }
- $veranstaltung = $rows[0];
-
- $query = "INSERT INTO #__sportsmanager_begegnung_historie (begegnung_id, aktion, zeitpunkt, user_id, team_id, verantwortlich_team_id, kommentar, eingetragen)"
- . "\n VALUES ($id, 7, NULL, " . ($bestaetigen != 2 ? "'$user_id'" : "NULL") . ", '$aktion_team_id', NULL, NULL, now());";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
-
- // Heimteam ermitteln
- $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- abortWithError("Wrong id!");
- }
- $heim_team = $rows[0];
-
- // Gastteam ermitteln
- $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- abortWithError("Wrong id!");
- }
- $gast_team = $rows[0];
-
- if ($veranstaltung->status != 0) {
- if ($veranstaltung->elo_wertung != 0) {
- wannGespieltAktualisieren();
- eloAktualisieren($aktualisieren_ab_datum);
- einstufungAktualisieren();
- }
- }
- spielerstatistikAktualisieren(0, $veranstaltungid);
- teamstatistikAktualisieren($veranstaltungid);
-
- $mailfrom = $app->getCfg('mailfrom');
- $fromname = $app->getCfg('fromname');
- $subject = $heim_team->teamname . " vs. " . $gast_team->teamname . ": Ergebnis akzeptiert";
- $body = "Zur Begegnung " . $heim_team->teamname . " gegen " . $gast_team->teamname . " am " . FormatiertesDatum($begegnung->zeitpunkt) . " in der " . $veranstaltung->bezeichnung . " wurde von " . ($aktion_team_id == $heim_team->team_id ? $heim_team->teamname : $gast_team->teamname) . " das Ergebnis akzeptiert.";
-
- $query = "SELECT * FROM #__users AS t1, #__sportsmanager_berechtigt_fuer_team AS t2 WHERE t1.id = t2.berechtigt_user_id AND (t2.berechtigt_team_id = " . $begegnung->heim_team_id . " OR t2.berechtigt_team_id = " . $begegnung->gast_team_id . ")";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- foreach ($rows as $row) {
- JFactory::getMailer()->sendMail($mailfrom, $fromname, $row->email, $subject, $body);
- }
-
- /*
- if (!empty($twitter_benutzername)) {
- try {
- $twitter = new Twitter($twitter_benutzername, $twitter_kennwort);
- $status = $twitter->send($veranstaltung->bezeichnung . " " . $heim_team->teamname . " vs. " . $gast_team->teamname . " " . $begegnung->heim_spielpunkte . ":" . $begegnung->gast_spielpunkte . " (" . $begegnung->heim_punkte . ":" . $begegnung->gast_punkte . ")");
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_ranglistensysteme');
}
- catch(TwitterException $e) {
+
+ $id = $jInput->get('id', 0, 'INT');
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $status = $jInput->get('status', 0, 'INT');
+ $funktion = $db->escape(trim($jInput->get('funktion', '', 'RAW')));
+ $typ = $jInput->get('typ', 0, 'INT');
+
+ if ($id == 0) {
+ if ($typ != 1)
+ $query = "INSERT INTO #__sportsmanager_rangliste_system (systembezeichnung, status) VALUES ('$bezeichnung', '$status');";
+ else
+ $query = "INSERT INTO #__sportsmanager_rangliste_system (systembezeichnung, status, funktion) VALUES ('$bezeichnung', '$status', '$funktion');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $query = "UPDATE #__sportsmanager_rangliste_system"
+ . "\n SET systembezeichnung = '$bezeichnung',"
+ . "\n status = '$status'";
+ if ($typ == 1)
+ $query .= ",\n funktion = '$funktion'";
+ $query .= "\n WHERE rangliste_system_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ $query = "DELETE FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ if ($typ != 1) {
+ for ($punkte_nr = 1; $punkte_nr <= 50; $punkte_nr++) {
+ $platz_min = $jInput->get('punkte_' . $punkte_nr . '_platz_min', 0, 'INT');
+ $platz_max = $jInput->get('punkte_' . $punkte_nr . '_platz_max', 0, 'INT');
+ $teilnehmer_min = $jInput->get('punkte_' . $punkte_nr . '_teilnehmer_min', 0, 'INT');
+ $teilnehmer_max = $jInput->get('punkte_' . $punkte_nr . '_teilnehmer_max', 0, 'INT');
+ $punkte = $jInput->get('punkte_' . $punkte_nr . '_punkte', 0, 'INT');
+
+ if ($punkte != 0) {
+ $query = "INSERT INTO #__sportsmanager_rangliste_system_punkte (system_id, platz_min, platz_max, teilnehmer_min, teilnehmer_max, punkte) VALUES ('$id', '$platz_min', '$platz_max', '$teilnehmer_min', '$teilnehmer_max', '$punkte');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+
+ ranglisteAktualisieren();
+ einstufungAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_ranglistensysteme');
+}
+
+function adminRanglistensystemAuswertung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("ranglistenwertungen_aendern"))
+ keinZugriff(true);
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_ranglistensysteme');
+ }
+
+ $id = $jInput->get('id', 0, 'INT');
+ $teilnehmer = $jInput->get('teilnehmer', 100, 'INT');
+ $multiplikator = $jInput->get('multiplikator', 1, 'FLOAT');
+
+ $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE rangliste_system_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $system = $rows[0];
+
+ $query = "SELECT * FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $id ORDER BY rangliste_system_punkte_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $systempunkte = $db->loadObjectList();
+ $math = new MathParserSM;
+
+ if ($system->funktion != NULL) {
+ try {
+ $math->setVariable('n', $teilnehmer);
+ $math->setVariable('m', $multiplikator);
+ $math->setExpression($system->funktion);
+ } catch (Exception $e) {
+ Log::add("variables/expression could not be set: " . $e->getMessage(), Log::WARNING, "com_sportsmanager");
+ return;
+ }
+ }
+
+ $teilnehmerpunkte = array();
+ for ($platz = 1; $platz <= $teilnehmer; $platz++) {
+ $p = 0;
+ if ($system->funktion == NULL) {
+ foreach ($systempunkte as $sp) {
+ if (($sp->platz_min == 0 || $sp->platz_min <= $platz) && ($sp->platz_max == 0 || $platz <= $sp->platz_max) && ($sp->teilnehmer_min == 0 || $sp->teilnehmer_min <= $teilnehmer) && ($sp->teilnehmer_max == 0 || $teilnehmer <= $sp->teilnehmer_max)) {
+ $p = round($sp->punkte * $multiplikator);
+ break;
+ }
+ }
+ } else {
+ try {
+ $math->setVariable('p', $platz);
+ $p = round($math->getValue());
+ } catch (Exception $e) {
+ Log::add("variable could not be set: " . $e->getMessage(), Log::WARNING, "com_sportsmanager");
+ return;
+ }
+ }
+ $teilnehmerpunkte[$platz] = $p;
+ }
+
+ HTML_sportsmanager_admin::adminRanglistensystemAuswertung($system, $teilnehmer, $multiplikator, $teilnehmerpunkte);
+}
+
+#[NoReturn] function adminRemoveRanglistensystem(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("ranglistenwertungen_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_rangliste WHERE system_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_rangliste_turnierdisziplin WHERE system_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+
+ $query = "DELETE FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_rangliste_system WHERE rangliste_system_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ redirectSportsManagerURL('&task=admin_ranglistensysteme');
+}
+
+function adminEditRangliste(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("ranglisten_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ if ($id == 0)
+ $rangliste = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_rangliste WHERE rangliste_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $rangliste = $rows[0];
+
+ if (isset($rangliste->lizenzen)) {
+ $rangliste->lizenzen = explode(',', $rangliste->lizenzen);
+ }
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE status > 0 " . ($id != 0 ? "OR rangliste_system_id = $rangliste->system_id " : "") . "ORDER BY systembezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $systeme = $db->loadObjectList();
+
+ $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 4 ORDER BY nummer";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows_kategorien = $db->loadObjectList();
+
+ $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $saisons = $db->loadObjectList();
+
+ $kategorien = array();
+ foreach ($rows_kategorien as $kategorie)
+ $kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
+
+ HTML_sportsmanager_admin::adminEditRangliste($rangliste, $systeme, $kategorien, $saisons);
+}
+
+#[NoReturn] function adminSaveRangliste(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("ranglisten_aendern"))
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_uebersicht');
+ }
+
+ $id = $jInput->get('id', 0, 'INT');
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $saison_id = $jInput->get('saison_id', 0, 'INT');
+ $erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('erster_tag_jahr', 2000, 'INT'), $jInput->get('erster_tag_monat', 1, 'INT'), $jInput->get('erster_tag_tag', 1, 'INT')));
+ $letzter_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('letzter_tag_jahr', 2000, 'INT'), $jInput->get('letzter_tag_monat', 1, 'INT'), $jInput->get('letzter_tag_tag', 1, 'INT')));
+ $system_id = $jInput->get('system_id', 0, 'INT');
+ $maximal_gewertet_typ = $jInput->get('maximal_gewertet_typ', 0, 'INT');
+ if ($maximal_gewertet_typ == 0)
+ $maximal_gewertet_zahl = 0;
+ else if ($maximal_gewertet_typ == 1)
+ $maximal_gewertet_zahl = -$jInput->get('maximal_gewertet_zahl', 0, 'INT');
+ else
+ $maximal_gewertet_zahl = max(0, 100 - $jInput->get('maximal_gewertet_zahl', 0, 'INT'));
+ $minalter = $jInput->get('minalter', 0, 'INT');
+ $maxalter = $jInput->get('maxalter', 0, 'INT');
+ $ohnealter = $jInput->get('ohnealter', 0, 'INT');
+ $geschlecht = $jInput->get('geschlecht', 0, 'INT');
+ $lizenzen = $jInput->get('lizenzen', [], 'ARRAY');
+ $status = $jInput->get('status', 0, 'INT');
+ $reihenfolge = $jInput->get('reihenfolge', 0, 'INT');
+ $kategorie = $jInput->get('kategorie', 0, 'INT');
+ if ($id == 0)
+ $query = "INSERT INTO #__sportsmanager_rangliste (bezeichnung, saison_id, erster_tag " . ($letzter_tag != null ? ", letzter_tag" : "") . ", system_id, streichergebnisse, geschlecht, lizenzen, minalter, maxalter, ohnealter, status, reihenfolge, kategorie) VALUES ('$bezeichnung', '$saison_id', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$system_id', '$maximal_gewertet_zahl', " . ($geschlecht == null ? "null" : "'$geschlecht'") . ", " . (count((array)$lizenzen) ? implode(',', $lizenzen) : "null") . ", " . ($minalter == null ? "null" : "'$minalter'") . ", " . ($maxalter == null ? "null" : "'$maxalter'") . ", '$ohnealter', '$status', '$reihenfolge', '$kategorie');";
+ else {
+ $query = "UPDATE #__sportsmanager_rangliste"
+ . "\n SET bezeichnung = '$bezeichnung',"
+ . "\n saison_id = '$saison_id',"
+ . "\n erster_tag = '$erster_tag',"
+ . "\n letzter_tag = " . ($letzter_tag != null ? "'$letzter_tag'," : "NULL,")
+ . "\n system_id = '$system_id',"
+ . "\n streichergebnisse = '$maximal_gewertet_zahl',"
+ . "\n geschlecht = " . ($geschlecht != null ? "'$geschlecht'," : "NULL,")
+ . "\n lizenzen = " . (count((array)$lizenzen) ? "'" . implode(',', $lizenzen) . "'," : "NULL,")
+ . "\n minalter = " . ($minalter != null ? "'$minalter'," : "NULL,")
+ . "\n maxalter = " . ($maxalter != null ? "'$maxalter'," : "NULL,")
+ . "\n ohnealter = '$ohnealter',"
+ . "\n status = '$status',"
+ . "\n reihenfolge = '$reihenfolge',"
+ . "\n kategorie = '$kategorie'"
+ . "\n WHERE rangliste_id = $id";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ if ($id == 0)
+ $id = $db->insertid();
+
+ ranglisteAktualisieren($id);
+ einstufungAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_uebersicht');
+}
+
+#[NoReturn] function adminRemoveRangliste(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("ranglisten_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "DELETE FROM #__sportsmanager_einstufung_rangliste WHERE rangliste_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin_punkte WHERE rangliste_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_rangliste_punkte WHERE rangliste_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "UPDATE #__sportsmanager_turnierdisziplin"
+ . "\n SET voranmeldungen_rangliste_id = NULL"
+ . "\n WHERE voranmeldungen_rangliste_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_rangliste WHERE rangliste_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ ranglisteAktualisieren($id);
+ einstufungAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_uebersicht');
+}
+
+#[NoReturn] function adminKopierenRangliste(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("ranglisten_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "SELECT * FROM #__sportsmanager_rangliste WHERE rangliste_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $rangliste = $rows[0];
+
+ $query = "INSERT INTO #__sportsmanager_rangliste (saison_id, system_id, streichergebnisse, geschlecht, minalter, maxalter, ohnealter, bezeichnung, erster_tag, letzter_tag, status, reihenfolge, kategorie)"
+ . "\n VALUES ('$rangliste->saison_id', " . ($rangliste->system_id == null ? "null" : "'$rangliste->system_id'") . ", '" . $db->escape($rangliste->streichergebnisse) . "', " . ($rangliste->geschlecht == null ? "null" : "'$rangliste->geschlecht'") . ", " . ($rangliste->minalter == null ? "null" : "'$rangliste->minalter'") . ", " . ($rangliste->maxalter == null ? "null" : "'$rangliste->maxalter'") . ", '$rangliste->ohnealter', '" . $db->escape($rangliste->bezeichnung . " (Kopie)") . "', '" . $db->escape($rangliste->erster_tag) . "', '" . $db->escape($rangliste->letzter_tag) . "', '0', '" . $db->escape($rangliste->reihenfolge) . "', '" . $db->escape($rangliste->kategorie) . "');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ziel_rangliste_id = $db->insertid();
+
+ // Disziplinen kopieren
+
+ $query = "SELECT * FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ foreach ($rows as $row) {
+ $query = "INSERT INTO #__sportsmanager_rangliste_turnierdisziplin (rangliste_id, turnierdisziplin_id, system_id, wertung, doppel_teilwertung)"
+ . "\n VALUES ($ziel_rangliste_id, '$row->turnierdisziplin_id', " . ($row->system_id == null ? "null" : "'$row->system_id'") . ", '$row->wertung', '$row->doppel_teilwertung');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ redirectSportsManagerURL('&task=admin_uebersicht');
+}
+
+function adminRanglisteTurnierdisziplinen(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("ranglisten_aendern"))
+ keinZugriff(true);
+
+ $rangliste_id = $jInput->get('rangliste_id', 0, 'INT');
+ if ($rangliste_id == 0) die ("Wrong id!");
+
+ $query = "SELECT * FROM #__sportsmanager_rangliste WHERE rangliste_id = $rangliste_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ranglisten = $db->loadObjectList();
+ if (count($ranglisten) < 1) die ("Wrong id");
+ $rangliste = $ranglisten[0];
+
+ $query = "SELECT #__sportsmanager_rangliste_turnierdisziplin.*, disziplin, turnierbezeichnung, turnierort, systembezeichnung, beginn"
+ . "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
+ . "\n LEFT JOIN #__sportsmanager_turnierdisziplin USING (turnierdisziplin_id)"
+ . "\n LEFT JOIN #__sportsmanager_turnier USING (turnier_id)"
+ . "\n LEFT JOIN #__sportsmanager_rangliste_system ON system_id = rangliste_system_id"
+ . "\n WHERE rangliste_id = $rangliste_id"
+ . "\n ORDER BY #__sportsmanager_turnier.erster_tag DESC, disziplin";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $turnierdisziplinen = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminRanglisteTurnierdisziplinen($rangliste, $turnierdisziplinen);
+}
+
+function adminEditRanglisteTurnierdisziplin(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("ranglisten_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ $rangliste_id = $jInput->get('rangliste_id', 0, 'INT');
+
+ if ($id == 0)
+ $ranglisteTurnierdisziplin = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_turnierdisziplin_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $ranglisteTurnierdisziplin = $rows[0];
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_rangliste WHERE rangliste_id = $rangliste_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ranglisten = $db->loadObjectList();
+ if (count($ranglisten) < 1) die ("Wrong id");
+ $rangliste = $ranglisten[0];
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_turnierdisziplin, #__sportsmanager_turnier"
+ . "\n WHERE #__sportsmanager_turnierdisziplin.turnier_id = #__sportsmanager_turnier.turnier_id";
+ if ($rangliste->erster_tag != null)
+ $query .= " AND (ISNULL(erster_tag) OR DATEDIFF(erster_tag, '$rangliste->erster_tag') >= -1096" . ($ranglisteTurnierdisziplin != null ? " OR $ranglisteTurnierdisziplin->turnierdisziplin_id = turnierdisziplin_id" : "") . ")";
+ if ($rangliste->letzter_tag != null)
+ $query .= " AND (ISNULL(erster_tag) OR DATEDIFF('$rangliste->letzter_tag', letzter_Tag) >= -366" . ($ranglisteTurnierdisziplin != null ? " OR $ranglisteTurnierdisziplin->turnierdisziplin_id = turnierdisziplin_id" : "") . ")";
+ $query .= "\n ORDER BY erster_tag DESC, turnierbezeichnung, reihenfolge, disziplin";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $turnierdisziplinen = $db->loadObjectList();
+
+ $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE status != 0 " . ($id != 0 && $ranglisteTurnierdisziplin->system_id != null ? "OR rangliste_system_id = $ranglisteTurnierdisziplin->system_id " : "") . "ORDER BY systembezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $systeme = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminEditRanglisteTurnierdisziplin($rangliste, $ranglisteTurnierdisziplin, $turnierdisziplinen, $systeme);
+}
+
+#[NoReturn] function adminSaveRanglisteTurnierdisziplin(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("ranglisten_aendern"))
+ keinZugriff();
+
+ $id = $jInput->get('id', 0, 'INT');
+ $rangliste_id = $jInput->get('rangliste_id', 0, 'INT');
+ $turnierdisziplin_id = $db->escape($jInput->get('turnierdisziplin_id', 0, 'INT'));
+ $system_id = $jInput->get('system_id', 0, 'INT');
+ $wertung = $jInput->get('wertung', 0, 'RAW');
+ $doppel_teilwertung = $jInput->get('doppel_teilwertung', 0, 'RAW');
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_rangliste_turnierdisziplinen&rangliste_id=' . $rangliste_id);
+ }
+
+ $query = ($id == 0 ? "INSERT" : "UPDATE") . " #__sportsmanager_rangliste_turnierdisziplin"
+ . "\n SET rangliste_id = '$rangliste_id',"
+ . "\n turnierdisziplin_id = '$turnierdisziplin_id',"
+ . "\n system_id = " . ($system_id != 0 ? "'$system_id'" : "NULL") . ","
+ . "\n wertung = '" . $db->escape($wertung) . "',"
+ . "\n doppel_teilwertung = '" . $db->escape($doppel_teilwertung) . "'";
+ if ($id != 0)
+ $query .= "\n WHERE rangliste_turnierdisziplin_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ ranglisteAktualisieren($rangliste_id);
+ einstufungAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_rangliste_turnierdisziplinen&rangliste_id=' . $rangliste_id);
+}
+
+#[NoReturn] function adminRemoveRanglisteTurnierdisziplin(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("ranglisten_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ $rangliste_id = $jInput->get('rangliste_id', 0, 'INT');
+
+ $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ ranglisteAktualisieren($rangliste_id);
+ einstufungAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_rangliste_turnierdisziplinen&rangliste_id=' . $rangliste_id);
+}
+
+#[NoReturn] function adminRanglisteDisziplinenEntfernen(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("ranglisten_aendern"))
+ keinZugriff(true);
+
+ $rangliste_id = $jInput->get('rangliste_id', 0, 'INT');
+
+ $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_id = $rangliste_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ ranglisteAktualisieren($rangliste_id);
+ einstufungAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_rangliste_turnierdisziplinen&rangliste_id=' . $rangliste_id);
+}
+
+#[NoReturn] function adminRanglisteSystemZuruecksetzen(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("ranglisten_aendern"))
+ keinZugriff(true);
+
+ $rangliste_id = $jInput->get('rangliste_id', 0, 'INT');
+
+ $query = "UPDATE #__sportsmanager_rangliste_turnierdisziplin"
+ . "\n SET system_id = NULL,"
+ . "\n wertung = 1"
+ . "\n WHERE rangliste_id = $rangliste_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ ranglisteAktualisieren($rangliste_id);
+ einstufungAktualisieren();
+
+ redirectSportsManagerURL('&task=admin_rangliste_turnierdisziplinen&rangliste_id=' . $rangliste_id);
+}
+
+function adminEditSpielerstatistik(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielerstatistiken_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ if ($id == 0)
+ $spielerstatistik = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $spielerstatistik = $rows[0];
+ }
+
+ $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 5 ORDER BY nummer";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows_kategorien = $db->loadObjectList();
+
+ $kategorien = array();
+ foreach ($rows_kategorien as $kategorie)
+ $kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
+
+ $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $saisons = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminEditSpielerstatistik($spielerstatistik, $kategorien, $saisons);
+}
+
+#[NoReturn] function adminSaveSpielerstatistik(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielerstatistiken_aendern"))
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_uebersicht');
+ }
+
+ $id = $jInput->get('id', 0, 'INT');
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $saison_id = $jInput->get('saison_id', 0, 'INT');
+ $erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('erster_tag_jahr', 2000, 'INT'), $jInput->get('erster_tag_monat', 1, 'INT'), $jInput->get('erster_tag_tag', 1, 'INT')));
+ $letzter_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('letzter_tag_jahr', 2000, 'INT'), $jInput->get('letzter_tag_monat', 1, 'INT'), $jInput->get('letzter_tag_tag', 1, 'INT')));
+ $tabellenwertung = $jInput->get('tabellenwertung', 0, 'INT');
+ $typ = $jInput->get('typ', 0, 'INT');
+ $status = $jInput->get('status', 0, 'INT');
+ $reihenfolge = $jInput->get('reihenfolge', 0, 'INT');
+ $kategorie = $jInput->get('kategorie', 0, 'INT');
+ $spielerstatistik_aktualisieren = false;
+ if ($id == 0) {
+ $query = "INSERT INTO #__sportsmanager_bestenliste (bezeichnung, saison_id, erster_tag " . ($letzter_tag != null ? ", letzter_tag" : "") . " , tabellenwertung, typ, status, reihenfolge, kategorie) VALUES ('$bezeichnung', '$saison_id', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$tabellenwertung', '$typ', '$status', '$reihenfolge', '$kategorie');";
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $spielerstatistik = $rows[0];
+
+ $query = "UPDATE #__sportsmanager_bestenliste"
+ . "\n SET bezeichnung = '$bezeichnung',"
+ . "\n saison_id = '$saison_id',"
+ . "\n erster_tag = '$erster_tag',"
+ . "\n letzter_tag = " . ($letzter_tag != null ? "'$letzter_tag'," : "NULL,")
+ . "\n tabellenwertung = '$tabellenwertung',"
+ . "\n typ = '$typ',"
+ . "\n status = '$status',"
+ . "\n reihenfolge = '$reihenfolge',"
+ . "\n kategorie = '$kategorie'"
+ . "\n WHERE bestenliste_id = $id";
+
+ if ($spielerstatistik->tabellenwertung != $tabellenwertung || $spielerstatistik->typ != $typ)
+ $spielerstatistik_aktualisieren = true;
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ if ($id == 0)
+ $id = $db->insertid();
+
+ if ($spielerstatistik_aktualisieren)
+ spielerstatistikAktualisieren($id);
+
+ redirectSportsManagerURL('&task=admin_uebersicht');
+}
+
+#[NoReturn] function adminRemoveSpielerstatistik(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielerstatistiken_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "DELETE FROM #__sportsmanager_bestenliste_punkte WHERE bestenliste_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_bestenliste_veranstaltung WHERE bestenliste_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE bestenliste_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ redirectSportsManagerURL('&task=admin_uebersicht');
+}
+
+#[NoReturn] function adminKopierenSpielerstatistik(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielerstatistiken_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $spielerstatistik = $rows[0];
+
+ $query = "INSERT INTO #__sportsmanager_bestenliste (saison_id, bezeichnung, tabellenwertung, typ, erster_tag, letzter_tag, status, reihenfolge, kategorie)"
+ . "\n VALUES ('$spielerstatistik->saison_id', '" . $db->escape($spielerstatistik->bezeichnung . " (Kopie)") . "', '$spielerstatistik->tabellenwertung', '$spielerstatistik->typ', '" . $db->escape($spielerstatistik->erster_tag) . "', '" . $db->escape($spielerstatistik->letzter_tag) . "', '0', '" . $db->escape($spielerstatistik->reihenfolge) . "', '" . $db->escape($spielerstatistik->kategorie) . "');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ziel_spielerstatistik_id = $db->insertid();
+
+ $query = "SELECT * FROM #__sportsmanager_bestenliste_veranstaltung WHERE bestenliste_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ foreach ($rows as $row) {
+ $query = "INSERT INTO #__sportsmanager_bestenliste_veranstaltung (bestenliste_id, veranstaltung_id)"
+ . "\n VALUES ($ziel_spielerstatistik_id, $row->veranstaltung_id);";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE bestenliste_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ foreach ($rows as $row) {
+ $query = "INSERT INTO #__sportsmanager_bestenliste_individualwettbewerb (bestenliste_id, individualwettbewerb_id)"
+ . "\n VALUES ($ziel_spielerstatistik_id, $row->individualwettbewerb_id);";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ spielerstatistikAktualisieren($ziel_spielerstatistik_id);
+
+ redirectSportsManagerURL('&task=admin_uebersicht');
+}
+
+function adminSpielerstatistikVeranstaltungen(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielerstatistiken_aendern"))
+ keinZugriff(true);
+
+ $spielerstatistik_id = $jInput->get('spielerstatistik_id', 0, 'INT');
+ if ($spielerstatistik_id == 0) die ("Wrong id!");
+
+ $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $spielerstatistik_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spielerstatistiken = $db->loadObjectList();
+ if (count($spielerstatistiken) < 1) die ("Wrong id");
+ $spielerstatistik = $spielerstatistiken[0];
+
+ $query = "SELECT #__sportsmanager_bestenliste_veranstaltung.*, bezeichnung, erster_tag, letzter_tag, saisonbezeichnung"
+ . "\n FROM #__sportsmanager_bestenliste_veranstaltung"
+ . "\n LEFT JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
+ . "\n LEFT JOIN #__sportsmanager_saison ON #__sportsmanager_saison.saison_id = #__sportsmanager_veranstaltung.saison_id"
+ . "\n WHERE bestenliste_id = $spielerstatistik_id"
+ . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstaltungen = $db->loadObjectList();
+
+ $query = "SELECT #__sportsmanager_bestenliste_individualwettbewerb.*, bezeichnung, saisonbezeichnung"
+ . "\n FROM #__sportsmanager_bestenliste_individualwettbewerb"
+ . "\n LEFT JOIN #__sportsmanager_individualwettbewerb USING (individualwettbewerb_id)"
+ . "\n LEFT JOIN #__sportsmanager_saison ON #__sportsmanager_saison.saison_id = #__sportsmanager_individualwettbewerb.saison_id"
+ . "\n WHERE bestenliste_id = $spielerstatistik_id"
+ . "\n ORDER BY saisonbezeichnung, reihenfolge, bezeichnung, kategorie";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $individualwettbewerbe = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminSpielerstatistikVeranstaltungen($spielerstatistik, $veranstaltungen, $individualwettbewerbe);
+}
+
+function adminEditSpielerstatistikVeranstaltung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielerstatistiken_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ $spielerstatistik_id = $jInput->get('spielerstatistik_id', 0, 'INT');
+
+ if ($id == 0)
+ $spielerstatistikVeranstaltung = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_bestenliste_veranstaltung WHERE bestenliste_veranstaltung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $spielerstatistikVeranstaltung = $rows[0];
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $spielerstatistik_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spielerstatistiken = $db->loadObjectList();
+ if (count($spielerstatistiken) < 1) die ("Wrong id");
+ $spielerstatistik = $spielerstatistiken[0];
+
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung";
+ if ($spielerstatistik->erster_tag != null)
+ $query .= "\n WHERE (ISNULL(erster_tag) OR DATEDIFF(erster_tag, '$spielerstatistik->erster_tag') >= -1096" . ($spielerstatistikVeranstaltung != null ? " OR $spielerstatistikVeranstaltung->veranstaltung_id = veranstaltung_id" : "") . ")";
+ if ($spielerstatistik->letzter_tag != null)
+ $query .= ($spielerstatistik->erster_tag != null ? " AND" : "\n WHERE") . " (ISNULL(erster_tag) OR DATEDIFF('$spielerstatistik->letzter_tag', letzter_Tag) >= -366" . ($spielerstatistikVeranstaltung != null ? " OR $spielerstatistikVeranstaltung->veranstaltung_id = veranstaltung_id" : "") . ")";
+ $query .= "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstaltungen = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminEditSpielerstatistikVeranstaltung($spielerstatistik, $spielerstatistikVeranstaltung, $veranstaltungen);
+}
+
+#[NoReturn] function adminSaveSpielerstatistikVeranstaltung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielerstatistiken_aendern"))
+ keinZugriff();
+
+ $id = $jInput->get('id', 0, 'INT');
+ $spielerstatistik_id = $jInput->get('spielerstatistik_id', 0, 'INT');
+ $veranstaltung_id = $jInput->get('veranstaltung_id', 0, 'INT');
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
+ }
+
+ $query = ($id == 0 ? "INSERT" : "UPDATE") . " #__sportsmanager_bestenliste_veranstaltung"
+ . "\n SET bestenliste_id = '$spielerstatistik_id',"
+ . "\n veranstaltung_id = '$veranstaltung_id'";
+ if ($id != 0)
+ $query .= "\n WHERE bestenliste_veranstaltung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ spielerstatistikAktualisieren($spielerstatistik_id);
+
+ redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
+}
+
+#[NoReturn] function adminRemoveSpielerstatistikVeranstaltung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielerstatistiken_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ $spielerstatistik_id = $jInput->get('spielerstatistik_id', 0, 'INT');
+
+ $query = "DELETE FROM #__sportsmanager_bestenliste_veranstaltung WHERE bestenliste_veranstaltung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ spielerstatistikAktualisieren($spielerstatistik_id);
+
+ redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
+}
+
+function adminEditSpielerstatistikIndividualwettbewerb(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielerstatistiken_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ $spielerstatistik_id = $jInput->get('spielerstatistik_id', 0, 'INT');
+
+ if ($id == 0)
+ $spielerstatistikIndividualwettbewerb = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE bestenliste_individualwettbewerb_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $spielerstatistikIndividualwettbewerb = $rows[0];
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $spielerstatistik_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spielerstatistiken = $db->loadObjectList();
+ if (count($spielerstatistiken) < 1) die ("Wrong id");
+ $spielerstatistik = $spielerstatistiken[0];
+
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb"
+ . "\n LEFT JOIN #__sportsmanager_saison USING (saison_id)"
+ . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $individualwettbewerbe = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminEditSpielerstatistikIndividualwettbewerb($spielerstatistik, $spielerstatistikIndividualwettbewerb, $individualwettbewerbe);
+}
+
+#[NoReturn] function adminSaveSpielerstatistikIndividualwettbewerb(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielerstatistiken_aendern"))
+ keinZugriff();
+
+ $id = $jInput->get('id', 0, 'INT');
+ $spielerstatistik_id = $jInput->get('spielerstatistik_id', 0, 'INT');
+ $individualwettbewerb_id = $jInput->get('individualwettbewerb_id', 0, 'INT');
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
+ }
+
+ $query = ($id == 0 ? "INSERT" : "UPDATE") . " #__sportsmanager_bestenliste_individualwettbewerb"
+ . "\n SET bestenliste_id = '$spielerstatistik_id',"
+ . "\n individualwettbewerb_id = '$individualwettbewerb_id'";
+ if ($id != 0)
+ $query .= "\n WHERE bestenliste_individualwettbewerb_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ spielerstatistikAktualisieren($spielerstatistik_id);
+
+ redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
+}
+
+#[NoReturn] function adminRemoveSpielerstatistikIndividualwettbewerb(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielerstatistiken_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ $spielerstatistik_id = $jInput->get('spielerstatistik_id', 0, 'INT');
+
+ $query = "DELETE FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE bestenliste_individualwettbewerb_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ spielerstatistikAktualisieren($spielerstatistik_id);
+
+ redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
+}
+
+#[NoReturn] function adminSpielerstatistikVeranstaltungenEntfernen(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("spielerstatistiken_aendern"))
+ keinZugriff(true);
+
+ $spielerstatistik_id = $jInput->get('spielerstatistik_id', 0, 'INT');
+
+ $query = "DELETE FROM #__sportsmanager_bestenliste_veranstaltung WHERE bestenliste_id = $spielerstatistik_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE bestenliste_id = $spielerstatistik_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ spielerstatistikAktualisieren($spielerstatistik_id);
+
+ redirectSportsManagerURL('&task=admin_spielerstatistik_veranstaltungen&spielerstatistik_id=' . $spielerstatistik_id);
+}
+
+function adminModeratoren(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("moderatoren_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT t1.moderator_id, t1.moderator_user_id, t2.name, t2.username, (SELECT COUNT(*) FROM #__sportsmanager_moderator_zugriff WHERE #__sportsmanager_moderator_zugriff.moderator_id = t1.moderator_id) AS zugriffe FROM #__sportsmanager_moderator as t1 LEFT JOIN #__users AS t2 ON t1.moderator_user_id=t2.id ORDER BY name, username";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminModeratoren($rows);
+}
+
+function adminEditModerator(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("moderatoren_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $row = null;
+ if ($id != 0) {
+ $query = "SELECT * FROM #__sportsmanager_moderator WHERE moderator_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
+ }
+
+ if (empty($id)) {
+ $zugriffe = null;
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_moderator_zugriff WHERE moderator_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $zugriffe = $db->loadObjectList();
+ }
+
+ $query = "SELECT * FROM #__users ORDER BY name, username";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $users = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminEditModerator($row, $zugriffe, $users);
+}
+
+#[NoReturn] function adminSaveModerator(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("moderatoren_aendern"))
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_moderatoren');
+ }
+
+ $id = $jInput->get('id', 0, 'INT');
+ $userid = $jInput->get('userid', 0, 'INT');
+ $zugriffe = $jInput->get('zugriffe', array(), 'ARRAY');
+
+ if ($id == 0) {
+ $query = "INSERT INTO #__sportsmanager_moderator (moderator_user_id)"
+ . "\n VALUES ('$userid');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $query = "UPDATE #__sportsmanager_moderator"
+ . "\n SET moderator_user_id = '$userid'"
+ . "\n WHERE moderator_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_moderator_zugriff WHERE moderator_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $alte_zugriffe = $db->loadObjectList();
+
+ foreach ($alte_zugriffe as $alter_zugriff) {
+ if (!in_array($alter_zugriff->zugriff, $zugriffe)) {
+ $alter_zugriff_id = $alter_zugriff->moderator_zugriff_id;
+ $query = "DELETE FROM #__sportsmanager_moderator_zugriff WHERE moderator_zugriff_id = $alter_zugriff_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else {
+ $index = array_search($alter_zugriff->zugriff, $zugriffe);
+ if ($index !== false) {
+ unset($zugriffe[$index]);
+ }
+ }
+ }
+
+ foreach ($zugriffe as $zugriff) {
+ $query = "INSERT #__sportsmanager_moderator_zugriff"
+ . "\n SET moderator_id = '$id',"
+ . "\n zugriff = '$zugriff',"
+ . "\n zusatz = ''";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ redirectSportsManagerURL('&task=admin_moderatoren');
+}
+
+#[NoReturn] function adminRemoveModerator(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("moderatoren_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "DELETE FROM #__sportsmanager_moderator WHERE moderator_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_moderator_zugriff WHERE moderator_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ redirectSportsManagerURL('&task=admin_moderatoren');
+}
+
+function adminVeranstalter(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("organisationen_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT *,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_veranstaltung WHERE #__sportsmanager_veranstalter.veranstalter_id = #__sportsmanager_veranstaltung.veranstalter_id) AS veranstaltungen,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_verein WHERE #__sportsmanager_veranstalter.veranstalter_id = #__sportsmanager_verein.veranstalter_id) AS vereine,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_turnier WHERE #__sportsmanager_veranstalter.veranstalter_id = #__sportsmanager_turnier.veranstalter_id) AS turniere,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_individualwettbewerb WHERE #__sportsmanager_veranstalter.veranstalter_id = #__sportsmanager_individualwettbewerb.veranstalter_id) AS individualwettbewerbe"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminVeranstalter($rows);
+}
+
+function adminEditVeranstalter(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("organisationen_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ $row = null;
+ if ($id == 0) {
+ $berechtigt_fuer_veranstalter = array();
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 1)
+ $row = $rows[0];
+
+ $query = "SELECT #__sportsmanager_berechtigt_fuer_veranstalter.* FROM #__sportsmanager_berechtigt_fuer_veranstalter, #__users WHERE berechtigt_user_id = id AND berechtigt_veranstalter_id = $id ORDER BY username, name";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $berechtigt_fuer_veranstalter = $db->loadObjectList();
+ }
+
+ $query = "SELECT * FROM #__users ORDER BY name, username";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $users = $db->loadObjectList();
+
+ $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 1 ORDER BY nummer";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows_kategorien = $db->loadObjectList();
+
+ $kategorien = array();
+ foreach ($rows_kategorien as $kategorie)
+ $kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
+
+ HTML_sportsmanager_admin::adminEditVeranstalter($row, $berechtigt_fuer_veranstalter, $users, $kategorien);
+}
+
+#[NoReturn] function adminSaveVeranstalter(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("organisationen_aendern"))
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_veranstalter');
+ }
+
+ $id = $jInput->get('id', 0, 'INT');
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $kuerzel = $db->escape(trim($jInput->get('kuerzel', '', 'RAW')));
+ $kategorie = $jInput->get('kategorie', 0, 'INT');
+
+ $berechtigt_fuer_veranstalter_user_ids = array($jInput->get('berechtigt_fuer_veranstalter_user_1_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_veranstalter_user_2_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_veranstalter_user_3_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_veranstalter_user_4_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_veranstalter_user_5_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_veranstalter_user_6_id', 0, 'INT'));
+
+ if ($id == 0)
+ $query = "INSERT INTO #__sportsmanager_veranstalter (veranstalterbezeichnung, veranstalterkuerzel, kategorie) VALUES ('$bezeichnung', '$kuerzel', '$kategorie');";
+ else {
+ $query = "UPDATE #__sportsmanager_veranstalter"
+ . "\n SET veranstalterbezeichnung = '$bezeichnung',"
+ . "\n veranstalterkuerzel = '$kuerzel',"
+ . "\n kategorie = '$kategorie'"
+ . "\n WHERE veranstalter_id = $id";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ if ($id == 0)
+ $id = $db->insertid();
+
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_veranstalter WHERE berechtigt_veranstalter_id = $id AND berechtigt_user_id != $berechtigt_fuer_veranstalter_user_ids[0] AND berechtigt_user_id != $berechtigt_fuer_veranstalter_user_ids[1] AND berechtigt_user_id != $berechtigt_fuer_veranstalter_user_ids[2] AND berechtigt_user_id != $berechtigt_fuer_veranstalter_user_ids[3] AND berechtigt_user_id != $berechtigt_fuer_veranstalter_user_ids[4] AND berechtigt_user_id != $berechtigt_fuer_veranstalter_user_ids[5];";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_veranstalter WHERE berechtigt_veranstalter_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ for ($nummer = 0; $nummer <= 5; $nummer++) {
+ $berechtigt_user_id = $berechtigt_fuer_veranstalter_user_ids[$nummer];
+ if ($berechtigt_user_id != 0) {
+ $gefunden = false;
+ foreach ($rows as $row) {
+ if ($row->berechtigt_user_id == $berechtigt_user_id)
+ $gefunden = true;
+ }
+ if (!$gefunden) {
+ $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_veranstalter (berechtigt_user_id, berechtigt_veranstalter_id) VALUES ('$berechtigt_user_id', '$id');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+
+ redirectSportsManagerURL('&task=admin_veranstalter');
+}
+
+#[NoReturn] function adminRemoveVeranstalter(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("organisationen_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstalter_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_verein WHERE veranstalter_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turnier WHERE veranstalter_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb WHERE veranstalter_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+
+ $query = "UPDATE #__sportsmanager_rechnung SET veranstalter_id = NULL WHERE veranstalter_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_veranstalter WHERE berechtigt_veranstalter_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ redirectSportsManagerURL('&task=admin_veranstalter');
+}
+
+function adminSaisons(): void
+{
+ $db = getDatabase();
+
+ if (!benutzerZugriff("saisons_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT *,"
+ . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_veranstaltung WHERE #__sportsmanager_veranstaltung.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS veranstaltungen,"
+ . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_turnier WHERE #__sportsmanager_turnier.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS turniere,"
+ . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_rangliste WHERE #__sportsmanager_rangliste.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS ranglisten,"
+ . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_bestenliste WHERE #__sportsmanager_bestenliste.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS bestenlisten"
+ . "\n FROM #__sportsmanager_saison"
+ . "\n ORDER BY saisonbezeichnung DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminSaisons($rows);
+}
+
+function adminEditSaison(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("saisons_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ if ($id == 0)
+ $row = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_saison WHERE saison_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
+ }
+
+ HTML_sportsmanager_admin::adminEditSaison($row);
+}
+
+#[NoReturn] function adminSaveSaison(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("saisons_aendern"))
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_saisons');
+ }
+
+ $id = $jInput->get('id', 0, 'INT');
+ $saisonbezeichnung = $db->escape(trim($jInput->get('saisonbezeichnung', '', 'RAW')));
+
+ if ($id == 0)
+ $query = "INSERT INTO #__sportsmanager_saison (saisonbezeichnung) VALUES ('$saisonbezeichnung');";
+ else {
+ $query = "UPDATE #__sportsmanager_saison"
+ . "\n SET saisonbezeichnung = '$saisonbezeichnung'"
+ . "\n WHERE saison_id = $id";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ redirectSportsManagerURL('&task=admin_saisons');
+}
+
+#[NoReturn] function adminRemoveSaison(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("saisons_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "SELECT *,"
+ . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_veranstaltung WHERE #__sportsmanager_veranstaltung.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS veranstaltungen,"
+ . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_turnier WHERE #__sportsmanager_turnier.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS turniere,"
+ . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_rangliste WHERE #__sportsmanager_rangliste.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS ranglisten,"
+ . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_bestenliste WHERE #__sportsmanager_bestenliste.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS bestenlisten"
+ . "\n FROM #__sportsmanager_saison"
+ . "\n WHERE saison_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ $row = $rows[0];
+ if ($row->veranstaltungen != 0 || $row->turniere != 0 || $row->ranglisten != 0 || $row->bestenlisten != 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+
+ $query = "DELETE FROM #__sportsmanager_saison WHERE saison_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+
+ redirectSportsManagerURL('&task=admin_saisons');
+}
+
+function adminEditVeranstaltung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $id = $jInput->get('id', 0, 'INT');
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern"))
+ keinZugriff(true);
+
+ if ($id == 0)
+ $row = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
+ }
+ $vorlage = $jInput->get('vorlage', 0, 'INT');
+
+ $query = "SELECT * FROM #__sportsmanager_veranstalter ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
+
+ $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE status != 0 " . ($id != 0 ? "OR teamspiel_modus_id = $row->modus_id " : "") . "ORDER BY bezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spielmodi = $db->loadObjectList();
+
+ $query = "SELECT * FROM #__sportsmanager_verschieberegel ORDER BY bezeichnung"; // WHERE status != 0 " . ($id != 0 ? "OR teamspiel_modus_id = $row->modus_id " : "") . "ORDER BY bezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $verschieberegeln = $db->loadObjectList();
+
+ $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 2 ORDER BY nummer";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows_kategorien = $db->loadObjectList();
+
+ $kategorien = array();
+ foreach ($rows_kategorien as $kategorie)
+ $kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
+
+ $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $saisons = $db->loadObjectList();
+
+ if (empty($id)) {
+ $berechtigt_fuer_veranstaltung = array();
+ } else {
+ $query = "SELECT #__sportsmanager_berechtigt_fuer_veranstaltung.* FROM #__sportsmanager_berechtigt_fuer_veranstaltung, #__users WHERE berechtigt_user_id = id AND berechtigt_veranstaltung_id = $id ORDER BY username, name";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $berechtigt_fuer_veranstaltung = $db->loadObjectList();
+ }
+
+ $query = "SELECT * FROM #__users ORDER BY name, username";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $users = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminEditVeranstaltung($row, $veranstalter, $spielmodi, $verschieberegeln, $kategorien, $saisons, $users, $berechtigt_fuer_veranstaltung, $vorlage);
+}
+
+#[NoReturn] function adminSaveVeranstaltung(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern"))
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_uebersicht');
+ }
+
+ $vorlage = $jInput->get('vorlage', 0, 'INT');
+ $id = $vorlage ? 0 : $jInput->get('id', 0, 'INT');
+ $veranstalterId = $jInput->get('veranstalterid', 0, 'INT');
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $saison_id = $jInput->get('saison_id', 0, 'INT');
+ $erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('erster_tag_jahr', 2000, 'INT'), $jInput->get('erster_tag_monat', 1, 'INT'), $jInput->get('erster_tag_tag', 1, 'INT')));
+ $letzter_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('letzter_tag_jahr', 2000, 'INT'), $jInput->get('letzter_tag_monat', 1, 'INT'), $jInput->get('letzter_tag_tag', 1, 'INT')));
+ $modus_id = $jInput->get('modus_id', 0, 'INT');
+ $verschieberegel_id = $jInput->get('verschieberegel_id', 0, 'INT');
+ $tabellenwertung = $jInput->get('tabellenwertung', 0, 'INT');
+ $unterteilung = $jInput->get('unterteilung', 0, 'INT');
+ $elo_wertung = $jInput->get('elo_wertung', 0, 'INT');
+ $logo_url = $db->escape(trim($jInput->get('logo_url', '', 'RAW')));
+ $ticker_logo_url = $db->escape(trim($jInput->get('ticker_logo_url', '', 'RAW')));
+ $status = $jInput->get('status', 0, 'INT');
+ $reihenfolge = $jInput->get('reihenfolge', 0, 'INT');
+ $kategorie = $jInput->get('kategorie', 0, 'INT');
+ $bildbeibehalten_ticker_logo = $jInput->get('bildbeibehalten_ticker_logo', 0, 'INT');
+ $aktualisieren_ab_datum = $erster_tag;
+ $berechtigt_fuer_veranstaltung_user_ids = array();
+ for ($i = 1; $i <= 6; $i++) {
+ $berechtigt_user_id = $jInput->get('berechtigt_fuer_veranstaltung_user_' . $i . '_id', 0, 'INT');
+ if (!empty($berechtigt_user_id) && !in_array($berechtigt_user_id, $berechtigt_fuer_veranstaltung_user_ids))
+ $berechtigt_fuer_veranstaltung_user_ids[] = $berechtigt_user_id;
+ }
+
+ $elo_aktualisieren = false;
+ $spielerstatistik_aktualisieren = false;
+ if ($id == 0) {
+ $query = "INSERT INTO #__sportsmanager_veranstaltung (veranstalter_id, saison_id, bezeichnung, erster_tag " . ($letzter_tag != null ? ", letzter_tag" : "") . ", modus_id, verschieberegel_id, tabellenwertung, unterteilung, elo_wertung, logo_url, ticker_logo_url, status, reihenfolge, kategorie) VALUES
+ ('$veranstalterId', '$saison_id', '$bezeichnung', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$modus_id', '$verschieberegel_id', '$tabellenwertung', '$unterteilung', '$elo_wertung', '$logo_url', '$ticker_logo_url', '$status', '$reihenfolge', '$kategorie');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ redirectSportsManagerURL('&task=admin_uebersicht', "Die Veranstaltung existiert nicht mehr!");
+ }
+ $row = $rows[0];
+
+ $query = "UPDATE #__sportsmanager_veranstaltung"
+ . "\n SET veranstalter_id = '$veranstalterId',"
+ . "\n bezeichnung = '$bezeichnung',"
+ . "\n saison_id = '$saison_id',"
+ . "\n erster_tag = '$erster_tag',"
+ . "\n letzter_tag = " . ($letzter_tag != null ? "'$letzter_tag'," : "NULL,")
+ . "\n modus_id = '$modus_id',"
+ . "\n verschieberegel_id = '$verschieberegel_id',"
+ . "\n tabellenwertung = '$tabellenwertung',"
+ . "\n unterteilung = '$unterteilung',"
+ . "\n elo_wertung = '$elo_wertung',"
+ . "\n logo_url = '$logo_url',"
+ . "\n ticker_logo_url = '$ticker_logo_url',"
+ . "\n status = '$status',"
+ . "\n reihenfolge = '$reihenfolge',"
+ . "\n kategorie = '$kategorie'"
+ . "\n WHERE veranstaltung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ if (($elo_wertung != 0 && $status != 0) != ($row->elo_wertung != 0 && $row->status != 0))
+ $elo_aktualisieren = true;
+ if ((($modus_id != 0 || $row->modus_id != 0) && $status != $row->status)
+ || (($status != 0 || $row->status != 0) && $modus_id != $row->modus_id))
+ $spielerstatistik_aktualisieren = true;
+ }
+
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_veranstaltung WHERE berechtigt_veranstaltung_id = $id";
+ if (!empty($berechtigt_fuer_veranstaltung_user_ids))
+ $query .= " AND berechtigt_user_id NOT IN (" . implode(", ", $berechtigt_fuer_veranstaltung_user_ids) . ")";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_veranstaltung WHERE berechtigt_veranstaltung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ foreach ($rows as $row) {
+ $index = array_search($row->berechtigt_user_id, $berechtigt_fuer_veranstaltung_user_ids);
+ if ($index !== false) {
+ unset($berechtigt_fuer_veranstaltung_user_ids[$index]);
+ }
+ }
+
+ foreach ($berechtigt_fuer_veranstaltung_user_ids as $berechtigt_user_id) {
+ $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_veranstaltung (berechtigt_user_id, berechtigt_veranstaltung_id) VALUES ('$berechtigt_user_id', '$id');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ if ($elo_aktualisieren) {
+ eloAktualisieren($aktualisieren_ab_datum);
+ einstufungAktualisieren();
+ }
+
+ teamstatistikAktualisieren($id);
+
+ if ($spielerstatistik_aktualisieren) {
+ begegnungenAktualisieren($id);
+ spielerstatistikAktualisieren(0, $id);
+ }
+
+ if ($bildbeibehalten_ticker_logo == 0) {
+ bildLoeschen("mannschaftswettbewerbe/ticker_logo", $id);
+
+ if (!empty($_FILES["bild_ticker_logo"]["tmp_name"])) {
+ if (is_uploaded_file($_FILES["bild_ticker_logo"]["tmp_name"])) {
+ $size = getimagesize($_FILES["bild_ticker_logo"]["tmp_name"]);
+ if (!$size
+ || ($size[2] != IMAGETYPE_JPEG && $size[2] != IMAGETYPE_PNG)
+ || ($size[0] > 8192 || $size[1] > 8192)) {
+ redirectSportsManagerURL('&task=admin_ubersicht', "Das Bild wurde nicht gespeichert, da es nicht im JPG/PNG-Format mit maximal 8192*8192 Bildpunkten vorliegt.");
+ }
+ $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftswettbewerbe';
+ if (!File::copy($_FILES["bild_ticker_logo"]["tmp_name"], $bilder_pfad . DIRECTORY_SEPARATOR . 'ticker_logo' . $id . ($size[2] == IMAGETYPE_PNG ? '.png' : '.jpg'))) {
+ redirectSportsManagerURL('&task=admin_uebersicht', "Das Bild konnte nicht an die Zielposition kopiert werden.");
+ }
+ }
+ }
+ }
+
+ redirectSportsManagerURL('&task=admin_uebersicht');
+}
+
+#[NoReturn] function adminRemoveVeranstaltung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern"))
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_team WHERE veranstaltung_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+
+ $query = "DELETE FROM #__sportsmanager_bestenliste_veranstaltung WHERE veranstaltung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_veranstaltung WHERE berechtigt_veranstaltung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ spielerstatistikAktualisieren(0, $id);
+
+ bildLoeschen("mannschaftswettbewerbe/logo", $id);
+ bildLoeschen("mannschaftswettbewerbe/ticker_logo", $id);
+
+ redirectSportsManagerURL('&task=admin_uebersicht');
+}
+
+function adminMannschaften(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
+
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
+
+ $query = "SELECT #__sportsmanager_team.*, #__sportsmanager_verein.vereinsname, #__sportsmanager_spielort.*,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_team.team_id = #__sportsmanager_mitglied_von_team.team_id AND NOT ausgetreten) AS mitglieder_aktiv,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_team WHERE #__sportsmanager_team.team_id = #__sportsmanager_mitglied_von_team.team_id) AS mitglieder,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung WHERE heim_team_id = #__sportsmanager_team.team_id OR gast_team_id = #__sportsmanager_team.team_id) AS begegnungen"
+ . "\n FROM #__sportsmanager_team"
+ . "\n LEFT JOIN #__sportsmanager_verein ON #__sportsmanager_verein.verein_id = #__sportsmanager_team.verein_id"
+ . "\n LEFT JOIN #__sportsmanager_spielort ON #__sportsmanager_spielort.spielort_id = #__sportsmanager_team.heimspielort_id"
+ . "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY teamname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminMannschaften($veranstaltung, $rows);
+}
+
+function adminEditMannschaft(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $id = $jInput->get('id', 0, 'INT');
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
+
+ $row = null;
+ if ($id == 0) {
+ $berechtigt_fuer_team = null;
+ $teamansprechpartner = null;
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 1)
+ $row = $rows[0];
+
+ if ($veranstaltungId != $row->veranstaltung_id)
+ die("Wrong id!");
+
+ $query = "SELECT t1.* FROM #__sportsmanager_berechtigt_fuer_team AS t1, #__users AS t2 WHERE t1.berechtigt_user_id = t2.id AND berechtigt_team_id = $id ORDER BY username, name";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $berechtigt_fuer_team = $db->loadObjectList();
+
+ $query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $id ORDER BY kontaktperson_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teamansprechpartner = $db->loadObjectList();
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
+
+ $query = "SELECT verein_id, vereinsname, veranstalterbezeichnung, ausgetreten"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
+ . "\n WHERE NOT ausgetreten" . (!empty($row) && !empty($row->verein_id) ? " OR verein_id = $row->verein_id" : "")
+ . "\n ORDER BY veranstalterbezeichnung, vereinsname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereine = $db->loadObjectList();
+
+ $query = "SELECT * FROM #__users ORDER BY name, username";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $users = $db->loadObjectList();
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_spielort"
+ . "\n ORDER BY ortsname, name, ortsteil";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spielorte = $db->loadObjectList();
+
+ $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
+ if ($beschraenkter_zugriff_veranstaltungen) {
+ if (empty($id) || empty($row->teamgruppe_id)) {
+ $query = "SELECT veranstaltung_id, bezeichnung, erster_tag, letzter_tag, saison_id, IF(" . veranstaltungFilter("veranstaltung_id IN") . ", 1, 0) AS veranstaltung_moderator"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
+ . "\n WHERE veranstaltung_id != $veranstaltung->veranstaltung_id AND saison_id = $veranstaltung->saison_id AND " . veranstaltungFilter("veranstaltung_id IN")
+ . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
+ } else {
+ $query = "SELECT DISTINCT veranstaltung_id, bezeichnung, erster_tag, letzter_tag, saison_id, team_id, team_begegnungen, IF(" . veranstaltungFilter("veranstaltung_id IN") . ", 1, 0) AS veranstaltung_moderator"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
+ . "\n LEFT JOIN (SELECT veranstaltung_id, team_id, IF(EXISTS(SELECT * FROM #__sportsmanager_begegnung WHERE heim_team_id = team_id OR gast_team_id = team_id), 1, 0) AS team_begegnungen FROM #__sportsmanager_team WHERE teamgruppe_id = $row->teamgruppe_id) AS veranstaltungen USING (veranstaltung_id)"
+ . "\n WHERE veranstaltung_id != $veranstaltung->veranstaltung_id AND ((saison_id = $veranstaltung->saison_id AND " . veranstaltungFilter("veranstaltung_id IN") . ") OR NOT ISNULL(team_id))"
+ . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
+ }
+ } else {
+ if (empty($id) || empty($row->teamgruppe_id)) {
+ $query = "SELECT veranstaltung_id, bezeichnung, erster_tag, letzter_tag, saison_id"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
+ . "\n WHERE veranstaltung_id != $veranstaltung->veranstaltung_id AND saison_id = $veranstaltung->saison_id"
+ . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
+ } else {
+ $query = "SELECT DISTINCT veranstaltung_id, bezeichnung, erster_tag, letzter_tag, saison_id, team_id, team_begegnungen"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
+ . "\n LEFT JOIN (SELECT veranstaltung_id, team_id, IF(EXISTS(SELECT * FROM #__sportsmanager_begegnung WHERE heim_team_id = team_id OR gast_team_id = team_id), 1, 0) AS team_begegnungen FROM #__sportsmanager_team WHERE teamgruppe_id = $row->teamgruppe_id) AS veranstaltungen USING (veranstaltung_id)"
+ . "\n WHERE veranstaltung_id != $veranstaltung->veranstaltung_id AND (saison_id = $veranstaltung->saison_id OR NOT ISNULL(team_id))"
+ . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
+ }
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstaltungen = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminEditMannschaft($veranstaltung, $row, $veranstaltungen, $vereine, $users, $berechtigt_fuer_team, $teamansprechpartner, $spielorte, $beschraenkter_zugriff_veranstaltungen);
+}
+
+#[NoReturn] function adminSaveMannschaft(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $id = $jInput->get('id', 0, 'INT');
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungId);
+ }
+
+ $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
+ $beschraenkter_zugriff_veranstaltungen_ids = $beschraenkter_zugriff_veranstaltungen ? benutzerVeranstaltungIdsModerator() : null;
+
+ $teamname = $db->escape(trim($jInput->get('teamname', '', 'RAW')));
+ $platz = $jInput->get('platz', 0, 'INT');
+ $verein_id = $jInput->get('verein_id', 0, 'INT');
+ $tischtyp = $db->escape(trim($jInput->get('tischtyp', '', 'RAW')));
+ $tischeigenschaften = $db->escape(trim($jInput->get('tischeigenschaften', '', 'RAW')));
+ $heimspiel_wochentag = $jInput->get('heimspiel_wochentag', 0, 'INT');
+ $heimspiel_uhrzeit = sprintf("%02d%02d", $jInput->get('heimspiel_uhrzeit_stunden', 0, 'INT'), $jInput->get('heimspiel_uhrzeit_minuten', 0, 'INT'));
+ $heimspielort_id = $jInput->get('heimspielort_id', 0, 'INT');
+ $nichtraucherschutz = $jInput->get('nichtraucherschutz', 0, 'INT');
+ $zusatzpunkte = $jInput->get('zusatzpunkte', 0, 'FLOAT');
+ $bildbeibehalten = $jInput->get('bildbeibehalten', 0, 'INT');
+
+ $berechtigt_fuer_team_user_ids = array($jInput->get('berechtigt_fuer_team_user_1_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_team_user_2_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_team_user_3_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_team_user_4_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_team_user_5_id', 0, 'INT'),
+ $jInput->get('berechtigt_fuer_team_user_6_id', 0, 'INT'));
+ $pin = $db->escape(trim($jInput->get('pin', '', 'RAW')));
+
+ $weitere_veranstaltungen_anzahl = $jInput->get('weitere_veranstaltungen_anzahl', 0, 'INT');
+ $weitere_veranstaltungen_beruecksichtigt = array();
+ for ($i = 0; $i < $weitere_veranstaltungen_anzahl; $i++) {
+ $weitere_veranstaltung_id = $jInput->get('weitere_veranstaltung_id_' . $i, 0, 'INT');
+ if ($weitere_veranstaltung_id != 0 && !in_array($weitere_veranstaltung_id, $weitere_veranstaltungen_beruecksichtigt))
+ $weitere_veranstaltungen_beruecksichtigt[] = $weitere_veranstaltung_id;
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
+
+ if ($id == 0) {
+ $query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, zusatzpunkte" . ($veranstaltung->tabellenwertung == -2 ? ", platz" : "") . ", pin)"
+ . "\n VALUES (" . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ", '$veranstaltungId', '$teamname', '$tischtyp', '$tischeigenschaften', '$heimspiel_wochentag', '$heimspiel_uhrzeit', " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ", '$nichtraucherschutz', '$zusatzpunkte'" . ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? ", '$platz'" : ", NULL") : "") . ", '$pin');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ $teamgruppe_id = $id;
+ $team_alt = null;
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) == 0) die("Wrong id!");
+ $team_alt = $teams[0];
+ $teamgruppe_id = $team_alt->teamgruppe_id != null ? $team_alt->teamgruppe_id : $id;
+
+ if ($veranstaltungId != $team_alt->veranstaltung_id)
+ die("Wrong id!");
+
+ $query = "UPDATE #__sportsmanager_team"
+ . "\n SET verein_id = " . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ","
+ . "\n teamname = '$teamname',"
+ . "\n tischtyp = '$tischtyp',"
+ . "\n tischeigenschaften = '$tischeigenschaften',"
+ . "\n heimspiel_wochentag = '$heimspiel_wochentag',"
+ . "\n heimspiel_uhrzeit = '$heimspiel_uhrzeit',"
+ . "\n heimspielort_id = " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ","
+ . "\n nichtraucherschutz = '$nichtraucherschutz',"
+ . ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? "\n platz = '$platz'," : "\n platz = NULL,") : "")
+ . "\n zusatzpunkte = '$zusatzpunkte',"
+ . "\n pin = '$pin'"
+ . "\n WHERE team_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ // Teamvertreter speichern
+
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $id AND berechtigt_user_id != $berechtigt_fuer_team_user_ids[0] AND berechtigt_user_id != $berechtigt_fuer_team_user_ids[1] AND berechtigt_user_id != $berechtigt_fuer_team_user_ids[2] AND berechtigt_user_id != $berechtigt_fuer_team_user_ids[3] AND berechtigt_user_id != $berechtigt_fuer_team_user_ids[4] AND berechtigt_user_id != $berechtigt_fuer_team_user_ids[5];";
+
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ for ($nummer = 0; $nummer <= 5; $nummer++) {
+ $berechtigt_user_id = $berechtigt_fuer_team_user_ids[$nummer];
+ if ($berechtigt_user_id != 0) {
+ $gefunden = false;
+ foreach ($rows as $row) {
+ if ($row->berechtigt_user_id == $berechtigt_user_id)
+ $gefunden = true;
+ }
+ if (!$gefunden) {
+ $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_team (berechtigt_user_id, berechtigt_team_id) VALUES ('$berechtigt_user_id', '$id');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+
+ // Ansprechpartner speichern
+ for ($nummer = 1; $nummer <= 2; $nummer++) {
+ $teamansprechpartner_id = $jInput->get('teamansprechpartner_' . $nummer . '_id', 0, 'INT');
+ $teamansprechpartner_vorname = trim($jInput->get('teamansprechpartner_' . $nummer . '_vorname', '', 'RAW'));
+ $teamansprechpartner_nachname = trim($jInput->get('teamansprechpartner_' . $nummer . '_nachname', '', 'RAW'));
+ $teamansprechpartner_telefon = trim($jInput->get('teamansprechpartner_' . $nummer . '_telefon', '', 'RAW'));
+ $teamansprechpartner_mobil = trim($jInput->get('teamansprechpartner_' . $nummer . '_mobil', '', 'RAW'));
+ $teamansprechpartner_email = trim($jInput->get('teamansprechpartner_' . $nummer . '_email', '', 'RAW'));
+
+ if ($teamansprechpartner_id == 0) {
+ if (strlen($teamansprechpartner_vorname) > 0 || strlen($teamansprechpartner_nachname) > 0) {
+ $query = "INSERT INTO #__sportsmanager_teamansprechpartner (team_id, vorname, nachname, telefon, mobil, email) VALUES ('$id', '$teamansprechpartner_vorname', '$teamansprechpartner_nachname', '$teamansprechpartner_telefon', '$teamansprechpartner_mobil', '$teamansprechpartner_email');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else {
+ if (strlen($teamansprechpartner_vorname) > 0 || strlen($teamansprechpartner_nachname) > 0) {
+ $query = "UPDATE #__sportsmanager_teamansprechpartner"
+ . "\n SET vorname = '$teamansprechpartner_vorname',"
+ . "\n nachname = '$teamansprechpartner_nachname',"
+ . "\n telefon = '$teamansprechpartner_telefon',"
+ . "\n mobil = '$teamansprechpartner_mobil',"
+ . "\n email = '$teamansprechpartner_email'"
+ . "\n WHERE kontaktperson_id = $teamansprechpartner_id";
+ } else {
+ $query = "DELETE FROM #__sportsmanager_teamansprechpartner WHERE kontaktperson_id = $teamansprechpartner_id;";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+
+ if ($team_alt != null && ($team_alt->heimspiel_wochentag != $heimspiel_wochentag || $team_alt->heimspiel_uhrzeit != $heimspiel_uhrzeit))
+ heimspieltag_aktualisieren($id);
+
+ $bild_aktualisieren_gescheitert = 0;
+ if ($bildbeibehalten == 0) {
+ bildLoeschen("mannschaften", $id);
+ if (!empty($_FILES["bild"]["tmp_name"])) {
+ if (is_uploaded_file($_FILES["bild"]["tmp_name"])) {
+ $size = getimagesize($_FILES["bild"]["tmp_name"]);
+ if (!$size
+ || ($size[2] != IMAGETYPE_JPEG && $size[2] != IMAGETYPE_PNG)
+ || ($size[0] < 60 || $size[1] < 60 || $size[0] > 8192 || $size[1] > 8192)) {
+ $bild_aktualisieren_gescheitert = 1;
+ } else {
+ $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaften';
+ $ziel_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $id . ($size[2] == IMAGETYPE_PNG ? '.png' : '.jpg');
+ if (!bildKopierenAngepasst($_FILES["bild"]["tmp_name"], $ziel_pfad, 240, 240, 0))
+ $bild_aktualisieren_gescheitert = 2;
+ }
+ }
+ }
+ }
+
+ // Weitere Wettbewerbe aktualisieren
+ $query = "SELECT team_id, veranstaltung_id"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE team_id != $id AND teamgruppe_id = $teamgruppe_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $bestehende_weitere_veranstaltungen_beruecksichtigt = $db->loadObjectList();
+
+ $veranstaltungen_aktualisieren = array();
+ foreach ($bestehende_weitere_veranstaltungen_beruecksichtigt as $bestehende_weitere_veranstaltung_beruecksichtigt) {
+ if ($beschraenkter_zugriff_veranstaltungen && !in_array($bestehende_weitere_veranstaltung_beruecksichtigt->veranstaltung_id, $beschraenkter_zugriff_veranstaltungen_ids))
+ continue;
+ $ist_beruecksichtigt = false;
+ foreach ($weitere_veranstaltungen_beruecksichtigt as $weitere_veranstaltung_id) {
+ if ($bestehende_weitere_veranstaltung_beruecksichtigt->veranstaltung_id == $weitere_veranstaltung_id) {
+ $ist_beruecksichtigt = true;
+ break;
+ }
+ }
+ if (!$ist_beruecksichtigt)
+ mannschaftsgruppe_entfernen($bestehende_weitere_veranstaltung_beruecksichtigt->team_id);
+ else {
+ mannschaftsgruppe_verknuepfen($id, $bestehende_weitere_veranstaltung_beruecksichtigt->team_id, true, false, $bildbeibehalten == 0);
+ if ($team_alt != null && ($team_alt->heimspiel_wochentag != $heimspiel_wochentag || $team_alt->heimspiel_uhrzeit != $heimspiel_uhrzeit))
+ heimspieltag_aktualisieren($bestehende_weitere_veranstaltung_beruecksichtigt->team_id);
+ }
+ if (!in_array($bestehende_weitere_veranstaltung_beruecksichtigt->veranstaltung_id, $veranstaltungen_aktualisieren))
+ $veranstaltungen_aktualisieren[] = $bestehende_weitere_veranstaltung_beruecksichtigt->veranstaltung_id;
+ }
+
+ foreach ($weitere_veranstaltungen_beruecksichtigt as $weitere_veranstaltung_id) {
+ if ($beschraenkter_zugriff_veranstaltungen && !in_array($weitere_veranstaltung_id, $beschraenkter_zugriff_veranstaltungen_ids))
+ continue;
+
+ $ist_beruecksichtigt = false;
+ foreach ($bestehende_weitere_veranstaltungen_beruecksichtigt as $bestehende_weitere_veranstaltung_beruecksichtigt) {
+ if ($bestehende_weitere_veranstaltung_beruecksichtigt->veranstaltung_id == $weitere_veranstaltung_id) {
+ $ist_beruecksichtigt = true;
+ break;
+ }
+ }
+ if (!$ist_beruecksichtigt)
+ mannschaftsgruppe_hinzufuegen($id, $weitere_veranstaltung_id);
+ if (!in_array($weitere_veranstaltung_id, $veranstaltungen_aktualisieren))
+ $veranstaltungen_aktualisieren[] = $weitere_veranstaltung_id;
+ }
+
+ teamstatistikAktualisieren($veranstaltungId);
+ foreach ($veranstaltungen_aktualisieren as $weitere_veranstaltung_id)
+ teamstatistikAktualisieren($weitere_veranstaltung_id);
+
+ if ($bild_aktualisieren_gescheitert > 0) {
+ redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungId, $bild_aktualisieren_gescheitert == 1 ? "Das Bild wurde nicht gespeichert, da es nicht im JPG/PNG-Format mit mindestens 90*90 und maximal 8192*8192 Bildpunkten vorliegt." : "Das Bild konnte nicht an die Zielposition kopiert werden.");
+ }
+
+ redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungId);
+}
+
+function mannschaftsgruppe_hinzufuegen($quelle_team_id, $ziel_veranstaltung_id)
+{
+ $db = getDatabase();
+
+ $query = "SELECT * FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $quelle_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) == 0) die("Wrong id!");
+ $team = $teams[0];
+ $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $quelle_team_id;
+
+ $query = "SELECT COUNT(*)"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE teamgruppe_id = $teamgruppe_id AND veranstaltung_id = $ziel_veranstaltung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0)
+ return false;
+
+ $query = "SELECT COUNT(*)"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n WHERE veranstaltung_id = $ziel_veranstaltung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n == 0) die("Wrong id!");
+
+ $query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, pin)"
+ . "\n VALUES (" . ($team->verein_id == null ? "NULL" : "'$team->verein_id'") . ", '$ziel_veranstaltung_id', '" . $db->escape($team->teamname) . "', '" . $db->escape($team->tischtyp) . "', '" . $db->escape($team->tischeigenschaften) . "', '" . $db->escape($team->heimspiel_wochentag) . "', '" . $db->escape($team->heimspiel_uhrzeit) . "', " . ($team->heimspielort_id != 0 ? "'$team->heimspielort_id'" : "NULL") . ", '$team->nichtraucherschutz', '" . $db->escape($team->pin) . "');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ziel_team_id = $db->insertid();
+
+ return mannschaftsgruppe_verknuepfen($quelle_team_id, $ziel_team_id, true, true, true);
+}
+
+function mannschaftsgruppe_verknuepfen($quelle_team_id, $ziel_team_id, $mannschaftsdaten_aktualisieren, $mannschaftsspieler_aktualisieren, $mannschaftsbild_aktualisieren)
+{
+ $db = getDatabase();
+ global $sportsmanager_joomla_path;
+
+ if ($quelle_team_id == $ziel_team_id)
+ return false;
+
+ $query = "SELECT * FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $quelle_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) === 0) die("Wrong id!");
+ $team = $teams[0];
+ $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $quelle_team_id;
+
+ if ($team->teamgruppe_id == null) {
+ $query = "UPDATE #__sportsmanager_team"
+ . "\n SET teamgruppe_id = '$teamgruppe_id'"
+ . "\n WHERE team_id = $quelle_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ // Mannschaftsdaten aktualisieren
+ if ($mannschaftsdaten_aktualisieren) {
+ $query = "UPDATE #__sportsmanager_team"
+ . "\n SET teamgruppe_id = '$teamgruppe_id',"
+ . "\n verein_id = " . ($team->verein_id == null ? "NULL" : "'$team->verein_id'") . ","
+ . "\n teamname = '" . $db->escape($team->teamname) . "',"
+ . "\n tischtyp = '" . $db->escape($team->tischtyp) . "',"
+ . "\n tischeigenschaften = '" . $db->escape($team->tischeigenschaften) . "',"
+ . "\n heimspiel_wochentag = '" . $db->escape($team->heimspiel_wochentag) . "',"
+ . "\n heimspiel_uhrzeit = '" . $db->escape($team->heimspiel_uhrzeit) . "',"
+ . "\n heimspielort_id = " . ($team->heimspielort_id != 0 ? "'$team->heimspielort_id'" : "NULL") . ","
+ . "\n nichtraucherschutz = '$team->nichtraucherschutz',"
+ . "\n pin = '" . $db->escape($team->pin) . "'"
+ . "\n WHERE team_id = $ziel_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ // Teamvertreter kopieren
+ $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $quelle_team_id ORDER BY berechtigt_fuer_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $quelle_teamvertreter = $db->loadObjectList();
+
+ $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $ziel_team_id ORDER BY berechtigt_fuer_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ziel_teamvertreter = $db->loadObjectList();
+
+ $quelle_teamvertreter_anzahl = count($quelle_teamvertreter);
+ $ziel_teamvertreter_anzahl = count($ziel_teamvertreter);
+ for ($i = 0; $i < $quelle_teamvertreter_anzahl; $i++) {
+ $berechtigt_user_id = $quelle_teamvertreter[$i]->berechtigt_user_id;
+ if ($i < $ziel_teamvertreter_anzahl) {
+ $berechtigt_fuer_team_id = $ziel_teamvertreter[$i]->berechtigt_fuer_team_id;
+ $query = "UPDATE #__sportsmanager_berechtigt_fuer_team"
+ . "\n SET berechtigt_user_id = '$berechtigt_user_id'"
+ . "\n WHERE berechtigt_fuer_team_id = $berechtigt_fuer_team_id";
+ } else {
+ $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_team (berechtigt_user_id, berechtigt_team_id)"
+ . "\n VALUES ('$berechtigt_user_id', '$ziel_team_id');";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ for ($i = $quelle_teamvertreter_anzahl; $i < $ziel_teamvertreter_anzahl; $i++) {
+ $berechtigt_fuer_team_id = $ziel_teamvertreter[$i]->berechtigt_fuer_team_id;
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_fuer_team_id = $berechtigt_fuer_team_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ // Ansprechpartner kopieren
+ $query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $quelle_team_id ORDER BY kontaktperson_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $quelle_ansprechpartner = $db->loadObjectList();
+
+ $query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $ziel_team_id ORDER BY kontaktperson_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ziel_ansprechpartner = $db->loadObjectList();
+
+ $quelle_ansprechpartner_anzahl = count($quelle_ansprechpartner);
+ $ziel_ansprechpartner_anzahl = count($ziel_ansprechpartner);
+ for ($i = 0; $i < $quelle_ansprechpartner_anzahl; $i++) {
+ if ($i < $ziel_ansprechpartner_anzahl) {
+ $kontaktperson_id = $ziel_ansprechpartner[$i]->kontaktperson_id;
+ $query = "UPDATE #__sportsmanager_teamansprechpartner"
+ . "\n SET nachname = '" . $db->escape($quelle_ansprechpartner[$i]->nachname) . "',"
+ . "\n vorname = '" . $db->escape($quelle_ansprechpartner[$i]->vorname) . "',"
+ . "\n telefon = '" . $db->escape($quelle_ansprechpartner[$i]->telefon) . "',"
+ . "\n mobil = '" . $db->escape($quelle_ansprechpartner[$i]->mobil) . "',"
+ . "\n email = '" . $db->escape($quelle_ansprechpartner[$i]->email) . "'"
+ . "\n WHERE kontaktperson_id = $kontaktperson_id";
+ } else {
+ $query = "INSERT INTO #__sportsmanager_teamansprechpartner (team_id, nachname, vorname, telefon, mobil, email)"
+ . "\n VALUES ('$ziel_team_id', '" . $db->escape($quelle_ansprechpartner[$i]->nachname) . "', '" . $db->escape($quelle_ansprechpartner[$i]->vorname) . "', '" . $db->escape($quelle_ansprechpartner[$i]->telefon) . "', '" . $db->escape($quelle_ansprechpartner[$i]->mobil) . "', '" . $db->escape($quelle_ansprechpartner[$i]->email) . "');";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ for ($i = $quelle_ansprechpartner_anzahl; $i < $ziel_ansprechpartner_anzahl; $i++) {
+ $kontaktperson_id = $ziel_ansprechpartner[$i]->kontaktperson_id;
+ $query = "DELETE FROM #__sportsmanager_teamansprechpartner WHERE kontaktperson_id = $kontaktperson_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+
+ // Mitglieder aktualisieren
+ if ($mannschaftsspieler_aktualisieren) {
+ $query = "SELECT spieler_id, ausgetreten, SUM(IF(team_id = $quelle_team_id, 1, 0)) AS mitglied_quelle, SUM(IF(team_id = $ziel_team_id, 1, 0)) AS mitglied_ziel" // , SUM(IF(team_id = $quelle_team_id, 1, IF(team_id = $ziel_team_id, 10000, 0))) AS teammitgliedschaften"
+ . "\n FROM #__sportsmanager_mitglied_von_team"
+ . "\n WHERE team_id = $quelle_team_id OR team_id = $ziel_team_id"
+ . "\n GROUP BY spieler_id, ausgetreten";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereinte_mitglieder = $db->loadObjectList();
+
+ $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder';
+ foreach ($vereinte_mitglieder as $mitglied) {
+ $query = "SELECT mitglied_von_team_id"
+ . "\n FROM #__sportsmanager_mitglied_von_team"
+ . "\n WHERE spieler_id = $mitglied->spieler_id AND team_id = $ziel_team_id AND ausgetreten = $mitglied->ausgetreten";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ziel_mitglieder = $db->loadObjectList();
+
+ foreach ($ziel_mitglieder as $ziel_mitglied)
+ bildLoeschen("mannschaftsmitglieder", $ziel_mitglied->mitglied_von_team_id);
+
+ if ($mitglied->mitglied_quelle == 0 && $mitglied->mitglied_ziel > 0) {
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_team WHERE spieler_id = $mitglied->spieler_id AND team_id = $ziel_team_id AND ausgetreten = $mitglied->ausgetreten;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ continue;
+ }
+
+ if ($mitglied->mitglied_quelle > 0 && $mitglied->mitglied_ziel == 0) {
+ $query = "INSERT INTO #__sportsmanager_mitglied_von_team (spieler_id, team_id, ausgetreten)"
+ . "\n VALUES ('$mitglied->spieler_id', '$ziel_team_id', '$mitglied->ausgetreten');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "SELECT mitglied_von_team_id"
+ . "\n FROM #__sportsmanager_mitglied_von_team"
+ . "\n WHERE spieler_id = $mitglied->spieler_id AND team_id = $ziel_team_id AND ausgetreten = $mitglied->ausgetreten";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ziel_mitglieder = $db->loadObjectList();
+ }
+
+ $query = "SELECT mitglied_von_team_id"
+ . "\n FROM #__sportsmanager_mitglied_von_team"
+ . "\n WHERE spieler_id = $mitglied->spieler_id AND team_id = $quelle_team_id AND ausgetreten = $mitglied->ausgetreten";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $quelle_mitglieder = $db->loadObjectList();
+
+ $bild_kopiert = false;
+ foreach ($quelle_mitglieder as $quelle_mitglied) {
+ foreach ($ziel_mitglieder as $ziel_mitglied) {
+ $pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $quelle_mitglied->mitglied_von_team_id . '.';
+ if (File::exists($pfad . 'png')) {
+ File::copy($pfad . 'png', $bilder_pfad . DIRECTORY_SEPARATOR . $ziel_mitglied->mitglied_von_team_id . '.png');
+ $bild_kopiert = true;
+ } else if (File::exists($pfad . 'jpg')) {
+ File::copy($pfad . 'jpg', $bilder_pfad . DIRECTORY_SEPARATOR . $ziel_mitglied->mitglied_von_team_id . '.jpg');
+ $bild_kopiert = true;
+ }
+ }
+ if ($bild_kopiert)
+ break;
+ }
+ }
+ }
+
+ // Mannschaftsbild aktualisieren
+ if ($mannschaftsbild_aktualisieren) {
+ bildLoeschen("mannschaften", $ziel_team_id);
+ $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaften';
+ $quelle_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $quelle_team_id . '.';
+ $ziel_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $ziel_team_id . '.';
+ if (File::exists($quelle_pfad . 'png'))
+ $ext = "png";
+ else if (File::exists($quelle_pfad . 'jpg'))
+ $ext = "jpg";
+ else
+ $ext = "";
+ if (!empty($ext) && !File::copy($quelle_pfad . $ext, $ziel_pfad . $ext))
+ return false;
+ }
+
+ return true;
+}
+
+function mannschaftsgruppe_entfernen($ziel_team_id)
+{
+ $db = getDatabase();
+
+ $query = "SELECT * FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $ziel_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) === 0) die("Wrong id!");
+ $team = $teams[0];
+ $teamgruppe_id = $team->teamgruppe_id;
+ if ($teamgruppe_id == null)
+ return false;
+
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_begegnung WHERE heim_team_id = $ziel_team_id OR gast_team_id = $ziel_team_id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+
+ if ($n > 0)
+ return false;
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_mitglied_von_team"
+ . "\n WHERE team_id = $ziel_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ foreach ($rows as $row)
+ bildLoeschen("mannschaftsmitglieder", $row->mitglied_von_team_id);
+
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $ziel_team_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_teamansprechpartner WHERE team_id = $ziel_team_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_team WHERE team_id = $ziel_team_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_team WHERE team_id = $ziel_team_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "SELECT COUNT(*)"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE teamgruppe_id = $teamgruppe_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+
+ if ($n == 1) {
+ $query = "UPDATE #__sportsmanager_team"
+ . "\n SET teamgruppe_id = NULL"
+ . "\n WHERE teamgruppe_id = $teamgruppe_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ return true;
+}
+
+function heimspieltag_aktualisieren($team_id): void
+{
+ $db = getDatabase();
+
+ $query = "SELECT * FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) === 0) die("Wrong id!");
+ $team = $teams[0];
+
+ if ($team->heimspiel_wochentag < 1 || $team->heimspiel_wochentag > 7)
+ return;
+
+ $query = "SELECT begegnung_id, zeitpunkt"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
+ . "\n WHERE heim_team_id = $team_id AND COALESCE(heim_spielpunkte, 0) = 0 AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id) AND NOT EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id)"
+ . "\n ORDER BY spieltag DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $begegnungen = $db->loadObjectList();
+
+ foreach ($begegnungen as $begegnung) {
+ $ts = getdate(geaenderterWochentag(strtotime($begegnung->zeitpunkt), $team->heimspiel_wochentag - 1));
+ $neuer_zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($team->heimspiel_uhrzeit / 100), $team->heimspiel_uhrzeit % 100);
+ $query = "UPDATE #__sportsmanager_begegnung"
+ . "\n SET zeitpunkt = '$neuer_zeitpunkt'"
+ . "\n WHERE begegnung_id = $begegnung->begegnung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+}
+
+function termin_aktualisieren($begegnung_id): void
+{
+ $db = getDatabase();
+
+ $query = "SELECT heim_team_id, zeitpunkt"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
+ . "\n WHERE begegnung_id = $begegnung_id AND COALESCE(heim_spielpunkte, 0) = 0 AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id) AND NOT EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id)"
+ . "\n ORDER BY spieltag DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $begegnungen = $db->loadObjectList();
+ if (count($begegnungen) < 1)
+ return;
+ $begegnung = $begegnungen[0];
+
+ $query = "SELECT * FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $begegnung->heim_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) === 0) die("Wrong id!");
+ $team = $teams[0];
+
+ if ($team->heimspiel_wochentag < 1 || $team->heimspiel_wochentag > 7)
+ return;
+
+ $ts = getdate(geaenderterWochentag(strtotime($begegnung->zeitpunkt), $team->heimspiel_wochentag - 1));
+ $neuer_zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($team->heimspiel_uhrzeit / 100), $team->heimspiel_uhrzeit % 100);
+ $query = "UPDATE #__sportsmanager_begegnung"
+ . "\n SET zeitpunkt = '$neuer_zeitpunkt'"
+ . "\n WHERE begegnung_id = $begegnung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+}
+
+#[NoReturn] function adminRemoveMannschaft(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $id = $jInput->get('id', 0, 'INT');
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
+
+ $query = "SELECT teamgruppe_id, veranstaltung_id FROM #__sportsmanager_team WHERE team_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+
+ if ($veranstaltungId != $rows[0]->veranstaltung_id)
+ die("Wrong id!");
+
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_begegnung WHERE heim_team_id = $id OR gast_team_id = $id), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
+ if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS'));
+
+ if ($rows[0]->teamgruppe_id != null) {
+ mannschaftsgruppe_entfernen($id);
+ } else {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_mitglied_von_team"
+ . "\n WHERE team_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ foreach ($rows as $row)
+ bildLoeschen("mannschaftsmitglieder", $row->mitglied_von_team_id);
+
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_teamansprechpartner WHERE team_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_team WHERE team_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_team WHERE team_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ bildLoeschen("mannschaften", $id);
+ }
+
+ teamstatistikAktualisieren($veranstaltungId);
+
+ redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungId);
+}
+
+function adminKopierenMannschaftForm(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
+
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
+
+ $query = "SELECT #__sportsmanager_team.*, vereinsname"
+ . "\n FROM #__sportsmanager_team"
+ . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
+ . "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY teamname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+
+ $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
+ if ($beschraenkter_zugriff_veranstaltungen) {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n WHERE " . veranstaltungFilter("veranstaltung_id IN")
+ . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
+ } else {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstaltungen = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminKopierenMannschaft($veranstaltung, $teams, $veranstaltungen);
+}
+
+#[NoReturn] function adminKopierenMannschaft(): void
+{
+ $db = getDatabase();
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $ids = $jInput->get('ids', array(), 'ARRAY');
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+ $mitglieder_kopieren = $jInput->get('mitglieder_kopieren', 0, 'INT');
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungId);
+ }
+
+ $beschraenkter_zugriff = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
+
+ $ziel_veranstaltungen_ids = array();
+ for ($i = 1; $i <= 4; $i++) {
+ $ziel_veranstaltungid = $jInput->get('ziel_veranstaltungid_' . $i, 0, 'INT');
+ if (empty($ziel_veranstaltungid) || ($beschraenkter_zugriff && !benutzerVeranstaltungModerator($ziel_veranstaltungid)))
+ continue;
+ if (!in_array($ziel_veranstaltungid, $ziel_veranstaltungen_ids))
+ $ziel_veranstaltungen_ids[] = $ziel_veranstaltungid;
+ }
+
+ foreach ($ziel_veranstaltungen_ids as $ziel_veranstaltungid) {
+ foreach ($ids as $id) {
+ $query = "SELECT * FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) === 0) die("Wrong id!");
+ $team = $teams[0];
+
+ if ($veranstaltungId != $team->veranstaltung_id)
+ die("Wrong id!");
+
+ $query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, pin)"
+ . "\n VALUES (" . ($team->verein_id == null ? "NULL" : "'$team->verein_id'") . ", '$ziel_veranstaltungid', '" . $db->escape($team->teamname) . "', '" . $db->escape($team->tischtyp) . "', '" . $db->escape($team->tischeigenschaften) . "', '" . $db->escape($team->heimspiel_wochentag) . "', '" . $db->escape($team->heimspiel_uhrzeit) . "', " . ($team->heimspielort_id != 0 ? "'$team->heimspielort_id'" : "NULL") . ", '$team->nichtraucherschutz', '" . $db->escape($team->pin) . "');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ziel_teamid = $db->insertid();
+
+ // Mitglieder kopieren
+ if ($mitglieder_kopieren) {
+ $query = "SELECT * FROM #__sportsmanager_mitglied_von_team WHERE team_id = $id AND NOT ausgetreten";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ foreach ($rows as $row) {
+ $query = "INSERT INTO #__sportsmanager_mitglied_von_team (spieler_id, team_id)"
+ . "\n VALUES ('$row->spieler_id', '$ziel_teamid');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ziel_mitglied_von_team_id = $db->insertid();
+
+ $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder' . DIRECTORY_SEPARATOR . $row->mitglied_von_team_id . '.';
+ if (File::exists($pfad . 'png'))
+ File::copy($pfad . 'png', $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder' . DIRECTORY_SEPARATOR . $ziel_mitglied_von_team_id . '.png');
+ else if (File::exists($pfad . 'jpg'))
+ File::copy($pfad . 'jpg', $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder' . DIRECTORY_SEPARATOR . $ziel_mitglied_von_team_id . '.jpg');
+ }
+ }
+
+ // Teamvertreter kopieren
+ $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $id ORDER BY berechtigt_fuer_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ foreach ($rows as $row) {
+ $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_team (berechtigt_user_id, berechtigt_team_id)"
+ . "\n VALUES ('$row->berechtigt_user_id', '$ziel_teamid');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ // Ansprechpartner kopieren
+ $query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $id ORDER BY kontaktperson_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ foreach ($rows as $row) {
+ $query = "INSERT INTO #__sportsmanager_teamansprechpartner (team_id, nachname, vorname, telefon, mobil, email)"
+ . "\n VALUES ('$ziel_teamid', '" . $db->escape($row->nachname) . "', '" . $db->escape($row->vorname) . "', '" . $db->escape($row->telefon) . "', '" . $db->escape($row->mobil) . "', '" . $db->escape($row->email) . "');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaften' . DIRECTORY_SEPARATOR . $id . '.';
+ if (File::exists($pfad . 'png'))
+ File::copy($pfad . "png", $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaften' . DIRECTORY_SEPARATOR . $ziel_teamid . '.png');
+ else if (File::exists($pfad . 'jpg'))
+ File::copy($pfad . "jpg", $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaften' . DIRECTORY_SEPARATOR . $ziel_teamid . '.jpg');
+ }
+ }
+
+ teamstatistikAktualisieren($ziel_veranstaltungid);
+
+ redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungId);
+}
+
+function adminVerknuepfenMannschaftForm(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
+
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
+
+ $query = "SELECT #__sportsmanager_team.*, vereinsname"
+ . "\n FROM #__sportsmanager_team"
+ . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)"
+ . "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY teamname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+
+ $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
+ if ($beschraenkter_zugriff_veranstaltungen) {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n WHERE saison_id = $veranstaltung->saison_id AND " . veranstaltungFilter("veranstaltung_id IN")
+ . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
+ } else {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n WHERE saison_id = $veranstaltung->saison_id"
+ . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstaltungen = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminVerknuepfenMannschaft($veranstaltung, $teams, $veranstaltungen);
+}
+
+#[NoReturn] function adminVerknuepfenMannschaft(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $ids = $jInput->get('ids', array(), 'ARRAY');
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungId);
+ }
+
+ $beschraenkter_zugriff = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1;
+
+ $ziel_veranstaltungen_ids = array();
+ for ($i = 1; $i <= 4; $i++) {
+ $ziel_veranstaltungid = $jInput->get('ziel_veranstaltungid_' . $i, 0, 'INT');
+ if (empty($ziel_veranstaltungid) || ($beschraenkter_zugriff && !benutzerVeranstaltungModerator($ziel_veranstaltungid)))
+ continue;
+ if (!in_array($ziel_veranstaltungid, $ziel_veranstaltungen_ids))
+ $ziel_veranstaltungen_ids[] = $ziel_veranstaltungid;
+ }
+
+ foreach ($ziel_veranstaltungen_ids as $ziel_veranstaltungid) {
+ foreach ($ids as $id) {
+ $query = "SELECT * FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) === 0) die("Wrong id!");
+ $team = $teams[0];
+
+ if ($veranstaltungId != $team->veranstaltung_id)
+ die("Wrong id!");
+
+ mannschaftsgruppe_hinzufuegen($id, $ziel_veranstaltungid);
+ }
+ }
+
+ teamstatistikAktualisieren($ziel_veranstaltungid);
+
+ redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungId);
+}
+
+function adminMitglieder(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator())
+ keinZugriff(true);
+
+ $berechtigt_spieler_aendern = benutzerZugriff("spieler_aendern");
+
+ $teamid = $jInput->get('teamid', 0, 'INT');
+ if ($teamid == 0) die ("Wrong id!");
+
+ $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $teamid";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) < 1) die ("Wrong id");
+ $team = $teams[0];
+ $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $teamid;
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($team->veranstaltung_id))
+ keinZugriff(true);
+
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $team->veranstaltung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
+
+ $query = "SELECT mitglied_von_team_id, spieler_id, aktueller_verein_id, MAX(IF(team_id = $teamid, #__sportsmanager_mitglied_von_team.ausgetreten, 0)) AS ausgetreten, MAX(IF(team_id = $teamid, erster_spieltag, NULL)) AS erster_spieltag, MAX(IF(team_id = $teamid, letzter_spieltag, NULL)) AS letzter_spieltag, vorname, nachname, spielernr, MIN(IF(team_id = $teamid, 0, 1)) AS anderes_team"
+ . "\n FROM #__sportsmanager_mitglied_von_team"
+ . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n INNER JOIN #__sportsmanager_team USING (team_id)"
+ . "\n WHERE (team_id = $teamid OR teamgruppe_id = $teamgruppe_id)"
+ . "\n GROUP BY spieler_id"
+ . "\n ORDER BY anderes_team, IF(#__sportsmanager_mitglied_von_team.ausgetreten, 1, 0), nachname, vorname, erster_spieltag";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $mitglieder = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminMitglieder($team, $veranstaltung, $mitglieder, $berechtigt_spieler_aendern);
+}
+
+function adminEditMitglied(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator())
+ keinZugriff(true);
+
+ $id = $jInput->get('id', 0, 'INT');
+ $teamid = $jInput->get('teamid', 0, 'INT');
+ $alle_anzeigen = $jInput->get('alle_anzeigen', 0, 'INT');
+ $entfernen = $jInput->get('entfernen', 0, 'INT');
+
+ $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $teamid";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) < 1) die ("Wrong id");
+ $team = $teams[0];
+ $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $teamid;
+
+ if (empty($id))
+ $row = null;
+ else {
+ $query = "SELECT #__sportsmanager_mitglied_von_team.*, vorname, nachname FROM #__sportsmanager_mitglied_von_team LEFT JOIN #__sportsmanager_spieler USING (spieler_id) INNER JOIN #__sportsmanager_team USING (team_id) WHERE spieler_id = $id AND (team_id = $teamid OR teamgruppe_id = $teamgruppe_id)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
+ }
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($team->veranstaltung_id))
+ keinZugriff(true);
+
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $team->veranstaltung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
+
+ if (empty($id)) {
+ $query = "SELECT DISTINCT veranstaltung_id, bezeichnung, unterteilung, saison_id, team_id, NULL AS mitglied_von_team_id, NULL AS erster_spieltag, NULL AS letzter_spieltag, NULL AS ausgetreten"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
+ . "\n LEFT JOIN (SELECT veranstaltung_id, team_id, teamgruppe_id FROM #__sportsmanager_team WHERE team_id = $teamid" . (!empty($team->teamgruppe_id) ? " OR teamgruppe_id = $team->teamgruppe_id" : "") . ") AS veranstaltungen USING (veranstaltung_id)"
+ . "\n WHERE team_id = $teamid" . (!empty($team->teamgruppe_id) ? " OR teamgruppe_id = $team->teamgruppe_id" : "")
+ . "\n ORDER BY IF(veranstaltung_id = $team->veranstaltung_id, 0, 1), bezeichnung";
+ } else {
+ $query = "SELECT DISTINCT veranstaltung_id, bezeichnung, unterteilung, saison_id, veranstaltungen.team_id, mitglied_von_team_id, erster_spieltag, letzter_spieltag, #__sportsmanager_mitglied_von_team.ausgetreten"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
+ . "\n LEFT JOIN (SELECT veranstaltung_id, team_id, teamgruppe_id FROM #__sportsmanager_team WHERE #__sportsmanager_team.team_id = $teamid" . (!empty($team->teamgruppe_id) ? " OR teamgruppe_id = $team->teamgruppe_id" : "") . ") AS veranstaltungen USING (veranstaltung_id)"
+ . "\n LEFT JOIN #__sportsmanager_mitglied_von_team ON veranstaltungen.team_id = #__sportsmanager_mitglied_von_team.team_id AND spieler_id = " . $row->spieler_id
+ . "\n WHERE veranstaltungen.team_id = $teamid" . (!empty($team->teamgruppe_id) ? " OR teamgruppe_id = $team->teamgruppe_id" : "")
+ . "\n ORDER BY IF(veranstaltung_id = $team->veranstaltung_id, 0, 1), bezeichnung";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstaltungen = $db->loadObjectList();
+
+ $veranstaltungen_begegnungen = array();
+ foreach ($veranstaltungen as $v) {
+ $query = "SELECT spieltag, zeitpunkt"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n WHERE (heim_team_id = " . $v->team_id . " OR gast_team_id = " . $v->team_id . ") AND zeitpunkt < CURDATE()"
+ . "\n ORDER BY zeitpunkt DESC"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $begegnungen = $db->loadObjectList();
+
+ $veranstaltungen_begegnungen[$v->veranstaltung_id] = array();
+ $begegnungen = array_reverse($begegnungen);
+ foreach ($begegnungen as $begegnung)
+ $veranstaltungen_begegnungen[$v->veranstaltung_id][] = array($begegnung->spieltag, $begegnung->zeitpunkt);
+
+ $query = "SELECT spieltag, zeitpunkt"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n WHERE (heim_team_id = " . $v->team_id . " OR gast_team_id = " . $v->team_id . ") AND zeitpunkt >= CURDATE()"
+ . "\n ORDER BY zeitpunkt"
+ . "\n LIMIT 4";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $begegnungen = $db->loadObjectList();
+
+ foreach ($begegnungen as $begegnung)
+ $veranstaltungen_begegnungen[$v->veranstaltung_id][] = array($begegnung->spieltag, $begegnung->zeitpunkt);
+ }
+
+ if ($team->verein_id != null) {
+ $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $team->verein_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereine = $db->loadObjectList();
+ if (count($vereine) < 1) die ("Wrong id");
+ }
+
+ if (empty($id)) {
+ if (!empty($team->verein_id) && !$alle_anzeigen) {
+ $query = "SELECT DISTINCT #__sportsmanager_spieler.spieler_id, vorname, nachname, spielernr, 1 AS aktives_mitglied"
+ . "\n FROM #__sportsmanager_mitglied_von_verein"
+ . "\n INNER JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n WHERE verein_id = $team->verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten"
+ . " AND spieler_id NOT IN (SELECT spieler_id FROM #__sportsmanager_team INNER JOIN #__sportsmanager_mitglied_von_team USING (team_id) WHERE team_id = $teamid OR teamgruppe_id = $teamgruppe_id)"
+ . "\n ORDER BY nachname, vorname";
+ } else {
+ $query = "SELECT spieler_id, vorname, nachname, spielernr"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE NOT ISNULL(aktueller_verein_id)"
+ . " AND spieler_id NOT IN (SELECT spieler_id FROM #__sportsmanager_team INNER JOIN #__sportsmanager_mitglied_von_team USING (team_id) WHERE team_id = $teamid OR teamgruppe_id = $teamgruppe_id)"
+ . "\n ORDER BY nachname, vorname";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler = $db->loadObjectList();
+
+ if (!empty($team->verein_id) && !$alle_anzeigen) {
+ $query = "SELECT spieler_id, veranstaltung_id, unterteilung, erster_spieltag, letzter_spieltag, team_id, ausgetreten"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n INNER JOIN #__sportsmanager_team USING (veranstaltung_id)"
+ . "\n INNER JOIN #__sportsmanager_mitglied_von_team USING (team_id)"
+ . "\n INNER JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n WHERE saison_id = $veranstaltung->saison_id AND (unterteilung = 0 OR unterteilung = 1)"
+ . " AND EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.verein_id = $team->verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten)"
+ . "\n ORDER BY reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
+
+ } else {
+ $query = "SELECT spieler_id, veranstaltung_id, unterteilung, erster_spieltag, letzter_spieltag, team_id, ausgetreten"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n INNER JOIN #__sportsmanager_team USING (veranstaltung_id)"
+ . "\n INNER JOIN #__sportsmanager_mitglied_von_team USING (team_id)"
+ . "\n INNER JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n WHERE saison_id = $veranstaltung->saison_id AND (unterteilung = 0 OR unterteilung = 1) AND NOT ISNULL(aktueller_verein_id)"
+ . "\n ORDER BY reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $mitgliedschaften = $db->loadObjectList();
+
+ $spielberechtigungen = array();
+ foreach ($mitgliedschaften as $mitgliedschaft) {
+ if (!isset($spielberechtigungen[$mitgliedschaft->spieler_id]))
+ $spielberechtigungen[$mitgliedschaft->spieler_id] = array();
+ $spielberechtigungen[$mitgliedschaft->spieler_id][] = array($mitgliedschaft->veranstaltung_id, $mitgliedschaft->unterteilung, $mitgliedschaft->erster_spieltag, $mitgliedschaft->letzter_spieltag, $mitgliedschaft->team_id, $mitgliedschaft->ausgetreten);
+ }
+
+ // Veranstaltungsbezeichnungen ermitteln
+ $query = "SELECT veranstaltung_id, bezeichnung"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n WHERE saison_id = $veranstaltung->saison_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ $veranstaltungsbezeichnungen = array();
+ foreach ($rows as $v)
+ $veranstaltungsbezeichnungen[$v->veranstaltung_id] = $v->bezeichnung;
+
+ // Mannschaftsbezeichnungen ermitteln
+ $query = "SELECT team_id, teamname"
+ . "\n FROM #__sportsmanager_team"
+ . "\n LEFT JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
+ . "\n WHERE saison_id = $veranstaltung->saison_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ foreach ($rows as $m)
+ $veranstaltungsbezeichnungen[$m->team_id] = $m->teamname;
+
+ } else {
+ $spieler = array();
+ $spielberechtigungen = null;
+ $veranstaltungsbezeichnungen = null;
+ }
+
+ HTML_sportsmanager_admin::adminEditMitglied($row, $team, $spieler, $spielberechtigungen, $veranstaltungsbezeichnungen, $veranstaltungen, $veranstaltungen_begegnungen, $entfernen);
+}
+
+#[NoReturn] function adminSaveMitglied(): void
+{
+ $db = getDatabase();
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator())
+ keinZugriff();
+
+ $id = $jInput->get('id', 0, 'INT');
+ $spielerids = $id != 0 ? array($id) : $jInput->get('spielerids', array(), 'ARRAY');
+ $teamid = $jInput->get('teamid', 0, 'INT');
+ $bildbeibehalten = $jInput->get('bildbeibehalten', 0, 'INT');
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_mitglieder&teamid=' . $teamid);
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $teamid";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) < 1) die ("Wrong id");
+ $team = $teams[0];
+ $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $teamid;
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($team->veranstaltung_id))
+ keinZugriff();
+
+ // Sicherstellen, dass Mannschaftsmitglied zum Team gehört
+ if (!empty($id)) {
+ $query = "SELECT * FROM #__sportsmanager_mitglied_von_team INNER JOIN #__sportsmanager_team USING (team_id) WHERE spieler_id = $id AND (team_id = $teamid OR teamgruppe_id = $teamgruppe_id)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ }
+
+ $query = "SELECT DISTINCT veranstaltung_id, team_id"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $teamid" . (!empty($teamgruppe_id) ? " OR teamgruppe_id = $teamgruppe_id" : null);
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstaltungen = $db->loadObjectList();
+
+ foreach ($veranstaltungen as $v) {
+ $status = $jInput->get('status_' . $v->veranstaltung_id, -1, 'INT');
+ if ($status == -1)
+ continue;
+
+ $erste_runde_typ = $jInput->get('erste_runde_typ_' . $v->veranstaltung_id, -1, 'INT');
+ $erste_runde = max(min(abs($jInput->get('erste_runde_' . $v->veranstaltung_id, 1, 'INT')), $erste_runde_typ == -2 ? 99 : 9999), 1);
+ $erste_runde_platzierung_ende = max(min(abs($jInput->get('erste_runde_platzierung_ende_' . $v->veranstaltung_id, 0, 'INT')), $erste_runde + 99), 1);
+
+ if ($erste_runde_typ >= 10000)
+ $erste_runde = $erste_runde_typ;
+ else if ($erste_runde_typ == -2)
+ $erste_runde = 20000 + ((99 - abs($erste_runde_platzierung_ende - $erste_runde)) * 100) + 99 - min($erste_runde, $erste_runde_platzierung_ende);
+ else if ($erste_runde_typ == 0)
+ $erste_runde = 0;
+
+ $letzte_runde_typ = $jInput->get('letzte_runde_typ_' . $v->veranstaltung_id, -1, 'INT');
+ $letzte_runde = max(min(abs($jInput->get('letzte_runde_' . $v->veranstaltung_id, 1, 'INT')), $letzte_runde_typ == -2 ? 99 : 9999), 1);
+ $letzte_runde_platzierung_ende = max(min(abs($jInput->get('letzte_runde_platzierung_ende_' . $v->veranstaltung_id, 0, 'INT')), $letzte_runde + 99), 1);
+
+ if ($letzte_runde_typ >= 10000)
+ $letzte_runde = $letzte_runde_typ;
+ else if ($letzte_runde_typ == -2)
+ $letzte_runde = 20000 + ((99 - abs($letzte_runde_platzierung_ende - $letzte_runde)) * 100) + 99 - min($letzte_runde, $letzte_runde_platzierung_ende);
+ else if ($letzte_runde_typ == 0)
+ $letzte_runde = 0;
+
+ if ($letzte_runde != 0 && $erste_runde != 0 && $erste_runde > $letzte_runde) {
+ $t = $erste_runde;
+ $erste_runde = $letzte_runde;
+ $letzte_runde = $t;
+ }
+
+ if ($id == 0) {
+ foreach ($spielerids as $spielerid) {
+ if ($status == 0)
+ continue;
+
+ $query = "SELECT mitglied_von_team_id FROM #__sportsmanager_mitglied_von_team WHERE team_id = $v->team_id AND spieler_id = '" . $db->escape($spielerid) . "'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) > 0)
+ continue;
+
+ $query = "INSERT #__sportsmanager_mitglied_von_team"
+ . "\n SET spieler_id = '" . $db->escape($spielerid) . "',"
+ . "\n team_id = '$v->team_id',"
+ . "\n erster_spieltag = " . ($erste_runde == 0 ? "NULL" : "'$erste_runde'") . ","
+ . "\n letzter_spieltag = " . ($letzte_runde == 0 ? "NULL" : "'$letzte_runde'") . ","
+ . "\n ausgetreten = " . ($status == 2 ? "TRUE" : "FALSE") . ";";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else {
+ $query = "SELECT mitglied_von_team_id FROM #__sportsmanager_mitglied_von_team WHERE team_id = $v->team_id AND spieler_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if ($status == 0) {
+ foreach ($rows as $row) {
+ $query = "DELETE FROM #__sportsmanager_mitglied_von_team WHERE mitglied_von_team_id = " . $row->mitglied_von_team_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ bildLoeschen("mannschaftsmitglieder", $row->mitglied_von_team_id);
+ }
+ } else {
+ if (count($rows) == 0) {
+ $query = "INSERT #__sportsmanager_mitglied_von_team"
+ . "\n SET spieler_id = '$id',"
+ . "\n team_id = '$v->team_id',"
+ . "\n erster_spieltag = " . ($erste_runde == 0 ? "NULL" : "'$erste_runde'") . ","
+ . "\n letzter_spieltag = " . ($letzte_runde == 0 ? "NULL" : "'$letzte_runde'") . ","
+ . "\n ausgetreten = " . ($status == 2 ? "TRUE" : "FALSE");
+ } else {
+ $query = "UPDATE #__sportsmanager_mitglied_von_team"
+ . "\n SET erster_spieltag = " . ($erste_runde == 0 ? "NULL" : "'$erste_runde'") . ","
+ . "\n letzter_spieltag = " . ($letzte_runde == 0 ? "NULL" : "'$letzte_runde'") . ","
+ . "\n ausgetreten = " . ($status == 2 ? "TRUE" : "FALSE")
+ . "\n WHERE mitglied_von_team_id = " . $rows[0]->mitglied_von_team_id;
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ if ($bildbeibehalten == 0) {
+ foreach ($rows as $row) {
+ bildLoeschen("mannschaftsmitglieder", $row->mitglied_von_team_id);
+
+ if (!empty($_FILES["bild"]["tmp_name"])) {
+ if (is_uploaded_file($_FILES["bild"]["tmp_name"])) {
+ $size = getimagesize($_FILES["bild"]["tmp_name"]);
+ if (!$size
+ || ($size[2] != IMAGETYPE_JPEG && $size[2] != IMAGETYPE_PNG)
+ || ($size[0] < 60 || $size[1] < 60 || $size[0] > 8192 || $size[1] > 8192)) {
+ redirectSportsManagerURL('&task=admin_mitglieder&teamid=' . $teamid, "Das Bild wurde nicht gespeichert, da es nicht im JPG/PNG-Format mit mindestens 90*90 und maximal 8192*8192 Bildpunkten vorliegt.");
+ }
+ $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder';
+ if (!bildKopierenAngepasst($_FILES["bild"]["tmp_name"], $bilder_pfad . DIRECTORY_SEPARATOR . $row->mitglied_von_team_id . ($size[2] == IMAGETYPE_PNG ? '.png' : '.jpg'), 180, 240, 1)) {
+ redirectSportsManagerURL('&task=admin_mitglieder&teamid=' . $teamid, "Das Bild konnte nicht an die Zielposition kopiert werden.");
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ $query = "SELECT team_id"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE team_id != $teamid AND teamgruppe_id = $teamgruppe_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $bestehende_weitere_veranstaltungen_beruecksichtigt = $db->loadObjectList();
+
+ foreach ($bestehende_weitere_veranstaltungen_beruecksichtigt as $bestehende_weitere_veranstaltung_beruecksichtigt)
+ mannschaftsgruppe_verknuepfen($teamid, $bestehende_weitere_veranstaltung_beruecksichtigt->team_id, false, false, false);
+
+ redirectSportsManagerURL('&task=admin_mitglieder&teamid=' . $teamid);
+}
+
+function adminBegegnungen(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
+
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
+
+ $modus_id = $veranstaltung->modus_id;
+ $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ $modus = null;
+ if (count($rows) == 1)
+ $modus = $rows[0];
+
+ $query = "SELECT t1.*, t2.teamname AS heim_name, t3.teamname AS gast_name, t4.unbestaetigtes_ergebnis_id, t4.zwischenergebnis, t2.nichtraucherschutz AS heim_nichtraucherschutz, t3.nichtraucherschutz AS gast_nichtraucherschutz,"
+ . "\n EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = t1.begegnung_id AND aktion IN (1, 5)) AS verlegt,"
+ . "\n (SELECT IF(#__sportsmanager_begegnung_historie.aktion NOT IN (0, 3, 4), NULL, #__sportsmanager_begegnung_historie.eingetragen) AS eingetragen FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verlegung_eingetragen"
+ . "\n FROM #__sportsmanager_begegnung AS t1"
+ . "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
+ . "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
+ . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
+ . "\n WHERE t2.veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY " . (($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) ? "t1.spieltag, " : "") . "t1.zeitpunkt, heim_name";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminBegegnungen($veranstaltung, $modus, $rows);
+}
+
+function adminEditBegegnung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $id = $jInput->get('id', 0, 'INT');
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
+
+ if (empty($id)) {
+ $query = "SELECT #__sportsmanager_begegnung.*"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n INNER JOIN #__sportsmanager_team USING (veranstaltung_id)"
+ . "\n INNER JOIN #__sportsmanager_begegnung ON team_id = heim_team_id"
+ . "\n WHERE veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY zeitpunkt DESC LIMIT 1";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ $row = count($rows) < 1 ? null : $rows[0]; // Falls keine Begegnung als Vorlage verfügbar ist
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_begegnung WHERE begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id!");
+ $row = $rows[0];
+
+ // Sicherstellen, dass mindestens ein Team zu Veranstaltung gehört
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $row->heim_team_id AND veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) < 1) die ("Wrong id!");
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY teamname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+
+ // Vorgeschlagene Termine ermitteln
+ $query = "SELECT #__sportsmanager_begegnung_historie.*, team.teamname as team, user.username, user.name, verantwortlich_team.teamname as verantwortlich_team"
+ . "\n FROM #__sportsmanager_begegnung_historie"
+ . "\n LEFT JOIN #__sportsmanager_team AS team USING (team_id)"
+ . "\n LEFT JOIN #__sportsmanager_team AS verantwortlich_team ON verantwortlich_team.team_id = verantwortlich_team_id"
+ . "\n LEFT JOIN #__users AS user ON user.id = user_id"
+ . "\n WHERE begegnung_id = $id"
+ . "\n ORDER BY begegnung_historie_id DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $verlegen_aktionen = $db->loadObjectList();
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_spielort"
+ . "\n ORDER BY ortsname, name, ortsteil";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spielorte = $db->loadObjectList();
+
+ HTML_sportsmanager_admin::adminEditBegegnung($veranstaltung, $row, $id == null, $teams, $spielorte);
+ HTML_sportsmanager_admin::adminVerlegenVerlauf($verlegen_aktionen);
+}
+
+#[NoReturn] function adminSaveBegegnung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $id = $jInput->get('id', 0, 'INT');
+ $update = $id != 0;
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff();
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId . '#id' . $id);
+ }
+
+ $datum = normalisiertesDatum($jInput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jInput->get('datum_jahr', 0, 'INT'), $jInput->get('datum_monat', 0, 'INT'), $jInput->get('datum_tag', 0, 'INT')));
+ $uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jInput->get('uhrzeit_stunden', 0, 'INT'), $jInput->get('uhrzeit_minuten', 0, 'INT')));
+ $zeitpunkt = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit);
+ $heim_team_id = $jInput->get('heim_team_id', 0, 'INT');
+ $gast_team_id = $jInput->get('gast_team_id', 0, 'INT');
+ $spielort_id = $jInput->get('spielort_id', 0, 'INT');
+ $tisch = $db->escape(trim($jInput->get('tisch', '', 'RAW')));
+ $nichtraucherschutz = $jInput->get('nichtraucherschutz', 0, 'INT');
+ $rundentyp = $jInput->get('rundentyp', -1, 'INT');
+ $runde = max(min(abs($jInput->get('runde', 1, 'INT')), $rundentyp == -2 ? 99 : 9999), 1);
+ $platzierung_ende = max(min(abs($jInput->get('platzierung_ende', 0, 'INT')), $runde + 99), 1);
+ $aktualisieren_ab_datum = $datum;
+
+ if ($rundentyp >= 10000)
+ $runde = $rundentyp;
+ else if ($rundentyp == -2)
+ $runde = 20000 + ((99 - abs($platzierung_ende - $runde)) * 100) + 99 - min($runde, $platzierung_ende);
+ else if ($rundentyp == 0)
+ $runde = 0;
+
+ $query = "SELECT status, elo_wertung"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong Id!");
+ $veranstaltung = $rows[0];
+
+ // Sicherstellen, dass Teams zu Veranstaltung gehören
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $heim_team_id AND veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) < 1) die ("Wrong id!");
+ $heim_team = $teams[0];
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $gast_team_id AND veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) < 1) die ("Wrong id!");
+ $gast_team = $teams[0];
+
+ $begegnung = null;
+ $user_id = isExternalDatabase() ? 0 : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
+ if ($id == 0) {
+ $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, heim_team_id, gast_team_id, spielort_id, tisch, nichtraucherschutz)"
+ . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", " . ($runde != null ? "'$runde'" : "NULL") . ", '$heim_team_id', '$gast_team_id', " . ($spielort_id != 0 ? "'$spielort_id'" : "NULL") . ", '$tisch', '$nichtraucherschutz');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ // Begegnung ermitteln
+ $query = "SELECT *,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id) AS verlegen_aktionen"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n WHERE begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id!");
+ $begegnung = $rows[0];
+
+ if (!empty($begegnung->zeitpunkt) && substr($begegnung->zeitpunkt, 0, 10) < $aktualisieren_ab_datum)
+ $aktualisieren_ab_datum = substr($begegnung->zeitpunkt, 0, 10);
+
+ if ($begegnung->heim_team_id != $heim_team_id || $begegnung->gast_team_id != $gast_team_id) {
+ $query = "DELETE FROM #__sportsmanager_begegnung_historie WHERE begegnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else if ($begegnung->zeitpunkt != $zeitpunkt && $begegnung->verlegen_aktionen != 0) {
+ $aktueller_zeitpunkt = date('Y-m-d H:i:s');
+ $query = "INSERT INTO #__sportsmanager_begegnung_historie (begegnung_id, aktion, zeitpunkt, user_id, team_id, verantwortlich_team_id, kommentar, eingetragen)"
+ . "\n VALUES ($id, 5, " . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", '$user_id', NULL, NULL, NULL, '$aktueller_zeitpunkt');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ if ($begegnung->heim_team_id != $heim_team_id || $begegnung->gast_team_id != $gast_team_id || $begegnung->zeitpunkt != $zeitpunkt || $begegnung->spieltag != $runde || $begegnung->spielort_id != $spielort_id || (empty($begegnung->tisch) != empty($tisch) || $begegnung->tisch != $tisch) || $begegnung->nichtraucherschutz != $nichtraucherschutz) {
+ $query = "UPDATE #__sportsmanager_begegnung"
+ . "\n SET zeitpunkt = " . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ","
+ . "\n spieltag = " . ($runde != null ? "'$runde'" : "NULL") . ","
+ . "\n heim_team_id = '$heim_team_id',"
+ . "\n gast_team_id = '$gast_team_id',"
+ . "\n spielort_id = " . ($spielort_id != 0 ? "'$spielort_id'" : "NULL") . ","
+ . "\n tisch = '$tisch',"
+ . "\n nichtraucherschutz = '$nichtraucherschutz'"
+ . "\n WHERE begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+
+ if ($veranstaltung->status > 0) {
+ if ($update && (empty($begegnung->tisch) != empty($tisch) || $begegnung->tisch != $tisch)) {
+ $query = "SELECT *,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id) AS verlegen_aktionen"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n WHERE begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id!");
+ $begegnung = $rows[0];
+ begegnungTischChanged($begegnung, $heim_team, $gast_team);
+ }
+
+ if ($veranstaltung->elo_wertung > 0) {
+ wannGespieltAktualisieren();
+ eloAktualisieren($aktualisieren_ab_datum);
+ einstufungAktualisieren();
+ }
+ }
+
+ redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId . '#id' . $id);
+}
+
+function adminRemoveBegegnung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $id = $jInput->get('id', 0, 'INT');
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
+
+ // Sicherstellen, dass Begegnung zu Veranstaltung gehört und Elo-Status abrufen
+ $query = "SELECT status, elo_wertung, zeitpunkt"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id"
+ . "\n INNER JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
+ . "\n WHERE begegnung_id = $id AND veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ return;
+ }
+ $row = $rows[0];
+
+ $elo_aktualisieren = $row->status != 0 && $row->elo_wertung != 0;
+ $aktualisieren_ab_datum = !empty($row->zeitpunkt) ? substr($row->zeitpunkt, 0, 10) : null;
+
+ $query = "DELETE FROM #__sportsmanager_begegnung_historie WHERE begegnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_unbestaetigtes_ergebnis WHERE begegnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_teamspiel WHERE begegnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_begegnung WHERE begegnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ if ($elo_aktualisieren) {
+ wannGespieltAktualisieren();
+ eloAktualisieren($aktualisieren_ab_datum);
+ einstufungAktualisieren();
+ }
+ spielerstatistikAktualisieren(0, $veranstaltungId);
+ teamstatistikAktualisieren($veranstaltungId);
+
+ redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
+}
+
+#[NoReturn] function adminHeimtauschBegegnung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $id = $jInput->get('id', 0, 'INT');
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
+
+ $query = "SELECT * FROM #__sportsmanager_begegnung WHERE begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id!");
+ $row = $rows[0];
+
+ // Sicherstellen, dass mindestens ein Team zur Veranstaltung gehört
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $row->heim_team_id AND veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY teamname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) < 1) die ("Wrong id!");
+
+ $query = "UPDATE #__sportsmanager_begegnung"
+ . "\n SET heim_team_id = (@temp_heim_team_id := heim_team_id), heim_team_id = gast_team_id,"
+ . "\n gast_team_id = @temp_heim_team_id,"
+ . "\n heim_punkte = (@temp_heim_punkte := heim_punkte), heim_punkte = gast_punkte,"
+ . "\n gast_punkte = @temp_heim_punkte,"
+ . "\n heim_spielpunkte = (@temp_heim_spielpunkte := heim_spielpunkte), heim_spielpunkte = gast_spielpunkte,"
+ . "\n gast_spielpunkte = @temp_heim_spielpunkte"
+ . "\n WHERE begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "UPDATE #__sportsmanager_teamspiel"
+ . "\n SET heim_spieler_1_id = (@temp_heim_spieler_1_id := heim_spieler_1_id), heim_spieler_1_id = gast_spieler_1_id,"
+ . "\n gast_spieler_1_id = @temp_heim_spieler_1_id,"
+ . "\n heim_spieler_2_id = (@temp_heim_spieler_2_id := heim_spieler_2_id), heim_spieler_2_id = gast_spieler_2_id,"
+ . "\n gast_spieler_2_id = @temp_heim_spieler_2_id,"
+ . "\n teamspiel_heim_punkte = (@temp_teamspiel_heim_punkte := teamspiel_heim_punkte), teamspiel_heim_punkte = teamspiel_gast_punkte,"
+ . "\n teamspiel_gast_punkte = @temp_teamspiel_heim_punkte,"
+ . "\n teamspiel_heim_spielpunkte = (@temp_teamspiel_heim_spielpunkte := teamspiel_heim_spielpunkte), teamspiel_heim_spielpunkte = teamspiel_gast_spielpunkte,"
+ . "\n teamspiel_gast_spielpunkte = @temp_teamspiel_heim_spielpunkte"
+ . "\n WHERE begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ termin_aktualisieren($id);
+
+ redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId . '#id' . $id);
+}
+
+function adminEditBegegnungSpielplan($bestaetigen): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id);
+ $erneut_oeffnen = $jInput->get('erneut_oeffnen', 0, 'INT');
+
+ if ($bestaetigen == 2) {
+ $pin = $db->escape(trim($jInput->get('pin', '', 'RAW')));
+ if (empty($pin)) {
+ $encrypted_pin = $db->escape($jInput->get('epin', '', 'RAW'));
+ if (empty($encrypted_pin)) {
+ redirectSportsManagerURL(null, "Keine PIN eingegeben.");
+ }
+ $id = $jInput->get('id', 0, 'INT');
+ if ($id == 0) die("Missing id!");
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+ $pin = decrypt($encrypted_pin, "a9cZ" . $veranstaltungId . "oDS7" . $id . "2eA");
+ }
+
+ $query = "SELECT t1.begegnung_id, t5.veranstaltung_id, IF(t2.pin = '$pin', heim_team_id, gast_team_id) AS aktion_team_id, IF(t2.pin = '$pin', gast_team_id, heim_team_id) AS anderes_team_id"
+ . "\n FROM #__sportsmanager_begegnung AS t1"
+ . "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
+ . "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
+ . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
+ . "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
+ . "\n WHERE t5.status > 0 " . kategorieFilter("AND t5.kategorie IN") . " AND ((ISNULL(heim_punkte) AND ISNULL(gast_punkte)) OR zwischenergebnis OR NOT ISNULL(unbestaetigtes_ergebnis_id)) AND ((NOT ISNULL(t2.pin) AND t2.pin = '$pin') OR (NOT ISNULL(t3.pin) AND t3.pin = '$pin'))"
+ . "\n ORDER BY t1.zeitpunkt"
+ . "\n LIMIT 1";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ if (count($rows) == 0) {
+ redirectSportsManagerURL(null, "Keine offene Begegnung zur PIN gefunden.");
+ }
+
+ $id = $rows[0]->begegnung_id;
+ $veranstaltungId = $rows[0]->veranstaltung_id;
+ $aus_uebersicht = 0;
+ $anderes_team_id = $rows[0]->anderes_team_id;
+ } else {
+ $pin = "";
+ $id = $jInput->get('id', 0, 'INT');
+ if ($id == 0) die("Missing id!");
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+ $aus_uebersicht = $jInput->get('aus_uebersicht', 0, 'INT');
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
+
+ $teamspiel_modus_id = $veranstaltung->modus_id;
+
+ $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $teamspiel_modus_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $teamspiel_modus = $rows[0];
+
+ $query = "SELECT t1.*, t2.unbestaetigtes_ergebnis_id, t2.kommentar, t2.zwischenergebnis,";
+ $query .= "\n (SELECT COUNT(*) FROM #__sportsmanager_berechtigt_fuer_team AS tt1 WHERE tt1.berechtigt_user_id = $user_id AND (tt1.berechtigt_team_id = t1.heim_team_id OR tt1.berechtigt_team_id = t1.gast_team_id)) AS berechtigt_fuer_team_eintragen,";
+ if ($bestaetigen != 2) {
+ $query .= "\n (SELECT COUNT(*) FROM #__sportsmanager_berechtigt_fuer_team AS tt1 WHERE tt1.berechtigt_user_id = $user_id AND ((tt1.berechtigt_team_id = t1.heim_team_id AND t4.vorschlagendes_team_id = t1.gast_team_id) OR (tt1.berechtigt_team_id = t1.gast_team_id AND t4.vorschlagendes_team_id = t1.heim_team_id))) AS berechtigt_fuer_team_akzeptieren";
+ } else {
+ $query .= "\n IF(t4.vorschlagendes_team_id = $anderes_team_id, 1, 0) AS berechtigt_fuer_team_akzeptieren";
+ }
+ $query .= "\n FROM #__sportsmanager_begegnung AS t1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t2 ON t1.begegnung_id = t2.begegnung_id"
+ . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
+ . "\n WHERE t1.begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id!");
+ $begegnung = $rows[0];
+
+ // Vorgeschlagene Termine ermitteln
+ $query = "SELECT #__sportsmanager_begegnung_historie.*, team.teamname as team, user.username, user.name, verantwortlich_team.teamname as verantwortlich_team"
+ . "\n FROM #__sportsmanager_begegnung_historie"
+ . "\n LEFT JOIN #__sportsmanager_team AS team USING (team_id)"
+ . "\n LEFT JOIN #__sportsmanager_team AS verantwortlich_team ON verantwortlich_team.team_id = verantwortlich_team_id"
+ . "\n LEFT JOIN #__users AS user ON user.id = user_id"
+ . "\n WHERE begegnung_id = $id"
+ . "\n ORDER BY begegnung_historie_id DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $verlegen_aktionen = $db->loadObjectList();
+
+ if ($bestaetigen == 1) {
+ if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0))
+ keinZugriff();
+
+ $query = "SELECT t1.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team AS t1, #__sportsmanager_begegnung WHERE begegnung_id = $id AND berechtigt_user_id = $user_id AND (berechtigt_team_id = heim_team_id OR berechtigt_team_id = gast_team_id)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 0)
+ keinZugriff(true);
+ } else if ($bestaetigen !== 2) {
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $heim_team = $rows[0];
+
+ if ($veranstaltungId != $heim_team->veranstaltung_id)
+ die("Wrong id!");
+
+ $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $gast_team = $rows[0];
+
+ $query = "SELECT * FROM #__sportsmanager_teamspiel WHERE begegnung_id = $id ORDER BY teamspiel_nummer";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spiele = $db->loadObjectList();
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_mitglied_von_team as t1"
+ . "\n INNER JOIN #__sportsmanager_spieler AS t2 USING (spieler_id)"
+ . "\n WHERE team_id = $begegnung->heim_team_id AND NOT t1.ausgetreten " . ($begegnung->spieltag != null ? "AND (ISNULL(t1.erster_spieltag) OR t1.erster_spieltag <= $begegnung->spieltag) AND (ISNULL(t1.letzter_spieltag) OR $begegnung->spieltag <= t1.letzter_spieltag) " : "")
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $heim_spieler = $db->loadObjectList();
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_mitglied_von_team as t1"
+ . "\n INNER JOIN #__sportsmanager_spieler AS t2 USING (spieler_id)"
+ . "\n WHERE team_id = $begegnung->gast_team_id AND NOT t1.ausgetreten " . ($begegnung->spieltag != null ? "AND (ISNULL(t1.erster_spieltag) OR t1.erster_spieltag <= $begegnung->spieltag) AND (ISNULL(t1.letzter_spieltag) OR $begegnung->spieltag <= t1.letzter_spieltag) " : "")
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $gast_spieler = $db->loadObjectList();
+
+ $encrypted_pin = encrypt($pin, "a9cZ" . $veranstaltung->veranstaltung_id . "oDS7" . $id . "2eA");
+ // Spielort ermitteln
+ $spielortQuery = "SELECT name FROM #__sportsmanager_spielort WHERE spielort_id = \""
+ . (Factory::getContainer()->get(SiteApplication::class)->input->getCmd('spielort_heim') == 1
+ ? $heim_team->heimspielort_id
+ : $begegnung->spielort_id) . "\"";
+ $db->setQuery($spielortQuery);
+ $begegnung->spielort_name = $db->loadResult();
+
+
+ if (isJson()) {
+ $response = JSON_sportsmanager::adminEditBegegnungSpielplan($bestaetigen, $veranstaltung, $begegnung, $heim_team, $gast_team, $spiele, $heim_spieler, $gast_spieler, $teamspiel_modus);
+ JSON_sportsmanager::JSON($response);
+ } else {
+ HTML_sportsmanager_admin::adminEditBegegnungSpielplan($bestaetigen, $veranstaltung, $begegnung, $heim_team, $gast_team, $spiele, $heim_spieler, $gast_spieler, $teamspiel_modus, $encrypted_pin, count($verlegen_aktionen), $erneut_oeffnen, $aus_uebersicht);
+ HTML_sportsmanager_admin::adminVerlegenVerlauf($verlegen_aktionen);
+ }
+
+}
+
+function adminSaveBegegnungSpielplan(): void
+{
+ $app = Factory::getContainer()->get(SiteApplication::class);
+ $db = getDatabase();
+ $jInput = $app->input;
+ $begegnung_input = isJson() ? $jInput->json : $jInput;
+
+ $user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id);
+ $id = $jInput->get('id', 0, 'INT');
+ $bestaetigen = $begegnung_input->get('bestaetigen', 0, 'INT');
+ $zwischenergebnis = isJson() && $jInput->getMethod() === 'PATCH' ? true : $begegnung_input->get('live', false, 'BOOL');
+
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) {
+ abortWithError("Missing id!");
+ }
+ $kommentar = $db->escape($jInput->get('kommentar', '', 'RAW'));
+ $aus_uebersicht = $jInput->get('aus_uebersicht', 0, 'INT');
+ $anzahl_historie = $jInput->get('anzahl_historie', 0, 'INT');
+ $erneut_oeffnen = $jInput->get('erneut_oeffnen', 0, 'INT');
+ $heim_team_id = $jInput->get('heim_team_id', 0, 'INT');
+ $gast_team_id = $jInput->get('gast_team_id', 0, 'INT');
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ if ($bestaetigen == 1) {
+ if ($aus_uebersicht) {
+ redirectSportsManagerURL('#id' . $id);
+ } else {
+ redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungId . '#id' . $id);
+ }
+ } else if ($bestaetigen == 2) {
+ if ($aus_uebersicht) {
+ redirectSportsManagerURL();
+ } else {
+ redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungId);
+ }
+ } else {
+ redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId . '#id' . $id);
+ }
+ }
+
+ $benutzer_ist_moderator = benutzerZugriff("mannschaftswettbewerb_aendern") || benutzerVeranstaltungModerator($veranstaltungId); // Abfrage muss vor LOCK erfolgen, da sonst die Abfrage mangels Lock auf Moderator-Tabelle scheitert
+
+ $query = "SELECT #__sportsmanager_begegnung.*, unbestaetigtes_ergebnis_id, zwischenergebnis,"
+ . " (SELECT COUNT(*) FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id) AS verlegen_aktionen"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id"
+ . "\n WHERE #__sportsmanager_begegnung.begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ abortWithError("Wrong id!");
+ }
+ $begegnung = $rows[0];
+
+ $mannschaften_vertauscht = $begegnung->heim_team_id == $gast_team_id || $begegnung->gast_team_id == $heim_team_id;
+ $aktualisieren_ab_datum = !empty($begegnung->zeitpunkt) ? substr($begegnung->zeitpunkt, 0, 10) : null;
+
+ // Veranstaltung ermitteln
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ abortWithError("Wrong id!");
+ }
+ $veranstaltung = $rows[0];
+
+ // Sicherstellen, dass mindestens ein Team zu Veranstaltung gehört
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $begegnung->heim_team_id AND veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) < 1) {
+ abortWithError("Wrong id!");
+ }
+
+ // Spielmodus ermitteln
+ $modus_id = $veranstaltung->modus_id;
+ $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ abortWithError("Wrong id!");
+ }
+ $teamspiel_modus = $rows[0];
+
+ $spielpunkte_wertung_einzel = $teamspiel_modus->spielpunkte_wertung_einzel;
+ $spielpunkte_wertung_doppel = $teamspiel_modus->spielpunkte_wertung_doppel;
+ $modus = explode("|", $teamspiel_modus->modus);
+ $spieltypen = isset($modus[0]) ? explode(",", $modus[0]) : array();
+
+ $vorschlagendes_team_id = null;
+ if ($bestaetigen == 1) {
+ if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0)) {
+ keinZugriff();
+ }
+
+ $query = "SELECT #__sportsmanager_berechtigt_fuer_team.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team, #__sportsmanager_begegnung WHERE begegnung_id = $id AND berechtigt_user_id = $user_id AND (berechtigt_team_id = heim_team_id OR berechtigt_team_id = gast_team_id)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 0) {
+ keinZugriff();
+ }
+ $vorschlagendes_team_id = $rows[0]->berechtigt_team_id;
+ } else if ($bestaetigen == 2) {
+ if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0)) {
+ keinZugriff();
+ }
+
+ $encrypted_pin = $db->escape($jInput->get('pin', '', 'RAW'));
+ $pin = decrypt($encrypted_pin, "a9cZ" . $veranstaltungId . "oDS7" . $id . "2eA");
+ if (empty($pin)) {
+ keinZugriff();
+ }
+
+ $query = "SELECT team_id FROM #__sportsmanager_begegnung LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id OR gast_team_id = team_id WHERE begegnung_id = $id AND (team_id = $begegnung->heim_team_id OR team_id = $begegnung->gast_team_id) AND NOT ISNULL(pin) AND pin = '$pin'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ if (count($rows) == 0) {
+ keinZugriff();
+ }
+
+ $vorschlagendes_team_id = $rows[0]->team_id;
+ } else {
+ if (!$benutzer_ist_moderator) {
+ keinZugriff();
+ }
+ }
+
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) {
+ abortWithError("Missing id!");
+ }
+
+ $query = "DELETE FROM #__sportsmanager_unbestaetigtes_ergebnis WHERE begegnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+
+ if ($zwischenergebnis) {
+ $query = "INSERT INTO #__sportsmanager_unbestaetigtes_ergebnis (begegnung_id, vorschlagendes_team_id, zwischenergebnis, kommentar, vorgeschlagen)"
+ . "\n VALUES ('$id', " . ($bestaetigen != 0 ? "'$vorschlagendes_team_id'" : "'0'") . ", '1', '$kommentar', now());";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+
+ $query = "INSERT INTO #__sportsmanager_begegnung_historie (begegnung_id, aktion, zeitpunkt, user_id, team_id, verantwortlich_team_id, kommentar, eingetragen)"
+ . "\n VALUES ($id, 9, NULL, " . ($bestaetigen != 2 ? "'$user_id'" : "NULL") . ", " . ($bestaetigen != 0 ? "'$vorschlagendes_team_id'" : "NULL") . ", NULL, NULL, now());";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ } else if ($bestaetigen != 0) {
+ $query = "INSERT INTO #__sportsmanager_unbestaetigtes_ergebnis (begegnung_id, vorschlagendes_team_id, kommentar, vorgeschlagen)"
+ . "\n VALUES ('$id', '$vorschlagendes_team_id', '$kommentar', now());";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+
+ $query = "INSERT INTO #__sportsmanager_begegnung_historie (begegnung_id, aktion, zeitpunkt, user_id, team_id, verantwortlich_team_id, kommentar, eingetragen)"
+ . "\n VALUES ($id, 6, NULL, " . ($bestaetigen != 2 ? "'$user_id'" : "NULL") . ", '$vorschlagendes_team_id', '" . ($vorschlagendes_team_id == $begegnung->heim_team_id ? $begegnung->gast_team_id : $begegnung->heim_team_id) . "', NULL, now());";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ } else {
+ $query = "INSERT INTO #__sportsmanager_begegnung_historie (begegnung_id, aktion, zeitpunkt, user_id, team_id, verantwortlich_team_id, kommentar, eingetragen)"
+ . "\n VALUES ($id, 8, NULL, '$user_id', NULL, NULL, NULL, now());";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ }
+
+ $query = "SELECT * FROM #__sportsmanager_teamspiel WHERE begegnung_id = $id ORDER BY teamspiel_nummer";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $spiele = $db->loadObjectList();
+
+ $spiele_nummern = array();
+ foreach ($spiele as $spiel) {
+ $spiele_nummern[$spiel->teamspiel_nummer] = $spiel;
+ }
+
+ $total_heim_punkte = 0;
+ $total_gast_punkte = 0;
+ $total_heim_spielpunkte = 0;
+ $total_gast_spielpunkte = 0;
+ $spiel_nr = 1;
+ do {
+ $spieltyp = $spieltypen[$spiel_nr - 1] ?? '';
+
+ $skip_spiel = $begegnung_input->get('spiel_' . $spiel_nr . '_typ', '', 'RAW') == '' && $jInput->getMethod() === 'PATCH';
+ $spieler_angegeben = false;
+ $spiel_heim_spieler_1_id = null;
+ $spiel_gast_spieler_1_id = null;
+ $spiel_heim_spieler_2_id = null;
+ $spiel_gast_spieler_2_id = null;
+ if ($skip_spiel) {
+ if (isset($spiele_nummern[$spiel_nr])) {
+ $spiel_heim_punkte = $spiele_nummern[$spiel_nr]->teamspiel_heim_punkte;
+ $spiel_gast_punkte = $spiele_nummern[$spiel_nr]->teamspiel_gast_punkte;
+ } else {
+ $spiel_heim_punkte = 0;
+ $spiel_gast_punkte = 0;
+ }
+ } else {
+ $spiel_heim_punkte_detailliert = $begegnung_input->get('spiel_' . $spiel_nr . '_heim_punkte_detailliert', array(), 'ARRAY');
+ $spiel_gast_punkte_detailliert = $begegnung_input->get('spiel_' . $spiel_nr . '_gast_punkte_detailliert', array(), 'ARRAY');
+ if (empty($spiel_heim_punkte_detailliert)) {
+ $spiel_heim_punkte = $begegnung_input->get('spiel_' . $spiel_nr . '_heim_punkte', 0, 'INT');
+ $spiel_gast_punkte = $begegnung_input->get('spiel_' . $spiel_nr . '_gast_punkte', 0, 'INT');
+ $ergebnis_detailliert = $spiel_heim_punkte == 0 && $spiel_gast_punkte == 0 ? '' : ($spiel_heim_punkte . ":" . $spiel_gast_punkte);
+ } else {
+ $ergebnis_detailliert = "";
+ $spiel_heim_punkte = 0;
+ $spiel_gast_punkte = 0;
+ for ($i = 0; $i < count($spiel_heim_punkte_detailliert); $i++) {
+ if (($spiel_heim_punkte_detailliert[$i] == 0 || empty($spiel_heim_punkte_detailliert[$i])) && ($spiel_gast_punkte_detailliert[$i] == 0 || empty($spiel_gast_punkte_detailliert[$i]))) {
+ continue;
+ }
+ if (!empty($ergebnis_detailliert)) {
+ $ergebnis_detailliert .= " ";
+ }
+ $punkte_heim = empty($spiel_heim_punkte_detailliert[$i]) ? "0" : $spiel_heim_punkte_detailliert[$i];
+ $punkte_gast = empty($spiel_gast_punkte_detailliert[$i]) ? "0" : $spiel_gast_punkte_detailliert[$i];
+ if ($punkte_heim > $punkte_gast) {
+ $spiel_heim_punkte++;
+ } else if ($punkte_gast > $punkte_heim) {
+ $spiel_gast_punkte++;
+ }
+ $ergebnis_detailliert .= $punkte_heim . ":" . $punkte_gast;
+ }
+ }
+
+ if ($spieltyp[0] == "S") {
+ $spiel_heim_spieler_1_id = 0;
+ $spiel_gast_spieler_1_id = 0;
+ $spiel_heim_spieler_2_id = 0;
+ $spiel_gast_spieler_2_id = 0;
+ } else {
+ $spiel_heim_spieler_1_id = $begegnung_input->get('spiel_' . $spiel_nr . '_heim_spieler_1_id', 0, 'INT');
+ $spiel_gast_spieler_1_id = $begegnung_input->get('spiel_' . $spiel_nr . '_gast_spieler_1_id', 0, 'INT');
+ if ($spieltyp[0] == "E") {
+ $spiel_heim_spieler_2_id = 0;
+ $spiel_gast_spieler_2_id = 0;
+ } else {
+ $spiel_heim_spieler_2_id = $begegnung_input->get('spiel_' . $spiel_nr . '_heim_spieler_2_id', 0, 'INT');
+ $spiel_gast_spieler_2_id = $begegnung_input->get('spiel_' . $spiel_nr . '_gast_spieler_2_id', 0, 'INT');
+ }
+ $spieler_angegeben = $spiel_heim_spieler_1_id != 0 || $spiel_gast_spieler_1_id != 0 || $spiel_heim_spieler_2_id != 0 || $spiel_gast_spieler_2_id != 0;
+ }
+
+ if ($mannschaften_vertauscht) {
+ $t = $spiel_heim_punkte;
+ $spiel_heim_punkte = $spiel_gast_punkte;
+ $spiel_gast_punkte = $t;
+ $ergebnis_detailliert = runden_detailliert_invers($ergebnis_detailliert);
+
+ $t = $spiel_heim_spieler_1_id;
+ $spiel_heim_spieler_1_id = $spiel_gast_spieler_1_id;
+ $spiel_gast_spieler_1_id = $t;
+
+ $t = $spiel_heim_spieler_2_id;
+ $spiel_heim_spieler_2_id = $spiel_gast_spieler_2_id;
+ $spiel_gast_spieler_2_id = $t;
+ }
+
+ if ($zwischenergebnis && $begegnung->verlegen_aktionen != $anzahl_historie && isset($spiele_nummern[$spiel_nr])) {
+ $spiel = $spiele_nummern[$spiel_nr];
+ if ($spiel_heim_punkte == 0 && $spiel_gast_punkte == 0) {
+ $spiel_heim_punkte = $spiel->teamspiel_heim_punkte;
+ $spiel_gast_punkte = $spiel->teamspiel_gast_punkte;
+ }
+ if ($spiel_heim_spieler_1_id == 0)
+ $spiel_heim_spieler_1_id = $spiel->heim_spieler_1_id;
+ if ($spiel_gast_spieler_1_id == 0)
+ $spiel_gast_spieler_1_id = $spiel->gast_spieler_1_id;
+ $spieler_angegeben = $spiel_heim_spieler_1_id != 0 || $spiel_gast_spieler_1_id != 0;
+ if ((!empty($spieltyp) && $spieltyp[0] == "D")) {
+ if ($spiel_heim_spieler_2_id == 0)
+ $spiel_heim_spieler_2_id = $spiel->heim_spieler_2_id;
+ if ($spiel_gast_spieler_2_id == 0)
+ $spiel_gast_spieler_2_id = $spiel->gast_spieler_2_id;
+ if (!$spieler_angegeben)
+ $spieler_angegeben = $spiel_heim_spieler_2_id != 0 || $spiel_gast_spieler_2_id != 0;
+ }
+ }
+ }
+
+ if ($skip_spiel || $spiel_heim_punkte != 0 || $spiel_gast_punkte != 0 || ($zwischenergebnis && $spieler_angegeben)) {
+ $total_heim_punkte += $spiel_heim_punkte;
+ $total_gast_punkte += $spiel_gast_punkte;
+
+ if ($spieltyp[0] != "D") {
+ if ($spielpunkte_wertung_einzel == 2) {
+ $spiel_heim_spielpunkte = $spiel_heim_punkte;
+ $spiel_gast_spielpunkte = $spiel_gast_punkte;
+ } else {
+ if ($spiel_heim_punkte > $spiel_gast_punkte) {
+ $spiel_heim_spielpunkte = $spielpunkte_wertung_einzel == 0 ? 2 : ($spielpunkte_wertung_einzel == 1 ? 3 : 1);
+ $spiel_gast_spielpunkte = 0;
+ } else if ($spiel_heim_punkte < $spiel_gast_punkte) {
+ $spiel_heim_spielpunkte = 0;
+ $spiel_gast_spielpunkte = $spielpunkte_wertung_einzel == 0 ? 2 : ($spielpunkte_wertung_einzel == 1 ? 3 : 1);
+ } else if ($spiel_heim_punkte == 0 && $spiel_gast_punkte == 0) {
+ $spiel_heim_spielpunkte = 0;
+ $spiel_gast_spielpunkte = 0;
+ } else if ($spielpunkte_wertung_einzel != 3) {
+ $spiel_heim_spielpunkte = 1;
+ $spiel_gast_spielpunkte = 1;
+ } else {
+ $spiel_heim_spielpunkte = 0;
+ $spiel_gast_spielpunkte = 0;
+ }
+ }
+ } else {
+ if ($spielpunkte_wertung_doppel == 2) {
+ $spiel_heim_spielpunkte = $spiel_heim_punkte;
+ $spiel_gast_spielpunkte = $spiel_gast_punkte;
+ } else {
+ if ($spiel_heim_punkte > $spiel_gast_punkte) {
+ $spiel_heim_spielpunkte = $spielpunkte_wertung_doppel == 0 ? 2 : ($spielpunkte_wertung_doppel == 1 ? 3 : 1);
+ $spiel_gast_spielpunkte = 0;
+ } else if ($spiel_heim_punkte < $spiel_gast_punkte) {
+ $spiel_heim_spielpunkte = 0;
+ $spiel_gast_spielpunkte = $spielpunkte_wertung_doppel == 0 ? 2 : ($spielpunkte_wertung_doppel == 1 ? 3 : 1);
+ } else if ($spiel_heim_punkte == 0 && $spiel_gast_punkte == 0) {
+ $spiel_heim_spielpunkte = 0;
+ $spiel_gast_spielpunkte = 0;
+ } else if ($spielpunkte_wertung_doppel != 3) {
+ $spiel_heim_spielpunkte = 1;
+ $spiel_gast_spielpunkte = 1;
+ } else {
+ $spiel_heim_spielpunkte = 0;
+ $spiel_gast_spielpunkte = 0;
+ }
+ }
+ }
+
+ $total_heim_spielpunkte += $spiel_heim_spielpunkte;
+ $total_gast_spielpunkte += $spiel_gast_spielpunkte;
+
+ if (!$skip_spiel) {
+ if (!isset($spiele_nummern[$spiel_nr])) {
+ $query = "INSERT INTO #__sportsmanager_teamspiel (begegnung_id, teamspiel_nummer, heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, teamspiel_heim_punkte, teamspiel_gast_punkte, teamspiel_heim_spielpunkte, teamspiel_gast_spielpunkte, ergebnis_detailliert)"
+ . "\n VALUES ('$id', '$spiel_nr', '$spiel_heim_spieler_1_id', " . ($spieltyp[0] == "D" ? "'$spiel_heim_spieler_2_id'" : "NULL") . ", '$spiel_gast_spieler_1_id', " . ($spieltyp[0] == "D" ? "'$spiel_gast_spieler_2_id'" : "NULL") . ", '$spiel_heim_punkte', '$spiel_gast_punkte', '$spiel_heim_spielpunkte', '$spiel_gast_spielpunkte', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
+ } else {
+ $teamspiel_id = $spiele_nummern[$spiel_nr]->teamspiel_id;
+ $query = "UPDATE #__sportsmanager_teamspiel"
+ . "\n SET heim_spieler_1_id = '$spiel_heim_spieler_1_id',"
+ . "\n heim_spieler_2_id = " . ($spieltyp[0] == "D" ? "'$spiel_heim_spieler_2_id'" : "NULL") . ","
+ . "\n gast_spieler_1_id = '$spiel_gast_spieler_1_id',"
+ . "\n gast_spieler_2_id = " . ($spieltyp[0] == "D" ? "'$spiel_gast_spieler_2_id'" : "NULL") . ","
+ . "\n teamspiel_heim_punkte = '$spiel_heim_punkte',"
+ . "\n teamspiel_gast_punkte = '$spiel_gast_punkte',"
+ . "\n teamspiel_heim_spielpunkte = '$spiel_heim_spielpunkte',"
+ . "\n teamspiel_gast_spielpunkte = '$spiel_gast_spielpunkte',"
+ . "\n ergebnis_detailliert = " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'")
+ . "\n WHERE teamspiel_id = $teamspiel_id";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ }
+
+ $spiel_nr++;
+ }
+
+ } while (isset($spieltypen[$spiel_nr - 1]) && ($skip_spiel || $spiel_heim_punkte != 0 || $spiel_gast_punkte != 0 || ($zwischenergebnis && $spieler_angegeben)));
+
+ $query = "DELETE FROM #__sportsmanager_teamspiel WHERE begegnung_id = $id AND teamspiel_nummer >= $spiel_nr;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+
+ if ($spiel_nr > 1) {
+ $query = "UPDATE #__sportsmanager_begegnung"
+ . "\n SET heim_punkte = '$total_heim_punkte',"
+ . "\n gast_punkte = '$total_gast_punkte',"
+ . "\n heim_spielpunkte = '$total_heim_spielpunkte',"
+ . "\n gast_spielpunkte = '$total_gast_spielpunkte'"
+ . "\n WHERE begegnung_id = $id";
+ } else {
+ $query = "UPDATE #__sportsmanager_begegnung"
+ . "\n SET heim_punkte = NULL,"
+ . "\n gast_punkte = NULL,"
+ . "\n heim_spielpunkte = NULL,"
+ . "\n gast_spielpunkte = NULL"
+ . "\n WHERE begegnung_id = $id";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+
+ // Benachrichtigung schreiben
+ $heim_team = null;
+ $gast_team = null;
+ $begegnung_alt = null;
+ if ($bestaetigen != 0) {
+ // Begegnung ermitteln
+ $query = "SELECT #__sportsmanager_begegnung.*, unbestaetigtes_ergebnis_id, zwischenergebnis"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id"
+ . "\n WHERE #__sportsmanager_begegnung.begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id!");
+ $begegnung_alt = $begegnung;
+ $begegnung = $rows[0];
+
+ // Heimteam ermitteln
+ $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ abortWithError("Wrong id!");
+ }
+ $heim_team = $rows[0];
+
+ // Gastteam ermitteln
+ $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ abortWithError("Wrong id!");
+ }
+ $gast_team = $rows[0];
+ }
+
+ if ($bestaetigen != 0 && !$zwischenergebnis) {
+ $mailfrom = $app->getCfg('mailfrom');
+ $fromname = $app->getCfg('fromname');
+ $subject = $heim_team->teamname . " vs. " . $gast_team->teamname . ": Ergebnis vorgeschlagen";
+ $body = "Zur Begegnung " . $heim_team->teamname . " gegen " . $gast_team->teamname . " am " . FormatiertesDatum($begegnung->zeitpunkt) . " in der " . $veranstaltung->bezeichnung . " wurde von " . ($vorschlagendes_team_id == $heim_team->team_id ? $heim_team->teamname : $gast_team->teamname) . " ein Ergebnis eingetragen.\n\nBestaetigen des Ergebnisses ueber " . SportsManagerURL('&task=admin_begegnung_spielplan_edit_bestaetigen&veranstaltungid=' . $veranstaltungId . '&id=' . $id, -1) . ".";
+
+ $query = "SELECT * FROM #__users AS t1, #__sportsmanager_berechtigt_fuer_team AS t2 WHERE t1.id = t2.berechtigt_user_id AND (t2.berechtigt_team_id = " . $begegnung->heim_team_id . " OR t2.berechtigt_team_id = " . $begegnung->gast_team_id . ")";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ $mailer = Factory::getContainer()->get(Mail::class);
+ foreach ($rows as $row) {
+ $mailer->sendMail($mailfrom, $fromname, $row->email, $subject, $body);
+ }
+ }
+
+ begegnungChanged($begegnung, $begegnung_alt, $modus, $heim_team, $gast_team, $spiele);
+
+ if ($bestaetigen == 0) {
+ if ($veranstaltung->status != 0) {
+ if ($veranstaltung->elo_wertung != 0) {
+ wannGespieltAktualisieren();
+ eloAktualisieren($aktualisieren_ab_datum);
+ einstufungAktualisieren();
+ }
+ }
+ spielerstatistikAktualisieren(0, $veranstaltungId);
+ teamstatistikAktualisieren($veranstaltungId);
+ }
+
+ if (isJson()) {
+ begegnungSpielplan();
+ } else {
+ if ($erneut_oeffnen) {
+ redirectSportsManagerURL('&task=' . ($bestaetigen != 0 ? ($bestaetigen == 1 ? 'admin_begegnung_spielplan_edit_bestaetigen' : 'pineingabe') : 'admin_begegnung_spielplan_edit') . '&id=' . $id . '&veranstaltungid=' . $veranstaltungId . ($bestaetigen != 0 ? '_bestaetigen' : '') . '&veranstaltungid=' . $veranstaltungId . '&id=' . $id . '&erneut_oeffnen=1' . (!empty($encrypted_pin) ? ('&epin=' . $encrypted_pin) : "") . ($aus_uebersicht ? '&aus_uebersicht=1' : ''));
+ } else if ($bestaetigen == 1) {
+ if ($aus_uebersicht)
+ redirectSportsManagerURL('#id' . $id);
+ else
+ redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungId . '#id' . $id);
+ } else if ($bestaetigen == 2) {
+ if ($aus_uebersicht)
+ redirectSportsManagerURL();
+ else
+ redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungId);
+ } else {
+ redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId . '#id' . $id);
+ }
+ }
+}
+
+#[NoReturn] function adminBegegnungSpielplanHeimtausch(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ $user_id = isExternalDatabase() ? 0 : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
+ $id = $jInput->get('id', 0, 'INT');
+ $bestaetigen = $jInput->get('bestaetigen', 0, 'INT');
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+ $aus_uebersicht = $jInput->get('aus_uebersicht', 0, 'INT');
+ $heim_team_id = $jInput->get('heim_team_id', 0, 'INT');
+ $gast_team_id = $jInput->get('gast_team_id', 0, 'INT');
+
+ $benutzer_ist_moderator = benutzerZugriff("mannschaftswettbewerb_aendern") || benutzerVeranstaltungModerator($veranstaltungId); // Abfrage muss vor LOCK erfolgen, da sonst die Abfrage mangels Lock auf Moderator-Tabelle scheitert
+
+ $query = "SELECT #__sportsmanager_begegnung.*, unbestaetigtes_ergebnis_id, zwischenergebnis,"
+ . " (SELECT COUNT(*) FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id) AS verlegen_aktionen"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id"
+ . "\n WHERE #__sportsmanager_begegnung.begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id!");
+ $begegnung = $rows[0];
+
+ $mannschaften_vertauscht = $begegnung->heim_team_id == $gast_team_id || $begegnung->gast_team_id == $heim_team_id;
+
+ // Veranstaltung ermitteln
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
+
+ // Sicherstellen, dass mindestens ein Team zu Veranstaltung gehört
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE team_id = $begegnung->heim_team_id AND veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
+ if (count($teams) < 1) die ("Wrong id!");
+
+ // Spielmodus ermitteln
+ $modus_id = $veranstaltung->modus_id;
+ $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $modus = $rows[0];
+
+ if ($bestaetigen == 1) {
+ if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0))
+ keinZugriff();
+
+ $query = "SELECT #__sportsmanager_berechtigt_fuer_team.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team, #__sportsmanager_begegnung WHERE begegnung_id = $id AND berechtigt_user_id = $user_id AND (berechtigt_team_id = heim_team_id OR berechtigt_team_id = gast_team_id)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 0)
+ keinZugriff();
+ } else if ($bestaetigen == 2) {
+ if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0))
+ keinZugriff();
+
+ $encrypted_pin = $db->escape($jInput->get('pin', '', 'RAW'));
+ $pin = decrypt($encrypted_pin, "a9cZ" . $veranstaltungId . "oDS7" . $id . "2eA");
+ if (empty($pin))
+ keinZugriff();
+
+ $query = "SELECT team_id FROM #__sportsmanager_begegnung LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id OR gast_team_id = team_id WHERE begegnung_id = $id AND (team_id = $begegnung->heim_team_id OR team_id = $begegnung->gast_team_id) AND NOT ISNULL(pin) AND pin = '$pin'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ if (count($rows) == 0)
+ keinZugriff();
+
+ } else {
+ if (!$benutzer_ist_moderator)
+ keinZugriff();
+ }
+
+ if (!$benutzer_ist_moderator && !$modus->heimtausch)
+ keinZugriff();
+
+ if (!$mannschaften_vertauscht) {
+
+ $query = "UPDATE #__sportsmanager_begegnung"
+ . "\n SET heim_team_id = (@temp_heim_team_id := heim_team_id), heim_team_id = gast_team_id,"
+ . "\n gast_team_id = @temp_heim_team_id,"
+ . "\n heim_punkte = (@temp_heim_punkte := heim_punkte), heim_punkte = gast_punkte,"
+ . "\n gast_punkte = @temp_heim_punkte,"
+ . "\n heim_spielpunkte = (@temp_heim_spielpunkte := heim_spielpunkte), heim_spielpunkte = gast_spielpunkte,"
+ . "\n gast_spielpunkte = @temp_heim_spielpunkte"
+ . "\n WHERE begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "UPDATE #__sportsmanager_teamspiel"
+ . "\n SET heim_spieler_1_id = (@temp_heim_spieler_1_id := heim_spieler_1_id), heim_spieler_1_id = gast_spieler_1_id,"
+ . "\n gast_spieler_1_id = @temp_heim_spieler_1_id,"
+ . "\n heim_spieler_2_id = (@temp_heim_spieler_2_id := heim_spieler_2_id), heim_spieler_2_id = gast_spieler_2_id,"
+ . "\n gast_spieler_2_id = @temp_heim_spieler_2_id,"
+ . "\n teamspiel_heim_punkte = (@temp_teamspiel_heim_punkte := teamspiel_heim_punkte), teamspiel_heim_punkte = teamspiel_gast_punkte,"
+ . "\n teamspiel_gast_punkte = @temp_teamspiel_heim_punkte,"
+ . "\n teamspiel_heim_spielpunkte = (@temp_teamspiel_heim_spielpunkte := teamspiel_heim_spielpunkte), teamspiel_heim_spielpunkte = teamspiel_gast_spielpunkte,"
+ . "\n teamspiel_gast_spielpunkte = @temp_teamspiel_heim_spielpunkte"
+ . "\n WHERE begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ redirectSportsManagerURL('&task=' . ($bestaetigen != 0 ? ($bestaetigen == 1 ? 'admin_begegnung_spielplan_edit_bestaetigen' : 'pineingabe') : 'admin_begegnung_spielplan_edit') . '&id=' . $id . '&veranstaltungid=' . $veranstaltungId . ($bestaetigen != 0 ? '_bestaetigen' : '') . '&veranstaltungid=' . $veranstaltungId . '&id=' . $id . '&erneut_oeffnen=1' . (!empty($encrypted_pin) ? ('&epin=' . $encrypted_pin) : "") . ($aus_uebersicht ? '&aus_uebersicht=1' : ''));
+}
+
+function adminBegegnungSpielplanBestaetigen(): void
+{
+ $app = Factory::getContainer()->get(SiteApplication::class);
+ $db = getDatabase();
+ $jInput = $app->input;
+
+ $user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id);
+ $id = $jInput->get('id', 0, 'INT');
+ $bestaetigen = $jInput->get('bestaetigen', 0, 'INT');
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
+ $aus_uebersicht = $jInput->get('aus_uebersicht', 0, 'INT');
+
+ // Begegnung ermitteln
+ $query = "SELECT #__sportsmanager_begegnung.*, unbestaetigtes_ergebnis_id, zwischenergebnis,"
+ . " (SELECT COUNT(*) FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id) AS verlegen_aktionen"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id"
+ . "\n WHERE #__sportsmanager_begegnung.begegnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ abortWithError("Wrong id!");
+ }
+ $begegnung = $rows[0];
+
+ $aktualisieren_ab_datum = !empty($begegnung->zeitpunkt) ? substr($begegnung->zeitpunkt, 0, 10) : null;
+
+ if ($bestaetigen == 2) {
+ $encrypted_pin = $db->escape($jInput->get('pin', '', 'RAW'));
+ $pin = decrypt($encrypted_pin, "a9cZ" . $veranstaltungId . "oDS7" . $id . "2eA");
+ if (empty($pin)) {
+ keinZugriff();
+ }
+ if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0)) {
+ keinZugriff();
+ }
+
+ $query = "SELECT t1.begegnung_id, t5.veranstaltung_id, IF(t2.pin = '$pin', heim_team_id, gast_team_id) AS aktion_team_id, IF(t2.pin = '$pin', gast_team_id, heim_team_id) AS anderes_team_id,"
+ . "\n IF(t4.vorschlagendes_team_id = IF(t2.pin = '$pin', gast_team_id, heim_team_id), 1, 0) AS berechtigt_fuer_team_akzeptieren"
+ . "\n FROM #__sportsmanager_begegnung AS t1"
+ . "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
+ . "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
+ . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
+ . "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
+ . "\n WHERE t5.status > 0 " . kategorieFilter("AND t5.kategorie IN") . " AND ((ISNULL(heim_punkte) AND ISNULL(gast_punkte)) OR zwischenergebnis OR NOT ISNULL(unbestaetigtes_ergebnis_id)) AND ((NOT ISNULL(t2.pin) AND t2.pin = '$pin') OR (NOT ISNULL(t3.pin) AND t3.pin = '$pin'))"
+ . "\n ORDER BY t1.zeitpunkt"
+ . "\n LIMIT 1";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ if (count($rows) == 0) {
+ keinZugriff();
+ }
+
+ if (!$rows[0]->berechtigt_fuer_team_akzeptieren) {
+ keinZugriff();
+ }
+
+ $aktion_team_id = $rows[0]->aktion_team_id;
+ } else {
+ if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0)) {
+ keinZugriff();
+ }
+
+ $query = "SELECT t1.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team AS t1, #__sportsmanager_begegnung AS t2 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis t3 ON t2.begegnung_id = t3.begegnung_id WHERE NOT t3.zwischenergebnis AND t2.begegnung_id = $id AND t1.berechtigt_user_id = $user_id AND ((t1.berechtigt_team_id = t2.heim_team_id AND t3.vorschlagendes_team_id = t2.gast_team_id) OR (t1.berechtigt_team_id = t2.gast_team_id AND t3.vorschlagendes_team_id = t2.heim_team_id))";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) == 0) {
+ keinZugriff();
+ }
+
+ $aktion_team_id = $rows[0]->berechtigt_team_id;
+ }
+
+ $query = "DELETE FROM #__sportsmanager_unbestaetigtes_ergebnis WHERE begegnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+
+ // Veranstaltung ermitteln
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ abortWithError("Wrong id!");
+ }
+ $veranstaltung = $rows[0];
+
+ $query = "INSERT INTO #__sportsmanager_begegnung_historie (begegnung_id, aktion, zeitpunkt, user_id, team_id, verantwortlich_team_id, kommentar, eingetragen)"
+ . "\n VALUES ($id, 7, NULL, " . ($bestaetigen != 2 ? "'$user_id'" : "NULL") . ", '$aktion_team_id', NULL, NULL, now());";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+
+ // Heimteam ermitteln
+ $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ abortWithError("Wrong id!");
+ }
+ $heim_team = $rows[0];
+
+ // Gastteam ermitteln
+ $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ abortWithError("Wrong id!");
+ }
+ $gast_team = $rows[0];
+
+ if ($veranstaltung->status != 0) {
+ if ($veranstaltung->elo_wertung != 0) {
+ wannGespieltAktualisieren();
+ eloAktualisieren($aktualisieren_ab_datum);
+ einstufungAktualisieren();
+ }
+ }
+ spielerstatistikAktualisieren(0, $veranstaltungId);
+ teamstatistikAktualisieren($veranstaltungId);
+
+ $mailfrom = $app->getCfg('mailfrom');
+ $fromname = $app->getCfg('fromname');
+ $subject = $heim_team->teamname . " vs. " . $gast_team->teamname . ": Ergebnis akzeptiert";
+ $body = "Zur Begegnung " . $heim_team->teamname . " gegen " . $gast_team->teamname . " am " . FormatiertesDatum($begegnung->zeitpunkt) . " in der " . $veranstaltung->bezeichnung . " wurde von " . ($aktion_team_id == $heim_team->team_id ? $heim_team->teamname : $gast_team->teamname) . " das Ergebnis akzeptiert.";
+
+ $query = "SELECT * FROM #__users AS t1, #__sportsmanager_berechtigt_fuer_team AS t2 WHERE t1.id = t2.berechtigt_user_id AND (t2.berechtigt_team_id = " . $begegnung->heim_team_id . " OR t2.berechtigt_team_id = " . $begegnung->gast_team_id . ")";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ $mailer = Factory::getContainer()->get(Mail::class);
+ foreach ($rows as $row) {
+ $mailer->sendMail($mailfrom, $fromname, $row->email, $subject, $body);
+ }
+
+ if (isJson()) {
+ begegnungSpielplan();
+ } else {
+ if ($aus_uebersicht) {
+ redirectSportsManagerURL('#id' . $id);
+ } else {
+ redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungId . '#id' . $id);
+ }
}
- }
- */
- if (isJson()) {
-// adminEditBegegnungSpielplan(0);
- begegnungSpielplan(false);
- } else {
- if ($aus_uebersicht) {
- redirectSportsManagerURL('#id' . $id);
- }
- else {
- redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungid . '#id' . $id);
- }
- }
}
/* Generiert Gruppenspiele zu einer beliebigen geraden Anzahl Teams
@@ -10673,1450 +10291,1409 @@ function adminBegegnungSpielplanBestaetigen() {
*
* (C) Sven Nickel 2006
*/
-function Gruppenspiele($anzahlteams) {
- if ($anzahlteams % 2 == 1) {
- die ("Gruppenspiele(): Eine ungerade Anzahl an Teams ist nicht zulässig!");
- exit;
- }
+function Gruppenspiele($anzahlteams)
+{
+ if ($anzahlteams % 2 == 1) {
+ die ("Gruppenspiele(): Eine ungerade Anzahl an Teams ist nicht zulässig!");
+ }
- $b = 1;
- for ($i = 1; $i < $anzahlteams; $i++) {
- for ($j = $i + 1; $j <= $anzahlteams; $j++) {
- $begegnungen[$b++] = array($i, $j);
- }
- }
+ $begegnungen = null;
+ $b = 1;
+ for ($i = 1; $i < $anzahlteams; $i++) {
+ for ($j = $i + 1; $j <= $anzahlteams; $j++) {
+ $begegnungen[$b++] = array($i, $j);
+ }
+ }
+ $spiele = [];
+ $rueckschritt = false;
+ for ($spieltag = 1; $spieltag < $anzahlteams;) {
+ for ($spielnr = 1; $spielnr <= $anzahlteams / 2;) {
+ // Nächste noch nicht eingetragene Begegnung ermitteln, in der
+ // keine Mannschaft am aktuellen Spieltag bereits spielt
+ for ($b = 1; $b <= ($anzahlteams - 1) * $anzahlteams / 2; $b++) {
+ if ($rueckschritt) {
+ if ($begegnungen[$b][0] != $spiele[$spieltag][$spielnr][0] ||
+ $begegnungen[$b][1] != $spiele[$spieltag][$spielnr][1])
+ continue;
+ $rueckschritt = false;
+ continue;
+ }
+ $nicht_zulaessig = false;
+ for ($i = 1; $i <= $spieltag && !$nicht_zulaessig; $i++) {
+ for ($j = 1; $j <= ($i != $spieltag ? $anzahlteams / 2 : $spielnr - 1); $j++) {
+ if (($spiele[$i][$j][0] == $begegnungen[$b][0] && $spiele[$i][$j][1] == $begegnungen[$b][1]) ||
+ ($spiele[$i][$j][0] == $begegnungen[$b][1] && $spiele[$i][$j][1] == $begegnungen[$b][0])) {
+ $nicht_zulaessig = true;
+ break;
+ }
+ if ($spielnr > 1 && $spieltag < $anzahlteams - 1) {
+ if (($spiele[$i][$j][0] == $spiele[$spieltag][$spielnr - 1][1] && $spiele[$i][$j][1] == $begegnungen[$b][0]) ||
+ ($spiele[$i][$j][0] == $begegnungen[$b][0] && $spiele[$i][$j][1] == $spiele[$spieltag][$spielnr - 1][1])) {
+ $nicht_zulaessig = true;
+ break;
+ }
+ if ($spielnr == $anzahlteams / 2) {
+ if (($spiele[$i][$j][0] == $begegnungen[$b][1] && $spiele[$i][$j][1] == $spiele[$spieltag][1][0]) ||
+ ($spiele[$i][$j][0] == $spiele[$spieltag][1][0] && $spiele[$i][$j][1] == $begegnungen[$b][1])) {
+ $nicht_zulaessig = true;
+ break;
+ }
+ }
+ }
+ if ($i == $spieltag)
+ if ($begegnungen[$b][0] == $spiele[$i][$j][0] ||
+ $begegnungen[$b][0] == $spiele[$i][$j][1] ||
+ $begegnungen[$b][1] == $spiele[$i][$j][0] ||
+ $begegnungen[$b][1] == $spiele[$i][$j][1]) {
+ $nicht_zulaessig = true;
+ break;
+ }
+ }
+ }
+ if (!$nicht_zulaessig)
+ break;
+ }
+ if ($b <= ($anzahlteams - 1) * $anzahlteams / 2) { // Begegnung gefunden
+ $spiele[$spieltag][$spielnr][0] = $begegnungen[$b][0];
+ $spiele[$spieltag][$spielnr][1] = $begegnungen[$b][1];
+ if ($spieltag < ($anzahlteams - 1)) {
+ $spiele[$spieltag + 1][$spielnr == 1 ? $anzahlteams / 2 : $spielnr - 1][1] = $begegnungen[$b][0];
+ $spiele[$spieltag + 1][$spielnr][0] = $begegnungen[$b][1];
+ }
+ $spielnr++;
+ } else { // Keine weitere Begegnung gefunden
+ // Rückschritt durchführen
+ if ($spielnr > 1) {
+ $spielnr--;
+ } else {
+ $spielnr = $anzahlteams / 2;
+ $spieltag -= 2;
+ }
+ $rueckschritt = true;
+ }
+ }
+ $spieltag += 2;
+ }
- $rueckschritt = false;
- for ($spieltag = 1; $spieltag < $anzahlteams;) {
- for ($spielnr = 1; $spielnr <= $anzahlteams / 2;) {
- // Nächste noch nicht eingetragene Begegnung ermitteln, in der
- // keine Mannschaft am aktuellen Spieltag bereits spielt
- for ($b = 1; $b <= ($anzahlteams - 1) * $anzahlteams / 2; $b++) {
- if ($rueckschritt) {
- if ($begegnungen[$b][0] != $spiele[$spieltag][$spielnr][0] ||
- $begegnungen[$b][1] != $spiele[$spieltag][$spielnr][1])
- continue;
- $rueckschritt = false;
- continue;
- }
- $nicht_zulaessig = false;
- for ($i = 1; $i <= $spieltag && !$nicht_zulaessig; $i++) {
- for ($j = 1; $j <= ($i != $spieltag ? $anzahlteams / 2 : $spielnr - 1) && !$nicht_zulaessig; $j++) {
- if (($spiele[$i][$j][0] == $begegnungen[$b][0] && $spiele[$i][$j][1] == $begegnungen[$b][1]) ||
- ($spiele[$i][$j][0] == $begegnungen[$b][1] && $spiele[$i][$j][1] == $begegnungen[$b][0])) {
- $nicht_zulaessig = true;
- break;
- }
- if ($spielnr > 1 && $spieltag < $anzahlteams - 1) {
- if (($spiele[$i][$j][0] == $spiele[$spieltag][$spielnr - 1][1] && $spiele[$i][$j][1] == $begegnungen[$b][0]) ||
- ($spiele[$i][$j][0] == $begegnungen[$b][0] && $spiele[$i][$j][1] == $spiele[$spieltag][$spielnr - 1][1])) {
- $nicht_zulaessig = true;
- break;
- }
- if ($spielnr == $anzahlteams / 2) {
- if (($spiele[$i][$j][0] == $begegnungen[$b][1] && $spiele[$i][$j][1] == $spiele[$spieltag][1][0]) ||
- ($spiele[$i][$j][0] == $spiele[$spieltag][1][0] && $spiele[$i][$j][1] == $begegnungen[$b][1])) {
- $nicht_zulaessig = true;
- break;
- }
- }
- }
- if ($i == $spieltag)
- if ($begegnungen[$b][0] == $spiele[$i][$j][0] ||
- $begegnungen[$b][0] == $spiele[$i][$j][1] ||
- $begegnungen[$b][1] == $spiele[$i][$j][0] ||
- $begegnungen[$b][1] == $spiele[$i][$j][1]) {
- $nicht_zulaessig = true;
- break;
- }
- }
- }
- if (!$nicht_zulaessig)
- break;
- }
- if ($b <= ($anzahlteams - 1) * $anzahlteams / 2) { // Begegnung gefunden
- $spiele[$spieltag][$spielnr][0] = $begegnungen[$b][0];
- $spiele[$spieltag][$spielnr][1] = $begegnungen[$b][1];
- if ($spieltag < ($anzahlteams - 1)) {
- $spiele[$spieltag + 1][$spielnr == 1 ? $anzahlteams / 2 : $spielnr - 1][1] = $begegnungen[$b][0];
- $spiele[$spieltag + 1][$spielnr][0] = $begegnungen[$b][1];
- }
- $spielnr++;
- }
- else { // Keine weitere Begegnung gefunden
- // Rückschritt durchführen
- if ($spielnr > 1) {
- $spielnr--;
- }
- else {
- $spielnr = $anzahlteams / 2;
- $spieltag -= 2;
- }
- $rueckschritt = true;
- }
- }
- $spieltag += 2;
- }
-
- return $spiele;
+ return $spiele;
}
-function adminBegegnungenGenerierenForm() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminBegegnungenGenerierenForm(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE veranstaltung_id = $veranstaltungid"
- . "\n ORDER BY teamname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY teamname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- HTML_sportsmanager_admin::adminBegegnungenGenerieren($veranstaltung, $rows);
+ HTML_sportsmanager_admin::adminBegegnungenGenerieren($veranstaltung, $rows);
}
-function adminBegegnungenGenerieren() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminBegegnungenGenerieren(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff();
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
+ }
- return;
- }
+ $anzahlteams = $jInput->get('anzahlteams', 0, 'INT');
+ if ($anzahlteams == 0) die("Wrong number of teams!");
- $anzahlteams = $jinput->get('anzahlteams', 0, 'INT');
- if ($anzahlteams == 0) die("Wrong number of teams!");
+ $query = "SELECT t1.*"
+ . "\n FROM #__sportsmanager_team AS t1"
+ . "\n WHERE veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY t1.teamname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
- $query = "SELECT t1.*"
- . "\n FROM #__sportsmanager_team AS t1"
- . "\n WHERE veranstaltung_id = $veranstaltungid"
- . "\n ORDER BY t1.teamname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
+ $teamIds = null;
+ for ($i = 1; $i <= $anzahlteams; $i++) {
+ $teamIds[$i] = $jInput->get('team_id_' . $i, 0, 'INT');
+ if ($teamIds[$i] == 0) die("Wrong id!");
+ }
- for ($i = 1; $i <= $anzahlteams; $i++) {
- $teamids[$i] = $jinput->get('team_id_' . $i, 0, 'INT');
- if ($teamids[$i] == 0) die("Wrong id!");
- }
+ $spieltage = $anzahlteams % 2 != 0 ? $anzahlteams : $anzahlteams - 1;
+ $spieltag_basis = array();
+ for ($i = 1; $i <= ($spieltage * 2); $i++) {
+ $jahr = $jInput->get('datum_jahr_' . $i, 0, 'INT');
+ $kw = $jInput->get('datum_kw_' . $i, 0, 'INT');
+ if ($jahr == 0 || $kw == 0) die("Wrong date!");
+ $spieltag_basis[$i] = array();
+ $spieltag_basis[$i]["jahr"] = $jahr;
+ $spieltag_basis[$i]["kw"] = $kw;
+ }
- $spieltage = $anzahlteams % 2 != 0 ? $anzahlteams : $anzahlteams - 1;
- $spieltag_basis = array();
- for ($i = 1; $i <= ($spieltage * 2); $i++) {
- $jahr = $jinput->get('datum_jahr_' . $i, 0, 'INT');
- $kw = $jinput->get('datum_kw_' . $i, 0, 'INT');
- if ($jahr == 0 || $kw == 0) die("Wrong date!");
- $spieltag_basis[$i] = array();
- $spieltag_basis[$i]["jahr"] = $jahr;
- $spieltag_basis[$i]["kw"] = $kw;
- }
+ $spiele = Gruppenspiele($anzahlteams % 2 != 0 ? $anzahlteams + 1 : $anzahlteams);
- $spiele = Gruppenspiele($anzahlteams % 2 != 0 ? $anzahlteams + 1 : $anzahlteams);
+ for ($spieltag = 1; $spieltag <= $spieltage; $spieltag++) {
+ for ($spielnr = 1; $spielnr <= ($anzahlteams % 2 != 0 ? $anzahlteams + 1 : $anzahlteams) / 2; $spielnr++) {
+ if ($spiele[$spieltag][$spielnr][0] > $anzahlteams || $spiele[$spieltag][$spielnr][1] > $anzahlteams)
+ continue;
- for ($spieltag = 1; $spieltag <= $spieltage; $spieltag++) {
- for ($spielnr = 1; $spielnr <= ($anzahlteams % 2 != 0 ? $anzahlteams + 1 : $anzahlteams) / 2; $spielnr++) {
- if ($spiele[$spieltag][$spielnr][0] > $anzahlteams || $spiele[$spieltag][$spielnr][1] > $anzahlteams)
- continue;
+ $heim_team_id = $teamIds[$spiele[$spieltag][$spielnr][0]];
+ $gast_team_id = $teamIds[$spiele[$spieltag][$spielnr][1]];
- $heim_team_id = $teamids[$spiele[$spieltag][$spielnr][0]];
- $gast_team_id = $teamids[$spiele[$spieltag][$spielnr][1]];
+ $heim_team = null;
+ foreach ($teams as $t) {
+ if ($t->team_id == $heim_team_id) {
+ $heim_team = $t;
+ break;
+ }
+ }
+ if ($heim_team == null) die("Team id not found!");
- $heim_team = null;
- foreach ($teams as $t) {
- if ($t->team_id == $heim_team_id) {
- $heim_team = $t;
- break;
- }
- }
- if ($heim_team == null) die("Team id not found!");
+ $gast_team = null;
+ foreach ($teams as $t) {
+ if ($t->team_id == $gast_team_id) {
+ $gast_team = $t;
+ break;
+ }
+ }
+ if ($gast_team == null) die("Team id not found!");
- $gast_team = null;
- foreach ($teams as $t) {
- if ($t->team_id == $gast_team_id) {
- $gast_team = $t;
- break;
- }
- }
- if ($gast_team == null) die("Team id not found!");
+ if ($heim_team->heimspiel_wochentag == 0)
+ $zeitpunkt = null;
+ else {
+ $ts = getdate(mondaykw($spieltag_basis[$spieltag]["kw"], $spieltag_basis[$spieltag]["jahr"], $heim_team->heimspiel_wochentag - 1));
+ $zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($heim_team->heimspiel_uhrzeit / 100), $heim_team->heimspiel_uhrzeit % 100);
+ }
- if ($heim_team->heimspiel_wochentag == 0)
- $zeitpunkt = null;
- else {
- $ts = getdate(mondaykw($spieltag_basis[$spieltag]["kw"], $spieltag_basis[$spieltag]["jahr"], $heim_team->heimspiel_wochentag - 1));
- $zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($heim_team->heimspiel_uhrzeit / 100), $heim_team->heimspiel_uhrzeit % 100);
- }
+ $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, heim_team_id, gast_team_id)"
+ . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", '$spieltag', '$heim_team_id', '$gast_team_id');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, heim_team_id, gast_team_id)"
- . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", '$spieltag', '$heim_team_id', '$gast_team_id');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $weiterer_spieltag = $spieltag + $spieltage;
+ if ($gast_team->heimspiel_wochentag == 0)
+ $zeitpunkt = null;
+ else {
+ $ts = getdate(mondaykw($spieltag_basis[$weiterer_spieltag]["kw"], $spieltag_basis[$weiterer_spieltag]["jahr"], $gast_team->heimspiel_wochentag - 1));
+ $zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($gast_team->heimspiel_uhrzeit / 100), $gast_team->heimspiel_uhrzeit % 100);
+ }
- $weiterer_spieltag = $spieltag + $spieltage;
- if ($gast_team->heimspiel_wochentag == 0)
- $zeitpunkt = null;
- else {
- $ts = getdate(mondaykw($spieltag_basis[$weiterer_spieltag]["kw"], $spieltag_basis[$weiterer_spieltag]["jahr"], $gast_team->heimspiel_wochentag - 1));
- $zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($gast_team->heimspiel_uhrzeit / 100), $gast_team->heimspiel_uhrzeit % 100);
- }
+ $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, heim_team_id, gast_team_id)"
+ . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", '$weiterer_spieltag', '$gast_team_id', '$heim_team_id');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, heim_team_id, gast_team_id)"
- . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", '$weiterer_spieltag', '$gast_team_id', '$heim_team_id');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
-
- redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid);
+ redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
}
-function adminBegegnungenRundeErzeugenForm() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminBegegnungenRundeErzeugenForm(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff(true);
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff(true);
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
- $query = "SELECT #__sportsmanager_begegnung.*"
- . "\n FROM #__sportsmanager_veranstaltung"
- . "\n INNER JOIN #__sportsmanager_team USING (veranstaltung_id)"
- . "\n INNER JOIN #__sportsmanager_begegnung ON team_id = heim_team_id"
- . "\n WHERE veranstaltung_id = $veranstaltungid"
- . "\n ORDER BY zeitpunkt DESC LIMIT 1";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- $row = count($rows) < 1 ? null : $row = $rows[0]; // Falls keine Begegnung als Vorlage verfügbar
+ $query = "SELECT #__sportsmanager_begegnung.*"
+ . "\n FROM #__sportsmanager_veranstaltung"
+ . "\n INNER JOIN #__sportsmanager_team USING (veranstaltung_id)"
+ . "\n INNER JOIN #__sportsmanager_begegnung ON team_id = heim_team_id"
+ . "\n WHERE veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY zeitpunkt DESC LIMIT 1";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ $row = count($rows) < 1 ? null : $rows[0]; // Falls keine Begegnung als Vorlage verfügbar
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE veranstaltung_id = $veranstaltungid"
- . "\n ORDER BY teamname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY teamname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_spielort"
- . "\n ORDER BY ortsname, name, ortsteil";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spielorte = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_spielort"
+ . "\n ORDER BY ortsname, name, ortsteil";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spielorte = $db->loadObjectList();
- HTML_sportsmanager_admin::adminBegegnungenRundeErzeugen($veranstaltung, $rows, $row, $spielorte);
+ HTML_sportsmanager_admin::adminBegegnungenRundeErzeugen($veranstaltung, $rows, $row, $spielorte);
}
-function adminBegegnungenRundeErzeugen() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminBegegnungenRundeErzeugen(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff();
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
+ }
- return;
- }
+ $anzahlteams = $jInput->get('anzahlteams', 0, 'INT');
+ if ($anzahlteams == 0) die("Wrong number of teams!");
+ $datum_jahr = null;
+ $zeitpunkt = null;
+ if ($jInput->get('datum_tag', 0, 'INT') >= 0) {
+ $datum = normalisiertesDatum($jInput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jInput->get('datum_jahr', 0, 'INT'), $jInput->get('datum_monat', 0, 'INT'), $jInput->get('datum_tag', 0, 'INT')));
+ $uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jInput->get('uhrzeit_stunden', 0, 'INT'), $jInput->get('uhrzeit_minuten', 0, 'INT')));
+ $zeitpunkt = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit);
+ $datum_kw = 0;
+ } else {
+ $datum_jahr = $jInput->get('datum_jahr', 0, 'INT');
+ $datum_kw = abs($jInput->get('datum_tag', 0, 'INT'));
+ }
+ $rundentyp = $jInput->get('rundentyp', -1, 'INT');
+ $runde = max(min(abs($jInput->get('runde', 1, 'INT')), $rundentyp == -2 ? 99 : 9999), 1);
+ $platzierung_ende = max(min(abs($jInput->get('platzierung_ende', 0, 'INT')), $runde + 99), 1);
- $anzahlteams = $jinput->get('anzahlteams', 0, 'INT');
- if ($anzahlteams == 0) die("Wrong number of teams!");
- if ($jinput->get('datum_tag', 0, 'INT') >= 0) {
- $datum = normalisiertesDatum($jinput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jinput->get('datum_jahr', 0, 'INT'), $jinput->get('datum_monat', 0, 'INT'), $jinput->get('datum_tag', 0, 'INT')));
- $uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jinput->get('uhrzeit_stunden', 0, 'INT'), $jinput->get('uhrzeit_minuten', 0, 'INT')));
- $zeitpunkt = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit);
- $datum_kw = 0;
- }
- else {
- $datum_jahr = $jinput->get('datum_jahr', 0, 'INT');
- $datum_kw = abs($jinput->get('datum_tag', 0, 'INT'));
- }
- $rundentyp = $jinput->get('rundentyp', -1, 'INT');
- $runde = max(min(abs($jinput->get('runde', 1, 'INT')), $rundentyp == -2 ? 99 : 9999), 1);
- $platzierung_ende = max(min(abs($jinput->get('platzierung_ende', 0, 'INT')), $runde + 99), 1);
+ if ($rundentyp >= 10000)
+ $runde = $rundentyp;
+ else if ($rundentyp == -2)
+ $runde = 20000 + ((99 - abs($platzierung_ende - $runde)) * 100) + 99 - min($runde, $platzierung_ende);
+ else if ($rundentyp == 0)
+ $runde = 0;
- if ($rundentyp >= 10000)
- $runde = $rundentyp;
- else if ($rundentyp == -2)
- $runde = 20000 + ((99 - abs($platzierung_ende - $runde)) * 100) + 99 - min($runde, $platzierung_ende);
- else if ($rundentyp == 0)
- $runde = 0;
+ $query = "SELECT t1.*"
+ . "\n FROM #__sportsmanager_team AS t1"
+ . "\n WHERE veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY t1.teamname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $teams = $db->loadObjectList();
- $query = "SELECT t1.*"
- . "\n FROM #__sportsmanager_team AS t1"
- . "\n WHERE veranstaltung_id = $veranstaltungid"
- . "\n ORDER BY t1.teamname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
+ $teamIds = [];
+ for ($i = 1; $i <= $anzahlteams; $i++)
+ $teamIds[$i] = $jInput->get('team_id_' . $i, 0, 'INT');
- for ($i = 1; $i <= $anzahlteams; $i++)
- $teamids[$i] = $jinput->get('team_id_' . $i, 0, 'INT');
+ $spielort_ids = array();
+ for ($i = 1; $i <= $anzahlteams; $i += 2)
+ $spielort_ids[$i] = $jInput->get('spielort_id_' . $i, 0, 'INT');
- $spielort_ids = array();
- for ($i = 1; $i <= $anzahlteams; $i += 2)
- $spielort_ids[$i] = $jinput->get('spielort_id_' . $i, 0, 'INT');
+ for ($teamNr = 1; $teamNr < $anzahlteams; $teamNr += 2) {
+ $heim_team_id = $teamIds[$teamNr];
+ $gast_team_id = $teamIds[$teamNr + 1];
- for ($teamnr = 1; $teamnr < $anzahlteams; $teamnr += 2) {
- $heim_team_id = $teamids[$teamnr];
- $gast_team_id = $teamids[$teamnr + 1];
+ if ($heim_team_id == 0 || $gast_team_id == 0)
+ continue;
- if ($heim_team_id == 0 || $gast_team_id == 0)
- continue;
+ $heim_team = null;
+ foreach ($teams as $t) {
+ if ($t->team_id == $heim_team_id) {
+ $heim_team = $t;
+ break;
+ }
+ }
+ if ($heim_team == null) die("Team id not found!");
- $heim_team = null;
- foreach ($teams as $t) {
- if ($t->team_id == $heim_team_id) {
- $heim_team = $t;
- break;
- }
- }
- if ($heim_team == null) die("Team id not found!");
+ $gast_team = null;
+ foreach ($teams as $t) {
+ if ($t->team_id == $gast_team_id) {
+ $gast_team = $t;
+ break;
+ }
+ }
+ if ($gast_team == null) die("Team id not found!");
- $gast_team = null;
- foreach ($teams as $t) {
- if ($t->team_id == $gast_team_id) {
- $gast_team = $t;
- break;
- }
- }
- if ($gast_team == null) die("Team id not found!");
+ if ($datum_kw != null && $heim_team->heimspiel_wochentag !== 0) {
+ $ts = getdate(mondaykw($datum_kw, $datum_jahr, $heim_team->heimspiel_wochentag - 1));
+ $zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($heim_team->heimspiel_uhrzeit / 100), $heim_team->heimspiel_uhrzeit % 100);
+ }
- if ($datum_kw != null) {
- if ($heim_team->heimspiel_wochentag == 0)
- $zeitpunkt = null;
- else {
- $ts = getdate(mondaykw($datum_kw, $datum_jahr, $heim_team->heimspiel_wochentag - 1));
- $zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($heim_team->heimspiel_uhrzeit / 100), $heim_team->heimspiel_uhrzeit % 100);
- }
- }
+ $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, heim_team_id, gast_team_id, spielort_id)"
+ . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", " . ($runde != null ? "'$runde'" : "NULL") . ", '$heim_team_id', '$gast_team_id', " . ($spielort_ids[$teamNr] != 0 ? "'$spielort_ids[$teamNr]'" : "NULL") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, heim_team_id, gast_team_id, spielort_id)"
- . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", " . ($runde != null ? "'$runde'" : "NULL") . ", '$heim_team_id', '$gast_team_id', " . ($spielort_ids[$teamnr] != 0 ? "'$spielort_ids[$teamnr]'" : "NULL") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid);
+ redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
}
-function adminBegegnungenAlleEntfernen() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminBegegnungenAlleEntfernen(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
- if ($veranstaltungid == 0) die("Missing id!");
+ $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
+ if ($veranstaltungId == 0) die("Missing id!");
- if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
- keinZugriff();
+ if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
+ keinZugriff();
- // Veranstaltung ermitteln
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $veranstaltung = $rows[0];
+ // Veranstaltung ermitteln
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
- $query = "SELECT MIN(DATE(zeitpunkt))"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id"
- . "\n WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $aktualisieren_ab_datum = $db->loadResult();
+ $query = "SELECT MIN(DATE(zeitpunkt))"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id"
+ . "\n WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $aktualisieren_ab_datum = $db->loadResult();
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_begegnung"
- . "\n LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id"
- . "\n WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id"
+ . "\n WHERE veranstaltung_id = $veranstaltungId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- foreach ($rows as $row) {
- $id = $row->begegnung_id;
+ foreach ($rows as $row) {
+ $id = $row->begegnung_id;
- $query = "DELETE FROM #__sportsmanager_begegnung_historie WHERE begegnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_begegnung_historie WHERE begegnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_unbestaetigtes_ergebnis WHERE begegnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_unbestaetigtes_ergebnis WHERE begegnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_teamspiel WHERE begegnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_teamspiel WHERE begegnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_begegnung WHERE begegnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $query = "DELETE FROM #__sportsmanager_begegnung WHERE begegnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- if ($veranstaltung->status != 0 && $veranstaltung->elo_wertung != 0) {
- wannGespieltAktualisieren();
- eloAktualisieren($aktualisieren_ab_datum);
- einstufungAktualisieren();
- }
+ if ($veranstaltung->status != 0 && $veranstaltung->elo_wertung != 0) {
+ wannGespieltAktualisieren();
+ eloAktualisieren($aktualisieren_ab_datum);
+ einstufungAktualisieren();
+ }
- redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid);
+ redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
}
-function adminEditTurnier() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditTurnier(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- if ($id == null)
- $row = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_turnier WHERE turnier_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
- }
- $vorlage = $jinput->get('vorlage', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
+ if ($id == null)
+ $row = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_turnier WHERE turnier_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
+ }
+ $vorlage = $jInput->get('vorlage', 0, 'INT');
- $query = "SELECT * FROM #__sportsmanager_veranstalter ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_veranstalter ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $saisons = $db->loadObjectList();
- if (empty($id)) {
- $berechtigt_fuer_turnier = array();
- }
- else {
- $query = "SELECT #__sportsmanager_berechtigt_fuer_turnier.* FROM #__sportsmanager_berechtigt_fuer_turnier, #__users WHERE berechtigt_user_id = id AND berechtigt_turnier_id = $id ORDER BY username, name";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $berechtigt_fuer_turnier = $db->loadObjectList();
- }
+ if (empty($id)) {
+ $berechtigt_fuer_turnier = array();
+ } else {
+ $query = "SELECT #__sportsmanager_berechtigt_fuer_turnier.* FROM #__sportsmanager_berechtigt_fuer_turnier, #__users WHERE berechtigt_user_id = id AND berechtigt_turnier_id = $id ORDER BY username, name";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $berechtigt_fuer_turnier = $db->loadObjectList();
+ }
- $query = "SELECT * FROM #__users ORDER BY name, username";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $users = $db->loadObjectList();
+ $query = "SELECT * FROM #__users ORDER BY name, username";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $users = $db->loadObjectList();
- $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 3 ORDER BY nummer";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows_kategorien = $db->loadObjectList();
+ $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 3 ORDER BY nummer";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows_kategorien = $db->loadObjectList();
- $kategorien = array();
- foreach ($rows_kategorien as $kategorie)
- $kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
+ $kategorien = array();
+ foreach ($rows_kategorien as $kategorie)
+ $kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
- HTML_sportsmanager_admin::adminEditTurnier($row, $veranstalter, $saisons, $vorlage, $users, $berechtigt_fuer_turnier, $kategorien);
+ HTML_sportsmanager_admin::adminEditTurnier($row, $veranstalter, $saisons, $vorlage, $users, $berechtigt_fuer_turnier, $kategorien);
}
-function adminSaveTurnier() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveTurnier(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("turniere_aendern"))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_uebersicht');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_uebersicht');
+ }
- return;
- }
+ $id = $jInput->get('id', 0, 'INT');
+ $veranstalterId = $jInput->get('veranstalterid', 0, 'INT');
+ $turnierbezeichnung = $db->escape(trim($jInput->get('turnierbezeichnung', '', 'RAW')));
+ $saison_id = $jInput->get('saison_id', 0, 'INT');
+ $turnierort = $db->escape(trim($jInput->get('turnierort', '', 'RAW')));
+ $erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('erster_tag_jahr', 2000, 'INT'), $jInput->get('erster_tag_monat', 1, 'INT'), $jInput->get('erster_tag_tag', 1, 'INT')));
+ $mehrtaegig = $jInput->get('mehrtaegig', 0, 'INT');
+ if (!$mehrtaegig)
+ $letzter_tag = $erster_tag;
+ else
+ $letzter_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('letzter_tag_jahr', 2000, 'INT'), $jInput->get('letzter_tag_monat', 1, 'INT'), $jInput->get('letzter_tag_tag', 1, 'INT')));
+ $kategorie = $jInput->get('kategorie', 0, 'INT');
+ $vorlage = $jInput->get('vorlage', 0, 'INT');
+ $berechtigt_fuer_turnier_user_ids = array();
+ for ($i = 1; $i <= 6; $i++) {
+ $berechtigt_user_id = $jInput->get('berechtigt_fuer_turnier_user_' . $i . '_id', 0, 'INT');
+ if (!empty($berechtigt_user_id) && !in_array($berechtigt_user_id, $berechtigt_fuer_turnier_user_ids))
+ $berechtigt_fuer_turnier_user_ids[] = $berechtigt_user_id;
+ }
- $id = $jinput->get('id', 0, 'INT');
- $veranstalterid = $jinput->get('veranstalterid', 0, 'INT');
- $turnierbezeichnung = $db->escape(trim($jinput->get('turnierbezeichnung', '', 'RAW')));
- $saison_id = $jinput->get('saison_id', 0, 'INT');
- $turnierort = $db->escape(trim($jinput->get('turnierort', '', 'RAW')));
- $erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jinput->get('erster_tag_jahr', 2000, 'INT'), $jinput->get('erster_tag_monat', 1, 'INT'), $jinput->get('erster_tag_tag', 1, 'INT')));
- $mehrtaegig = $jinput->get('mehrtaegig', 0, 'INT');
- if (!$mehrtaegig)
- $letzter_tag = $erster_tag;
- else
- $letzter_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jinput->get('letzter_tag_jahr', 2000, 'INT'), $jinput->get('letzter_tag_monat', 1, 'INT'), $jinput->get('letzter_tag_tag', 1, 'INT')));
- $kategorie = $jinput->get('kategorie', 0, 'INT');
- $vorlage = $jinput->get('vorlage', 0, 'INT');
- $berechtigt_fuer_turnier_user_ids = array();
- for ($i = 1; $i <= 6; $i++) {
- $berechtigt_user_id = $jinput->get('berechtigt_fuer_turnier_user_' . $i . '_id', 0, 'INT');
- if (!empty($berechtigt_user_id) && !in_array($berechtigt_user_id, $berechtigt_fuer_turnier_user_ids))
- array_push($berechtigt_fuer_turnier_user_ids, $berechtigt_user_id);
- }
+ if ($vorlage) {
+ $vorlage_id = $id;
+ $id = 0;
+ $query = "SELECT erster_tag FROM #__sportsmanager_turnier WHERE turnier_id = $vorlage_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $vorlage_erster_tag = $rows[0]->erster_tag;
+ }
- if ($vorlage) {
- $vorlage_id = $id;
- $id = 0;
- $query = "SELECT erster_tag FROM #__sportsmanager_turnier WHERE turnier_id = $vorlage_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $vorlage_erster_tag = $rows[0]->erster_tag;
- }
+ if ($id == 0) {
+ $query = "INSERT INTO #__sportsmanager_turnier (veranstalter_id, turnierbezeichnung, saison_id, turnierort, erster_tag" . ($letzter_tag != null ? ", letzter_tag" : "") . ", kategorie) VALUES ('$veranstalterId', '$turnierbezeichnung', '$saison_id', '$turnierort', '$erster_tag'" . ($letzter_tag != null ? ", '$letzter_tag'" : "") . ", '$kategorie');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $query = "UPDATE #__sportsmanager_turnier"
+ . "\n SET veranstalter_id = '$veranstalterId',"
+ . "\n turnierbezeichnung = '$turnierbezeichnung',"
+ . "\n saison_id = '$saison_id',"
+ . "\n turnierort = '$turnierort',"
+ . "\n erster_tag = '$erster_tag',"
+ . "\n letzter_tag = " . ($letzter_tag != null ? "'$letzter_tag'" : "NULL") . ","
+ . "\n kategorie = '$kategorie'"
+ . "\n WHERE turnier_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_turnier (veranstalter_id, turnierbezeichnung, saison_id, turnierort, erster_tag" . ($letzter_tag != null ? ", letzter_tag" : "") . ", kategorie) VALUES ('$veranstalterid', '$turnierbezeichnung', '$saison_id', '$turnierort', '$erster_tag'" . ($letzter_tag != null ? ", '$letzter_tag'" : "") . ", '$kategorie');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $query = "UPDATE #__sportsmanager_turnier"
- . "\n SET veranstalter_id = '$veranstalterid',"
- . "\n turnierbezeichnung = '$turnierbezeichnung',"
- . "\n saison_id = '$saison_id',"
- . "\n turnierort = '$turnierort',"
- . "\n erster_tag = '$erster_tag',"
- . "\n letzter_tag = " . ($letzter_tag != null ? "'$letzter_tag'" : "NULL") . ","
- . "\n kategorie = '$kategorie'"
- . "\n WHERE turnier_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_turnier WHERE berechtigt_turnier_id = $id";
+ if (!empty($berechtigt_fuer_turnier_user_ids))
+ $query .= " AND berechtigt_user_id NOT IN (" . implode(",", $berechtigt_fuer_turnier_user_ids) . ")";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_turnier WHERE berechtigt_turnier_id = $id";
- if (!empty($berechtigt_fuer_turnier_user_ids))
- $query .= " AND berechtigt_user_id NOT IN (" . implode(",",$berechtigt_fuer_turnier_user_ids) . ")";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_turnier WHERE berechtigt_turnier_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_turnier WHERE berechtigt_turnier_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ foreach ($rows as $row) {
+ $index = array_search($row->berechtigt_user_id, $berechtigt_fuer_turnier_user_ids);
+ if ($index !== false) {
+ unset($berechtigt_fuer_turnier_user_ids[$index]);
+ }
+ }
- foreach ($rows as $row) {
- $index = array_search($row->berechtigt_user_id, $berechtigt_fuer_turnier_user_ids);
- if ($index !== false) {
- unset($berechtigt_fuer_turnier_user_ids[$index]);
- }
- }
+ foreach ($berechtigt_fuer_turnier_user_ids as $berechtigt_user_id) {
+ $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_turnier (berechtigt_user_id, berechtigt_turnier_id) VALUES ('$berechtigt_user_id', '$id');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- foreach ($berechtigt_fuer_turnier_user_ids as $berechtigt_user_id) {
- $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_turnier (berechtigt_user_id, berechtigt_turnier_id) VALUES ('$berechtigt_user_id', '$id');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ if ($vorlage) {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_turnierdisziplin"
+ . "\n WHERE turnier_id = $vorlage_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $disziplinen = $db->loadObjectList();
- if ($vorlage) {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_turnierdisziplin"
- . "\n WHERE turnier_id = $vorlage_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $disziplinen = $db->loadObjectList();
+ foreach ($disziplinen as $disziplin) {
+ $ts = getdate(strtotime($erster_tag) - strtotime($vorlage_erster_tag) + strtotime($disziplin->beginn));
+ $neuer_beginn = $disziplin->beginn == null ? null : sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], $ts["hours"], $ts["minutes"]);
- foreach ($disziplinen as $disziplin) {
- $ts = getdate(strtotime($erster_tag) - strtotime($vorlage_erster_tag) + strtotime($disziplin->beginn));
- $neuer_beginn = $disziplin->beginn == null ? null : sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], $ts["hours"], $ts["minutes"]);
+ $query = "INSERT INTO #__sportsmanager_turnierdisziplin (turnier_id, disziplin, kuerzel, beginn, typ, elo_wertung, voranmeldung, voranmeldungen_rangliste_id, voranmeldungen_reihenfolge, reihenfolge, status)"
+ . "\n VALUES ('$id', '" . $db->escape($disziplin->disziplin) . "', '" . $db->escape($disziplin->kuerzel) . "', " . ($neuer_beginn == null ? "NULL" : "'$neuer_beginn'") . ", '$disziplin->typ', '$disziplin->elo_wertung', " . ($disziplin->voranmeldung == null ? "NULL" : ("'" . $disziplin->voranmeldung . "'")) . ", " . ($disziplin->voranmeldungen_rangliste_id == 0 ? "NULL" : ("'" . $disziplin->voranmeldungen_rangliste_id . "'")) . ", '$disziplin->voranmeldungen_reihenfolge', '$disziplin->reihenfolge', '$disziplin->status');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $disziplin_id = $db->insertid();
- $query = "INSERT INTO #__sportsmanager_turnierdisziplin (turnier_id, disziplin, kuerzel, beginn, typ, elo_wertung, voranmeldung, voranmeldungen_rangliste_id, voranmeldungen_reihenfolge, reihenfolge, status)"
- . "\n VALUES ('$id', '" . $db->escape($disziplin->disziplin) . "', '" . $db->escape($disziplin->kuerzel) . "', " . ($neuer_beginn == null ? "NULL" : "'$neuer_beginn'") . ", '$disziplin->typ', '$disziplin->elo_wertung', " . ($disziplin->voranmeldung == null ? "NULL" : ("'" . $disziplin->voranmeldung . "'")) . ", " . ($disziplin->voranmeldungen_rangliste_id == 0 ? "NULL" : ("'" . $disziplin->voranmeldungen_rangliste_id . "'")) . ", '$disziplin->voranmeldungen_reihenfolge', '$disziplin->reihenfolge', '$disziplin->status');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $disziplin_id = $db->insertid();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
+ . "\n WHERE turnierdisziplin_id = $disziplin->turnierdisziplin_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ranglisten = $db->loadObjectList();
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
- . "\n WHERE turnierdisziplin_id = $disziplin->turnierdisziplin_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ranglisten = $db->loadObjectList();
+ foreach ($ranglisten as $rangliste) {
+ $query = "INSERT INTO #__sportsmanager_rangliste_turnierdisziplin (rangliste_id, turnierdisziplin_id, system_id, wertung, doppel_teilwertung) VALUES ('$rangliste->rangliste_id', '$disziplin_id', " . ($rangliste->system_id != null ? "'$rangliste->system_id'" : "NULL") . ", '" . $db->escape($rangliste->wertung) . "', '" . $db->escape($rangliste->doppel_teilwertung) . "');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
- foreach ($ranglisten as $rangliste) {
- $query = "INSERT INTO #__sportsmanager_rangliste_turnierdisziplin (rangliste_id, turnierdisziplin_id, system_id, wertung, doppel_teilwertung) VALUES ('$rangliste->rangliste_id', '$disziplin_id', " . ($rangliste->system_id != null ? "'$rangliste->system_id'" : "NULL") . ", '" . $db->escape($rangliste->wertung) . "', '" . $db->escape($rangliste->doppel_teilwertung) . "');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
-
- redirectSportsManagerURL('&task=admin_uebersicht');
+ redirectSportsManagerURL('&task=admin_uebersicht');
}
-function adminRemoveTurnier() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveTurnier(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnier_id = $id AND elo_wertung > 0), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $elo_aktualisieren = $db->loadResult();
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnier_id = $id AND elo_wertung > 0), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $elo_aktualisieren = $db->loadResult();
- $query = "SELECT MIN(DATE(beginn))"
- . "\n FROM #__sportsmanager_turnierdisziplin"
- . "\n WHERE turnier_id = $id AND elo_wertung > 0";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $aktualisieren_ab_datum = $db->loadResult();
+ $query = "SELECT MIN(DATE(beginn))"
+ . "\n FROM #__sportsmanager_turnierdisziplin"
+ . "\n WHERE turnier_id = $id AND elo_wertung > 0";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $aktualisieren_ab_datum = $db->loadResult();
- $query = "DELETE #__sportsmanager_turnierspiel FROM #__sportsmanager_turnierspiel, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_turnierspiel.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turnierspiel FROM #__sportsmanager_turnierspiel, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_turnierspiel.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_turniermeldung_spieler FROM #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turniermeldung_spieler FROM #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_turniermeldung FROM #__sportsmanager_turniermeldung, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turniermeldung FROM #__sportsmanager_turniermeldung, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_rangliste_turnierdisziplin FROM #__sportsmanager_rangliste_turnierdisziplin, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_rangliste_turnierdisziplin.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_rangliste_turnierdisziplin FROM #__sportsmanager_rangliste_turnierdisziplin, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_rangliste_turnierdisziplin.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_turnier_rundenstufe FROM #__sportsmanager_turnier_rundenstufe, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_turnier_rundenstufe.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turnier_rundenstufe FROM #__sportsmanager_turnier_rundenstufe, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_turnier_rundenstufe.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_turnierdisziplin WHERE turnier_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turnierdisziplin WHERE turnier_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_turnier WHERE berechtigt_turnier_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_turnier WHERE berechtigt_turnier_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_turnier WHERE turnier_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turnier WHERE turnier_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- if ($elo_aktualisieren) {
+ if ($elo_aktualisieren) {
wannGespieltAktualisieren();
eloAktualisieren($aktualisieren_ab_datum);
}
- ranglisteAktualisieren();
- einstufungAktualisieren();
+ ranglisteAktualisieren();
+ einstufungAktualisieren();
- redirectSportsManagerURL('&task=admin_uebersicht');
+ redirectSportsManagerURL('&task=admin_uebersicht');
}
-function adminTurnierdisziplinen() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminTurnierdisziplinen(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $turnierid = $jinput->get('turnierid', 0, 'INT');
- if ($turnierid == 0) die("Missing id!");
+ $turnierid = $jInput->get('turnierid', 0, 'INT');
+ if ($turnierid == 0) die("Missing id!");
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierid))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierid))
+ keinZugriff(true);
- $beschraenkter_zugriff_turniere = benutzerZugriff("turniere_aendern") ? 0 : 1;
+ $beschraenkter_zugriff_turniere = benutzerZugriff("turniere_aendern") ? 0 : 1;
- $query = "SELECT * FROM #__sportsmanager_turnier WHERE turnier_id = $turnierid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $turnier = $rows[0];
+ $query = "SELECT * FROM #__sportsmanager_turnier WHERE turnier_id = $turnierid";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $turnier = $rows[0];
- $query = "SELECT t1.*,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_turniermeldung AS t2 WHERE t1.turnierdisziplin_id = t2.turnierdisziplin_id AND rundenstufe = 20) AS voranmeldungen,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_turniermeldung AS t2 WHERE t1.turnierdisziplin_id = t2.turnierdisziplin_id AND rundenstufe = 0) AS meldungen,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_turnierspiel AS t2 WHERE t1.turnierdisziplin_id = t2.turnierdisziplin_id) AS spiele"
- . "\n FROM #__sportsmanager_turnierdisziplin AS t1"
- . "\n WHERE turnier_id = $turnierid"
- . "\n ORDER BY reihenfolge, disziplin, beginn";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "SELECT t1.*,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_turniermeldung AS t2 WHERE t1.turnierdisziplin_id = t2.turnierdisziplin_id AND rundenstufe = 20) AS voranmeldungen,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_turniermeldung AS t2 WHERE t1.turnierdisziplin_id = t2.turnierdisziplin_id AND rundenstufe = 0) AS meldungen,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_turnierspiel AS t2 WHERE t1.turnierdisziplin_id = t2.turnierdisziplin_id) AS spiele"
+ . "\n FROM #__sportsmanager_turnierdisziplin AS t1"
+ . "\n WHERE turnier_id = $turnierid"
+ . "\n ORDER BY reihenfolge, disziplin, beginn";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- HTML_sportsmanager_admin::adminTurnierdisziplinen($turnier, $rows, $beschraenkter_zugriff_turniere);
+ HTML_sportsmanager_admin::adminTurnierdisziplinen($turnier, $rows, $beschraenkter_zugriff_turniere);
}
-function adminEditTurnierdisziplin() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditTurnierdisziplin(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- $turnierid = $jinput->get('turnierid', 0, 'INT');
- if ($turnierid == 0) die("Missing id!");
+ $id = $jInput->get('id', 0, 'INT');
+ $turnierid = $jInput->get('turnierid', 0, 'INT');
+ if ($turnierid == 0) die("Missing id!");
- if ($id == null)
- $row = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
- }
+ if ($id == null)
+ $row = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
+ }
- $query = "SELECT * FROM #__sportsmanager_turnier WHERE turnier_id = $turnierid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $turnier = $rows[0];
+ $query = "SELECT * FROM #__sportsmanager_turnier WHERE turnier_id = $turnierid";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $turnier = $rows[0];
- // Ranglisten ermitteln
- if ($id == 0) {
- $query = "SELECT #__sportsmanager_rangliste.rangliste_id, bezeichnung, saisonbezeichnung"
- . "\n FROM #__sportsmanager_rangliste"
- . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
- }
- else {
- $query = "SELECT DISTINCT #__sportsmanager_rangliste.rangliste_id, turnierdisziplin_id, ranglisten.system_id, wertung, doppel_teilwertung, bezeichnung, saisonbezeichnung"
- . "\n FROM #__sportsmanager_rangliste"
- . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n LEFT JOIN (SELECT rangliste_id, turnierdisziplin_id, system_id, wertung, doppel_teilwertung FROM #__sportsmanager_rangliste_turnierdisziplin WHERE turnierdisziplin_id = $id) AS ranglisten USING (rangliste_id)"
- . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ranglisten = $db->loadObjectList();
+ // Ranglisten ermitteln
+ if ($id == 0) {
+ $query = "SELECT #__sportsmanager_rangliste.rangliste_id, bezeichnung, saisonbezeichnung"
+ . "\n FROM #__sportsmanager_rangliste"
+ . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
+ . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
+ } else {
+ $query = "SELECT DISTINCT #__sportsmanager_rangliste.rangliste_id, turnierdisziplin_id, ranglisten.system_id, wertung, doppel_teilwertung, bezeichnung, saisonbezeichnung"
+ . "\n FROM #__sportsmanager_rangliste"
+ . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
+ . "\n LEFT JOIN (SELECT rangliste_id, turnierdisziplin_id, system_id, wertung, doppel_teilwertung FROM #__sportsmanager_rangliste_turnierdisziplin WHERE turnierdisziplin_id = $id) AS ranglisten USING (rangliste_id)"
+ . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ranglisten = $db->loadObjectList();
- if ($id == 0) {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_rangliste_system"
- . "\n WHERE status != 0"
- . "\n ORDER BY systembezeichnung";
- }
- else {
- $query = "SELECT DISTINCT rangliste_system_id, #__sportsmanager_rangliste_system.*"
- . "\n FROM #__sportsmanager_rangliste_system"
- . "\n LEFT JOIN #__sportsmanager_rangliste_turnierdisziplin ON turnierdisziplin_id = $id AND system_id = rangliste_system_id"
- . "\n WHERE status != 0 OR NOT ISNULL(turnierdisziplin_id)"
- . "\n ORDER BY systembezeichnung";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $systeme = $db->loadObjectList();
+ if ($id == 0) {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_rangliste_system"
+ . "\n WHERE status != 0"
+ . "\n ORDER BY systembezeichnung";
+ } else {
+ $query = "SELECT DISTINCT rangliste_system_id, #__sportsmanager_rangliste_system.*"
+ . "\n FROM #__sportsmanager_rangliste_system"
+ . "\n LEFT JOIN #__sportsmanager_rangliste_turnierdisziplin ON turnierdisziplin_id = $id AND system_id = rangliste_system_id"
+ . "\n WHERE status != 0 OR NOT ISNULL(turnierdisziplin_id)"
+ . "\n ORDER BY systembezeichnung";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $systeme = $db->loadObjectList();
- HTML_sportsmanager_admin::adminEditTurnierdisziplin($turnier, $row, $ranglisten, $systeme);
+ HTML_sportsmanager_admin::adminEditTurnierdisziplin($turnier, $row, $ranglisten, $systeme);
}
-function adminSaveTurnierdisziplin() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveTurnierdisziplin(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("turniere_aendern"))
+ keinZugriff();
- $id = $jinput->get('id', 0, 'INT');
- $turnierid = $jinput->get('turnierid', 0, 'INT');
- if ($turnierid == 0) die("Missing id!");
- $disziplin = $db->escape(trim($jinput->get('disziplin', '', 'RAW')));
- $kuerzel = $db->escape(trim($jinput->get('kuerzel', '', 'RAW')));
- $datum = normalisiertesDatum($jinput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jinput->get('datum_jahr', 0, 'INT'), $jinput->get('datum_monat', 0, 'INT'), $jinput->get('datum_tag', 0, 'INT')));
- $uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jinput->get('uhrzeit_stunden', 0, 'INT'), $jinput->get('uhrzeit_minuten', 0, 'INT')));
- $beginn = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit);
- $reihenfolge = $jinput->get('reihenfolge', 0, 'INT');
- $aktualisieren_ab_datum = $datum;
+ $id = $jInput->get('id', 0, 'INT');
+ $turnierId = $jInput->get('turnierid', 0, 'INT');
+ if ($turnierId == 0) die("Missing id!");
+ $disziplin = $db->escape(trim($jInput->get('disziplin', '', 'RAW')));
+ $kuerzel = $db->escape(trim($jInput->get('kuerzel', '', 'RAW')));
+ $datum = normalisiertesDatum($jInput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jInput->get('datum_jahr', 0, 'INT'), $jInput->get('datum_monat', 0, 'INT'), $jInput->get('datum_tag', 0, 'INT')));
+ $uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jInput->get('uhrzeit_stunden', 0, 'INT'), $jInput->get('uhrzeit_minuten', 0, 'INT')));
+ $beginn = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit);
+ $reihenfolge = $jInput->get('reihenfolge', 0, 'INT');
+ $aktualisieren_ab_datum = $datum;
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_turnierdisziplinen&turnierid=' . $turnierid);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplinen&turnierid=' . $turnierId);
+ }
- return;
- }
+ $typ = $jInput->get('typ', 0, 'INT');
+ $elo_wertung = $jInput->get('elo_wertung', 0, 'INT');
+ $voranmeldung_datum = normalisiertesDatum($jInput->get('voranmeldung_datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jInput->get('voranmeldung_datum_jahr', 0, 'INT'), $jInput->get('voranmeldung_datum_monat', 0, 'INT'), $jInput->get('voranmeldung_datum_tag', 0, 'INT')));
+ $voranmeldung_uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jInput->get('voranmeldung_uhrzeit_stunden', 0, 'INT'), $jInput->get('voranmeldung_uhrzeit_minuten', 0, 'INT')));
+ $voranmeldung = $voranmeldung_datum == null || $voranmeldung_uhrzeit == null ? null : ($voranmeldung_datum . " " . $voranmeldung_uhrzeit);
+ $status = $jInput->get('status', 0, 'INT');
+ $voranmeldungen_rangliste_id = $jInput->get('voranmeldungen_rangliste_id', 0, 'INT');
+ $voranmeldungen_reihenfolge = $jInput->get('voranmeldungen_reihenfolge', 0, 'INT');
- $typ = $jinput->get('typ', 0, 'INT');
- $elo_wertung = $jinput->get('elo_wertung', 0, 'INT');
- $voranmeldung_datum = normalisiertesDatum($jinput->get('voranmeldung_datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jinput->get('voranmeldung_datum_jahr', 0, 'INT'), $jinput->get('voranmeldung_datum_monat', 0, 'INT'), $jinput->get('voranmeldung_datum_tag', 0, 'INT')));
- $voranmeldung_uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jinput->get('voranmeldung_uhrzeit_stunden', 0, 'INT'), $jinput->get('voranmeldung_uhrzeit_minuten', 0, 'INT')));
- $voranmeldung = $voranmeldung_datum == null || $voranmeldung_uhrzeit == null ? null : ($voranmeldung_datum . " " . $voranmeldung_uhrzeit);
- $status = $jinput->get('status', 0, 'INT');
- $voranmeldungen_rangliste_id = $jinput->get('voranmeldungen_rangliste_id', 0, 'INT');
- $voranmeldungen_reihenfolge = $jinput->get('voranmeldungen_reihenfolge', 0, 'INT');
+ $i = 0;
+ $rangliste_id = $jInput->get('rangliste_id_' . $i, 0, 'INT');
+ $rangliste_system_id = $jInput->get('rangliste_system_id_' . $i, 0, 'INT');
+ $rangliste_wertung = $jInput->get('rangliste_wertung_' . $i, 0, 'RAW');
+ $rangliste_doppel_teilwertung = $jInput->get('doppel_teilwertung_' . $i, 0, 'RAW');
+ $ranglisten_beruecksichtigt = array();
+ $ranglisten_beruecksichtigt_system_id = array();
+ $ranglisten_beruecksichtigt_wertung = array();
+ $ranglisten_beruecksichtigt_doppel_teilwertung = array();
+ while ($rangliste_id != 0 && !in_array($rangliste_id, $ranglisten_beruecksichtigt)) {
+ $ranglisten_beruecksichtigt[] = $rangliste_id;
+ $ranglisten_beruecksichtigt_system_id[] = $rangliste_system_id;
+ $ranglisten_beruecksichtigt_wertung[] = $rangliste_wertung;
+ $ranglisten_beruecksichtigt_doppel_teilwertung[] = $rangliste_doppel_teilwertung;
+ $i++;
+ $rangliste_id = $jInput->get('rangliste_id_' . $i, 0, 'INT');
+ $rangliste_system_id = $jInput->get('rangliste_system_id_' . $i, 0, 'INT');
+ $rangliste_wertung = $jInput->get('rangliste_wertung_' . $i, 0, 'RAW');
+ $rangliste_doppel_teilwertung = $jInput->get('doppel_teilwertung_' . $i, 0, 'RAW');
+ }
- $i = 0;
- $rangliste_id = $jinput->get('rangliste_id_' . $i, 0, 'INT');
- $rangliste_system_id = $jinput->get('rangliste_system_id_' . $i, 0, 'INT');
- $rangliste_wertung = $jinput->get('rangliste_wertung_' . $i, 0, 'RAW');
- $rangliste_doppel_teilwertung = $jinput->get('doppel_teilwertung_' . $i, 0, 'RAW');
- $ranglisten_beruecksichtigt = array();
- $ranglisten_beruecksichtigt_system_id = array();
- $ranglisten_beruecksichtigt_wertung = array();
- $ranglisten_beruecksichtigt_doppel_teilwertung = array();
- while ($rangliste_id != 0 && !in_array($rangliste_id, $ranglisten_beruecksichtigt)) {
- array_push($ranglisten_beruecksichtigt, $rangliste_id);
- array_push($ranglisten_beruecksichtigt_system_id, $rangliste_system_id);
- array_push($ranglisten_beruecksichtigt_wertung, $rangliste_wertung);
- array_push($ranglisten_beruecksichtigt_doppel_teilwertung, $rangliste_doppel_teilwertung);
- $i++;
- $rangliste_id = $jinput->get('rangliste_id_' . $i, 0, 'INT');
- $rangliste_system_id = $jinput->get('rangliste_system_id_' . $i, 0, 'INT');
- $rangliste_wertung = $jinput->get('rangliste_wertung_' . $i, 0, 'RAW');
- $rangliste_doppel_teilwertung = $jinput->get('doppel_teilwertung_' . $i, 0, 'RAW');
- }
+ $elo_aktualisieren = false;
+ if ($id == 0) {
+ $aktualisieren = false;
+ $query = "INSERT INTO #__sportsmanager_turnierdisziplin (turnier_id, disziplin, kuerzel, beginn, typ, elo_wertung, voranmeldung, voranmeldungen_rangliste_id, voranmeldungen_reihenfolge, reihenfolge, status)"
+ . "\n VALUES ('$turnierId', '$disziplin', '$kuerzel', '$beginn', '$typ', '$elo_wertung', " . ($voranmeldung == null ? "NULL" : ("'" . $voranmeldung . "'")) . ", " . ($voranmeldungen_rangliste_id == 0 ? "NULL" : ("'" . $voranmeldungen_rangliste_id . "'")) . ", '$voranmeldungen_reihenfolge', '$reihenfolge', '$status');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $aktualisieren = true;
+ $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
- if ($id == 0) {
- $aktualisieren = false;
- $query = "INSERT INTO #__sportsmanager_turnierdisziplin (turnier_id, disziplin, kuerzel, beginn, typ, elo_wertung, voranmeldung, voranmeldungen_rangliste_id, voranmeldungen_reihenfolge, reihenfolge, status)"
- . "\n VALUES ('$turnierid', '$disziplin', '$kuerzel', '$beginn', '$typ', '$elo_wertung', " . ($voranmeldung == null ? "NULL" : ("'" . $voranmeldung . "'")) . ", " . ($voranmeldungen_rangliste_id == 0 ? "NULL" : ("'" . $voranmeldungen_rangliste_id . "'")) . ", '$voranmeldungen_reihenfolge', '$reihenfolge', '$status');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $aktualisieren = true;
- $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
+ $elo_aktualisieren = $row->elo_wertung || $elo_wertung;
- $elo_aktualisieren = $row->elo_wertung || $elo_wertung;
+ if ($row->typ != $typ) {
+ $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- if ($row->typ != $typ) {
- $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turniermeldung_spieler FROM #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_turniermeldung_spieler FROM #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $query = "UPDATE #__sportsmanager_turnierdisziplin"
+ . "\n SET turnier_id = '$turnierId',"
+ . "\n disziplin = '$disziplin',"
+ . "\n kuerzel = '$kuerzel',"
+ . "\n beginn = " . ($beginn == null ? "NULL" : ("'" . $beginn . "'")) . ","
+ . "\n typ = '$typ',"
+ . "\n elo_wertung = '$elo_wertung',"
+ . "\n voranmeldung = " . ($voranmeldung == null ? "NULL" : ("'" . $voranmeldung . "'")) . ","
+ . "\n voranmeldungen_rangliste_id = " . ($voranmeldungen_rangliste_id == 0 ? "NULL" : ("'" . $voranmeldungen_rangliste_id . "'")) . ","
+ . "\n voranmeldungen_reihenfolge = '$voranmeldungen_reihenfolge',"
+ . "\n reihenfolge = '$reihenfolge',"
+ . "\n status = '$status'"
+ . "\n WHERE turnierdisziplin_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "UPDATE #__sportsmanager_turnierdisziplin"
- . "\n SET turnier_id = '$turnierid',"
- . "\n disziplin = '$disziplin',"
- . "\n kuerzel = '$kuerzel',"
- . "\n beginn = " . ($beginn == null ? "NULL" : ("'" . $beginn . "'")) . ","
- . "\n typ = '$typ',"
- . "\n elo_wertung = '$elo_wertung',"
- . "\n voranmeldung = " . ($voranmeldung == null ? "NULL" : ("'" . $voranmeldung . "'")) . ","
- . "\n voranmeldungen_rangliste_id = " . ($voranmeldungen_rangliste_id == 0 ? "NULL" : ("'" . $voranmeldungen_rangliste_id . "'")) . ","
- . "\n voranmeldungen_reihenfolge = '$voranmeldungen_reihenfolge',"
- . "\n reihenfolge = '$reihenfolge',"
- . "\n status = '$status'"
- . "\n WHERE turnierdisziplin_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ // Berücksichtige Ranglisten prüfen und ggf. aktualisieren
+ $query = "SELECT rangliste_id, system_id, wertung, doppel_teilwertung"
+ . "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
+ . "\n WHERE turnierdisziplin_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $bestehende_ranglisten_beruecksichtigt = $db->loadObjectList();
- // Berücksichtige Ranglisten prüfen und ggf. aktualisieren
- $query = "SELECT rangliste_id, system_id, wertung, doppel_teilwertung"
- . "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
- . "\n WHERE turnierdisziplin_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $bestehende_ranglisten_beruecksichtigt = $db->loadObjectList();
+ foreach ($bestehende_ranglisten_beruecksichtigt as $bestehende_rangliste_beruecksichtigt) {
+ $ist_beruecksichtigt = false;
+ foreach ($ranglisten_beruecksichtigt as $rangliste_id) {
+ if ($bestehende_rangliste_beruecksichtigt->rangliste_id == $rangliste_id) {
+ $ist_beruecksichtigt = true;
+ break;
+ }
+ }
+ if (!$ist_beruecksichtigt) {
+ $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_id = $bestehende_rangliste_beruecksichtigt->rangliste_id AND turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- foreach ($bestehende_ranglisten_beruecksichtigt as $bestehende_rangliste_beruecksichtigt) {
- $ist_beruecksichtigt = false;
- foreach ($ranglisten_beruecksichtigt as $rangliste_id) {
- if ($bestehende_rangliste_beruecksichtigt->rangliste_id == $rangliste_id) {
- $ist_beruecksichtigt = true;
- break;
- }
- }
- if (!$ist_beruecksichtigt) {
- $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_id = $bestehende_rangliste_beruecksichtigt->rangliste_id AND turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
+ foreach ($ranglisten_beruecksichtigt as $index => $rangliste_id) {
+ $ist_beruecksichtigt = false;
+ $bestehende_rangliste_system_id = null;
+ $bestehende_rangliste_wertung = null;
+ $bestehende_rangliste_doppel_teilwertung = null;
+ foreach ($bestehende_ranglisten_beruecksichtigt as $bestehende_rangliste_beruecksichtigt) {
+ if ($bestehende_rangliste_beruecksichtigt->rangliste_id == $rangliste_id) {
+ $ist_beruecksichtigt = true;
+ $bestehende_rangliste_system_id = $bestehende_rangliste_beruecksichtigt->system_id;
+ $bestehende_rangliste_wertung = $bestehende_rangliste_beruecksichtigt->wertung;
+ $bestehende_rangliste_doppel_teilwertung = $bestehende_rangliste_beruecksichtigt->doppel_teilwertung;
+ break;
+ }
+ }
+ $system_id = $ranglisten_beruecksichtigt_system_id[$index];
+ $wertung = $ranglisten_beruecksichtigt_wertung[$index];
+ $doppel_teilwertung = $ranglisten_beruecksichtigt_doppel_teilwertung[$index];
+ if (!$ist_beruecksichtigt) {
+ $query = "SELECT COUNT(*)"
+ . "\n FROM #__sportsmanager_rangliste"
+ . "\n WHERE rangliste_id = $rangliste_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
- foreach ($ranglisten_beruecksichtigt as $index => $rangliste_id) {
- $ist_beruecksichtigt = false;
- foreach ($bestehende_ranglisten_beruecksichtigt as $bestehende_rangliste_beruecksichtigt) {
- if ($bestehende_rangliste_beruecksichtigt->rangliste_id == $rangliste_id) {
- $ist_beruecksichtigt = true;
- $bestehende_rangliste_system_id = $bestehende_rangliste_beruecksichtigt->system_id;
- $bestehende_rangliste_wertung = $bestehende_rangliste_beruecksichtigt->wertung;
- $bestehende_rangliste_doppel_teilwertung = $bestehende_rangliste_beruecksichtigt->doppel_teilwertung;
- break;
- }
- }
- $system_id = $ranglisten_beruecksichtigt_system_id[$index];
- $wertung = $ranglisten_beruecksichtigt_wertung[$index];
- $doppel_teilwertung = $ranglisten_beruecksichtigt_doppel_teilwertung[$index];
- if (!$ist_beruecksichtigt) {
- $query = "SELECT COUNT(*)"
- . "\n FROM #__sportsmanager_rangliste"
- . "\n WHERE rangliste_id = $rangliste_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
+ if ($n > 0) {
+ $query = "INSERT INTO #__sportsmanager_rangliste_turnierdisziplin (rangliste_id, turnierdisziplin_id, system_id, wertung, doppel_teilwertung) VALUES ('$rangliste_id', '$id', " . ($system_id != 0 ? "'$system_id'" : "NULL") . ", '" . $db->escape($wertung) . "', '" . $db->escape($doppel_teilwertung) . "');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else if ($system_id != $bestehende_rangliste_system_id || $wertung != $bestehende_rangliste_wertung || $doppel_teilwertung != $bestehende_rangliste_doppel_teilwertung) {
+ $query = "UPDATE #__sportsmanager_rangliste_turnierdisziplin"
+ . "\n SET system_id = " . ($system_id != 0 ? "'$system_id'" : "NULL") . ","
+ . "\n wertung = '" . $db->escape($wertung) . "',"
+ . "\n doppel_teilwertung = '" . $db->escape($doppel_teilwertung) . "'"
+ . "\n WHERE rangliste_id = $rangliste_id AND turnierdisziplin_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- if ($n > 0) {
- $query = "INSERT INTO #__sportsmanager_rangliste_turnierdisziplin (rangliste_id, turnierdisziplin_id, system_id, wertung, doppel_teilwertung) VALUES ('$rangliste_id', '$id', " . ($system_id != 0 ? "'$system_id'" : "NULL") . ", '" . $db->escape($wertung) . "', '" . $db->escape($doppel_teilwertung) . "');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else if ($system_id != $bestehende_rangliste_system_id || $wertung != $bestehende_rangliste_wertung || $doppel_teilwertung != $bestehende_rangliste_doppel_teilwertung) {
- $query = "UPDATE #__sportsmanager_rangliste_turnierdisziplin"
- . "\n SET system_id = " . ($system_id != 0 ? "'$system_id'" : "NULL") . ","
- . "\n wertung = '" . $db->escape($wertung) . "',"
- . "\n doppel_teilwertung = '" . $db->escape($doppel_teilwertung) . "'"
- . "\n WHERE rangliste_id = $rangliste_id AND turnierdisziplin_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
-
- if ($aktualisieren) {
- if ($elo_aktualisieren) {
+ if ($aktualisieren) {
+ if ($elo_aktualisieren) {
wannGespieltAktualisieren();
eloAktualisieren($aktualisieren_ab_datum);
}
- ranglisteAktualisieren(0, $id);
- einstufungAktualisieren();
- }
+ ranglisteAktualisieren(0, $id);
+ einstufungAktualisieren();
+ }
- redirectSportsManagerURL('&task=admin_turnierdisziplinen&turnierid=' . $turnierid);
+ redirectSportsManagerURL('&task=admin_turnierdisziplinen&turnierid=' . $turnierId);
}
-function adminRemoveTurnierdisziplin() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveTurnierdisziplin(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- if ($id == 0) die("Missing id!");
- $turnierid = $jinput->get('turnierid', 0, 'INT');
- if ($turnierid == 0) die("Missing id!");
+ $id = $jInput->get('id', 0, 'INT');
+ if ($id == 0) die("Missing id!");
+ $turnierId = $jInput->get('turnierid', 0, 'INT');
+ if ($turnierId == 0) die("Missing id!");
- $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
+ $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
- $elo_aktualisieren = $row->elo_wertung;
- $aktualisieren_ab_datum = !empty($row->beginn) ? substr($row->beginn, 0, 10) : null;
+ $elo_aktualisieren = $row->elo_wertung;
+ $aktualisieren_ab_datum = !empty($row->beginn) ? substr($row->beginn, 0, 10) : null;
- $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_turniermeldung_spieler FROM #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turniermeldung_spieler FROM #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin WHERE turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_rangliste_turnierdisziplin WHERE turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_turnier_rundenstufe WHERE turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turnier_rundenstufe WHERE turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- if ($elo_aktualisieren) {
+ if ($elo_aktualisieren) {
wannGespieltAktualisieren();
eloAktualisieren($aktualisieren_ab_datum);
}
- ranglisteAktualisieren();
- einstufungAktualisieren();
+ ranglisteAktualisieren();
+ einstufungAktualisieren();
- redirectSportsManagerURL('&task=admin_turnierdisziplinen&turnierid=' . $turnierid);
+ redirectSportsManagerURL('&task=admin_turnierdisziplinen&turnierid=' . $turnierId);
}
-function adminExportTurniervoranmeldungenForm() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminExportTurniervoranmeldungenForm(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff(true);
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
- if ($turnierdisziplinid == 0) die ("Wrong id!");
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
+ if ($turnierDisziplinId == 0) die ("Wrong id!");
- $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, typ, turnierbezeichnung, turnierort, beginn, voranmeldungen_rangliste_id, voranmeldungen_reihenfolge, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, typ, turnierbezeichnung, turnierort, beginn, voranmeldungen_rangliste_id, voranmeldungen_reihenfolge, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff(true);
- /*
+ /*
$query = "SELECT *"
. "\n FROM #__sportsmanager_rangliste"
. "\n WHERE status > 0 AND erster_tag <= CURDATE() AND letzter_tag >= CURDATE()"
. "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$ranglisten_aktuell = $db->loadObjectList();
*/
- $query = "SELECT DISTINCT #__sportsmanager_rangliste.rangliste_id, turnierdisziplin_id, ranglisten.system_id, wertung, bezeichnung, saisonbezeichnung"
- . "\n FROM #__sportsmanager_rangliste"
- . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n LEFT JOIN (SELECT rangliste_id, turnierdisziplin_id, system_id, wertung FROM #__sportsmanager_rangliste_turnierdisziplin WHERE turnierdisziplin_id = $turnierdisziplinid) AS ranglisten USING (rangliste_id)"
- . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ranglisten = $db->loadObjectList();
+ $query = "SELECT DISTINCT #__sportsmanager_rangliste.rangliste_id, turnierdisziplin_id, ranglisten.system_id, wertung, bezeichnung, saisonbezeichnung"
+ . "\n FROM #__sportsmanager_rangliste"
+ . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
+ . "\n LEFT JOIN (SELECT rangliste_id, turnierdisziplin_id, system_id, wertung FROM #__sportsmanager_rangliste_turnierdisziplin WHERE turnierdisziplin_id = $turnierDisziplinId) AS ranglisten USING (rangliste_id)"
+ . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ranglisten = $db->loadObjectList();
- HTML_sportsmanager_admin::adminExportTurniervoranmeldungen($turnierdisziplin, $ranglisten);
+ HTML_sportsmanager_admin::adminExportTurniervoranmeldungen($turnierdisziplin, $ranglisten);
}
-function adminExportTurniervoranmeldungen() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminExportTurniervoranmeldungen(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff();
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff();
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
- $ranglisteid = $jinput->get('ranglisteid', 0, 'INT');
- $sortierung = $jinput->get('sortierung', 0, 'INT');
- $format = $jinput->get('format', 0, 'INT');
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
+ $ranglisteId = $jInput->get('ranglisteid', 0, 'INT');
+ $sortierung = $jInput->get('sortierung', 0, 'INT');
+ $format = $jInput->get('format', 0, 'INT');
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId);
+ }
- return;
- }
+ $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, beginn, typ FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, beginn, typ FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff();
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
- keinZugriff();
+ if ($turnierdisziplin->typ == 0) {
+ $query = "SELECT *"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Nachname"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Vorname"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), '', #__sportsmanager_spieler.spielernr) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Spielernr"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Verein";
+ if ($format != 0)
+ $query .= ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 'M', #__sportsmanager_spieler.geschlecht) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Geschlecht";
+ if ($ranglisteId != 0)
+ $query .= ", COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteId AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1), 0) AS Punkte";
+ $query .= "\n FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = '20'"
+ . "\n ORDER BY " . ($ranglisteId != 0 ? "Punkte DESC, " : "") . "Nachname, Vorname";
+ } else {
+ $query = "SELECT (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Nachname1"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Vorname1"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), '', #__sportsmanager_spieler.spielernr) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Spielernr1"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Verein1";
+ if ($format != 0)
+ $query .= ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 'M', #__sportsmanager_spieler.geschlecht) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Geschlecht1";
+ if ($ranglisteId != 0)
+ $query .= ", COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteId AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1), 0) AS Punkte1";
+ $query .= ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS Nachname2"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS Vorname2"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), '', #__sportsmanager_spieler.spielernr) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS Spielernr2"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS Verein2";
+ if ($format != 0)
+ $query .= ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 'M', #__sportsmanager_spieler.geschlecht) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS Geschlecht2";
+ if ($ranglisteId != 0) {
+ $query .= ", COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteId AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1), 0) AS Punkte2";
+ if ($sortierung == 0) {
+ $query .= ", COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteId AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1), 0)"
+ . "+ COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteId AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1), 0) AS Summe";
+ } else {
+ $query .= ", GREATEST(COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteId AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1), 0)"
+ . ", COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteId AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1), 0)) AS Maximum";
+ }
+ }
+ $query .= "\n FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = '20'"
+ . "\n ORDER BY " . ($ranglisteId != 0 ? ($sortierung == 0 ? "Summe DESC, " : "Maximum DESC, ") : "") . "Nachname1, Vorname1";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $voranmeldungen = $db->loadObjectList();
- if ($turnierdisziplin->typ == 0) {
- $query = "SELECT *"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Nachname"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Vorname"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), '', #__sportsmanager_spieler.spielernr) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Spielernr"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Verein";
- if ($format != 0)
- $query .= ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 'M', #__sportsmanager_spieler.geschlecht) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Geschlecht";
- if ($ranglisteid != 0)
- $query .= ", COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1), 0) AS Punkte";
- $query .= "\n FROM #__sportsmanager_turniermeldung"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = '20'"
- . "\n ORDER BY " . ($ranglisteid != 0 ? "Punkte DESC, " : "") . "Nachname, Vorname";
- }
- else {
- $query = "SELECT (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Nachname1"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Vorname1"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), '', #__sportsmanager_spieler.spielernr) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Spielernr1"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Verein1";
- if ($format != 0)
- $query .= ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 'M', #__sportsmanager_spieler.geschlecht) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS Geschlecht1";
- if ($ranglisteid != 0)
- $query .= ", COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1), 0) AS Punkte1";
- $query .= ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS Nachname2"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS Vorname2"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), '', #__sportsmanager_spieler.spielernr) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS Spielernr2"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS Verein2";
- if ($format != 0)
- $query .= ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 'M', #__sportsmanager_spieler.geschlecht) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS Geschlecht2";
- if ($ranglisteid != 0) {
- $query .= ", COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1), 0) AS Punkte2";
- if ($sortierung == 0) {
- $query .= ", COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1), 0)"
- . "+ COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1), 0) AS Summe";
- }
- else {
- $query .= ", GREATEST(COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1), 0)"
- . ", COALESCE((SELECT punkte FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_rangliste_punkte ON #__sportsmanager_rangliste_punkte.rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_turniermeldung_spieler.spieler_id WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1), 0)) AS Maximum";
- }
- }
- $query .= "\n FROM #__sportsmanager_turniermeldung"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = '20'"
- . "\n ORDER BY " . ($ranglisteid != 0 ? ($sortierung == 0 ? "Summe DESC, " : "Maximum DESC, ") : "") . "Nachname1, Vorname1";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $voranmeldungen = $db->loadObjectList();
+ $dateiname = 'Voranmeldungen ' . $turnierdisziplin->turnierbezeichnung . ' - ' . $turnierdisziplin->disziplin . '.csv';
+ $dateiname = bereinigterDateiname($dateiname);
+ ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
+ Header("Content-Type: text/x-csv");
+ Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
+ Header('Content-Disposition: attachment; filename="' . $dateiname . '"');
+ Header("Pragma: no-cache");
- /*
- if ($turnierdisziplin->typ == 0) {
- $query = "SELECT t1.nachname as Nachname, t1.vorname as Vorname, t1.spielernr as Spielernr"
- . ", COALESCE((SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = spieler_1_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1), 'Keiner') AS Verein";
- if ($format != 0)
- $query .= ", t1.geschlecht as Geschlecht";
- if ($ranglisteid != 0)
- $query .= ", COALESCE((SELECT punkte FROM #__sportsmanager_rangliste_punkte WHERE rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = spieler_1_id), 0) AS Punkte";
- }
- else {
- $query = "SELECT t1.nachname as Nachname1, t1.vorname as Vorname1, t1.spielernr as Spielernr1"
- . ", COALESCE((SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = spieler_1_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1), 'Keiner') AS Verein1";
- if ($format != 0)
- $query .= ", t1.geschlecht as Geschlecht1";
- if ($ranglisteid != 0)
- $query .= ", COALESCE((SELECT punkte FROM #__sportsmanager_rangliste_punkte WHERE rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = spieler_1_id), 0) AS Punkte1";
- $query .= ", t2.nachname as Nachname2, t2.vorname as Vorname2, t2.spielernr as Spielernr2"
- . ", COALESCE((SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = spieler_2_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1), 'Keiner') AS Verein2";
- if ($format != 0)
- $query .= ", t2.geschlecht as Geschlecht2";
- if ($ranglisteid != 0)
- $query .= ", COALESCE((SELECT punkte FROM #__sportsmanager_rangliste_punkte WHERE rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = spieler_2_id), 0) AS Punkte2";
- if ($ranglisteid != 0) {
- $query .= ", GREATEST(COALESCE((SELECT punkte FROM #__sportsmanager_rangliste_punkte WHERE rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = spieler_1_id), 0), COALESCE((SELECT punkte FROM #__sportsmanager_rangliste_punkte WHERE rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = spieler_2_id), 0)) AS Maximum";
- $query .= ", COALESCE((SELECT punkte FROM #__sportsmanager_rangliste_punkte WHERE rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = spieler_1_id), 0) + COALESCE((SELECT punkte FROM #__sportsmanager_rangliste_punkte WHERE rangliste_id = $ranglisteid AND #__sportsmanager_rangliste_punkte.spieler_id = spieler_2_id), 0) AS Summe";
- }
- }
- $query .= "\n FROM #__sportsmanager_turniervoranmeldung"
- . "\n LEFT JOIN #__sportsmanager_spieler AS t1 ON t1.spieler_id = spieler_1_id"
- . "\n LEFT JOIN #__sportsmanager_spieler AS t2 ON t2.spieler_id = spieler_2_id"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid"
- . "\n ORDER BY " . ($ranglisteid != 0 ? ($turnierdisziplin->typ == 0 ? "Punkte DESC, " : ($sortierung == 0 ? "Summe DESC, " : "Maximum DESC, ")) : "") . "t1.nachname, t1.vorname";
- $db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
- $voranmeldungen = $db->loadObjectList();
-*/
- $dateiname = 'Voranmeldungen ' . $turnierdisziplin->turnierbezeichnung . ' - ' . $turnierdisziplin->disziplin . '.csv';
- $dateiname = bereinigterDateiname($dateiname);
- ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
- Header("Content-Type: text/x-csv");
- Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
- Header('Content-Disposition: attachment; filename="' . $dateiname . '"');
- Header("Pragma: no-cache");
+ if ($format == 0) {
+ $trennzeichen = "\t";
- if ($format == 0) {
- $trennzeichen = "\t";
+ $header = "";
+ foreach ($voranmeldungen[0] as $field => $value)
+ $header .= $field . $trennzeichen;
- $header = "";
- foreach ($voranmeldungen[0] as $field => $value)
- $header .= $field . $trennzeichen;
+ $data = "";
+ foreach ($voranmeldungen as $row) {
+ $line = '';
+ foreach ($row as $value) {
+ if ((!isset($value)) or ($value == "")) {
+ $value = $trennzeichen;
+ } else {
+ $value = str_replace('"', '""', $value);
+ $value = str_replace("\t", ' ', $value);
+ $value = str_replace("\r", '', $value);
+ $value = str_replace("\n", ' ', $value);
+ $value = '"' . $value . '"' . $trennzeichen;
+ }
+ $line .= $value;
+ }
+ $data .= trim($line) . "\n";
+ }
+ $data = str_replace("\r", "", $data);
- $data = "";
- foreach ($voranmeldungen as $row) {
- $line = '';
- foreach ($row as $value) {
- if ((!isset($value)) OR ($value == "")) {
- $value = $trennzeichen;
- }
- else {
- $value = str_replace('"', '""', $value);
- $value = str_replace("\t", ' ', $value);
- $value = str_replace("\r", '', $value);
- $value = str_replace("\n", ' ', $value);
- $value = '"' . $value . '"' . $trennzeichen;
- }
- $line .= $value;
- }
- $data .= trim($line) . "\n";
- }
- $data = str_replace("\r", "", $data);
+ echo "sep=" . $trennzeichen . "\n" . $header . "\n" . $data;
+ } else {
+ $gesetzt = ($format - 1) * 4;
+ if ($turnierdisziplin->typ == 0) {
+ echo "1\r\n";
+ echo "NAME1#VORNAME1#GESCHLECHT1#VEREIN1#PSEUDONYM#SETZPOSITION\r\n";
+ } else {
+ echo "2\r\n";
+ echo "NAME1#VORNAME1#GESCHLECHT1#VEREIN1#NAME2#VORNAME2#GESCHLECHT2#VEREIN2#PSEUDONYM#SETZPOSITION\r\n";
+ }
- echo "sep=" . $trennzeichen . "\n" . $header . "\n" . $data;
- }
- else {
- $gesetzt = ($format - 1) * 4;
- if ($turnierdisziplin->typ == 0) {
- echo "1\r\n";
- echo "NAME1#VORNAME1#GESCHLECHT1#VEREIN1#PSEUDONYM#SETZPOSITION\r\n";
- }
- else {
- echo "2\r\n";
- echo "NAME1#VORNAME1#GESCHLECHT1#VEREIN1#NAME2#VORNAME2#GESCHLECHT2#VEREIN2#PSEUDONYM#SETZPOSITION\r\n";
- }
+ $platz = 1;
+ $punkte = 0;
+ $tatsaechlicher_platz = 0;
+ foreach ($voranmeldungen as $row) {
+ $row_punkte = $ranglisteId != 0 ? ($turnierdisziplin->typ == 0 ? $row->Punkte : ($sortierung == 0 ? $row->Summe : $row->Maximum)) : 0;
+ if ($row_punkte != $punkte) {
+ $tatsaechlicher_platz = $platz;
+ $punkte = $row_punkte;
+ }
+ if ($turnierdisziplin->typ == 0) {
+ echo utf8_decode(str_replace("#", ' ', $row->Nachname)
+ . "#" . str_replace("#", ' ', $row->Vorname)
+ . "#" . ($row->Geschlecht == "M" ? "M" : "F")
+ . "#" . str_replace("#", ' ', $row->Verein)
+ . "#"
+ . "#" . ($gesetzt != 0 && $tatsaechlicher_platz <= $gesetzt ? $tatsaechlicher_platz : "0") . "\r\n");
+ } else {
+ echo utf8_decode(str_replace("#", ' ', $row->Nachname1)
+ . "#" . str_replace("#", ' ', $row->Vorname1)
+ . "#" . ($row->Geschlecht1 == "M" ? "M" : "F")
+ . "#" . str_replace("#", ' ', $row->Verein1)
+ . "#" . str_replace("#", ' ', $row->Nachname2)
+ . "#" . str_replace("#", ' ', $row->Vorname2)
+ . "#" . ($row->Geschlecht2 == "M" ? "M" : "F")
+ . "#" . str_replace("#", ' ', $row->Verein2)
+ . "#"
+ . "#" . ($gesetzt != 0 && $tatsaechlicher_platz <= $gesetzt ? $tatsaechlicher_platz : "0") . "\r\n");
+ }
+ $platz++;
+ }
+ }
- $platz = 1;
- $punkte = 0;
- $tatsaechlicher_platz = 0;
- foreach ($voranmeldungen as $row) {
- $row_punkte = $ranglisteid != 0 ? ($turnierdisziplin->typ == 0 ? $row->Punkte : ($sortierung == 0 ? $row->Summe : $row->Maximum)) : 0;
- if ($row_punkte != $punkte) {
- $tatsaechlicher_platz = $platz;
- $punkte = $row_punkte;
- }
- if ($turnierdisziplin->typ == 0) {
- echo utf8_decode(str_replace("#", ' ', $row->Nachname)
- . "#" . str_replace("#", ' ', $row->Vorname)
- . "#" . ($row->Geschlecht == "M" ? "M" : "F")
- . "#" . str_replace("#", ' ', $row->Verein)
- . "#"
- . "#" . ($gesetzt != 0 && $tatsaechlicher_platz <= $gesetzt ? $tatsaechlicher_platz : "0") . "\r\n");
- }
- else {
- echo utf8_decode(str_replace("#", ' ', $row->Nachname1)
- . "#" . str_replace("#", ' ', $row->Vorname1)
- . "#" . ($row->Geschlecht1 == "M" ? "M" : "F")
- . "#" . str_replace("#", ' ', $row->Verein1)
- . "#" . str_replace("#", ' ', $row->Nachname2)
- . "#" . str_replace("#", ' ', $row->Vorname2)
- . "#" . ($row->Geschlecht2 == "M" ? "M" : "F")
- . "#" . str_replace("#", ' ', $row->Verein2)
- . "#"
- . "#" . ($gesetzt != 0 && $tatsaechlicher_platz <= $gesetzt ? $tatsaechlicher_platz : "0") . "\r\n");
- }
- $platz++;
- }
- }
-
- die();
+ die();
}
-function adminTurnierdisziplinMeldungenSpiele() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminTurnierdisziplinMeldungenSpiele(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff(true);
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
- if ($turnierdisziplinid == 0) die ("Wrong id!");
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
+ if ($turnierDisziplinId == 0) die ("Wrong id!");
- $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, typ, turnier_id, disziplin, turnierbezeichnung, turnierort, beginn FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) != 1) die("Wrong id!");
- $disziplin = $rows[0];
+ $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, typ, turnier_id, disziplin, turnierbezeichnung, turnierort, beginn FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) != 1) die("Wrong id!");
+ $disziplin = $rows[0];
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($disziplin->turnier_id))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($disziplin->turnier_id))
+ keinZugriff(true);
- $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $turnierdisziplinid AND platz > 0), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $platzierung_anzeigen = $db->loadResult() > 0;
+ $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $turnierDisziplinId AND platz > 0), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $platzierung_anzeigen = $db->loadResult() > 0;
- $meldungen = array();
- $meldungenSpielerNamen = array();
- foreach (array(0, 1, 2, 3, 10, 20) as $rundenstufe) {
- /* Abfrage war erheblich zu langsam bei großem Bestand
+ $meldungen = array();
+ $meldungenSpielerNamen = array();
+ foreach (array(0, 1, 2, 3, 10, 20) as $rundenstufe) {
+ /* Abfrage war erheblich zu langsam bei großem Bestand
$query = "SELECT *"
. ", (SELECT CONCAT_WS(', ', #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_turniermeldung_spieler_name.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS name1"
. ", (SELECT CONCAT_WS(', ', #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_turniermeldung_spieler_name.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS name2"
. ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 0, 1) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS verknuepft1"
. ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 0, 1) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS verknuepft2"
. "\n FROM #__sportsmanager_turniermeldung"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = '$rundenstufe'"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = '$rundenstufe'"
. "\n ORDER BY platz, name1, name2";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$meldungen[$rundenstufe] = $db->loadObjectList();
foreach ($meldungen[$rundenstufe] as $meldung) {
@@ -12124,6261 +11701,5844 @@ function adminTurnierdisziplinMeldungenSpiele() {
}
*/
- $query = "SELECT platz, turniermeldung_id"
- . "\n FROM #__sportsmanager_turniermeldung"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = '$rundenstufe'"
- . "\n ORDER BY platz, turniermeldung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $meldungen[$rundenstufe] = $db->loadObjectList();
- }
+ $query = "SELECT platz, turniermeldung_id"
+ . "\n FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = '$rundenstufe'"
+ . "\n ORDER BY platz, turniermeldung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $meldungen[$rundenstufe] = $db->loadObjectList();
+ }
- $query = "SELECT turniermeldung_id, spieler_id, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) AS nachname, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) AS vorname"
- . "\n FROM #__sportsmanager_turniermeldung"
- . "\n INNER JOIN #__sportsmanager_turniermeldung_spieler USING (turniermeldung_id)"
- . "\n LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid"
- . "\n ORDER BY turniermeldung_spieler_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $meldungenSpieler = $db->loadObjectList();
+ $query = "SELECT turniermeldung_id, spieler_id, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) AS nachname, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) AS vorname"
+ . "\n FROM #__sportsmanager_turniermeldung"
+ . "\n INNER JOIN #__sportsmanager_turniermeldung_spieler USING (turniermeldung_id)"
+ . "\n LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id)"
+ . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId"
+ . "\n ORDER BY turniermeldung_spieler_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $meldungenSpieler = $db->loadObjectList();
- foreach ($meldungenSpieler as $s) {
- $spielername = $s->spieler_id == null ? hervorheben($s->nachname . ", " . $s->vorname) : ($s->nachname . ", " . $s->vorname);
- if (empty($meldungenSpielerNamen[$s->turniermeldung_id]))
- $meldungenSpielerNamen[$s->turniermeldung_id] = $spielername;
- else
- $meldungenSpielerNamen[$s->turniermeldung_id] = StringsZusammenfassen($meldungenSpielerNamen[$s->turniermeldung_id], $spielername);
- }
+ foreach ($meldungenSpieler as $s) {
+ $spielername = $s->spieler_id == null ? hervorheben($s->nachname . ", " . $s->vorname) : ($s->nachname . ", " . $s->vorname);
+ if (empty($meldungenSpielerNamen[$s->turniermeldung_id]))
+ $meldungenSpielerNamen[$s->turniermeldung_id] = $spielername;
+ else
+ $meldungenSpielerNamen[$s->turniermeldung_id] = StringsZusammenfassen($meldungenSpielerNamen[$s->turniermeldung_id], $spielername);
+ }
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_turnier_rundenstufe"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_turnier_rundenstufe"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $rundenstufen_details = array();
- foreach ($rows as $row) {
- $rundenstufen_details[$row->rundenstufe] = $row;
- }
+ $rundenstufen_details = array();
+ foreach ($rows as $row) {
+ $rundenstufen_details[$row->rundenstufe] = $row;
+ }
- $spiele = array();
- foreach (array(1, 2, 3, 10) as $rundenstufe) {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_turnierspiel"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = '$rundenstufe'"
- . "\n ORDER BY runde DESC, spiel_nummer";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spiele[$rundenstufe] = $db->loadObjectList();
- }
+ $spiele = array();
+ foreach (array(1, 2, 3, 10) as $rundenstufe) {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_turnierspiel"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = '$rundenstufe'"
+ . "\n ORDER BY runde DESC, spiel_nummer";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spiele[$rundenstufe] = $db->loadObjectList();
+ }
- HTML_sportsmanager_admin::adminTurnierdisziplinMeldungenSpiele($disziplin, $rundenstufen_details, $meldungen, $meldungenSpielerNamen, $spiele, $platzierung_anzeigen);
+ HTML_sportsmanager_admin::adminTurnierdisziplinMeldungenSpiele($disziplin, $rundenstufen_details, $meldungen, $meldungenSpielerNamen, $spiele, $platzierung_anzeigen);
}
-function adminTurnierdisziplinMeldungenSpieleAlleEntfernen() {
- $db = getDatabase();
- global $_FILES;
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminTurnierdisziplinMeldungenSpieleAlleEntfernen(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff();
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff();
- $id = $jinput->get('turnierdisziplinid', 0, 'INT');
- $veranstalter_id = $jinput->get('veranstalterid', 0, 'INT');
+ $id = $jInput->get('turnierdisziplinid', 0, 'INT');
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id);
+ }
- return;
- }
+ // Sicherstellen, dass Turnierdisziplin zum Turnier gehört
+ $query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, typ, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- // Sicherstellen, dass Turnierdisziplin zum Turnier gehört
- $query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, typ, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff();
- if (benutzerZugriff("turniere_aendern"))
- $zugriffsebene = 2;
- else if (benutzerTurnierModerator($turnierdisziplin->turnier_id))
- $zugriffsebene = 1;
- else
- keinZugriff();
+ $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, elo_wertung FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $turnierdisziplin = $rows[0];
- $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, elo_wertung FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $turnierdisziplin = $rows[0];
+ $elo_aktualisieren = $turnierdisziplin->elo_wertung;
+ $aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null;
- $elo_aktualisieren = $turnierdisziplin->elo_wertung;
- $aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null;
+ $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id AND rundenstufe <> 20;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id AND rundenstufe <> 20;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turniermeldung_spieler FROM #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id AND rundenstufe <> 20;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_turniermeldung_spieler FROM #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id AND rundenstufe <> 20;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $id AND rundenstufe <> 20;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $id AND rundenstufe <> 20;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turnier_rundenstufe WHERE turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_turnier_rundenstufe WHERE turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- if ($elo_aktualisieren) {
+ if ($elo_aktualisieren) {
wannGespieltAktualisieren();
eloAktualisieren($aktualisieren_ab_datum);
}
- ranglisteAktualisieren(0, $id);
- einstufungAktualisieren();
+ ranglisteAktualisieren(0, $id);
+ einstufungAktualisieren();
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id);
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id);
}
-function adminImportTurnierdisziplinMeldungenSpieleForm() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminImportTurnierdisziplinMeldungenSpieleForm(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff(true);
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
- $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
+ $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
- if (benutzerZugriff("turniere_aendern"))
- $zugriffsebene = 2;
- else if (benutzerTurnierModerator($row->turnier_id))
- $zugriffsebene = 1;
- else
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($row->turnier_id)) {
+ keinZugriff(true);
+ }
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- HTML_sportsmanager_admin::adminImportTurnierdisziplinMeldungenSpieleForm($row, $veranstalter, $zugriffsebene);
+ HTML_sportsmanager_admin::adminImportTurnierdisziplinMeldungenSpieleForm($row, $veranstalter);
}
-function adminImportTurnierdisziplinMeldungenSpiele() {
- $db = getDatabase();
- global $_FILES;
- $jinput = JFactory::getApplication()->input;
-
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff();
-
- $id = $jinput->get('turnierdisziplinid', 0, 'INT');
- $veranstalter_id = $jinput->get('veranstalterid', 0, 'INT');
-
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id);
-
- return;
- }
-
- // Sicherstellen, dass Turnierdisziplin zum Turnier gehört
- $query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, typ, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
-
- if (benutzerZugriff("turniere_aendern"))
- $zugriffsebene = 2;
- else if (benutzerTurnierModerator($turnierdisziplin->turnier_id))
- $zugriffsebene = 1;
- else
- keinZugriff();
-
- if ($zugriffsebene == 2 && $veranstalter_id != 0)
- $wertungsbedingung = "(SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein LEFT JOIN #__sportsmanager_verein USING (verein_id) WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND veranstalter_id = $veranstalter_id) > 0 AND ";
- else
- $wertungsbedingung = "NOT ISNULL(aktueller_verein_id) AND ";
-
- $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, elo_wertung FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $turnierdisziplin = $rows[0];
-
- $elo_aktualisieren = $turnierdisziplin->elo_wertung;
- $aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null;
-
- if (!empty($_FILES["daten"]["tmp_name"])) {
- if (is_uploaded_file($_FILES["daten"]["tmp_name"])) {
- $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id AND rundenstufe <> 20;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE #__sportsmanager_turniermeldung_spieler FROM #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id AND rundenstufe <> 20;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $id AND rundenstufe <> 20;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $query = "DELETE FROM #__sportsmanager_turnier_rundenstufe WHERE turnierdisziplin_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- $handle = fopen($_FILES["daten"]["tmp_name"], "r");
- if (!$handle) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die übergebene Datei kann nicht geöffnet werden.");
-
- return;
- }
- if (feof($handle)) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die übergebene Datei ist leer.");
-
- return;
- }
- $titelzeile = chop(utf8_encode(fgets($handle, 4096)));
- if (substr($titelzeile, 0, 4) == "sep=") {
- $trennzeichen = substr($titelzeile, 4);
- if ($trennzeichen == "") // TAB am Ende wird aus irgendwelchen Gründen weggekürzt
- $trennzeichen = "\t";
- $titelzeile = chop(utf8_encode(fgets($handle, 4096)));
- }
- if (strpos($titelzeile, "\t") !== false)
- $trennzeichen = "\t";
- else if (strpos($titelzeile, ";") !== false)
- $trennzeichen = ";";
- else
- $trennzeichen = ",";
-
- $spalte = array();
- $titel = explode($trennzeichen, strtolower($titelzeile));
-
- foreach ($titel as $index => $bezeichnung) {
- if ($bezeichnung == "platz" || $bezeichnung == "platzierung")
- $spalte["platz"] = $index;
- else if ($bezeichnung == "itsf")
- $spalte["itsf"] = $index;
- else if ($bezeichnung == "name" || $bezeichnung == "nachname" || $bezeichnung == "name1" || $bezeichnung == "nachname1" || $bezeichnung == "nachname 1")
- $spalte["nachname1"] = $index;
- else if ($bezeichnung == "vorname" || $bezeichnung == "vorname1" || $bezeichnung == "vorname 1")
- $spalte["vorname1"] = $index;
- else if ($bezeichnung == "spielernr" || $bezeichnung == "spielernr1" || $bezeichnung == "spielernr. 1")
- $spalte["spielernr1"] = $index;
- else if ($bezeichnung == "verein" || $bezeichnung == "verein1" || $bezeichnung == "vereinsname" || $bezeichnung == "vereinsname1" || $bezeichnung == "vereinsname 1")
- $spalte["verein1"] = $index;
- else if ($bezeichnung == "name2" || $bezeichnung == "nachname2" || $bezeichnung == "nachname 2")
- $spalte["nachname2"] = $index;
- else if ($bezeichnung == "vorname2" || $bezeichnung == "vorname 2")
- $spalte["vorname2"] = $index;
- else if ($bezeichnung == "spielernr2" || $bezeichnung == "spielernr. 2")
- $spalte["spielernr2"] = $index;
- else if ($bezeichnung == "verein2" || $bezeichnung == "vereinsname2" || $bezeichnung == "vereinsname 2")
- $spalte["verein1"] = $index;
- }
-
- // CSV-Import
- if ((isset($spalte["platz"]) && isset($spalte["vorname1"]) && isset($spalte["nachname1"])) || isset($spalte["itsf"])) {
- $nichtGefundeneSpieler = "";
- $spielerMeldungen = array();
-
- $ist_doppel = false;
- if (isset($spalte["vorname2"]) && isset($spalte["nachname2"]))
- $ist_doppel = true;
-
- while (!feof($handle)) {
- $buffer = chop(utf8_encode(fgets($handle, 4096)));
- $daten = explode($trennzeichen, $buffer);
-
- foreach ($daten as $index => $wert) {
- $wert = trim($wert);
- $len = strlen($wert);
- if ($len < 2 || $wert[0] != '"' || $wert[$len - 1] != '"')
- $daten[$index] = $wert;
- else
- $daten[$index] = str_replace('""', '"', substr($wert, 1, $len - 2));
- }
-
- if (isset($spalte["itsf"])) {
- if (!isset($daten[$spalte["itsf"]]))
- continue;
- $itsf_daten = $daten[$spalte["itsf"]];
- if (empty($itsf_daten))
- continue;
-
- if (!$ist_doppel && strpos($itsf_daten, " - ") !== false) {
- if (count($spielerMeldungen) != 0)
- continue;
- $ist_doppel = true;
- }
-
- $nachname1 = "";
- $vorname1 = "";
- $spielernr1 = "";
- $verein1 = "";
- if ($ist_doppel) {
- $nachname2 = "";
- $vorname2 = "";
- $spielernr2 = "";
- $verein2 = "";
- }
-
- $itsf_felder = explode(" ", $itsf_daten);
- $position = 0; // 0: Platz, 1: Vorname1, 2: Nachname1, 3: Land1, 4: Vorname2, 5: Nachname2, 6: Land2
- foreach ($itsf_felder as $feld) {
- if ($position == 0) {
- if (!is_numeric($feld))
- break;
- $platz = $feld;
- $position++;
- continue;
- }
- if ($position == 1) {
- if (strtoupper($feld) != $feld) {
- if (!empty($vorname1))
- $vorname1 .= " ";
- $vorname1 .= $feld;
- continue;
- }
- $position = 2;
- }
- if ($position == 2) {
- if ($feld != "-" && substr($feld, 0, 1) != "(") {
- if (!empty($nachname1))
- $nachname1 .= " ";
- $nachname1 .= substr($feld, 0, 1) . strtolower(substr($feld, 1));
- continue;
- }
- $position = 3;
- }
- if ($position == 3) {
- if ($feld == "-")
- continue;
- if (substr($feld, 0, 1) == "(" && substr($feld, 4) == ")") {
- $verein1 = substr($feld, 1, 3);
- continue;
- }
- if (!$ist_doppel)
- break;
- $position = 4;
- }
- if ($position == 4) {
- if (strtoupper($feld) != $feld) {
- if (!empty($vorname2))
- $vorname2 .= " ";
- $vorname2 .= $feld;
- continue;
- }
- $position = 5;
- }
- if ($position == 5) {
- if ($feld != "-" && substr($feld, 0, 1) != "(") {
- if (ctype_digit($feld))
- continue;
- if (!empty($nachname2))
- $nachname2 .= " ";
- $nachname2 .= substr($feld, 0, 1) . strtolower(substr($feld, 1));
- continue;
- }
- $position = 6;
- }
- if ($position == 6) {
- if ($feld == "-")
- continue;
- if (substr($feld, 0, 1) == "(" && substr($feld, 4) == ")") {
- $verein2 = substr($feld, 1, 3);
- continue;
- }
- break;
- }
- }
-
- if (empty($platz) || empty($vorname1) || empty($nachname1))
- continue;
- if ($ist_doppel && (empty($vorname2) || empty($nachname2)))
- continue;
- }
- else {
- $platz = str_replace(".", "", $daten[$spalte["platz"]]);
- if (empty($platz))
- continue;
-
- if (!isset($daten[$spalte["vorname1"]]) || !isset($daten[$spalte["nachname1"]]))
- continue;
-
- $nachname1 = $daten[$spalte["nachname1"]];
- $vorname1 = $daten[$spalte["vorname1"]];
- $spielernr1 = isset($spalte["spielernr1"]) && isset($daten[$spalte["spielernr1"]]) ? $daten[$spalte["spielernr1"]] : "";
- $verein1 = isset($spalte["verein1"]) && isset($daten[$spalte["verein1"]]) ? $daten[$spalte["verein1"]] : "";
-
- if ($vorname1 == "" || $nachname1 == "")
- continue;
-
- if ($ist_doppel) {
- if (!isset($daten[$spalte["vorname2"]]) || !isset($daten[$spalte["nachname2"]]))
- continue;
-
- $nachname2 = $daten[$spalte["nachname2"]];
- $vorname2 = $daten[$spalte["vorname2"]];
- $spielernr2 = isset($spalte["spielernr2"]) && isset($daten[$spalte["spielernr2"]]) ? $daten[$spalte["spielernr2"]] : "";
- $verein2 = isset($spalte["verein2"]) && isset($daten[$spalte["verein2"]]) ? $daten[$spalte["verein2"]] : "";
-
- if ($vorname2 == "" || $nachname2 == "")
- continue;
- }
- }
-
- if ($ist_doppel) {
- // Spielernummern und -namen ermitteln
- $spieler2_id = null;
- if (!empty($spielernr2)) {
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr2) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $s = $db->loadObjectList();
- if (count($s) == 1)
- $spieler2_id = $s[0]->spieler_id;
- }
- if ($spieler2_id == null) {
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE " . $wertungsbedingung . "STRCMP(vorname, '" . $db->escape($vorname2) . "') = 0 AND STRCMP(nachname, '" . $db->escape($nachname2) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $s = $db->loadObjectList();
- if (count($s) == 1)
- $spieler2_id = $s[0]->spieler_id;
- }
- }
-
- // Spielernummern und -namen ermitteln
- $spieler1_id = null;
- if (!empty($spielernr1)) {
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr1) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $s = $db->loadObjectList();
- if (count($s) == 1)
- $spieler1_id = $s[0]->spieler_id;
- }
- if ($spieler1_id == null) {
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE " . $wertungsbedingung . "STRCMP(vorname, '" . $db->escape($vorname1) . "') = 0 AND STRCMP(nachname, '" . $db->escape($nachname1) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $s = $db->loadObjectList();
- if (count($s) == 1)
- $spieler1_id = $s[0]->spieler_id;
- }
-
- $spielerMeldung = array();
- $spielerMeldung["p"] = $platz;
- if ($spieler1_id == null) {
- $spielerMeldung["1n"] = $nachname1;
- $spielerMeldung["1v"] = $vorname1;
- $spielerMeldung["1vn"] = $verein1;
- }
- else
- $spielerMeldung["1"] = $spieler1_id;
-
- if ($ist_doppel) {
- if ($spieler2_id == null) {
- $spielerMeldung["2n"] = $nachname2;
- $spielerMeldung["2v"] = $vorname2;
- $spielerMeldung["2vn"] = $verein2;
- }
- else
- $spielerMeldung["2"] = $spieler2_id;
- }
- array_push($spielerMeldungen, $spielerMeldung);
- }
- fclose($handle);
-
- foreach ($spielerMeldungen as $spielerMeldung) {
- $platz = $spielerMeldung["p"];
- $spieler1_id = isset($spielerMeldung["1"]) ? $spielerMeldung["1"] : null;
- if ($ist_doppel)
- $spieler2_id = isset($spielerMeldung["2"]) ? $spielerMeldung["2"] : null;
-
- $query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, rundenstufe, platz)"
- . "\n VALUES ('$id', '0', '$platz');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $meldungId = $db->insertid();
-
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)"
- . "\n VALUES ('$meldungId', " . ($spieler1_id != null ? "'$spieler1_id'" : "NULL") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $meldungSpielerId = $db->insertid();
-
- if ($spieler1_id == null) {
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
- . "\n VALUES ('$meldungSpielerId', '" . $db->escape($spielerMeldung["1n"]) . "', '" . $db->escape($spielerMeldung["1v"]) . "', '" . $db->escape($spielerMeldung["1vn"]) . "');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- if ($ist_doppel) {
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)"
- . "\n VALUES ('$meldungId', " . ($spieler2_id != null ? "'$spieler2_id'" : "NULL") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $meldungSpielerId = $db->insertid();
-
- if ($spieler2_id == null) {
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
- . "\n VALUES ('$meldungSpielerId', '" . $db->escape($spielerMeldung["2n"]) . "', '" . $db->escape($spielerMeldung["2v"]) . "', '" . $db->escape($spielerMeldung["2vn"]) . "');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
- }
- else { // XML-Import
- fclose($handle);
-
- // Daten zu Vorrunde laden
- $disziplinVorrunde = null;
- if (!empty($_FILES["daten_vorrunde"]["tmp_name"])) {
- if (is_uploaded_file($_FILES["daten_vorrunde"]["tmp_name"])) {
- // $disziplinVorrunde = new DOMIT_Document();
- // $success = $disziplinVorrunde->loadXML($_FILES["daten_vorrunde"]["tmp_name"]);
- $disziplinVorrunde = new DOMDocument();
- $disziplinVorrunde->recover = true;
- $success = $disziplinVorrunde->load($_FILES["daten_vorrunde"]["tmp_name"]);
- if (!$success) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei ist keine XML-Datei.");
-
- return;
- }
- }
- }
-
- // Daten zu Zusatzrunde laden
- $disziplinZusatzrunde = null;
- if (!empty($_FILES["daten_zusatzrunde"]["tmp_name"])) {
- if (is_uploaded_file($_FILES["daten_zusatzrunde"]["tmp_name"])) {
- // $disziplinZusatzrunde = new DOMIT_Document();
- // $success = $disziplinZusatzrunde->loadXML($_FILES["daten_zusatzrunde"]["tmp_name"]);
- $disziplinZusatzrunde = new DOMDocument();
- $disziplinZusatzrunde->recover = true;
- $success = $disziplinZusatzrunde->load($_FILES["daten_zusatzrunde"]["tmp_name"]);
- if (!$success) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei ist keine XML-Datei.");
-
- return;
- }
- }
- }
-
- // Daten zu 2. Zusatzrunde laden
- $disziplinZusatzrunde2 = null;
- if (!empty($_FILES["daten_zusatzrunde2"]["tmp_name"])) {
- if (is_uploaded_file($_FILES["daten_zusatzrunde2"]["tmp_name"])) {
- // $disziplinZusatzrunde2 = new DOMIT_Document();
- // $success = $disziplinZusatzrunde2->loadXML($_FILES["daten_zusatzrunde2"]["tmp_name"]);
- $disziplinZusatzrunde2 = new DOMDocument();
- $disziplinZusatzrunde2->recover = true;
- $success = $disziplinZusatzrunde2->load($_FILES["daten_zusatzrunde2"]["tmp_name"]);
- if (!$success) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei ist keine XML-Datei.");
-
- return;
- }
- }
- }
-
- // Daten zu Hauptrunde laden
- // $disziplin = new DOMIT_Document();
- // $success = $disziplin->loadXML($_FILES["daten"]["tmp_name"]);
- $disziplin = new DOMDocument();
- $disziplin->recover = true;
- $success = $disziplin->load($_FILES["daten"]["tmp_name"]);
- if (!$success) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei ist keine XML-Datei.");
-
- return;
- }
-
- if ($disziplinVorrunde != null) {
- $matchingNodes = $disziplinVorrunde->getElementsByTagName("disziplin");
- if ($matchingNodes == null) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei enthaelt keine Disziplin.");
-
- return;
- }
- // if ($matchingNodes->getLength() != 1) {
- if ($matchingNodes->length != 1) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
-
- return;
- }
- }
-
- if ($disziplinZusatzrunde != null) {
- $matchingNodes = $disziplinZusatzrunde->getElementsByTagName("disziplin");
- if ($matchingNodes == null) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei enthaelt keine Disziplin.");
-
- return;
- }
- // if ($matchingNodes->getLength() != 1) {
- if ($matchingNodes->length != 1) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
-
- return;
- }
- }
-
- if ($disziplinZusatzrunde2 != null) {
- $matchingNodes = $disziplinZusatzrunde2->getElementsByTagName("disziplin");
- if ($matchingNodes == null) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei enthaelt keine Disziplin.");
-
- return;
- }
- // if ($matchingNodes->getLength() != 1) {
- if ($matchingNodes->length != 1) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
-
- return;
- }
- }
-
- $matchingNodes = $disziplin->getElementsByTagName("disziplin");
- if ($matchingNodes == null) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die uebergebene Datei enthaelt keine Disziplin.");
-
- return;
- }
- // if ($matchingNodes->getLength() != 1) {
- if ($matchingNodes->length != 1) {
- /*
- $handle = fopen ($_FILES["daten"]["tmp_name"], "r");
- while (!feof($handle)) {
- $buffer = chop(utf8_encode(fgets($handle, 4096)));
- echo htmlentities_utf8($buffer) . " ";
- }
- fclose($handle);
- echo "... ";
- */
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die uebergebene Datei darf nur eine Disziplin enthalten.");
-
- return;
- }
-
- // Spieler-Ids über Spielerliste ermitteln
- $meldungenSpieler = array();
- $meldungenPlatz = array();
- foreach (array(0, 1, 2, 3, 10) as $rundenstufe)
- $meldungenPlatz[$rundenstufe] = array();
- //$meldungenVerein = array();
- $meldungenIds = array();
- $matchingNodes = $disziplin->getElementsByTagName("meldung");
- if ($matchingNodes != null) {
- // $totalHauptrunde = $matchingNodes->getLength();
- $totalHauptrunde = $matchingNodes->length;
- for ($i = 0; $i < $totalHauptrunde; $i++) {
- $currNode = $matchingNodes->item($i);
- // $meldungName = utf8_encode($currNode->getAttribute("name"));
- $meldungName = $currNode->getAttribute("name");
- $meldungPlatz = $currNode->getAttribute("platz");
- $meldungenSpieler[$meldungName] = array();
- $meldungenPlatz[0][$meldungName] = $meldungPlatz;
- $meldungenPlatz[1][$meldungName] = $meldungPlatz;
-
-// $spieler = $currNode->firstChild;
-// while ($spieler != NULL) {
- $spielerNodes = $currNode->getElementsByTagName("spieler");
- foreach ($spielerNodes as $spieler) {
- $spielernr = $spieler->getAttribute("spielerpass");
-
- if (!empty($spielernr)) {
- // Spielernummern und -namen ermitteln
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '$spielernr') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $s = $db->loadObjectList();
- $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
- }
- else
- $gefunden = null;
-
- if (!$gefunden) {
- // $spielerVorname = $spieler->hasAttribute("vorname") ? utf8_encode(trim($spieler->getAttribute("vorname"))) : "";
- // $spielerNachname = utf8_encode(trim($spieler->getAttribute("nachname")));
- // $spielerVerein = utf8_encode(trim($spieler->getAttribute("verein")));
- $spielerVorname = $spieler->hasAttribute("vorname") ? trim($spieler->getAttribute("vorname")) : "";
- $spielerNachname = trim($spieler->getAttribute("nachname"));
- $spielerVerein = trim($spieler->getAttribute("verein"));
-
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE " . $wertungsbedingung . "STRCMP(nachname, '" . $db->escape($spielerNachname) . "') = 0 AND STRCMP(vorname, '" . $db->escape($spielerVorname) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $s = $db->loadObjectList();
- $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
- }
-
- if ($gefunden != -1 && $gefunden != null)
- array_push($meldungenSpieler[$meldungName], $gefunden);
- else
- array_push($meldungenSpieler[$meldungName], array($spielerNachname, $spielerVorname, $spielerVerein));
-// $spieler = $spieler->nextSibling;
- }
- }
-
- $neueMeldungenZusatzrunde = 0;
- if ($disziplinZusatzrunde != null) {
- $matchingNodesZusatzrunde = $disziplinZusatzrunde->getElementsByTagName("meldung");
- if ($matchingNodesZusatzrunde != null) {
- //$totalZusatzrunde = $matchingNodesZusatzrunde->getLength();
- $totalZusatzrunde = $matchingNodesZusatzrunde->length;
- for ($i = 0; $i < $totalZusatzrunde; $i++) {
- $currNode = $matchingNodesZusatzrunde->item($i);
- // $meldungName = utf8_encode($currNode->getAttribute("name"));
- $meldungName = $currNode->getAttribute("name");
- //if (!isset($meldungenVerein[$meldungName]))
- // $meldungenVerein[$meldungName] = utf8_encode($currNode->getAttribute("verein"));
- $meldungPlatz = $currNode->getAttribute("platz");
- $meldungenPlatz[2][$meldungName] = $meldungPlatz;
- if (!isset($meldungenSpieler[$meldungName])) {
- $neueMeldungenZusatzrunde++;
- $meldungenSpieler[$meldungName] = array();
- $meldungenPlatz[0][$meldungName] = $totalHauptrunde + $meldungPlatz;
-
- // $spieler = $currNode->firstChild;
- // while ($spieler != NULL) {
- $spielerNodes = $currNode->getElementsByTagName("spieler");
- foreach ($spielerNodes as $spieler) {
- $spielernr = $spieler->getAttribute("spielerpass");
-
- if (!empty($spielernr)) {
- // Spielernummern und -namen ermitteln
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $s = $db->loadObjectList();
- $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
- }
- else
- $gefunden = null;
-
- if (!$gefunden) {
- // $spielerVorname = $spieler->hasAttribute("vorname") ? utf8_encode(trim($spieler->getAttribute("vorname"))) : "";
- // $spielerNachname = utf8_encode(trim($spieler->getAttribute("nachname")));
- // $spielerVerein = utf8_encode(trim($spieler->getAttribute("verein")));
- $spielerVorname = $spieler->hasAttribute("vorname") ? trim($spieler->getAttribute("vorname")) : "";
- $spielerNachname = trim($spieler->getAttribute("nachname"));
- $spielerVerein = trim($spieler->getAttribute("verein"));
-
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE " . $wertungsbedingung . "STRCMP(nachname, '" . $db->escape($spielerNachname) . "') = 0 AND STRCMP(vorname, '" . $db->escape($spielerVorname) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $s = $db->loadObjectList();
- $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
- }
-
- if ($gefunden != -1 && $gefunden != null)
- array_push($meldungenSpieler[$meldungName], $gefunden);
- else
- array_push($meldungenSpieler[$meldungName], array($spielerNachname, $spielerVorname, $spielerVerein));
- // $spieler = $spieler->nextSibling;
- }
- }
- }
- }
- }
- else
- $totalZusatzrunde = 0;
-
- $neueMeldungenZusatzrunde2 = 0;
- if ($disziplinZusatzrunde2 != null) {
- $matchingNodesZusatzrunde2 = $disziplinZusatzrunde2->getElementsByTagName("meldung");
- if ($matchingNodesZusatzrunde2 != null) {
- // $totalZusatzrunde2 = $matchingNodesZusatzrunde2->getLength();
- $totalZusatzrunde2 = $matchingNodesZusatzrunde2->length;
- for ($i = 0; $i < $totalZusatzrunde2; $i++) {
- $currNode = $matchingNodesZusatzrunde2->item($i);
- // $meldungName = utf8_encode($currNode->getAttribute("name"));
- $meldungName = $currNode->getAttribute("name");
- //if (!isset($meldungenVerein[$meldungName]))
- // $meldungenVerein[$meldungName] = utf8_encode($currNode->getAttribute("verein"));
- $meldungPlatz = $currNode->getAttribute("platz");
- $meldungenPlatz[3][$meldungName] = $meldungPlatz;
- if (!isset($meldungenSpieler[$meldungName])) {
- $neueMeldungenZusatzrunde2++;
- $meldungenSpieler[$meldungName] = array();
- $meldungenPlatz[0][$meldungName] = $totalHauptrunde + $neueMeldungenZusatzrunde + $meldungPlatz;
-
- // $spieler = $currNode->firstChild;
- // while ($spieler != NULL) {
- $spielerNodes = $currNode->getElementsByTagName("spieler");
- foreach ($spielerNodes as $spieler) {
- $spielernr = $spieler->getAttribute("spielerpass");
-
- if (!empty($spielernr)) {
- // Spielernummern und -namen ermitteln
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $s = $db->loadObjectList();
- $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
- }
- else
- $gefunden = null;
-
- if (!$gefunden) {
- // $spielerVorname = $spieler->hasAttribute("vorname") ? utf8_encode(trim($spieler->getAttribute("vorname"))) : "";
- // $spielerNachname = utf8_encode(trim($spieler->getAttribute("nachname")));
- // $spielerVerein = utf8_encode(trim($spieler->getAttribute("verein")));
- $spielerVorname = $spieler->hasAttribute("vorname") ? trim($spieler->getAttribute("vorname")) : "";
- $spielerNachname = trim($spieler->getAttribute("nachname"));
- $spielerVerein = trim($spieler->getAttribute("verein"));
-
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE " . $wertungsbedingung . "STRCMP(nachname, '" . $db->escape($spielerNachname) . "') = 0 AND STRCMP(vorname, '" . $db->escape($spielerVorname) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $s = $db->loadObjectList();
- $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
- }
-
- if ($gefunden != -1 && $gefunden != null)
- array_push($meldungenSpieler[$meldungName], $gefunden);
- else
- array_push($meldungenSpieler[$meldungName], array($spielerNachname, $spielerVorname, $spielerVerein));
- // $spieler = $spieler->nextSibling;
- }
- }
- }
- }
- }
- else
- $totalZusatzrunde2 = 0;
-
- $disziplinVorrundeErsterPlatz = 0;
- if ($disziplinVorrunde != null) {
- $matchingNodesVorrunde = $disziplinVorrunde->getElementsByTagName("meldung");
- if ($matchingNodesVorrunde != null) {
- // $totalVorrunde = $matchingNodesVorrunde->getLength();
- $totalVorrunde = $matchingNodesVorrunde->length;
- for ($i = 0; $i < $totalVorrunde; $i++) {
- $currNode = $matchingNodesVorrunde->item($i);
- // $meldungName = utf8_encode($currNode->getAttribute("name"));
- $meldungName = $currNode->getAttribute("name");
- if (isset($meldungenSpieler[$meldungName]))
- continue;
- $meldungPlatz = $currNode->getAttribute("platz");
- if ($meldungPlatz < $disziplinVorrundeErsterPlatz || $disziplinVorrundeErsterPlatz == 0)
- $disziplinVorrundeErsterPlatz = $meldungPlatz;
- }
-
- for ($i = 0; $i < $totalVorrunde; $i++) {
- $currNode = $matchingNodesVorrunde->item($i);
- // $meldungName = utf8_encode($currNode->getAttribute("name"));
- $meldungName = $currNode->getAttribute("name");
- //if (!isset($meldungenVerein[$meldungName]))
- // $meldungenVerein[$meldungName] = utf8_encode($currNode->getAttribute("verein"));
- $meldungPlatz = $currNode->getAttribute("platz");
- $meldungenPlatz[10][$meldungName] = $meldungPlatz;
- if ($disziplinVorrundeErsterPlatz == 0)
- $disziplinVorrundeErsterPlatz = $meldungPlatz;
- if (!isset($meldungenSpieler[$meldungName])) {
- $meldungenSpieler[$meldungName] = array();
- $meldungenPlatz[0][$meldungName] = $totalHauptrunde + $neueMeldungenZusatzrunde + $neueMeldungenZusatzrunde2 + $meldungPlatz - $disziplinVorrundeErsterPlatz + 1;
-
- // $spieler = $currNode->firstChild;
- // while ($spieler != NULL) {
- $spielerNodes = $currNode->getElementsByTagName("spieler");
- foreach ($spielerNodes as $spieler) {
- $spielernr = $spieler->getAttribute("spielerpass");
-
- if (!empty($spielernr)) {
- // Spielernummern und -namen ermitteln
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $s = $db->loadObjectList();
- $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
- }
- else
- $gefunden = null;
-
- if (!$gefunden) {
- // $spielerVorname = $spieler->hasAttribute("vorname") ? utf8_encode(trim($spieler->getAttribute("vorname"))) : "";
- // $spielerNachname = utf8_encode(trim($spieler->getAttribute("nachname")));
- // $spielerVerein = utf8_encode(trim($spieler->getAttribute("verein")));
- $spielerVorname = $spieler->hasAttribute("vorname") ? trim($spieler->getAttribute("vorname")) : "";
- $spielerNachname = trim($spieler->getAttribute("nachname"));
- $spielerVerein = trim($spieler->getAttribute("verein"));
-
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE " . $wertungsbedingung . "STRCMP(nachname, '" . $db->escape($spielerNachname) . "') = 0 AND STRCMP(vorname, '" . $db->escape($spielerVorname) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $s = $db->loadObjectList();
- $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
- }
-
- if ($gefunden != -1 && $gefunden != null)
- array_push($meldungenSpieler[$meldungName], $gefunden);
- else
- array_push($meldungenSpieler[$meldungName], array($spielerNachname, $spielerVorname, $spielerVerein));
- // $spieler = $spieler->nextSibling;
- }
- }
- }
- }
- }
-
- // Meldungen speichern
- foreach ($meldungenSpieler as $meldungName => $spielerIds) {
- $meldungPlatz = $meldungenPlatz[0][$meldungName];
- $query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, rundenstufe, platz)"
- . "\n VALUES ('$id', '0', '$meldungPlatz');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $meldungId = $db->insertid();
- $meldungenIds[$meldungName] = $meldungId;
-
- foreach ($spielerIds as $spielerId) {
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)"
- . "\n VALUES ('$meldungId', " . (!is_array($spielerId) ? "'$spielerId'" : "NULL") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $meldungSpielerId = $db->insertid();
-
- if (is_array($spielerId)) {
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
- . "\n VALUES ('$meldungSpielerId', '" . $db->escape($spielerId[0]) . "', '" . $db->escape($spielerId[1]) . "', '" . $db->escape($spielerId[2]) . "');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
-
- $rundenstufen = array(0);
- $platzierungen = array(0 => $meldungenPlatz[0][$meldungName]);
- foreach (array(1, 2, 3, 10) as $rundenstufe) {
- if (isset($meldungenPlatz[$rundenstufe][$meldungName])) {
- array_push($rundenstufen, $rundenstufe);
- $platzierungen[$rundenstufe] = $meldungenPlatz[$rundenstufe][$meldungName];
- }
- }
- meldungsgruppe_verknuepfen($meldungId, $rundenstufen, $platzierungen);
- }
- }
-
- // Spiele speichern
- $totalVorrunde = 0;
- if ($disziplinVorrunde != null) {
- $matchingNodes = $disziplinVorrunde->getElementsByTagName("runde");
- if ($matchingNodes != null) {
- // $totalVorrunde = $matchingNodes->getLength();
- $totalVorrunde = $matchingNodes->length;
- $ergebnis_saetze_maximum = 0;
- for ($i = 0; $i < $totalVorrunde; $i++) {
- $currNode = $matchingNodes->item($i);
- $rundenNr = $currNode->getAttribute("no");
-
- // $spiel = $currNode->firstChild;
- // while ($spiel != NULL) {
- $spielNodes = $currNode->getElementsByTagName("spiel");
- foreach ($spielNodes as $spiel) {
- // $heim = utf8_encode($spiel->getAttribute("heim"));
- // $gast = utf8_encode($spiel->getAttribute("gast"));
- $heim = $spiel->getAttribute("heim");
- $gast = $spiel->getAttribute("gast");
-
- $heimGewonneneSaetze = 0;
- $gastGewonneneSaetze = 0;
- $ergebnis_detailliert = "";
- $ergebnis_saetze = 0;
- // $satz = $spiel->firstChild;
- // while ($satz != NULL) {
- $satzNodes = $spiel->getElementsByTagName("satz");
- foreach ($satzNodes as $satz) {
- $heimPunkte = $satz->getAttribute("heim");
- $gastPunkte = $satz->getAttribute("gast");
- if ($heimPunkte > $gastPunkte)
- $heimGewonneneSaetze++;
- else if ($heimPunkte < $gastPunkte)
- $gastGewonneneSaetze++;
- if ($heimPunkte > 1 || $gastPunkte > 1) {
- if (!empty($ergebnis_detailliert))
- $ergebnis_detailliert .= " ";
- $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
- $ergebnis_saetze++;
- }
- // $satz = $satz->nextSibling;
- }
- if ($ergebnis_saetze > $ergebnis_saetze_maximum)
- $ergebnis_saetze_maximum = $ergebnis_saetze;
-
- $heimId = $meldungenIds[$heim];
- $gastId = $meldungenIds[$gast];
- $spielNr = $i + 1;
- if ($heimGewonneneSaetze > $gastGewonneneSaetze)
- $ergebnis = 1;
- else if ($heimGewonneneSaetze < $gastGewonneneSaetze)
- $ergebnis = 2;
- else
- $ergebnis = 0;
-
- $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
- . "\n VALUES ('$id', '$spielNr', '$rundenNr', '10', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- // $spiel = $spiel->nextSibling;
- }
- }
- if ($ergebnis_saetze_maximum > 0) {
- $query = "INSERT #__sportsmanager_turnier_rundenstufe"
- . "\n SET bezeichnung = '',"
- . "\n typ = null,"
- . "\n runden = null,"
- . "\n tabellenwertung = null,"
- . "\n saetze = " . ($ergebnis_saetze_maximum != 0 ? "'$ergebnis_saetze_maximum'" : "null") . ","
- . "\n tore = null,"
- . "\n spielfelder = null,"
- . "\n turnierdisziplin_id = '$id',"
- . "\n rundenstufe = '10'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
-
- // Spiele speichern
- $totalZusatzrunde = 0;
- if ($disziplinZusatzrunde != null) {
- $matchingNodes = $disziplinZusatzrunde->getElementsByTagName("runde");
- if ($matchingNodes != null) {
- // $totalZusatzrunde = $matchingNodes->getLength();
- $totalZusatzrunde = $matchingNodes->length;
- $ergebnis_saetze_maximum = 0;
- for ($i = 0; $i < $totalZusatzrunde; $i++) {
- $currNode = $matchingNodes->item($i);
- $rundenNr = $currNode->getAttribute("no");
-
- // $spiel = $currNode->firstChild;
- // while ($spiel != NULL) {
- $spielNodes = $currNode->getElementsByTagName("spiel");
- foreach ($spielNodes as $spiel) {
- // $heim = utf8_encode($spiel->getAttribute("heim"));
- // $gast = utf8_encode($spiel->getAttribute("gast"));
- $heim = $spiel->getAttribute("heim");
- $gast = $spiel->getAttribute("gast");
-
- $heimGewonneneSaetze = 0;
- $gastGewonneneSaetze = 0;
- $ergebnis_detailliert = "";
- $ergebnis_saetze = 0;
- // $satz = $spiel->firstChild;
- // while ($satz != NULL) {
- $satzNodes = $spiel->getElementsByTagName("satz");
- foreach ($satzNodes as $satz) {
- $heimPunkte = $satz->getAttribute("heim");
- $gastPunkte = $satz->getAttribute("gast");
- if ($heimPunkte > $gastPunkte)
- $heimGewonneneSaetze++;
- else if ($heimPunkte < $gastPunkte)
- $gastGewonneneSaetze++;
- if ($heimPunkte > 1 || $gastPunkte > 1) {
- if (!empty($ergebnis_detailliert))
- $ergebnis_detailliert .= " ";
- $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
- $ergebnis_saetze++;
- }
- // $satz = $satz->nextSibling;
- }
- if ($ergebnis_saetze > $ergebnis_saetze_maximum)
- $ergebnis_saetze_maximum = $ergebnis_saetze;
-
- $heimId = $meldungenIds[$heim];
- $gastId = $meldungenIds[$gast];
- $spielNr = $i + 1;
- if ($heimGewonneneSaetze > $gastGewonneneSaetze)
- $ergebnis = 1;
- else if ($heimGewonneneSaetze < $gastGewonneneSaetze)
- $ergebnis = 2;
- else
- $ergebnis = 0;
-
- $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
- . "\n VALUES ('$id', '$spielNr', '$rundenNr', '2', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- // $spiel = $spiel->nextSibling;
- }
- }
- if ($ergebnis_saetze_maximum > 0) {
- $query = "INSERT #__sportsmanager_turnier_rundenstufe"
- . "\n SET bezeichnung = '',"
- . "\n typ = null,"
- . "\n runden = null,"
- . "\n tabellenwertung = null,"
- . "\n saetze = " . ($ergebnis_saetze_maximum != 0 ? "'$ergebnis_saetze_maximum'" : "null") . ","
- . "\n tore = null,"
- . "\n spielfelder = null,"
- . "\n turnierdisziplin_id = '$id',"
- . "\n rundenstufe = '2'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
-
- // Spiele speichern
- $totalZusatzrunde2 = 0;
- if ($disziplinZusatzrunde2 != null) {
- $matchingNodes = $disziplinZusatzrunde2->getElementsByTagName("runde");
- if ($matchingNodes != null) {
- // $totalZusatzrunde2 = $matchingNodes->getLength();
- $totalZusatzrunde2 = $matchingNodes->length;
- $ergebnis_saetze_maximum = 0;
- for ($i = 0; $i < $totalZusatzrunde2; $i++) {
- $currNode = $matchingNodes->item($i);
- $rundenNr = $currNode->getAttribute("no");
-
- // $spiel = $currNode->firstChild;
- // while ($spiel != NULL) {
- $spielNodes = $currNode->getElementsByTagName("spiel");
- foreach ($spielNodes as $spiel) {
- // $heim = utf8_encode($spiel->getAttribute("heim"));
- // $gast = utf8_encode($spiel->getAttribute("gast"));
- $heim = $spiel->getAttribute("heim");
- $gast = $spiel->getAttribute("gast");
-
- $heimGewonneneSaetze = 0;
- $gastGewonneneSaetze = 0;
- $ergebnis_detailliert = "";
- $ergebnis_saetze = 0;
- // $satz = $spiel->firstChild;
- // while ($satz != NULL) {
- $satzNodes = $spiel->getElementsByTagName("satz");
- foreach ($satzNodes as $satz) {
- $heimPunkte = $satz->getAttribute("heim");
- $gastPunkte = $satz->getAttribute("gast");
- if ($heimPunkte > $gastPunkte)
- $heimGewonneneSaetze++;
- else if ($heimPunkte < $gastPunkte)
- $gastGewonneneSaetze++;
- if ($heimPunkte > 1 || $gastPunkte > 1) {
- if (!empty($ergebnis_detailliert))
- $ergebnis_detailliert .= " ";
- $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
- $ergebnis_saetze++;
- }
- // $satz = $satz->nextSibling;
- }
- if ($ergebnis_saetze > $ergebnis_saetze_maximum)
- $ergebnis_saetze_maximum = $ergebnis_saetze;
-
- $heimId = $meldungenIds[$heim];
- $gastId = $meldungenIds[$gast];
- $spielNr = $i + 1;
- if ($heimGewonneneSaetze > $gastGewonneneSaetze)
- $ergebnis = 1;
- else if ($heimGewonneneSaetze < $gastGewonneneSaetze)
- $ergebnis = 2;
- else
- $ergebnis = 0;
-
- $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
- . "\n VALUES ('$id', '$spielNr', '$rundenNr', '3', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- // $spiel = $spiel->nextSibling;
- }
- }
- if ($ergebnis_saetze_maximum > 0) {
- $query = "INSERT #__sportsmanager_turnier_rundenstufe"
- . "\n SET bezeichnung = '',"
- . "\n typ = null,"
- . "\n runden = null,"
- . "\n tabellenwertung = null,"
- . "\n saetze = " . ($ergebnis_saetze_maximum != 0 ? "'$ergebnis_saetze_maximum'" : "null") . ","
- . "\n tore = null,"
- . "\n spielfelder = null,"
- . "\n turnierdisziplin_id = '$id',"
- . "\n rundenstufe = '3'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
-
- $matchingNodes = $disziplin->getElementsByTagName("runde");
- if ($matchingNodes != null) {
- // $total = $matchingNodes->getLength();
- $total = $matchingNodes->length;
- $ergebnis_saetze_maximum = 0;
- for ($i = 0; $i < $total; $i++) {
- $currNode = $matchingNodes->item($i);
- $rundenNr = $currNode->getAttribute("no");
-
- // $spiel = $currNode->firstChild;
- // while ($spiel != NULL) {
- $spielNodes = $currNode->getElementsByTagName("spiel");
- foreach ($spielNodes as $spiel) {
- // $heim = utf8_encode($spiel->getAttribute("heim"));
- // $gast = utf8_encode($spiel->getAttribute("gast"));
- $heim = $spiel->getAttribute("heim");
- $gast = $spiel->getAttribute("gast");
-
- $heimGewonneneSaetze = 0;
- $gastGewonneneSaetze = 0;
- $ergebnis_detailliert = "";
- $ergebnis_saetze = 0;
- // $satz = $spiel->firstChild;
- // while ($satz != NULL) {
- $satzNodes = $spiel->getElementsByTagName("satz");
- foreach ($satzNodes as $satz) {
- $heimPunkte = $satz->getAttribute("heim");
- $gastPunkte = $satz->getAttribute("gast");
- if ($heimPunkte > $gastPunkte)
- $heimGewonneneSaetze++;
- else if ($heimPunkte < $gastPunkte)
- $gastGewonneneSaetze++;
- if ($heimPunkte > 1 || $gastPunkte > 1) {
- if (!empty($ergebnis_detailliert))
- $ergebnis_detailliert .= " ";
- $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
- $ergebnis_saetze++;
- }
- // $satz = $satz->nextSibling;
- }
- if ($ergebnis_saetze > $ergebnis_saetze_maximum)
- $ergebnis_saetze_maximum = $ergebnis_saetze;
-
- $heimId = $meldungenIds[$heim];
- $gastId = $meldungenIds[$gast];
- $spielNr = $totalVorrunde + $i + 1;
- if ($heimGewonneneSaetze > $gastGewonneneSaetze)
- $ergebnis = 1;
- else if ($heimGewonneneSaetze < $gastGewonneneSaetze)
- $ergebnis = 2;
- else
- $ergebnis = 0;
-
- $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
- . "\n VALUES ('$id', '$spielNr', '$rundenNr', '1', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- // $spiel = $spiel->nextSibling;
- }
- }
- if ($ergebnis_saetze_maximum > 0) {
- $query = "INSERT #__sportsmanager_turnier_rundenstufe"
- . "\n SET bezeichnung = '',"
- . "\n typ = null,"
- . "\n runden = null,"
- . "\n tabellenwertung = null,"
- . "\n saetze = " . ($ergebnis_saetze_maximum != 0 ? "'$ergebnis_saetze_maximum'" : "null") . ","
- . "\n tore = null,"
- . "\n spielfelder = null,"
- . "\n turnierdisziplin_id = '$id',"
- . "\n rundenstufe = '1'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
- }
- }
-
- foreach (array(1, 2, 3, 10) as $rundenstufe) {
- $query = "SELECT runde, COUNT(*) AS spiele"
- . "\n FROM #__sportsmanager_turnierspiel"
- . "\n WHERE turnierdisziplin_id = $id AND rundenstufe = $rundenstufe"
- . "\n GROUP BY runde"
- . "\n ORDER BY runde DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $runden = $db->loadObjectList();
-
- if (count($runden) < 2
- || ($runden[0]->spiele != 1 && $runden[0]->spiele != 2)
- || $runden[1]->spiele != 2)
- continue;
- if (count($runden) >= 3
- && ($runden[2]->spiele > 4))
- continue;
- if (count($runden) >= 4
- && ($runden[2]->spiele != 4 || $runden[3]->spiele > 8))
- continue;
- if (count($runden) >= 5
- && ($runden[3]->spiele != 8 || $runden[4]->spiele > 16))
- continue;
-
- $query = "SELECT turnierspiel_id"
- . "\n FROM #__sportsmanager_turnierspiel"
- . "\n WHERE turnierdisziplin_id = $id AND rundenstufe = $rundenstufe AND runde = " . $runden[0]->runde
- . "\n ORDER BY turnierspiel_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
- $query = "UPDATE #__sportsmanager_turnierspiel"
- . "\n SET runde = '19999'"
- . "\n WHERE turnierspiel_id = '" . $rows[0]->turnierspiel_id . "'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- if (count($rows) >= 2) {
- $query = "UPDATE #__sportsmanager_turnierspiel"
- . "\n SET runde = '19998'"
- . "\n WHERE turnierspiel_id = '" . $rows[1]->turnierspiel_id . "'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- for ($i = 1; $i < count($runden) && $i <= 6; $i++) {
- $query = "UPDATE #__sportsmanager_turnierspiel"
- . "\n SET runde = '" . (19998 - $i) . "'"
- . "\n WHERE turnierdisziplin_id = $id AND rundenstufe = $rundenstufe AND runde = " . $runden[$i]->runde;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
-
- if ($elo_aktualisieren) {
+#[NoReturn] function adminImportTurnierdisziplinMeldungenSpiele(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff();
+
+ $id = $jInput->get('turnierdisziplinid', 0, 'INT');
+ $veranstalter_id = $jInput->get('veranstalterid', 0, 'INT');
+
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id);
+ }
+
+ // Sicherstellen, dass Turnierdisziplin zum Turnier gehört
+ $query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, typ, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
+
+ if (benutzerZugriff("turniere_aendern"))
+ $zugriffsebene = 2;
+ else if (benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ $zugriffsebene = 1;
+ else
+ keinZugriff();
+
+ if ($zugriffsebene == 2 && $veranstalter_id != 0)
+ $wertungsbedingung = "(SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein LEFT JOIN #__sportsmanager_verein USING (verein_id) WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND veranstalter_id = $veranstalter_id) > 0 AND ";
+ else
+ $wertungsbedingung = "NOT ISNULL(aktueller_verein_id) AND ";
+
+ $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, elo_wertung FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $turnierdisziplin = $rows[0];
+
+ $elo_aktualisieren = $turnierdisziplin->elo_wertung;
+ $aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null;
+
+ if (!empty($_FILES["daten"]["tmp_name"])) {
+ if (is_uploaded_file($_FILES["daten"]["tmp_name"])) {
+ $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id AND rundenstufe <> 20;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE #__sportsmanager_turniermeldung_spieler FROM #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND turnierdisziplin_id = $id AND rundenstufe <> 20;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $id AND rundenstufe <> 20;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "DELETE FROM #__sportsmanager_turnier_rundenstufe WHERE turnierdisziplin_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $handle = fopen($_FILES["daten"]["tmp_name"], "r");
+ if (!$handle) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die übergebene Datei kann nicht geöffnet werden.");
+ }
+ if (feof($handle)) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die übergebene Datei ist leer.");
+ }
+ $titelzeile = chop(utf8_encode(fgets($handle, 4096)));
+ if (str_starts_with($titelzeile, "sep=")) {
+ $titelzeile = chop(utf8_encode(fgets($handle, 4096)));
+ }
+ if (str_contains($titelzeile, "\t"))
+ $trennzeichen = "\t";
+ else if (str_contains($titelzeile, ";"))
+ $trennzeichen = ";";
+ else
+ $trennzeichen = ",";
+
+ $spalte = array();
+ $titel = explode($trennzeichen, strtolower($titelzeile));
+
+ foreach ($titel as $index => $bezeichnung) {
+ if ($bezeichnung == "platz" || $bezeichnung == "platzierung")
+ $spalte["platz"] = $index;
+ else if ($bezeichnung == "itsf")
+ $spalte["itsf"] = $index;
+ else if ($bezeichnung == "name" || $bezeichnung == "nachname" || $bezeichnung == "name1" || $bezeichnung == "nachname1" || $bezeichnung == "nachname 1")
+ $spalte["nachname1"] = $index;
+ else if ($bezeichnung == "vorname" || $bezeichnung == "vorname1" || $bezeichnung == "vorname 1")
+ $spalte["vorname1"] = $index;
+ else if ($bezeichnung == "spielernr" || $bezeichnung == "spielernr1" || $bezeichnung == "spielernr. 1")
+ $spalte["spielernr1"] = $index;
+ else if ($bezeichnung == "verein" || $bezeichnung == "verein1" || $bezeichnung == "vereinsname" || $bezeichnung == "vereinsname1" || $bezeichnung == "vereinsname 1")
+ $spalte["verein1"] = $index;
+ else if ($bezeichnung == "name2" || $bezeichnung == "nachname2" || $bezeichnung == "nachname 2")
+ $spalte["nachname2"] = $index;
+ else if ($bezeichnung == "vorname2" || $bezeichnung == "vorname 2")
+ $spalte["vorname2"] = $index;
+ else if ($bezeichnung == "spielernr2" || $bezeichnung == "spielernr. 2")
+ $spalte["spielernr2"] = $index;
+ else if ($bezeichnung == "verein2" || $bezeichnung == "vereinsname2" || $bezeichnung == "vereinsname 2")
+ $spalte["verein1"] = $index;
+ }
+
+ // CSV-Import
+ if ((isset($spalte["platz"]) && isset($spalte["vorname1"]) && isset($spalte["nachname1"])) || isset($spalte["itsf"])) {
+ $spielerMeldungen = array();
+
+ $ist_doppel = false;
+ if (isset($spalte["vorname2"]) && isset($spalte["nachname2"]))
+ $ist_doppel = true;
+
+ while (!feof($handle)) {
+ $buffer = chop(utf8_encode(fgets($handle, 4096)));
+ $daten = explode($trennzeichen, $buffer);
+
+ foreach ($daten as $index => $wert) {
+ $wert = trim($wert);
+ $len = strlen($wert);
+ if ($len < 2 || $wert[0] != '"' || $wert[$len - 1] != '"')
+ $daten[$index] = $wert;
+ else
+ $daten[$index] = str_replace('""', '"', substr($wert, 1, $len - 2));
+ }
+ $vorname2 = null;
+ $nachname2 = null;
+ $verein2 = null;
+ if (isset($spalte["itsf"])) {
+ if (!isset($daten[$spalte["itsf"]]))
+ continue;
+ $itsf_daten = $daten[$spalte["itsf"]];
+ if (empty($itsf_daten))
+ continue;
+
+ if (!$ist_doppel && str_contains($itsf_daten, " - ")) {
+ if (count($spielerMeldungen) != 0)
+ continue;
+ $ist_doppel = true;
+ }
+
+ $nachname1 = "";
+ $vorname1 = "";
+ $spielernr1 = "";
+ $verein1 = "";
+ if ($ist_doppel) {
+ $nachname2 = "";
+ $vorname2 = "";
+ $spielernr2 = "";
+ $verein2 = "";
+ }
+
+ $itsf_felder = explode(" ", $itsf_daten);
+ $position = 0; // 0: Platz, 1: Vorname1, 2: Nachname1, 3: Land1, 4: Vorname2, 5: Nachname2, 6: Land2
+ foreach ($itsf_felder as $feld) {
+ if ($position == 0) {
+ if (!is_numeric($feld))
+ break;
+ $platz = $feld;
+ $position++;
+ continue;
+ }
+ if ($position == 1) {
+ if (strtoupper($feld) != $feld) {
+ if (!empty($vorname1))
+ $vorname1 .= " ";
+ $vorname1 .= $feld;
+ continue;
+ }
+ $position = 2;
+ }
+ if ($position == 2) {
+ if ($feld != "-" && !str_starts_with($feld, "(")) {
+ if (!empty($nachname1))
+ $nachname1 .= " ";
+ $nachname1 .= substr($feld, 0, 1) . strtolower(substr($feld, 1));
+ continue;
+ }
+ $position = 3;
+ }
+ if ($position == 3) {
+ if ($feld == "-")
+ continue;
+ if (str_starts_with($feld, "(") && substr($feld, 4) == ")") {
+ $verein1 = substr($feld, 1, 3);
+ continue;
+ }
+ if (!$ist_doppel)
+ break;
+ $position = 4;
+ }
+ if ($position == 4) {
+ if (strtoupper($feld) != $feld) {
+ if (!empty($vorname2))
+ $vorname2 .= " ";
+ $vorname2 .= $feld;
+ continue;
+ }
+ $position = 5;
+ }
+ if ($position == 5) {
+ if ($feld != "-" && !str_starts_with($feld, "(")) {
+ if (ctype_digit($feld))
+ continue;
+ if (!empty($nachname2))
+ $nachname2 .= " ";
+ $nachname2 .= substr($feld, 0, 1) . strtolower(substr($feld, 1));
+ continue;
+ }
+ $position = 6;
+ }
+ if ($position == 6) {
+ if ($feld == "-")
+ continue;
+ if (str_starts_with($feld, "(") && substr($feld, 4) == ")") {
+ $verein2 = substr($feld, 1, 3);
+ continue;
+ }
+ break;
+ }
+ }
+
+ if (empty($platz) || empty($vorname1) || empty($nachname1))
+ continue;
+ if ($ist_doppel && (empty($vorname2) || empty($nachname2)))
+ continue;
+ } else {
+ $platz = str_replace(".", "", $daten[$spalte["platz"]]);
+ if (empty($platz))
+ continue;
+
+ if (!isset($daten[$spalte["vorname1"]]) || !isset($daten[$spalte["nachname1"]]))
+ continue;
+
+ $nachname1 = $daten[$spalte["nachname1"]];
+ $vorname1 = $daten[$spalte["vorname1"]];
+ $spielernr1 = isset($spalte["spielernr1"]) && isset($daten[$spalte["spielernr1"]]) ? $daten[$spalte["spielernr1"]] : "";
+ $verein1 = isset($spalte["verein1"]) && isset($daten[$spalte["verein1"]]) ? $daten[$spalte["verein1"]] : "";
+
+ if ($vorname1 == "" || $nachname1 == "")
+ continue;
+
+ if ($ist_doppel) {
+ if (!isset($daten[$spalte["vorname2"]]) || !isset($daten[$spalte["nachname2"]]))
+ continue;
+
+ $nachname2 = $daten[$spalte["nachname2"]];
+ $vorname2 = $daten[$spalte["vorname2"]];
+ $spielernr2 = isset($spalte["spielernr2"]) && isset($daten[$spalte["spielernr2"]]) ? $daten[$spalte["spielernr2"]] : "";
+ $verein2 = isset($spalte["verein2"]) && isset($daten[$spalte["verein2"]]) ? $daten[$spalte["verein2"]] : "";
+
+ if ($vorname2 == "" || $nachname2 == "")
+ continue;
+ }
+ }
+
+ if ($ist_doppel) {
+ // Spielernummern und -namen ermitteln
+ $spieler2_id = null;
+ if (!empty($spielernr2)) {
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr2) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $s = $db->loadObjectList();
+ if (count($s) == 1)
+ $spieler2_id = $s[0]->spieler_id;
+ }
+ if ($spieler2_id == null) {
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE " . $wertungsbedingung . "STRCMP(vorname, '" . $db->escape($vorname2) . "') = 0 AND STRCMP(nachname, '" . $db->escape($nachname2) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $s = $db->loadObjectList();
+ if (count($s) == 1)
+ $spieler2_id = $s[0]->spieler_id;
+ }
+ }
+
+ // Spielernummern und -namen ermitteln
+ $spieler1_id = null;
+ if (!empty($spielernr1)) {
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr1) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $s = $db->loadObjectList();
+ if (count($s) == 1)
+ $spieler1_id = $s[0]->spieler_id;
+ }
+ if ($spieler1_id == null) {
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE " . $wertungsbedingung . "STRCMP(vorname, '" . $db->escape($vorname1) . "') = 0 AND STRCMP(nachname, '" . $db->escape($nachname1) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $s = $db->loadObjectList();
+ if (count($s) == 1)
+ $spieler1_id = $s[0]->spieler_id;
+ }
+
+ $spielerMeldung = array();
+ $spielerMeldung["p"] = $platz;
+ if ($spieler1_id == null) {
+ $spielerMeldung["1n"] = $nachname1;
+ $spielerMeldung["1v"] = $vorname1;
+ $spielerMeldung["1vn"] = $verein1;
+ } else
+ $spielerMeldung["1"] = $spieler1_id;
+
+ if ($ist_doppel) {
+ if ($spieler2_id == null) {
+ $spielerMeldung["2n"] = $nachname2;
+ $spielerMeldung["2v"] = $vorname2;
+ $spielerMeldung["2vn"] = $verein2;
+ } else
+ $spielerMeldung["2"] = $spieler2_id;
+ }
+ $spielerMeldungen[] = $spielerMeldung;
+ }
+ fclose($handle);
+
+ foreach ($spielerMeldungen as $spielerMeldung) {
+ $platz = $spielerMeldung["p"];
+ $spieler1_id = $spielerMeldung["1"] ?? null;
+ if ($ist_doppel)
+ $spieler2_id = $spielerMeldung["2"] ?? null;
+
+ $query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, rundenstufe, platz)"
+ . "\n VALUES ('$id', '0', '$platz');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $meldungId = $db->insertid();
+
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)"
+ . "\n VALUES ('$meldungId', " . ($spieler1_id != null ? "'$spieler1_id'" : "NULL") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $meldungSpielerId = $db->insertid();
+
+ if ($spieler1_id == null) {
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
+ . "\n VALUES ('$meldungSpielerId', '" . $db->escape($spielerMeldung["1n"]) . "', '" . $db->escape($spielerMeldung["1v"]) . "', '" . $db->escape($spielerMeldung["1vn"]) . "');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ if ($ist_doppel) {
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)"
+ . "\n VALUES ('$meldungId', " . ($spieler2_id != null ? "'$spieler2_id'" : "NULL") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $meldungSpielerId = $db->insertid();
+
+ if ($spieler2_id == null) {
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
+ . "\n VALUES ('$meldungSpielerId', '" . $db->escape($spielerMeldung["2n"]) . "', '" . $db->escape($spielerMeldung["2v"]) . "', '" . $db->escape($spielerMeldung["2vn"]) . "');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+ } else { // XML-Import
+ fclose($handle);
+
+ // Daten zu Vorrunde laden
+ $disziplinVorrunde = null;
+ if (!empty($_FILES["daten_vorrunde"]["tmp_name"])) {
+ if (is_uploaded_file($_FILES["daten_vorrunde"]["tmp_name"])) {
+ $disziplinVorrunde = new DOMDocument();
+ $disziplinVorrunde->recover = true;
+ $success = $disziplinVorrunde->load($_FILES["daten_vorrunde"]["tmp_name"]);
+ if (!$success) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei ist keine XML-Datei.");
+ }
+ }
+ }
+
+ // Daten zu Zusatzrunde laden
+ $disziplinZusatzrunde = null;
+ if (!empty($_FILES["daten_zusatzrunde"]["tmp_name"])) {
+ if (is_uploaded_file($_FILES["daten_zusatzrunde"]["tmp_name"])) {
+ $disziplinZusatzrunde = new DOMDocument();
+ $disziplinZusatzrunde->recover = true;
+ $success = $disziplinZusatzrunde->load($_FILES["daten_zusatzrunde"]["tmp_name"]);
+ if (!$success) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei ist keine XML-Datei.");
+ }
+ }
+ }
+
+ // Daten zu 2. Zusatzrunde laden
+ $disziplinZusatzrunde2 = null;
+ if (!empty($_FILES["daten_zusatzrunde2"]["tmp_name"])) {
+ if (is_uploaded_file($_FILES["daten_zusatzrunde2"]["tmp_name"])) {
+ $disziplinZusatzrunde2 = new DOMDocument();
+ $disziplinZusatzrunde2->recover = true;
+ $success = $disziplinZusatzrunde2->load($_FILES["daten_zusatzrunde2"]["tmp_name"]);
+ if (!$success) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei ist keine XML-Datei.");
+ }
+ }
+ }
+
+ // Daten zu Hauptrunde laden
+ $disziplin = new DOMDocument();
+ $disziplin->recover = true;
+ $success = $disziplin->load($_FILES["daten"]["tmp_name"]);
+ if (!$success) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei ist keine XML-Datei.");
+ }
+
+ if ($disziplinVorrunde != null) {
+ $matchingNodes = $disziplinVorrunde->getElementsByTagName("disziplin");
+ if ($matchingNodes == null) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei enthaelt keine Disziplin.");
+ }
+ if ($matchingNodes->length != 1) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
+ }
+ }
+
+ if ($disziplinZusatzrunde != null) {
+ $matchingNodes = $disziplinZusatzrunde->getElementsByTagName("disziplin");
+ if ($matchingNodes == null) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei enthaelt keine Disziplin.");
+ }
+ if ($matchingNodes->length != 1) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
+ }
+ }
+
+ if ($disziplinZusatzrunde2 != null) {
+ $matchingNodes = $disziplinZusatzrunde2->getElementsByTagName("disziplin");
+ if ($matchingNodes == null) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei enthaelt keine Disziplin.");
+ }
+ if ($matchingNodes->length != 1) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
+ }
+ }
+
+ $matchingNodes = $disziplin->getElementsByTagName("disziplin");
+ if ($matchingNodes == null) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die uebergebene Datei enthaelt keine Disziplin.");
+ }
+ if ($matchingNodes->length != 1) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die uebergebene Datei darf nur eine Disziplin enthalten.");
+ }
+
+ // Spieler-Ids über Spielerliste ermitteln
+ $meldungenSpieler = array();
+ $meldungenPlatz = array();
+ foreach (array(0, 1, 2, 3, 10) as $rundenstufe)
+ $meldungenPlatz[$rundenstufe] = array();
+ $meldungenIds = array();
+ $matchingNodes = $disziplin->getElementsByTagName("meldung");
+ if ($matchingNodes != null) {
+ $totalHauptrunde = $matchingNodes->length;
+ for ($i = 0; $i < $totalHauptrunde; $i++) {
+ $currNode = $matchingNodes->item($i);
+ $meldungName = $currNode->getAttribute("name");
+ $meldungPlatz = (int)$currNode->getAttribute("platz");
+ $meldungenSpieler[$meldungName] = array();
+ $meldungenPlatz[0][$meldungName] = $meldungPlatz;
+ $meldungenPlatz[1][$meldungName] = $meldungPlatz;
+
+ $spielerNodes = $currNode->getElementsByTagName("spieler");
+ foreach ($spielerNodes as $spieler) {
+ $spielernr = $spieler->getAttribute("spielerpass");
+
+ if (!empty($spielernr)) {
+ // Spielernummern und -namen ermitteln
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '$spielernr') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $s = $db->loadObjectList();
+ $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
+ } else
+ $gefunden = null;
+
+ $spielerNachname = null;
+ $spielerVorname = null;
+ $spielerVerein = null;
+ if (!$gefunden) {
+ $spielerVorname = $spieler->hasAttribute("vorname") ? trim($spieler->getAttribute("vorname")) : "";
+ $spielerNachname = trim($spieler->getAttribute("nachname"));
+ $spielerVerein = trim($spieler->getAttribute("verein"));
+
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE " . $wertungsbedingung . "STRCMP(nachname, '" . $db->escape($spielerNachname) . "') = 0 AND STRCMP(vorname, '" . $db->escape($spielerVorname) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $s = $db->loadObjectList();
+ $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
+ }
+
+ if ($gefunden != -1 && $gefunden != null)
+ $meldungenSpieler[$meldungName][] = $gefunden;
+ else
+ $meldungenSpieler[$meldungName][] = array($spielerNachname, $spielerVorname, $spielerVerein);
+ }
+ }
+
+ $neueMeldungenZusatzrunde = 0;
+ if ($disziplinZusatzrunde != null) {
+ $matchingNodesZusatzrunde = $disziplinZusatzrunde->getElementsByTagName("meldung");
+ if ($matchingNodesZusatzrunde != null) {
+ $totalZusatzrunde = $matchingNodesZusatzrunde->length;
+ for ($i = 0; $i < $totalZusatzrunde; $i++) {
+ $currNode = $matchingNodesZusatzrunde->item($i);
+ $meldungName = $currNode->getAttribute("name");
+ $meldungPlatz = (int)$currNode->getAttribute("platz");
+ $meldungenPlatz[2][$meldungName] = $meldungPlatz;
+ if (!isset($meldungenSpieler[$meldungName])) {
+ $neueMeldungenZusatzrunde++;
+ $meldungenSpieler[$meldungName] = array();
+ $meldungenPlatz[0][$meldungName] = $totalHauptrunde + $meldungPlatz;
+
+ $spielerNodes = $currNode->getElementsByTagName("spieler");
+ foreach ($spielerNodes as $spieler) {
+ $spielernr = $spieler->getAttribute("spielerpass");
+
+ if (!empty($spielernr)) {
+ // Spielernummern und -namen ermitteln
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $s = $db->loadObjectList();
+ $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
+ } else
+ $gefunden = null;
+
+ $spielerVorname = null;
+ $spielerNachname = null;
+ $spielerVerein = null;
+ if (!$gefunden) {
+ $spielerVorname = $spieler->hasAttribute("vorname") ? trim($spieler->getAttribute("vorname")) : "";
+ $spielerNachname = trim($spieler->getAttribute("nachname"));
+ $spielerVerein = trim($spieler->getAttribute("verein"));
+
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE " . $wertungsbedingung . "STRCMP(nachname, '" . $db->escape($spielerNachname) . "') = 0 AND STRCMP(vorname, '" . $db->escape($spielerVorname) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $s = $db->loadObjectList();
+ $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
+ }
+
+ if ($gefunden != -1 && $gefunden != null)
+ $meldungenSpieler[$meldungName][] = $gefunden;
+ else
+ $meldungenSpieler[$meldungName][] = array($spielerNachname, $spielerVorname, $spielerVerein);
+ }
+ }
+ }
+ }
+ }
+
+ $neueMeldungenZusatzrunde2 = 0;
+ if ($disziplinZusatzrunde2 != null) {
+ $matchingNodesZusatzrunde2 = $disziplinZusatzrunde2->getElementsByTagName("meldung");
+ if ($matchingNodesZusatzrunde2 != null) {
+ $totalZusatzrunde2 = $matchingNodesZusatzrunde2->length;
+ for ($i = 0; $i < $totalZusatzrunde2; $i++) {
+ $currNode = $matchingNodesZusatzrunde2->item($i);
+ $meldungName = $currNode->getAttribute("name");
+ $meldungPlatz = (int)$currNode->getAttribute("platz");
+ $meldungenPlatz[3][$meldungName] = $meldungPlatz;
+ if (!isset($meldungenSpieler[$meldungName])) {
+ $neueMeldungenZusatzrunde2++;
+ $meldungenSpieler[$meldungName] = array();
+ $meldungenPlatz[0][$meldungName] = $totalHauptrunde + $neueMeldungenZusatzrunde + $meldungPlatz;
+
+ $spielerNodes = $currNode->getElementsByTagName("spieler");
+ foreach ($spielerNodes as $spieler) {
+ $spielernr = $spieler->getAttribute("spielerpass");
+
+ if (!empty($spielernr)) {
+ // Spielernummern und -namen ermitteln
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $s = $db->loadObjectList();
+ $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
+ } else
+ $gefunden = null;
+
+ $spielerVorname = null;
+ $spielerNachname = null;
+ $spielerVerein = null;
+ if (!$gefunden) {
+ $spielerVorname = $spieler->hasAttribute("vorname") ? trim($spieler->getAttribute("vorname")) : "";
+ $spielerNachname = trim($spieler->getAttribute("nachname"));
+ $spielerVerein = trim($spieler->getAttribute("verein"));
+
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE " . $wertungsbedingung . "STRCMP(nachname, '" . $db->escape($spielerNachname) . "') = 0 AND STRCMP(vorname, '" . $db->escape($spielerVorname) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $s = $db->loadObjectList();
+ $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
+ }
+
+ if ($gefunden != -1 && $gefunden != null)
+ $meldungenSpieler[$meldungName][] = $gefunden;
+ else
+ $meldungenSpieler[$meldungName][] = array($spielerNachname, $spielerVorname, $spielerVerein);
+ }
+ }
+ }
+ }
+ }
+
+ $disziplinVorrundeErsterPlatz = 0;
+ if ($disziplinVorrunde != null) {
+ $matchingNodesVorrunde = $disziplinVorrunde->getElementsByTagName("meldung");
+ if ($matchingNodesVorrunde != null) {
+ $totalVorrunde = $matchingNodesVorrunde->length;
+ for ($i = 0; $i < $totalVorrunde; $i++) {
+ $currNode = $matchingNodesVorrunde->item($i);
+ $meldungName = $currNode->getAttribute("name");
+ if (isset($meldungenSpieler[$meldungName]))
+ continue;
+ $meldungPlatz = $currNode->getAttribute("platz");
+ if ($meldungPlatz < $disziplinVorrundeErsterPlatz || $disziplinVorrundeErsterPlatz == 0)
+ $disziplinVorrundeErsterPlatz = $meldungPlatz;
+ }
+
+ for ($i = 0; $i < $totalVorrunde; $i++) {
+ $currNode = $matchingNodesVorrunde->item($i);
+ $meldungName = $currNode->getAttribute("name");
+ $meldungPlatz = (int)$currNode->getAttribute("platz");
+ $meldungenPlatz[10][$meldungName] = $meldungPlatz;
+ if ($disziplinVorrundeErsterPlatz == 0)
+ $disziplinVorrundeErsterPlatz = $meldungPlatz;
+ if (!isset($meldungenSpieler[$meldungName])) {
+ $meldungenSpieler[$meldungName] = array();
+ $meldungenPlatz[0][$meldungName] = $totalHauptrunde + $neueMeldungenZusatzrunde + $neueMeldungenZusatzrunde2 + $meldungPlatz - $disziplinVorrundeErsterPlatz + 1;
+
+ $spielerNodes = $currNode->getElementsByTagName("spieler");
+ foreach ($spielerNodes as $spieler) {
+ $spielernr = $spieler->getAttribute("spielerpass");
+
+ if (!empty($spielernr)) {
+ // Spielernummern und -namen ermitteln
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $s = $db->loadObjectList();
+ $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
+ } else
+ $gefunden = null;
+
+ $spielerVorname = null;
+ $spielerNachname = null;
+ $spielerVerein = null;
+ if (!$gefunden) {
+ $spielerVorname = $spieler->hasAttribute("vorname") ? trim($spieler->getAttribute("vorname")) : "";
+ $spielerNachname = trim($spieler->getAttribute("nachname"));
+ $spielerVerein = trim($spieler->getAttribute("verein"));
+
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE " . $wertungsbedingung . "STRCMP(nachname, '" . $db->escape($spielerNachname) . "') = 0 AND STRCMP(vorname, '" . $db->escape($spielerVorname) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $s = $db->loadObjectList();
+ $gefunden = count($s) == 1 ? $s[0]->spieler_id : null;
+ }
+
+ if ($gefunden != -1 && $gefunden != null)
+ $meldungenSpieler[$meldungName][] = $gefunden;
+ else
+ $meldungenSpieler[$meldungName][] = array($spielerNachname, $spielerVorname, $spielerVerein);
+ }
+ }
+ }
+ }
+ }
+
+ // Meldungen speichern
+ foreach ($meldungenSpieler as $meldungName => $spielerIds) {
+ $meldungPlatz = $meldungenPlatz[0][$meldungName];
+ $query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, rundenstufe, platz)"
+ . "\n VALUES ('$id', '0', '$meldungPlatz');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $meldungId = $db->insertid();
+ $meldungenIds[$meldungName] = $meldungId;
+
+ foreach ($spielerIds as $spielerId) {
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)"
+ . "\n VALUES ('$meldungId', " . (!is_array($spielerId) ? "'$spielerId'" : "NULL") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $meldungSpielerId = $db->insertid();
+
+ if (is_array($spielerId)) {
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
+ . "\n VALUES ('$meldungSpielerId', '" . $db->escape($spielerId[0]) . "', '" . $db->escape($spielerId[1]) . "', '" . $db->escape($spielerId[2]) . "');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+
+ $rundenstufen = array(0);
+ $platzierungen = array(0 => $meldungenPlatz[0][$meldungName]);
+ foreach (array(1, 2, 3, 10) as $rundenstufe) {
+ if (isset($meldungenPlatz[$rundenstufe][$meldungName])) {
+ $rundenstufen[] = $rundenstufe;
+ $platzierungen[$rundenstufe] = $meldungenPlatz[$rundenstufe][$meldungName];
+ }
+ }
+ meldungsgruppe_verknuepfen($meldungId, $rundenstufen, $platzierungen);
+ }
+ }
+
+ // Spiele speichern
+ $totalVorrunde = 0;
+ if ($disziplinVorrunde != null) {
+ $matchingNodes = $disziplinVorrunde->getElementsByTagName("runde");
+ if ($matchingNodes != null) {
+ $totalVorrunde = $matchingNodes->length;
+ $ergebnis_saetze_maximum = 0;
+ for ($i = 0; $i < $totalVorrunde; $i++) {
+ $currNode = $matchingNodes->item($i);
+ $rundenNr = $currNode->getAttribute("no");
+
+ $spielNodes = $currNode->getElementsByTagName("spiel");
+ foreach ($spielNodes as $spiel) {
+ $heim = $spiel->getAttribute("heim");
+ $gast = $spiel->getAttribute("gast");
+
+ $heimGewonneneSaetze = 0;
+ $gastGewonneneSaetze = 0;
+ $ergebnis_detailliert = "";
+ $ergebnis_saetze = 0;
+ $satzNodes = $spiel->getElementsByTagName("satz");
+ foreach ($satzNodes as $satz) {
+ $heimPunkte = $satz->getAttribute("heim");
+ $gastPunkte = $satz->getAttribute("gast");
+ if ($heimPunkte > $gastPunkte)
+ $heimGewonneneSaetze++;
+ else if ($heimPunkte < $gastPunkte)
+ $gastGewonneneSaetze++;
+ if ($heimPunkte > 1 || $gastPunkte > 1) {
+ if (!empty($ergebnis_detailliert))
+ $ergebnis_detailliert .= " ";
+ $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
+ $ergebnis_saetze++;
+ }
+ }
+ if ($ergebnis_saetze > $ergebnis_saetze_maximum)
+ $ergebnis_saetze_maximum = $ergebnis_saetze;
+
+ $heimId = $meldungenIds[$heim];
+ $gastId = $meldungenIds[$gast];
+ $spielNr = $i + 1;
+ if ($heimGewonneneSaetze > $gastGewonneneSaetze)
+ $ergebnis = 1;
+ else if ($heimGewonneneSaetze < $gastGewonneneSaetze)
+ $ergebnis = 2;
+ else
+ $ergebnis = 0;
+
+ $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
+ . "\n VALUES ('$id', '$spielNr', '$rundenNr', '10', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ }
+ }
+ if ($ergebnis_saetze_maximum > 0) {
+ $query = "INSERT #__sportsmanager_turnier_rundenstufe"
+ . "\n SET bezeichnung = '',"
+ . "\n typ = null,"
+ . "\n runden = null,"
+ . "\n tabellenwertung = null,"
+ . "\n saetze = " . "'$ergebnis_saetze_maximum'" . ","
+ . "\n tore = null,"
+ . "\n spielfelder = null,"
+ . "\n turnierdisziplin_id = '$id',"
+ . "\n rundenstufe = '10'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+
+ // Spiele speichern
+ if ($disziplinZusatzrunde != null) {
+ $matchingNodes = $disziplinZusatzrunde->getElementsByTagName("runde");
+ if ($matchingNodes != null) {
+ $totalZusatzrunde = $matchingNodes->length;
+ $ergebnis_saetze_maximum = 0;
+ for ($i = 0; $i < $totalZusatzrunde; $i++) {
+ $currNode = $matchingNodes->item($i);
+ $rundenNr = $currNode->getAttribute("no");
+
+ $spielNodes = $currNode->getElementsByTagName("spiel");
+ foreach ($spielNodes as $spiel) {
+ $heim = $spiel->getAttribute("heim");
+ $gast = $spiel->getAttribute("gast");
+
+ $heimGewonneneSaetze = 0;
+ $gastGewonneneSaetze = 0;
+ $ergebnis_detailliert = "";
+ $ergebnis_saetze = 0;
+ $satzNodes = $spiel->getElementsByTagName("satz");
+ foreach ($satzNodes as $satz) {
+ $heimPunkte = $satz->getAttribute("heim");
+ $gastPunkte = $satz->getAttribute("gast");
+ if ($heimPunkte > $gastPunkte)
+ $heimGewonneneSaetze++;
+ else if ($heimPunkte < $gastPunkte)
+ $gastGewonneneSaetze++;
+ if ($heimPunkte > 1 || $gastPunkte > 1) {
+ if (!empty($ergebnis_detailliert))
+ $ergebnis_detailliert .= " ";
+ $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
+ $ergebnis_saetze++;
+ }
+ }
+ if ($ergebnis_saetze > $ergebnis_saetze_maximum)
+ $ergebnis_saetze_maximum = $ergebnis_saetze;
+
+ $heimId = $meldungenIds[$heim];
+ $gastId = $meldungenIds[$gast];
+ $spielNr = $i + 1;
+ if ($heimGewonneneSaetze > $gastGewonneneSaetze)
+ $ergebnis = 1;
+ else if ($heimGewonneneSaetze < $gastGewonneneSaetze)
+ $ergebnis = 2;
+ else
+ $ergebnis = 0;
+
+ $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
+ . "\n VALUES ('$id', '$spielNr', '$rundenNr', '2', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ if ($ergebnis_saetze_maximum > 0) {
+ $query = "INSERT #__sportsmanager_turnier_rundenstufe"
+ . "\n SET bezeichnung = '',"
+ . "\n typ = null,"
+ . "\n runden = null,"
+ . "\n tabellenwertung = null,"
+ . "\n saetze = " . "'$ergebnis_saetze_maximum'" . ","
+ . "\n tore = null,"
+ . "\n spielfelder = null,"
+ . "\n turnierdisziplin_id = '$id',"
+ . "\n rundenstufe = '2'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+
+ // Spiele speichern
+ if ($disziplinZusatzrunde2 != null) {
+ $matchingNodes = $disziplinZusatzrunde2->getElementsByTagName("runde");
+ if ($matchingNodes != null) {
+ $totalZusatzrunde2 = $matchingNodes->length;
+ $ergebnis_saetze_maximum = 0;
+ for ($i = 0; $i < $totalZusatzrunde2; $i++) {
+ $currNode = $matchingNodes->item($i);
+ $rundenNr = $currNode->getAttribute("no");
+
+ $spielNodes = $currNode->getElementsByTagName("spiel");
+ foreach ($spielNodes as $spiel) {
+ $heim = $spiel->getAttribute("heim");
+ $gast = $spiel->getAttribute("gast");
+
+ $heimGewonneneSaetze = 0;
+ $gastGewonneneSaetze = 0;
+ $ergebnis_detailliert = "";
+ $ergebnis_saetze = 0;
+ $satzNodes = $spiel->getElementsByTagName("satz");
+ foreach ($satzNodes as $satz) {
+ $heimPunkte = $satz->getAttribute("heim");
+ $gastPunkte = $satz->getAttribute("gast");
+ if ($heimPunkte > $gastPunkte)
+ $heimGewonneneSaetze++;
+ else if ($heimPunkte < $gastPunkte)
+ $gastGewonneneSaetze++;
+ if ($heimPunkte > 1 || $gastPunkte > 1) {
+ if (!empty($ergebnis_detailliert))
+ $ergebnis_detailliert .= " ";
+ $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
+ $ergebnis_saetze++;
+ }
+ }
+ if ($ergebnis_saetze > $ergebnis_saetze_maximum)
+ $ergebnis_saetze_maximum = $ergebnis_saetze;
+
+ $heimId = $meldungenIds[$heim];
+ $gastId = $meldungenIds[$gast];
+ $spielNr = $i + 1;
+ if ($heimGewonneneSaetze > $gastGewonneneSaetze)
+ $ergebnis = 1;
+ else if ($heimGewonneneSaetze < $gastGewonneneSaetze)
+ $ergebnis = 2;
+ else
+ $ergebnis = 0;
+
+ $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
+ . "\n VALUES ('$id', '$spielNr', '$rundenNr', '3', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ if ($ergebnis_saetze_maximum > 0) {
+ $query = "INSERT #__sportsmanager_turnier_rundenstufe"
+ . "\n SET bezeichnung = '',"
+ . "\n typ = null,"
+ . "\n runden = null,"
+ . "\n tabellenwertung = null,"
+ . "\n saetze = " . "'$ergebnis_saetze_maximum'" . ","
+ . "\n tore = null,"
+ . "\n spielfelder = null,"
+ . "\n turnierdisziplin_id = '$id',"
+ . "\n rundenstufe = '3'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+
+ $matchingNodes = $disziplin->getElementsByTagName("runde");
+ if ($matchingNodes != null) {
+ $total = $matchingNodes->length;
+ $ergebnis_saetze_maximum = 0;
+ for ($i = 0; $i < $total; $i++) {
+ $currNode = $matchingNodes->item($i);
+ $rundenNr = $currNode->getAttribute("no");
+
+ $spielNodes = $currNode->getElementsByTagName("spiel");
+ foreach ($spielNodes as $spiel) {
+ $heim = $spiel->getAttribute("heim");
+ $gast = $spiel->getAttribute("gast");
+
+ $heimGewonneneSaetze = 0;
+ $gastGewonneneSaetze = 0;
+ $ergebnis_detailliert = "";
+ $ergebnis_saetze = 0;
+ $satzNodes = $spiel->getElementsByTagName("satz");
+ foreach ($satzNodes as $satz) {
+ $heimPunkte = $satz->getAttribute("heim");
+ $gastPunkte = $satz->getAttribute("gast");
+ if ($heimPunkte > $gastPunkte)
+ $heimGewonneneSaetze++;
+ else if ($heimPunkte < $gastPunkte)
+ $gastGewonneneSaetze++;
+ if ($heimPunkte > 1 || $gastPunkte > 1) {
+ if (!empty($ergebnis_detailliert))
+ $ergebnis_detailliert .= " ";
+ $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
+ $ergebnis_saetze++;
+ }
+ }
+ if ($ergebnis_saetze > $ergebnis_saetze_maximum)
+ $ergebnis_saetze_maximum = $ergebnis_saetze;
+
+ $heimId = $meldungenIds[$heim];
+ $gastId = $meldungenIds[$gast];
+ $spielNr = $totalVorrunde + $i + 1;
+ if ($heimGewonneneSaetze > $gastGewonneneSaetze)
+ $ergebnis = 1;
+ else if ($heimGewonneneSaetze < $gastGewonneneSaetze)
+ $ergebnis = 2;
+ else
+ $ergebnis = 0;
+
+ $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
+ . "\n VALUES ('$id', '$spielNr', '$rundenNr', '1', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ if ($ergebnis_saetze_maximum > 0) {
+ $query = "INSERT #__sportsmanager_turnier_rundenstufe"
+ . "\n SET bezeichnung = '',"
+ . "\n typ = null,"
+ . "\n runden = null,"
+ . "\n tabellenwertung = null,"
+ . "\n saetze = " . "'$ergebnis_saetze_maximum'" . ","
+ . "\n tore = null,"
+ . "\n spielfelder = null,"
+ . "\n turnierdisziplin_id = '$id',"
+ . "\n rundenstufe = '1'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+ }
+ }
+
+ foreach (array(1, 2, 3, 10) as $rundenstufe) {
+ $query = "SELECT runde, COUNT(*) AS spiele"
+ . "\n FROM #__sportsmanager_turnierspiel"
+ . "\n WHERE turnierdisziplin_id = $id AND rundenstufe = $rundenstufe"
+ . "\n GROUP BY runde"
+ . "\n ORDER BY runde DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $runden = $db->loadObjectList();
+
+ if (count($runden) < 2
+ || ($runden[0]->spiele != 1 && $runden[0]->spiele != 2)
+ || $runden[1]->spiele != 2)
+ continue;
+ if (count($runden) >= 3
+ && ($runden[2]->spiele > 4))
+ continue;
+ if (count($runden) >= 4
+ && ($runden[2]->spiele != 4 || $runden[3]->spiele > 8))
+ continue;
+ if (count($runden) >= 5
+ && ($runden[3]->spiele != 8 || $runden[4]->spiele > 16))
+ continue;
+
+ $query = "SELECT turnierspiel_id"
+ . "\n FROM #__sportsmanager_turnierspiel"
+ . "\n WHERE turnierdisziplin_id = $id AND rundenstufe = $rundenstufe AND runde = " . $runden[0]->runde
+ . "\n ORDER BY turnierspiel_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+
+ $query = "UPDATE #__sportsmanager_turnierspiel"
+ . "\n SET runde = '19999'"
+ . "\n WHERE turnierspiel_id = '" . $rows[0]->turnierspiel_id . "'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ if (count($rows) >= 2) {
+ $query = "UPDATE #__sportsmanager_turnierspiel"
+ . "\n SET runde = '19998'"
+ . "\n WHERE turnierspiel_id = '" . $rows[1]->turnierspiel_id . "'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ for ($i = 1; $i < count($runden) && $i <= 6; $i++) {
+ $query = "UPDATE #__sportsmanager_turnierspiel"
+ . "\n SET runde = '" . (19998 - $i) . "'"
+ . "\n WHERE turnierdisziplin_id = $id AND rundenstufe = $rundenstufe AND runde = " . $runden[$i]->runde;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+
+ if ($elo_aktualisieren) {
wannGespieltAktualisieren();
eloAktualisieren($aktualisieren_ab_datum);
}
- ranglisteAktualisieren(0, $id);
- einstufungAktualisieren();
+ ranglisteAktualisieren(0, $id);
+ einstufungAktualisieren();
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id);
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id);
}
-function adminEditTurnierdisziplinSpiel() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditTurnierdisziplinSpiel(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
- $rundenstufe = $jinput->get('rundenstufe', 0, 'INT');
- if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
+ $id = $jInput->get('id', 0, 'INT');
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
+ $rundenstufe = $jInput->get('rundenstufe', 0, 'INT');
+ if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
- // Sicherstellen, dass Turnierdisziplin zu Turnier gehört
- $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, typ, turnierbezeichnung, turnierort, beginn, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) != 1) die("Wrong id!");
- $disziplin = $rows[0];
+ // Sicherstellen, dass Turnierdisziplin zu Turnier gehört
+ $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, typ, turnierbezeichnung, turnierort, beginn, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) != 1) die("Wrong id!");
+ $disziplin = $rows[0];
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($disziplin->turnier_id))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($disziplin->turnier_id))
+ keinZugriff(true);
- if (empty($id))
- $row = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_turnierspiel WHERE turnierspiel_id = $id AND turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
- }
+ if (empty($id))
+ $row = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_turnierspiel WHERE turnierspiel_id = $id AND turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
+ }
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_turnier_rundenstufe"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = $rundenstufe";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- $rundenstufen_details = count($rows) >= 1 ? $rows[0] : null;
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_turnier_rundenstufe"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = $rundenstufe";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ $rundenstufen_details = count($rows) >= 1 ? $rows[0] : null;
- $query = "SELECT *"
- . ", (SELECT CONCAT_WS(', ', #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_turniermeldung_spieler_name.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS name1"
- . ", (SELECT CONCAT_WS(', ', #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_turniermeldung_spieler_name.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS name2"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 0, 1) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS verknuepft1"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 0, 1) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS verknuepft2"
- . "\n FROM #__sportsmanager_turniermeldung"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND (rundenstufe = '$rundenstufe'" . ($rundenstufe != 0 ? " OR rundenstufe = 0" : "") . ")"
- . "\n ORDER BY rundenstufe, name1, name2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $meldungen = $db->loadObjectList();
+ $query = "SELECT *"
+ . ", (SELECT CONCAT_WS(', ', #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_turniermeldung_spieler_name.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS name1"
+ . ", (SELECT CONCAT_WS(', ', #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_turniermeldung_spieler_name.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS name2"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 0, 1) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS verknuepft1"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 0, 1) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS verknuepft2"
+ . "\n FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND (rundenstufe = '$rundenstufe'" . ($rundenstufe != 0 ? " OR rundenstufe = 0" : "") . ")"
+ . "\n ORDER BY rundenstufe, name1, name2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $meldungen = $db->loadObjectList();
- /*
- $query = "SELECT turniermeldung_id, spieler_id, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) AS nachname, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) AS vorname, "
- . "\n IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) AS vereinsname"
- . "\n FROM #__sportsmanager_turniermeldung"
- . "\n INNER JOIN #__sportsmanager_turniermeldung_spieler USING (turniermeldung_id)"
- . "\n LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
- $meldungenSpieler = $db->loadObjectList();
-
- $meldungenSpielerNamen = array();
- foreach ($meldungenSpieler as $s) {
- if (!isset($meldungenSpielerNamen[$s->turniermeldung_id]))
- $meldungenSpielerNamen[$s->turniermeldung_id] = $s->nachname . ", " . $s->vorname;
- else
- $meldungenSpielerNamen[$s->turniermeldung_id] .= " / " . $s->nachname . ", " . $s->vorname;
- }
-
- asort($meldungenSpielerNamen);
-*/
- HTML_sportsmanager_admin::adminEditTurnierdisziplinSpiel($row, $disziplin, $rundenstufen_details, $meldungen, $rundenstufe);
+ HTML_sportsmanager_admin::adminEditTurnierdisziplinSpiel($row, $disziplin, $rundenstufen_details, $meldungen, $rundenstufe);
}
-function adminSaveTurnierdisziplinSpiel() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveTurnierdisziplinSpiel(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff();
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff();
- $id = $jinput->get('id', 0, 'INT');
- $ergebnis = $jinput->get('ergebnis', 0, 'INT');
- $ergebnis_punkte_heim = $jinput->get('ergebnis_punkte_heim', array(), 'ARRAY');
- $ergebnis_punkte_gast = $jinput->get('ergebnis_punkte_gast', array(), 'ARRAY');
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
- $spiel_nummer = $jinput->get('spiel_nummer', 0, 'INT');
- $rundenstufe = $jinput->get('rundenstufe', 0, 'INT');
- if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
- $rundentyp = $jinput->get('rundentyp', -1, 'INT');
- $runde = max(min(abs($jinput->get('runde', 1, 'INT')), $rundentyp == -2 ? 99 : 9999), 1);
- $platzierung_ende = max(min(abs($jinput->get('platzierung_ende', 0, 'INT')), $runde + 99), 1);
+ $id = $jInput->get('id', 0, 'INT');
+ $ergebnis = $jInput->get('ergebnis', 0, 'INT');
+ $ergebnis_punkte_heim = $jInput->get('ergebnis_punkte_heim', array(), 'ARRAY');
+ $ergebnis_punkte_gast = $jInput->get('ergebnis_punkte_gast', array(), 'ARRAY');
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
+ $spiel_nummer = $jInput->get('spiel_nummer', 0, 'INT');
+ $rundenstufe = $jInput->get('rundenstufe', 0, 'INT');
+ if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
+ $rundentyp = $jInput->get('rundentyp', -1, 'INT');
+ $runde = max(min(abs($jInput->get('runde', 1, 'INT')), $rundentyp == -2 ? 99 : 9999), 1);
+ $platzierung_ende = max(min(abs($jInput->get('platzierung_ende', 0, 'INT')), $runde + 99), 1);
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid . '#sid' . $id);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId . '#sid' . $id);
+ }
- return;
- }
+ // Sicherstellen, dass Turnierdisziplin zu Turnier gehört
+ $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) != 1) die("Wrong id!");
+ $turnierdisziplin = $rows[0];
- // Sicherstellen, dass Turnierdisziplin zu Turnier gehört
- $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) != 1) die("Wrong id!");
- $turnierdisziplin = $rows[0];
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff();
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
- keinZugriff();
+ $ergebnis_detailliert = "";
+ $saetze_heim = 0;
+ $saetze_gast = 0;
+ for ($i = 0; $i < count($ergebnis_punkte_heim); $i++) {
+ if (($ergebnis_punkte_heim[$i] == 0 || empty($ergebnis_punkte_heim[$i])) && ($ergebnis_punkte_gast[$i] == 0 || empty($ergebnis_punkte_gast[$i])))
+ continue;
+ if (!empty($ergebnis_detailliert))
+ $ergebnis_detailliert .= " ";
+ $punkte_heim = empty($ergebnis_punkte_heim[$i]) ? "0" : $ergebnis_punkte_heim[$i];
+ $punkte_gast = empty($ergebnis_punkte_gast[$i]) ? "0" : $ergebnis_punkte_gast[$i];
+ if ($punkte_heim > $punkte_gast)
+ $saetze_heim++;
+ else if ($punkte_gast > $punkte_heim)
+ $saetze_gast++;
+ $ergebnis_detailliert .= $punkte_heim . ":" . $punkte_gast;
+ }
+ if ($saetze_heim > 0 || $saetze_gast > 0)
+ $ergebnis = $saetze_heim > $saetze_gast ? 1 : ($saetze_heim < $saetze_gast ? 2 : 0);
- $ergebnis_detailliert = "";
- $saetze_heim = 0;
- $saetze_gast = 0;
- for ($i = 0; $i < count($ergebnis_punkte_heim); $i++) {
- if (($ergebnis_punkte_heim[$i] == 0 || empty($ergebnis_punkte_heim[$i])) && ($ergebnis_punkte_gast[$i] == 0 || empty($ergebnis_punkte_gast[$i])))
- continue;
- if (!empty($ergebnis_detailliert))
- $ergebnis_detailliert .= " ";
- $punkte_heim = empty($ergebnis_punkte_heim[$i]) ? "0" : $ergebnis_punkte_heim[$i];
- $punkte_gast = empty($ergebnis_punkte_gast[$i]) ? "0" : $ergebnis_punkte_gast[$i];
- if ($punkte_heim > $punkte_gast)
- $saetze_heim++;
- else if ($punkte_gast > $punkte_heim)
- $saetze_gast++;
- $ergebnis_detailliert .= $punkte_heim . ":" . $punkte_gast;
- }
- if ($saetze_heim > 0 || $saetze_gast > 0)
- $ergebnis = $saetze_heim > $saetze_gast ? 1 : ($saetze_heim < $saetze_gast ? 2 : 0);
+ if ($rundentyp >= 10000)
+ $runde = $rundentyp;
+ else if ($rundentyp == -2)
+ $runde = 20000 + ((99 - abs($platzierung_ende - $runde)) * 100) + 99 - min($runde, $platzierung_ende);
- if ($rundentyp >= 10000)
- $runde = $rundentyp;
- else if ($rundentyp == -2)
- $runde = 20000 + ((99 - abs($platzierung_ende - $runde)) * 100) + 99 - min($runde, $platzierung_ende);
- else if ($hauptrunde && $rundentyp == 0)
- $runde = 0;
+ $gewinner_meldung_id = $jInput->get('gewinner_meldung_id', 0, 'INT');
+ $verlierer_meldung_id = $jInput->get('verlierer_meldung_id', 0, 'INT');
- $gewinner_meldung_id = $jinput->get('gewinner_meldung_id', 0, 'INT');
- $verlierer_meldung_id = $jinput->get('verlierer_meldung_id', 0, 'INT');
+ $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, elo_wertung FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $turnierdisziplin = $rows[0];
- $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, elo_wertung FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $turnierdisziplin = $rows[0];
+ $elo_aktualisieren = $turnierdisziplin->elo_wertung;
+ $aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null;
- $elo_aktualisieren = $turnierdisziplin->elo_wertung;
- $aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null;
+ if ($id == 0) {
+ $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert) VALUES ('$turnierDisziplinId', " . ($spiel_nummer != 0 ? "'$spiel_nummer'" : "NULL") . ", '$runde', '$rundenstufe', '$gewinner_meldung_id', '$verlierer_meldung_id', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ")";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $query = "UPDATE #__sportsmanager_turnierspiel"
+ . "\n SET spiel_nummer = " . ($spiel_nummer != 0 ? "'$spiel_nummer'" : "NULL") . ","
+ . "\n runde = '$runde',"
+ . "\n heim_meldung_id = '$gewinner_meldung_id',"
+ . "\n gast_meldung_id = '$verlierer_meldung_id',"
+ . "\n ergebnis = '$ergebnis',"
+ . "\n ergebnis_detailliert = " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'")
+ . "\n WHERE turnierspiel_id = $id AND turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert) VALUES ('$turnierdisziplinid', " . ($spiel_nummer != 0 ? "'$spiel_nummer'" : "NULL") . ", '$runde', '$rundenstufe', '$gewinner_meldung_id', '$verlierer_meldung_id', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ")";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $query = "UPDATE #__sportsmanager_turnierspiel"
- . "\n SET spiel_nummer = " . ($spiel_nummer != 0 ? "'$spiel_nummer'" : "NULL") . ","
- . "\n runde = '$runde',"
- . "\n heim_meldung_id = '$gewinner_meldung_id',"
- . "\n gast_meldung_id = '$verlierer_meldung_id',"
- . "\n ergebnis = '$ergebnis',"
- . "\n ergebnis_detailliert = " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'")
- . "\n WHERE turnierspiel_id = $id AND turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ if ($elo_aktualisieren) {
+ wannGespieltAktualisieren();
+ eloAktualisieren($aktualisieren_ab_datum);
+ einstufungAktualisieren();
+ }
- if ($elo_aktualisieren) {
- wannGespieltAktualisieren();
- eloAktualisieren($aktualisieren_ab_datum);
- einstufungAktualisieren();
- }
-
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid . '#sid' . $id);
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId . '#sid' . $id);
}
-function adminRemoveTurnierdisziplinSpiel() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveTurnierdisziplinSpiel(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
- // Sicherstellen, dass Turnierdisziplin zu Turnier gehört
- $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) != 1) die("Wrong id!");
- $turnierdisziplin = $rows[0];
+ // Sicherstellen, dass Turnierdisziplin zu Turnier gehört
+ $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) != 1) die("Wrong id!");
+ $turnierdisziplin = $rows[0];
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff(true);
- $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, elo_wertung FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $turnierdisziplin = $rows[0];
+ $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, elo_wertung FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $turnierdisziplin = $rows[0];
- $elo_aktualisieren = $turnierdisziplin->elo_wertung;
- $aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null;
+ $elo_aktualisieren = $turnierdisziplin->elo_wertung;
+ $aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null;
- $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierspiel_id = $id AND turnierdisziplin_id = $turnierdisziplinid;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierspiel_id = $id AND turnierdisziplin_id = $turnierDisziplinId;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- if ($elo_aktualisieren) {
- eloAktualisieren($aktualisieren_ab_datum);
- einstufungAktualisieren();
- }
+ if ($elo_aktualisieren) {
+ eloAktualisieren($aktualisieren_ab_datum);
+ einstufungAktualisieren();
+ }
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid);
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId);
}
-function adminEditTurnierdisziplinRunde() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditTurnierdisziplinRunde(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff(true);
- $runde = $jinput->get('runde', 0, 'INT');
- $rundenstufe = $jinput->get('rundenstufe', 0, 'INT');
- if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
- $id = $jinput->get('id', 0, 'INT');
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
+ $runde = $jInput->get('runde', 0, 'INT');
+ $rundenstufe = $jInput->get('rundenstufe', 0, 'INT');
+ if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
+ $id = $jInput->get('id', 0, 'INT');
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
- // Sicherstellen, dass Turnierdisziplin zu Turnier gehört
- $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ // Sicherstellen, dass Turnierdisziplin zu Turnier gehört
+ $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff(true);
- $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- HTML_sportsmanager_admin::adminEditTurnierdisziplinRunde($runde, $rundenstufe, $id, $turnierdisziplin);
+ HTML_sportsmanager_admin::adminEditTurnierdisziplinRunde($runde, $rundenstufe, $id, $turnierdisziplin);
}
-function adminSaveTurnierdisziplinRunde() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveTurnierdisziplinRunde(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff();
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff();
- $id = $jinput->get('id', 0, 'INT');
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
- $runde_alt = $jinput->get('runde_alt', 0, 'INT');
- $rundenstufe = $jinput->get('rundenstufe', 0, 'INT');
- if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
- $rundentyp = $jinput->get('rundentyp', -1, 'INT');
- $runde = max(min(abs($jinput->get('runde', 1, 'INT')), $rundentyp == -2 ? 99 : 9999), 1);
- $platzierung_ende = max(min(abs($jinput->get('platzierung_ende', 0, 'INT')), $runde + 99), 1);
+ $id = $jInput->get('id', 0, 'INT');
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
+ $runde_alt = $jInput->get('runde_alt', 0, 'INT');
+ $rundenstufe = $jInput->get('rundenstufe', 0, 'INT');
+ if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
+ $rundentyp = $jInput->get('rundentyp', -1, 'INT');
+ $runde = max(min(abs($jInput->get('runde', 1, 'INT')), $rundentyp == -2 ? 99 : 9999), 1);
+ $platzierung_ende = max(min(abs($jInput->get('platzierung_ende', 0, 'INT')), $runde + 99), 1);
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid . '#sid' . $id);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId . '#sid' . $id);
+ }
- return;
- }
+ // Sicherstellen, dass Turnierdisziplin zu Turnier gehört
+ $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- // Sicherstellen, dass Turnierdisziplin zu Turnier gehört
- $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff();
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
- keinZugriff();
+ if ($rundentyp >= 10000)
+ $runde = $rundentyp;
+ else if ($rundentyp == -2)
+ $runde = 20000 + ((99 - abs($platzierung_ende - $runde)) * 100) + 99 - min($runde, $platzierung_ende);
+ else if ($runde_alt >= 0 && $rundentyp == 0)
+ $runde = 0;
+ if ($runde_alt < 0)
+ $runde = -$runde;
- if ($rundentyp >= 10000)
- $runde = $rundentyp;
- else if ($rundentyp == -2)
- $runde = 20000 + ((99 - abs($platzierung_ende - $runde)) * 100) + 99 - min($runde, $platzierung_ende);
- else if ($runde_alt >= 0 && $rundentyp == 0)
- $runde = 0;
- if ($runde_alt < 0)
- $runde = -$runde;
+ if ($runde != $runde_alt) {
+ $query = "UPDATE #__sportsmanager_turnierspiel"
+ . "\n SET runde = '$runde'"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND runde = $runde_alt AND rundenstufe = $rundenstufe";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- if ($runde != $runde_alt) {
- $query = "UPDATE #__sportsmanager_turnierspiel"
- . "\n SET runde = '$runde'"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND runde = $runde_alt AND rundenstufe = $rundenstufe";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid . '#sid' . $id);
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId . '#sid' . $id);
}
-function adminEditTurnierdisziplinMeldung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditTurnierdisziplinMeldung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
- $weitere = $jinput->get('weitere', 0, 'INT');
- $rundenstufe = $jinput->get('rundenstufe', 0, 'INT');
- if ($rundenstufe != 0 && $rundenstufe != 20 && $rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
+ $id = $jInput->get('id', 0, 'INT');
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
+ $weitere = $jInput->get('weitere', 0, 'INT');
+ $rundenstufe = $jInput->get('rundenstufe', 0, 'INT');
+ if ($rundenstufe != 0 && $rundenstufe != 20 && $rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
- $query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, typ, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ $query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, typ, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff(true);
- $rundenstufen = array();
- $platzierungen = array(0 => "0", 1 => "0", 2 => "0", 3 => "0", 10 => "0", 20 => "0");
- if ($id == null) {
- $row = null;
- $meldung = null;
- $meldung_spieler = null;
+ $rundenstufen = array();
+ $platzierungen = array(0 => "0", 1 => "0", 2 => "0", 3 => "0", 10 => "0", 20 => "0");
+ if ($id == null) {
+ $meldung = null;
+ $meldung_spieler = null;
- $query = "SELECT * FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $turnierdisziplinid ORDER BY rundenstufe, platz DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $turnierDisziplinId ORDER BY rundenstufe, platz DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- if (count($rows) > 0) {
- array_push($rundenstufen, $rows[0]->rundenstufe);
- $platzierungen[$rows[0]->rundenstufe] = $rows[0]->platz;
- }
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_turniermeldung WHERE turniermeldung_id = $id AND turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $meldung = $rows[0];
+ if (count($rows) > 0) {
+ $rundenstufen[] = $rows[0]->rundenstufe;
+ $platzierungen[$rows[0]->rundenstufe] = $rows[0]->platz;
+ }
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_turniermeldung WHERE turniermeldung_id = $id AND turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $meldung = $rows[0];
- if ($meldung->meldungsgruppe_id != null) {
- $query = "SELECT * FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $meldung->turnierdisziplin_id AND meldungsgruppe_id = $meldung->meldungsgruppe_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ if ($meldung->meldungsgruppe_id != null) {
+ $query = "SELECT * FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $meldung->turnierdisziplin_id AND meldungsgruppe_id = $meldung->meldungsgruppe_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- foreach ($rows as $row) {
- array_push($rundenstufen, $row->rundenstufe);
- $platzierungen[$row->rundenstufe] = $row->platz;
- }
- }
- else {
- array_push($rundenstufen, $meldung->rundenstufe);
- $platzierungen[$meldung->rundenstufe] = $meldung->platz;
- }
+ foreach ($rows as $row) {
+ $rundenstufen[] = $row->rundenstufe;
+ $platzierungen[$row->rundenstufe] = $row->platz;
+ }
+ } else {
+ $rundenstufen[] = $meldung->rundenstufe;
+ $platzierungen[$meldung->rundenstufe] = $meldung->platz;
+ }
- $rundenstufe = $meldung->rundenstufe;
+ $query = "SELECT spieler_id, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) AS nachname, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) AS vorname, "
+ . "\n IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) AS vereinsname"
+ . "\n FROM #__sportsmanager_turniermeldung_spieler"
+ . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id)"
+ . "\n WHERE turniermeldung_id = $meldung->turniermeldung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $meldung_spieler = $db->loadObjectList();
+ }
- $query = "SELECT spieler_id, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) AS nachname, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) AS vorname, "
- . "\n IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) AS vereinsname"
- . "\n FROM #__sportsmanager_turniermeldung_spieler"
- . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id)"
- . "\n WHERE turniermeldung_id = $meldung->turniermeldung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $meldung_spieler = $db->loadObjectList();
- }
+ $query = "SELECT DISTINCT spieler_id, vorname, nachname, spielernr"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE NOT ISNULL(aktueller_verein_id)"
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler = $db->loadObjectList();
- $query = "SELECT DISTINCT spieler_id, vorname, nachname, spielernr"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE NOT ISNULL(aktueller_verein_id)"
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditTurnierdisziplinMeldung($meldung, $rundenstufe, $meldung_spieler, $turnierdisziplin, $spieler, $rundenstufen, $platzierungen, $weitere);
+ HTML_sportsmanager_admin::adminEditTurnierdisziplinMeldung($meldung, $meldung_spieler, $turnierdisziplin, $spieler, $rundenstufen, $platzierungen, $weitere);
}
-function adminSaveTurnierdisziplinMeldung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveTurnierdisziplinMeldung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff();
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff();
- $id = $jinput->get('id', 0, 'INT');
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
- $spieler_1_id = $jinput->get('spieler_1_id', 0, 'INT');
- $spieler_1_nachname = $db->escape($jinput->get('spieler_1_nachname', '', 'RAW'));
- $spieler_1_vorname = $db->escape($jinput->get('spieler_1_vorname', '', 'RAW'));
- $spieler_1_verein = $db->escape($jinput->get('spieler_1_verein', '', 'RAW'));
- $spieler_2_id = $jinput->get('spieler_2_id', 0, 'INT');
- $spieler_2_nachname = $db->escape($jinput->get('spieler_2_nachname', '', 'RAW'));
- $spieler_2_vorname = $db->escape($jinput->get('spieler_2_vorname', '', 'RAW'));
- $spieler_2_verein = $db->escape($jinput->get('spieler_2_verein', '', 'RAW'));
- $weitere = $jinput->get('weitere', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
+ $spieler_1_id = $jInput->get('spieler_1_id', 0, 'INT');
+ $spieler_1_nachname = $db->escape($jInput->get('spieler_1_nachname', '', 'RAW'));
+ $spieler_1_vorname = $db->escape($jInput->get('spieler_1_vorname', '', 'RAW'));
+ $spieler_1_verein = $db->escape($jInput->get('spieler_1_verein', '', 'RAW'));
+ $spieler_2_id = $jInput->get('spieler_2_id', 0, 'INT');
+ $spieler_2_nachname = $db->escape($jInput->get('spieler_2_nachname', '', 'RAW'));
+ $spieler_2_vorname = $db->escape($jInput->get('spieler_2_vorname', '', 'RAW'));
+ $spieler_2_verein = $db->escape($jInput->get('spieler_2_verein', '', 'RAW'));
+ $weitere = $jInput->get('weitere', 0, 'INT');
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid . '#mid' . $id);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId . '#mid' . $id);
+ }
- return;
- }
+ $rundenstufen = $jInput->get('rundenstufen', array(), 'ARRAY');
+ $platzierungen = $jInput->get('platzierungen', array(), 'ARRAY');
+ $platzierungen = array(0 => $platzierungen[0], 1 => $platzierungen[1], 2 => $platzierungen[2], 3 => $platzierungen[3], 10 => $platzierungen[4], 20 => 0);
- $rundenstufen = $jinput->get('rundenstufen', array(), 'ARRAY');
- $platzierungen = $jinput->get('platzierungen', array(), 'ARRAY');
- $platzierungen = array(0 => $platzierungen[0], 1 => $platzierungen[1], 2 => $platzierungen[2], 3 => $platzierungen[3], 10 => $platzierungen[4], 20 => 0);
+ $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff(true);
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
- keinZugriff(true);
+ $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- /*
- if ($platz > 0 && ($spieler_1_id != 0 || $spieler_2_id != 0)) {
- $query = "SELECT COUNT(*) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_turniermeldung USING (turniermeldung_id) WHERE platz > 0 AND rundenstufe = $rundenstufe AND #__sportsmanager_turniermeldung.turniermeldung_id != $id AND turnierdisziplin_id = $turnierdisziplinid";
- if ($spieler_1_id != 0 && $spieler_2_id != 0)
- $query .= " AND (#__sportsmanager_turniermeldung_spieler.spieler_id = $spieler_1_id OR #__sportsmanager_turniermeldung_spieler.spieler_id = $spieler_2_id)";
- else if ($spieler_1_id != 0)
- $query .= " AND #__sportsmanager_turniermeldung_spieler.spieler_id = $spieler_1_id";
- else
- $query .= " AND #__sportsmanager_turniermeldung_spieler.spieler_id = $spieler_2_id";
- $db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
- if ($db->loadResult() > 0) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid, "Die Meldung wurde nicht gespeichert, da zu mindestens einem der Spieler bereits eine Platzierung bei einer anderen Meldung eingetragen ist.");
- }
- }
- */
+ $elo_aktualisieren = $turnierdisziplin->elo_wertung;
+ $aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null;
- $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ if ($id == 0) {
+ $rundenstufe = count($rundenstufen) > 0 ? $rundenstufen[0] : 0;
+ $platz = $platzierungen[$rundenstufe];
- $elo_aktualisieren = $turnierdisziplin->elo_wertung;
- $aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null;
+ $query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, rundenstufe, platz)"
+ . "\n VALUES ('$turnierDisziplinId', '$rundenstufe', " . ($platz != 0 ? "'$platz'" : "NULL") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
- if ($id == 0) {
- $rundenstufe = count($rundenstufen) > 0 ? $rundenstufen[0] : 0;
- $platz = $platzierungen[$rundenstufe];
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)"
+ . "\n VALUES ('$id', " . ($spieler_1_id != 0 ? "'$spieler_1_id'" : "NULL") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $turniermeldung_spieler_id = $db->insertid();
- $query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, rundenstufe, platz)"
- . "\n VALUES ('$turnierdisziplinid', '$rundenstufe', " . ($platz != 0 ? "'$platz'" : "NULL") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
+ if ($spieler_1_id == 0) {
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
+ . "\n VALUES ($turniermeldung_spieler_id, '$spieler_1_nachname', '$spieler_1_vorname', '$spieler_1_verein');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)"
- . "\n VALUES ('$id', " . ($spieler_1_id != 0 ? "'$spieler_1_id'" : "NULL") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $turniermeldung_spieler_id = $db->insertid();
+ if ($turnierdisziplin->typ == 1) {
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)"
+ . "\n VALUES ('$id', " . ($spieler_2_id != 0 ? "'$spieler_2_id'" : "NULL") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $turniermeldung_spieler_id = $db->insertid();
- if ($spieler_1_id == 0) {
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
- . "\n VALUES ($turniermeldung_spieler_id, '$spieler_1_nachname', '$spieler_1_vorname', '$spieler_1_verein');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ if ($spieler_2_id == 0) {
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
+ . "\n VALUES ($turniermeldung_spieler_id, '$spieler_2_nachname', '$spieler_2_vorname', '$spieler_2_verein');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE turniermeldung_id = $id AND turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $meldung = $rows[0];
- if ($turnierdisziplin->typ == 1) {
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)"
- . "\n VALUES ('$id', " . ($spieler_2_id != 0 ? "'$spieler_2_id'" : "NULL") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $turniermeldung_spieler_id = $db->insertid();
+ $rundenstufe = $meldung->rundenstufe;
+ $platz = $platzierungen[$rundenstufe];
- if ($spieler_2_id == 0) {
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
- . "\n VALUES ($turniermeldung_spieler_id, '$spieler_2_nachname', '$spieler_2_vorname', '$spieler_2_verein');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_turniermeldung"
- . "\n WHERE turniermeldung_id = $id AND turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $meldung = $rows[0];
+ $query = "UPDATE #__sportsmanager_turniermeldung"
+ . "\n SET platz = " . ($platz != 0 ? "'$platz'" : "NULL")
+ . "\n WHERE turniermeldung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $rundenstufe = $meldung->rundenstufe;
- $platz = $platzierungen[$rundenstufe];
+ $query = "SELECT * FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE turniermeldung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $query = "UPDATE #__sportsmanager_turniermeldung"
- . "\n SET platz = " . ($platz != 0 ? "'$platz'" : "NULL")
- . "\n WHERE turniermeldung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ if ($rows[0]->spieler_id == 0 && $spieler_1_id == 0) {
+ $query = "UPDATE #__sportsmanager_turniermeldung_spieler_name"
+ . "\n SET nachname = '$spieler_1_nachname',"
+ . "\n vorname = '$spieler_1_vorname',"
+ . "\n vereinsname = '$spieler_1_verein'"
+ . "\n WHERE turniermeldung_spieler_name_id = " . $rows[0]->turniermeldung_spieler_name_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else if ($rows[0]->spieler_id == 0 && $spieler_1_id != 0) {
+ $query = "DELETE FROM #__sportsmanager_turniermeldung_spieler_name"
+ . "\n WHERE turniermeldung_spieler_name_id = " . $rows[0]->turniermeldung_spieler_name_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else if ($rows[0]->spieler_id != 0 && $spieler_1_id == 0) {
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
+ . "\n VALUES (" . $rows[0]->turniermeldung_spieler_id . ", '$spieler_1_nachname', '$spieler_1_vorname', '$spieler_1_verein');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "SELECT * FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE turniermeldung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "UPDATE #__sportsmanager_turniermeldung_spieler"
+ . "\n SET spieler_id = " . ($spieler_1_id != 0 ? "'$spieler_1_id'" : "NULL")
+ . "\n WHERE turniermeldung_spieler_id = " . $rows[0]->turniermeldung_spieler_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- if ($rows[0]->spieler_id == 0 && $spieler_1_id == 0) {
- $query = "UPDATE #__sportsmanager_turniermeldung_spieler_name"
- . "\n SET nachname = '$spieler_1_nachname',"
- . "\n vorname = '$spieler_1_vorname',"
- . "\n vereinsname = '$spieler_1_verein'"
- . "\n WHERE turniermeldung_spieler_name_id = " . $rows[0]->turniermeldung_spieler_name_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else if ($rows[0]->spieler_id == 0 && $spieler_1_id != 0) {
- $query = "DELETE FROM #__sportsmanager_turniermeldung_spieler_name"
- . "\n WHERE turniermeldung_spieler_name_id = " . $rows[0]->turniermeldung_spieler_name_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else if ($rows[0]->spieler_id != 0 && $spieler_1_id == 0) {
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
- . "\n VALUES (" . $rows[0]->turniermeldung_spieler_id . ", '$spieler_1_nachname', '$spieler_1_vorname', '$spieler_1_verein');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ if ($turnierdisziplin->typ == 1) {
+ if ($rows[1]->spieler_id == 0 && $spieler_2_id == 0) {
+ $query = "UPDATE #__sportsmanager_turniermeldung_spieler_name"
+ . "\n SET nachname = '$spieler_2_nachname',"
+ . "\n vorname = '$spieler_2_vorname',"
+ . "\n vereinsname = '$spieler_2_verein'"
+ . "\n WHERE turniermeldung_spieler_name_id = " . $rows[1]->turniermeldung_spieler_name_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else if ($rows[1]->spieler_id == 0 && $spieler_2_id != 0) {
+ $query = "DELETE FROM #__sportsmanager_turniermeldung_spieler_name"
+ . "\n WHERE turniermeldung_spieler_name_id = " . $rows[1]->turniermeldung_spieler_name_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else if ($rows[1]->spieler_id != 0 && $spieler_2_id == 0) {
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
+ . "\n VALUES (" . $rows[1]->turniermeldung_spieler_id . ", '$spieler_2_nachname', '$spieler_2_vorname', '$spieler_2_verein');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "UPDATE #__sportsmanager_turniermeldung_spieler"
- . "\n SET spieler_id = " . ($spieler_1_id != 0 ? "'$spieler_1_id'" : "NULL")
- . "\n WHERE turniermeldung_spieler_id = " . $rows[0]->turniermeldung_spieler_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "UPDATE #__sportsmanager_turniermeldung_spieler"
+ . "\n SET spieler_id = " . ($spieler_2_id != 0 ? "'$spieler_2_id'" : "NULL")
+ . "\n WHERE turniermeldung_spieler_id = " . $rows[1]->turniermeldung_spieler_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- if ($turnierdisziplin->typ == 1) {
- if ($rows[1]->spieler_id == 0 && $spieler_2_id == 0) {
- $query = "UPDATE #__sportsmanager_turniermeldung_spieler_name"
- . "\n SET nachname = '$spieler_2_nachname',"
- . "\n vorname = '$spieler_2_vorname',"
- . "\n vereinsname = '$spieler_2_verein'"
- . "\n WHERE turniermeldung_spieler_name_id = " . $rows[1]->turniermeldung_spieler_name_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else if ($rows[1]->spieler_id == 0 && $spieler_2_id != 0) {
- $query = "DELETE FROM #__sportsmanager_turniermeldung_spieler_name"
- . "\n WHERE turniermeldung_spieler_name_id = " . $rows[1]->turniermeldung_spieler_name_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else if ($rows[1]->spieler_id != 0 && $spieler_2_id == 0) {
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
- . "\n VALUES (" . $rows[1]->turniermeldung_spieler_id . ", '$spieler_2_nachname', '$spieler_2_vorname', '$spieler_2_verein');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ meldungsgruppe_verknuepfen($id, $rundenstufen, $platzierungen);
- $query = "UPDATE #__sportsmanager_turniermeldung_spieler"
- . "\n SET spieler_id = " . ($spieler_2_id != 0 ? "'$spieler_2_id'" : "NULL")
- . "\n WHERE turniermeldung_spieler_id = " . $rows[1]->turniermeldung_spieler_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
-
- meldungsgruppe_verknuepfen($id, $rundenstufen, $platzierungen);
-
- if ($elo_aktualisieren) {
+ if ($elo_aktualisieren) {
wannGespieltAktualisieren();
eloAktualisieren($aktualisieren_ab_datum);
}
- ranglisteAktualisieren(0, $turnierdisziplinid);
- einstufungAktualisieren();
+ ranglisteAktualisieren(0, $turnierDisziplinId);
+ einstufungAktualisieren();
- if (!$weitere)
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid . '#mid' . $id);
- else
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldung_edit&turnierdisziplinid=' . $turnierdisziplinid . '&id=' . $id . '&weitere=1');
+ if (!$weitere)
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId . '#mid' . $id);
+ else
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldung_edit&turnierdisziplinid=' . $turnierDisziplinId . '&id=' . $id . '&weitere=1');
}
-function adminRemoveTurnierdisziplinMeldung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveTurnierdisziplinMeldung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
- $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff(true);
- // Sicherstellen, dass Meldung zur Turnierdisziplin und damit zum Turnier gehört
- $query = "SELECT * FROM #__sportsmanager_turniermeldung"
- . "\n WHERE turniermeldung_id = $id AND turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $meldung = $rows[0];
+ // Sicherstellen, dass Meldung zur Turnierdisziplin und damit zum Turnier gehört
+ $query = "SELECT * FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE turniermeldung_id = $id AND turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
- meldungssgruppe_entfernen($id);
+ meldungssgruppe_entfernen($id);
- ranglisteAktualisieren(0, $turnierdisziplinid);
- einstufungAktualisieren();
+ ranglisteAktualisieren(0, $turnierDisziplinId);
+ einstufungAktualisieren();
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid);
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId);
}
-function adminVerknuepfenTurnierdisziplinMeldungForm() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminVerknuepfenTurnierdisziplinMeldungForm(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff(true);
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
- $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, typ, turnier_id, disziplin, turnierbezeichnung, turnierort, beginn FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) != 1) die("Wrong id!");
- $disziplin = $rows[0];
+ $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, typ, turnier_id, disziplin, turnierbezeichnung, turnierort, beginn FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) != 1) die("Wrong id!");
+ $disziplin = $rows[0];
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($disziplin->turnier_id))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($disziplin->turnier_id))
+ keinZugriff(true);
- $meldungen = array();
- foreach (array(0, 1, 2, 3, 10, 20) as $rundenstufe) {
- $query = "SELECT *"
- . ", (SELECT CONCAT_WS(', ', #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_turniermeldung_spieler_name.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS name1"
- . ", (SELECT CONCAT_WS(', ', #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_turniermeldung_spieler_name.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS name2"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 0, 1) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS verknuepft1"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 0, 1) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS verknuepft2"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS vereinsname1"
- . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS vereinsname2"
- . "\n FROM #__sportsmanager_turniermeldung"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = '$rundenstufe'"
- . "\n ORDER BY platz, name1, name2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $meldungen[$rundenstufe] = $db->loadObjectList();
- }
- HTML_sportsmanager_admin::adminVerknuepfenTurnierdisziplinMeldung($disziplin, $meldungen);
+ $meldungen = array();
+ foreach (array(0, 1, 2, 3, 10, 20) as $rundenstufe) {
+ $query = "SELECT *"
+ . ", (SELECT CONCAT_WS(', ', #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_turniermeldung_spieler_name.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS name1"
+ . ", (SELECT CONCAT_WS(', ', #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_turniermeldung_spieler_name.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS name2"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 0, 1) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS verknuepft1"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 0, 1) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS verknuepft2"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS vereinsname1"
+ . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vereinsname, (SELECT #__sportsmanager_verein.vereinsname FROM #__sportsmanager_verein, #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten LIMIT 1)) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS vereinsname2"
+ . "\n FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = '$rundenstufe'"
+ . "\n ORDER BY platz, name1, name2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $meldungen[$rundenstufe] = $db->loadObjectList();
+ }
+ HTML_sportsmanager_admin::adminVerknuepfenTurnierdisziplinMeldung($disziplin, $meldungen);
}
-function adminVerknuepfenTurnierdisziplinMeldung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminVerknuepfenTurnierdisziplinMeldung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff();
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff();
- $ids = array();
- foreach (array(0, 1, 2, 3, 10, 20) as $rundenstufe)
- $ids[$rundenstufe] = $jinput->get('ids' . $rundenstufe, array(), 'ARRAY');
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
- if ($turnierdisziplinid == 0) die("Missing id!");
- $rundenstufen = $jinput->get('rundenstufen', array(), 'ARRAY');
+ $ids = array();
+ foreach (array(0, 1, 2, 3, 10, 20) as $rundenstufe)
+ $ids[$rundenstufe] = $jInput->get('ids' . $rundenstufe, array(), 'ARRAY');
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
+ if ($turnierDisziplinId == 0) die("Missing id!");
+ $rundenstufen = $jInput->get('rundenstufen', array(), 'ARRAY');
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId);
+ }
- return;
- }
+ // Sicherstellen, dass Turnierdisziplin zu Turnier gehört
+ $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) != 1) die("Wrong id!");
- // Sicherstellen, dass Turnierdisziplin zu Turnier gehört
- $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) != 1) die("Wrong id!");
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($rows[0]->turnier_id))
+ keinZugriff();
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($rows[0]->turnier_id))
- keinZugriff();
+ foreach (array(0, 1, 2, 3, 10, 20) as $rundenstufe) {
+ foreach ($ids[$rundenstufe] as $meldung_id) {
+ // Sicherstellen, dass Meldung zu Turnierdisziplin und damit zu Turnier gehört
+ $query = "SELECT * FROM #__sportsmanager_turniermeldung WHERE turniermeldung_id = $meldung_id AND turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
- foreach (array(0, 1, 2, 3, 10, 20) as $rundenstufe) {
- foreach ($ids[$rundenstufe] as $meldung_id) {
- // Sicherstellen, dass Meldung zu Turnierdisziplin und damit zu Turnier gehört
- $query = "SELECT * FROM #__sportsmanager_turniermeldung WHERE turniermeldung_id = $meldung_id AND turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
+ meldungsgruppe_erweitern($meldung_id, $rundenstufen);
+ }
+ }
- meldungsgruppe_erweitern($meldung_id, $rundenstufen);
- }
- }
+ ranglisteAktualisieren(0, $turnierDisziplinId);
+ einstufungAktualisieren();
- ranglisteAktualisieren(0, $turnierdisziplinid);
- einstufungAktualisieren();
-
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid);
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId);
}
-function meldungsgruppe_erweitern($quelle_turniermeldung_id, $rundenstufen) {
- $db = getDatabase();
+function meldungsgruppe_erweitern($quelle_turniermeldung_id, $rundenstufen): void
+{
+ $db = getDatabase();
- $query = "SELECT * FROM #__sportsmanager_turniermeldung"
- . "\n WHERE turniermeldung_id = $quelle_turniermeldung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $quelle_meldung = $rows[0];
- $meldungsgruppe_id = $quelle_meldung->meldungsgruppe_id != null ? $quelle_meldung->meldungsgruppe_id : $quelle_turniermeldung_id;
+ $query = "SELECT * FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE turniermeldung_id = $quelle_turniermeldung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $quelle_meldung = $rows[0];
+ $meldungsgruppe_id = $quelle_meldung->meldungsgruppe_id != null ? $quelle_meldung->meldungsgruppe_id : $quelle_turniermeldung_id;
- if ($quelle_meldung->meldungsgruppe_id != null) {
- $query = "SELECT DISTINCT rundenstufe FROM #__sportsmanager_turniermeldung"
- . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ if ($quelle_meldung->meldungsgruppe_id != null) {
+ $query = "SELECT DISTINCT rundenstufe FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- foreach ($rows as $row) {
- if (!in_array($row->rundenstufe, $rundenstufen))
- array_push($rundenstufen, $row->rundenstufe);
- }
- }
- else {
- if (!in_array($quelle_meldung->rundenstufe, $rundenstufen))
- array_push($rundenstufen, $quelle_meldung->rundenstufe);
- }
+ foreach ($rows as $row) {
+ if (!in_array($row->rundenstufe, $rundenstufen))
+ $rundenstufen[] = $row->rundenstufe;
+ }
+ } else {
+ if (!in_array($quelle_meldung->rundenstufe, $rundenstufen))
+ $rundenstufen[] = $quelle_meldung->rundenstufe;
+ }
- meldungsgruppe_verknuepfen($quelle_turniermeldung_id, $rundenstufen, null);
+ meldungsgruppe_verknuepfen($quelle_turniermeldung_id, $rundenstufen, null);
}
-function meldungsgruppe_verknuepfen($quelle_turniermeldung_id, $rundenstufen, $platzierungen) {
- $db = getDatabase();
+function meldungsgruppe_verknuepfen($quelle_turniermeldung_id, $rundenstufen, $platzierungen): void
+{
+ $db = getDatabase();
- $query = "SELECT * FROM #__sportsmanager_turniermeldung"
- . "\n WHERE turniermeldung_id = $quelle_turniermeldung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $quelle_meldung = $rows[0];
- $meldungsgruppe_id = $quelle_meldung->meldungsgruppe_id != null ? $quelle_meldung->meldungsgruppe_id : $quelle_turniermeldung_id;
+ $query = "SELECT * FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE turniermeldung_id = $quelle_turniermeldung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $quelle_meldung = $rows[0];
+ $meldungsgruppe_id = $quelle_meldung->meldungsgruppe_id != null ? $quelle_meldung->meldungsgruppe_id : $quelle_turniermeldung_id;
- $query = "SELECT * FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE turniermeldung_id = $quelle_turniermeldung_id ORDER BY turniermeldung_spieler_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $quelle_meldung_spieler = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE turniermeldung_id = $quelle_turniermeldung_id ORDER BY turniermeldung_spieler_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $quelle_meldung_spieler = $db->loadObjectList();
- if ($quelle_meldung->meldungsgruppe_id == null && count($rundenstufen) > 1) {
- $query = "UPDATE #__sportsmanager_turniermeldung"
- . "\n SET meldungsgruppe_id = '$meldungsgruppe_id'"
- . "\n WHERE turniermeldung_id = $quelle_turniermeldung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ if ($quelle_meldung->meldungsgruppe_id == null && count($rundenstufen) > 1) {
+ $query = "UPDATE #__sportsmanager_turniermeldung"
+ . "\n SET meldungsgruppe_id = '$meldungsgruppe_id'"
+ . "\n WHERE turniermeldung_id = $quelle_turniermeldung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- foreach (array(0, 1, 2, 3, 10, 20) as $rundenstufe) {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_turniermeldung"
- . "\n WHERE meldungsgruppe_id = '$meldungsgruppe_id' AND turnierdisziplin_id = '$quelle_meldung->turnierdisziplin_id' AND rundenstufe = '$rundenstufe'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ foreach (array(0, 1, 2, 3, 10, 20) as $rundenstufe) {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE meldungsgruppe_id = '$meldungsgruppe_id' AND turnierdisziplin_id = '$quelle_meldung->turnierdisziplin_id' AND rundenstufe = '$rundenstufe'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- if (empty($rundenstufen) || !in_array($rundenstufe, $rundenstufen)) {
- if (count($rows) == 0)
- continue;
- $ziel_meldung = $rows[0];
+ if (empty($rundenstufen) || !in_array($rundenstufe, $rundenstufen)) {
+ if (count($rows) == 0)
+ continue;
+ $ziel_meldung = $rows[0];
- $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE heim_meldung_id = $ziel_meldung->turniermeldung_id OR gast_meldung_id = $ziel_meldung->turniermeldung_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE heim_meldung_id = $ziel_meldung->turniermeldung_id OR gast_meldung_id = $ziel_meldung->turniermeldung_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND turniermeldung_id = $ziel_meldung->turniermeldung_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND turniermeldung_id = $ziel_meldung->turniermeldung_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_turniermeldung_spieler WHERE turniermeldung_id = $ziel_meldung->turniermeldung_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turniermeldung_spieler WHERE turniermeldung_id = $ziel_meldung->turniermeldung_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turniermeldung_id = $ziel_meldung->turniermeldung_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else if ($quelle_meldung->rundenstufe == $rundenstufe) {
- continue;
- }
- else if (count($rows) == 0) {
- $platz = (empty($platzierungen) || !isset($platzierungen[$rundenstufe])) ? 0 : $platzierungen[$rundenstufe];
- $query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, meldungsgruppe_id, rundenstufe, platz)"
- . "\n VALUES ('$quelle_meldung->turnierdisziplin_id', " . (count($rundenstufen) > 1 ? "'$meldungsgruppe_id'" : "NULL") . ", '$rundenstufe', " . ($platz != 0 ? "'$platz'" : "NULL") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ziel_turniermeldung_id = $db->insertid();
+ $query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turniermeldung_id = $ziel_meldung->turniermeldung_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else if ($quelle_meldung->rundenstufe == $rundenstufe) {
+ continue;
+ } else if (count($rows) == 0) {
+ $platz = (empty($platzierungen) || !isset($platzierungen[$rundenstufe])) ? 0 : $platzierungen[$rundenstufe];
+ $query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, meldungsgruppe_id, rundenstufe, platz)"
+ . "\n VALUES ('$quelle_meldung->turnierdisziplin_id', " . (count($rundenstufen) > 1 ? "'$meldungsgruppe_id'" : "NULL") . ", '$rundenstufe', " . ($platz != 0 ? "'$platz'" : "NULL") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ziel_turniermeldung_id = $db->insertid();
- for ($i = 0; $i < count($quelle_meldung_spieler); $i++) {
- $row = $quelle_meldung_spieler[$i];
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)"
- . "\n VALUES ('$ziel_turniermeldung_id', " . ($row->spieler_id != null ? "'$row->spieler_id'" : "NULL") . ");";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $turniermeldung_spieler_id = $db->insertid();
+ for ($i = 0; $i < count($quelle_meldung_spieler); $i++) {
+ $row = $quelle_meldung_spieler[$i];
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler (turniermeldung_id, spieler_id)"
+ . "\n VALUES ('$ziel_turniermeldung_id', " . ($row->spieler_id != null ? "'$row->spieler_id'" : "NULL") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $turniermeldung_spieler_id = $db->insertid();
- if ($row->spieler_id == null) {
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
- . "\n VALUES ($turniermeldung_spieler_id, '" . $db->escape($row->nachname) . "', '" . $db->escape($row->vorname) . "', '" . $db->escape($row->vereinsname) . "');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
- else {
- $ziel_meldung = $rows[0];
- if (!empty($platzierungen)) {
- $platz = !isset($platzierungen[$rundenstufe]) ? 0 : $platzierungen[$rundenstufe];
- $query = "UPDATE #__sportsmanager_turniermeldung"
- . "\n SET platz = " . ($platz != 0 ? "'$platz'" : "NULL")
- . "\n WHERE turniermeldung_id = $ziel_meldung->turniermeldung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ if ($row->spieler_id == null) {
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
+ . "\n VALUES ($turniermeldung_spieler_id, '" . $db->escape($row->nachname) . "', '" . $db->escape($row->vorname) . "', '" . $db->escape($row->vereinsname) . "');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ } else {
+ $ziel_meldung = $rows[0];
+ if (!empty($platzierungen)) {
+ $platz = !isset($platzierungen[$rundenstufe]) ? 0 : $platzierungen[$rundenstufe];
+ $query = "UPDATE #__sportsmanager_turniermeldung"
+ . "\n SET platz = " . ($platz != 0 ? "'$platz'" : "NULL")
+ . "\n WHERE turniermeldung_id = $ziel_meldung->turniermeldung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "SELECT * FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE turniermeldung_id = $ziel_meldung->turniermeldung_id ORDER BY turniermeldung_spieler_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ziel_meldung_spieler = $db->loadObjectList();
- if (count($ziel_meldung_spieler) != count($quelle_meldung_spieler)) die("Wrong id!");
+ $query = "SELECT * FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE turniermeldung_id = $ziel_meldung->turniermeldung_id ORDER BY turniermeldung_spieler_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ziel_meldung_spieler = $db->loadObjectList();
+ if (count($ziel_meldung_spieler) != count($quelle_meldung_spieler)) die("Wrong id!");
- for ($i = 0; $i < count($quelle_meldung_spieler); $i++) {
- $quelle_row = $quelle_meldung_spieler[$i];
- $ziel_row = $ziel_meldung_spieler[$i];
+ for ($i = 0; $i < count($quelle_meldung_spieler); $i++) {
+ $quelle_row = $quelle_meldung_spieler[$i];
+ $ziel_row = $ziel_meldung_spieler[$i];
- $query = "UPDATE #__sportsmanager_turniermeldung_spieler"
- . "\n SET spieler_id = " . ($quelle_row->spieler_id != null ? "'$quelle_row->spieler_id'" : "NULL")
- . "\n WHERE turniermeldung_spieler_id = $ziel_row->turniermeldung_spieler_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "UPDATE #__sportsmanager_turniermeldung_spieler"
+ . "\n SET spieler_id = " . ($quelle_row->spieler_id != null ? "'$quelle_row->spieler_id'" : "NULL")
+ . "\n WHERE turniermeldung_spieler_id = $ziel_row->turniermeldung_spieler_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- if ($quelle_row->spieler_id == null && $ziel_row->spieler_id == null) {
- $query = "UPDATE #__sportsmanager_turniermeldung_spieler_name"
- . "\n SET nachname = '" . $db->escape($quelle_row->nachname) . "',"
- . "\n vorname = '" . $db->escape($quelle_row->vorname) . "',"
- . "\n vereinsname = '" . $db->escape($quelle_row->vereinsname) . "'"
- . "\n WHERE turniermeldung_spieler_name_id = $ziel_row->turniermeldung_spieler_name_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else if ($quelle_row->spieler_id == null && $ziel_row->spieler_id != null) {
- $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
- . "\n VALUES ($ziel_row->turniermeldung_spieler_id, '" . $db->escape($quelle_row->nachname) . "', '" . $db->escape($quelle_row->vorname) . "', '" . $db->escape($quelle_row->vereinsname) . "');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else if ($quelle_row->spieler_id != null && $ziel_row->spieler_id == null) {
- $query = "DELETE FROM #__sportsmanager_turniermeldung_spieler_name"
- . "\n WHERE turniermeldung_spieler_name_id = $ziel_row->turniermeldung_spieler_name_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- }
- }
+ if ($quelle_row->spieler_id == null && $ziel_row->spieler_id == null) {
+ $query = "UPDATE #__sportsmanager_turniermeldung_spieler_name"
+ . "\n SET nachname = '" . $db->escape($quelle_row->nachname) . "',"
+ . "\n vorname = '" . $db->escape($quelle_row->vorname) . "',"
+ . "\n vereinsname = '" . $db->escape($quelle_row->vereinsname) . "'"
+ . "\n WHERE turniermeldung_spieler_name_id = $ziel_row->turniermeldung_spieler_name_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else if ($quelle_row->spieler_id == null && $ziel_row->spieler_id != null) {
+ $query = "INSERT INTO #__sportsmanager_turniermeldung_spieler_name (turniermeldung_spieler_id, nachname, vorname, vereinsname)"
+ . "\n VALUES ($ziel_row->turniermeldung_spieler_id, '" . $db->escape($quelle_row->nachname) . "', '" . $db->escape($quelle_row->vorname) . "', '" . $db->escape($quelle_row->vereinsname) . "');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else if ($quelle_row->spieler_id != null && $ziel_row->spieler_id == null) {
+ $query = "DELETE FROM #__sportsmanager_turniermeldung_spieler_name"
+ . "\n WHERE turniermeldung_spieler_name_id = $ziel_row->turniermeldung_spieler_name_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
+ }
- $query = "SELECT COUNT(*)"
- . "\n FROM #__sportsmanager_turniermeldung"
- . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
+ $query = "SELECT COUNT(*)"
+ . "\n FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
- if ($n == 1) {
- $query = "UPDATE #__sportsmanager_turniermeldung"
- . "\n SET meldungsgruppe_id = NULL"
- . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ if ($n == 1) {
+ $query = "UPDATE #__sportsmanager_turniermeldung"
+ . "\n SET meldungsgruppe_id = NULL"
+ . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
}
-function meldungssgruppe_entfernen($turniermeldung_id) {
- $db = getDatabase();
+function meldungssgruppe_entfernen($turniermeldung_id): void
+{
+ $db = getDatabase();
- $query = "SELECT * FROM #__sportsmanager_turniermeldung"
- . "\n WHERE turniermeldung_id = $turniermeldung_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 0) die("Wrong id!");
- $meldung = $rows[0];
- $meldungsgruppe_id = $meldung->meldungsgruppe_id != null ? $meldung->meldungsgruppe_id : $turniermeldung_id;
+ $query = "SELECT * FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE turniermeldung_id = $turniermeldung_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) === 0) die("Wrong id!");
+ $meldung = $rows[0];
+ $meldungsgruppe_id = $meldung->meldungsgruppe_id != null ? $meldung->meldungsgruppe_id : $turniermeldung_id;
- $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE heim_meldung_id = $turniermeldung_id OR gast_meldung_id = $turniermeldung_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE heim_meldung_id = $turniermeldung_id OR gast_meldung_id = $turniermeldung_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND turniermeldung_id = $turniermeldung_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE #__sportsmanager_turniermeldung_spieler_name FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id AND turniermeldung_id = $turniermeldung_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_turniermeldung_spieler WHERE turniermeldung_id = $turniermeldung_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turniermeldung_spieler WHERE turniermeldung_id = $turniermeldung_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turniermeldung_id = $turniermeldung_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turniermeldung_id = $turniermeldung_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "SELECT COUNT(*)"
- . "\n FROM #__sportsmanager_turniermeldung"
- . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
+ $query = "SELECT COUNT(*)"
+ . "\n FROM #__sportsmanager_turniermeldung"
+ . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $n = $db->loadResult();
- if ($n == 1) {
- $query = "UPDATE #__sportsmanager_turniermeldung"
- . "\n SET meldungsgruppe_id = NULL"
- . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ if ($n == 1) {
+ $query = "UPDATE #__sportsmanager_turniermeldung"
+ . "\n SET meldungsgruppe_id = NULL"
+ . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
}
-function adminEditTurnierdisziplinRundenstufe() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditTurnierdisziplinRundenstufe(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff(true);
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
- $rundenstufe = $jinput->get('rundenstufe', 0, 'INT');
- if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
+ $rundenstufe = $jInput->get('rundenstufe', 0, 'INT');
+ if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
- $query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, typ, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ $query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, typ, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
- keinZugriff(true);
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff(true);
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_turnier_rundenstufe"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = $rundenstufe";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- $rundenstufen_details = count($rows) >= 1 ? $rows[0] : null;
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_turnier_rundenstufe"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = $rundenstufe";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ $rundenstufen_details = count($rows) >= 1 ? $rows[0] : null;
- HTML_sportsmanager_admin::adminEditTurnierdisziplinRundenstufe($turnierdisziplin, $rundenstufe, $rundenstufen_details);
+ HTML_sportsmanager_admin::adminEditTurnierdisziplinRundenstufe($turnierdisziplin, $rundenstufe, $rundenstufen_details);
}
-function adminSaveTurnierdisziplinRundenstufe() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveTurnierdisziplinRundenstufe(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff();
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff();
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
- $rundenstufe = $jinput->get('rundenstufe', 0, 'INT');
- if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
+ $rundenstufe = $jInput->get('rundenstufe', 0, 'INT');
+ if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId);
+ }
- return;
- }
+ $bezeichnung = $db->escape($jInput->get('bezeichnung', '', 'RAW'));
+ $typ = $jInput->get('typ', 0, 'INT');
+ $runden = $jInput->get('runden', 0, 'INT');
+ $tabellenwertung = $jInput->get('tabellenwertung', 0, 'INT');
+ $saetze = $jInput->get('saetze', 0, 'INT');
+ $tore = $jInput->get('tore', 0, 'INT');
- $bezeichnung = $db->escape($jinput->get('bezeichnung', '', 'RAW'));
- $typ = $jinput->get('typ', 0, 'INT');
- $runden = $jinput->get('runden', 0, 'INT');
- $tabellenwertung = $jinput->get('tabellenwertung', 0, 'INT');
- $saetze = $jinput->get('saetze', 0, 'INT');
- $tore = $jinput->get('tore', 0, 'INT');
- $spielfelder_erstes = $jinput->get('spielfelder_erstes', 0, 'INT');
- $spielfelder_letztes = $jinput->get('spielfelder_letztes', 0, 'INT');
+ // Sicherstellen, dass Turnierdisziplin zum Turnier gehört
+ $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- // Sicherstellen, dass Turnierdisziplin zum Turnier gehört
- $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff();
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
- keinZugriff();
+ $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
- $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_turnier_rundenstufe"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = $rundenstufe";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ $rundenstufen_details = count($rows) >= 1 ? $rows[0] : null;
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_turnier_rundenstufe"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = $rundenstufe";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- $rundenstufen_details = count($rows) >= 1 ? $rows[0] : null;
+ if ($rundenstufen_details == null) {
+ $query = "INSERT #__sportsmanager_turnier_rundenstufe"
+ . "\n SET bezeichnung = '$bezeichnung',"
+ . "\n typ = " . ($typ != 0 ? "'$typ'" : "null") . ","
+ . "\n runden = " . ($runden != 0 ? "'$runden'" : "null") . ","
+ . "\n tabellenwertung = " . ($tabellenwertung != 0 ? "'$tabellenwertung'" : "null") . ","
+ . "\n saetze = " . ($saetze != 0 ? "'$saetze'" : "null") . ","
+ . "\n tore = " . ($tore != 0 ? "'$tore'" : "null") . ","
+ . "\n spielfelder = null,"
+ . "\n turnierdisziplin_id = '$turnierDisziplinId',"
+ . "\n rundenstufe = '$rundenstufe'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else {
+ $query = "UPDATE #__sportsmanager_turnier_rundenstufe"
+ . "\n SET bezeichnung = '$bezeichnung',"
+ . "\n typ = " . ($typ != 0 ? "'$typ'" : "null") . ","
+ . "\n runden = " . ($runden != 0 ? "'$runden'" : "null") . ","
+ . "\n tabellenwertung = " . ($tabellenwertung != 0 ? "'$tabellenwertung'" : "null") . ","
+ . "\n saetze = " . ($saetze != 0 ? "'$saetze'" : "null") . ","
+ . "\n tore = " . ($tore != 0 ? "'$tore'" : "null") . ","
+ . "\n spielfelder = null"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = $rundenstufe";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- if ($rundenstufen_details == null) {
- $query = "INSERT #__sportsmanager_turnier_rundenstufe"
- . "\n SET bezeichnung = '$bezeichnung',"
- . "\n typ = " . ($typ != 0 ? "'$typ'" : "null") . ","
- . "\n runden = " . ($runden != 0 ? "'$runden'" : "null") . ","
- . "\n tabellenwertung = " . ($tabellenwertung != 0 ? "'$tabellenwertung'" : "null") . ","
- . "\n saetze = " . ($saetze != 0 ? "'$saetze'" : "null") . ","
- . "\n tore = " . ($tore != 0 ? "'$tore'" : "null") . ","
- . "\n spielfelder = null,"
- . "\n turnierdisziplin_id = '$turnierdisziplinid',"
- . "\n rundenstufe = '$rundenstufe'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else {
- $query = "UPDATE #__sportsmanager_turnier_rundenstufe"
- . "\n SET bezeichnung = '$bezeichnung',"
- . "\n typ = " . ($typ != 0 ? "'$typ'" : "null") . ","
- . "\n runden = " . ($runden != 0 ? "'$runden'" : "null") . ","
- . "\n tabellenwertung = " . ($tabellenwertung != 0 ? "'$tabellenwertung'" : "null") . ","
- . "\n saetze = " . ($saetze != 0 ? "'$saetze'" : "null") . ","
- . "\n tore = " . ($tore != 0 ? "'$tore'" : "null") . ","
- . "\n spielfelder = null"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = $rundenstufe";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ if (($rundenstufen_details->typ == null && $typ != 0) || ($rundenstufen_details->typ != null && $typ != 0 && $rundenstufen_details->typ != $typ)) {
+ $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = $rundenstufe;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else if ($rundenstufen_details->saetze != null && $rundenstufen_details->saetze > $saetze) {
+ $query = "UPDATE #__sportsmanager_turnierspiel"
+ . "\n SET ergebnis_detailliert = null"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = $rundenstufe";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- if (($rundenstufen_details->typ == null && $typ != 0) || ($rundenstufen_details->typ != null && $typ != 0 && $rundenstufen_details->typ != $typ)) {
- $query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = $rundenstufe;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else if ($rundenstufen_details->saetze != null && $rundenstufen_details->saetze > $saetze) {
- $query = "UPDATE #__sportsmanager_turnierspiel"
- . "\n SET ergebnis_detailliert = null"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = $rundenstufe";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
-
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid);
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId);
}
-function adminRemoveTurnierdisziplinRundenstufe() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveTurnierdisziplinRundenstufe(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
- keinZugriff();
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
+ keinZugriff();
- $turnierdisziplinid = $jinput->get('turnierdisziplinid', 0, 'INT');
- $rundenstufe = $jinput->get('rundenstufe', 0, 'INT');
- if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
+ $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT');
+ $rundenstufe = $jInput->get('rundenstufe', 0, 'INT');
+ if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!");
- // Sicherstellen, dass Turnierdisziplin zum Turnier gehört
- $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierdisziplinid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $turnierdisziplin = $rows[0];
+ // Sicherstellen, dass Turnierdisziplin zum Turnier gehört
+ $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $turnierdisziplin = $rows[0];
- if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
- keinZugriff();
+ if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id))
+ keinZugriff();
- $query = "DELETE FROM #__sportsmanager_turnier_rundenstufe"
- . "\n WHERE turnierdisziplin_id = $turnierdisziplinid AND rundenstufe = $rundenstufe";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_turnier_rundenstufe"
+ . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = $rundenstufe";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierdisziplinid);
+ redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $turnierDisziplinId);
}
-function adminSpielerExportBilderForm() {
- $db = getDatabase();
+function adminSpielerExportBilderForm(): void
+{
+ $db = getDatabase();
- $ansprechpartner_bilder_bearbeiten = einstellungswert("ansprechpartner_spielerdaten") == "1" || einstellungswert("ansprechpartner_spielerdaten") == "3";
+ $ansprechpartner_bilder_bearbeiten = einstellungswert("ansprechpartner_spielerdaten") == "1" || einstellungswert("ansprechpartner_spielerdaten") == "3";
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (benutzerVeranstalterModerator() && $ansprechpartner_bilder_bearbeiten)
- $beschraenkter_zugriff = 1;
- else
- keinZugriff(true);
+ if (benutzerZugriff("spieler_aendern"))
+ $beschraenkter_zugriff = 0;
+ else if (benutzerVeranstalterModerator() && $ansprechpartner_bilder_bearbeiten)
+ $beschraenkter_zugriff = 1;
+ else
+ keinZugriff(true);
- if (!class_exists("ZipArchive") && !JArchive::getAdapter('zip')) {
- redirectSportsManagerURL('&task=admin_spieler', "Es steht keine Methode zur ZIP-Kompression zur Verfügung.");
+ $query = "SELECT DISTINCT veranstalter_id, #__sportsmanager_veranstalter.*"
+ . "\n FROM #__sportsmanager_veranstalter";
+ if ($beschraenkter_zugriff == 1)
+ $query .= "\n WHERE" . veranstalterFilter("veranstalter_id IN");
+ $query .= "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- return;
- }
-
- $query = "SELECT DISTINCT veranstalter_id, #__sportsmanager_veranstalter.*"
- . "\n FROM #__sportsmanager_veranstalter";
- if ($beschraenkter_zugriff == 1)
- $query .= "\n WHERE" . veranstalterFilter("veranstalter_id IN");
- $query .= "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminSpielerExportBilder($veranstalter, $beschraenkter_zugriff);
+ HTML_sportsmanager_admin::adminSpielerExportBilder($veranstalter, $beschraenkter_zugriff);
}
-function adminSpielerExportBilder() {
- $db = getDatabase();
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSpielerExportBilder(): void
+{
+ $db = getDatabase();
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spieler');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spieler');
+ }
- return;
- }
+ $ansprechpartner_bilder_bearbeiten = einstellungswert("ansprechpartner_spielerdaten") == "1" || einstellungswert("ansprechpartner_spielerdaten") == "3";
- $ansprechpartner_bilder_bearbeiten = einstellungswert("ansprechpartner_spielerdaten") == "1" || einstellungswert("ansprechpartner_spielerdaten") == "3";
+ if (benutzerZugriff("spieler_aendern"))
+ $beschraenkter_zugriff = 0;
+ else if (benutzerVeranstalterModerator() && $ansprechpartner_bilder_bearbeiten)
+ $beschraenkter_zugriff = 1;
+ else
+ keinZugriff();
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (benutzerVeranstalterModerator() && $ansprechpartner_bilder_bearbeiten)
- $beschraenkter_zugriff = 1;
- else
- keinZugriff();
+ setMinMemoryLimit('256M');
+ if (!ini_get('safe_mode'))
+ set_time_limit(300);
- setMinMemoryLimit('256M');
- if (!ini_get('safe_mode'))
- set_time_limit(300);
+ $filter = $jInput->get('filter', 0, 'INT');
+ $veranstalter_id = $jInput->get('veranstalter_id', 0, 'INT');
+ if ($veranstalter_id != 0) {
+ $query = "SELECT veranstalterbezeichnung FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $veranstalter_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $veranstalter = $rows[0];
+ } else
+ $veranstalter = null;
- $filter = $jinput->get('filter', 0, 'INT');
- $veranstalter_id = $jinput->get('veranstalter_id', 0, 'INT');
- if ($veranstalter_id != 0) {
- $query = "SELECT veranstalterbezeichnung FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $veranstalter_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $veranstalter = $rows[0];
- }
- else
- $veranstalter = null;
+ if ($beschraenkter_zugriff == 1) {
+ $query = "SELECT DISTINCT veranstalter_id"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n WHERE veranstalter_id = $veranstalter_id" . " AND" . veranstalterFilter("veranstalter_id IN")
+ . "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- if ($beschraenkter_zugriff == 1) {
- $query = "SELECT DISTINCT veranstalter_id"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n WHERE veranstalter_id = $veranstalter_id" . ($beschraenkter_zugriff == 1 ? (" AND" . veranstalterFilter("veranstalter_id IN")) : "")
- . "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
+ if (count($veranstalter) == 0)
+ keinZugriff();
+ }
- if (count($veranstalter) == 0)
- keinZugriff();
- }
+ $ziel_bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'export';
+ if (!Folder::exists($ziel_bilder_pfad) && !Folder::create($ziel_bilder_pfad, 0777)) {
+ redirectSportsManagerURL('&task=admin_spieler', "Der Ordner 'images/sportsmanager/export' konnte nicht neu erstellt werden.");
+ }
- $ziel_bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'export';
- if (!JFolder::exists($ziel_bilder_pfad) && !JFolder::create($ziel_bilder_pfad, 0777)) {
- redirectSportsManagerURL('&task=admin_spieler', "Der Ordner 'images/sportsmanager/export' konnte nicht neu erstellt werden.");
+ $alte_bilder = Folder::files($ziel_bilder_pfad);
+ foreach ($alte_bilder as $fn) {
+ if (!File::delete($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn)) {
+ redirectSportsManagerURL('&task=admin_spieler', "Im Ordner 'images/sportsmanager/export' konnten nicht alle Dateien gelöscht werden.rstellt werden.");
+ }
+ }
- return;
- }
+ $query = "SELECT spieler_id, vorname, nachname, spielernr"
+ . "\n FROM #__sportsmanager_spieler";
+ if ($veranstalter_id != 0)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND veranstalter_id = $veranstalter_id GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ $query .= "\n WHERE NOT ISNULL(aktueller_verein_id)";
+ if ($filter != 0)
+ $query .= " AND NOT bild_ausblenden";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler = $db->loadObjectList();
- $alte_bilder = JFolder::files($ziel_bilder_pfad);
- foreach ($alte_bilder as $fn) {
- if (!JFile::delete($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn)) {
- redirectSportsManagerURL('&task=admin_spieler', "Im Ordner 'images/sportsmanager/export' konnten nicht alle Dateien gelöscht werden.rstellt werden.");
+ foreach ($spieler as $s) {
+ $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'spieler' . DIRECTORY_SEPARATOR . $s->spieler_id . '.';
+ if (File::exists($pfad . 'png'))
+ $ext = "png";
+ else if (File::exists($pfad . 'jpg'))
+ $ext = "jpg";
+ else
+ continue;
- return;
- }
- }
+ if (!File::copy($pfad . $ext, $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'export' . DIRECTORY_SEPARATOR . 'Spieler ' . utf8_decode(bereinigterDateiname($s->nachname . ", " . $s->vorname . (!empty($s->spielernr) ? (" (" . $s->spielernr . ")") : "") . '.' . $ext)))) {
+ redirectSportsManagerURL('&task=admin_spieler', "Ein Bild (" . $s->spieler_id . ") konnte nicht an die Zielposition kopiert werden.");
+ }
+ }
- $query = "SELECT spieler_id, vorname, nachname, spielernr"
- . "\n FROM #__sportsmanager_spieler";
- if ($veranstalter_id != 0)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND veranstalter_id = $veranstalter_id GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- $query .= "\n WHERE NOT ISNULL(aktueller_verein_id)";
- if ($filter != 0)
- $query .= " AND NOT bild_ausblenden";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
+ $zip_dateien = array();
+ $neue_bilder = Folder::files($ziel_bilder_pfad);
+ foreach ($neue_bilder as $fn) {
+ $data = file_get_contents($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
+ $zip_dateien[] = array('name' => iconv("ISO-8859-1", "CP437", $fn), 'data' => $data);
+ }
+ $file = tempnam("tmp", "zip");
+ $zip = new Zip();
+ $zip->create($file, $zip_dateien);
- $anzahlSpieler = 0;
- foreach ($spieler as $s) {
- $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'spieler' . DIRECTORY_SEPARATOR . $s->spieler_id . '.';
- if (JFile::exists($pfad . 'png'))
- $ext = "png";
- else if (JFile::exists($pfad . 'jpg'))
- $ext = "jpg";
- else
- continue;
+ foreach ($neue_bilder as $fn)
+ File::delete($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
- if (!JFile::copy($pfad . $ext, $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'export' . DIRECTORY_SEPARATOR . 'Spieler ' . utf8_decode(bereinigterDateiname($s->nachname . ", " . $s->vorname . (!empty($s->spielernr) ? (" (" . $s->spielernr . ")") : "") . '.' . $ext)))) {
- redirectSportsManagerURL('&task=admin_spieler', "Ein Bild (" . $s->spieler_id . ") konnte nicht an die Zielposition kopiert werden.");
-
- return;
- }
- $anzahlSpieler++;
- }
-
- /*
- $neue_bilder = JFolder::files($ziel_bilder_pfad);
- $zip_dateien = array();
- foreach($neue_bilder as $fn)
- array_push($zip_dateien, $ziel_bilder_pfad.DIRECTORY_SEPARATOR.$fn);
- $file = tempnam("tmp", "tar");
- $zip = JArchive::create( $file, $zip_dateien, 'zip', '', $ziel_bilder_pfad );;
-*/
-
- if (class_exists("ZipArchive")) {
- $file = tempnam("tmp", "zip");
- $zip = new ZipArchive();
- $zip->open($file, ZipArchive::OVERWRITE);
- $neue_bilder = JFolder::files($ziel_bilder_pfad);
- foreach ($neue_bilder as $fn)
- $zip->addFile($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn, iconv("ISO-8859-1", "CP437", $fn));
- $zip->close();
- }
- else if (JArchive::getAdapter('zip')) {
- $zip_adapter = &JArchive::getAdapter('zip');
- $neue_bilder = JFolder::files($ziel_bilder_pfad);
- $zip_dateien = array();
- foreach ($neue_bilder as $fn) {
- $data = JFile::read($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
- array_push($zip_dateien, array('name' => iconv("ISO-8859-1", "CP437", $fn), 'data' => $data));
- }
- $file = tempnam("tmp", "zip");
- $zip_adapter->create($file, $zip_dateien, array());
- }
- else {
- redirectSportsManagerURL('&task=admin_spieler', "Es steht keine Methode zur ZIP-Kompression zur Verfügung.");
-
- return;
- }
-
- foreach ($neue_bilder as $fn)
- JFile::delete($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
-
- $dateiname = "Spielerbilder" . ($veranstalter != null ? (" " . utf8_decode($veranstalter->veranstalterbezeichnung)) : "") . ".zip";
- $dateiname = bereinigterDateiname($dateiname);
- ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
- header("Content-Type: application/zip");
- header("Content-Length: " . filesize($file));
- header("Content-Disposition: attachment; filename=\"" . $dateiname . "\"");
- readfile($file);
- unlink($file);
- die();
+ $dateiname = "Spielerbilder" . ($veranstalter != null ? (" " . utf8_decode($veranstalter->veranstalterbezeichnung)) : "") . ".zip";
+ $dateiname = bereinigterDateiname($dateiname);
+ ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
+ header("Content-Type: application/zip");
+ header("Content-Length: " . filesize($file));
+ header("Content-Disposition: attachment; filename=\"" . $dateiname . "\"");
+ readfile($file);
+ unlink($file);
+ die();
}
-function adminVereineExportBilderForm() {
- $db = getDatabase();
+function adminVereineExportBilderForm(): void
+{
+ $db = getDatabase();
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff(true);
- if (!class_exists("ZipArchive") && !JArchive::getAdapter('zip')) {
- redirectSportsManagerURL('&task=admin_vereine', "Es steht keine Methode zur ZIP-Kompression zur Verfügung.");
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- return;
- }
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminVereineExportBilder($veranstalter);
+ HTML_sportsmanager_admin::adminVereineExportBilder($veranstalter);
}
-function adminVereineExportBilder() {
- $db = getDatabase();
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminVereineExportBilder(): void
+{
+ $db = getDatabase();
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_vereine');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_vereine');
+ }
- return;
- }
+ setMinMemoryLimit('256M');
+ if (!ini_get('safe_mode'))
+ set_time_limit(300);
- setMinMemoryLimit('256M');
- if (!ini_get('safe_mode'))
- set_time_limit(300);
+ $veranstalter_id = $jInput->get('veranstalter_id', 0, 'INT');
+ if ($veranstalter_id != 0) {
+ $query = "SELECT veranstalterbezeichnung FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $veranstalter_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $veranstalter = $rows[0];
+ } else
+ $veranstalter = null;
- $veranstalter_id = $jinput->get('veranstalter_id', 0, 'INT');
- if ($veranstalter_id != 0) {
- $query = "SELECT veranstalterbezeichnung FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $veranstalter_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $veranstalter = $rows[0];
- }
- else
- $veranstalter = null;
+ $ziel_bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'export';
+ if (!Folder::exists($ziel_bilder_pfad) && !Folder::create($ziel_bilder_pfad, 0777)) {
+ redirectSportsManagerURL('&task=admin_vereine', "Der Ordner 'images/sportsmanager/export' konnte nicht neu erstellt werden.");
+ }
- $ziel_bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'export';
- if (!JFolder::exists($ziel_bilder_pfad) && !JFolder::create($ziel_bilder_pfad, 0777)) {
- redirectSportsManagerURL('&task=admin_vereine', "Der Ordner 'images/sportsmanager/export' konnte nicht neu erstellt werden.");
+ $alte_bilder = Folder::files($ziel_bilder_pfad);
+ foreach ($alte_bilder as $fn) {
+ if (!File::delete($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn)) {
+ redirectSportsManagerURL('&task=admin_vereine', "Im Ordner 'images/sportsmanager/export' konnten nicht alle Dateien gelöscht werden.");
+ }
+ }
- return;
- }
+ $query = "SELECT verein_id, vereinsname"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n WHERE NOT ausgetreten";
+ if ($veranstalter_id != 0)
+ $query .= " AND veranstalter_id = $veranstalter_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $vereine = $db->loadObjectList();
- $alte_bilder = JFolder::files($ziel_bilder_pfad);
- foreach ($alte_bilder as $fn) {
- if (!JFile::delete($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn)) {
- redirectSportsManagerURL('&task=admin_vereine', "Im Ordner 'images/sportsmanager/export' konnten nicht alle Dateien gelöscht werden.");
+ foreach ($vereine as $v) {
+ $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'vereine' . DIRECTORY_SEPARATOR . $v->verein_id . '.';
+ if (File::exists($pfad . 'png'))
+ $ext = "png";
+ else if (File::exists($pfad . 'jpg'))
+ $ext = "jpg";
+ else
+ continue;
- return;
- }
- }
+ if (!File::copy($pfad . $ext, $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'export' . DIRECTORY_SEPARATOR . 'Verein ' . utf8_decode(bereinigterDateiname($v->vereinsname)) . '.' . $ext)) {
+ redirectSportsManagerURL('&task=admin_vereine', "Ein Bild (" . $v->verein_id . ") konnte nicht an die Zielposition kopiert werden.");
+ }
+ }
- $query = "SELECT verein_id, vereinsname"
- . "\n FROM #__sportsmanager_verein"
- . "\n WHERE NOT ausgetreten";
- if ($veranstalter_id != 0)
- $query .= " AND veranstalter_id = $veranstalter_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
+ $neue_bilder = Folder::files($ziel_bilder_pfad);
+ $zip_dateien = array();
+ foreach ($neue_bilder as $fn) {
+ $data = file_get_contents($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
+ $zip_dateien[] = array('name' => iconv("ISO-8859-1", "CP437", $fn), 'data' => $data);
+ }
+ $file = tempnam("tmp", "zip");
+ $zip = new Zip();
+ $zip->create($file, $zip_dateien);
- $anzahlVereine = 0;
- foreach ($vereine as $v) {
- $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'vereine' . DIRECTORY_SEPARATOR . $v->verein_id . '.';
- if (JFile::exists($pfad . 'png'))
- $ext = "png";
- else if (JFile::exists($pfad . 'jpg'))
- $ext = "jpg";
- else
- continue;
+ foreach ($neue_bilder as $fn)
+ File::delete($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
- if (!JFile::copy($pfad . $ext, $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'export' . DIRECTORY_SEPARATOR . 'Verein ' . utf8_decode(bereinigterDateiname($v->vereinsname)) . '.' . $ext)) {
- redirectSportsManagerURL('&task=admin_vereine', "Ein Bild (" . $v->verein_id . ") konnte nicht an die Zielposition kopiert werden.");
-
- return;
- }
- $anzahlVereine++;
- }
- /*
- $neue_bilder = JFolder::files($ziel_bilder_pfad);
- $zip_dateien = array();
- foreach($neue_bilder as $fn)
- array_push($zip_dateien, $ziel_bilder_pfad.DIRECTORY_SEPARATOR.$fn);
- $file = tempnam("tmp", "tar");
- $zip = JArchive::create( $file, $zip_dateien, 'zip', '', $ziel_bilder_pfad );;
-*/
-
- if (class_exists("ZipArchive")) {
- $file = tempnam("tmp", "zip");
- $zip = new ZipArchive();
- $zip->open($file, ZipArchive::OVERWRITE);
- $neue_bilder = JFolder::files($ziel_bilder_pfad);
- foreach ($neue_bilder as $fn)
- $zip->addFile($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn, iconv("ISO-8859-1", "CP437", $fn));
- $zip->close();
- }
- else if (JArchive::getAdapter('zip')) {
- $zip_adapter = &JArchive::getAdapter('zip');
- $neue_bilder = JFolder::files($ziel_bilder_pfad);
- $zip_dateien = array();
- foreach ($neue_bilder as $fn) {
- $data = JFile::read($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
- array_push($zip_dateien, array('name' => iconv("ISO-8859-1", "CP437", $fn), 'data' => $data));
- }
- $file = tempnam("tmp", "zip");
- $zip_adapter->create($file, $zip_dateien, array());
- }
- else {
- redirectSportsManagerURL('&task=admin_vereine', "Es steht keine Methode zur ZIP-Kompression zur Verfügung.");
-
- return;
- }
-
- foreach ($neue_bilder as $fn)
- JFile::delete($ziel_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
-
- $dateiname = "Vereinsbilder" . ($veranstalter != null ? (" " . utf8_decode($veranstalter->veranstalterbezeichnung)) : "") . ".zip";
- $dateiname = bereinigterDateiname($dateiname);
- ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
- header("Content-Type: application/zip");
- header("Content-Length: " . filesize($file));
- header("Content-Disposition: attachment; filename=\"" . $dateiname . "\"");
- readfile($file);
- unlink($file);
- die();
+ $dateiname = "Vereinsbilder" . ($veranstalter != null ? (" " . utf8_decode($veranstalter->veranstalterbezeichnung)) : "") . ".zip";
+ $dateiname = bereinigterDateiname($dateiname);
+ ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
+ header("Content-Type: application/zip");
+ header("Content-Length: " . filesize($file));
+ header("Content-Disposition: attachment; filename=\"" . $dateiname . "\"");
+ readfile($file);
+ unlink($file);
+ die();
}
-function adminSpielerImportBilderForm() {
- $db = getDatabase();
+function adminSpielerImportBilderForm(): void
+{
+ $db = getDatabase();
- $ansprechpartner_bilder_bearbeiten = einstellungswert("ansprechpartner_spielerdaten") == "1" || einstellungswert("ansprechpartner_spielerdaten") == "3";
+ $ansprechpartner_bilder_bearbeiten = einstellungswert("ansprechpartner_spielerdaten") == "1" || einstellungswert("ansprechpartner_spielerdaten") == "3";
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (benutzerVeranstalterModerator() && $ansprechpartner_bilder_bearbeiten)
- $beschraenkter_zugriff = 1;
- else
- keinZugriff(true);
+ if (benutzerZugriff("spieler_aendern"))
+ $beschraenkter_zugriff = 0;
+ else if (benutzerVeranstalterModerator() && $ansprechpartner_bilder_bearbeiten)
+ $beschraenkter_zugriff = 1;
+ else
+ keinZugriff(true);
- if (!class_exists("ZipArchive") && !JArchive::getAdapter('zip')) {
- redirectSportsManagerURL('&task=admin_spieler', "Es steht keine Methode zur ZIP-Kompression zur Verfügung.");
+ $query = "SELECT DISTINCT veranstalter_id, #__sportsmanager_veranstalter.*"
+ . "\n FROM #__sportsmanager_veranstalter";
+ if ($beschraenkter_zugriff == 1)
+ $query .= "\n WHERE" . veranstalterFilter("veranstalter_id IN");
+ $query .= "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- return;
- }
-
- $query = "SELECT DISTINCT veranstalter_id, #__sportsmanager_veranstalter.*"
- . "\n FROM #__sportsmanager_veranstalter";
- if ($beschraenkter_zugriff == 1)
- $query .= "\n WHERE" . veranstalterFilter("veranstalter_id IN");
- $query .= "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminSpielerImportBilder($veranstalter, $beschraenkter_zugriff);
+ HTML_sportsmanager_admin::adminSpielerImportBilder($veranstalter, $beschraenkter_zugriff);
}
-function adminSpielerImportBilder() {
- $db = getDatabase();
- global $_FILES;
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+function adminSpielerImportBilder(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $ansprechpartner_bilder_bearbeiten = einstellungswert("ansprechpartner_spielerdaten") == "1" || einstellungswert("ansprechpartner_spielerdaten") == "3";
+ $ansprechpartner_bilder_bearbeiten = einstellungswert("ansprechpartner_spielerdaten") == "1" || einstellungswert("ansprechpartner_spielerdaten") == "3";
- if (benutzerZugriff("spieler_aendern"))
- $beschraenkter_zugriff = 0;
- else if (benutzerVeranstalterModerator() && $ansprechpartner_bilder_bearbeiten)
- $beschraenkter_zugriff = 1;
- else
- keinZugriff();
+ if (benutzerZugriff("spieler_aendern"))
+ $beschraenkter_zugriff = 0;
+ else if (benutzerVeranstalterModerator() && $ansprechpartner_bilder_bearbeiten)
+ $beschraenkter_zugriff = 1;
+ else
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_spieler');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_spieler');
+ }
- return;
- }
+ $veranstalter_id = $jInput->get('veranstalter_id', 0, 'INT');
+ $bilder_beibehalten = $jInput->get('bilder_beibehalten', 0, 'INT');
- $veranstalter_id = $jinput->get('veranstalter_id', 0, 'INT');
- $bilder_beibehalten = $jinput->get('bilder_beibehalten', 0, 'INT');
+ if ($beschraenkter_zugriff == 1) {
+ $query = "SELECT DISTINCT veranstalter_id"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n WHERE veranstalter_id = $veranstalter_id" . " AND" . veranstalterFilter("veranstalter_id IN")
+ . "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- if ($beschraenkter_zugriff == 1) {
- $query = "SELECT DISTINCT veranstalter_id"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n WHERE veranstalter_id = $veranstalter_id" . ($beschraenkter_zugriff == 1 ? (" AND" . veranstalterFilter("veranstalter_id IN")) : "")
- . "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
+ if (count($veranstalter) == 0)
+ keinZugriff();
+ }
- if (count($veranstalter) == 0)
- keinZugriff();
- }
+ $quelle_bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'import';
+ if (!Folder::exists($quelle_bilder_pfad) && !Folder::create($quelle_bilder_pfad, 0777)) {
+ redirectSportsManagerURL('&task=admin_spieler', "Der Ordner 'images/sportsmanager/import' existiert nicht.");
+ }
- $quelle_bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'import';
- if (!JFolder::exists($quelle_bilder_pfad) && !JFolder::create($quelle_bilder_pfad, 0777)) {
- redirectSportsManagerURL('&task=admin_spieler', "Der Ordner 'images/sportsmanager/import' existiert nicht.");
+ $alte_bilder = Folder::files($quelle_bilder_pfad);
+ foreach ($alte_bilder as $fn) {
+ if (!File::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn)) {
+ redirectSportsManagerURL('&task=admin_spieler', "Im Ordner 'images/sportsmanager/import' konnten nicht alle Dateien gelöscht werden.");
+ }
+ }
+ $alte_bilder = Folder::folders($quelle_bilder_pfad);
+ foreach ($alte_bilder as $fn) {
+ if (!Folder::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn)) {
+ redirectSportsManagerURL('&task=admin_spieler', "Im Ordner 'images/sportsmanager/import' konnten nicht alle Dateien gelöscht werden.");
+ }
+ }
- return;
- }
+ $zip = new Zip();
+ if (empty($_FILES["bilder_archiv"]["tmp_name"]) || !is_uploaded_file($_FILES["bilder_archiv"]["tmp_name"]) || !$zip->extract($_FILES["bilder_archiv"]["tmp_name"], $quelle_bilder_pfad)) {
+ redirectSportsManagerURL('&task=admin_spieler', "Die ZIP-Datei kann nicht geöffnet werden (Z).");
+ }
- $alte_bilder = JFolder::files($quelle_bilder_pfad);
- foreach ($alte_bilder as $fn) {
- if (!JFile::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn)) {
- redirectSportsManagerURL('&task=admin_spieler', "Im Ordner 'images/sportsmanager/import' konnten nicht alle Dateien gelöscht werden.");
+ if (!ini_get('safe_mode'))
+ set_time_limit(300);
- return;
- }
- }
- $alte_bilder = JFolder::folders($quelle_bilder_pfad);
- foreach ($alte_bilder as $fn) {
- if (!JFolder::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn)) {
- redirectSportsManagerURL('&task=admin_spieler', "Im Ordner 'images/sportsmanager/import' konnten nicht alle Dateien gelöscht werden.");
+ $anzahlSpieler = 0;
+ $ziel_bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'spieler';
+ $neue_bilder_alle = Folder::files($quelle_bilder_pfad, '(?i)(\.jpg|\.png)$');
+ foreach ($neue_bilder_alle as $index => $bild) {
+ $ppos = strrpos($bild, ".");
+ if ($ppos === false)
+ continue;
+ $len = strlen($bild);
+ $ext = strtolower(substr($bild, $ppos + 1));
+ if ($ext != "jpg" && $ext != "png")
+ continue;
+ $lpos = strrpos($bild, "(");
+ $rpos = $lpos !== false ? strpos($bild, ")", $lpos + 1) : false;
+ $spielernr = "";
+ $name = "";
+ if ($lpos !== false && $rpos !== false && $rpos - $lpos > 2) {
+ $spielernr = substr($bild, $lpos + 1, $rpos - $lpos - 1);
+ } else if (str_contains($bild, ",")) {
+ $name = substr($bild, 0, $len - 4);
+ } else
+ $spielernr = substr($bild, 0, $len - 4);
- return;
- }
- }
+ if (!empty($spielernr)) {
+ // Spielernummern und -namen ermitteln
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler";
+ if ($veranstalter_id != 0)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND veranstalter_id = $veranstalter_id GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ $query .= "\n WHERE NOT ISNULL(aktueller_verein_id) AND STRCMP(spielernr, '" . $db->escape($spielernr) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) != 1)
+ continue;
+ $spieler_id = $rows[0]->spieler_id;
+ } else if (!empty($name)) {
+ // Spielernummern und -namen ermitteln
+ $query = "SELECT spieler_id"
+ . "\n FROM #__sportsmanager_spieler";
+ if ($veranstalter_id != 0)
+ $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND veranstalter_id = $veranstalter_id GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
+ $query .= "\n WHERE NOT ISNULL(aktueller_verein_id) AND STRCMP(CONCAT_WS(', ', nachname, vorname), '" . $db->escape($name) . "') = 0"
+ . "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) != 1)
+ continue;
+ $spieler_id = $rows[0]->spieler_id;
+ } else
+ continue;
- if (class_exists("ZipArchive")) {
- $zip = new ZipArchive;
- if (empty($_FILES["bilder_archiv"]["tmp_name"]) || !is_uploaded_file($_FILES["bilder_archiv"]["tmp_name"]) || $zip->open($_FILES["bilder_archiv"]["tmp_name"]) !== true) {
- redirectSportsManagerURL('&task=admin_spieler', "Die ZIP-Datei kann nicht geöffnet werden (ZA).");
+ if ($bilder_beibehalten) {
+ $ziel_pfad = $ziel_bilder_pfad . DIRECTORY_SEPARATOR . $spieler_id . '.';
+ if (File::exists($ziel_pfad . 'jpg') || File::exists($ziel_pfad . 'png'))
+ continue;
+ }
- return;
- }
+ $quelle_pfad = $quelle_bilder_pfad . DIRECTORY_SEPARATOR . $bild;
+ $ziel_pfad = $ziel_bilder_pfad . DIRECTORY_SEPARATOR . $spieler_id . '.' . $ext;
+ if (!files_identical($quelle_pfad, $ziel_pfad)) {
+ bildLoeschen("spieler", $spieler_id);
+ if (!bildKopierenAngepasst($quelle_pfad, $ziel_pfad, 180, 240, 1))
+ continue;
+ }
+ $anzahlSpieler++;
+ unset($neue_bilder_alle[$index]);
+ }
- for ($i = 0; $i < $zip->numFiles; $i++) {
- $filename = $zip->getNameIndex($i);
- $fileinfo = pathinfo($filename);
- copy("zip://" . $_FILES["bilder_archiv"]["tmp_name"] . "#" . $filename, $quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fileinfo['basename']);
- }
- $zip->close();
- }
- else if (JArchive::getAdapter('zip')) {
- $zip_adapter = &JArchive::getAdapter('zip');
- if (empty($_FILES["bilder_archiv"]["tmp_name"]) || !is_uploaded_file($_FILES["bilder_archiv"]["tmp_name"]) || !$zip_adapter->extract($_FILES["bilder_archiv"]["tmp_name"], $quelle_bilder_pfad)) {
- redirectSportsManagerURL('&task=admin_spieler', "Die ZIP-Datei kann nicht geöffnet werden (Z).");
+ $alte_bilder = Folder::files($quelle_bilder_pfad);
+ foreach ($alte_bilder as $fn)
+ File::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
+ $alte_bilder = Folder::folders($quelle_bilder_pfad);
+ foreach ($alte_bilder as $fn)
+ Folder::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
- return;
- }
- }
- else {
- redirectSportsManagerURL('&task=admin_spieler', "Es steht keine Methode zur ZIP-Kompression zur Verfügung.");
+ sort($neue_bilder_alle);
- return;
- }
-
- if (!ini_get('safe_mode'))
- set_time_limit(300);
-
- $anzahlSpieler = 0;
- $ziel_bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'spieler';
- $neue_bilder_alle = JFolder::files($quelle_bilder_pfad, '(?i)(\.jpg|\.png)$');
- foreach ($neue_bilder_alle as $index => $bild) {
- $ppos = strrpos($bild, ".");
- if ($ppos === false)
- continue;
- $len = strlen($bild);
- $ext = strtolower(substr($bild, $ppos + 1));
- if ($ext != "jpg" && $ext != "png")
- continue;
- $lpos = strrpos($bild, "(");
- $rpos = $lpos !== false ? strpos($bild, ")", $lpos + 1) : false;
- $spielernr = "";
- $name = "";
- if ($lpos !== false && $rpos !== false && $rpos - $lpos > 2) {
- $spielernr = substr($bild, $lpos + 1, $rpos - $lpos - 1);
- }
- else if (strpos($bild, ",") !== false) {
- $name = substr($bild, 0, $len - 4);
- }
- else
- $spielernr = substr($bild, 0, $len - 4);
-
- if (!empty($spielernr)) {
- // Spielernummern und -namen ermitteln
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler";
- if ($veranstalter_id != 0)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND veranstalter_id = $veranstalter_id GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- $query .= "\n WHERE NOT ISNULL(aktueller_verein_id) AND STRCMP(spielernr, '" . $db->escape($spielernr) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) != 1)
- continue;
- $spieler_id = $rows[0]->spieler_id;
- }
- else if (!empty($name)) {
- // Spielernummern und -namen ermitteln
- $query = "SELECT spieler_id"
- . "\n FROM #__sportsmanager_spieler";
- if ($veranstalter_id != 0)
- $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND veranstalter_id = $veranstalter_id GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)";
- $query .= "\n WHERE NOT ISNULL(aktueller_verein_id) AND STRCMP(CONCAT_WS(', ', nachname, vorname), '" . $db->escape($name) . "') = 0"
- . "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) != 1)
- continue;
- $spieler_id = $rows[0]->spieler_id;
- }
- else
- continue;
-
- if ($bilder_beibehalten) {
- $ziel_pfad = $ziel_bilder_pfad . DIRECTORY_SEPARATOR . $spieler_id . '.';
- if (JFile::exists($ziel_pfad . 'jpg') || JFile::exists($ziel_pfad . 'png'))
- continue;
- }
-
- $quelle_pfad = $quelle_bilder_pfad . DIRECTORY_SEPARATOR . $bild;
- $ziel_pfad = $ziel_bilder_pfad . DIRECTORY_SEPARATOR . $spieler_id . '.' . $ext;
- if (!files_identical($quelle_pfad, $ziel_pfad)) {
- bildLoeschen("spieler", $spieler_id);
- if (!bildKopierenAngepasst($quelle_pfad, $ziel_pfad, 180, 240, 1))
- continue;
- }
- $anzahlSpieler++;
- unset($neue_bilder_alle[$index]);
- }
-
- $alte_bilder = JFolder::files($quelle_bilder_pfad);
- foreach ($alte_bilder as $fn)
- JFile::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
- $alte_bilder = JFolder::folders($quelle_bilder_pfad);
- foreach ($alte_bilder as $fn)
- JFolder::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
-
- sort($neue_bilder_alle);
-
- HTML_sportsmanager_admin::adminSpielerImportBilderBericht($anzahlSpieler, $neue_bilder_alle);
+ HTML_sportsmanager_admin::adminSpielerImportBilderBericht($anzahlSpieler, $neue_bilder_alle);
}
-function adminVereineImportBilderForm() {
- $db = getDatabase();
+function adminVereineImportBilderForm(): void
+{
+ $db = getDatabase();
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff(true);
- if (!class_exists("ZipArchive") && !JArchive::getAdapter('zip')) {
- redirectSportsManagerURL('&task=admin_vereine', "Es steht keine Methode zur ZIP-Kompression zur Verfügung.");
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_veranstalter"
+ . "\n ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- return;
- }
-
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_veranstalter"
- . "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminVereineImportBilder($veranstalter);
+ HTML_sportsmanager_admin::adminVereineImportBilder($veranstalter);
}
-function adminVereineImportBilder() {
- $db = getDatabase();
- global $_FILES;
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+function adminVereineImportBilder(): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("vereine_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("vereine_aendern"))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_vereine');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_vereine');
+ }
- return;
- }
+ $veranstalter_id = $jInput->get('veranstalter_id', 0, 'INT');
+ $bilder_beibehalten = $jInput->get('bilder_beibehalten', 0, 'INT');
- $veranstalter_id = $jinput->get('veranstalter_id', 0, 'INT');
- $bilder_beibehalten = $jinput->get('bilder_beibehalten', 0, 'INT');
+ $quelle_bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'import';
+ if (!Folder::exists($quelle_bilder_pfad) && !Folder::create($quelle_bilder_pfad, 0777)) {
+ redirectSportsManagerURL('&task=admin_uebersicht', "Der Ordner 'images/sportsmanager/import' existiert nicht.");
+ }
- $quelle_bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'import';
- if (!JFolder::exists($quelle_bilder_pfad) && !JFolder::create($quelle_bilder_pfad, 0777)) {
- redirectSportsManagerURL('&task=admin_uebersicht', "Der Ordner 'images/sportsmanager/import' existiert nicht.");
+ $alte_bilder = Folder::files($quelle_bilder_pfad);
+ foreach ($alte_bilder as $fn) {
+ if (!File::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn)) {
+ redirectSportsManagerURL('&task=admin_vereine', "Im Ordner 'images/sportsmanager/import' konnten nicht alle Dateien gelöscht werden.");
+ }
+ }
+ $alte_bilder = Folder::folders($quelle_bilder_pfad);
+ foreach ($alte_bilder as $fn) {
+ if (!Folder::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn)) {
+ redirectSportsManagerURL('&task=admin_uebersicht', "Im Ordner 'images/sportsmanager/import' konnten nicht alle Dateien gelöscht werden.");
+ }
+ }
- return;
- }
+ $zip = new Zip();
+ if (empty($_FILES["bilder_archiv"]["tmp_name"]) || !is_uploaded_file($_FILES["bilder_archiv"]["tmp_name"]) || !$zip->extract($_FILES["bilder_archiv"]["tmp_name"], $quelle_bilder_pfad)) {
+ redirectSportsManagerURL('&task=admin_uebersicht', "Die ZIP-Datei kann nicht geöffnet werden (Z).");
+ }
- $alte_bilder = JFolder::files($quelle_bilder_pfad);
- foreach ($alte_bilder as $fn) {
- if (!JFile::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn)) {
- redirectSportsManagerURL('&task=admin_vereine', "Im Ordner 'images/sportsmanager/import' konnten nicht alle Dateien gelöscht werden.");
+ if (!ini_get('safe_mode'))
+ set_time_limit(300);
- return;
- }
- }
- $alte_bilder = JFolder::folders($quelle_bilder_pfad);
- foreach ($alte_bilder as $fn) {
- if (!JFolder::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn)) {
- redirectSportsManagerURL('&task=admin_uebersicht', "Im Ordner 'images/sportsmanager/import' konnten nicht alle Dateien gelöscht werden.");
+ $anzahlVereine = 0;
+ $ziel_bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'vereine';
+ $neue_bilder_alle = Folder::files($quelle_bilder_pfad, '(?i)(\.jpg|\.png)$');
+ foreach ($neue_bilder_alle as $index => $bild) {
+ $ppos = strrpos($bild, ".");
+ if ($ppos === false)
+ continue;
+ $len = strlen($bild);
+ $ext = strtolower(substr($bild, $ppos + 1));
+ if ($ext != "jpg" && $ext != "png")
+ continue;
+ if (!str_starts_with($bild, "Verein "))
+ continue;
+ $name = substr($bild, 7, $len - 11);
+ if (empty($name))
+ continue;
- return;
- }
- }
+ $query = "SELECT verein_id"
+ . "\n FROM #__sportsmanager_verein"
+ . "\n WHERE NOT ausgetreten AND STRCMP(vereinsname, '" . $db->escape($name) . "') = 0";
+ if ($veranstalter_id != 0)
+ $query .= " AND veranstalter_id = $veranstalter_id";
+ $query .= "\n LIMIT 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) != 1)
+ continue;
+ $verein_id = $rows[0]->verein_id;
- if (class_exists("ZipArchive")) {
- $zip = new ZipArchive;
- if (empty($_FILES["bilder_archiv"]["tmp_name"]) || !is_uploaded_file($_FILES["bilder_archiv"]["tmp_name"]) || $zip->open($_FILES["bilder_archiv"]["tmp_name"]) !== true) {
- redirectSportsManagerURL('&task=admin_vereine', "Die ZIP-Datei kann nicht geöffnet werden (ZA).");
+ if ($bilder_beibehalten) {
+ $ziel_pfad = $ziel_bilder_pfad . DIRECTORY_SEPARATOR . $verein_id . '.';
+ if (File::exists($ziel_pfad . 'jpg') || File::exists($ziel_pfad . 'png'))
+ continue;
+ }
- return;
- }
+ $quelle_pfad = $quelle_bilder_pfad . DIRECTORY_SEPARATOR . $bild;
+ $ziel_pfad = $ziel_bilder_pfad . DIRECTORY_SEPARATOR . $verein_id . '.' . $ext;
+ if (!files_identical($quelle_pfad, $ziel_pfad)) {
+ bildLoeschen("vereine", $verein_id);
+ if (!bildKopierenAngepasst($quelle_pfad, $ziel_pfad, 240, 240, 0))
+ continue;
+ }
+ $anzahlVereine++;
+ unset($neue_bilder_alle[$index]);
+ }
- for ($i = 0; $i < $zip->numFiles; $i++) {
- $filename = $zip->getNameIndex($i);
- $fileinfo = pathinfo($filename);
- copy("zip://" . $_FILES["bilder_archiv"]["tmp_name"] . "#" . $filename, $quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fileinfo['basename']);
- }
- $zip->close();
- }
- else if (JArchive::getAdapter('zip')) {
- $zip_adapter = &JArchive::getAdapter('zip');
- if (empty($_FILES["bilder_archiv"]["tmp_name"]) || !is_uploaded_file($_FILES["bilder_archiv"]["tmp_name"]) || !$zip_adapter->extract($_FILES["bilder_archiv"]["tmp_name"], $quelle_bilder_pfad)) {
- redirectSportsManagerURL('&task=admin_uebersicht', "Die ZIP-Datei kann nicht geöffnet werden (Z).");
+ $alte_bilder = Folder::files($quelle_bilder_pfad);
+ foreach ($alte_bilder as $fn)
+ File::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
+ $alte_bilder = Folder::folders($quelle_bilder_pfad);
+ foreach ($alte_bilder as $fn)
+ Folder::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
- return;
- }
- }
- else {
- redirectSportsManagerURL('&task=admin_vereine', "Es steht keine Methode zur ZIP-Kompression zur Verfügung.");
+ sort($neue_bilder_alle);
- return;
- }
-
- if (!ini_get('safe_mode'))
- set_time_limit(300);
-
- $anzahlVereine = 0;
- $ziel_bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'vereine';
- $neue_bilder_alle = JFolder::files($quelle_bilder_pfad, '(?i)(\.jpg|\.png)$');
- foreach ($neue_bilder_alle as $index => $bild) {
- $ppos = strrpos($bild, ".");
- if ($ppos === false)
- continue;
- $len = strlen($bild);
- $ext = strtolower(substr($bild, $ppos + 1));
- if ($ext != "jpg" && $ext != "png")
- continue;
- if (substr($bild, 0, 7) != "Verein ")
- continue;
- $name = substr($bild, 7, $len - 11);
- if (empty($name))
- continue;
-
- $query = "SELECT verein_id"
- . "\n FROM #__sportsmanager_verein"
- . "\n WHERE NOT ausgetreten AND STRCMP(vereinsname, '" . $db->escape($name) . "') = 0";
- if ($veranstalter_id != 0)
- $query .= " AND veranstalter_id = $veranstalter_id";
- $query .= "\n LIMIT 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) != 1)
- continue;
- $verein_id = $rows[0]->verein_id;
-
- if ($bilder_beibehalten) {
- $ziel_pfad = $ziel_bilder_pfad . DIRECTORY_SEPARATOR . $verein_id . '.';
- if (JFile::exists($ziel_pfad . 'jpg') || JFile::exists($ziel_pfad . 'png'))
- continue;
- }
-
- $quelle_pfad = $quelle_bilder_pfad . DIRECTORY_SEPARATOR . $bild;
- $ziel_pfad = $ziel_bilder_pfad . DIRECTORY_SEPARATOR . $verein_id . '.' . $ext;
- if (!files_identical($quelle_pfad, $ziel_pfad)) {
- bildLoeschen("vereine", $verein_id);
- if (!bildKopierenAngepasst($quelle_pfad, $ziel_pfad, 240, 240, 0))
- continue;
- }
- $anzahlVereine++;
- unset($neue_bilder_alle[$index]);
- }
-
- $alte_bilder = JFolder::files($quelle_bilder_pfad);
- foreach ($alte_bilder as $fn)
- JFile::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
- $alte_bilder = JFolder::folders($quelle_bilder_pfad);
- foreach ($alte_bilder as $fn)
- JFolder::delete($quelle_bilder_pfad . DIRECTORY_SEPARATOR . $fn);
-
- sort($neue_bilder_alle);
-
- HTML_sportsmanager_admin::adminVereineImportBilderBericht($anzahlVereine, $neue_bilder_alle);
+ HTML_sportsmanager_admin::adminVereineImportBilderBericht($anzahlVereine, $neue_bilder_alle);
}
-function adminTermine($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminTermine($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (benutzerZugriff("termine_aendern"))
- $zugriffsebene = 2;
- else if (einstellungswert("termine_beantragen") == "1" && !JFactory::getUser()->guest && !isExternalDatabase())
- $zugriffsebene = 1;
- else
- $zugriffsebene = 0;
+ if (benutzerZugriff("termine_aendern"))
+ $zugriffsebene = 2;
+ else if (einstellungswert("termine_beantragen") == "1" && !Factory::getContainer()->get(SiteApplication::class)->getIdentity()->guest && !isExternalDatabase())
+ $zugriffsebene = 1;
+ else
+ $zugriffsebene = 0;
- $filter_jahr = $jinput->get('filter_jahr', 0, 'INT');
- if (empty($filter_jahr))
- $filter_jahr = date('Y');
- $filter_veranstaltung = $jinput->get('filter_veranstaltung', '', 'RAW');
- $filter_zusatz = $jinput->get('filter_zusatz', '', 'RAW');
- $filter_land = $jinput->get('filter_land', '', 'RAW');
+ $filter_jahr = $jInput->get('filter_jahr', 0, 'INT');
+ if (empty($filter_jahr))
+ $filter_jahr = date('Y');
+ $filter_veranstaltung = $jInput->get('filter_veranstaltung', '', 'RAW');
+ $filter_zusatz = $jInput->get('filter_zusatz', '', 'RAW');
+ $filter_land = $jInput->get('filter_land', '', 'RAW');
- $query = "SELECT DISTINCT YEAR(erster_tag) AS jahr"
- . "\n FROM #__sportsmanager_termin"
- . "\n ORDER BY erster_tag DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $jahre = $db->loadObjectList();
+ $query = "SELECT DISTINCT YEAR(erster_tag) AS jahr"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n ORDER BY erster_tag DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $jahre = $db->loadObjectList();
- $jahr_gefunden = false;
- foreach ($jahre as $jahr) {
- if ($jahr->jahr == $filter_jahr) {
- $jahr_gefunden = true;
- break;
- }
- }
- if (!$jahr_gefunden && !empty($jahre))
- $filter_jahr = $jahre[0]->jahr;
+ $jahr_gefunden = false;
+ foreach ($jahre as $jahr) {
+ if ($jahr->jahr == $filter_jahr) {
+ $jahr_gefunden = true;
+ break;
+ }
+ }
+ if (!$jahr_gefunden && !empty($jahre))
+ $filter_jahr = $jahre[0]->jahr;
- $query = "SELECT *, DATEDIFF(erster_tag, NOW()) AS datumsdifferenz, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
- . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)";
- if (!empty($filter_veranstaltung))
- $query .= " AND bezeichnung = '" . $db->escape($filter_veranstaltung) . "'";
- if (!empty($filter_zusatz))
- $query .= " AND EXISTS(SELECT * FROM #__sportsmanager_termin_zusatz WHERE termin_id = #__sportsmanager_termin.termin_id AND zusatz = '" . $db->escape($filter_zusatz) . "')";
- if (!empty($filter_land))
- $query .= " AND land = '" . $db->escape($filter_land) . "'";
- $query .= "\n GROUP BY termin_id"
- . "\n ORDER BY erster_tag, bezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $termine = $db->loadObjectList();
+ $query = "SELECT *, DATEDIFF(erster_tag, NOW()) AS datumsdifferenz, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
+ . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)";
+ if (!empty($filter_veranstaltung))
+ $query .= " AND bezeichnung = '" . $db->escape($filter_veranstaltung) . "'";
+ if (!empty($filter_zusatz))
+ $query .= " AND EXISTS(SELECT * FROM #__sportsmanager_termin_zusatz WHERE termin_id = #__sportsmanager_termin.termin_id AND zusatz = '" . $db->escape($filter_zusatz) . "')";
+ if (!empty($filter_land))
+ $query .= " AND land = '" . $db->escape($filter_land) . "'";
+ $query .= "\n GROUP BY termin_id"
+ . "\n ORDER BY erster_tag, bezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $termine = $db->loadObjectList();
- $query = "SELECT termin_id, termin_symbol_id"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n INNER JOIN #__sportsmanager_termin_symbolanzeige USING (termin_id)"
- . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)"
- . "\n ORDER BY termin_symbolanzeige_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $terminsymbole = $db->loadObjectList();
+ $query = "SELECT termin_id, termin_symbol_id"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n INNER JOIN #__sportsmanager_termin_symbolanzeige USING (termin_id)"
+ . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)"
+ . "\n ORDER BY termin_symbolanzeige_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $terminsymbole = $db->loadObjectList();
- $termineSymbole = array();
- foreach ($terminsymbole as $termin) {
- $termin_id = $termin->termin_id;
- $termin_symbol_id = $termin->termin_symbol_id;
- if (!isset($termineSymbole[$termin_id]))
- $termineSymbole[$termin_id] = array();
- array_push($termineSymbole[$termin_id], $termin_symbol_id);
- }
+ $termineSymbole = array();
+ foreach ($terminsymbole as $termin) {
+ $termin_id = $termin->termin_id;
+ $termin_symbol_id = $termin->termin_symbol_id;
+ if (!isset($termineSymbole[$termin_id]))
+ $termineSymbole[$termin_id] = array();
+ $termineSymbole[$termin_id][] = $termin_symbol_id;
+ }
- $query = "SELECT COUNT(*)"
- . "\n FROM #__sportsmanager_termin_aktion"
- . "\n WHERE status = 2";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $anzahl_beantragte_termine = $db->loadResult();
+ $query = "SELECT COUNT(*)"
+ . "\n FROM #__sportsmanager_termin_aktion"
+ . "\n WHERE status = 2";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $anzahl_beantragte_termine = $db->loadResult();
- $query = "SELECT bezeichnung"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n INNER JOIN #__sportsmanager_termin_bezeichnung USING (bezeichnung)"
- . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)"
- . "\n GROUP BY bezeichnung"
- . "\n ORDER BY bezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
+ $query = "SELECT bezeichnung"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n INNER JOIN #__sportsmanager_termin_bezeichnung USING (bezeichnung)"
+ . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)"
+ . "\n GROUP BY bezeichnung"
+ . "\n ORDER BY bezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstaltungen = $db->loadObjectList();
- $query = "SELECT bezeichnungszusatz, titel"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n INNER JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
- . "\n INNER JOIN #__sportsmanager_termin_bezeichnungszusatz ON bezeichnungszusatz = zusatz"
- . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)"
- . "\n GROUP BY bezeichnungszusatz"
- . "\n ORDER BY IF(titel = '', bezeichnungszusatz, titel)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $zusaetze = $db->loadObjectList();
+ $query = "SELECT bezeichnungszusatz, titel"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n INNER JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
+ . "\n INNER JOIN #__sportsmanager_termin_bezeichnungszusatz ON bezeichnungszusatz = zusatz"
+ . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)"
+ . "\n GROUP BY bezeichnungszusatz"
+ . "\n ORDER BY IF(titel = '', bezeichnungszusatz, titel)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $zusaetze = $db->loadObjectList();
- $query = "SELECT land"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n INNER JOIN (SELECT land FROM #__sportsmanager_termin_land UNION SELECT bundesland AS land FROM #__sportsmanager_termin_bundesland) AS land_bundesland USING (land)"
- . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)"
- . "\n GROUP BY land"
- . "\n ORDER BY land";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $laender = $db->loadObjectList();
+ $query = "SELECT land"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n INNER JOIN (SELECT land FROM #__sportsmanager_termin_land UNION SELECT bundesland AS land FROM #__sportsmanager_termin_bundesland) AS land_bundesland USING (land)"
+ . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)"
+ . "\n GROUP BY land"
+ . "\n ORDER BY land";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $laender = $db->loadObjectList();
- if (isJson()) {
+ if (isJson()) {
$jsonexport = array_map(
function ($termin) {
return [
- "bestaetigt" => $termin->bestaetigt,
- "erster_tag" => $termin->erster_tag,
- "letzter_tag" => $termin->letzter_tag,
- "bezeichnung" => $termin->bezeichnung,
- "ort" => $termin->ort,
- "land" => $termin->land,
- "zusaetze" => $termin->zusaetze,
- "url" => $termin->url,
+ "bestaetigt" => $termin->bestaetigt,
+ "erster_tag" => $termin->erster_tag,
+ "letzter_tag" => $termin->letzter_tag,
+ "bezeichnung" => $termin->bezeichnung,
+ "ort" => $termin->ort,
+ "land" => $termin->land,
+ "zusaetze" => $termin->zusaetze,
+ "url" => $termin->url,
"ergebnisse_url" => $termin->ergebnisse_url,
- "email" => $termin->email,
+ "email" => $termin->email,
];
}, $termine);
- JSON_sportsmanager::JSON($jsonexport);
- } else {
- HTML_sportsmanager_admin::adminTermine($termine, $termineSymbole, $jahre, $filter_jahr, $filter_veranstaltung, $filter_zusatz, $filter_land, $veranstaltungen, $zusaetze, $laender, $anzahl_beantragte_termine, $zugriffsebene, $admin_uebersicht, isExternalDatabase());
+ JSON_sportsmanager::JSON($jsonexport);
+ } else {
+ HTML_sportsmanager_admin::adminTermine($termine, $termineSymbole, $jahre, $filter_jahr, $filter_veranstaltung, $filter_zusatz, $filter_land, $veranstaltungen, $zusaetze, $laender, $anzahl_beantragte_termine, $zugriffsebene, $admin_uebersicht, isExternalDatabase());
- if (!$admin_uebersicht) {
- administrationFooter();
- }
- }
+ if (!$admin_uebersicht) {
+ administrationFooter();
+ }
+ }
}
-function adminEditTermin($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditTermin($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (benutzerZugriff("termine_aendern"))
- $zugriffsebene = 2;
- else if (einstellungswert("termine_beantragen") == "1" && !JFactory::getUser()->guest && !isExternalDatabase())
- $zugriffsebene = 1;
- else
- $zugriffsebene = 0;
+ if (benutzerZugriff("termine_aendern"))
+ $zugriffsebene = 2;
+ else if (einstellungswert("termine_beantragen") == "1" && !Factory::getContainer()->get(SiteApplication::class)->getIdentity()->guest && !isExternalDatabase())
+ $zugriffsebene = 1;
+ else
+ $zugriffsebene = 0;
- if ($zugriffsebene == 0)
- keinZugriff(true);
+ if ($zugriffsebene == 0)
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- $uebersicht = $jinput->get('uebersicht', 0, 'INT');
- $ueberarbeiten = $jinput->get('ueberarbeiten', 0, 'INT');
- $nur_beantragte = $jinput->get('nur_beantragte', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
+ $uebersicht = $jInput->get('uebersicht', 0, 'INT');
+ $ueberarbeiten = $jInput->get('ueberarbeiten', 0, 'INT');
+ $nur_beantragte = $jInput->get('nur_beantragte', 0, 'INT');
- if (empty($id)) {
- $termin = null;
- $terminsymbolanzeige = null;
- }
- else {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n WHERE termin_id = $id" . ($zugriffsebene != 2 ? " AND status = 0" : " AND (status = 0 OR status = 2)") . " AND (typ = 0 OR typ = 1)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''), "Der bisherige Termin existiert nicht mehr.");
+ if (empty($id)) {
+ $termin = null;
+ $terminsymbolanzeige = null;
+ } else {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n WHERE termin_id = $id" . ($zugriffsebene != 2 ? " AND status = 0" : " AND (status = 0 OR status = 2)") . " AND (typ = 0 OR typ = 1)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''), "Der bisherige Termin existiert nicht mehr.");
+ }
+ $termin = $rows[0];
- return;
- }
- $termin = $rows[0];
+ $query = "SELECT termin_symbol_id"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n INNER JOIN #__sportsmanager_termin_symbolanzeige USING (termin_id)"
+ . "\n WHERE termin_id = $termin->termin_id"
+ . "\n ORDER BY termin_symbolanzeige_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $terminsymbolanzeige = $db->loadObjectList();
+ }
- $query = "SELECT termin_symbol_id"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n INNER JOIN #__sportsmanager_termin_symbolanzeige USING (termin_id)"
- . "\n WHERE termin_id = $termin->termin_id"
- . "\n ORDER BY termin_symbolanzeige_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $terminsymbolanzeige = $db->loadObjectList();
- }
+ $query = "SELECT termin_symbol_id, symboltitel, status"
+ . "\n FROM #__sportsmanager_termin_symbol"
+ . "\n ORDER BY status DESC, symboltitel";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $terminsymbole = $db->loadObjectList();
- $query = "SELECT termin_symbol_id, symboltitel, status"
- . "\n FROM #__sportsmanager_termin_symbol"
- . "\n ORDER BY status DESC, symboltitel";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $terminsymbole = $db->loadObjectList();
+ $benachrichtigung_email = "";
+ if (empty($id)) {
+ $aktion_user = Factory::getContainer()->get(SiteApplication::class)->getIdentity();
+ if (!empty($aktion_user->id) && !empty($aktion_user->email)) {
+ $benachrichtigung_email = $aktion_user->email;
+ }
+ } else {
+ $benachrichtigung_email = $termin->benachrichtigung_email;
+ }
- $benachrichtigung_email = "";
- if (empty($id)) {
- $aktion_user = JFactory::getUser();
- if (!empty($aktion_user->id) && !empty($aktion_user->email)) {
- $benachrichtigung_email = $aktion_user->email;
- }
- }
- else {
- $benachrichtigung_email = $termin->benachrichtigung_email;
- }
+ $query = "SELECT * FROM #__sportsmanager_termin_bezeichnung ORDER BY bezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $bezeichnungen = $db->loadObjectList();
- $query = "SELECT * FROM #__sportsmanager_termin_bezeichnung ORDER BY bezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $bezeichnungen = $db->loadObjectList();
+ if (!empty($id)) {
+ $bezeichnung_vorauswahl = null;
+ } else {
+ // Häufigste Bezeichnung suchen
+ $query = "SELECT bezeichnung"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n WHERE DATEDIFF(erster_tag, CURDATE()) >= -365 AND status = 0 AND (typ = 0 OR typ = 1)"
+ . "\n GROUP BY bezeichnung"
+ . "\n ORDER BY COUNT(*) DESC"
+ . "\n LIMIT 1";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ $bezeichnung_vorauswahl = count($rows) > 0 ? $rows[0]->bezeichnung : null;
+ }
- if (!empty($id)) {
- $bezeichnung_vorauswahl = null;
- }
- else {
- // Häufigste Bezeichnung suchen
- $query = "SELECT bezeichnung"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n WHERE DATEDIFF(erster_tag, CURDATE()) >= -365 AND status = 0 AND (typ = 0 OR typ = 1)"
- . "\n GROUP BY bezeichnung"
- . "\n ORDER BY COUNT(*) DESC"
- . "\n LIMIT 1";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- $bezeichnung_vorauswahl = count($rows) > 0 ? $rows[0]->bezeichnung : null;
- }
+ if (empty($id)) {
+ $zusaetze = null;
+ } else {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_termin_zusatz"
+ . "\n LEFT JOIN #__sportsmanager_termin_bezeichnungszusatz ON zusatz = bezeichnungszusatz"
+ . "\n WHERE termin_id = $id AND ISNULL(termin_bezeichnungszusatz_id)"
+ . "\n ORDER BY zusatz";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $zusaetze = $db->loadObjectList();
+ }
- if (empty($id)) {
- $zusaetze = null;
- }
- else {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_termin_zusatz"
- . "\n LEFT JOIN #__sportsmanager_termin_bezeichnungszusatz ON zusatz = bezeichnungszusatz"
- . "\n WHERE termin_id = $id AND ISNULL(termin_bezeichnungszusatz_id)"
- . "\n ORDER BY zusatz";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $zusaetze = $db->loadObjectList();
- }
+ if (empty($id)) {
+ $query = "SELECT *, NULL AS termin_zusatz_id"
+ . "\n FROM #__sportsmanager_termin_bezeichnungszusatz"
+ . "\n ORDER BY bezeichnungszusatz";
+ } else {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_termin_bezeichnungszusatz"
+ . "\n LEFT JOIN #__sportsmanager_termin_zusatz ON termin_id = $id AND bezeichnungszusatz = zusatz"
+ . "\n ORDER BY bezeichnungszusatz";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $bezeichnungszusaetze = $db->loadObjectList();
- if (empty($id)) {
- $query = "SELECT *, NULL AS termin_zusatz_id"
- . "\n FROM #__sportsmanager_termin_bezeichnungszusatz"
- . "\n ORDER BY bezeichnungszusatz";
- }
- else {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_termin_bezeichnungszusatz"
- . "\n LEFT JOIN #__sportsmanager_termin_zusatz ON termin_id = $id AND bezeichnungszusatz = zusatz"
- . "\n ORDER BY bezeichnungszusatz";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $bezeichnungszusaetze = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_termin_bundesland ORDER BY bundesland";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $bundeslaender = $db->loadObjectList();
- $query = "SELECT * FROM #__sportsmanager_termin_bundesland ORDER BY bundesland";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $bundeslaender = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_termin_land ORDER BY land";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $laender = $db->loadObjectList();
- $query = "SELECT * FROM #__sportsmanager_termin_land ORDER BY land";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $laender = $db->loadObjectList();
-
- HTML_sportsmanager_admin::adminEditTermin($termin, $terminsymbolanzeige, $terminsymbole, $benachrichtigung_email, $bezeichnungen, $zusaetze, $bezeichnungszusaetze, $bundeslaender, $laender, $zugriffsebene, $admin_uebersicht, $bezeichnung_vorauswahl, $uebersicht, $ueberarbeiten, $nur_beantragte);
+ HTML_sportsmanager_admin::adminEditTermin($termin, $terminsymbolanzeige, $terminsymbole, $benachrichtigung_email, $bezeichnungen, $zusaetze, $bezeichnungszusaetze, $bundeslaender, $laender, $zugriffsebene, $admin_uebersicht, $bezeichnung_vorauswahl, $uebersicht, $ueberarbeiten, $nur_beantragte);
}
-function adminSaveTermin($admin_uebersicht) {
- $db = getDatabase();
- global $_FILES;
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+function adminSaveTermin($admin_uebersicht): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (benutzerZugriff("termine_aendern"))
- $zugriffsebene = 2;
- else if (einstellungswert("termine_beantragen") == "1" && !JFactory::getUser()->guest && !isExternalDatabase())
- $zugriffsebene = 1;
- else
- $zugriffsebene = 0;
+ if (benutzerZugriff("termine_aendern"))
+ $zugriffsebene = 2;
+ else if (einstellungswert("termine_beantragen") == "1" && !Factory::getContainer()->get(SiteApplication::class)->getIdentity()->guest && !isExternalDatabase())
+ $zugriffsebene = 1;
+ else
+ $zugriffsebene = 0;
- if ($zugriffsebene == 0 || isExternalDatabase())
- keinZugriff();
+ if ($zugriffsebene == 0 || isExternalDatabase())
+ keinZugriff();
- $uebersicht = $jinput->get('uebersicht', 0, 'INT');
- $nur_beantragte = $jinput->get('nur_beantragte', 0, 'INT');
+ $uebersicht = $jInput->get('uebersicht', 0, 'INT');
+ $nur_beantragte = $jInput->get('nur_beantragte', 0, 'INT');
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''));
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''));
+ }
- return;
- }
+ $id = $jInput->get('id', 0, 'INT');
+ $vorhandener_termin = !empty($id);
+ $erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('erster_tag_jahr', 2000, 'INT'), $jInput->get('erster_tag_monat', 1, 'INT'), $jInput->get('erster_tag_tag', 1, 'INT')));
+ $mehrtaegig = $jInput->get('mehrtaegig', 0, 'INT');
+ if (!$mehrtaegig)
+ $letzter_tag = $erster_tag;
+ else
+ $letzter_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('letzter_tag_jahr', 2000, 'INT'), $jInput->get('letzter_tag_monat', 1, 'INT'), $jInput->get('letzter_tag_tag', 1, 'INT')));
+ if (empty($erster_tag) || empty($letzter_tag)) die("Wrong date!");
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $bezeichnungszusaetze = $jInput->get('bezeichnungszusaetze', array(), 'ARRAY');
+ $bezeichnungszusatz_benutzerdefiniert = trim($jInput->get('bezeichnungszusatz_benutzerdefiniert', '', 'RAW'));
+ if (!empty($bezeichnungszusatz_benutzerdefiniert))
+ $bezeichnungszusaetze[] = $bezeichnungszusatz_benutzerdefiniert;
+ $ort = $db->escape(trim($jInput->get('ort', '', 'RAW')));
+ $land = $db->escape(trim($jInput->get('land', '', 'RAW')));
+ $beschreibung = $db->escape(trim($jInput->get('beschreibung', '', 'RAW')));
+ $info = $jInput->get('info', 0, 'INT');
+ $url = $info == 0 ? $db->escape(trim($jInput->get('url', '', 'RAW'))) : '';
+ $email = $db->escape(trim($jInput->get('email', '', 'RAW')));
+ $ergebnisse_url = $db->escape(trim($jInput->get('ergebnisse_url', '', 'RAW')));
+ $bestaetigt = $jInput->get('bestaetigt', 0, 'INT');
+ $kommentar = $db->escape(trim($jInput->get('kommentar', '', 'RAW')));
+ $ueberarbeiten = $jInput->get('ueberarbeiten', 0, 'INT');
+ $ergebnisse_live = $jInput->get('ergebnisse_live', 0, 'INT');
+ $benachrichtigung_email = $db->escape(trim(str_replace(';', ',', $jInput->get('benachrichtigung_email', '', 'RAW'))));
- $id = $jinput->get('id', 0, 'INT');
- $vorhandener_termin = !empty($id);
- $erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jinput->get('erster_tag_jahr', 2000, 'INT'), $jinput->get('erster_tag_monat', 1, 'INT'), $jinput->get('erster_tag_tag', 1, 'INT')));
- $mehrtaegig = $jinput->get('mehrtaegig', 0, 'INT');
- if (!$mehrtaegig)
- $letzter_tag = $erster_tag;
- else
- $letzter_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jinput->get('letzter_tag_jahr', 2000, 'INT'), $jinput->get('letzter_tag_monat', 1, 'INT'), $jinput->get('letzter_tag_tag', 1, 'INT')));
- if (empty($erster_tag) || empty($letzter_tag)) die("Wrong date!");
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $bezeichnungszusaetze = $jinput->get('bezeichnungszusaetze', array(), 'ARRAY');
- $bezeichnungszusatz_benutzerdefiniert = trim($jinput->get('bezeichnungszusatz_benutzerdefiniert', '', 'RAW'));
- if (!empty($bezeichnungszusatz_benutzerdefiniert))
- array_push($bezeichnungszusaetze, $bezeichnungszusatz_benutzerdefiniert);
- $ort = $db->escape(trim($jinput->get('ort', '', 'RAW')));
- $land = $db->escape(trim($jinput->get('land', '', 'RAW')));
- $beschreibung = $db->escape(trim($jinput->get('beschreibung', '', 'RAW')));
- $info = $jinput->get('info', 0, 'INT');
- $url = $info == 0 ? $db->escape(trim($jinput->get('url', '', 'RAW'))) : '';
- $email = $db->escape(trim($jinput->get('email', '', 'RAW')));
- $ergebnisse_url = $db->escape(trim($jinput->get('ergebnisse_url', '', 'RAW')));
- $bestaetigt = $jinput->get('bestaetigt', 0, 'INT');
- $kommentar = $db->escape(trim($jinput->get('kommentar', '', 'RAW')));
- $ueberarbeiten = $jinput->get('ueberarbeiten', 0, 'INT');
- $ergebnisse_live = $jinput->get('ergebnisse_live', 0, 'INT');
- $benachrichtigung_email = $db->escape(trim(str_replace(';', ',', $jinput->get('benachrichtigung_email', '', 'RAW'))));
+ // Sicherstellen, dass Überarbeitenaktionen nur durchgeführt werden wenn tatsächlich ein bestehender Termin dahinter steht und der Benutzer Moderator ist
+ if ($ueberarbeiten && (empty($id) || $zugriffsebene != 2))
+ die ("Wrong id");
- // Sicherstellen, dass Überarbeitenaktionen nur durchgeführt werden wenn tatsächlich ein bestehender Termin dahinter steht und der Benutzer Moderator ist
- if ($ueberarbeiten && (empty($id) || $zugriffsebene != 2))
- die ("Wrong id");
+ $termin_bezug_id = 0;
+ $termin = null;
+ if (!empty($id)) {
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n WHERE termin_id = $id" . ($zugriffsebene != 2 ? " AND status = 0" : " AND (status = 0 OR status = 2)") . " AND (typ = 0 OR typ = 1)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf'), "Der bisherige Termin existiert nicht mehr.");
+ }
+ $termin = $rows[0];
+ $termin_bezug_id = $termin->termin_bezug_id;
+ }
- $termin_bezug_id = 0;
- if (!empty($id)) {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n WHERE termin_id = $id" . ($zugriffsebene != 2 ? " AND status = 0" : " AND (status = 0 OR status = 2)") . " AND (typ = 0 OR typ = 1)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf'), "Der bisherige Termin existiert nicht mehr.");
- }
- $termin = $rows[0];
- $termin_bezug_id = $termin->termin_bezug_id;
- }
+ $query = "INSERT #__sportsmanager_termin"
+ . "\n SET termin_bezug_id = '$termin_bezug_id',"
+ . "\n erster_tag = '$erster_tag',"
+ . "\n letzter_tag = '$letzter_tag',"
+ . "\n bezeichnung = '$bezeichnung',"
+ . "\n beschreibung = '$beschreibung',"
+ . "\n ort = '$ort',"
+ . "\n land = '$land',"
+ . "\n url = '$url',"
+ . "\n email = '$email',"
+ . "\n ergebnisse_url = '$ergebnisse_url',"
+ . "\n ergebnisse_live = '$ergebnisse_live',"
+ . "\n bestaetigt = '$bestaetigt'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $neuer_termin_id = $db->insertid();
- $query = "INSERT #__sportsmanager_termin"
- . "\n SET termin_bezug_id = '$termin_bezug_id',"
- . "\n erster_tag = '$erster_tag',"
- . "\n letzter_tag = '$letzter_tag',"
- . "\n bezeichnung = '$bezeichnung',"
- . "\n beschreibung = '$beschreibung',"
- . "\n ort = '$ort',"
- . "\n land = '$land',"
- . "\n url = '$url',"
- . "\n email = '$email',"
- . "\n ergebnisse_url = '$ergebnisse_url',"
- . "\n ergebnisse_live = '$ergebnisse_live',"
- . "\n bestaetigt = '$bestaetigt'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $neuer_termin_id = $db->insertid();
+ foreach ($bezeichnungszusaetze as $bezeichnungszusatz) {
+ $query = "INSERT #__sportsmanager_termin_zusatz"
+ . "\n SET termin_id = $neuer_termin_id,"
+ . "\n zusatz = '" . $db->escape($bezeichnungszusatz) . "'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- foreach ($bezeichnungszusaetze as $bezeichnungszusatz) {
- $query = "INSERT #__sportsmanager_termin_zusatz"
- . "\n SET termin_id = $neuer_termin_id,"
- . "\n zusatz = '" . $db->escape($bezeichnungszusatz) . "'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ for ($i = 0; $i <= 5; $i++) {
- for ($i = 0; $i <= 5; $i++) {
+ $input = Factory::getContainer()->get(SiteApplication::class)->input;
+ $symbol_id = $input->getInt('symbol_id_' . $i, 0);
+ if ($symbol_id != 0) {
+ $query = "INSERT #__sportsmanager_termin_symbolanzeige"
+ . "\n SET termin_id = $neuer_termin_id,"
+ . "\n termin_symbol_id = $symbol_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- $input = \Joomla\CMS\Factory::getApplication()->input;
- $symbol_id = $input->getInt('symbol_id_' . $i, 0);
- //$symbol_id = JRequest::getInt('symbol_id_' . $i, 0);
- if ($symbol_id != 0) {
- $query = "INSERT #__sportsmanager_termin_symbolanzeige"
- . "\n SET termin_id = $neuer_termin_id,"
- . "\n termin_symbol_id = $symbol_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
+ if (!$vorhandener_termin) {
+ $query = "UPDATE #__sportsmanager_termin"
+ . "\n SET termin_bezug_id = $neuer_termin_id"
+ . "\n WHERE termin_id = $neuer_termin_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- if (!$vorhandener_termin) {
- $query = "UPDATE #__sportsmanager_termin"
- . "\n SET termin_bezug_id = $neuer_termin_id"
- . "\n WHERE termin_id = $neuer_termin_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine';
+ $dokument_kopieren_gescheitert = 0;
+ $info_dokument = $_FILES['info_dokument'];
+ if ($info == 1 && !empty($id)) {
+ $dokumente = Folder::files($bilder_pfad, '^' . $id . ' ');
+ if (empty($dokumente)) {
+ $dokument_kopieren_gescheitert = 2;
+ } else {
+ $info_dokument_dateiname = substr($dokumente[0], strlen((string)$id) + 1);
+ $quelle_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $dokumente[0];
+ $ziel_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $neuer_termin_id . " " . $info_dokument_dateiname;
+ if (!File::copy($quelle_pfad, $ziel_pfad))
+ $dokument_kopieren_gescheitert = 2;
+ }
+ } else if ($info == 2 && isset($info_dokument) && !$info_dokument['error']) {
+ $info_dokument_dateiname = File::makeSafe($info_dokument["name"]);
+ if ($info_dokument["size"] > 8388608) {
+ $dokument_kopieren_gescheitert = 1;
+ } else {
+ $ziel_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $neuer_termin_id . " " . $info_dokument_dateiname;
+ if (!File::upload($info_dokument["tmp_name"], $ziel_pfad))
+ $dokument_kopieren_gescheitert = 2;
+ }
+ }
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine';
- $dokument_kopieren_gescheitert = 0;
- $info_dokument = $_FILES['info_dokument'];
- if ($info == 1 && !empty($id)) {
- $dokumente = JFolder::files($bilder_pfad, '^' . $id . ' ');
- if (empty($dokumente)) {
- $dokument_kopieren_gescheitert = 2;
- }
- else {
- $info_dokument_dateiname = substr($dokumente[0], strlen((string) $id) + 1);
- $quelle_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $dokumente[0];
- $ziel_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $neuer_termin_id . " " . $info_dokument_dateiname;
- if (!JFile::copy($quelle_pfad, $ziel_pfad))
- $dokument_kopieren_gescheitert = 2;
- }
- }
- else if ($info == 2 && isset($info_dokument) && !$info_dokument['error']) {
- $info_dokument_dateiname = JFile::makeSafe($info_dokument["name"]);
- if ($info_dokument["size"] > 8388608) {
- $dokument_kopieren_gescheitert = 1;
- }
- else {
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine';
- $ziel_pfad = $bilder_pfad . DIRECTORY_SEPARATOR . $neuer_termin_id . " " . $info_dokument_dateiname;
- if (!JFile::upload($info_dokument["tmp_name"], $ziel_pfad))
- $dokument_kopieren_gescheitert = 2;
- }
- }
+ if (!empty($dokument_kopieren_gescheitert)) {
+ $query = "DELETE FROM #__sportsmanager_termin_symbolanzeige WHERE termin_id = $neuer_termin_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- if (!empty($dokument_kopieren_gescheitert)) {
- $query = "DELETE FROM #__sportsmanager_termin_symbolanzeige WHERE termin_id = $neuer_termin_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_termin_zusatz WHERE termin_id = $neuer_termin_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_termin_zusatz WHERE termin_id = $neuer_termin_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_termin WHERE termin_id = $neuer_termin_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_termin WHERE termin_id = $neuer_termin_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine', "Der Termin wurde nicht erstellt weil der Anhang " . ($dokument_kopieren_gescheitert == 1 ? "zu groß ist." : "nicht kopiert werden konnte."));
+ }
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine', "Der Termin wurde nicht erstellt weil der Anhang " . ($dokument_kopieren_gescheitert == 1 ? "zu groß ist." : "nicht kopiert werden konnte."));
+ if ($vorhandener_termin && $zugriffsebene != 1) {
+ $query = "SELECT DISTINCT termin_id"
+ . "\n FROM #__sportsmanager_termin_aktion"
+ . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
+ . "\n WHERE termin_bezug_id = $termin_bezug_id AND " . ($ueberarbeiten ? "(status = 0 OR termin_id = $id)" : "status = 0") . ";";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- return;
- }
+ foreach ($rows as $row) {
+ $dokumente = Folder::files($bilder_pfad, '^' . $row->termin_id . ' ');
+ foreach ($dokumente as $dokument)
+ File::delete($bilder_pfad . DIRECTORY_SEPARATOR . $dokument);
+ }
- if ($vorhandener_termin && $zugriffsebene != 1) {
- $query = "SELECT DISTINCT termin_id"
- . "\n FROM #__sportsmanager_termin_aktion"
- . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
- . "\n WHERE termin_bezug_id = $termin_bezug_id AND " . ($ueberarbeiten ? "(status = 0 OR termin_id = $id)" : "status = 0") . ";";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "UPDATE #__sportsmanager_termin_aktion"
+ . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
+ . "\n SET status = 1"
+ . "\n WHERE termin_bezug_id = $termin_bezug_id AND " . ($ueberarbeiten ? "(status = 0 OR termin_id = $id)" : "status = 0") . ";";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine';
- foreach ($rows as $row) {
- $dokumente = JFolder::files($bilder_pfad, '^' . $row->termin_id . ' ');
- foreach ($dokumente as $dokument)
- JFile::delete($bilder_pfad . DIRECTORY_SEPARATOR . $dokument);
- }
+ $user_id = Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
+ $query = "INSERT #__sportsmanager_termin_aktion"
+ . "\n SET termin_id = $neuer_termin_id,"
+ . "\n typ = '" . ($vorhandener_termin ? 1 : 0) . "'," // 0: Hinzufügen, 1: Ändern, 2: Entfernen
+ . "\n benachrichtigung_email = '$benachrichtigung_email',"
+ . "\n aktion_user_id = '" . ($ueberarbeiten ? $termin->aktion_user_id : $user_id) . "',"
+ . "\n aktion_zeitpunkt = " . ($ueberarbeiten ? ("'$termin->aktion_zeitpunkt'") : "NOW()") . ","
+ . "\n aktion_kommentar = '" . ($ueberarbeiten ? $db->escape($termin->aktion_kommentar) : $kommentar) . "',"
+ . "\n moderation_user_id = " . ($zugriffsebene != 1 ? "'$user_id'" : "NULL") . ","
+ . "\n moderation_zeitpunkt = " . ($zugriffsebene != 1 ? "NOW()" : "NULL") . ","
+ . "\n moderation_kommentar = '" . ($ueberarbeiten ? $kommentar : "") . "',"
+ . "\n status = " . ($zugriffsebene != 1 ? "0" : "2"); // 0: Akzeptiert, 1: Archiviert, 2: Beantragt, 3: Abgelehnt
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $termin_aktion_id = $db->insertid();
- $query = "UPDATE #__sportsmanager_termin_aktion"
- . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
- . "\n SET status = 1"
- . "\n WHERE termin_bezug_id = $termin_bezug_id AND " . ($ueberarbeiten ? "(status = 0 OR termin_id = $id)" : "status = 0") . ";";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten);
- $user_id = JFactory::getUser()->id;
- $query = "INSERT #__sportsmanager_termin_aktion"
- . "\n SET termin_id = $neuer_termin_id,"
- . "\n typ = '" . ($vorhandener_termin ? 1 : 0) . "'," // 0: Hinzufügen, 1: Ändern, 2: Entfernen
- . "\n benachrichtigung_email = '$benachrichtigung_email',"
- . "\n aktion_user_id = '" . ($ueberarbeiten ? $termin->aktion_user_id : $user_id) . "',"
- . "\n aktion_zeitpunkt = " . ($ueberarbeiten ? ("'$termin->aktion_zeitpunkt'") : "NOW()") . ","
- . "\n aktion_kommentar = '" . ($ueberarbeiten ? $db->escape($termin->aktion_kommentar) : $kommentar) . "',"
- . "\n moderation_user_id = " . ($zugriffsebene != 1 ? "'$user_id'" : "NULL") . ","
- . "\n moderation_zeitpunkt = " . ($zugriffsebene != 1 ? "NOW()" : "NULL") . ","
- . "\n moderation_kommentar = '" . ($ueberarbeiten ? $kommentar : "") . "',"
- . "\n status = " . ($zugriffsebene != 1 ? "0" : "2"); // 0: Akzeptiert, 1: Archiviert, 2: Beantragt, 3: Abgelehnt
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $termin_aktion_id = $db->insertid();
-
- termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten);
-
- if ($zugriffsebene == 1) {
- HTML_sportsmanager_admin::adminTermineBeantragtBestaetigung($admin_uebersicht);
- }
- else {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''));
- }
+ if ($zugriffsebene == 1) {
+ HTML_sportsmanager_admin::adminTermineBeantragtBestaetigung($admin_uebersicht);
+ } else {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''));
+ }
}
-function adminRemoveTerminForm($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminRemoveTerminForm($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (benutzerZugriff("termine_aendern"))
- $zugriffsebene = 2;
- else if (einstellungswert("termine_beantragen") == "1" && !JFactory::getUser()->guest && !isExternalDatabase())
- $zugriffsebene = 1;
- else
- $zugriffsebene = 0;
+ if (benutzerZugriff("termine_aendern"))
+ $zugriffsebene = 2;
+ else if (einstellungswert("termine_beantragen") == "1" && !Factory::getContainer()->get(SiteApplication::class)->getIdentity()->guest && !isExternalDatabase())
+ $zugriffsebene = 1;
+ else
+ $zugriffsebene = 0;
- if ($zugriffsebene == 0 || isExternalDatabase())
- keinZugriff(true);
+ if ($zugriffsebene == 0 || isExternalDatabase())
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- $nur_beantragte = $jinput->get('nur_beantragte', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
+ $nur_beantragte = $jInput->get('nur_beantragte', 0, 'INT');
- $query = "SELECT #__sportsmanager_termin.*, #__sportsmanager_termin_aktion.*, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
- . "\n WHERE termin_id = $id AND status = 0 AND (typ = 0 OR typ = 1)"
- . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine', "Der bisherige Termin existiert nicht mehr.");
- }
- $terminaktion = $rows[0];
+ $query = "SELECT #__sportsmanager_termin.*, #__sportsmanager_termin_aktion.*, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
+ . "\n WHERE termin_id = $id AND status = 0 AND (typ = 0 OR typ = 1)"
+ . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine', "Der bisherige Termin existiert nicht mehr.");
+ }
+ $terminaktion = $rows[0];
- HTML_sportsmanager_admin::adminRemoveTermin($terminaktion, $nur_beantragte, $zugriffsebene, $admin_uebersicht);
+ HTML_sportsmanager_admin::adminRemoveTermin($terminaktion, $nur_beantragte, $zugriffsebene, $admin_uebersicht);
}
-function adminRemoveTermin($admin_uebersicht) {
- $db = getDatabase();
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+function adminRemoveTermin($admin_uebersicht): void
+{
+ $db = getDatabase();
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (benutzerZugriff("termine_aendern"))
- $zugriffsebene = 2;
- else if (einstellungswert("termine_beantragen") == "1" && !JFactory::getUser()->guest && !isExternalDatabase())
- $zugriffsebene = 1;
- else
- $zugriffsebene = 0;
+ if (benutzerZugriff("termine_aendern"))
+ $zugriffsebene = 2;
+ else if (einstellungswert("termine_beantragen") == "1" && !Factory::getContainer()->get(SiteApplication::class)->getIdentity()->guest && !isExternalDatabase())
+ $zugriffsebene = 1;
+ else
+ $zugriffsebene = 0;
- if ($zugriffsebene == 0 || isExternalDatabase())
- keinZugriff();
+ if ($zugriffsebene == 0 || isExternalDatabase())
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine');
+ }
- return;
- }
+ $id = $jInput->get('id', 0, 'INT');
+ $kommentar = $db->escape(trim($jInput->get('kommentar', '', 'RAW')));
- $id = $jinput->get('id', 0, 'INT');
- $kommentar = $db->escape(trim($jinput->get('kommentar', '', 'RAW')));
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_termin_aktion"
+ . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
+ . "\n WHERE termin_id = $id AND status = 0 AND (typ = 0 OR typ = 1);";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine', "Der bisherige Termin existiert nicht mehr.");
+ }
+ $termin = $rows[0];
+ $termin_bezug_id = $termin->termin_bezug_id;
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_termin_aktion"
- . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
- . "\n WHERE termin_id = $id AND status = 0 AND (typ = 0 OR typ = 1);";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine', "Der bisherige Termin existiert nicht mehr.");
- }
- $termin = $rows[0];
- $termin_bezug_id = $termin->termin_bezug_id;
+ if ($zugriffsebene != 1) {
+ $query = "SELECT DISTINCT termin_id"
+ . "\n FROM #__sportsmanager_termin_aktion"
+ . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
+ . "\n WHERE termin_bezug_id = $termin_bezug_id AND status = 0;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- if ($zugriffsebene != 1) {
- $query = "SELECT DISTINCT termin_id"
- . "\n FROM #__sportsmanager_termin_aktion"
- . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
- . "\n WHERE termin_bezug_id = $termin_bezug_id AND status = 0;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine';
+ foreach ($rows as $row) {
+ $dokumente = Folder::files($bilder_pfad, '^' . $row->termin_id . ' ');
+ foreach ($dokumente as $dokument)
+ File::delete($bilder_pfad . DIRECTORY_SEPARATOR . $dokument);
+ }
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine';
- foreach ($rows as $row) {
- $dokumente = JFolder::files($bilder_pfad, '^' . $row->termin_id . ' ');
- foreach ($dokumente as $dokument)
- JFile::delete($bilder_pfad . DIRECTORY_SEPARATOR . $dokument);
- }
+ $query = "UPDATE #__sportsmanager_termin_aktion"
+ . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
+ . "\n SET status = 1"
+ . "\n WHERE termin_bezug_id = $termin_bezug_id AND status = 0;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "UPDATE #__sportsmanager_termin_aktion"
- . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
- . "\n SET status = 1"
- . "\n WHERE termin_bezug_id = $termin_bezug_id AND status = 0;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $user_id = Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
+ $query = "INSERT #__sportsmanager_termin_aktion"
+ . "\n SET termin_id = $id,"
+ . "\n typ = '2'," // 0: Hinzufügen, 1: Ändern, 2: Entfernen
+ . "\n aktion_user_id = '$user_id',"
+ . "\n aktion_zeitpunkt = NOW(),"
+ . "\n aktion_kommentar = '$kommentar',"
+ . "\n moderation_user_id = " . ($zugriffsebene != 1 ? "'$user_id'" : "NULL") . ","
+ . "\n moderation_zeitpunkt = " . ($zugriffsebene != 1 ? "NOW()" : "NULL") . ","
+ . "\n moderation_kommentar = '',"
+ . "\n status = " . ($zugriffsebene != 1 ? "0" : "2"); // 0: Akzeptiert, 1: Archiviert, 2: Beantragt, 3: Abgelehnt
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $termin_aktion_id = $db->insertid();
- $user_id = JFactory::getUser()->id;
- $query = "INSERT #__sportsmanager_termin_aktion"
- . "\n SET termin_id = $id,"
- . "\n typ = '2'," // 0: Hinzufügen, 1: Ändern, 2: Entfernen
- . "\n aktion_user_id = '$user_id',"
- . "\n aktion_zeitpunkt = NOW(),"
- . "\n aktion_kommentar = '$kommentar',"
- . "\n moderation_user_id = " . ($zugriffsebene != 1 ? "'$user_id'" : "NULL") . ","
- . "\n moderation_zeitpunkt = " . ($zugriffsebene != 1 ? "NOW()" : "NULL") . ","
- . "\n moderation_kommentar = '',"
- . "\n status = " . ($zugriffsebene != 1 ? "0" : "2"); // 0: Akzeptiert, 1: Archiviert, 2: Beantragt, 3: Abgelehnt
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $termin_aktion_id = $db->insertid();
+ termineEmailBenachrichtigung($termin_aktion_id);
- termineEmailBenachrichtigung($termin_aktion_id);
-
- if ($zugriffsebene == 1) {
- HTML_sportsmanager_admin::adminTermineBeantragtBestaetigung($admin_uebersicht);
- }
- else {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine');
- }
+ if ($zugriffsebene == 1) {
+ HTML_sportsmanager_admin::adminTermineBeantragtBestaetigung($admin_uebersicht);
+ } else {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine');
+ }
}
// $aktion = 0: Beantragt, 1: ...
-function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false) {
- $db = getDatabase();
- $app = &JFactory::getApplication();
+function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
+{
+ $db = getDatabase();
+ $app = Factory::getContainer()->get(SiteApplication::class);
- $query = "SELECT #__sportsmanager_termin.*, #__sportsmanager_termin_aktion.*, aktion_user.name AS aktion_user_name, aktion_user.email AS aktion_user_email, moderation_user.name AS moderation_user_name, moderation_user.email AS moderation_user_email, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
- . "\n LEFT JOIN #__users AS aktion_user ON aktion_user_id = aktion_user.id"
- . "\n LEFT JOIN #__users AS moderation_user ON moderation_user_id = moderation_user.id"
- . "\n WHERE termin_aktion_id = $termin_aktion_id"
- . "\n GROUP BY #__sportsmanager_termin.termin_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) return false;
- $terminaktion = $rows[0];
+ $query = "SELECT #__sportsmanager_termin.*, #__sportsmanager_termin_aktion.*, aktion_user.name AS aktion_user_name, aktion_user.email AS aktion_user_email, moderation_user.name AS moderation_user_name, moderation_user.email AS moderation_user_email, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
+ . "\n LEFT JOIN #__users AS aktion_user ON aktion_user_id = aktion_user.id"
+ . "\n LEFT JOIN #__users AS moderation_user ON moderation_user_id = moderation_user.id"
+ . "\n WHERE termin_aktion_id = $termin_aktion_id"
+ . "\n GROUP BY #__sportsmanager_termin.termin_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) return false;
+ $terminaktion = $rows[0];
- $benachrichtigung_moderatoren_informieren = array();
- $benachrichtigung_moderatoren_aendern = array();
- $query = "SELECT DISTINCT email, IF(EXISTS(SELECT * FROM #__sportsmanager_moderator_zugriff AS m2 WHERE zugriff = 'termine_aendern' AND m2.moderator_id = #__sportsmanager_moderator_zugriff.moderator_id), 1, 0) AS termine_aendern"
- . "\n FROM #__sportsmanager_moderator"
- . "\n INNER JOIN #__sportsmanager_moderator_zugriff USING (moderator_id)"
- . "\n INNER JOIN #__users ON moderator_user_id = id"
- . "\n WHERE zugriff = 'termine_benachrichtigung'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- foreach ($rows as $row) {
- if ($row->termine_aendern)
- array_push($benachrichtigung_moderatoren_aendern, $row->email);
- else
- array_push($benachrichtigung_moderatoren_informieren, $row->email);
- }
+ $benachrichtigung_moderatoren_informieren = array();
+ $benachrichtigung_moderatoren_aendern = array();
+ $query = "SELECT DISTINCT email, IF(EXISTS(SELECT * FROM #__sportsmanager_moderator_zugriff AS m2 WHERE zugriff = 'termine_aendern' AND m2.moderator_id = #__sportsmanager_moderator_zugriff.moderator_id), 1, 0) AS termine_aendern"
+ . "\n FROM #__sportsmanager_moderator"
+ . "\n INNER JOIN #__sportsmanager_moderator_zugriff USING (moderator_id)"
+ . "\n INNER JOIN #__users ON moderator_user_id = id"
+ . "\n WHERE zugriff = 'termine_benachrichtigung'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ foreach ($rows as $row) {
+ if ($row->termine_aendern)
+ $benachrichtigung_moderatoren_aendern[] = $row->email;
+ else
+ $benachrichtigung_moderatoren_informieren[] = $row->email;
+ }
- $benachrichtigung_benutzer = array();
- $aktion_user = JFactory::getUser($terminaktion->aktion_user_id);
- if (($terminaktion->status == 2 && !empty($aktion_user->id) && !empty($aktion_user->email)) || ($terminaktion->status != 2 && !empty($aktion_user->id) && !empty($aktion_user->email) && ($terminaktion->aktion_user_id != $terminaktion->moderation_user_id || $terminaktion->aktion_zeitpunkt != $terminaktion->moderation_zeitpunkt)))
- array_push($benachrichtigung_benutzer, $aktion_user->email);
- $benachrichtigung_emails = explode(",", $terminaktion->benachrichtigung_email);
- $benachrichtigung_alle_low = array_map('strtolower', array_merge($benachrichtigung_benutzer, $benachrichtigung_moderatoren_aendern, $benachrichtigung_moderatoren_informieren));
- foreach ($benachrichtigung_emails as $email) {
- $email_trimmed = trim($email);
- if (!in_array(strtolower($email_trimmed), $benachrichtigung_alle_low))
- array_push($benachrichtigung_benutzer, $email_trimmed);
- }
+ $benachrichtigung_emails = explode(",", $terminaktion->benachrichtigung_email);
- $termin_beschreibung = "
\r\n"
- . "Datum: \r\n"
- . "" . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true) . ($terminaktion->bestaetigt ? "" : " (in Planung)") . " \r\n"
- . " \r\n"
- . "\r\n"
- . "Veranstaltung: \r\n"
- . "" . htmlentities_utf8($terminaktion->bezeichnung) . " \r\n"
- . " \r\n";
- if (!empty($terminaktion->zusaetze)) {
- $termin_beschreibung .= "\r\n"
- . "Zusätze: \r\n"
- . "" . htmlentities_utf8($terminaktion->zusaetze) . " \r\n"
- . " \r\n";
- }
- if (!empty($terminaktion->ort)) {
- $termin_beschreibung .= "\r\n"
- . "Ort: \r\n"
- . "" . htmlentities_utf8($terminaktion->ort) . " \r\n"
- . " \r\n";
- }
- if (!empty($terminaktion->land)) {
- $termin_beschreibung .= "\r\n"
- . "Land: \r\n"
- . "" . htmlentities_utf8($terminaktion->land) . " \r\n"
- . " \r\n";
- }
- if (!empty($terminaktion->beschreibung)) {
- $termin_beschreibung .= "\r\n"
- . "Beschreibung: \r\n"
- . "" . htmlentities_utf8($terminaktion->beschreibung) . " \r\n"
- . " \r\n";
- }
- $info_dokument_dateiname = terminDokumentname($terminaktion->termin_id);
- if ($info_dokument_dateiname !== false) {
- $termin_beschreibung .= "\r\n"
- . "Weitere Informationen: \r\n"
- . "termin_id, -1) . "\" target=\"_blank\">" . htmlentities_utf8(NichtLeererString($info_dokument_dateiname)) . " \r\n"
- . " \r\n";
- }
- else if (!empty($terminaktion->url)) {
- if (strpos($terminaktion->url, "://") === false) {
- $termin_url_anzeige = $terminaktion->url;
- $termin_url = "http://" . $terminaktion->url;
- }
- else {
- $termin_url_anzeige = substr($terminaktion->url, 0, 7) == "http://" ? substr($terminaktion->url, 7) : $terminaktion->url;
- $termin_url = $terminaktion->url;
- }
- $termin_beschreibung .= "\r\n"
- . "Weitere Informationen: \r\n"
- . "" . htmlentities_utf8($termin_url_anzeige) . " \r\n"
- . " \r\n";
- }
- if (!empty($terminaktion->email)) {
- $termin_beschreibung .= "\r\n"
- . "E-Mail öffentlich: \r\n"
- . "email) . "\">" . htmlentities_utf8($terminaktion->email) . " \r\n"
- . " \r\n";
- }
- if (!empty($benachrichtigung_emails)) {
- $termin_beschreibung .= "\r\n"
- . "E-Mail bei Änderungen: \r\n"
- . "";
- foreach ($benachrichtigung_emails as $index => $email) {
- $email_trimmed = trim($email);
- $termin_beschreibung .= ($index > 0 ? ", " : "") . "" . htmlentities_utf8($email_trimmed) . " ";
- }
- $termin_beschreibung .= " \r\n"
- . " \r\n";
- }
- if (!empty($terminaktion->ergebnisse_url)) {
- if (strpos($terminaktion->ergebnisse_url, "://") === false) {
- $termin_url_anzeige = $terminaktion->ergebnisse_url;
- $termin_url = "http://" . $terminaktion->ergebnisse_url;
- }
- else {
- $termin_url_anzeige = substr($terminaktion->ergebnisse_url, 0, 7) == "http://" ? substr($terminaktion->ergebnisse_url, 7) : $terminaktion->ergebnisse_url;
- $termin_url = $terminaktion->ergebnisse_url;
- }
- $termin_beschreibung .= "\r\n"
- . "" . ($terminaktion->ergebnisse_live ? "Live-" : "") . "Ergebnisse: \r\n"
- . "" . htmlentities_utf8($termin_url_anzeige) . " \r\n"
- . " \r\n";
- }
+ $termin_beschreibung = "\r\n"
+ . "Datum: \r\n"
+ . "" . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true) . ($terminaktion->bestaetigt ? "" : " (in Planung)") . " \r\n"
+ . " \r\n"
+ . "\r\n"
+ . "Veranstaltung: \r\n"
+ . "" . htmlentities_utf8($terminaktion->bezeichnung) . " \r\n"
+ . " \r\n";
+ if (!empty($terminaktion->zusaetze)) {
+ $termin_beschreibung .= "\r\n"
+ . "Zusätze: \r\n"
+ . "" . htmlentities_utf8($terminaktion->zusaetze) . " \r\n"
+ . " \r\n";
+ }
+ if (!empty($terminaktion->ort)) {
+ $termin_beschreibung .= "\r\n"
+ . "Ort: \r\n"
+ . "" . htmlentities_utf8($terminaktion->ort) . " \r\n"
+ . " \r\n";
+ }
+ if (!empty($terminaktion->land)) {
+ $termin_beschreibung .= "\r\n"
+ . "Land: \r\n"
+ . "" . htmlentities_utf8($terminaktion->land) . " \r\n"
+ . " \r\n";
+ }
+ if (!empty($terminaktion->beschreibung)) {
+ $termin_beschreibung .= "\r\n"
+ . "Beschreibung: \r\n"
+ . "" . htmlentities_utf8($terminaktion->beschreibung) . " \r\n"
+ . " \r\n";
+ }
+ $info_dokument_dateiname = terminDokumentname($terminaktion->termin_id);
+ if ($info_dokument_dateiname !== false) {
+ $termin_beschreibung .= "\r\n"
+ . "Weitere Informationen: \r\n"
+ . "termin_id, -1) . "\" target=\"_blank\">" . htmlentities_utf8(NichtLeererString($info_dokument_dateiname)) . " \r\n"
+ . " \r\n";
+ } else if (!empty($terminaktion->url)) {
+ if (!str_contains($terminaktion->url, "://")) {
+ $termin_url_anzeige = $terminaktion->url;
+ $termin_url = "http://" . $terminaktion->url;
+ } else {
+ $termin_url_anzeige = str_starts_with($terminaktion->url, "http://") ? substr($terminaktion->url, 7) : $terminaktion->url;
+ $termin_url = $terminaktion->url;
+ }
+ $termin_beschreibung .= "\r\n"
+ . "Weitere Informationen: \r\n"
+ . "" . htmlentities_utf8($termin_url_anzeige) . " \r\n"
+ . " \r\n";
+ }
+ if (!empty($terminaktion->email)) {
+ $termin_beschreibung .= "\r\n"
+ . "E-Mail öffentlich: \r\n"
+ . "email) . "\">" . htmlentities_utf8($terminaktion->email) . " \r\n"
+ . " \r\n";
+ }
+ if (!empty($benachrichtigung_emails)) {
+ $termin_beschreibung .= "\r\n"
+ . "E-Mail bei Änderungen: \r\n"
+ . "";
+ foreach ($benachrichtigung_emails as $index => $email) {
+ $email_trimmed = trim($email);
+ $termin_beschreibung .= ($index > 0 ? ", " : "") . "" . htmlentities_utf8($email_trimmed) . " ";
+ }
+ $termin_beschreibung .= " \r\n"
+ . " \r\n";
+ }
+ if (!empty($terminaktion->ergebnisse_url)) {
+ if (!str_contains($terminaktion->ergebnisse_url, "://")) {
+ $termin_url_anzeige = $terminaktion->ergebnisse_url;
+ $termin_url = "http://" . $terminaktion->ergebnisse_url;
+ } else {
+ $termin_url_anzeige = str_starts_with($terminaktion->ergebnisse_url, "http://") ? substr($terminaktion->ergebnisse_url, 7) : $terminaktion->ergebnisse_url;
+ $termin_url = $terminaktion->ergebnisse_url;
+ }
+ $termin_beschreibung .= "\r\n"
+ . "" . ($terminaktion->ergebnisse_live ? "Live-" : "") . "Ergebnisse: \r\n"
+ . "" . htmlentities_utf8($termin_url_anzeige) . " \r\n"
+ . " \r\n";
+ }
- $status = array(0 => "Akzeptiert", 1 => "Archiviert", 2 => "Beantragt", 3 => "Abgelehnt");
- $aktion = array(0 => "Hinzufügen", 1 => "Ändern", 2 => "Entfernen");
- if (empty($terminaktion->aktion_user_email))
- $aktion_user = htmlentities_utf8($terminaktion->aktion_user_name);
- else
- $aktion_user = "aktion_user_email) . "\">" . htmlentities_utf8($terminaktion->aktion_user_name) . " ";
- if (empty($terminaktion->moderation_zeitpunkt))
- $moderation_user = "";
- else if (empty($terminaktion->aktion_user_email))
- $moderation_user = htmlentities_utf8($terminaktion->moderation_user_name);
- else
- $moderation_user = "moderation_user_email) . "\">" . htmlentities_utf8($terminaktion->moderation_user_name) . " ";
- $termin_moderationsstatus = "\r\n"
- . " \r\n"
- . " \r\n"
- . "\r\n"
- . "Status: \r\n"
- . "" . htmlentities_utf8($status[$terminaktion->status]) . " \r\n"
- . " \r\n"
- . "\r\n"
- . "Aktionstyp: \r\n"
- . "" . htmlentities_utf8($aktion[$terminaktion->typ]) . " \r\n"
- . " \r\n"
- . "\r\n"
- . "Erstellung: \r\n"
- . "" . FormatiertesDatum($terminaktion->aktion_zeitpunkt, true, false) . " von " . $aktion_user . " \r\n"
- . " \r\n";
- if (!empty($terminaktion->aktion_kommentar)) {
- $termin_moderationsstatus .= "\r\n"
- . "Erstellerkommentar: \r\n"
- . "" . nl2br(htmlentities_utf8($terminaktion->aktion_kommentar)) . " \r\n"
- . " \r\n";
- }
- $termin_moderationsstatus .= "\r\n"
- . "Moderation: \r\n"
- . "" . (empty($terminaktion->moderation_zeitpunkt) ? "Nicht erfolgt" : (FormatiertesDatum($terminaktion->moderation_zeitpunkt, true, false) . " von " . $moderation_user)) . " \r\n"
- . " \r\n";
- if (!empty($terminaktion->moderation_kommentar)) {
- $termin_moderationsstatus .= "\r\n"
- . "Moderatorkommentar: \r\n"
- . "" . nl2br(htmlentities_utf8($terminaktion->moderation_kommentar)) . " \r\n"
- . " \r\n";
- }
+ $status = array(0 => "Akzeptiert", 1 => "Archiviert", 2 => "Beantragt", 3 => "Abgelehnt");
+ $aktion = array(0 => "Hinzufügen", 1 => "Ändern", 2 => "Entfernen");
+ if (empty($terminaktion->aktion_user_email))
+ $aktion_user = htmlentities_utf8($terminaktion->aktion_user_name);
+ else
+ $aktion_user = "aktion_user_email) . "\">" . htmlentities_utf8($terminaktion->aktion_user_name) . " ";
+ if (empty($terminaktion->moderation_zeitpunkt))
+ $moderation_user = "";
+ else if (empty($terminaktion->aktion_user_email))
+ $moderation_user = htmlentities_utf8($terminaktion->moderation_user_name);
+ else
+ $moderation_user = "moderation_user_email) . "\">" . htmlentities_utf8($terminaktion->moderation_user_name) . " ";
+ $termin_moderationsstatus = "\r\n"
+ . " \r\n"
+ . " \r\n"
+ . "\r\n"
+ . "Status: \r\n"
+ . "" . htmlentities_utf8($status[$terminaktion->status]) . " \r\n"
+ . " \r\n"
+ . "\r\n"
+ . "Aktionstyp: \r\n"
+ . "" . htmlentities_utf8($aktion[$terminaktion->typ]) . " \r\n"
+ . " \r\n"
+ . "\r\n"
+ . "Erstellung: \r\n"
+ . "" . FormatiertesDatum($terminaktion->aktion_zeitpunkt, true, false) . " von " . $aktion_user . " \r\n"
+ . " \r\n";
+ if (!empty($terminaktion->aktion_kommentar)) {
+ $termin_moderationsstatus .= "\r\n"
+ . "Erstellerkommentar: \r\n"
+ . "" . nl2br(htmlentities_utf8($terminaktion->aktion_kommentar)) . " \r\n"
+ . " \r\n";
+ }
+ $termin_moderationsstatus .= "\r\n"
+ . "Moderation: \r\n"
+ . "" . (empty($terminaktion->moderation_zeitpunkt) ? "Nicht erfolgt" : (FormatiertesDatum($terminaktion->moderation_zeitpunkt, true, false) . " von " . $moderation_user)) . " \r\n"
+ . " \r\n";
+ if (!empty($terminaktion->moderation_kommentar)) {
+ $termin_moderationsstatus .= "\r\n"
+ . "Moderatorkommentar: \r\n"
+ . "" . nl2br(htmlentities_utf8($terminaktion->moderation_kommentar)) . " \r\n"
+ . " \r\n";
+ }
- $from = $app->getCfg('mailfrom');
- $fromname = $app->getCfg('fromname');
- $mode = 1;
- $cc = null;
- $bcc = null;
- $attachment = null;
- $replyto = null;
- $replytoname = null;
- if ($terminaktion->status == 2) {
- $subject = "Termin " . $aktion[$terminaktion->typ] . " beantragt: " . $terminaktion->bezeichnung . " am " . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true);
- $body = "Das " . htmlentities_utf8($aktion[$terminaktion->typ]) . " des folgenden Termins wurde beantragt und wird nun von den Moderatoren geprüft. Sobald der Termin bearbeitet wurde, wird eine E-Mail-Benachrichtigung verschickt.
";
- $body .= "\r\n" . $termin_beschreibung . $termin_moderationsstatus . "
\r\n";
- }
- else {
- $subject = "Termin " . $aktion[$terminaktion->typ] . " " . ($terminaktion->status == 0 ? "akzeptiert" : "abgelehnt") . ": " . $terminaktion->bezeichnung . " am " . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true);
- $body = "Das " . htmlentities_utf8($aktion[$terminaktion->typ]) . " des folgenden Termins wurde " . ($terminaktion->status == 0 ? ($ueberarbeiten ? "in überarbeiteter Form akzeptiert" : "akzeptiert") : "abgelehnt") . ".
";
- $body .= "\r\n" . $termin_beschreibung . $termin_moderationsstatus . "
\r\n";
- }
- foreach ($benachrichtigung_emails as $email)
- JFactory::getMailer()->sendMail($from, $fromname, $email, $subject, $body, $mode, $cc, $bcc, $attachment, $replyto, $replytoname);
+ $from = $app->getCfg('mailfrom');
+ $fromName = $app->getCfg('fromname');
+ $mode = 1;
+ $cc = null;
+ $bcc = null;
+ $attachment = null;
+ $replyTo = null;
+ $replyToName = null;
+ if ($terminaktion->status == 2) {
+ $subject = "Termin " . $aktion[$terminaktion->typ] . " beantragt: " . $terminaktion->bezeichnung . " am " . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true);
+ $body = "Das " . htmlentities_utf8($aktion[$terminaktion->typ]) . " des folgenden Termins wurde beantragt und wird nun von den Moderatoren geprüft. Sobald der Termin bearbeitet wurde, wird eine E-Mail-Benachrichtigung verschickt.
";
+ } else {
+ $subject = "Termin " . $aktion[$terminaktion->typ] . " " . ($terminaktion->status == 0 ? "akzeptiert" : "abgelehnt") . ": " . $terminaktion->bezeichnung . " am " . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true);
+ $body = "Das " . htmlentities_utf8($aktion[$terminaktion->typ]) . " des folgenden Termins wurde " . ($terminaktion->status == 0 ? ($ueberarbeiten ? "in überarbeiteter Form akzeptiert" : "akzeptiert") : "abgelehnt") . ".
";
+ }
+ $body .= "\r\n" . $termin_beschreibung . $termin_moderationsstatus . "
\r\n";
+ $mailer = Factory::getContainer()->get(Mail::class);
+ foreach ($benachrichtigung_emails as $email)
+ $mailer->sendMail($from, $fromName, $email, $subject, $body, $mode, $cc, $bcc, $attachment, $replyTo, $replyToName);
- $from = $app->getCfg('mailfrom');
- $fromname = $app->getCfg('fromname');
- $mode = 1;
- $cc = null;
- $bcc = null;
- $attachment = null;
- $replyto = null;
- $replytoname = null;
- if ($terminaktion->status == 2) {
- $subject = "Termin " . $aktion[$terminaktion->typ] . " beantragt von " . $terminaktion->aktion_user_name . ": " . $terminaktion->bezeichnung . " am " . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true);
- $body = "Termin " . htmlentities_utf8($aktion[$terminaktion->typ]) . " beantragt:
\r\n";
- }
- else if ($terminaktion->status == 0) {
- $subject = "Termin " . $aktion[$terminaktion->typ] . " akzeptiert von " . $terminaktion->moderation_user_name . ": " . $terminaktion->bezeichnung . " am " . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true);
- $body = "Termin " . htmlentities_utf8($aktion[$terminaktion->typ]) . " akzeptiert:
";
- }
- else {
- $subject = "Termin " . $aktion[$terminaktion->typ] . " abgelehnt von " . $terminaktion->moderation_user_name . ": " . $terminaktion->bezeichnung . " am " . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true);
- $body = "Termin " . htmlentities_utf8($aktion[$terminaktion->typ]) . " abgelehnt:
";
- }
- $body .= "\r\n" . $termin_beschreibung . $termin_moderationsstatus . "
\r\n";
- foreach ($benachrichtigung_moderatoren_informieren as $email)
- JFactory::getMailer()->sendMail($from, $fromname, $email, $subject, $body, $mode, $cc, $bcc, $attachment, $replyto, $replytoname);
+ $from = $app->getCfg('mailfrom');
+ $fromName = $app->getCfg('fromname');
+ $mode = 1;
+ $cc = null;
+ $bcc = null;
+ $attachment = null;
+ $replyTo = null;
+ $replyToName = null;
+ if ($terminaktion->status == 2) {
+ $subject = "Termin " . $aktion[$terminaktion->typ] . " beantragt von " . $terminaktion->aktion_user_name . ": " . $terminaktion->bezeichnung . " am " . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true);
+ $body = "Termin " . htmlentities_utf8($aktion[$terminaktion->typ]) . " beantragt:
\r\n";
+ } else if ($terminaktion->status == 0) {
+ $subject = "Termin " . $aktion[$terminaktion->typ] . " akzeptiert von " . $terminaktion->moderation_user_name . ": " . $terminaktion->bezeichnung . " am " . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true);
+ $body = "Termin " . htmlentities_utf8($aktion[$terminaktion->typ]) . " akzeptiert:
";
+ } else {
+ $subject = "Termin " . $aktion[$terminaktion->typ] . " abgelehnt von " . $terminaktion->moderation_user_name . ": " . $terminaktion->bezeichnung . " am " . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true);
+ $body = "Termin " . htmlentities_utf8($aktion[$terminaktion->typ]) . " abgelehnt:
";
+ }
+ $body .= "\r\n" . $termin_beschreibung . $termin_moderationsstatus . "
\r\n";
+ foreach ($benachrichtigung_moderatoren_informieren as $email)
+ $mailer->sendMail($from, $fromName, $email, $subject, $body, $mode, $cc, $bcc, $attachment, $replyTo, $replyToName);
- $body .= "Bitte termin_aktion_id, -1) . "\">hier klicken, um den Termin zu moderieren.
\r\n";
- foreach ($benachrichtigung_moderatoren_aendern as $email)
- JFactory::getMailer()->sendMail($from, $fromname, $email, $subject, $body, $mode, $cc, $bcc, $attachment, $replyto, $replytoname);
+ $body .= "Bitte termin_aktion_id, -1) . "\">hier klicken, um den Termin zu moderieren.
\r\n";
+ foreach ($benachrichtigung_moderatoren_aendern as $email)
+ $mailer->sendMail($from, $fromName, $email, $subject, $body, $mode, $cc, $bcc, $attachment, $replyTo, $replyToName);
+ return true;
}
-function adminTerminModerieren($admin_uebersicht) {
- $db = getDatabase();
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminTerminModerieren($admin_uebersicht): void
+{
+ $db = getDatabase();
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern") || isExternalDatabase())
- keinZugriff();
+ if (!benutzerZugriff("termine_aendern") || isExternalDatabase())
+ keinZugriff();
- $id = $jinput->get('id', 0, 'INT');
- $nur_beantragte = $jinput->get('nur_beantragte', 0, 'INT');
- $uebersicht = $jinput->get('uebersicht', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
+ $nur_beantragte = $jInput->get('nur_beantragte', 0, 'INT');
+ $uebersicht = $jInput->get('uebersicht', 0, 'INT');
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''));
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''));
+ }
- return;
- }
+ if ($jInput->get('ueberarbeiten', false, 'BOOL')) {
+ $termin_id = $jInput->get('termin_id', 0, 'INT');
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termin_edit&ueberarbeiten=1&id=' . $termin_id . ($nur_beantragte ? '&nur_beantragte=1' : ''));
+ }
- if ($jinput->get('ueberarbeiten', false, 'BOOL')) {
- $termin_id = $jinput->get('termin_id', 0, 'INT');
+ $akzeptieren = $jInput->get('akzeptieren', false, 'BOOL');
+ $kommentar = $db->escape(trim($jInput->get('kommentar', '', 'RAW')));
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termin_edit&ueberarbeiten=1&id=' . $termin_id . ($nur_beantragte ? '&nur_beantragte=1' : ''));
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n WHERE termin_aktion_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $terminaktion = $rows[0];
+ $termin_bezug_id = $terminaktion->termin_bezug_id;
- return;
- }
+ if ($terminaktion->status != 2) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''), "Die Moderation wurde nicht umgesetzt weil der Termin nicht mehr im Beantragt-Status war.");
+ }
- $akzeptieren = $jinput->get('akzeptieren', false, 'BOOL');
- $kommentar = $db->escape(trim($jinput->get('kommentar', '', 'RAW')));
+ $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine';
+ if ($akzeptieren) {
+ $query = "SELECT DISTINCT termin_id"
+ . "\n FROM #__sportsmanager_termin_aktion"
+ . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
+ . "\n WHERE termin_bezug_id = $termin_bezug_id AND status = 0;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n WHERE termin_aktion_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $terminaktion = $rows[0];
- $termin_bezug_id = $terminaktion->termin_bezug_id;
+ foreach ($rows as $row) {
+ $dokumente = Folder::files($bilder_pfad, '^' . $row->termin_id . ' ');
+ foreach ($dokumente as $dokument)
+ File::delete($bilder_pfad . DIRECTORY_SEPARATOR . $dokument);
+ }
- if ($terminaktion->status != 2) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''), "Die Moderation wurde nicht umgesetzt weil der Termin nicht mehr im Beantragt-Status war.");
- }
+ if ($terminaktion->typ == 2) {
+ $dokumente = Folder::files($bilder_pfad, '^' . $terminaktion->termin_id . ' ');
+ foreach ($dokumente as $dokument)
+ File::delete($bilder_pfad . DIRECTORY_SEPARATOR . $dokument);
+ }
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine';
- if ($akzeptieren) {
- $query = "SELECT DISTINCT termin_id"
- . "\n FROM #__sportsmanager_termin_aktion"
- . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
- . "\n WHERE termin_bezug_id = $termin_bezug_id AND status = 0;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "UPDATE #__sportsmanager_termin_aktion"
+ . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
+ . "\n SET status = 1"
+ . "\n WHERE termin_bezug_id = $termin_bezug_id AND status = 0;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ } else {
+ if ($terminaktion->typ != 2) {
+ $dokumente = Folder::files($bilder_pfad, '^' . $terminaktion->termin_id . ' ');
+ foreach ($dokumente as $dokument)
+ File::delete($bilder_pfad . DIRECTORY_SEPARATOR . $dokument);
+ }
+ }
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine';
- foreach ($rows as $row) {
- $dokumente = JFolder::files($bilder_pfad, '^' . $row->termin_id . ' ');
- foreach ($dokumente as $dokument)
- JFile::delete($bilder_pfad . DIRECTORY_SEPARATOR . $dokument);
- }
+ $user_id = Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
+ $query = "UPDATE #__sportsmanager_termin_aktion"
+ . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
+ . "\n SET status = " . ($akzeptieren ? 0 : 3) . ","
+ . "\n moderation_user_id = $user_id,"
+ . "\n moderation_zeitpunkt = NOW(),"
+ . "\n moderation_kommentar = '$kommentar'"
+ . "\n WHERE termin_aktion_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- if ($terminaktion->typ == 2) {
- $dokumente = JFolder::files($bilder_pfad, '^' . $terminaktion->termin_id . ' ');
- foreach ($dokumente as $dokument)
- JFile::delete($bilder_pfad . DIRECTORY_SEPARATOR . $dokument);
- }
+ termineEmailBenachrichtigung($id);
- $query = "UPDATE #__sportsmanager_termin_aktion"
- . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
- . "\n SET status = 1"
- . "\n WHERE termin_bezug_id = $termin_bezug_id AND status = 0;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- else {
- if ($terminaktion->typ != 2) {
- $dokumente = JFolder::files($bilder_pfad, '^' . $terminaktion->termin_id . ' ');
- foreach ($dokumente as $dokument)
- JFile::delete($bilder_pfad . DIRECTORY_SEPARATOR . $dokument);
- }
- }
-
- $user_id = JFactory::getUser()->id;
- $query = "UPDATE #__sportsmanager_termin_aktion"
- . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
- . "\n SET status = " . ($akzeptieren ? 0 : 3) . ","
- . "\n moderation_user_id = $user_id,"
- . "\n moderation_zeitpunkt = NOW(),"
- . "\n moderation_kommentar = '$kommentar'"
- . "\n WHERE termin_aktion_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
-
- termineEmailBenachrichtigung($id);
-
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''));
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''));
}
-function adminTermineVerlauf($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminTermineVerlauf($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $nur_beantragte = $jinput->get('nur_beantragte', 0, 'INT');
+ $nur_beantragte = $jInput->get('nur_beantragte', 0, 'INT');
- if ($nur_beantragte) {
- $query = "SELECT #__sportsmanager_termin.*, #__sportsmanager_termin_aktion.*, DATEDIFF(erster_tag, NOW()) AS datumsdifferenz, aktion_user.name AS aktion_user_name, moderation_user.name AS moderation_user_name, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
- . "\n FROM #__sportsmanager_termin"
- . "\n LEFT JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
- . "\n LEFT JOIN #__users AS aktion_user ON aktion_user_id = aktion_user.id"
- . "\n LEFT JOIN #__users AS moderation_user ON moderation_user_id = moderation_user.id"
- . "\n WHERE status = 2"
- . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id"
- . "\n ORDER BY aktion_zeitpunkt, bezeichnung"
- . "\n LIMIT 1000";
- }
- else {
- $query = "SELECT #__sportsmanager_termin.*, #__sportsmanager_termin_aktion.*, DATEDIFF(erster_tag, NOW()) AS datumsdifferenz, aktion_user.name AS aktion_user_name, moderation_user.name AS moderation_user_name, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
- . "\n LEFT JOIN #__users AS aktion_user ON aktion_user_id = aktion_user.id"
- . "\n LEFT JOIN #__users AS moderation_user ON moderation_user_id = moderation_user.id"
- . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id"
- . "\n ORDER BY aktion_zeitpunkt DESC, bezeichnung"
- . "\n LIMIT 1000";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $terminaktionen = $db->loadObjectList();
+ if ($nur_beantragte) {
+ $query = "SELECT #__sportsmanager_termin.*, #__sportsmanager_termin_aktion.*, DATEDIFF(erster_tag, NOW()) AS datumsdifferenz, aktion_user.name AS aktion_user_name, moderation_user.name AS moderation_user_name, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n LEFT JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
+ . "\n LEFT JOIN #__users AS aktion_user ON aktion_user_id = aktion_user.id"
+ . "\n LEFT JOIN #__users AS moderation_user ON moderation_user_id = moderation_user.id"
+ . "\n WHERE status = 2"
+ . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id"
+ . "\n ORDER BY aktion_zeitpunkt, bezeichnung"
+ . "\n LIMIT 1000";
+ } else {
+ $query = "SELECT #__sportsmanager_termin.*, #__sportsmanager_termin_aktion.*, DATEDIFF(erster_tag, NOW()) AS datumsdifferenz, aktion_user.name AS aktion_user_name, moderation_user.name AS moderation_user_name, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
+ . "\n LEFT JOIN #__users AS aktion_user ON aktion_user_id = aktion_user.id"
+ . "\n LEFT JOIN #__users AS moderation_user ON moderation_user_id = moderation_user.id"
+ . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id"
+ . "\n ORDER BY aktion_zeitpunkt DESC, bezeichnung"
+ . "\n LIMIT 1000";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $terminaktionen = $db->loadObjectList();
- HTML_sportsmanager_admin::adminTermineVerlauf($terminaktionen, $nur_beantragte, $admin_uebersicht);
+ HTML_sportsmanager_admin::adminTermineVerlauf($terminaktionen, $nur_beantragte, $admin_uebersicht);
}
-function terminDokument() {
- $db = getDatabase();
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function terminDokument(): void
+{
+ $db = getDatabase();
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $id = $jinput->get('id', 0, 'INT');
- $bezug_id = $jinput->get('bezug_id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
+ $bezug_id = $jInput->get('bezug_id', 0, 'INT');
- if (benutzerZugriff("termine_aendern") || benutzerZugriff("termine_benachrichtigung"))
- $zugriffsebene = 1;
- else
- $zugriffsebene = 0;
+ if (benutzerZugriff("termine_aendern") || benutzerZugriff("termine_benachrichtigung"))
+ $zugriffsebene = 1;
+ else
+ $zugriffsebene = 0;
- if (!empty($bezug_id)) {
- $query = "SELECT termin_id"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n WHERE termin_bezug_id = $bezug_id AND status = 0 AND (typ = 0 OR typ = 1)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- $termin_vorhanden = count($rows) > 0;
- if ($termin_vorhanden)
- $id = $rows[0]->termin_id;
- }
- else {
- $query = "SELECT IF (EXISTS (SELECT *"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n WHERE termin_id = $id" . ($zugriffsebene == 0 ? " AND status = 0 AND (typ = 0 OR typ = 1)" : "") . "), 1, 0)";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $termin_vorhanden = $db->loadResult();
- }
+ if (!empty($bezug_id)) {
+ $query = "SELECT termin_id"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n WHERE termin_bezug_id = $bezug_id AND status = 0 AND (typ = 0 OR typ = 1)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ $termin_vorhanden = count($rows) > 0;
+ if ($termin_vorhanden)
+ $id = $rows[0]->termin_id;
+ } else {
+ $query = "SELECT IF (EXISTS (SELECT *"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n WHERE termin_id = $id" . ($zugriffsebene == 0 ? " AND status = 0 AND (typ = 0 OR typ = 1)" : "") . "), 1, 0)";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $termin_vorhanden = $db->loadResult();
+ }
- if (!$termin_vorhanden)
- keinZugriff(true);
+ if (!$termin_vorhanden)
+ keinZugriff(true);
- $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine';
- $dokumente = JFolder::files($pfad, '^' . $id . ' ');
+ $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine';
+ $dokumente = Folder::files($pfad, '^' . $id . ' ');
- if (empty($dokumente)) {
- redirectSportsManagerURL(null, "Der Anhang existiert nicht mehr.");
+ if (empty($dokumente)) {
+ redirectSportsManagerURL(null, "Der Anhang existiert nicht mehr.");
+ }
- return;
- }
+ $extension = strtolower(File::getExt($dokumente[0]));
+ if ($extension == "pdf")
+ $mm_type = "application/pdf";
+ else
+ $mm_type = "application/octet-stream";
- $extension = strtolower(JFile::getExt($dokumente[0]));
- if ($extension == "pdf")
- $mm_type = "application/pdf";
- else
- $mm_type = "application/octet-stream";
+ ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
+ header("Pragma: public");
+ header("Expires: 0");
+ header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
+ header("Cache-Control: public");
+ header("Content-Description: File Transfer");
+ header("Content-Type: " . $mm_type);
+ header("Content-Length: " . filesize($pfad . DIRECTORY_SEPARATOR . $dokumente[0]));
+ header('Content-Disposition: inline; filename="' . substr($dokumente[0], strlen((string)$id) + 1) . '"');
+ header("Content-Transfer-Encoding: binary\n");
- ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
- header("Pragma: public");
- header("Expires: 0");
- header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
- header("Cache-Control: public");
- header("Content-Description: File Transfer");
- header("Content-Type: " . $mm_type);
- header("Content-Length: " . (string) (filesize($pfad . DIRECTORY_SEPARATOR . $dokumente[0])));
- header('Content-Disposition: inline; filename="' . substr($dokumente[0], strlen((string) $id) + 1) . '"');
- header("Content-Transfer-Encoding: binary\n");
+ readfile($pfad . DIRECTORY_SEPARATOR . $dokumente[0]);
- readfile($pfad . DIRECTORY_SEPARATOR . $dokumente[0]);
-
- exit();
+ exit();
}
-function adminTerminDetails($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminTerminDetails($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- $nur_beantragte = $jinput->get('nur_beantragte', 0, 'INT');
- $uebersicht = $jinput->get('uebersicht', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
+ $nur_beantragte = $jInput->get('nur_beantragte', 0, 'INT');
+ $uebersicht = $jInput->get('uebersicht', 0, 'INT');
- $query = "SELECT #__sportsmanager_termin.*, #__sportsmanager_termin_aktion.*, aktion_user.name AS aktion_user_name, aktion_user.email AS aktion_user_email, moderation_user.name AS moderation_user_name, moderation_user.email AS moderation_user_email, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
- . "\n LEFT JOIN #__users AS aktion_user ON aktion_user_id = aktion_user.id"
- . "\n LEFT JOIN #__users AS moderation_user ON moderation_user_id = moderation_user.id"
- . "\n WHERE termin_aktion_id = $id"
- . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $terminaktion = $rows[0];
+ $query = "SELECT #__sportsmanager_termin.*, #__sportsmanager_termin_aktion.*, aktion_user.name AS aktion_user_name, aktion_user.email AS aktion_user_email, moderation_user.name AS moderation_user_name, moderation_user.email AS moderation_user_email, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
+ . "\n LEFT JOIN #__users AS aktion_user ON aktion_user_id = aktion_user.id"
+ . "\n LEFT JOIN #__users AS moderation_user ON moderation_user_id = moderation_user.id"
+ . "\n WHERE termin_aktion_id = $id"
+ . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $terminaktion = $rows[0];
- $query = "SELECT #__sportsmanager_termin.*, #__sportsmanager_termin_aktion.*, DATEDIFF(erster_tag, NOW()) AS datumsdifferenz, aktion_user.name AS aktion_user_name, moderation_user.name AS moderation_user_name, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
- . "\n FROM #__sportsmanager_termin"
- . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
- . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
- . "\n LEFT JOIN #__users AS aktion_user ON aktion_user_id = aktion_user.id"
- . "\n LEFT JOIN #__users AS moderation_user ON moderation_user_id = moderation_user.id"
- . "\n WHERE termin_bezug_id = $terminaktion->termin_bezug_id"
- . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id"
- . "\n ORDER BY aktion_zeitpunkt DESC, bezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $terminaktionen = $db->loadObjectList();
+ $query = "SELECT #__sportsmanager_termin.*, #__sportsmanager_termin_aktion.*, DATEDIFF(erster_tag, NOW()) AS datumsdifferenz, aktion_user.name AS aktion_user_name, moderation_user.name AS moderation_user_name, GROUP_CONCAT(zusatz ORDER BY zusatz SEPARATOR ', ') AS zusaetze"
+ . "\n FROM #__sportsmanager_termin"
+ . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
+ . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)"
+ . "\n LEFT JOIN #__users AS aktion_user ON aktion_user_id = aktion_user.id"
+ . "\n LEFT JOIN #__users AS moderation_user ON moderation_user_id = moderation_user.id"
+ . "\n WHERE termin_bezug_id = $terminaktion->termin_bezug_id"
+ . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id"
+ . "\n ORDER BY aktion_zeitpunkt DESC, bezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $terminaktionen = $db->loadObjectList();
- HTML_sportsmanager_admin::adminTerminDetails($terminaktion, $terminaktionen, $nur_beantragte, $admin_uebersicht, $uebersicht, isExternalDatabase());
+ HTML_sportsmanager_admin::adminTerminDetails($terminaktion, $terminaktionen, $nur_beantragte, $admin_uebersicht, $uebersicht, isExternalDatabase());
}
-function adminTermineBezeichnungen($admin_uebersicht) {
- $db = getDatabase();
+function adminTermineBezeichnungen($admin_uebersicht): void
+{
+ $db = getDatabase();
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_termin_bezeichnung"
- . "\n ORDER BY bezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $bezeichnungen = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_termin_bezeichnung"
+ . "\n ORDER BY bezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $bezeichnungen = $db->loadObjectList();
- HTML_sportsmanager_admin::adminTermineBezeichnungen($bezeichnungen, $admin_uebersicht);
+ HTML_sportsmanager_admin::adminTermineBezeichnungen($bezeichnungen, $admin_uebersicht);
}
-function adminEditTermineBezeichnung($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditTermineBezeichnung($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- if (empty($id)) {
- $bezeichnung = null;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_termin_bezeichnung WHERE termin_bezeichnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $bezeichnung = $rows[0];
- }
+ if (empty($id)) {
+ $bezeichnung = null;
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_termin_bezeichnung WHERE termin_bezeichnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $bezeichnung = $rows[0];
+ }
- HTML_sportsmanager_admin::adminEditTermineBezeichnung($bezeichnung, $admin_uebersicht);
+ HTML_sportsmanager_admin::adminEditTermineBezeichnung($bezeichnung, $admin_uebersicht);
}
-function adminSaveTermineBezeichnung($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveTermineBezeichnung($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bezeichnungen');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bezeichnungen');
+ }
- return;
- }
+ $id = $jInput->get('id', 0, 'INT');
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $termine_umbenennen = $jInput->get('termine_umbenennen', 0, 'INT');
- $id = $jinput->get('id', 0, 'INT');
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $termine_umbenennen = $jinput->get('termine_umbenennen', 0, 'INT');
+ if (!empty($id) && $termine_umbenennen) {
+ $query = "SELECT * FROM #__sportsmanager_termin_bezeichnung WHERE termin_bezeichnung_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $alte_bezeichnung = $db->escape($rows[0]->bezeichnung);
- if (!empty($id) && $termine_umbenennen) {
- $query = "SELECT * FROM #__sportsmanager_termin_bezeichnung WHERE termin_bezeichnung_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $alte_bezeichnung = $db->escape($rows[0]->bezeichnung);
+ $query = "UPDATE #__sportsmanager_termin"
+ . "\n SET bezeichnung = '$bezeichnung'"
+ . "\n WHERE bezeichnung = '$alte_bezeichnung'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "UPDATE #__sportsmanager_termin"
- . "\n SET bezeichnung = '$bezeichnung'"
- . "\n WHERE bezeichnung = '$alte_bezeichnung'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $query = "SELECT * FROM #__sportsmanager_termin_bezeichnung WHERE bezeichnung = '$bezeichnung' AND termin_bezeichnung_id != $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ // Datenbankeintrag verwerfen, falls Bezeichnung schon existiert
+ if (count($rows) > 0) {
+ if (!empty($id)) {
+ $query = "DELETE FROM #__sportsmanager_termin_bezeichnung WHERE termin_bezeichnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else {
+ if (empty($id)) {
+ $query = "INSERT #__sportsmanager_termin_bezeichnung"
+ . "\n SET bezeichnung = '$bezeichnung'";
+ } else {
+ $query = "UPDATE #__sportsmanager_termin_bezeichnung"
+ . "\n SET bezeichnung = '$bezeichnung'"
+ . "\n WHERE termin_bezeichnung_id = $id";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "SELECT * FROM #__sportsmanager_termin_bezeichnung WHERE bezeichnung = '$bezeichnung' AND termin_bezeichnung_id != $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- // Datenbankeintrag verwerfen, falls Bezeichnung schon existiert
- if (count($rows) > 0) {
- if (!empty($id)) {
- $query = "DELETE FROM #__sportsmanager_termin_bezeichnung WHERE termin_bezeichnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else {
- if (empty($id)) {
- $query = "INSERT #__sportsmanager_termin_bezeichnung"
- . "\n SET bezeichnung = '$bezeichnung'";
- }
- else {
- $query = "UPDATE #__sportsmanager_termin_bezeichnung"
- . "\n SET bezeichnung = '$bezeichnung'"
- . "\n WHERE termin_bezeichnung_id = $id";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bezeichnungen');
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bezeichnungen');
}
-function adminRemoveTermineBezeichnung($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveTermineBezeichnung($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- $query = "DELETE FROM #__sportsmanager_termin_bezeichnung WHERE termin_bezeichnung_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_termin_bezeichnung WHERE termin_bezeichnung_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bezeichnungen');
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bezeichnungen');
}
-function adminTermineBezeichnungszusaetze($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminTermineBezeichnungszusaetze($admin_uebersicht): void
+{
+ $db = getDatabase();
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_termin_bezeichnungszusatz"
- . "\n ORDER BY bezeichnungszusatz";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $bezeichnungszusaetze = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_termin_bezeichnungszusatz"
+ . "\n ORDER BY bezeichnungszusatz";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $bezeichnungszusaetze = $db->loadObjectList();
- HTML_sportsmanager_admin::adminTermineBezeichnungszusaetze($bezeichnungszusaetze, $admin_uebersicht);
+ HTML_sportsmanager_admin::adminTermineBezeichnungszusaetze($bezeichnungszusaetze, $admin_uebersicht);
}
-function adminEditTermineBezeichnungszusatz($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditTermineBezeichnungszusatz($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- if (empty($id)) {
- $bezeichnungszusatz = null;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_termin_bezeichnungszusatz WHERE termin_bezeichnungszusatz_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $bezeichnungszusatz = $rows[0];
- }
+ if (empty($id)) {
+ $bezeichnungszusatz = null;
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_termin_bezeichnungszusatz WHERE termin_bezeichnungszusatz_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $bezeichnungszusatz = $rows[0];
+ }
- HTML_sportsmanager_admin::adminEditTermineBezeichnungszusatz($bezeichnungszusatz, $admin_uebersicht);
+ HTML_sportsmanager_admin::adminEditTermineBezeichnungszusatz($bezeichnungszusatz, $admin_uebersicht);
}
-function adminSaveTermineBezeichnungszusatz($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveTermineBezeichnungszusatz($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bezeichnungszusaetze');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bezeichnungszusaetze');
+ }
- return;
- }
+ $id = $jInput->get('id', 0, 'INT');
+ $bezeichnungszusatz = $db->escape(trim($jInput->get('bezeichnungszusatz', '', 'RAW')));
+ $titel = $db->escape(trim($jInput->get('titel', '', 'RAW')));
+ $termine_umbenennen = $jInput->get('termine_umbenennen', 0, 'INT');
- $id = $jinput->get('id', 0, 'INT');
- $bezeichnungszusatz = $db->escape(trim($jinput->get('bezeichnungszusatz', '', 'RAW')));
- $titel = $db->escape(trim($jinput->get('titel', '', 'RAW')));
- $termine_umbenennen = $jinput->get('termine_umbenennen', 0, 'INT');
+ if (!empty($id) && $termine_umbenennen) {
+ $query = "SELECT * FROM #__sportsmanager_termin_bezeichnungszusatz WHERE termin_bezeichnungszusatz_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $alter_bezeichnungszusatz = $db->escape($rows[0]->bezeichnungszusatz);
- if (!empty($id) && $termine_umbenennen) {
- $query = "SELECT * FROM #__sportsmanager_termin_bezeichnungszusatz WHERE termin_bezeichnungszusatz_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $alter_bezeichnungszusatz = $db->escape($rows[0]->bezeichnungszusatz);
+ $query = "UPDATE #__sportsmanager_termin_zusatz"
+ . "\n SET zusatz = '$bezeichnungszusatz'"
+ . "\n WHERE zusatz = '$alter_bezeichnungszusatz'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "UPDATE #__sportsmanager_termin_zusatz"
- . "\n SET zusatz = '$bezeichnungszusatz'"
- . "\n WHERE zusatz = '$alter_bezeichnungszusatz'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $query = "SELECT * FROM #__sportsmanager_termin_bezeichnungszusatz WHERE bezeichnungszusatz = '$bezeichnungszusatz' AND termin_bezeichnungszusatz_id != $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ // Datenbankeintrag verwerfen, falls Bezeichnungszusatz schon existiert
+ if (count($rows) > 0) {
+ if (!empty($id)) {
+ $query = "DELETE FROM #__sportsmanager_termin_bezeichnungszusatz WHERE termin_bezeichnungszusatz_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else {
+ if (empty($id)) {
+ $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz"
+ . "\n SET bezeichnungszusatz = '$bezeichnungszusatz',"
+ . "\n titel = '$titel'";
+ } else {
+ $query = "UPDATE #__sportsmanager_termin_bezeichnungszusatz"
+ . "\n SET bezeichnungszusatz = '$bezeichnungszusatz',"
+ . "\n titel = '$titel'"
+ . "\n WHERE termin_bezeichnungszusatz_id = $id";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "SELECT * FROM #__sportsmanager_termin_bezeichnungszusatz WHERE bezeichnungszusatz = '$bezeichnungszusatz' AND termin_bezeichnungszusatz_id != $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- // Datenbankeintrag verwerfen, falls Bezeichnungszusatz schon existiert
- if (count($rows) > 0) {
- if (!empty($id)) {
- $query = "DELETE FROM #__sportsmanager_termin_bezeichnungszusatz WHERE termin_bezeichnungszusatz_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else {
- if (empty($id)) {
- $query = "INSERT #__sportsmanager_termin_bezeichnungszusatz"
- . "\n SET bezeichnungszusatz = '$bezeichnungszusatz',"
- . "\n titel = '$titel'";
- }
- else {
- $query = "UPDATE #__sportsmanager_termin_bezeichnungszusatz"
- . "\n SET bezeichnungszusatz = '$bezeichnungszusatz',"
- . "\n titel = '$titel'"
- . "\n WHERE termin_bezeichnungszusatz_id = $id";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bezeichnungszusaetze');
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bezeichnungszusaetze');
}
-function adminRemoveTermineBezeichnungszusatz($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveTermineBezeichnungszusatz($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- $query = "DELETE FROM #__sportsmanager_termin_bezeichnungszusatz WHERE termin_bezeichnungszusatz_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_termin_bezeichnungszusatz WHERE termin_bezeichnungszusatz_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bezeichnungszusaetze');
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bezeichnungszusaetze');
}
-function adminTermineBundeslaender($admin_uebersicht) {
- $db = getDatabase();
+function adminTermineBundeslaender($admin_uebersicht): void
+{
+ $db = getDatabase();
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_termin_bundesland"
- . "\n ORDER BY bundesland";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $bundeslaender = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_termin_bundesland"
+ . "\n ORDER BY bundesland";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $bundeslaender = $db->loadObjectList();
- HTML_sportsmanager_admin::adminTermineBundeslaender($bundeslaender, $admin_uebersicht);
+ HTML_sportsmanager_admin::adminTermineBundeslaender($bundeslaender, $admin_uebersicht);
}
-function adminEditTermineBundesland($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditTermineBundesland($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- if (empty($id)) {
- $bundesland = null;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_termin_bundesland WHERE termin_bundesland_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $bundesland = $rows[0];
- }
+ if (empty($id)) {
+ $bundesland = null;
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_termin_bundesland WHERE termin_bundesland_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $bundesland = $rows[0];
+ }
- HTML_sportsmanager_admin::adminEditTermineBundesland($bundesland, $admin_uebersicht);
+ HTML_sportsmanager_admin::adminEditTermineBundesland($bundesland, $admin_uebersicht);
}
-function adminSaveTermineBundesland($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveTermineBundesland($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bundeslaender');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bundeslaender');
+ }
- return;
- }
+ $id = $jInput->get('id', 0, 'INT');
+ $bundesland = $db->escape(trim($jInput->get('bundesland', '', 'RAW')));
+ $termine_umbenennen = $jInput->get('termine_umbenennen', 0, 'INT');
- $id = $jinput->get('id', 0, 'INT');
- $bundesland = $db->escape(trim($jinput->get('bundesland', '', 'RAW')));
- $termine_umbenennen = $jinput->get('termine_umbenennen', 0, 'INT');
+ if ($termine_umbenennen) {
+ $query = "SELECT * FROM #__sportsmanager_termin_bundesland WHERE termin_bundesland_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $altes_bundesland = $db->escape($rows[0]->bundesland);
- if ($termine_umbenennen) {
- $query = "SELECT * FROM #__sportsmanager_termin_bundesland WHERE termin_bundesland_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $altes_bundesland = $db->escape($rows[0]->bundesland);
+ $query = "UPDATE #__sportsmanager_termin"
+ . "\n SET land = '$bundesland'"
+ . "\n WHERE land = '$altes_bundesland'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "UPDATE #__sportsmanager_termin"
- . "\n SET land = '$bundesland'"
- . "\n WHERE land = '$altes_bundesland'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $query = "SELECT * FROM #__sportsmanager_termin_bundesland WHERE bundesland = '$bundesland' AND termin_bundesland_id != $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ // Datenbankeintrag verwerfen, falls Bundesland schon existiert
+ if (count($rows) > 0) {
+ if (!empty($id)) {
+ $query = "DELETE FROM #__sportsmanager_termin_bundesland WHERE termin_bundesland_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else {
+ if (empty($id)) {
+ $query = "INSERT #__sportsmanager_termin_bundesland"
+ . "\n SET bundesland = '$bundesland'";
+ } else {
+ $query = "UPDATE #__sportsmanager_termin_bundesland"
+ . "\n SET bundesland = '$bundesland'"
+ . "\n WHERE termin_bundesland_id = $id";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "SELECT * FROM #__sportsmanager_termin_bundesland WHERE bundesland = '$bundesland' AND termin_bundesland_id != $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- // Datenbankeintrag verwerfen, falls Bundesland schon existiert
- if (count($rows) > 0) {
- if (!empty($id)) {
- $query = "DELETE FROM #__sportsmanager_termin_bundesland WHERE termin_bundesland_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else {
- if (empty($id)) {
- $query = "INSERT #__sportsmanager_termin_bundesland"
- . "\n SET bundesland = '$bundesland'";
- }
- else {
- $query = "UPDATE #__sportsmanager_termin_bundesland"
- . "\n SET bundesland = '$bundesland'"
- . "\n WHERE termin_bundesland_id = $id";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bundeslaender');
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bundeslaender');
}
-function adminRemoveTermineBundesland($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveTermineBundesland($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- $query = "DELETE FROM #__sportsmanager_termin_bundesland WHERE termin_bundesland_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_termin_bundesland WHERE termin_bundesland_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bundeslaender');
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_bundeslaender');
}
-function adminTermineLaender($admin_uebersicht) {
- $db = getDatabase();
+function adminTermineLaender($admin_uebersicht): void
+{
+ $db = getDatabase();
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_termin_land"
- . "\n ORDER BY land";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $laender = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_termin_land"
+ . "\n ORDER BY land";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $laender = $db->loadObjectList();
- HTML_sportsmanager_admin::adminTermineLaender($laender, $admin_uebersicht);
+ HTML_sportsmanager_admin::adminTermineLaender($laender, $admin_uebersicht);
}
-function adminEditTermineLand($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditTermineLand($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- if (empty($id)) {
- $land = null;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_termin_land WHERE termin_land_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $land = $rows[0];
- }
+ if (empty($id)) {
+ $land = null;
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_termin_land WHERE termin_land_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $land = $rows[0];
+ }
- HTML_sportsmanager_admin::adminEditTermineLand($land, $admin_uebersicht);
+ HTML_sportsmanager_admin::adminEditTermineLand($land, $admin_uebersicht);
}
-function adminSaveTermineLand($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveTermineLand($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff();
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_laender');
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_laender');
+ }
- return;
- }
-
- $id = $jinput->get('id', 0, 'INT');
- $land = $db->escape(trim($jinput->get('land', '', 'RAW')));
- $termine_umbenennen = $jinput->get('termine_umbenennen', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
+ $land = $db->escape(trim($jInput->get('land', '', 'RAW')));
+ $termine_umbenennen = $jInput->get('termine_umbenennen', 0, 'INT');
- if ($termine_umbenennen) {
- $query = "SELECT * FROM #__sportsmanager_termin_land WHERE termin_land_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $altes_bundesland = $db->escape($rows[0]->bundesland);
+ if ($termine_umbenennen) {
+ $query = "SELECT * FROM #__sportsmanager_termin_land WHERE termin_land_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $altes_land = $db->escape($rows[0]->land);
- $query = "UPDATE #__sportsmanager_termin"
- . "\n SET land = '$land'"
- . "\n WHERE land = '$altes_land'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $query = "UPDATE #__sportsmanager_termin"
+ . "\n SET land = '$land'"
+ . "\n WHERE land = '$altes_land'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "SELECT * FROM #__sportsmanager_termin_land WHERE land = '$land' AND termin_land_id != $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- // Datenbankeintrag verwerfen, falls Bundesland schon existiert
- if (count($rows) > 0) {
- if (!empty($id)) {
- $query = "DELETE FROM #__sportsmanager_termin_land WHERE termin_land_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else {
- if (empty($id)) {
- $query = "INSERT #__sportsmanager_termin_land"
- . "\n SET land = '$land'";
- }
- else {
- $query = "UPDATE #__sportsmanager_termin_land"
- . "\n SET land = '$land'"
- . "\n WHERE termin_land_id = $id";
- }
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $query = "SELECT * FROM #__sportsmanager_termin_land WHERE land = '$land' AND termin_land_id != $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ // Datenbankeintrag verwerfen, falls Bundesland schon existiert
+ if (count($rows) > 0) {
+ if (!empty($id)) {
+ $query = "DELETE FROM #__sportsmanager_termin_land WHERE termin_land_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else {
+ if (empty($id)) {
+ $query = "INSERT #__sportsmanager_termin_land"
+ . "\n SET land = '$land'";
+ } else {
+ $query = "UPDATE #__sportsmanager_termin_land"
+ . "\n SET land = '$land'"
+ . "\n WHERE termin_land_id = $id";
+ }
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_laender');
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_laender');
}
-function adminRemoveTermineLand($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveTermineLand($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff();
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- $query = "DELETE FROM #__sportsmanager_termin_land WHERE termin_land_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_termin_land WHERE termin_land_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_laender');
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_laender');
}
-function adminTermineSymbole($admin_uebersicht) {
- $db = getDatabase();
+function adminTermineSymbole($admin_uebersicht): void
+{
+ $db = getDatabase();
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_termin_symbol"
- . "\n ORDER BY status DESC, symboltitel";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $symbole = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_termin_symbol"
+ . "\n ORDER BY status DESC, symboltitel";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $symbole = $db->loadObjectList();
- HTML_sportsmanager_admin::adminTermineSymbole($symbole, $admin_uebersicht);
+ HTML_sportsmanager_admin::adminTermineSymbole($symbole, $admin_uebersicht);
}
-function adminEditTermineSymbol($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditTermineSymbol($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- if (empty($id)) {
- $symbol = null;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_termin_symbol WHERE termin_symbol_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die ("Wrong id");
- $symbol = $rows[0];
- }
+ if (empty($id)) {
+ $symbol = null;
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_termin_symbol WHERE termin_symbol_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die ("Wrong id");
+ $symbol = $rows[0];
+ }
- HTML_sportsmanager_admin::adminEditTermineSymbol($symbol, $admin_uebersicht);
+ HTML_sportsmanager_admin::adminEditTermineSymbol($symbol, $admin_uebersicht);
}
-function adminSaveTermineSymbol($admin_uebersicht) {
- $db = getDatabase();
- global $_FILES;
- global $sportsmanager_joomla_path;
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveTermineSymbol($admin_uebersicht): void
+{
+ $db = getDatabase();
+ global $_FILES;
+ global $sportsmanager_joomla_path;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff();
- $input = \Joomla\CMS\Factory::getApplication()->input;
+ $input = Factory::getContainer()->get(SiteApplication::class)->input;
- if ($input->getBool('cancel')) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_symbole');
+ if ($input->getBool('cancel')) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_symbole');
+ }
- return;
- }
+ $id = $jInput->get('id', 0, 'INT');
+ $symboltitel = $db->escape(trim($jInput->get('symboltitel', '', 'RAW')));
+ $bildbeibehalten = $jInput->get('bildbeibehalten', 0, 'INT');
+ $status = $jInput->get('status', 0, 'INT');
- $id = $jinput->get('id', 0, 'INT');
- $symboltitel = $db->escape(trim($jinput->get('symboltitel', '', 'RAW')));
- $bildbeibehalten = $jinput->get('bildbeibehalten', 0, 'INT');
- $status = $jinput->get('status', 0, 'INT');
+ if ($id == 0) {
+ $query = "INSERT INTO #__sportsmanager_termin_symbol (symboltitel,status)"
+ . "\n VALUES ('$symboltitel', '$status');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $query = "UPDATE #__sportsmanager_termin_symbol"
+ . "\n SET symboltitel = '$symboltitel', "
+ . "\n status = '$status'"
+ . "\n WHERE termin_symbol_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_termin_symbol (symboltitel,status)"
- . "\n VALUES ('$symboltitel', '$status');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $query = "UPDATE #__sportsmanager_termin_symbol"
- . "\n SET symboltitel = '$symboltitel', "
- . "\n status = '$status'"
- . "\n WHERE termin_symbol_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ if ($bildbeibehalten == 0) {
+ bildLoeschen('terminsymbole', $id);
- if ($bildbeibehalten == 0) {
- bildLoeschen('terminsymbole', $id);
+ if (!empty($_FILES["bild"]["tmp_name"])) {
+ if (is_uploaded_file($_FILES["bild"]["tmp_name"])) {
+ $size = getimagesize($_FILES["bild"]["tmp_name"]);
+ if (!$size
+ || ($size[2] != IMAGETYPE_JPEG && $size[2] != IMAGETYPE_PNG)
+ || ($size[0] > 8192 || $size[1] > 8192)) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_symbole', Text::_('COM_SPORTSMANAGER_PLAYER_WRONG_IMAGE_FORMAT'));
+ }
+ $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'terminsymbole';
+ if (!File::copy($_FILES["bild"]["tmp_name"], $bilder_pfad . DIRECTORY_SEPARATOR . $id . ($size[2] == IMAGETYPE_PNG ? '.png' : '.jpg'))) {
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_symbole', Text::_('COM_SPORTSMANAGER_IMAGE_COULD_NOT_COPIED'));
+ }
+ }
+ }
+ }
- if (!empty($_FILES["bild"]["tmp_name"])) {
- if (is_uploaded_file($_FILES["bild"]["tmp_name"])) {
- $size = getimagesize($_FILES["bild"]["tmp_name"]);
- if ($size == false
- || ($size[2] != IMAGETYPE_JPEG && $size[2] != IMAGETYPE_PNG)
- || ($size[0] > 8192 || $size[1] > 8192)) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_symbole', JText::_('COM_SPORTSMANAGER_PLAYER_WRONG_IMAGE_FORMAT'));
-
- return;
- }
- $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'terminsymbole';
- if (!JFile::copy($_FILES["bild"]["tmp_name"], $bilder_pfad . DIRECTORY_SEPARATOR . $id . ($size[2] == IMAGETYPE_PNG ? '.png' : '.jpg'))) {
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_symbole', JText::_('COM_SPORTSMANAGER_IMAGE_COULD_NOT_COPIED'));
-
- return;
- }
- }
- }
- }
-
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_symbole');
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_symbole');
}
-function adminRemoveTermineSymbol($admin_uebersicht) {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveTermineSymbol($admin_uebersicht): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("termine_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("termine_aendern"))
+ keinZugriff();
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- $query = "DELETE FROM #__sportsmanager_termin_symbolanzeige WHERE termin_symbol_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_termin_symbolanzeige WHERE termin_symbol_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_termin_symbol WHERE termin_symbol_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_termin_symbol WHERE termin_symbol_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- bildLoeschen("terminsymbole", $id);
+ bildLoeschen("terminsymbole", $id);
- redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_symbole');
+ redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine_symbole');
}
-function adminEditIndividualwettbewerb() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditIndividualwettbewerb(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $id = $jinput->get('id', 0, 'INT');
- $vorlage = $jinput->get('vorlage', 0, 'INT');
- if (!benutzerZugriff("individualwettbewerbe_aendern"))
- keinZugriff(true);
+ $id = $jInput->get('id', 0, 'INT');
+ $vorlage = $jInput->get('vorlage', 0, 'INT');
+ if (!benutzerZugriff("individualwettbewerbe_aendern"))
+ keinZugriff(true);
- if ($id == 0)
- $row = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
- }
+ if ($id == 0)
+ $row = null;
+ else {
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
+ }
- $query = "SELECT * FROM #__sportsmanager_veranstalter ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_veranstalter ORDER BY veranstalterbezeichnung";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $veranstalter = $db->loadObjectList();
- $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 6 ORDER BY nummer";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows_kategorien = $db->loadObjectList();
+ $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 6 ORDER BY nummer";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows_kategorien = $db->loadObjectList();
- $kategorien = array();
- foreach ($rows_kategorien as $kategorie)
- $kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
+ $kategorien = array();
+ foreach ($rows_kategorien as $kategorie)
+ $kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
- $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $saisons = $db->loadObjectList();
- if (empty($id)) {
- $berechtigt_fuer_individualwettbewerb = array();
- }
- else {
- $query = "SELECT #__sportsmanager_berechtigt_fuer_individualwettbewerb.* FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb, #__users WHERE berechtigt_user_id = id AND berechtigt_individualwettbewerb_id = $id ORDER BY username, name";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $berechtigt_fuer_individualwettbewerb = $db->loadObjectList();
- }
+ if (empty($id)) {
+ $berechtigt_fuer_individualwettbewerb = array();
+ } else {
+ $query = "SELECT #__sportsmanager_berechtigt_fuer_individualwettbewerb.* FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb, #__users WHERE berechtigt_user_id = id AND berechtigt_individualwettbewerb_id = $id ORDER BY username, name";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $berechtigt_fuer_individualwettbewerb = $db->loadObjectList();
+ }
- $query = "SELECT * FROM #__users ORDER BY name, username";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $users = $db->loadObjectList();
+ $query = "SELECT * FROM #__users ORDER BY name, username";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $users = $db->loadObjectList();
- HTML_sportsmanager_admin::adminEditIndividualwettbewerb($row, $veranstalter, $kategorien, $saisons, $users, $berechtigt_fuer_individualwettbewerb, $vorlage);
+ HTML_sportsmanager_admin::adminEditIndividualwettbewerb($row, $veranstalter, $kategorien, $saisons, $users, $berechtigt_fuer_individualwettbewerb, $vorlage);
}
-function adminSaveIndividualwettbewerb() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveIndividualwettbewerb(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("individualwettbewerbe_aendern"))
- keinZugriff();
+ if (!benutzerZugriff("individualwettbewerbe_aendern"))
+ keinZugriff();
- $id = $jinput->get('id', 0, 'INT');
- $vorlage = $jinput->get('vorlage', 0, 'INT');
- $veranstalterid = $jinput->get('veranstalterid', 0, 'INT');
- $bezeichnung = $db->escape(trim($jinput->get('bezeichnung', '', 'RAW')));
- $saison_id = $jinput->get('saison_id', 0, 'INT');
- $saetze = $jinput->get('saetze', 0, 'INT');
- $tore = $jinput->get('tore', 0, 'INT');
- $tabellenwertung = $jinput->get('tabellenwertung', 0, 'INT');
- $elo_wertung = $jinput->get('elo_wertung', 0, 'INT');
- $status = $jinput->get('status', 0, 'INT');
- $reihenfolge = $jinput->get('reihenfolge', 0, 'INT');
- $kategorie = $jinput->get('kategorie', 0, 'INT');
- $berechtigt_fuer_individualwettbewerb_user_ids = array();
- for ($i = 1; $i <= 6; $i++) {
- $berechtigt_user_id = $jinput->get('berechtigt_fuer_individualwettbewerb_user_' . $i . '_id', 0, 'INT');
- if (!empty($berechtigt_user_id) && !in_array($berechtigt_user_id, $berechtigt_fuer_individualwettbewerb_user_ids))
- array_push($berechtigt_fuer_individualwettbewerb_user_ids, $berechtigt_user_id);
- }
+ $id = $jInput->get('id', 0, 'INT');
+ $vorlage = $jInput->get('vorlage', 0, 'INT');
+ $veranstalterId = $jInput->get('veranstalterid', 0, 'INT');
+ $bezeichnung = $db->escape(trim($jInput->get('bezeichnung', '', 'RAW')));
+ $saison_id = $jInput->get('saison_id', 0, 'INT');
+ $saetze = $jInput->get('saetze', 0, 'INT');
+ $tore = $jInput->get('tore', 0, 'INT');
+ $tabellenwertung = $jInput->get('tabellenwertung', 0, 'INT');
+ $elo_wertung = $jInput->get('elo_wertung', 0, 'INT');
+ $status = $jInput->get('status', 0, 'INT');
+ $reihenfolge = $jInput->get('reihenfolge', 0, 'INT');
+ $kategorie = $jInput->get('kategorie', 0, 'INT');
+ $berechtigt_fuer_individualwettbewerb_user_ids = array();
+ for ($i = 1; $i <= 6; $i++) {
+ $berechtigt_user_id = $jInput->get('berechtigt_fuer_individualwettbewerb_user_' . $i . '_id', 0, 'INT');
+ if (!empty($berechtigt_user_id) && !in_array($berechtigt_user_id, $berechtigt_fuer_individualwettbewerb_user_ids))
+ $berechtigt_fuer_individualwettbewerb_user_ids[] = $berechtigt_user_id;
+ }
- $elo_aktualisieren = false;
- if ($vorlage) {
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_platzierung WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $elo_aktualisieren = false;
+ if ($vorlage) {
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_platzierung WHERE individualwettbewerb_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $query = "INSERT #__sportsmanager_individualwettbewerb"
- . "\n SET veranstalter_id = '$veranstalterid',"
- . "\n bezeichnung = '$bezeichnung',"
- . "\n saison_id = '$saison_id',"
- . "\n saetze = " . ($saetze != 0 ? "'$saetze'" : "null") . ","
- . "\n tore = " . ($tore != 0 ? "'$tore'" : "null") . ","
- . "\n tabellenwertung = '$tabellenwertung',"
- . "\n elo_wertung = '$elo_wertung',"
- . "\n status = '$status',"
- . "\n reihenfolge = '$reihenfolge',"
- . "\n kategorie = '$kategorie'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
+ $query = "INSERT #__sportsmanager_individualwettbewerb"
+ . "\n SET veranstalter_id = '$veranstalterId',"
+ . "\n bezeichnung = '$bezeichnung',"
+ . "\n saison_id = '$saison_id',"
+ . "\n saetze = " . ($saetze != 0 ? "'$saetze'" : "null") . ","
+ . "\n tore = " . ($tore != 0 ? "'$tore'" : "null") . ","
+ . "\n tabellenwertung = '$tabellenwertung',"
+ . "\n elo_wertung = '$elo_wertung',"
+ . "\n status = '$status',"
+ . "\n reihenfolge = '$reihenfolge',"
+ . "\n kategorie = '$kategorie'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
- foreach ($rows as $row) {
- $query = "INSERT #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n SET individualwettbewerb_id = '$id',"
- . "\n spieler_id = '" . $row->spieler_id . "',"
- . "\n platz = '" . $row->platz . "'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else if ($id == 0) {
- $query = "INSERT #__sportsmanager_individualwettbewerb"
- . "\n SET veranstalter_id = '$veranstalterid',"
- . "\n bezeichnung = '$bezeichnung',"
- . "\n saison_id = '$saison_id',"
- . "\n saetze = " . ($saetze != 0 ? "'$saetze'" : "null") . ","
- . "\n tore = " . ($tore != 0 ? "'$tore'" : "null") . ","
- . "\n tabellenwertung = '$tabellenwertung',"
- . "\n elo_wertung = '$elo_wertung',"
- . "\n status = '$status',"
- . "\n reihenfolge = '$reihenfolge',"
- . "\n kategorie = '$kategorie'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- redirectSportsManagerURL('&task=admin_uebersicht', "Der Individualwettbewerb existiert nicht mehr!");
+ foreach ($rows as $row) {
+ $query = "INSERT #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n SET individualwettbewerb_id = '$id',"
+ . "\n spieler_id = '" . $row->spieler_id . "',"
+ . "\n platz = '" . $row->platz . "'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else if ($id == 0) {
+ $query = "INSERT #__sportsmanager_individualwettbewerb"
+ . "\n SET veranstalter_id = '$veranstalterId',"
+ . "\n bezeichnung = '$bezeichnung',"
+ . "\n saison_id = '$saison_id',"
+ . "\n saetze = " . ($saetze != 0 ? "'$saetze'" : "null") . ","
+ . "\n tore = " . ($tore != 0 ? "'$tore'" : "null") . ","
+ . "\n tabellenwertung = '$tabellenwertung',"
+ . "\n elo_wertung = '$elo_wertung',"
+ . "\n status = '$status',"
+ . "\n reihenfolge = '$reihenfolge',"
+ . "\n kategorie = '$kategorie'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ redirectSportsManagerURL('&task=admin_uebersicht', "Der Individualwettbewerb existiert nicht mehr!");
+ }
+ $row = $rows[0];
- return;
- }
- $row = $rows[0];
+ $query = "UPDATE #__sportsmanager_individualwettbewerb"
+ . "\n SET veranstalter_id = '$veranstalterId',"
+ . "\n bezeichnung = '$bezeichnung',"
+ . "\n saison_id = '$saison_id',"
+ . "\n saetze = " . ($saetze != 0 ? "'$saetze'" : "null") . ","
+ . "\n tore = " . ($tore != 0 ? "'$tore'" : "null") . ","
+ . "\n tabellenwertung = '$tabellenwertung',"
+ . "\n elo_wertung = '$elo_wertung',"
+ . "\n status = '$status',"
+ . "\n reihenfolge = '$reihenfolge',"
+ . "\n kategorie = '$kategorie'"
+ . "\n WHERE individualwettbewerb_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "UPDATE #__sportsmanager_individualwettbewerb"
- . "\n SET veranstalter_id = '$veranstalterid',"
- . "\n bezeichnung = '$bezeichnung',"
- . "\n saison_id = '$saison_id',"
- . "\n saetze = " . ($saetze != 0 ? "'$saetze'" : "null") . ","
- . "\n tore = " . ($tore != 0 ? "'$tore'" : "null") . ","
- . "\n tabellenwertung = '$tabellenwertung',"
- . "\n elo_wertung = '$elo_wertung',"
- . "\n status = '$status',"
- . "\n reihenfolge = '$reihenfolge',"
- . "\n kategorie = '$kategorie'"
- . "\n WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ if (($elo_wertung != 0 && $status != 0) != ($row->elo_wertung != 0 && $row->status != 0))
+ $elo_aktualisieren = true;
+ }
- if (($elo_wertung != 0 && $status != 0) != ($row->elo_wertung != 0 && $row->status != 0))
- $elo_aktualisieren = true;
- }
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb WHERE berechtigt_individualwettbewerb_id = $id";
+ if (!empty($berechtigt_fuer_individualwettbewerb_user_ids))
+ $query .= " AND berechtigt_user_id NOT IN (" . implode(", ", $berechtigt_fuer_individualwettbewerb_user_ids) . ")";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb WHERE berechtigt_individualwettbewerb_id = $id";
- if (!empty($berechtigt_fuer_individualwettbewerb_user_ids))
- $query .= " AND berechtigt_user_id NOT IN (" . implode($berechtigt_fuer_individualwettbewerb_user_ids, ", ") . ")";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb WHERE berechtigt_individualwettbewerb_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
- $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb WHERE berechtigt_individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ foreach ($rows as $row) {
+ $index = array_search($row->berechtigt_user_id, $berechtigt_fuer_individualwettbewerb_user_ids);
+ if ($index !== false) {
+ unset($berechtigt_fuer_individualwettbewerb_user_ids[$index]);
+ }
+ }
- foreach ($rows as $row) {
- $index = array_search($row->berechtigt_user_id, $berechtigt_fuer_individualwettbewerb_user_ids);
- if ($index !== false) {
- unset($berechtigt_fuer_individualwettbewerb_user_ids[$index]);
- }
- }
+ foreach ($berechtigt_fuer_individualwettbewerb_user_ids as $berechtigt_user_id) {
+ $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_individualwettbewerb (berechtigt_user_id, berechtigt_individualwettbewerb_id) VALUES ('$berechtigt_user_id', '$id');";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- foreach ($berechtigt_fuer_individualwettbewerb_user_ids as $berechtigt_user_id) {
- $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_individualwettbewerb (berechtigt_user_id, berechtigt_individualwettbewerb_id) VALUES ('$berechtigt_user_id', '$id');";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $query = "SELECT DATE(MIN(zeitpunkt)) FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $aktualisieren_ab_datum = $db->loadResult();
- $query = "SELECT DATE(MIN(zeitpunkt)) FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $aktualisieren_ab_datum = $db->loadResult();
+ if ($elo_aktualisieren && $aktualisieren_ab_datum != null) {
+ eloAktualisieren($aktualisieren_ab_datum);
+ einstufungAktualisieren();
+ }
- if ($elo_aktualisieren && $aktualisieren_ab_datum != null) {
- eloAktualisieren($aktualisieren_ab_datum);
- einstufungAktualisieren();
- }
+ individualwettbewerbTabelleAktualisieren($id);
+ spielerstatistikAktualisieren(0, 0, $id);
- individualwettbewerbTabelleAktualisieren($id);
- spielerstatistikAktualisieren(0, 0, $id);
-
- redirectSportsManagerURL('&task=admin_uebersicht');
+ redirectSportsManagerURL('&task=admin_uebersicht');
}
-function individualwettbewerbTabelleAktualisieren($id = null) {
- $db = getDatabase();
+function individualwettbewerbTabelleAktualisieren($id = null): void
+{
+ $db = getDatabase();
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb";
- if (!empty($id))
- $query .= "\n WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $individualwettbewerbe = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb";
+ if (!empty($id))
+ $query .= "\n WHERE individualwettbewerb_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $individualwettbewerbe = $db->loadObjectList();
- foreach ($individualwettbewerbe as $individualwettbewerb) {
- $individualwettbewerb_id = $individualwettbewerb->individualwettbewerb_id;
- if ($individualwettbewerb->tabellenwertung == 0) {
- $query = "DELETE FROM #__sportsmanager_individualwettbewerb_platzierung WHERE individualwettbewerb_id = $individualwettbewerb_id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ foreach ($individualwettbewerbe as $individualwettbewerb) {
+ $individualwettbewerb_id = $individualwettbewerb->individualwettbewerb_id;
+ if ($individualwettbewerb->tabellenwertung == 0) {
+ $query = "DELETE FROM #__sportsmanager_individualwettbewerb_platzierung WHERE individualwettbewerb_id = $individualwettbewerb_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- continue;
- }
+ continue;
+ }
- $query = "SELECT heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, ergebnis FROM #__sportsmanager_individualwettbewerb_spiel"
- . "\n WHERE individualwettbewerb_id = $individualwettbewerb_id"
- . "\n ORDER BY zeitpunkt, individualwettbewerb_spiel_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
+ $query = "SELECT heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, ergebnis FROM #__sportsmanager_individualwettbewerb_spiel"
+ . "\n WHERE individualwettbewerb_id = $individualwettbewerb_id"
+ . "\n ORDER BY zeitpunkt, individualwettbewerb_spiel_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spiele = $db->loadObjectList();
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n WHERE individualwettbewerb_id = $individualwettbewerb_id"
- . "\n ORDER BY platz";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ausgangsplatzierungen = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n WHERE individualwettbewerb_id = $individualwettbewerb_id"
+ . "\n ORDER BY platz";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ausgangsplatzierungen = $db->loadObjectList();
- $platzierungen = array();
- foreach ($ausgangsplatzierungen as $ausgangsplatzierung)
- array_push($platzierungen, $ausgangsplatzierung->spieler_id);
+ $platzierungen = array();
+ foreach ($ausgangsplatzierungen as $ausgangsplatzierung)
+ $platzierungen[] = $ausgangsplatzierung->spieler_id;
- foreach ($spiele as $spiel) {
- if ($spiel->ergebnis == 0)
- continue;
- if ($spiel->heim_spieler_2_id != null) // Bis auf Weiteres keine Doppelspiele für Tabelle berücksichtigen
- continue;
- $sieger_spieler_id = $spiel->ergebnis == 1 ? $spiel->heim_spieler_1_id : $spiel->gast_spieler_1_id;
- $verlierer_spieler_id = $spiel->ergebnis != 1 ? $spiel->heim_spieler_1_id : $spiel->gast_spieler_1_id;
+ foreach ($spiele as $spiel) {
+ if ($spiel->ergebnis == 0)
+ continue;
+ if ($spiel->heim_spieler_2_id != null) // Bis auf Weiteres keine Doppelspiele für Tabelle berücksichtigen
+ continue;
+ $sieger_spieler_id = $spiel->ergebnis == 1 ? $spiel->heim_spieler_1_id : $spiel->gast_spieler_1_id;
+ $verlierer_spieler_id = $spiel->ergebnis != 1 ? $spiel->heim_spieler_1_id : $spiel->gast_spieler_1_id;
- if (!in_array($verlierer_spieler_id, $platzierungen))
- array_push($platzierungen, $verlierer_spieler_id);
+ if (!in_array($verlierer_spieler_id, $platzierungen))
+ $platzierungen[] = $verlierer_spieler_id;
- $sieger_platzierung = array_search($sieger_spieler_id, $platzierungen);
- $verlierer_platzierung = array_search($verlierer_spieler_id, $platzierungen);
- if ($sieger_platzierung !== false) {
- if ($sieger_platzierung < $verlierer_platzierung)
- continue;
- array_splice($platzierungen, $sieger_platzierung, 1);
- }
- array_splice($platzierungen, $verlierer_platzierung, 0, $sieger_spieler_id);
- }
+ $sieger_platzierung = array_search($sieger_spieler_id, $platzierungen);
+ $verlierer_platzierung = array_search($verlierer_spieler_id, $platzierungen);
+ if ($sieger_platzierung !== false) {
+ if ($sieger_platzierung < $verlierer_platzierung)
+ continue;
+ array_splice($platzierungen, $sieger_platzierung, 1);
+ }
+ array_splice($platzierungen, $verlierer_platzierung, 0, $sieger_spieler_id);
+ }
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_platzierung"
- . "\n WHERE individualwettbewerb_id = $individualwettbewerb_id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $platzierungen_vorhanden = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_platzierung"
+ . "\n WHERE individualwettbewerb_id = $individualwettbewerb_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $platzierungen_vorhanden = $db->loadObjectList();
- $platzierungen_uebrig = $platzierungen;
- foreach ($platzierungen_vorhanden as $platzierung_vorhanden) {
- $index = array_search($platzierung_vorhanden->spieler_id, $platzierungen);
- if ($index !== false) {
- $platz = $index + 1;
- if ($platzierung_vorhanden->platz != $platz) {
- $query = "UPDATE #__sportsmanager_individualwettbewerb_platzierung"
- . "\n SET platz = '$platz'"
- . "\n WHERE individualwettbewerb_platzierung_id = " . $platzierung_vorhanden->individualwettbewerb_platzierung_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ $platzierungen_uebrig = $platzierungen;
+ foreach ($platzierungen_vorhanden as $platzierung_vorhanden) {
+ $index = array_search($platzierung_vorhanden->spieler_id, $platzierungen);
+ if ($index !== false) {
+ $platz = $index + 1;
+ if ($platzierung_vorhanden->platz != $platz) {
+ $query = "UPDATE #__sportsmanager_individualwettbewerb_platzierung"
+ . "\n SET platz = '$platz'"
+ . "\n WHERE individualwettbewerb_platzierung_id = " . $platzierung_vorhanden->individualwettbewerb_platzierung_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $index_uebrig = array_search($platzierung_vorhanden->spieler_id, $platzierungen_uebrig);
- unset($platzierungen_uebrig[$index_uebrig]);
- }
- else {
- $query = "DELETE FROM #__sportsmanager_individualwettbewerb_platzierung WHERE individualwettbewerb_platzierung_id = " . $platzierung_vorhanden->individualwettbewerb_platzierung_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
+ $index_uebrig = array_search($platzierung_vorhanden->spieler_id, $platzierungen_uebrig);
+ unset($platzierungen_uebrig[$index_uebrig]);
+ } else {
+ $query = "DELETE FROM #__sportsmanager_individualwettbewerb_platzierung WHERE individualwettbewerb_platzierung_id = " . $platzierung_vorhanden->individualwettbewerb_platzierung_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- foreach ($platzierungen_uebrig as $platzierung_uebrig) {
- $index = array_search($platzierung_uebrig, $platzierungen);
- $platz = $index + 1;
- $query = "INSERT #__sportsmanager_individualwettbewerb_platzierung"
- . "\n SET individualwettbewerb_id = '$individualwettbewerb_id',"
- . "\n spieler_id = '$platzierung_uebrig',"
- . "\n platz = '$platz'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
+ foreach ($platzierungen_uebrig as $platzierung_uebrig) {
+ $index = array_search($platzierung_uebrig, $platzierungen);
+ $platz = $index + 1;
+ $query = "INSERT #__sportsmanager_individualwettbewerb_platzierung"
+ . "\n SET individualwettbewerb_id = '$individualwettbewerb_id',"
+ . "\n spieler_id = '$platzierung_uebrig',"
+ . "\n platz = '$platz'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
}
-function adminRemoveIndividualwettbewerb() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveIndividualwettbewerb(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("individualwettbewerbe_aendern"))
- keinZugriff(true);
+ if (!benutzerZugriff("individualwettbewerbe_aendern"))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) {
- redirectSportsManagerURL('&task=admin_uebersicht', "Der Individualwettbewerb existiert nicht mehr!");
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) {
+ redirectSportsManagerURL('&task=admin_uebersicht', "Der Individualwettbewerb existiert nicht mehr!");
+ }
+ $row = $rows[0];
- return;
- }
- $row = $rows[0];
+ $query = "SELECT DATE(MIN(zeitpunkt)) FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $aktualisieren_ab_datum = $db->loadResult();
- $query = "SELECT DATE(MIN(zeitpunkt)) FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $aktualisieren_ab_datum = $db->loadResult();
+ $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb WHERE berechtigt_individualwettbewerb_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb WHERE berechtigt_individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_individualwettbewerb_platzierung WHERE individualwettbewerb_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_individualwettbewerb_platzierung WHERE individualwettbewerb_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE individualwettbewerb_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE individualwettbewerb_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- $query = "DELETE FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ if ($row->elo_wertung && $aktualisieren_ab_datum != null) {
+ wannGespieltAktualisieren();
+ eloAktualisieren($aktualisieren_ab_datum);
+ einstufungAktualisieren();
+ }
+ spielerstatistikAktualisieren(0, 0, $id);
- if ($row->elo_wertung && $aktualisieren_ab_datum != null) {
- wannGespieltAktualisieren();
- eloAktualisieren($aktualisieren_ab_datum);
- einstufungAktualisieren();
- }
- spielerstatistikAktualisieren(0, 0, $id);
-
- redirectSportsManagerURL('&task=admin_uebersicht');
+ redirectSportsManagerURL('&task=admin_uebersicht');
}
-function adminIndividualwettbewerbSpiele() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminIndividualwettbewerbSpiele(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $individualwettbewerbid = $jinput->get('individualwettbewerbid', 0, 'INT');
- if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator())
- keinZugriff(true);
+ $individualwettbewerbId = $jInput->get('individualwettbewerbid', 0, 'INT');
+ if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator())
+ keinZugriff(true);
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
- if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbid))
- keinZugriff(true);
+ if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbId))
+ keinZugriff(true);
- $query = "SELECT *,"
- . " theim1.vorname AS heim_spieler_1_vorname, theim1.nachname AS heim_spieler_1_nachname,"
- . " theim2.vorname AS heim_spieler_2_vorname, theim2.nachname AS heim_spieler_2_nachname,"
- . " tgast1.vorname AS gast_spieler_1_vorname, tgast1.nachname AS gast_spieler_1_nachname,"
- . " tgast2.vorname AS gast_spieler_2_vorname, tgast2.nachname AS gast_spieler_2_nachname"
- . "\n FROM #__sportsmanager_individualwettbewerb_spiel"
- . "\n LEFT JOIN #__sportsmanager_spieler AS theim1 ON theim1.spieler_id = heim_spieler_1_id"
- . "\n LEFT JOIN #__sportsmanager_spieler AS theim2 ON theim2.spieler_id = heim_spieler_2_id"
- . "\n LEFT JOIN #__sportsmanager_spieler AS tgast1 ON tgast1.spieler_id = gast_spieler_1_id"
- . "\n LEFT JOIN #__sportsmanager_spieler AS tgast2 ON tgast2.spieler_id = gast_spieler_2_id"
- . "\n WHERE individualwettbewerb_id = $individualwettbewerbid"
- . "\n ORDER BY zeitpunkt DESC, individualwettbewerb_spiel_id DESC";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
+ $query = "SELECT *,"
+ . " theim1.vorname AS heim_spieler_1_vorname, theim1.nachname AS heim_spieler_1_nachname,"
+ . " theim2.vorname AS heim_spieler_2_vorname, theim2.nachname AS heim_spieler_2_nachname,"
+ . " tgast1.vorname AS gast_spieler_1_vorname, tgast1.nachname AS gast_spieler_1_nachname,"
+ . " tgast2.vorname AS gast_spieler_2_vorname, tgast2.nachname AS gast_spieler_2_nachname"
+ . "\n FROM #__sportsmanager_individualwettbewerb_spiel"
+ . "\n LEFT JOIN #__sportsmanager_spieler AS theim1 ON theim1.spieler_id = heim_spieler_1_id"
+ . "\n LEFT JOIN #__sportsmanager_spieler AS theim2 ON theim2.spieler_id = heim_spieler_2_id"
+ . "\n LEFT JOIN #__sportsmanager_spieler AS tgast1 ON tgast1.spieler_id = gast_spieler_1_id"
+ . "\n LEFT JOIN #__sportsmanager_spieler AS tgast2 ON tgast2.spieler_id = gast_spieler_2_id"
+ . "\n WHERE individualwettbewerb_id = $individualwettbewerbId"
+ . "\n ORDER BY zeitpunkt DESC, individualwettbewerb_spiel_id DESC";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spiele = $db->loadObjectList();
- if ($row->tabellenwertung) {
- $query = "SELECT spieler_id, nachname, vorname, vereinsname, aktueller_verein_id, platz, bild_ausblenden"
- . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n INNER JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
- . "\n WHERE individualwettbewerb_id = $individualwettbewerbid"
- . "\n ORDER BY platz, nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ausgangsplatzierungen = $db->loadObjectList();
- }
- else {
- $ausgangsplatzierungen = null;
- }
+ if ($row->tabellenwertung) {
+ $query = "SELECT spieler_id, nachname, vorname, vereinsname, aktueller_verein_id, platz, bild_ausblenden"
+ . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n INNER JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
+ . "\n WHERE individualwettbewerb_id = $individualwettbewerbId"
+ . "\n ORDER BY platz, nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ausgangsplatzierungen = $db->loadObjectList();
+ } else {
+ $ausgangsplatzierungen = null;
+ }
- HTML_sportsmanager_admin::adminIndividualwettbewerbSpiele($row, $spiele, $ausgangsplatzierungen);
+ HTML_sportsmanager_admin::adminIndividualwettbewerbSpiele($row, $spiele, $ausgangsplatzierungen);
}
-function adminEditIndividualwettbewerbSpiel() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditIndividualwettbewerbSpiel(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator())
- keinZugriff(true);
+ if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator())
+ keinZugriff(true);
- $individualwettbewerbid = $jinput->get('individualwettbewerbid', 0, 'INT');
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $individualwettbewerb = $rows[0];
+ $individualwettbewerbId = $jInput->get('individualwettbewerbid', 0, 'INT');
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $individualwettbewerb = $rows[0];
- if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbid))
- keinZugriff(true);
+ if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbId))
+ keinZugriff(true);
- $id = $jinput->get('id', 0, 'INT');
- $typ = $jinput->get('typ', 0, 'RAW');
+ $id = $jInput->get('id', 0, 'INT');
+ $typ = $jInput->get('typ', 0, 'RAW');
- if (empty($id)) {
- $row = null;
- $spiel_spieler_ids = null;
- }
- else {
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $row = $rows[0];
+ if (empty($id)) {
+ $row = null;
+ $spiel_spieler_ids = null;
+ } else {
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $row = $rows[0];
- $spiel_spieler_ids = array($row->heim_spieler_1_id, $row->gast_spieler_1_id);
- if ($row->heim_spieler_2_id != null)
- array_push($spiel_spieler_ids, $row->heim_spieler_2_id, $row->gast_spieler_2_id);
- $typ = $row->heim_spieler_2_id != null ? "doppel" : "einzel";
- }
+ $spiel_spieler_ids = array($row->heim_spieler_1_id, $row->gast_spieler_1_id);
+ if ($row->heim_spieler_2_id != null)
+ array_push($spiel_spieler_ids, $row->heim_spieler_2_id, $row->gast_spieler_2_id);
+ $typ = $row->heim_spieler_2_id != null ? "doppel" : "einzel";
+ }
- $query = "SELECT DISTINCT spieler_id, vorname, nachname, spielernr"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE NOT ISNULL(aktueller_verein_id)" . (!empty($spiel_spieler_ids) ? (" OR spieler_id IN (" . implode($spiel_spieler_ids, ", ") . ")") : "")
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
+ $query = "SELECT DISTINCT spieler_id, vorname, nachname, spielernr"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE NOT ISNULL(aktueller_verein_id)" . (!empty($spiel_spieler_ids) ? (" OR spieler_id IN (" . implode(", ", $spiel_spieler_ids) . ")") : "")
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler = $db->loadObjectList();
- HTML_sportsmanager_admin::adminEditIndividualwettbewerbSpiel($row, $typ, $individualwettbewerb, $spieler);
+ HTML_sportsmanager_admin::adminEditIndividualwettbewerbSpiel($row, $typ, $individualwettbewerb, $spieler);
}
-function adminSaveIndividualwettbewerbSpiel() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveIndividualwettbewerbSpiel(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $individualwettbewerbid = $jinput->get('individualwettbewerbid', 0, 'INT');
- if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbid))
- keinZugriff();
+ $individualwettbewerbId = $jInput->get('individualwettbewerbid', 0, 'INT');
+ if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbId))
+ keinZugriff();
- $id = $jinput->get('id', 0, 'INT');
- $typ = $jinput->get('typ', 0, 'RAW');
+ $id = $jInput->get('id', 0, 'INT');
+ $typ = $jInput->get('typ', 0, 'RAW');
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbid . '#sid' . $id);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbId . '#sid' . $id);
+ }
- return;
- }
+ $datum = normalisiertesDatum($jInput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jInput->get('datum_jahr', 0, 'INT'), $jInput->get('datum_monat', 0, 'INT'), $jInput->get('datum_tag', 0, 'INT')));
+ $uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jInput->get('uhrzeit_stunden', 0, 'INT'), $jInput->get('uhrzeit_minuten', 0, 'INT')));
+ $zeitpunkt = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit);
- $datum = normalisiertesDatum($jinput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jinput->get('datum_jahr', 0, 'INT'), $jinput->get('datum_monat', 0, 'INT'), $jinput->get('datum_tag', 0, 'INT')));
- $uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jinput->get('uhrzeit_stunden', 0, 'INT'), $jinput->get('uhrzeit_minuten', 0, 'INT')));
- $zeitpunkt = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit);
+ if ($zeitpunkt == null) {
+ redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbId . '#sid' . $id, "Es muss ein gültiges Datum angegeben werden.");
+ }
- if ($zeitpunkt == null) {
- redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbid . '#sid' . id, "Es muss ein gültiges Datum angegeben werden.");
+ $ergebnis_punkte_heim = $jInput->get('ergebnis_punkte_heim', array(), 'ARRAY');
+ $ergebnis_punkte_gast = $jInput->get('ergebnis_punkte_gast', array(), 'ARRAY');
- return;
- }
+ $ergebnis_detailliert = "";
+ $saetze_heim = 0;
+ $saetze_gast = 0;
+ for ($i = 0; $i < count($ergebnis_punkte_heim); $i++) {
+ if (($ergebnis_punkte_heim[$i] == 0 || empty($ergebnis_punkte_heim[$i])) && ($ergebnis_punkte_gast[$i] == 0 || empty($ergebnis_punkte_gast[$i])))
+ continue;
+ if (!empty($ergebnis_detailliert))
+ $ergebnis_detailliert .= " ";
+ $punkte_heim = empty($ergebnis_punkte_heim[$i]) ? "0" : $ergebnis_punkte_heim[$i];
+ $punkte_gast = empty($ergebnis_punkte_gast[$i]) ? "0" : $ergebnis_punkte_gast[$i];
+ if ($punkte_heim > $punkte_gast)
+ $saetze_heim++;
+ else if ($punkte_gast > $punkte_heim)
+ $saetze_gast++;
+ $ergebnis_detailliert .= $punkte_heim . ":" . $punkte_gast;
+ }
+ $ergebnis = $saetze_heim > $saetze_gast ? 1 : ($saetze_heim < $saetze_gast ? 2 : 0);
- $ergebnis_punkte_heim = $jinput->get('ergebnis_punkte_heim', array(), 'ARRAY');
- $ergebnis_punkte_gast = $jinput->get('ergebnis_punkte_gast', array(), 'ARRAY');
+ $heim_spieler_1_id = $jInput->get('heim_spieler_1_id', 0, 'INT');
+ $heim_spieler_2_id = $jInput->get('heim_spieler_2_id', 0, 'INT');
+ $gast_spieler_1_id = $jInput->get('gast_spieler_1_id', 0, 'INT');
+ $gast_spieler_2_id = $jInput->get('gast_spieler_2_id', 0, 'INT');
- $ergebnis_detailliert = "";
- $saetze_heim = 0;
- $saetze_gast = 0;
- for ($i = 0; $i < count($ergebnis_punkte_heim); $i++) {
- if (($ergebnis_punkte_heim[$i] == 0 || empty($ergebnis_punkte_heim[$i])) && ($ergebnis_punkte_gast[$i] == 0 || empty($ergebnis_punkte_gast[$i])))
- continue;
- if (!empty($ergebnis_detailliert))
- $ergebnis_detailliert .= " ";
- $punkte_heim = empty($ergebnis_punkte_heim[$i]) ? "0" : $ergebnis_punkte_heim[$i];
- $punkte_gast = empty($ergebnis_punkte_gast[$i]) ? "0" : $ergebnis_punkte_gast[$i];
- if ($punkte_heim > $punkte_gast)
- $saetze_heim++;
- else if ($punkte_gast > $punkte_heim)
- $saetze_gast++;
- $ergebnis_detailliert .= $punkte_heim . ":" . $punkte_gast;
- }
- $ergebnis = $saetze_heim > $saetze_gast ? 1 : ($saetze_heim < $saetze_gast ? 2 : 0);
+ if (!empty($id)) {
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $spiel = $rows[0];
- $heim_spieler_1_id = $jinput->get('heim_spieler_1_id', 0, 'INT');
- $heim_spieler_2_id = $jinput->get('heim_spieler_2_id', 0, 'INT');
- $gast_spieler_1_id = $jinput->get('gast_spieler_1_id', 0, 'INT');
- $gast_spieler_2_id = $jinput->get('gast_spieler_2_id', 0, 'INT');
+ $typ = $spiel->heim_spieler_2_id != null ? "doppel" : "einzel";
+ }
- if (empty($id))
- $spiel = null;
- else {
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $spiel = $rows[0];
+ if (empty($heim_spieler_1_id) || empty($gast_spieler_1_id) || ($typ != "einzel" && (empty($heim_spieler_2_id) || empty($gast_spieler_2_id)))) {
+ redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbId . '#sid' . $id, "Es müssen Spieler ausgewählt werden.");
+ }
- $typ = $spiel->heim_spieler_2_id != null ? "doppel" : "einzel";
- }
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $individualwettbewerb = $rows[0];
- if (empty($heim_spieler_1_id) || empty($gast_spieler_1_id) || ($typ != "einzel" && (empty($heim_spieler_2_id) || empty($gast_spieler_2_id)))) {
- redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbid . '#sid' . id, "Es müssen Spieler ausgewählt werden.");
+ $elo_aktualisieren = $individualwettbewerb->elo_wertung;
+ $aktualisieren_ab_datum = $zeitpunkt;
- return;
- }
+ if ($id == 0) {
+ $query = "INSERT #__sportsmanager_individualwettbewerb_spiel"
+ . "\n SET individualwettbewerb_id = $individualwettbewerbId,"
+ . "\n zeitpunkt = '$zeitpunkt',"
+ . "\n heim_spieler_1_id = '$heim_spieler_1_id',"
+ . "\n heim_spieler_2_id = " . ($typ != "einzel" ? "'$heim_spieler_2_id'" : "NULL") . ","
+ . "\n gast_spieler_1_id = '$gast_spieler_1_id',"
+ . "\n gast_spieler_2_id = " . ($typ != "einzel" ? "'$gast_spieler_2_id'" : "NULL") . ","
+ . "\n ergebnis = '$ergebnis',"
+ . "\n ergebnis_detailliert = " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'");
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $id = $db->insertid();
+ } else {
+ $query = "UPDATE #__sportsmanager_individualwettbewerb_spiel"
+ . "\n SET zeitpunkt = '$zeitpunkt',"
+ . "\n heim_spieler_1_id = '$heim_spieler_1_id',"
+ . "\n heim_spieler_2_id = " . ($typ != "einzel" ? "'$heim_spieler_2_id'" : "NULL") . ","
+ . "\n gast_spieler_1_id = '$gast_spieler_1_id',"
+ . "\n gast_spieler_2_id = " . ($typ != "einzel" ? "'$gast_spieler_2_id'" : "NULL") . ","
+ . "\n ergebnis = '$ergebnis',"
+ . "\n ergebnis_detailliert = " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'")
+ . "\n WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $individualwettbewerb = $rows[0];
+ individualwettbewerbTabelleAktualisieren($individualwettbewerbId);
- $elo_aktualisieren = $individualwettbewerb->elo_wertung;
- $aktualisieren_ab_datum = $zeitpunkt;
+ if ($elo_aktualisieren) {
+ wannGespieltAktualisieren();
+ eloAktualisieren($aktualisieren_ab_datum);
+ einstufungAktualisieren();
+ }
+ spielerstatistikAktualisieren(0, 0, $individualwettbewerbId);
- if ($id == 0) {
- $query = "INSERT #__sportsmanager_individualwettbewerb_spiel"
- . "\n SET individualwettbewerb_id = $individualwettbewerbid,"
- . "\n zeitpunkt = '$zeitpunkt',"
- . "\n heim_spieler_1_id = '$heim_spieler_1_id',"
- . "\n heim_spieler_2_id = " . ($typ != "einzel" ? "'$heim_spieler_2_id'" : "NULL") . ","
- . "\n gast_spieler_1_id = '$gast_spieler_1_id',"
- . "\n gast_spieler_2_id = " . ($typ != "einzel" ? "'$gast_spieler_2_id'" : "NULL") . ","
- . "\n ergebnis = '$ergebnis',"
- . "\n ergebnis_detailliert = " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'");
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $id = $db->insertid();
- }
- else {
- $query = "UPDATE #__sportsmanager_individualwettbewerb_spiel"
- . "\n SET zeitpunkt = '$zeitpunkt',"
- . "\n heim_spieler_1_id = '$heim_spieler_1_id',"
- . "\n heim_spieler_2_id = " . ($typ != "einzel" ? "'$heim_spieler_2_id'" : "NULL") . ","
- . "\n gast_spieler_1_id = '$gast_spieler_1_id',"
- . "\n gast_spieler_2_id = " . ($typ != "einzel" ? "'$gast_spieler_2_id'" : "NULL") . ","
- . "\n ergebnis = '$ergebnis',"
- . "\n ergebnis_detailliert = " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'")
- . "\n WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- individualwettbewerbTabelleAktualisieren($individualwettbewerbid);
-
- if ($elo_aktualisieren) {
- wannGespieltAktualisieren();
- eloAktualisieren($aktualisieren_ab_datum);
- einstufungAktualisieren();
- }
- spielerstatistikAktualisieren(0, 0, $individualwettbewerbid);
-
- redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbid . '#sid' . $id);
+ redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbId . '#sid' . $id);
}
-function adminRemoveIndividualwettbewerbSpiel() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveIndividualwettbewerbSpiel(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $id = $jinput->get('id', 0, 'INT');
- $individualwettbewerbid = $jinput->get('individualwettbewerbid', 0, 'INT');
- if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbid))
- keinZugriff(true);
+ $id = $jInput->get('id', 0, 'INT');
+ $individualwettbewerbId = $jInput->get('individualwettbewerbid', 0, 'INT');
+ if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbId))
+ keinZugriff(true);
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $individualwettbewerb = $rows[0];
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $individualwettbewerb = $rows[0];
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $spiel = $rows[0];
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $spiel = $rows[0];
- $elo_aktualisieren = $individualwettbewerb->elo_wertung;
- $aktualisieren_ab_datum = $spiel->zeitpunkt;
+ $elo_aktualisieren = $individualwettbewerb->elo_wertung;
+ $aktualisieren_ab_datum = $spiel->zeitpunkt;
- $query = "DELETE FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbid;";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
+ $query = "DELETE FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbId;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
- individualwettbewerbTabelleAktualisieren($individualwettbewerbid);
+ individualwettbewerbTabelleAktualisieren($individualwettbewerbId);
- if ($elo_aktualisieren && $aktualisieren_ab_datum != null) {
- wannGespieltAktualisieren();
- eloAktualisieren($aktualisieren_ab_datum);
- einstufungAktualisieren();
- }
- spielerstatistikAktualisieren(0, 0, $individualwettbewerbid);
+ if ($elo_aktualisieren && $aktualisieren_ab_datum != null) {
+ wannGespieltAktualisieren();
+ eloAktualisieren($aktualisieren_ab_datum);
+ einstufungAktualisieren();
+ }
+ spielerstatistikAktualisieren(0, 0, $individualwettbewerbId);
- redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbid);
+ redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbId);
}
-function adminEditIndividualwettbewerbAusgangsplatzierung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+function adminEditIndividualwettbewerbAusgangsplatzierung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator())
- keinZugriff(true);
+ if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator())
+ keinZugriff(true);
- $individualwettbewerbid = $jinput->get('individualwettbewerbid', 0, 'INT');
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
- $individualwettbewerb = $rows[0];
+ $individualwettbewerbId = $jInput->get('individualwettbewerbid', 0, 'INT');
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
+ $individualwettbewerb = $rows[0];
- if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbid))
- keinZugriff(true);
+ if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbId))
+ keinZugriff(true);
- if (!$individualwettbewerb->tabellenwertung) die("Wrong id!");
+ if (!$individualwettbewerb->tabellenwertung) die("Wrong id!");
- $id = $jinput->get('id', 0, 'INT');
- $typ = $jinput->get('typ', 0, 'RAW');
+ $id = $jInput->get('id', 0, 'INT');
- $query = "SELECT spieler_id, nachname, vorname, vereinsname, aktueller_verein_id, platz, bild_ausblenden"
- . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n INNER JOIN #__sportsmanager_spieler USING (spieler_id)"
- . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
- . "\n WHERE individualwettbewerb_id = $individualwettbewerbid"
- . "\n ORDER BY platz, nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ausgangsplatzierungen = $db->loadObjectList();
+ $query = "SELECT spieler_id, nachname, vorname, vereinsname, aktueller_verein_id, platz, bild_ausblenden"
+ . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n INNER JOIN #__sportsmanager_spieler USING (spieler_id)"
+ . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
+ . "\n WHERE individualwettbewerb_id = $individualwettbewerbId"
+ . "\n ORDER BY platz, nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ausgangsplatzierungen = $db->loadObjectList();
- $row = null;
- if (!empty($id)) {
- foreach ($ausgangsplatzierungen as $ausgangsplatzierung) {
- if ($ausgangsplatzierung->spieler_id == $id) {
- $row = $ausgangsplatzierung;
- break;
- }
- }
- if ($row == null) die("Wrong id!");
- }
+ $row = null;
+ if (!empty($id)) {
+ foreach ($ausgangsplatzierungen as $ausgangsplatzierung) {
+ if ($ausgangsplatzierung->spieler_id == $id) {
+ $row = $ausgangsplatzierung;
+ break;
+ }
+ }
+ if ($row == null) die("Wrong id!");
+ }
- $query = "SELECT DISTINCT spieler_id, vorname, nachname, spielernr"
- . "\n FROM #__sportsmanager_spieler"
- . "\n WHERE NOT ISNULL(aktueller_verein_id)" . (!empty($spiel_spieler_ids) ? (" OR spieler_id IN (" . implode($spiel_spieler_ids, ", ") . ")") : "")
- . "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
+ $query = "SELECT DISTINCT spieler_id, vorname, nachname, spielernr"
+ . "\n FROM #__sportsmanager_spieler"
+ . "\n WHERE NOT ISNULL(aktueller_verein_id)" . (!empty($spiel_spieler_ids) ? (" OR spieler_id IN (" . implode($spiel_spieler_ids, ", ") . ")") : "")
+ . "\n ORDER BY nachname, vorname";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $spieler = $db->loadObjectList();
- HTML_sportsmanager_admin::adminEditIndividualwettbewerbAusgangsplatzierung($row, $individualwettbewerb, $ausgangsplatzierungen, $spieler);
+ HTML_sportsmanager_admin::adminEditIndividualwettbewerbAusgangsplatzierung($row, $individualwettbewerb, $ausgangsplatzierungen, $spieler);
}
-function adminSaveIndividualwettbewerbAusgangsplatzierung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminSaveIndividualwettbewerbAusgangsplatzierung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $individualwettbewerbid = $jinput->get('individualwettbewerbid', 0, 'INT');
- if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbid))
- keinZugriff();
+ $individualwettbewerbId = $jInput->get('individualwettbewerbid', 0, 'INT');
+ if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbId))
+ keinZugriff();
- $id = $jinput->get('id', 0, 'INT');
- $nach_id = $jinput->get('nach_id', 0, 'INT');
+ $id = $jInput->get('id', 0, 'INT');
+ $nach_id = $jInput->get('nach_id', 0, 'INT');
- if ($jinput->get('cancel', false, 'BOOL')) {
- redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbid . '#pid' . $id);
+ if ($jInput->get('cancel', false, 'BOOL')) {
+ redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbId . '#pid' . $id);
+ }
- return;
- }
+ if ($id == $nach_id) {
+ redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbId . '#pid' . $id);
+ }
- if ($id == $nach_id) {
- redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbid . '#pid' . $id);
+ $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
- return;
- }
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n WHERE individualwettbewerb_id = $individualwettbewerbId"
+ . "\n ORDER BY platz";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ausgangsplatzierungen = $db->loadObjectList();
- $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $id";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
+ $platzierungen = array();
+ foreach ($ausgangsplatzierungen as $ausgangsplatzierung)
+ $platzierungen[] = $ausgangsplatzierung->spieler_id;
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n WHERE individualwettbewerb_id = $individualwettbewerbid"
- . "\n ORDER BY platz";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ausgangsplatzierungen = $db->loadObjectList();
+ if (!empty($nach_id) && !in_array($nach_id, $platzierungen)) die("Wrong id!");
- $platzierungen = array();
- foreach ($ausgangsplatzierungen as $ausgangsplatzierung)
- array_push($platzierungen, $ausgangsplatzierung->spieler_id);
+ $id_platzierung = array_search($id, $platzierungen);
+ if ($id_platzierung !== false)
+ array_splice($platzierungen, $id_platzierung, 1);
+ $nach_id_platzierung = !empty($nach_id) ? (array_search($nach_id, $platzierungen) + 1) : 0;
+ array_splice($platzierungen, $nach_id_platzierung, 0, $id);
- if (!empty($nach_id) && !in_array($nach_id, $platzierungen)) die("Wrong id!");
+ $platzierungen_uebrig = $platzierungen;
+ foreach ($ausgangsplatzierungen as $platzierung_vorhanden) {
+ $index = array_search($platzierung_vorhanden->spieler_id, $platzierungen);
+ if ($index !== false) {
+ $platz = $index + 1;
+ if ($platzierung_vorhanden->platz != $platz) {
+ $query = "UPDATE #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n SET platz = '$platz'"
+ . "\n WHERE individualwettbewerb_ausgangsplatzierung_id = " . $platzierung_vorhanden->individualwettbewerb_ausgangsplatzierung_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $id_platzierung = array_search($id, $platzierungen);
- if ($id_platzierung !== false)
- array_splice($platzierungen, $id_platzierung, 1);
- $nach_id_platzierung = !empty($nach_id) ? (array_search($nach_id, $platzierungen) + 1) : 0;
- array_splice($platzierungen, $nach_id_platzierung, 0, $id);
+ $index_uebrig = array_search($platzierung_vorhanden->spieler_id, $platzierungen_uebrig);
+ unset($platzierungen_uebrig[$index_uebrig]);
+ } else {
+ $query = "DELETE FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE individualwettbewerb_ausgangsplatzierung_id = " . $platzierung_vorhanden->individualwettbewerb_ausgangsplatzierung_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- $platzierungen_uebrig = $platzierungen;
- foreach ($ausgangsplatzierungen as $platzierung_vorhanden) {
- $index = array_search($platzierung_vorhanden->spieler_id, $platzierungen);
- if ($index !== false) {
- $platz = $index + 1;
- if ($platzierung_vorhanden->platz != $platz) {
- $query = "UPDATE #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n SET platz = '$platz'"
- . "\n WHERE individualwettbewerb_ausgangsplatzierung_id = " . $platzierung_vorhanden->individualwettbewerb_ausgangsplatzierung_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
+ foreach ($platzierungen_uebrig as $platzierung_uebrig) {
+ $index = array_search($platzierung_uebrig, $platzierungen);
+ $platz = $index + 1;
+ $query = "INSERT #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n SET individualwettbewerb_id = '$individualwettbewerbId',"
+ . "\n spieler_id = '$platzierung_uebrig',"
+ . "\n platz = '$platz'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
- $index_uebrig = array_search($platzierung_vorhanden->spieler_id, $platzierungen_uebrig);
- unset($platzierungen_uebrig[$index_uebrig]);
- }
- else {
- $query = "DELETE FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE individualwettbewerb_ausgangsplatzierung_id = " . $platzierung_vorhanden->individualwettbewerb_ausgangsplatzierung_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
+ individualwettbewerbTabelleAktualisieren($individualwettbewerbId);
- foreach ($platzierungen_uebrig as $platzierung_uebrig) {
- $index = array_search($platzierung_uebrig, $platzierungen);
- $platz = $index + 1;
- $query = "INSERT #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n SET individualwettbewerb_id = '$individualwettbewerbid',"
- . "\n spieler_id = '$platzierung_uebrig',"
- . "\n platz = '$platz'";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
-
- individualwettbewerbTabelleAktualisieren($individualwettbewerbid);
-
- redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbid . '#pid' . $id);
+ redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbId . '#pid' . $id);
}
-function adminRemoveIndividualwettbewerbAusgangsplatzierung() {
- $db = getDatabase();
- $jinput = JFactory::getApplication()->input;
+#[NoReturn] function adminRemoveIndividualwettbewerbAusgangsplatzierung(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
- $id = $jinput->get('id', 0, 'INT');
- $individualwettbewerbid = $jinput->get('individualwettbewerbid', 0, 'INT');
- if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbid))
- keinZugriff(true);
+ $id = $jInput->get('id', 0, 'INT');
+ $individualwettbewerbId = $jInput->get('individualwettbewerbid', 0, 'INT');
+ if (!benutzerZugriff("individualwettbewerbe_aendern") && !benutzerIndividualwettbewerbModerator($individualwettbewerbId))
+ keinZugriff(true);
- $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbid";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
- if (count($rows) < 1) die("Wrong id!");
+ $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $rows = $db->loadObjectList();
+ if (count($rows) < 1) die("Wrong id!");
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n WHERE individualwettbewerb_id = $individualwettbewerbid"
- . "\n ORDER BY platz";
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- $ausgangsplatzierungen = $db->loadObjectList();
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n WHERE individualwettbewerb_id = $individualwettbewerbId"
+ . "\n ORDER BY platz";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ $ausgangsplatzierungen = $db->loadObjectList();
- $platzierungen = array();
- foreach ($ausgangsplatzierungen as $ausgangsplatzierung)
- array_push($platzierungen, $ausgangsplatzierung->spieler_id);
+ $platzierungen = array();
+ foreach ($ausgangsplatzierungen as $ausgangsplatzierung)
+ $platzierungen[] = $ausgangsplatzierung->spieler_id;
- if (!empty($nach_id) && !in_array($nach_id, $platzierungen)) die("Wrong id!");
+ if (!empty($nach_id) && !in_array($nach_id, $platzierungen)) die("Wrong id!");
- $id_platzierung = array_search($id, $platzierungen);
- if ($id_platzierung !== false)
- array_splice($platzierungen, $id_platzierung, 1);
+ $id_platzierung = array_search($id, $platzierungen);
+ if ($id_platzierung !== false)
+ array_splice($platzierungen, $id_platzierung, 1);
- foreach ($ausgangsplatzierungen as $platzierung_vorhanden) {
- $index = array_search($platzierung_vorhanden->spieler_id, $platzierungen);
- if ($index !== false) {
- $platz = $index + 1;
- if ($platzierung_vorhanden->platz != $platz) {
- $query = "UPDATE #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
- . "\n SET platz = '$platz'"
- . "\n WHERE individualwettbewerb_ausgangsplatzierung_id = " . $platzierung_vorhanden->individualwettbewerb_ausgangsplatzierung_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- else {
- $query = "DELETE FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE individualwettbewerb_ausgangsplatzierung_id = " . $platzierung_vorhanden->individualwettbewerb_ausgangsplatzierung_id;
- $db->setQuery($query);
- if (!$result = $db->execute()) {
- die($db->stderr(true));
- }
- }
- }
+ foreach ($ausgangsplatzierungen as $platzierung_vorhanden) {
+ $index = array_search($platzierung_vorhanden->spieler_id, $platzierungen);
+ if ($index !== false) {
+ $platz = $index + 1;
+ if ($platzierung_vorhanden->platz != $platz) {
+ $query = "UPDATE #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
+ . "\n SET platz = '$platz'"
+ . "\n WHERE individualwettbewerb_ausgangsplatzierung_id = " . $platzierung_vorhanden->individualwettbewerb_ausgangsplatzierung_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ } else {
+ $query = "DELETE FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE individualwettbewerb_ausgangsplatzierung_id = " . $platzierung_vorhanden->individualwettbewerb_ausgangsplatzierung_id;
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
- individualwettbewerbTabelleAktualisieren($individualwettbewerbid);
+ individualwettbewerbTabelleAktualisieren($individualwettbewerbId);
- redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbid);
+ redirectSportsManagerURL('&task=admin_individualwettbewerb_spiele&individualwettbewerbid=' . $individualwettbewerbId);
}
-
-
-?>
diff --git a/src/structure/components/com_sportsmanager/api.php b/src/structure/components/com_sportsmanager/api.php
index 270cd9b..003a834 100644
--- a/src/structure/components/com_sportsmanager/api.php
+++ b/src/structure/components/com_sportsmanager/api.php
@@ -2,84 +2,98 @@
/*
* Sports Manager API Extension
*/
+
+use JetBrains\PhpStorm\NoReturn;
+use Joomla\CMS\Application\SiteApplication;
+use Joomla\CMS\Factory;
+use Joomla\CMS\User\UserFactory;
+use Joomla\Input\Input;
+use Joomla\Registry\Registry;
+
defined("_JEXEC") or die();
-//$secret = JFactory::$config['secret'];
+require_once JPATH_SITE . '/components/com_sportsmanager/database/init.php';
-$secret = \Joomla\CMS\Factory::getConfig();
+Factory::getContainer()->set(Registry::class, function () {
+ return new Registry();
+});
-$secret = $secret->get("secret");
+$secret = Factory::getContainer()->get(Registry::class)->get("secret");
-function abortWithError($error)
+#[NoReturn] function abortWithError($error): void
{
- if (isJson()) {
+ if (isJson()) {
header("content-type: application/json");
die(json_encode(["error" => $error]));
- } else {
- die($error);
- }
+ } else {
+ die($error);
+ }
}
-function isJson() {
- $jinput = JFactory::getApplication()->input;
-
- return $jinput->get('format') === 'json';
+function isJson(): bool
+{
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->getInput();
+ return $jInput->get('format') === 'json';
}
-function notifyChange($data) {
+function notifyChange($data): void
+{
- try {
- $db = &getDatabase();
- $query = "SELECT wert from #__sportsmanager_einstellungen WHERE name='api_push_key'";
- $db->setQuery($query);
- $push_key = $db->loadResult();
- $push_server = !empty($push_key) && isset(_payload($push_key)->aud) ? _payload($push_key)->aud : '';
- if ($push_server != '' && $push_key != '') {
- $url = $push_server . (substr($push_server, -1) == '/' ? '' : '/') . 'v1/notifications/send';
- $key = 'key=' . $push_key;
+ try {
+ $db = getDatabase();
+ $query = "SELECT wert from #__sportsmanager_einstellungen WHERE name='api_push_key'";
+ $db->setQuery($query);
+ $push_key = $db->loadResult();
+ $push_server = !empty($push_key) && isset(_payload($push_key)->aud) ? _payload($push_key)->aud : '';
+ if ($push_server != '' && $push_key != '') {
+ $url = $push_server . (str_ends_with($push_server, '/') ? '' : '/') . 'v1/notifications/send';
+ $key = 'key=' . $push_key;
- $ch = curl_init($url);
- curl_setopt_array($ch, array(
- CURLOPT_POST => TRUE,
- CURLOPT_RETURNTRANSFER => TRUE,
- CURLOPT_HEADER => TRUE,
- CURLOPT_HTTPHEADER => array(
- 'Authorization: ' . $key,
- 'Content-Type: application/json',
- ),
- CURLOPT_TIMEOUT => 2,
- CURLOPT_POSTFIELDS => json_encode($data),
- ));
- $resp = curl_exec($ch);
- if ($resp == FALSE) {
- error_log("failed to send notification");
+ $ch = curl_init($url);
+ curl_setopt_array($ch, array(
+ CURLOPT_POST => TRUE,
+ CURLOPT_RETURNTRANSFER => TRUE,
+ CURLOPT_HEADER => TRUE,
+ CURLOPT_HTTPHEADER => array(
+ 'Authorization: ' . $key,
+ 'Content-Type: application/json',
+ ),
+ CURLOPT_TIMEOUT => 2,
+ CURLOPT_POSTFIELDS => json_encode($data),
+ ));
+ $resp = curl_exec($ch);
+ if (!$resp) {
+ error_log("failed to send notification");
+ }
}
- }
- } catch (Exception $ex) {
- error_log($ex);
- }
+ } catch (Exception $ex) {
+ error_log($ex);
+ }
}
-function begegnungChanged($begegnung, $begegnung_vorher, $modus, $heim_team, $gast_team, $spiele) {
- notifyChange(['payload' => [
- 'begegnung' => $begegnung,
- 'begegnung_vorher' => $begegnung_vorher,
- '$modus' => $modus,
- 'heim_team' => $heim_team,
- 'gast_team' => $gast_team,
- 'spiele' => $spiele,
- ], 'type' => 'FIXTURE_RESULT_CHANGED']);
+function begegnungChanged($begegnung, $begegnung_vorher, $modus, $heim_team, $gast_team, $spiele): void
+{
+ notifyChange(['payload' => [
+ 'begegnung' => $begegnung,
+ 'begegnung_vorher' => $begegnung_vorher,
+ '$modus' => $modus,
+ 'heim_team' => $heim_team,
+ 'gast_team' => $gast_team,
+ 'spiele' => $spiele,
+ ], 'type' => 'FIXTURE_RESULT_CHANGED']);
}
-function begegnungTischChanged($begegnung, $heim_team, $gast_team) {
- notifyChange(['payload' => [
- 'begegnung' => $begegnung,
- 'heim_team' => $heim_team,
- 'gast_team' => $gast_team,
- ], 'type' => 'TABLE_CHANGED']);
+function begegnungTischChanged($begegnung, $heim_team, $gast_team): void
+{
+ notifyChange(['payload' => [
+ 'begegnung' => $begegnung,
+ 'heim_team' => $heim_team,
+ 'gast_team' => $gast_team,
+ ], 'type' => 'TABLE_CHANGED']);
}
-function begegnungVerlegenNotify($begegnung, $users, $vorschlagendes_team_id, $heim_team, $gast_team) {
+function begegnungVerlegenNotify($begegnung, $users, $vorschlagendes_team_id, $heim_team, $gast_team): void
+{
notifyChange([
'payload' => [
'begegnung' => $begegnung,
@@ -97,41 +111,50 @@ function begegnungVerlegenNotify($begegnung, $users, $vorschlagendes_team_id, $h
* @reponse body
* { data: { token: "reqest_token", access_for_team: ["team_id_1", "team_id_2"]}, expires: 1520013747000}
*/
-function userToken() {
+#[NoReturn] function userToken(): void
+{
global $secret;
- if (!isJson()) {
- abortWithError("JSON Request only");
- }
- if (isExternalDatabase()) {
- abortWithError("Local Database only");
+ if (!isJson()) {
+ abortWithError("JSON Request only");
}
- $jinput = JFactory::getApplication()->input->json;
- $access_key = $jinput->getString('access_key');
-
- $user_id = _payload($access_key)->sub;
- $user = JFactory::getUser($user_id);
-
- if (!jwt_validate($access_key, $secret.$user->password)) {
- abortWithError('Access Key is invalid');
- }
-
- $expires = new DateTime();
- $expires->modify('+16 hours');
- $db = &getDatabase();
- $query = "SELECT berechtigt_team_id from #__sportsmanager_berechtigt_fuer_team where berechtigt_user_id = $user_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
+ if (isExternalDatabase()) {
+ abortWithError("Local Database only");
}
- $team_id = $db->loadObjectList();
- JSON_sportsmanager::JSON([
- 'token' => jwt_token([
- 'sub' => $user_id,
- 'exp' => $expires->getTimestamp(),
- ], $secret),
- 'access_for_teams' => array_map(function($item) { return $item->berechtigt_team_id; }, $team_id),
- 'expires' => $expires->getTimestamp() * 1000, //
- ]);
+ $container = Factory::getContainer();
+ $jInput = $container->get(SiteApplication::class)->getInput()->json;
+ $access_key = $jInput->getString('access_key');
+
+ $user_id = _payload($access_key)->sub;
+ $user = $container->get(UserFactory::class)->loadUserById($user_id);
+
+ if (!jwt_validate($access_key, $secret . $user->password)) {
+ abortWithError('Access Key is invalid');
+ }
+
+ try {
+ $expires = new DateTime();
+ $expires->modify('+16 hours');
+ $db = getDatabase();
+ $query = "SELECT berechtigt_team_id from #__sportsmanager_berechtigt_fuer_team where berechtigt_user_id = $user_id";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ abortWithError($db->stderr(true));
+ }
+ $team_id = $db->loadObjectList();
+ JSON_sportsmanager::JSON([
+ 'token' => jwt_token([
+ 'sub' => $user_id,
+ 'exp' => $expires->getTimestamp(),
+ ], $secret),
+ 'access_for_teams' => array_map(function ($item) {
+ return $item->berechtigt_team_id;
+ }, $team_id),
+ 'expires' => $expires->getTimestamp() * 1000, //
+ ]);
+ } catch (Exception $ex) {
+ error_log($ex);
+ }
+
}
/*
@@ -139,124 +162,134 @@ function userToken() {
* @response body
* { data: { token: "api_acccess_token" }}
*/
-function userAuth() {
+#[NoReturn] function userAuth(): void
+{
global $secret;
- if (!isJson()) {
- die();
- }
- if (isExternalDatabase()) {
- abortWithError("Local Database only");
+ if (!isJson()) {
+ die();
}
- $jinput = JFactory::getApplication()->input->json;
- $username = $jinput->getString('username');
- $password = $jinput->getString('password');
+ if (isExternalDatabase()) {
+ abortWithError("Local Database only");
+ }
+ $container = Factory::getContainer();
+ $jInput = $container->get(SiteApplication::class)->getInput()->json;
+ $username = $jInput->getString('username');
+ $password = $jInput->getString('password');
- $db = &getDatabase();
- $query = $db->getQuery(true);
- $query->select('id')->from('#__users')->where('username = "' . $username . '"')->limit(1);
- $db->setQuery($query);
- $user_id = $db->loadResult();
- $user = JFactory::getUser($user_id);
+ $db = getDatabase();
+ $query = $db->getQuery(true);
+ $query->select('id')->from('#__users')->where('username = "' . $username . '"')->limit(1);
+ $db->setQuery($query);
+ $user_id = $db->loadResult();
+ $user = $container->get(UserFactory::class)->loadUserById($user_id);
- if (JUserHelper::verifyPassword($password, $user->password, $user->id)) {
+ //TODO: pw verification modernising: use php native methods, however this also needs new pw hashing. maybe force a pw reset on all accounts
+ if (password_verify($password, $user->password)) {
- JSON_sportsmanager::JSON([
- 'token' => jwt_token([
- 'sub' => $user_id,
- 'iat' => (new DateTime())->getTimestamp(),
- ], $secret.$user->password)
- ]);
- return;
- }
- abortWithError('Wrong credentials');
+ JSON_sportsmanager::JSON([
+ 'token' => jwt_token([
+ 'sub' => $user_id,
+ 'iat' => (new DateTime())->getTimestamp(),
+ ], $secret . $user->password)
+ ]);
+ }
+ abortWithError('Wrong credentials');
}
-function getUserID() {
+function getUserID(): int
+{
global $secret;
- $token = JFactory::getApplication()->input->server->getString('HTTP_SECRET', NULL);
+ $container = Factory::getContainer();
+ $input = $container->get(Input::class);
+ $token = $input->server->getString('HTTP_SECRET', NULL);
- return $token != NULL && jwt_validate($token, $secret) && isset(_payload($token)->sub)
- ? (int) _payload($token)->sub
+ return $token != NULL && jwt_validate($token, $secret) && isset(_payload($token)->sub)
+ ? (int)_payload($token)->sub
: 0;
}
-function getColorOfImage($image) {
- if ($image != NULL) {
+function getColorOfImage($image)
+{
+ if ($image != NULL) {
- if (strpos($image, '.png') !== false) {
- $img = imagecreatefrompng($image);
- } else {
- $img = imagecreatefromjpeg($image);
- }
- $width = imagesx($img);
- $height = imagesx($img);
- $colorMap = [];
- $colors = [];
- for ($x = 0; $x < $width; $x++) {
- for ($y = 0; $y < $height; $y++) {
- $color = imagecolorsforindex($img, imagecolorat($img, $x, $y));
- if ($color['alpha'] < 20) {
- $c = colorKey($color);
- $hex = hex($color);
- if ($hex != NULL) {
- if (!isset($colors[$c])) {
- $colors[$c] = 0;
- $colorMap[$c] = $hex;
- }
- $colors[$c] += 1;
- }
- }
- }
- }
- arsort($colors);
- $result = array_keys($colors);
- return sizeof($result) > 1 && $result[0] === '0-0-0' ? $colorMap[$result[1]] : $colorMap[$result[0]];
- }
- return NULL;
+ if (str_contains($image, '.png')) {
+ $img = imagecreatefrompng($image);
+ } else {
+ $img = imagecreatefromjpeg($image);
+ }
+ $width = imagesx($img);
+ $height = imagesx($img);
+ $colorMap = [];
+ $colors = [];
+ for ($x = 0; $x < $width; $x++) {
+ for ($y = 0; $y < $height; $y++) {
+ $color = imagecolorsforindex($img, imagecolorat($img, $x, $y));
+ if ($color['alpha'] < 20) {
+ $c = colorKey($color);
+ $hex = hex($color);
+ if ($hex != NULL) {
+ if (!isset($colors[$c])) {
+ $colors[$c] = 0;
+ $colorMap[$c] = $hex;
+ }
+ $colors[$c] += 1;
+ }
+ }
+ }
+ }
+ arsort($colors);
+ $result = array_keys($colors);
+ return sizeof($result) > 1 && $result[0] === '0-0-0' ? $colorMap[$result[1]] : $colorMap[$result[0]];
+ }
+ return NULL;
}
-function colorKey($rgb) {
+function colorKey($rgb): string
+{
- $r = (int)($rgb['red'] / 100);
- $g = (int)($rgb['green'] / 100);
- $b = (int)($rgb['blue'] / 100);
+ $r = (int)($rgb['red'] / 100);
+ $g = (int)($rgb['green'] / 100);
+ $b = (int)($rgb['blue'] / 100);
- return $r . '-' . $g . '-' . $b;
+ return $r . '-' . $g . '-' . $b;
}
-function hex($rgb) {
- $r = $rgb['red'];
- $g = $rgb['green'];
- $b = $rgb['blue'];
- if (($r + $g + $b) / 3 > 125) {
- return NULL;
- }
- $r = dechex($r);
- if (strlen($r) < 2) {
- $r = '0' . $r;
- }
- $g = dechex($g);
- if (strlen($g) < 2) {
- $g = '0' . $g;
- }
- $b = dechex($b);
- if (strlen($b) < 2) {
- $b = '0' . $b;
- }
- return '#' . $r . $g . $b;
+function hex($rgb): ?string
+{
+ $r = $rgb['red'];
+ $g = $rgb['green'];
+ $b = $rgb['blue'];
+ if (($r + $g + $b) / 3 > 125) {
+ return NULL;
+ }
+ $r = dechex($r);
+ if (strlen($r) < 2) {
+ $r = '0' . $r;
+ }
+ $g = dechex($g);
+ if (strlen($g) < 2) {
+ $g = '0' . $g;
+ }
+ $b = dechex($b);
+ if (strlen($b) < 2) {
+ $b = '0' . $b;
+ }
+ return '#' . $r . $g . $b;
}
/*
* sign string with secret
*/
-function _sign($data, $secret, $algo = 'sha256') {
+function _sign($data, $secret): string
+{
return base64_encode(hash_hmac('sha256', $data, $secret));
}
/*
* get payload from jwt token
*/
-function _payload($token) {
+function _payload($token)
+{
$jwt = explode('.', $token);
return json_decode(base64_decode($jwt[0]));
}
@@ -264,7 +297,8 @@ function _payload($token) {
/*
* headless signed jwt token
*/
-function jwt_token($payload, $secret) {
+function jwt_token($payload, $secret): string
+{
$data = base64_encode(json_encode($payload));
return $data . '.' . _sign($data, $secret);
@@ -273,7 +307,8 @@ function jwt_token($payload, $secret) {
/*
* validate token
*/
-function jwt_validate($token, $secret) {
+function jwt_validate($token, $secret): bool
+{
$jwt = explode('.', $token);
if (sizeof($jwt) == 2 && $jwt[1] == _sign($jwt[0], $secret)) {
if (isset(_payload($token)->exp)) {
diff --git a/src/structure/components/com_sportsmanager/mathparser.php b/src/structure/components/com_sportsmanager/mathparser.php
index 9197e4b..0d3f524 100644
--- a/src/structure/components/com_sportsmanager/mathparser.php
+++ b/src/structure/components/com_sportsmanager/mathparser.php
@@ -21,15 +21,17 @@
* This notice shall remain in modified versions of this file.
*/
+use Joomla\CMS\Log\Log;
+
/**
* MathParser is a mathematical expression parser class for PHP. MathParser parses and evaluates
- * mathematical formulas given as strings at runtime. Math expressions can contain variables,
+ * mathematical formulas given as strings at runtime. Math expressions can contain variables,
* functions, numeric literals combined with basic mathematical operators +, -, /, *, ^, % (modulus).
- * MathParser can utilize user defined variables, user defined functions that are implemented in PHP
- * language.
+ * MathParser can utilize user defined variables, user defined functions that are implemented in PHP
+ * language.
*
* Math parser library features at a glance include:
- *
+ *
* Easy to use, simple class API.
* Functions with 0 or more number of parameters in the form of: f(x,y,z, ...)
* Functions with unknown number of parameters, e.g. SUM(a,b,c,...)
@@ -54,356 +56,303 @@
* a secure, simple math evaluator alternative to eval(). Please keep in mind, MathParser only evaluates
* mathematical expressions given using a simple syntax that consists of numbers, variables, function calls
* and paranthesis. MathParser does not evaluate PHP expressions.
- *
- * Predefined functions are:
- *
- * SQR: Square function which can be used as SQR(X)
- *
- * SIN: Sinus function which can be used as SIN(X), X is a real-type expression.
- * Sin returns the sine of the angle X in radians.
- *
- * COS: Cosinus function which can be used as COS(X), X is a real-type expression.
- * COS returns the cosine of the angle X in radians.
- *
- * ATAN: ArcTangent function which can be used as ATAN(X)
- * Returns the arctangent of a number as a numeric value between -PI/2 and PI/2 radians.
- *
- * SINH: Sinus Hyperbolic function which can be used as SINH(X)
- *
- * COSH: Cosinus Hyperbolic function which can be used as COSH(X)
- *
- * COTAN: which can be used as COTAN(X)
- *
- * TAN: which can be used as TAN(X)
- *
- * EXP: which can be used as EXP(X)
- *
- * LN: natural log, which can be used as LN(X)
- *
- * LOG: 10 based log, which can be used as LOG(X)
- *
- * SQRT: which can be used as SQRT(X)
- *
- * ABS: absolute value, which can be used as ABS(X)
- *
- * SIGN: SIGN(X) returns -1 if X<0; +1 if X>0, 0 if X=0; it can be used as SQR(X)
- *
- * TRUNC: Discards the fractional part of a number. e.g. TRUNC(-3.2) is -3, TRUNC(3.2) is 3.
- *
- * CEIL: CEIL(-3.2) = 3, CEIL(3.2) = 4
- *
- * FLOOR: FLOOR(-3.2) = -4, FLOOR(3.2) = 3
- *
- * VAL: VAL("3.1") = 3.1 Returns the floating point numeric value of the string argument.
- *
- * Predefined functions that take two parameters are:
- *
- * POW: The Power function raises Base to any power. For fractional exponents or
- * exponents greater than MaxInt, Base must be greater than 0.
- *
- * LOGN: The LogN function returns the log base N of X. Example: LOGN(10, 100) = 2
- *
- * MIN: MIN(2, 3) is 2.
- *
- * MAX: MAX(2, 3) is 3.
- *
- * IF: The IF(b, case1, case2) function provides branching capability.
- * If b is not 0, then it returns case1, else it returns case2.
- * Behavior is similar to PHP's: return b ? case1 : case2;
- * If b==0 then case1 will not be Evaluated, and vice versa.
- * Example: IF(HEIGHT, 3/HEIGHT, 3) will make sure 3/HEIGHT does not cause division by zero.
- *
- * Predefined functions that take no parameters are:
- * RND: RND() function generates a random number (double value) between 0 and 1.
- *
- * STR: STR(123) function returns the string representation of the passed value: "123".
- *
- * SUBSTR: SUBSTR("Hello", 1,3) function returns the substring just like PHP substr function.
- * The first parameter is the string, the second parameter is which index (0 based) to start copying,
- * and the last parameter is the number of characters to copy. For example, SUBSTR("Hello", 1,3) returns "ell".
- *
- * STRLEN: STRLEN("abc") function returns the length of the string parameter. For example, for "abc" it returns 3.
- *
- * CONCAT: CONCAT("abc","def",...) function returns the concatanated strings: "abcdef".
- * There is no preset limit on the number of parameters.
- *
- * TRIM: TRIM(" abc ") function returns the trimmed version of the string parameter: " abc " -> "abc".
- *
- * SUM: SUM(2,3,5,...) functions returns the sum of it's arguments. There is no preset limit on the number of parameters.
- *
+ *
+ * Predefined functions are:
+ *
+ * SQR: Square function which can be used as SQR(X)
+ *
+ * SIN: Sinus function which can be used as SIN(X), X is a real-type expression.
+ * Sin returns the sine of the angle X in radians.
+ *
+ * COS: Cosinus function which can be used as COS(X), X is a real-type expression.
+ * COS returns the cosine of the angle X in radians.
+ *
+ * ATAN: ArcTangent function which can be used as ATAN(X)
+ * Returns the arctangent of a number as a numeric value between -PI/2 and PI/2 radians.
+ *
+ * SINH: Sinus Hyperbolic function which can be used as SINH(X)
+ *
+ * COSH: Cosinus Hyperbolic function which can be used as COSH(X)
+ *
+ * COTAN: which can be used as COTAN(X)
+ *
+ * TAN: which can be used as TAN(X)
+ *
+ * EXP: which can be used as EXP(X)
+ *
+ * LN: natural log, which can be used as LN(X)
+ *
+ * LOG: 10 based log, which can be used as LOG(X)
+ *
+ * SQRT: which can be used as SQRT(X)
+ *
+ * ABS: absolute value, which can be used as ABS(X)
+ *
+ * SIGN: SIGN(X) returns -1 if X<0; +1 if X>0, 0 if X=0; it can be used as SQR(X)
+ *
+ * TRUNC: Discards the fractional part of a number. e.g. TRUNC(-3.2) is -3, TRUNC(3.2) is 3.
+ *
+ * CEIL: CEIL(-3.2) = 3, CEIL(3.2) = 4
+ *
+ * FLOOR: FLOOR(-3.2) = -4, FLOOR(3.2) = 3
+ *
+ * VAL: VAL("3.1") = 3.1 Returns the floating point numeric value of the string argument.
+ *
+ * Predefined functions that take two parameters are:
+ *
+ * POW: The Power function raises Base to any power. For fractional exponents or
+ * exponents greater than MaxInt, Base must be greater than 0.
+ *
+ * LOGN: The LogN function returns the log base N of X. Example: LOGN(10, 100) = 2
+ *
+ * MIN: MIN(2, 3) is 2.
+ *
+ * MAX: MAX(2, 3) is 3.
+ *
+ * IF: The IF(b, case1, case2) function provides branching capability.
+ * If b is not 0, then it returns case1, else it returns case2.
+ * Behavior is similar to PHP's: return b ? case1 : case2;
+ * If b==0 then case1 will not be Evaluated, and vice versa.
+ * Example: IF(HEIGHT, 3/HEIGHT, 3) will make sure 3/HEIGHT does not cause division by zero.
+ *
+ * Predefined functions that take no parameters are:
+ * RND: RND() function generates a random number (double value) between 0 and 1.
+ *
+ * STR: STR(123) function returns the string representation of the passed value: "123".
+ *
+ * SUBSTR: SUBSTR("Hello", 1,3) function returns the substring just like PHP substr function.
+ * The first parameter is the string, the second parameter is which index (0 based) to start copying,
+ * and the last parameter is the number of characters to copy. For example, SUBSTR("Hello", 1,3) returns "ell".
+ *
+ * STRLEN: STRLEN("abc") function returns the length of the string parameter. For example, for "abc" it returns 3.
+ *
+ * CONCAT: CONCAT("abc","def",...) function returns the concatanated strings: "abcdef".
+ * There is no preset limit on the number of parameters.
+ *
+ * TRIM: TRIM(" abc ") function returns the trimmed version of the string parameter: " abc " -> "abc".
+ *
+ * SUM: SUM(2,3,5,...) functions returns the sum of it's arguments. There is no preset limit on the number of parameters.
+ *
+ * @since 1.0.0
*/
class MathParser
{
- /**
- * protected variable that holds the expression to parse.
- * @var string
- */
- protected $Expression;
- /**
- * non-public flag that shows if parsing is needed or not. if false, existing
- * parse tree will be re-used.
- * @var boolean
- */
- protected $Dirty;
- /**
- * when optimization on, after the parse tree is compiled, it will be further optimized
- * by removing sub branches that evaluate to a constant. This will make parse() operation
- * slower and getValue() operation faster.
- * @var boolean
- */
- protected $OptimizationOn;
+ /**
+ * protected variable that holds the expression to parse.
+ * @var string
+ * @since 1.0.0
+ */
+ protected string $Expression;
+ /**
+ * non-public flag that shows if parsing is needed or not. if false, existing
+ * parse tree will be re-used.
+ * @var boolean
+ * @since 1.0.0
+ */
+ protected bool $Dirty;
+ /**
+ * when optimization on, after the parse tree is compiled, it will be further optimized
+ * by removing sub branches that evaluate to a constant. This will make parse() operation
+ * slower and getValue() operation faster.
+ * @var boolean
+ * @since 1.0.0
+ */
+ protected bool $OptimizationOn;
- /**
- * Starting node for the internal compiled representation of the
- * expression in parsed form.
- * @var Node
- */
- protected $Node;
+ /**
+ * Starting node for the internal compiled representation of the
+ * expression in parsed form.
+ * @var $Node
+ * @since 1.0.0
+ */
+ protected $Node;
- /**
- * internal list of variables that are available for use in an expression.
- * @var array
- */
- protected $Variables;
+ /**
+ * internal list of variables that are available for use in an expression.
+ * @var array
+ * @since 1.0.0
+ */
+ protected array $Variables;
- /**
- * internal list of functions that take more than 2 parameters that are available for use in an expression.
- * @var array
- */
- protected $Functions;
+ /**
+ * internal list of functions that take more than 2 parameters that are available for use in an expression.
+ * @var array
+ * @since 1.0.0
+ */
+ protected array $Functions;
- /**
- * A dictionary that holds translated messages.
- * @var array
- */
- static protected $translator;
+ /**
+ * A dictionary that holds translated messages.
+ * @var array
+ * @since 1.0.0
+ */
+ static protected array $translator;
- /**
- * Does the expression allows string literals or not?
- * For example, is an expression like this allowed: "Hello"+"World"
- * @var boolean
- */
- protected $StringLiteralsAllowed = true;
+ /**
+ * Does the expression allows string literals or not?
+ * For example, is an expression like this allowed: "Hello"+"World"
+ * @var boolean
+ * @since 1.0.0
+ */
+ protected bool $StringLiteralsAllowed = true;
- /**
- * The parser can use ampersand(&) or the plus(+) operator for string concatenations.
- * You can set which one you want using StrConcatOperator property.
- * The default is ampersand(&). Valid values are STR_CONCAT_OP.PLUS or
- * STR_CONCAT_OP.AMPERSAND.
- * @var string
- */
- protected $StrConcatOperator;
+ /**
+ * The parser can use ampersand(&) or the plus(+) operator for string concatenations.
+ * You can set which one you want using StrConcatOperator property.
+ * The default is ampersand(&). Valid values are STR_CONCAT_OP.PLUS or
+ * STR_CONCAT_OP.AMPERSAND.
+ * @var string
+ * @since 1.0.0
+ */
+ protected string $StrConcatOperator;
- /*
- * Public for performance reasons.
- * @see getVariableResolver function for more info.
- * @var string
- */
- public $VariableResolver;
+ /**
+ * Public for performance reasons.
+ * @see getVariableResolver function for more info.
+ * @var string
+ * @since 1.0.0
+ */
+ public string $VariableResolver;
- /**
- * @ignore
- */
- static protected $add__;
- /**
- * @ignore
- */
- static protected $subtract__;
- /**
- * @ignore
- */
- static protected $mult__;
- /**
- * @ignore
- */
- static protected $div__;
- /**
- * @ignore
- */
- static protected $power__;
- /**
- * @ignore
- */
- static protected $mod__;
- /**
- * @ignore
- */
- static protected $unaryadd__;
- /**
- * @ignore
- */
- static protected $negate__;
- /**
- * @ignore
- */
- static protected $not__;
- /**
- * @ignore
- */
- static protected $notequals__;
- /**
- * @ignore
- */
- static protected $equals__;
- /**
- * @ignore
- */
- static protected $lt__;
- /**
- * @ignore
- */
- static protected $gt__;
- /**
- * @ignore
- */
- static protected $ltequals__;
- /**
- * @ignore
- */
- static protected $gtequals__;
- /**
- * @ignore
- */
- static protected $and__;
- /**
- * @ignore
- */
- static protected $or__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $add__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $subtract__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $mult__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $div__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $power__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $mod__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $unaryadd__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $negate__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $not__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $notequals__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $equals__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $lt__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $gt__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $ltequals__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $gtequals__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $and__;
+ /**
+ * @ignore
+ * @since 1.0.0
+ */
+ static protected Mathparser_ParserFunction $or__;
- /**
- * Implementation of plus (+) operator.
- * @ignore
- */
- protected $AddOp;
+ /**
+ * Implementation of plus (+) operator.
+ * @ignore
+ * @since 1.0.0
+ */
+ protected Mathparser_ParserFunction $AddOp;
- /**
- * Implementation of ampersand (&) operator for strings.
- * @ignore
- */
- protected $AndOp;
+ /**
+ * Implementation of ampersand (&) operator for strings.
+ * @ignore
+ * @since 1.0.0
+ */
+ protected Mathparser_ParserFunction $AndOp;
+ /**
+ * VariableResolver is used as a callback function that returns the values of variables when asked.
+ * This is useful when a variable cannot be defined before the parse operation.
+ * If VariableResolver property is set, it will be used to resolve variables that were not defined
+ * at the time parse operation has started. This means that syntax errors regarding undefined variables
+ * will not be caught at parse time. This VariableResolver (user implementation) will decide whether
+ * a variable name is valid or not.
+ * This is useful when for example the value comes from a database lookup. In some cases,
+ * the problem domain is too big to define the variables ahead of time. In such cases, it makes sense
+ * to parse with the assumption that it is a valid variable and resolve it's value when needed on demand during
+ * evaluation.
+ * @return string
+ * @since 1.0.0
+ */
+ public function getVariableResolver(): string
+ {
+ return $this->VariableResolver;
+ }
- /**
- * Can the expression contain string literals such as
- * "abc", "hello world" etc. If you do not want to support strings in the
- * expression, (want numeric processing only), then you can set this property
- * to false and then you can also remove string functions from the list of available
- * functions. Then the parser will solely work on numeric expressions.
- * The string literals may also be useful in numeric context where the string can refer
- * to a database table or column name and can be passed to functions that actually use these strings
- * to lookup these values in databases to return numeric values too.
- * @return boolean
- */
- public function getStringLiteralsAllowed()
- {
- return $this->StringLiteralsAllowed;
- }
- /**
- * @see getStringLiteralsAllowed
- * @param $value - boolean
- * @return void
- */
- public function setStringLiteralsAllowed($value)
- {
- $this->StringLiteralsAllowed = $value;
- if($value==true){
- if($this->StrConcatOperator=='&'){
- $this->AndOp = new Mathparser_ParserFunction('&', 'mp_and_str_', 2);
- }else if ($this->StrConcatOperator=='+'){
- $this->AddOp = new Mathparser_ParserFunction('+', 'mp_add_str_', 2);
- }else{
- throw new Exception('Invalid string concat operator: '.$this->StrConcatOperator);
- }
- }else{
- $this->AddOp = self::$add__;
- $this->AndOp = self::$and__;
- }
- }
+ /**
+ * Constructor for the MathParser.
+ * @throws Exception
+ * @since 1.0.0
+ */
+ public function __construct()
+ {
+ $this->Expression = '';
+ $this->Node = null;
+ $this->Dirty = true; //means it is not Parsed yet.
+ $this->OptimizationOn = false;
- /**
- * If you setStringLiteralsAllowed to true, MathParser allows string literals and
- * variables to be used in the expression. By default string values can be concatenated
- * to each other using plus (+) operator. StrConcatOperator property allows the user to
- * set ampersand instead (&). You can only set plus(+) or ampersand (&)
- * @return boolean
- */
- public function getStrConcatOperator(){
- return $this->StrConcatOperator;
- }
- /**
- * @see getStrConcatOperator
- * @param $value - boolean
- * @return void
- */
- public function setStrConcatOperator($value){
- $this->StrConcatOperator=$value;
- if($value=='&'){
- if($this->StringLiteralsAllowed){
- $this->AndOp = new Mathparser_ParserFunction('&', 'mp_and_str_', 2);
- $this->AddOp = self::$add__;
- }else{
- $this->AddOp = new Mathparser_ParserFunction('+', 'mp_add_str_', 2);
- $this->AndOp = self::$and__;
- }
- }else if ($value=='+'){
- if($this->StringLiteralsAllowed){
- $this->AddOp = new Mathparser_ParserFunction('+', 'mp_add_str_', 2);
- $this->AndOp = self::$and__;
- }else{
- $this->AndOp = new Mathparser_ParserFunction('&', 'mp_and_str_', 2);
- $this->AddOp = self::$add__;
- }
- }else{
- throw new Exception('Invalid string concat operator: '.$value);
- }
- }
+ $this->Variables = array();
+ $this->Functions = array();
- /**
- * VariableResolver is used as a callback function that returns the values of variables when asked.
- * This is useful when a variable cannot be defined before the parse operation.
- * If VariableResolver property is set, it will be used to resolve variables that were not defined
- * at the time parse operation has started. This means that syntax errors regarding undefined variables
- * will not be caught at parse time. This VariableResolver (user implementation) will decide whether
- * a variable name is valid or not.
- * This is useful when for example the value comes from a database lookup. In some cases,
- * the problem domain is too big to define the variables ahead of time. In such cases, it makes sense
- * to parse with the assumption that it is a valid variable and resolve it's value when needed on demand during
- * evaluation.
- * @return string
- */
- public function getVariableResolver()
- {
- return $this->VariableResolver;
- }
- /**
- * @see getVariableResolver
- * @param $value string
- */
- public function setVariableResolver($value){
- $this->VariableResolver=$value;
- if($value==null){
- $this->Dirty=true;
- }
- }
+ //Comment out if you don't want these functions and variables:
+ $this->createDefaultFuncs();
+ $this->createDefaultVars();
- /**
- * Constructor for the MathParser.
- */
- public function __construct()
- {
- $this->Expression = '';
- $this->Node = null;
- $this->Dirty = true; //means it is not Parsed yet.
- $this->OptimizationOn = false;
-
- $this->Variables = array();
- $this->Functions = array();
-
- //Comment out if you don't want these functions and variables:
- $this->createDefaultFuncs();
- $this->createDefaultVars();
-
- if(!isset(self::$add__)){
+ if (!isset(self::$add__)) {
self::$add__ = new Mathparser_ParserFunction('+', 'mp_add_', 2);
self::$subtract__ = new Mathparser_ParserFunction('-', 'mp_subtract_', 2);
self::$mult__ = new Mathparser_ParserFunction('*', 'mp_mult_', 2);
@@ -424,458 +373,378 @@ class MathParser
self::$and__ = new Mathparser_ParserFunction('&', 'mp_and_', 2);
self::$or__ = new Mathparser_ParserFunction('|', 'mp_or_', 2);
- }
+ }
- $this->AddOp = self::$add__;
- $this->AndOp = self::$and__;
- $this->StrConcatOperator='&'; //default.
- }
+ $this->AddOp = self::$add__;
+ $this->AndOp = self::$and__;
+ $this->StrConcatOperator = '&'; //default.
+ }
- /**
- * Returns the existing trasnlatable strings used to report error messages.
- * To use this component in a localized application, set the translated versions of
- * strings for each value that exists in the hashtable. By default, same hashtable is shared
- * between all instances of the parser. To change translation strings, set a new hashtable
- * of your own for the parser instance instead of editing the values contained in this hashtable if
- * you do not wish other parser instances not to be effected.
- * Returns dictionary (array) of key/value pairs where value is a Locale dependent, typically translated String, that
- * may contain placeholder parameters using %s.
- * @return array
- */
- public static function &getTranslationStrings()
- {
- if(!isset(self::$translator))
- {
- self::$translator = array();
+ /**
+ * Returns the existing translatable strings used to report error messages.
+ * To use this component in a localized application, set the translated versions of
+ * strings for each value that exists in the hashtable. By default, same hashtable is shared
+ * between all instances of the parser. To change translation strings, set a new hashtable
+ * of your own for the parser instance instead of editing the values contained in this hashtable if
+ * you do not wish other parser instances not to be effected.
+ * Returns dictionary (array) of key/value pairs where value is a Locale dependent, typically translated String, that
+ * may contain placeholder parameters using %s.
+ * @return array
+ * @since 1.0.0
+ */
+ public static function &getTranslationStrings(): array
+ {
+ if (!isset(self::$translator)) {
+ self::$translator = array();
- //#Strings used by the math Parser.
- self::$translator['ExpEmpty']='Expression is empty.';
+ //#Strings used by the math Parser.
+ self::$translator['ExpEmpty'] = 'Expression is empty.';
- //#parameter is the name of a variable:
- self::$translator['VarNtExst']='Variable %s does not exist.';
+ //#parameter is the name of a variable:
+ self::$translator['VarNtExst'] = 'Variable %s does not exist.';
- //variable is not numeric:
- self::$translator['VarNtDbl']='Variable %s is not numeric.';
+ //variable is not numeric:
+ self::$translator['VarNtDbl'] = 'Variable %s is not numeric.';
- //variable is not a string:
- self::$translator['VarNtStr']='Variable %s is not a string.';
+ //variable is not a string:
+ self::$translator['VarNtStr'] = 'Variable %s is not a string.';
- //variable is not a string or a double:
- self::$translator['VarNtDblStr']='Variable %s should be a Double or a String. It is {1}.';
+ //variable is not a string or a double:
+ self::$translator['VarNtDblStr'] = 'Variable %s should be a Double or a String. It is {1}.';
- //variable already exists:
- self::$translator['VarExt']='Variable %s already exists.';
+ //variable already exists:
+ self::$translator['VarExt'] = 'Variable %s already exists.';
- //#parameter is the name of a variable:
- self::$translator['NtVarNm']='%s is not a valid variable name.';
+ //#parameter is the name of a variable:
+ self::$translator['NtVarNm'] = '%s is not a valid variable name.';
- //#parameter is the math expression that failed to Parse:
- self::$translator['SntxErr']='Syntax error in expression %s';
+ //#parameter is the math expression that failed to Parse:
+ self::$translator['SntxErr'] = 'Syntax error in expression %s';
- //#parameter is a function name:
- self::$translator['NtFncNm']='%s is not a valid function name.';
+ //#parameter is a function name:
+ self::$translator['NtFncNm'] = '%s is not a valid function name.';
- //#parameter is a function name:
- self::$translator['FncExst']='Function %s already exists.';
+ //#parameter is a function name:
+ self::$translator['FncExst'] = 'Function %s already exists.';
- //#Parameters are function name and number of parameters:
- self::$translator['WrngNPrms']='Function %s must accept at least 0 parameters not %s.';
+ //#Parameters are function name and number of parameters:
+ self::$translator['WrngNPrms'] = 'Function %s must accept at least 0 parameters not %s.';
- self::$translator['WrngNPrms2']='Function %s requires at least %s parameters.';
+ self::$translator['WrngNPrms2'] = 'Function %s requires at least %s parameters.';
- //#sub expression is not valid:
- self::$translator['ExpNtVld']='Sub expression "%s" in "%s" is not valid.';
+ //#sub expression is not valid:
+ self::$translator['ExpNtVld'] = 'Sub expression "%s" in "%s" is not valid.';
- self::$translator['InvNPrm']='Invalid number of parameters in "%s".';
+ self::$translator['InvNPrm'] = 'Invalid number of parameters in "%s".';
- //#bracket mismatch.
- self::$translator['BrcktMis']='Bracket mismatch in expression "%s" at index %s.';
+ //#bracket mismatch.
+ self::$translator['BrcktMis'] = 'Bracket mismatch in expression "%s" at index %s.';
- //#missing brackets.
- self::$translator['MisBrckt']='Missing bracket ")" in expression "%s".';
+ //#missing brackets.
+ self::$translator['MisBrckt'] = 'Missing bracket ")" in expression "%s".';
- //applying logical and & to string values:
- self::$translator['InvConcatOper']='Parameter #2 %s is not a numeric value. Cannot apply logical and (&) operator. If you want to concatenate 2 strings, use STR() function to convert first parameter to string.';
+ //applying logical and & to string values:
+ self::$translator['InvConcatOper'] = 'Parameter #2 %s is not a numeric value. Cannot apply logical and (&) operator. If you want to concatenate 2 strings, use STR() function to convert first parameter to string.';
- //applying logical and + to string values:
- self::$translator['InvConcatOper2']='Parameter #2 %s is not a numeric value. Cannot apply plus (+) operator. If you want to concatenate 2 strings, use STR() function to convert first parameter to string.';
+ //applying logical and + to string values:
+ self::$translator['InvConcatOper2'] = 'Parameter #2 %s is not a numeric value. Cannot apply plus (+) operator. If you want to concatenate 2 strings, use STR() function to convert first parameter to string.';
- //converting str to number:
- self::$translator['InvNum']='Cannot convert to a number. %s is not a numeric value.';
- }
- return self::$translator;
- }
+ //converting str to number:
+ self::$translator['InvNum'] = 'Cannot convert to a number. %s is not a numeric value.';
+ }
+ return self::$translator;
+ }
- /**
- * Sets the key/value pairs where value is a translated message string for the parser to use while constructing messages.
- * This mechanism allows the parser instances in the same VM efficiently
- * use different locales independent of each other. not for each instance of the parser.
- * Messages may contain parameter placeholders. For example:
- * "Variable %s does not exist". You need to have your own messages translated
- * accordingly.
- * @param string
- * @return void
- */
- public function setTranslationStrings($strings)
- {
- self::$translator = $strings;
- }
+ /**
+ * Variable property is a way to set and get variable values.
+ * setVariable function creates the variable if the variable does not exist.
+ * Variable name is not case sensitive. Throws exception if the variable needs
+ * to be created and the name is not a valid variable name. CreateVar is just an
+ * alias for this method.
+ * @param $varName - Name of the variable whose value is being set.
+ * @param $newVal - New value of the variable. It should be either a Double or a String.
+ * @param $fn_valueProvider - The delegate that returns the value for a variable when asked by name.
+ * When a $fn_valueProvider is set for a Variable, it's assigned value will not be used and instead the $fn_valueProvider of type
+ * function VariableDelegate($parser, $varName);
+ * will be called. This is useful in cases when the value of a variable comes from a database and it is not easy to set it's value
+ * (or it is costly) ahead of time. So, when you want to compute the variable value only when it is needed, then you can register a $fn_valueProvider
+ * to be called. You can use the same $fn_valueProvider for all or some of your variables or you can have a different valueProvider for each variable.
+ * @return void
+ * @throws Exception
+ * @since 1.0.0
+ */
+ public function setVariable($varName, $newVal, $fn_valueProvider = null): void
+ {
+ if ($varName == null) {
+ throw new Exception("Variable name cannot be null.");
+ }
+ if (is_numeric($newVal)) {
+ $newVal = (float)$newVal;
+ } else
+ if (!is_string($newVal)) {
+ throw new Exception("Variable should be floating point or string value: " . $newVal);
+ }
+ $upcName = strtoupper($varName);
+ $existing = $this->Variables[$upcName];
+ if ($existing != null) {
+ $existing->Value = $newVal;
+ } else {
+ if (!$this->isValidName($upcName)) {
+ throw new Exception($this->getMessage1("NtVarNm", $varName));
+ }
+ //create the variable:
+ $var = new Mathparser_Variable($upcName, $newVal, $fn_valueProvider);
+ $this->Variables[$upcName] = $var;
+ $this->Dirty = true;
+ }
+ }
- /**
- * Variable property is a way to set and get variable values.
- * Throws Exception if the variable does not exist.
- * Variable name is not case sensitive.
- * @param string
- * @return Returns the current value of the variable. It is either Double or String.
- */
- public function getVariable($varName)
- {
- if ($varName==null)
- {
- throw new Exception("Variable name cannot be null.");
- }
- $upcName = strtoupper($varName);
- $aVariable = $this->Variables[$upcName];
- if ($aVariable==null)
- {
- throw new Exception($this->getMessage1("VarNtExst", $varName));
- }
- return $aVariable->Value;
- }
+ /**
+ * Evaluates the expression and returns the result of it. If it cannot be parsed or
+ * evaluated then this method throws Exception.
+ *
+ * Calling this method is identical to calling getValue()
+ * @return double|string - Returns the value of the parsed expression.
+ * The return type is an object that can be interpreted as either Double or String.
+ * @throws Mathparser_ParserException
+ * @since 1.0.0
+ */
+ public function evaluate(): float|string
+ {
+ if ($this->Dirty) { //if the expression has been changed, we need to Parse it again
+ $this->parse();
+ }
+ return $this->Node->getValue(); //this will start the chain reaction to get the
+ //value of all nodes
+ }
- /**
- * Variable property is a way to set and get variable values.
- * setVariable function creates the variable if the variable does not exist.
- * Variable name is not case sensitive. Throws exception if the variable needs
- * to be created and the name is not a valid variable name. CreateVar is just an
- * alias for this method.
- * @param $varName - Name of the variable whose value is being set.
- * @param $newVal - New value of the variable. It should be either a Double or a String.
- * @param $fn_valueProvider - The delegate that returns the value for a variable when asked by name.
- * When a $fn_valueProvider is set for a Variable, it's assigned value will not be used and instead the $fn_valueProvider of type
- * function VariableDelegate($parser, $varName);
- * will be called. This is useful in cases when the value of a variable comes from a database and it is not easy to set it's value
- * (or it is costly) ahead of time. So, when you want to compute the variable value only when it is needed, then you can register a $fn_valueProvider
- * to be called. You can use the same $fn_valueProvider for all or some of your variables or you can have a different valueProvider for each variable.
- * @return void
- */
- public function setVariable($varName, $newVal, $fn_valueProvider=null)
- {
- if ($varName==null)
- {
- throw new Exception("Variable name cannot be null.");
- }
- if(is_numeric($newVal))
- {
- $newVal = (float)$newVal;
- }else
- if(!is_string($newVal)){
- throw new Exception("Variable should be floating point or string value: ".$newVal);
- }
- $upcName = strtoupper($varName);
- $existing = $this->Variables[$upcName];
- if ($existing!=null)
- {
- $existing->Value = $newVal;
- }
- else
- {
- if (!$this->isValidName($upcName))
- {
- throw new Exception($this->getMessage1("NtVarNm", $varName));
- }
- //create the variable:
- $var = new Mathparser_Variable($this, $upcName, $newVal, $fn_valueProvider);
- $this->Variables[$upcName] = $var;
- $this->Dirty = true;
- }
- }
+ /**
+ * Parses the expression and forms a parse tree. Throws Exception if it cannot parse.
+ * Upon successful completion of parsing, it will set the Dirty flag to false, so that
+ * unless the expression is changed or variables and functions added or removed,
+ * expression does not need to be re-parsed. Users may want to call the parse method
+ * directly to check the validity of an input expression using a try-except block.
+ *
+ * If OptimizationOn property is true, Parse method will optimize the parse tree by
+ * evaluating constant branches of the parse tree at that moment, so that Evaluate
+ * function will run faster.
+ * @return void
+ * @throws Mathparser_ParserException
+ * @throws Exception
+ * @since 1.0.0
+ */
+ public function parse(): void
+ {
+ if (!isset($this->Expression) || !(strlen($this->Expression) > 0)) {
+ $this->Node = null;
+ throw new Exception($this->getMessage("ExpEmpty"));
+ }
- /**
- * Evaluates the expression and returns the result of it. If it cannot be parsed or
- * evaluated then this method throws Exception.
- *
- * Calling this method is identical to calling getValue()
- * @return Returns the value of the parsed expression.
- * The return type is an object that can be interpreted as either Double or String.
- */
- public function evaluate()
- {
- if ($this->Dirty)
- { //if the expression has been changed, we need to Parse it again
- $this->parse();
- }
- return $this->Node->getValue(); //this will start the chain reaction to get the
- //value of all nodes
- }
+ $formula = $this->Expression;
+ $this->upperCase($formula);
+ //echo $formula;
- /**
- * Parses the expression and forms a parse tree. Throws Exception if it cannot parse.
- * Upon successful completion of parsing, it will set the Dirty flag to false, so that
- * unless the expression is changed or variables and functions added or removed,
- * expression does not need to be re-parsed. Users may want to call the parse method
- * directly to check the validity of an input expression using a try-except block.
- *
- * If OptimizationOn property is true, Parse method will optimize the parse tree by
- * evaluating constant branches of the parse tree at that moment, so that Evaluate
- * function will run faster.
- * @return void
- */
- public function parse()
- {
- if (!isset($this->Expression) || ! ( strlen($this->Expression) > 0))
- {
- $this->Node = null;
- throw new Exception($this->getMessage("ExpEmpty"));
- }
+ $len = strlen($formula);
+ $brackets = self::checkBrackets($formula);
+ if ($brackets > -1 && $brackets < $len) {
+ throw new Mathparser_ParserException($this->getMessage2("BrcktMis", $formula, $brackets), substr($formula, $brackets), $formula);
+ } else
+ if ($brackets == 'len') {
+ throw new Mathparser_ParserException($this->getMessage1("MisBrckt", $formula), $formula, $formula);
+ }
- $formula = $this->Expression;
- $this->upperCase($formula);
- //echo $formula;
-
- $len = strlen($formula);
- $brackets = self::checkBrackets($formula);
- if($brackets>-1 && $brackets<$len)
- {
- throw new Mathparser_ParserException($this->getMessage2("BrcktMis", $formula, $brackets), substr($formula, $brackets), $formula);
- }
- else
- if($brackets=='len')
- {
- throw new Mathparser_ParserException($this->getMessage1("MisBrckt", $formula), $formula, $formula);
- }
+ if (($this->Node = $this->createParseTree($formula)) == null) {
+ throw new Mathparser_ParserException($this->getMessage2("ExpNtVld", $formula, $formula), $formula, $formula);
+ }
- if (($this->Node = $this->createParseTree($formula)) == null)
- {
- throw new Mathparser_ParserException($this->getMessage2("ExpNtVld", $formula, $formula), $formula, $formula);
- }
+ if ($this->OptimizationOn) {
+ $this->optimize(); //will make sure FNode tree is lean and mean
+ }
+ $this->Dirty = false; //note that we Parsed it once. Unless the expression is changed we do not need to reParse it.
+ }
- if ($this->OptimizationOn)
- {
- $this->optimize(); //will make sure FNode tree is lean and mean
- }
- $this->Dirty = false; //note that we Parsed it once. Unless the expression is changed we do not need to reParse it.
- }
+ /**
+ * Uppercases the expression in char array form without touching the string literals.
+ * @param $c - to convert to uppercase.
+ * @return void
+ * @since 1.0.0
+ */
+ private function upperCase(&$c): void
+ {
+ $len = strlen($c);
+ $insideStringConst = false;
+ for ($i = 0; $i < $len; $i++) {
+ $ch = $c[$i];
+ if ($ch == '"')//support string literals in the expression.
+ {
+ $insideStringConst = !$insideStringConst;
+ continue;
+ }
+ if (!$insideStringConst) {
+ $c[$i] = strtoupper($ch);
+ }
+ }
+ }
- /**
- * Uppercases the expression in char array form without touching the string literals.
- * @param string to convert to uppercase.
- * @return void
- */
- private function upperCase(&$c)
- {
- $len = strlen($c);
- $insideStringConst = false;
- for ($i = 0; $i<$len; $i++)
- {
- $ch = $c[$i];
- if($ch=='"')//support string literals in the expression.
- {
- $insideStringConst = !$insideStringConst;
- continue;
- }
- if(!$insideStringConst)
- {
- $c[$i] = strtoupper($ch);
- }
- }
- }
- /**
- * Removes the spaces in the expression without touching the string literals.
- * Uppercases non-string literal portions of the expression.
- * @param s
- */
- /*
- private function RemoveSpacesExceptLiteralsAndUpperCase($s)
- {
- if(strpos($s,' ')===false)
- {
- return $s; //no spaces involved, return.
- }
- $len = strlen($s);
- $ch;
- $insideStringConst = false;
- $sb = '';
- for ($i = 0; $i<$len; $i++)
- {
- $ch = $s[$i];
- if($ch=='\"')//support string literals in the expression.
- {
- $insideStringConst = !$insideStringConst;
- $sb.=$ch;
- continue;
- }
- if(!$insideStringConst)
- {
- if($ch!=' ')//if it is not a space, we want it.
- {
- $sb.=strtoupper($ch);
- }
- }
- else
- {
- $sb.=$ch;
- }
- }
- return $sb;
- }
- */
+ /**
+ * Creates a variable with given name and initial value.
+ * If the variable already exists, sets it's value to the specified value.
+ * Throws Exception if $varName is not a valid variable name.
+ * @param $varName - Variable name (case insensitive).
+ * @param $varValue - Initial value for the variable.
+ * @param $valueProvider - The callback delegate (a plain old PHP function) that decides the value of the variable at runtime.
+ * function VariableDelegate($parser, $varName);
+ * @throws Exception
+ * @since 1.0.0
+ */
+ public function createVar($varName, $varValue, $valueProvider = null): void
+ {
+ $this->setVariable($varName, $varValue, $valueProvider);
+ }
- /**
- * Creates a variable with given name and initial value.
- * If the variable already exists, sets it's value to the specified value.
- * Throws Exception if $varName is not a valid variable name.
- * @param varName - Variable name (case insensitive).
- * @param varValue - Initial value for the variable.
- * @param valueProvider - The callback delegate (a plain old PHP function) that decides the value of the variable at runtime.
- * function VariableDelegate($parser, $varName);
- *
- */
- public function createVar($varName, $varValue, $valueProvider=null)
- {
- $this->setVariable($varName, $varValue, $valueProvider);
- }
+ /**
+ * CreateFunc method creates a new function that takes n number of parameters (could be 0) in
+ * the parser's list of functions. If the function name already exists then this method throws Exception.
+ * Function name is not case sensitive.
+ *
+ * The second parameter is the name of the user defined function that is globally available:
+ *
+ * function funcName($parameter1 [, $parameter2,...]);
+ *
+ * During evaluation of the expression, when the registered function name is
+ * encountered, the user supplied funcName will be called and variables will be passed.
+ *
+ * This user defined function
+ * will need to return a result (representing the value of the function)
+ * based on the parameters passed as an array of double values.
+ * If the number of parameters that a function takes is not known ahead of time,
+ * then the $paramCount parameter should be -1. Otherwise, it will be the
+ * number of parameters that will be passed to the function at runtime. Knowing the number of
+ * parameters ahead of time helps detect syntax errors during parsing. For example, if SIN(x) function
+ * descriptor did not tell us that it was taking only 1 parameter, then an expression like:
+ * SIN(x,y) would not cause syntax error during parsing, and if the implementation of SIN(x) did not check
+ * actual runtime number of parameters passed, then the problem could go undetected
+ * and the second y parameter could be ignored silently.
+ * @param $newFuncName - Name of the new function to create.
+ * @param $funcAddr - name of the PHP function that will be invoked when parser needs to execute this user defined function.
+ * @param $paramCount - number of parameters that this function takes. -1 means any number of parameters.
+ * @throws Exception
+ * @since 1.0.0
+ */
+ public function createFunc($newFuncName, $funcAddr, $paramCount): void
+ {
+ if ($newFuncName == null) {
+ throw new Exception("Function name cannot be null.");
+ }
+ if ($funcAddr == null) {
+ throw new Exception("Function implementation cannot be null.");
+ }
- /**
- * CreateFunc method creates a new function that takes n number of parameters (could be 0) in
- * the parser's list of functions. If the function name already exists then this method throws Exception.
- * Function name is not case sensitive.
- *
- * The second parameter is the name of the user defined function that is globally available:
- *
- * function funcName($parameter1 [, $parameter2,...]);
- *
- * During evaluation of the expression, when the registered function name is
- * encountered, the user supplied funcName will be called and variables will be passed.
- *
- * This user defined function
- * will need to return a result (representing the value of the function)
- * based on the parameters passed as an array of double values.
- * If the number of parameters that a function takes is not known ahead of time,
- * then the $paramCount parameter should be -1. Otherwise, it will be the
- * number of parameters that will be passed to the function at runtime. Knowing the number of
- * parameters ahead of time helps detect syntax errors during parsing. For example, if SIN(x) function
- * descriptor did not tell us that it was taking only 1 parameter, then an expression like:
- * SIN(x,y) would not cause syntax error during parsing, and if the implementation of SIN(x) did not check
- * actual runtime number of parameters passed, then the problem could go undetected
- * and the second y parameter could be ignored silently.
- * @param $newFuncName - Name of the new function to create.
- * @param $funcAddr - name of the PHP function that will be invoked when parser needs to execute this user defined function.
- * @param $paramCount - number of parameters that this function takes. -1 means any number of parameters.
- */
- public function createFunc($newFuncName, $funcAddr, $paramCount )
- {
- if ($newFuncName==null){ throw new Exception("Function name cannot be null."); }
- if ($funcAddr==null){ throw new Exception("Function implementation cannot be null."); }
+ $upcName = strtoupper($newFuncName);
+ if (!$this->isValidName($upcName)) { //must contain uppercase letters only
+ throw new Exception($this->getMessage1("NtFncNm", $newFuncName));
+ }
- $upcName = strtoupper($newFuncName);
- if (!$this->isValidName($upcName))
- { //must contain uppercase letters only
- throw new Exception($this->getMessage1("NtFncNm", $newFuncName));
- }
+ if ($this->isFunction($upcName)) {
+ throw new Exception($this->getMessage1("FncExst", $newFuncName));
+ } else if ($paramCount < -1)//-1 means num params unknown.
+ {
+ throw new Exception($this->getMessage2("WrngNPrms", $newFuncName, (string)$paramCount));
+ } else {
+ $func = new Mathparser_ParserFunction($upcName, $funcAddr, $paramCount);
+ //if newFuncName doesn't exist it is inserted:
+ $this->Functions[$upcName] = $func;
+ }
+ $this->Dirty = true; //previously bad expression may now be ok, we should reParse it
+ }
- if ($this->isFunction($upcName))
- {
- throw new Exception($this->getMessage1("FncExst", $newFuncName));
- }
- else if($paramCount<-1)//-1 means num params unknown.
- {
- throw new Exception($this->getMessage2("WrngNPrms", $newFuncName, (string)$paramCount));
- }
- else
- {
- $func = new Mathparser_ParserFunction($upcName, $funcAddr, $paramCount);
- //if newFuncName doesn't exist it is inserted:
- $this->Functions[$upcName]=$func;
- }
- $this->Dirty= true; //previously bad expression may now be ok, we should reParse it
- }
-
- /**
- * CreateDefaultFuncs method creates some predefined functions in the parser's list of functions.
- *
- * Predefined functions are:
- *
- * SQR: Square function which can be used as SQR(X)
- *
- * SIN: Sinus function which can be used as SIN(X), X is a real-type expression.
- * Sin returns the sine of the angle X in radians.
- *
- * COS: Cosinus function which can be used as COS(X), X is a real-type expression.
- * COS returns the cosine of the angle X in radians.
- *
- * ATAN: ArcTangent function which can be used as ATAN(X)
- * Returns the arctangent of a number as a numeric value between -PI/2 and PI/2 radians.
- *
- * SINH: Sinus Hyperbolic function which can be used as SINH(X)
- *
- * COSH: Cosinus Hyperbolic function which can be used as COSH(X)
- *
- * COTAN: which can be used as COTAN(X)
- *
- * TAN: which can be used as TAN(X)
- *
- * EXP: which can be used as EXP(X)
- *
- * LN: natural log, which can be used as LN(X)
- *
- * LOG: 10 based log, which can be used as LOG(X)
- *
- * SQRT: which can be used as SQRT(X)
- *
- * ABS: absolute value, which can be used as ABS(X)
- *
- * SIGN: SIGN(X) returns -1 if X<0; +1 if X>0, 0 if X=0; it can be used as SQR(X)
- *
- * TRUNC: Discards the fractional part of a number. e.g. TRUNC(-3.2) is -3, TRUNC(3.2) is 3.
- *
- * CEIL: CEIL(-3.2) = 3, CEIL(3.2) = 4
- *
- * FLOOR: FLOOR(-3.2) = -4, FLOOR(3.2) = 3
- *
- * VAL: VAL("3.1") = 3.1 Returns the floating point numeric value of the string argument.
- *
- * Predefined functions that take two parameters are:
- *
- * POW: The Power function raises Base to any power. For fractional exponents or
- * exponents greater than MaxInt, Base must be greater than 0.
- *
- * LOGN: The LogN function returns the log base N of X. Example: LOGN(10, 100) = 2
- *
- * MIN: MIN(2, 3) is 2.
- *
- * MAX: MAX(2, 3) is 3.
- *
- * IF: The IF(b, case1, case2) function provides branching capability.
- * If b is not 0, then it returns case1, else it returns case2.
- * Behavior is similar to PHP's: return b ? case1 : case2;
- * If b==0 then case1 will not be Evaluated, and vice versa.
- * Example: IF(HEIGHT, 3/HEIGHT, 3) will make sure 3/HEIGHT does not cause division by zero.
- *
- * Predefined functions that take no parameters are:
- * RND: RND() function generates a random number (double value) between 0 and 1.
- *
- * STR: STR(123) function returns the string representation of the passed value: "123".
- *
- * SUBSTR: SUBSTR("Hello", 1,3) function returns the substring just like PHP substring function.
- * The first parameter is the string, the second parameter is which index (0 based) to start copying,
- * and the last parameter is the number of characters to copy. For example, SUBSTR("Hello", 1,3) returns "ell".
- *
- * STRLEN: STRLEN("abc") function returns the length of the string parameter. For example, for "abc" it returns 3.
- *
- * CONCAT: CONCAT("abc","def",...) function returns the concatanated strings: "abcdef".
- * There is no preset limit on the number of parameters.
- *
- * TRIM: TRIM(" abc ") function returns the trimmed version of the string parameter: " abc " -> "abc".
- *
- * SUM: SUM(2,3,5,...) functions returns the sum of it's arguments. There is no preset limit on the number of parameters.
- *
- * User functions can be added using CreateFunc method.
- * Functions and Variables can be deleted using DeleteVar, DeleteFunc,
- * DeleteAllVars, DeleteAllFuncs methods.
- */
- public function createDefaultFuncs()
- {
+ /**
+ * CreateDefaultFuncs method creates some predefined functions in the parser's list of functions.
+ *
+ * Predefined functions are:
+ *
+ * SQR: Square function which can be used as SQR(X)
+ *
+ * SIN: Sinus function which can be used as SIN(X), X is a real-type expression.
+ * Sin returns the sine of the angle X in radians.
+ *
+ * COS: Cosinus function which can be used as COS(X), X is a real-type expression.
+ * COS returns the cosine of the angle X in radians.
+ *
+ * ATAN: ArcTangent function which can be used as ATAN(X)
+ * Returns the arctangent of a number as a numeric value between -PI/2 and PI/2 radians.
+ *
+ * SINH: Sinus Hyperbolic function which can be used as SINH(X)
+ *
+ * COSH: Cosinus Hyperbolic function which can be used as COSH(X)
+ *
+ * COTAN: which can be used as COTAN(X)
+ *
+ * TAN: which can be used as TAN(X)
+ *
+ * EXP: which can be used as EXP(X)
+ *
+ * LN: natural log, which can be used as LN(X)
+ *
+ * LOG: 10 based log, which can be used as LOG(X)
+ *
+ * SQRT: which can be used as SQRT(X)
+ *
+ * ABS: absolute value, which can be used as ABS(X)
+ *
+ * SIGN: SIGN(X) returns -1 if X<0; +1 if X>0, 0 if X=0; it can be used as SQR(X)
+ *
+ * TRUNC: Discards the fractional part of a number. e.g. TRUNC(-3.2) is -3, TRUNC(3.2) is 3.
+ *
+ * CEIL: CEIL(-3.2) = 3, CEIL(3.2) = 4
+ *
+ * FLOOR: FLOOR(-3.2) = -4, FLOOR(3.2) = 3
+ *
+ * VAL: VAL("3.1") = 3.1 Returns the floating point numeric value of the string argument.
+ *
+ * Predefined functions that take two parameters are:
+ *
+ * POW: The Power function raises Base to any power. For fractional exponents or
+ * exponents greater than MaxInt, Base must be greater than 0.
+ *
+ * LOGN: The LogN function returns the log base N of X. Example: LOGN(10, 100) = 2
+ *
+ * MIN: MIN(2, 3) is 2.
+ *
+ * MAX: MAX(2, 3) is 3.
+ *
+ * IF: The IF(b, case1, case2) function provides branching capability.
+ * If b is not 0, then it returns case1, else it returns case2.
+ * Behavior is similar to PHP's: return b ? case1 : case2;
+ * If b==0 then case1 will not be Evaluated, and vice versa.
+ * Example: IF(HEIGHT, 3/HEIGHT, 3) will make sure 3/HEIGHT does not cause division by zero.
+ *
+ * Predefined functions that take no parameters are:
+ * RND: RND() function generates a random number (double value) between 0 and 1.
+ *
+ * STR: STR(123) function returns the string representation of the passed value: "123".
+ *
+ * SUBSTR: SUBSTR("Hello", 1,3) function returns the substring just like PHP substring function.
+ * The first parameter is the string, the second parameter is which index (0 based) to start copying,
+ * and the last parameter is the number of characters to copy. For example, SUBSTR("Hello", 1,3) returns "ell".
+ *
+ * STRLEN: STRLEN("abc") function returns the length of the string parameter. For example, for "abc" it returns 3.
+ *
+ * CONCAT: CONCAT("abc","def",...) function returns the concatanated strings: "abcdef".
+ * There is no preset limit on the number of parameters.
+ *
+ * TRIM: TRIM(" abc ") function returns the trimmed version of the string parameter: " abc " -> "abc".
+ *
+ * SUM: SUM(2,3,5,...) functions returns the sum of it's arguments. There is no preset limit on the number of parameters.
+ *
+ * User functions can be added using CreateFunc method.
+ * Functions and Variables can be deleted using DeleteVar, DeleteFunc,
+ * DeleteAllVars, DeleteAllFuncs methods.
+ * @throws Exception
+ * @since 1.0.0
+ */
+ public function createDefaultFuncs(): void
+ {
$this->createFunc("SQR", 'mp_square_', 1);
$this->createFunc("SIN", 'sin', 1);
$this->createFunc("COS", 'cos', 1);
@@ -905,1347 +774,1044 @@ class MathParser
$this->createFunc("IF", 'if_', 3);
$this->createFunc("STRLEN", 'strlen', 1);
- $this->createFunc("STR", 'strval',1);
- $this->createFunc("SUBSTR", 'substr',3);
- $this->createFunc("CONCAT", 'mp_concat_',-1);
- $this->createFunc("TRIM", 'trim',1);
- $this->createFunc("RTRIM", 'rtrim',1);
- $this->createFunc("LTRIM", 'ltrim',1);
- $this->createFunc("CHR", 'chr',1);
- $this->createFunc("NUM", 'mp_num_',1);
+ $this->createFunc("STR", 'strval', 1);
+ $this->createFunc("SUBSTR", 'substr', 3);
+ $this->createFunc("CONCAT", 'mp_concat_', -1);
+ $this->createFunc("TRIM", 'trim', 1);
+ $this->createFunc("RTRIM", 'rtrim', 1);
+ $this->createFunc("LTRIM", 'ltrim', 1);
+ $this->createFunc("CHR", 'chr', 1);
+ $this->createFunc("NUM", 'mp_num_', 1);
$this->createFunc("SUM", 'sum_', -1);
- }
+ }
- /**
- * X, Y and PI variables can be predefined and can be immediately used in the expression.
- * Initial values of X and Y are 0. PI is 3.14159265358979
- */
- public function createDefaultVars()
- {
- try
- {
- $this->createVar("PI", 3.14159265358979, null);
- $this->createVar("X", 0.0, null);
- $this->createVar("Y", 0.0, null);
- }
- catch(Exception $e)
- {
- //we know that these are valid names, so there won't be an exception.
- }
- }
+ /**
+ * X, Y and PI variables can be predefined and can be immediately used in the expression.
+ * Initial values of X and Y are 0. PI is 3.14159265358979
+ * @since 1.0.0
+ */
+ public function createDefaultVars(): void
+ {
+ try {
+ $this->createVar("PI", 3.14159265358979);
+ $this->createVar("X", 0.0);
+ $this->createVar("Y", 0.0);
+ } catch (Exception $e) {
+ //we know that these are valid names, so there won't be an exception.
+ Log::add("Pi, X or Y could not be created: " . $e->getMessage(), Log::WARNING,"com_sportsmanager");
+ }
+ }
- /**
- * DeleteVar method deletes an existing variable from the list of available variables.
- * If the variable does not exist, then DeleteVar does nothing.
- *
- * When a variable is deleted Dirty flag is set to true so that next time
- * the Evaluate function is called the expression will be reparsed.
- * Variable name is not case sensitive.
- * @param varName - Name of the variable to delete.
- */
- public function deleteVar($varName)
- {
- if ($varName==null)
- {
- throw new Exception("Variable name cannot be null.");
- }
- //this function deletes the variable only if it finds it.
- $upcName = strtoupper($varName);
- unset($this->Variables[$upcName]);
- //TODO: Is this right?
- //$this->Variables = array_values($this->Variables);
- $this->Dirty = true;
- }
- /**
- * DeleteFunc method deletes an existing function from the list of available functions.
- * If the function does not exist, deleteFunc does nothing.
- *
- * When a function is deleted Dirty flag is set to true so that next time the
- * Evaluate function is called the expression will be reparsed.
- * Function name is not case sensitive.
- * @param funcName - Name of the function to delete.
- */
- public function deleteFunc($funcName)
- {
- if ($funcName==null)
- {
- throw new Exception("Function name cannot be null.");
- }
- $upcName = strtoupper($funcName);
- unset($this->Functions[$upcName]);
- //$this->Functions = array_values($this->Functions);
- $this->Dirty = true;
- }
+ /**
+ * Returns true if a function with the name 'funcName' is present in any of
+ * the current functions lists. Returns true if a function with the given name is defined. False otherwise.
+ * @param string $funcName - Name of the function in question.
+ * @return boolean
+ * @throws Exception
+ * @since 1.0.0
+ */
+ public function isFunction(string $funcName): bool
+ {
+ if ($funcName == null) {
+ throw new Exception("Function name cannot be null.");
+ }
+ $funcName = strtoupper($funcName);
+ return isset($this->Functions[$funcName]);
+ }
- /**
- * DeleteAllVars method deletes all variables from the list of available variables.
- *
- * This action may be useful when number of unused variables is too high that
- * causes performance to degrade.
- *
- * When a variable is deleted Dirty flag is set to true so that next time the
- * Evaluate function is called the expression will be reparsed.
- */
- public function deleteAllVars()
- {
- $this->Variables = array();
- $this->Dirty = true;
- }
+ /**
+ * Optimizes the parse tree by finding branches that evaluate to a constant and
+ * replacing them with a leaf representing the constant.
+ * Until the expression is changed and reparsed, further evaluation requests will be
+ * quicker.
+ *
+ * If the same expression will not be evaluated repeatedly with varying
+ * values of parameters used in it, then optimization will not bring any gain,
+ * but will slow performance.
+ *
+ * If OptimizationOn property is set to true, this method is called automatically when an
+ * evaluation is requested by calling Evaluate method or getValue() method.
+ * @ignore
+ * @since 1.0.0
+ */
+ public function optimize(): void
+ {
+ $this->Node = self::optimizeNode($this->Node);
+ }
- /**
- * DeleteAllFuncs method deletes all variables from the list of available functions.
- *
- * This action may be useful when number of unused functions is too high that
- * causes performance to degrade.
- *
- * When a function is deleted Dirty flag is set to true so that next time the
- * Evaluate function is called the expression will be reparsed.
- */
- public function deleteAllFuncs()
- {
- $this->Functions = array();
- $this->Dirty = true;
- }
- /**
- * FreeParseTree can be explicitly called to free the resources taken by the
- * allocated Parse tree when an expression is parsed. FreeParseTree sets the Dirty
- * flag to true so that next time the Evaluate function is called, expression will
- * be parsed forming a new, valid parse tree to be evaluated.
- */
- public function freeParseTree()
- {
- //delete FNode;
- $this->Node = null; //this should free it all
- $this->Dirty = true; //so that next time we call Evaluate, it will call the Parse method.
- }
- /**
- * Returns true if a variable with the name 'varName' is used in the current expression.
- * Variable name is not case sensitive. Throws exception if expression is not parsed
- * and cannot be parsed.
- * @param varName - Name of the variable in question.
- * @return Returns true if the variable with the given name was actually used in the current expression. Returns false otherwise.
- */
- public function isVariableUsed($varName)
- {
- if ($varName==null){ throw new Exception("Variable name cannot be null."); }
+ /**
+ * Value property is a read only property which returns the result of the expression.
+ * throws Exception if expression cannot be parsed. Return value is either Double or String.
+ * @return double|string
+ * @throws Mathparser_ParserException
+ * @since 1.0.0
+ */
+ public function getValue(): float|string
+ {
+ return $this->evaluate();
+ }
- if($this->Dirty)
- {
- parse(); //to create Parse tree if it is not created yet.
- }
+ //------------------------------------------------------------------------------
+ //END OF PUBLIC METHODS.
+ //------------------------------------------------------------------------------
- $varName = strtoupper($varName);
- return $this->Node->isVariableUsed($varName);
- }
- /**
- * Returns true if a function with the name 'funcName' is used in the current expression.
- * Function name is not case sensitive. Throws exception if expression is not parsed and cannot be parsed.
- * Returns true if the function with the given name was actually used in the current expression.
- * Returns false otherwise.
- * @param string $funcName - Name of the function in question.
- * @return boolean
- */
- public function isFunctionUsed($funcName)
- {
- if ($funcName==null){ throw new Exception("Function name cannot be null."); }
- if ($this->Dirty)
- {
- parse(); //to create Parse tree if it is not created yet.
- }
+ /**
+ * @param $index
+ * @param $c
+ * @return bool
+ * @ignore
+ * Valid char definition for function and variable names.
+ * @since 1.0.0
+ */
+ private function isValidChar($index, $c): bool
+ {
+ if ($index == 0) {
+ if (($c >= 'A' && $c <= 'Z')) {
+ return true;
+ }
+ if ($c == '_') {
+ return true;
+ }
+ return false;
+ }
+ if ((($c >= '0' && $c <= '9') || ($c >= 'A' && $c <= 'Z'))) {
+ return true;
+ }
+ if ($c == '_') {
+ return true;
+ }
+ return false;
+ }
- $funcName = strtoupper($funcName);
- return $this->Node->isFunctionUsed($funcName);
- }
- /**
- * Returns true if a variable with the name 'varName' is present in the current variables list.
- * For backward compatibility, IsVariable returns true for constants also.
- * For constants, you can use IsConstant. Returns true if the variable exists in the list of
- * variables of the parser instance. false otherwise.
- * @param string $varName - Name of the variable in question.
- * @return boolean
- */
- public function isVariable($varName)
- {
- if ($varName==null){ throw new Exception("Variable name cannot be null."); }
- $varName = strtoupper($varName);
- return isset($this->Variables[$varName]);
- }
+ /**
+ * Valid name definition for function and variable names.
+ * @param $name
+ * @return bool
+ * @ignore
+ * @since 1.0.0
+ */
+ private function isValidName($name): bool
+ {
+ $len = strlen($name);
+ for ($i = 0; $i < $len; $i++) {
+ if (!$this->isValidChar($i, $name[$i])) {
+ return false;
+ }
+ }
+ return true;
+ }
+ //------------------------------------------------------------------------------
- /**
- * Returns true if a function with the name 'funcName' is present in any of
- * the current functions lists. Returns true if a function with the given name is defined. False otherwise.
- * @param string $funcName - Name of the function in question.
- * @return boolean
- */
- public function isFunction($funcName)
- {
- if ($funcName==null){ throw new Exception("Function name cannot be null."); }
- $funcName = strtoupper($funcName);
- return isset($this->Functions[$funcName]);
- }
+ /**
+ * Makes sure number of opening brackets "(" are equal to
+ * the number of closing brackets ")" and they are consistent.
+ * @param $formula
+ * @return int
+ * @ignore
+ * @since 1.0.0
+ */
+ protected static function checkBrackets($formula): int
+ {
+ //this function checks to see if the order and double of brackets are correct
+ //it will say ok if it sees something like 3+()()
+ $n = 0;
+ $len = strlen($formula);
+ $insideStringConst = false;
+ for ($i = 0; $i < $len; $i++) { //if length<1 loop won't execute
+ $ch = $formula[$i];
+ if ($ch == '\"')//support string literals in the expression.
+ {
+ $insideStringConst = !$insideStringConst;
+ continue;
+ }
+ if (!$insideStringConst) {
+ if ($ch == '(')
+ ++$n;
+ else if ($ch == ')')
+ --$n;
- /**
- * Returns the list of variables used in the current expression as an array of Strings.
- * Each element of the array is guaranteed not to be null.
- * If variables are not defined ahead of time, then $VariableResolver must have been set.
- * Otherwise, when an undefined variable is found in the expression, ParserException will be thrown.
- * Return array of variable names that are currently defined for this parser instance.
- * @return array
- */
- public function getVariablesUsed()
- {
- if ($this->Dirty && $this->Expression!=null && strlen($this->Expression)>0)
- {
- parse();
- }
- return findVariablesUsed($this->Node);
- }
+ if ($n < 0) return $i; //at any moment if expression is valid we cannot have more ) then (
+ }
+ }
+ return ($n == 0) ? -1 : $len; //true if double of brackets matches
+ }
+ //------------------------------------------------------------------------------
- /**
- * @ignore
- * @param object $aNode
- * @return array
- */
- static function findVariablesUsed($aNode)
- {
- $list = array();
- if ($aNode instanceof Mathparser_VarNode)
- {
- $list[]=$aNode->VarName;
- }
- else if ($aNode.nodes)
- {
- foreach ($aNode.nodes as $n)
- {
- if ( $n instanceof Mathparser_VarNode )
- {
- $list[]=$n->VarName;
- }
- else
- {
- $list = array_merge($list, findVariablesUsed($n));
- }
- }
- }
- return $list;
- }
+ /**
+ * Removes unncessary outer brackets in an expression.
+ * @param $formula
+ * @return mixed|string
+ * @ignore
+ * @since 1.0.0
+ */
+ protected static function removeOuterBrackets($formula): mixed
+ {
+ //has to be careful about (X+1)-(Y-1)
+ //should not remove the outer brackets here thinking that they are unnecessary
+ //but should remove when ((X+1)-(Y-1))
+ $temp = $formula;
+ $Len = strlen($temp);
+ while (($Len > 2) && ($temp[0] == '(') && ($temp[$Len - 1] == ')')) {
+ $temp = trim(substr($temp, 1, $Len - 2));
+ if (self::checkBrackets($temp) == -1) { //if we did not screw up then assign to the return value
+ $formula = $temp;
+ }
+ $Len = strlen($temp);
+ }
+ return $formula;
+ }
+ //------------------------------------------------------------------------------
- /**
- * Returns the list of variables as an array of Strings.
- * Each element of the array is guaranteed not to be null.
- * Returns array of variable names that are currently defined for this parser instance.
- * @return array
- */
- public function getVariables()
- {
- return array_keys($this->Variables);
- }
+ /**
+ * Determines if a given string is a valid double number or not.
+ * If it is valid, the actual double value is returned out in the out parameter dblVal.
+ * @param $formula - Expression to parse.
+ * @param $dblVal - Output double value
+ * @ignore
+ * @since 1.0.0
+ */
+ protected static function isValidDouble($formula, &$dblVal): bool
+ {
+ if (is_numeric($formula)) {
+ $dblVal = (float)$formula;
+ return true;
+ }
+ return false;
+ }
- /**
- * Returns a String array of function names declared for this parser.
- * Elements of the array are guaranteed not to be null.
- * Returns array of function names that are currently defined for this parser instance.
- * @return array
- */
- public function getFunctions()
- {
- return array_keys($this->Functions);
- }
+ /**
+ * Returns the string literal if this formula is a string literal such as "abc".
+ * Escape character is " inside the string. Meaning, to have quotes inside the
+ * string it would be like this:
+ * "abc""defg".
+ * Returns null if this is not a valid string literal.
+ * @param $formula - The sub expression in question.
+ * @return string|null the string that is inside the "" after "" escapes inside the string are processed. Null if the string is not valid.
+ * @ignore
+ * @since 1.0.0
+ */
+ private static function getStringLiteral($formula): ?string
+ {
+ $len = strlen($formula);
+ if (!($len > 1 && $formula[0] == '"' && $formula[$len - 1] == '"')) {
+ return null;
+ }
+ $temp = substr($formula, 1, $len - 2);
+ if (self::checkEscapes($temp)) {
+ return str_replace('""', '"', $temp);
+ }
+ return null;
+ }
- /**
- * Optimizes the parse tree by finding branches that evaluate to a constant and
- * replacing them with a leaf representing the constant.
- * Until the expression is changed and reparsed, further evaluation requests will be
- * quicker.
- *
- * If the same expression will not be evaluated repeatedly with varying
- * values of parameters used in it, then optimization will not bring any gain,
- * but will slow performance.
- *
- * If OptimizationOn property is set to true, this method is called automatically when an
- * evaluation is requested by calling Evaluate method or getValue() method.
- * @ignore
- */
- public function optimize()
- {
- $this->Node = self::optimizeNode($this->Node);
- }
+ /**
+ * @param $formula
+ * @return boolean
+ * @ignore
+ * @since 1.0.0
+ */
+ private static function checkEscapes($formula): bool
+ {
+ //this function checks to see if the escaped quotes match.
+ $len = strlen($formula);
+ $insideStringConst = false;
+ for ($i = 0; $i < $len; $i++) { //if length<1 loop won't execute
+ $ch = $formula[$i];
+ if ($ch == '"') //support string literals in the expression.
+ {
+ if ($insideStringConst) {
+ return false; //too many quotes.
+ }
+ ++$i;
+ if ($i < $len && $formula[$i] == '"') {
+ $insideStringConst = true;
+ } else {
+ return false;
+ }
+ continue;
+ }
+ $insideStringConst = false;
+ }
+ return true;
+ }
+ //------------------------------------------------------------------------------
- /**
- * Value property is a read only property which returns the result of the expression.
- * throws Exception if expression cannot be parsed. Return value is either Double or String.
- * @return mixed
- */
- public function getValue()
- {
- return $this->evaluate();
- }
+ /**
+ * Compiles the parse tree of the given expression.
+ * @param $expToParse - Mathematical expression.
+ * @return mixed node of the parse tree.
+ * @throws Mathparser_ParserException
+ * @since 1.0.0
+ * @ignore
+ */
+ protected function createParseTree($expToParse): mixed
+ {
+ $expToParse = trim($expToParse);
+ if (($len = strlen($expToParse)) == 0) {
+ return null;
+ }
- /**
- * Value property is a read only property which returns the result of the expression.
- * throws Exception if expression cannot be parsed. Return value is is a Double.
- * @return float
- */
- public function getValueAsDouble()
- {
- $obj = $this->evaluate();
- //if(is_string($obj))
- //{
- // return (float)$obj;
- //}
- return (float)$obj;
- }
+ $formula = $this->removeOuterBrackets($expToParse); //remove unnecessary brackets
- /**
- * Value property is a read only property which returns the result of the expression.
- * throws Exception if expression cannot be parsed. Return value is a string.
- * @return string
- */
- public function getValueAsString()
- {
- return (string)evaluate();
- }
-
- //------------------------------------------------------------------------------
- //END OF PUBLIC METHODS.
- //------------------------------------------------------------------------------
+ if (strlen($formula) != $len) {
+ $formula = trim($formula);
+ if (strlen($formula) == 0) {
+ return null;
+ }
+ }
- /**
- * @ignore
- * Valid char definition for function and variable names.
- * @param index
- * @param c
- */
- private function isValidChar($index, $c)
- {
- if ($index==0)
- {
- if ( ($c>='A' && $c<='Z') )
- {
- return true;
- }
- if ($c=='_'){ return true; }
- return false;
- }
- if ( (($c>='0' && $c<='9') || ($c>='A' && $c<='Z')) )
- {
- return true;
- }
- if ($c=='_'){ return true; }
- return false;
- }
- /**
- * Valid name definition for function and variable names.
- * @param name
- * @ignore
- */
- private function isValidName($name)
- {
- $len = strlen($name);
- for ($i=0; $i<$len; $i++)
- {
- if(!$this->isValidChar($i, $name[$i]))
- {
- return false;
- }
- }
- return true;
- }
- //------------------------------------------------------------------------------
- /**
- * Makes sure number of opening brackets "(" are equal to
- * the number of closing brackets ")" and they are consistent.
- * @param formula
- * @ignore
- */
- protected static function checkBrackets($formula)
- {
- //this function checks to see if the order and double of brackets are correct
- //it will say ok if it sees something like 3+()()
- $n=0;
- $len = strlen($formula);
- $ch;
- $insideStringConst = false;
- for ($i = 0; $i<$len; $i++)
- { //if length<1 loop won't execute
- $ch = $formula[$i];
- if($ch=='\"')//support string literals in the expression.
- {
- $insideStringConst = !$insideStringConst;
- continue;
- }
- if(!$insideStringConst)
- {
- if ($ch == '(')
- ++$n;
- else if ($ch == ')')
- --$n;
+ //is this text a simple double value?
+ $dblVal = null;
+ if ($this->isValidDouble($formula, $dblVal)) { //attach a double node in the structure
+ return new Mathparser_BasicNode($dblVal); //we create a double node and attach it to the *Node reference.
+ }
- if ($n<0) return $i; //at any moment if expression is valid we cannot have more ) then (
- }
- }
- return ($n == 0) ? -1 : $len; //true if double of brackets matches
- }
- //------------------------------------------------------------------------------
- /**
- * Removes unncessary outer brackets in an expression.
- * @param formula
- * @ignore
- */
- protected static function removeOuterBrackets($formula)
- {
- //has to be careful about (X+1)-(Y-1)
- //should not remove the outer brackets here thinking that they are unnecessary
- //but should remove when ((X+1)-(Y-1))
- $temp = $formula;
- $Len = strlen($temp);
- while (($Len>2) && ($temp[0] == '(') && ($temp[$Len-1] == ')') )
- {
- $temp = trim(substr($temp, 1, $Len-2));
- if (self::checkBrackets($temp)==-1)
- { //if we did not screw up then assign to the return value
- $formula = $temp;
- }
- $Len = strlen($temp);
- }
- return $formula;
- }
- //------------------------------------------------------------------------------
- /**
- * Determines if a given string is a valid double number or not.
- * If it is valid, the actual double value is returned out in the out parameter dblVal.
- * @param formula - Expression to parse.
- * @param dblVal - Output double value
- * @ignore
- */
- protected static function isValidDouble($formula, &$dblVal )
- {
- if(is_numeric($formula)){
- $dblVal = (float)$formula;
- return true;
- }
- return false;
- }
- /**
- * Returns the string literal if this formula is a string literal such as "abc".
- * Escape character is " inside the string. Meaning, to have quotes inside the
- * string it would be like this:
- * "abc""defg".
- * Returns null if this is not a valid string literal.
- * @param formula - The sub expression in question.
- * @return the string that is inside the "" after "" escapes inside the string are processed. Null if the string is not valid.
- * @ignore
- */
- private static function getStringLiteral($formula)
- {
- $len=strlen($formula);
- if (!($len>1 && $formula[0]=='"' && $formula[$len-1]=='"'))
- {
- return null;
- }
- $temp = substr($formula, 1,$len-2);
- if(self::checkEscapes($temp))
- {
- return str_replace('""', '"', $temp);
- }
- return null;
- }
+ if ($this->StringLiteralsAllowed) {
+ $tempFormula = $this->getStringLiteral($formula);
+ if ($tempFormula != null) {
+ return new Mathparser_BasicNode($tempFormula); //we create a double node and attach it to the *Node reference.
+ }
+ }
- /**
- * @ignore
- * @param $formula
- * @return boolean
- */
- private static function checkEscapes($formula)
- {
- //this function checks to see if the escaped quotes match.
- $len = strlen($formula);
- $ch;
- $insideStringConst = false;
- for ($i = 0; $i<$len; $i++)
- { //if length<1 loop won't execute
- $ch = $formula[$i];
- if($ch=='"') //support string literals in the expression.
- {
- if($insideStringConst)
- {
- return false; //too many quotes.
- }
- ++$i;
- if($i<$len && $formula[$i]=='"')
- {
- $insideStringConst = true;
- }
- else
- {
- return false;
- }
- continue;
- }
- $insideStringConst = false;
- }
- return true;
- }
- //------------------------------------------------------------------------------
- /**
- * Compiles the parse tree of the given expression.
- * @param expToParse - Mathematical expression.
- * @return Root node of the parse tree.
- * @ignore
- */
- protected function createParseTree($expToParse)
- {
- $expToParse = trim($expToParse);
- if (($len=strlen($expToParse))==0)
- {
- return null;
- }
+ //if it is not a simple double or a string, maybe it is a variable?
+ $varNode = $this->createVarNode($formula);
+ if ($varNode != null) {
+ return $varNode;
+ }
- $formula = $this->removeOuterBrackets($expToParse); //remove unnecessary brackets
-
- if(strlen($formula)!=$len)
- {
- $formula = trim($formula);
- if (strlen($formula)==0)
- {
- return null;
- }
- }
+ //if it is not a variable
+ $LastOper = $this->findLastOper($formula);
- //is this text a simple double value?
- $dblVal;
- if ($this->isValidDouble($formula, $dblVal) )
- { //attach a double node in the structure
- return new Mathparser_BasicNode($dblVal); //we create a double node and attach it to the *Node reference.
- }
+ $funcAddr = null;
+ if (!($LastOper > 0)) //if it is 0 then it is a unary operation which is a one param function
+ {
+ $param = null;
+ if ($this->isOneParamFunc($formula, $funcAddr, $param, $LastOper)) {
+ if (($leftNode = $this->createParseTree($param)) == null) {
+ throw new Mathparser_ParserException($this->getMessage2("ExpNtVld", $param, $formula), $param, $formula);
+ }
+ if ($funcAddr != null) {
+ return new Mathparser_NParamNode(array($leftNode), $funcAddr);
+ }
+ }
+ }
- if($this->StringLiteralsAllowed)
- {
- $tempFormula = $this->getStringLiteral($formula);
- if ( $tempFormula!=null )
- {
- return new Mathparser_BasicNode($tempFormula); //we create a double node and attach it to the *Node reference.
- }
- }
+ $paramLeft = null;
+ $paramRight = null;
+ if ($this->isTwoParamFunc($formula, $funcAddr, $paramLeft, $paramRight, $LastOper)) {
+ if (($leftNode = $this->createParseTree($paramLeft)) == null) {
+ throw new Mathparser_ParserException($this->getMessage2("ExpNtVld", $paramLeft, $formula), $paramLeft, $formula);
+ }
+ if (($rightNode = $this->createParseTree($paramRight)) == null) {
+ throw new Mathparser_ParserException($this->getMessage2("ExpNtVld", $paramRight, $formula), $paramRight, $formula);
+ }
+ //if there is a function address returned then we use it, otherwise we use function name
+ if ($funcAddr != null) {
+ return new Mathparser_NParamNode(array($leftNode, $rightNode), $funcAddr);
+ }
+ }
- //if it is not a simple double or a string, maybe it is a variable?
- $varNode = $this->createVarNode($formula);
- if($varNode!=null)
- {
- return $varNode;
- }
+ $parms = null;
+ //if it is none of the above:
+ if ($this->isNParamFunc($formula, /*out*/ $funcAddr, /*out*/ $parms)) {
+ if (!isset($parms)) {
+ //We now allow functions with no parameters.
+ throw new Mathparser_ParserException($this->getMessage1("InvNPrm", $formula), $formula, $formula);
+ }
+ $nParam = count($parms);
+ $nodes = array();
+ for ($i = 0; $i < $nParam; $i++) {
+ if (($leftNode = $this->createParseTree($parms[$i])) == null) {
+ throw new Mathparser_ParserException($this->getMessage2("ExpNtVld", $parms[$i], $formula), $parms[$i], $formula);
+ }
+ $nodes[$i] = $leftNode;
+ }
- //if it is not a variable
- $leftNode = null;
- $rightNode = null;
- $LastOper= $this->findLastOper($formula);
+ //if there is a function address returned then we use it, otherwise we use function name
+ if ($funcAddr != null) {
+ return new Mathparser_NParamNode($nodes, $funcAddr);
+ }
+ }
+ //when code reaches here it means we did not return true so after compiling the expression.
+ return null;
+ }
- $funcAddr=null;
- if (! ($LastOper>0) ) //if it is 0 then it is a unary operation which is a one param function
- {
- $param=null;
- if ( $this->isOneParamFunc($formula, $funcAddr, $param, $LastOper) )
- {
- if (($leftNode = $this->createParseTree($param)) == null )
- {
- throw new Mathparser_ParserException($this->getMessage2("ExpNtVld", $param, $formula), $param, $formula);
- }
- if ($funcAddr != null)
- {
- return new Mathparser_NParamNode(array($leftNode), $funcAddr);
- }
- }
- }
+ //------------------------------------------------------------------------------
- $paramLeft=null;
- $paramRight=null;
- if ($this->isTwoParamFunc($formula, $funcAddr, $paramLeft, $paramRight, $LastOper) )
- {
- if (($leftNode = $this->createParseTree($paramLeft)) == null)
- {
- throw new Mathparser_ParserException($this->getMessage2("ExpNtVld", $paramLeft, $formula), $paramLeft, $formula);
- }
- if (($rightNode = $this->createParseTree($paramRight)) == null )
- {
- throw new Mathparser_ParserException($this->getMessage2("ExpNtVld", $paramRight, $formula), $paramRight, $formula);
- }
- //if there is a function address returned then we use it, otherwise we use function name
- if ($funcAddr != null)
- {
- return new Mathparser_NParamNode(array($leftNode, $rightNode), $funcAddr);
- }
- }
-
- $parms=null;
- //if it is none of the above:
- if ($this->isNParamFunc($formula, /*out*/ $funcAddr, /*out*/ $parms, $LastOper) )
- {
- if (!isset($parms))
- {
- //We now allow functions with no parameters.
- throw new Mathparser_ParserException($this->getMessage1("InvNPrm", $formula), $formula, $formula);
- }
- $nParam = count($parms);
- $nodes = array();
- for ($i=0; $i<$nParam; $i++)
- {
- if ( ($leftNode = $this->createParseTree($parms[$i]) )== null)
- {
- throw new Mathparser_ParserException($this->getMessage2("ExpNtVld", $parms[$i], $formula), $parms[$i], $formula);
- }
- $nodes[$i] = $leftNode;
- }
+ /**
+ * Finds the index of the last math operation in an expression.
+ * @param $formula - Math expression.
+ * @return int index of the last operand.
+ * @ignore
+ * @since 1.0.0
+ */
+ private static function findLastOper($formula): int
+ { //returns -1 if it cannot find anything
+ $Precedence = 13; //There are 12 operands and 13 is higher then all
+ $BracketLevel = 0; //shows the level of brackets we moved through
+ $Result = -1;
+ $Len = strlen($formula);
+ $lastWasOperator = 0;
+ $insideStringLiteral = false;
+ for ($i = 0; $i < $Len; $i++) //from left to right scan...
+ {
+ $current_ch = $formula[$i];
+ if ($current_ch == '"') {
+ $insideStringLiteral = !$insideStringLiteral;
+ $lastWasOperator = 0;
+ continue;
+ }
+ if ($insideStringLiteral) {
+ continue; //skip string literals.
+ }
+ if ($lastWasOperator > 2) {
+ return -1;
+ }
+ switch ($current_ch) {
+ case ')' :
+ --$BracketLevel; //counting bracket levels
+ $lastWasOperator = 0;
+ break;
+ case '(' :
+ ++$BracketLevel;
+ $lastWasOperator = 0;
+ break;
- //if there is a function address returned then we use it, otherwise we use function name
- if ($funcAddr != null)
- {
- return new Mathparser_NParamNode($nodes, $funcAddr);
- }
- }
- //when code reaches here it means we did not return true so after compiling the expression.
- return null;
- }
- //------------------------------------------------------------------------------
- /**
- * Finds the index of the last math operation in an expression.
- * @param formula - Math expression.
- * @return index of the last operand.
- * @ignore
- */
- private static function findLastOper($formula)
- { //returns -1 if it cannot find anything
- $Precedence = 13; //There are 12 operands and 13 is higher then all
- $BracketLevel = 0; //shows the level of brackets we moved through
- $Result = -1;
- $Len = strlen($formula);
- $lastWasOperator = 0;
- $insideStringLiteral = false;
- for ($i = 0; $i<$Len; $i++) //from left to right scan...
- {
- $current_ch = $formula[$i];
- if($current_ch=='"')
- {
- $insideStringLiteral = !$insideStringLiteral;
- $lastWasOperator=0;
- continue;
- }
- if($insideStringLiteral)
- {
- continue; //skip string literals.
- }
- if ($lastWasOperator>2)
- {
- return -1;
- }
- switch ($current_ch)
- {
- case ')' :
- --$BracketLevel; //counting bracket levels
- $lastWasOperator = 0;
- break;
- case '(' :
- ++$BracketLevel;
- $lastWasOperator = 0;
- break;
+ case '|' :
+ if (!($BracketLevel > 0 || $lastWasOperator > 0))
+ if ($Precedence >= 1) {
+ $Precedence = 1;
+ $Result = $i;
+ }
+ ++$lastWasOperator;
+ break;
- case '|' :
- if (! ($BracketLevel > 0 || $lastWasOperator>0) )
- if ($Precedence >= 1 )
- {
- $Precedence = 1;
- $Result = $i;
- }
- ++$lastWasOperator;
- break;
+ case '&' :
+ if (!($BracketLevel > 0 || $lastWasOperator > 0))
+ if ($Precedence >= 2) {
+ $Precedence = 2;
+ $Result = $i;
+ }
+ ++$lastWasOperator;
+ break;
- case '&' :
- if (! ($BracketLevel > 0 || $lastWasOperator>0) )
- if ($Precedence >= 2 )
- {
- $Precedence = 2;
- $Result = $i;
- }
- ++$lastWasOperator;
- break;
+ case '!' :
+ if (!($BracketLevel > 0 || $lastWasOperator > 0))
+ if ($Precedence >= 3) {
+ $Precedence = 3;
+ $Result = $i;
+ }
+ ++$lastWasOperator;
+ break;
- case '!' :
- if (! ($BracketLevel > 0 || $lastWasOperator>0) )
- if ($Precedence >= 3 )
- {
- $Precedence = 3;
- $Result = $i;
- }
- ++$lastWasOperator;
- break;
+ case '=' :
+ if (!($BracketLevel > 0 || $lastWasOperator > 0))
+ if ($Precedence >= 4) {
+ $Precedence = 4;
+ $Result = $i;
+ }
+ if ($lastWasOperator > 0) {
+ $prevOperIndex = $i - $lastWasOperator;
+ if ($formula[$prevOperIndex] == '<' || $formula[$prevOperIndex] == '>') {
+ break; //skip incrementing lastWasOperator variable.
+ }
+ }
- case '=' :
- if (! ($BracketLevel > 0 || $lastWasOperator>0) )
- if ($Precedence >= 4 )
- {
- $Precedence = 4;
- $Result = $i;
- }
- if($lastWasOperator>0)
- {
- $prevOperIndex = $i-$lastWasOperator;
- if($formula[$prevOperIndex]=='<' || $formula[$prevOperIndex]=='>')
- {
- break; //skip incrementing lastWasOperator variable.
- }
- }
+ ++$lastWasOperator;
+ break;
- ++$lastWasOperator;
- break;
+ case '>' :
+ if (!($BracketLevel > 0 || $lastWasOperator > 0))
+ if ($Precedence >= 5) {
+ $Precedence = 5;
+ $Result = $i;
+ }
+ if ($lastWasOperator > 0) {
+ if ($formula[$i - $lastWasOperator] == '<') {
+ break;
+ }
+ }
- case '>' :
- if (! ($BracketLevel > 0 || $lastWasOperator>0) )
- if ($Precedence >= 5 )
- {
- $Precedence = 5;
- $Result = $i;
- }
- if($lastWasOperator>0)
- {
- if($formula[$i-$lastWasOperator]=='<')
- {
- break;
- }
- }
+ ++$lastWasOperator;
+ break;
- ++$lastWasOperator;
- break;
+ case '<' :
+ if (!($BracketLevel > 0 || $lastWasOperator > 0))
+ if ($Precedence >= 5) {
+ $Precedence = 5;
+ $Result = $i;
+ }
+ ++$lastWasOperator;
+ break;
- case '<' :
- if (! ($BracketLevel > 0 || $lastWasOperator>0) )
- if ($Precedence >= 5 )
- {
- $Precedence = 5;
- $Result = $i;
- }
- ++$lastWasOperator;
- break;
+ case '-' :
+ if (!($BracketLevel > 0 || $lastWasOperator > 0)) //a main operation has to be outside the brackets
+ if ($Precedence >= 7) //seeking for lowest precedence
+ {
+ $Precedence = 7;
+ $Result = $i; //record the current index.
+ }
+ ++$lastWasOperator;
+ break;
+ case '+' :
+ if (!($BracketLevel > 0 || $lastWasOperator > 0))
+ if ($Precedence >= 7) {
+ $Precedence = 7;
+ $Result = $i;
+ }
+ ++$lastWasOperator;
+ break;
+ case '/':
+ case '*':
+ case '%' :
+ if (!($BracketLevel > 0 || $lastWasOperator > 0))
+ if ($Precedence >= 9) {
+ $Precedence = 9;
+ $Result = $i;
+ }
+ ++$lastWasOperator;
+ break;
+ case '^' :
+ if (!($BracketLevel > 0 || $lastWasOperator > 0))
+ if ($Precedence >= 12) {
+ $Precedence = 12;
+ $Result = $i;
+ }
+ ++$lastWasOperator;
+ break;
- case '-' :
- if (! ($BracketLevel > 0 || $lastWasOperator>0) ) //a main operation has to be outside the brackets
- if ($Precedence >= 7) //seeking for lowest precedence
- {
- $Precedence = 7;
- $Result = $i; //record the current index.
- }
- ++$lastWasOperator;
- break;
- case '+' :
- if (! ($BracketLevel > 0 || $lastWasOperator>0) )
- if ($Precedence >= 7 )
- {
- $Precedence = 7;
- $Result = $i;
- }
- ++$lastWasOperator;
- break;
- case '%' :
- if (! ($BracketLevel > 0 || $lastWasOperator>0) )
- if ($Precedence >= 9 )
- {
- $Precedence = 9;
- $Result = $i;
- }
- ++$lastWasOperator;
- break;
- case '/' :
- if (! ($BracketLevel > 0 || $lastWasOperator>0) )
- if ($Precedence >= 9 )
- {
- $Precedence = 9;
- $Result = $i;
- }
- ++$lastWasOperator;
- break;
- case '*' :
- if (! ($BracketLevel > 0 || $lastWasOperator>0) )
- if ($Precedence >= 9 )
- {
- $Precedence = 9;
- $Result = $i;
- }
- ++$lastWasOperator;
- break;
- case '^' :
- if (! ($BracketLevel > 0 || $lastWasOperator>0) )
- if ($Precedence >= 12 )
- {
- $Precedence = 12;
- $Result = $i;
- }
- ++$lastWasOperator;
- break;
+ case 'E' :
+ if ($i > 0 && $lastWasOperator == 0) {
+ $ch = $formula[$i - 1];
+ if ($ch >= '0' && $ch <= '9') {//this E may be part of a number in scientific notation.
+ $j = $i;
+ while ($j > 0) { //trace back.
+ --$j;
+ $ch = $formula[$j];
+ if ($ch == '.' || ($ch >= '0' && $ch <= '9')) { //if it is not a function or variable name.
+ continue;
+ }
+ if ($ch == '_' || ($ch >= 'A' && $ch <= 'Z')) {//is it a func or var name?
+ $lastWasOperator = 0;
+ break; //break the while loop.
+ }
+ ++$lastWasOperator; //it must be an operator or a paranthesis.
+ break; //break the while loop.
+ }
+ if ($j == 0 && ($ch >= '0' && $ch <= '9')) {
+ ++$lastWasOperator;
+ }
+ } else {
+ $lastWasOperator = 0;
+ }
+ } else {
+ $lastWasOperator = 0;
+ }
+ break;
+ case ' ': //space:
+ break;
+ default :
+ $lastWasOperator = 0;
+ break;
+ }
+ }
+ return $Result;
+ }
+ //------------------------------------------------------------------------------
- case 'E' :
- if ($i > 0 && $lastWasOperator==0)
- {
- $ch = $formula[$i-1];
- if ($ch >= '0' && $ch <= '9')
- {//this E may be part of a number in scientific notation.
- $j=$i;
- while($j > 0)
- { //trace back.
- --$j;
- $ch = $formula[$j];
- if ($ch=='.' || ($ch >= '0' && $ch <= '9'))
- { //if it is not a function or variable name.
- continue;
- }
- if ($ch=='_' || ($ch>='A' && $ch<='Z'))
- {//is it a func or var name?
- $lastWasOperator = 0;
- break; //break the while loop.
- }
- ++$lastWasOperator; //it must be an operator or a paranthesis.
- break; //break the while loop.
- }
- if ($j==0 && ($ch >= '0' && $ch <= '9'))
- {
- ++$lastWasOperator;
- }
- }
- else
- {
- $lastWasOperator = 0;
- }
- }
- else
- {
- $lastWasOperator = 0;
- }
- break;
- case ' ': //space:
- break;
- default :
- $lastWasOperator=0;
- break;
- }
- }
- return $Result;
- }
- //------------------------------------------------------------------------------
- /**
- * Determines if a given expression by itself is a function that takes 2 parameters.
- * For example: and input of "MAX(x,y+1)" would return true.
- * @param formula - expression
- * @param funcAddr - The IFunction that this expression represents (if it is a function call)
- * @param paramLeft - Left parameter whose values will be sent out in a wrapper utility object.
- * @param paramRight - Right parameter group whose values will be sent out in a wrapper utility object.
- * @param CurrChar - current operand index in the expression
- * @return true if formula is a valid two parameter function.
- * @ignore
- */
- private function isTwoParamFunc( $formula,
- /*out*/ &$funcAddr, /*out*/ &$paramLeft, /*out*/ &$paramRight,
- $CurrChar //gives the last operation index in the string
- )
- {
- $funcAddr = null;
- $paramLeft = null;
- $paramRight = null;
- $Len= strlen($formula);
+ /**
+ * Determines if a given expression by itself is a function that takes 2 parameters.
+ * For example: and input of "MAX(x,y+1)" would return true.
+ * @param $formula - expression
+ * @param $funcAddr - The IFunction that this expression represents (if it is a function call)
+ * @param $paramLeft - Left parameter whose values will be sent out in a wrapper utility object.
+ * @param $paramRight - Right parameter group whose values will be sent out in a wrapper utility object.
+ * @param $CurrChar - current operand index in the expression
+ * @return true if formula is a valid two parameter function.
+ * @ignore
+ * @since 1.0.0
+ */
+ private function isTwoParamFunc($formula, &$funcAddr, &$paramLeft, &$paramRight,
+ $CurrChar //gives the last operation index in the string
+ ): bool
+ {
+ $funcAddr = null;
+ $paramLeft = null;
+ $paramRight = null;
+ $Len = strlen($formula);
- if ($CurrChar>0 ) //if function in question is an operand
- {
- if($CurrChar>$Len-2)
- {
- return false;
- }
- $CurrCh = $formula[$CurrChar];
+ if ($CurrChar > 0) //if function in question is an operand
+ {
+ if ($CurrChar > $Len - 2) {
+ return false;
+ }
+ $CurrCh = $formula[$CurrChar];
- //was it an operand also? we want to find <>, >=, <=
- if($CurrCh=='<')
- {
- $nextCh = $formula[$CurrChar+1]; //look ahead.
- if($nextCh=='>')
- {
- $funcAddr = self::$notequals__;
- $paramLeft = substr($formula, 0, $CurrChar);
- $paramRight= substr($formula, $CurrChar+2);
- }
- else if ($nextCh=='=')
- {
- $funcAddr = self::$ltequals__;
- $paramLeft = substr($formula, 0, $CurrChar);
- $paramRight= substr($formula, $CurrChar+2);
- }
- else
- {
- $funcAddr = self::$lt__; //default case.
- $paramLeft = substr($formula, 0, $CurrChar);
- $paramRight= substr($formula, $CurrChar+1);
- }
+ //was it an operand also? we want to find <>, >=, <=
+ if ($CurrCh == '<') {
+ $nextCh = $formula[$CurrChar + 1]; //look ahead.
+ if ($nextCh == '>') {
+ $funcAddr = self::$notequals__;
+ $paramLeft = substr($formula, 0, $CurrChar);
+ $paramRight = substr($formula, $CurrChar + 2);
+ } else if ($nextCh == '=') {
+ $funcAddr = self::$ltequals__;
+ $paramLeft = substr($formula, 0, $CurrChar);
+ $paramRight = substr($formula, $CurrChar + 2);
+ } else {
+ $funcAddr = self::$lt__; //default case.
+ $paramLeft = substr($formula, 0, $CurrChar);
+ $paramRight = substr($formula, $CurrChar + 1);
+ }
- if (! (strlen($paramLeft)>0) )
- {
- return false;
- }
- if (! (strlen($paramRight)>0) )
- {
- return false;
- }
- return true; //all output is assigned, now we return true.
- }
- else if($CurrCh=='>')
- {
- $nextCh = $formula[$CurrChar+1];
- if($nextCh=='=')
- {
- $funcAddr = self::$gtequals__;
- $paramLeft = substr($formula, 0, $CurrChar);
- $paramRight= substr($formula, $CurrChar+2);
- }
- else
- {
- $funcAddr = self::$gt__; //default case.
- $paramLeft = substr($formula, 0, $CurrChar);
- $paramRight= substr($formula, $CurrChar+1);
- }
- if (! (strlen($paramLeft)>0) )
- {
- return false;
- }
- if (! (strlen($paramRight)>0) )
- {
- return false;
- }
- return true; //all output is assigned, now we return true.
- }
- else
- {
+ if (!(strlen($paramLeft) > 0)) {
+ return false;
+ }
+ if (!(strlen($paramRight) > 0)) {
+ return false;
+ }
+ return true; //all output is assigned, now we return true.
+ } else if ($CurrCh == '>') {
+ $nextCh = $formula[$CurrChar + 1];
+ if ($nextCh == '=') {
+ $funcAddr = self::$gtequals__;
+ $paramLeft = substr($formula, 0, $CurrChar);
+ $paramRight = substr($formula, $CurrChar + 2);
+ } else {
+ $funcAddr = self::$gt__; //default case.
+ $paramLeft = substr($formula, 0, $CurrChar);
+ $paramRight = substr($formula, $CurrChar + 1);
+ }
+ if (!(strlen($paramLeft) > 0)) {
+ return false;
+ }
+ if (!(strlen($paramRight) > 0)) {
+ return false;
+ }
+ return true; //all output is assigned, now we return true.
+ } else {
- $paramLeft = substr($formula, 0, $CurrChar);
- if (! (strlen($paramLeft)>0) )
- {
- return false;
- }
+ $paramLeft = substr($formula, 0, $CurrChar);
+ if (!(strlen($paramLeft) > 0)) {
+ return false;
+ }
- $paramRight= substr($formula, $CurrChar+1);
- if (! (strlen($paramRight)>0) )
- {
- return false;
- }
+ $paramRight = substr($formula, $CurrChar + 1);
+ if (!(strlen($paramRight) > 0)) {
+ return false;
+ }
- switch ($formula[$CurrChar])
- {
- //analytical operators:
- case '+': $funcAddr = $this->AddOp; break;
- case '-': $funcAddr = self::$subtract__; break;
- case '*': $funcAddr = self::$mult__; break;
- case '/': $funcAddr = self::$div__; break;
- case '^': $funcAddr = self::$power__; break;
- case '%': $funcAddr = self::$mod__; break;
+ switch ($formula[$CurrChar]) {
+ //analytical operators:
+ case '+':
+ $funcAddr = $this->AddOp;
+ break;
+ case '-':
+ $funcAddr = self::$subtract__;
+ break;
+ case '*':
+ $funcAddr = self::$mult__;
+ break;
+ case '/':
+ $funcAddr = self::$div__;
+ break;
+ case '^':
+ $funcAddr = self::$power__;
+ break;
+ case '%':
+ $funcAddr = self::$mod__;
+ break;
- //logical operators:
- case '<': $funcAddr = self::$lt__; break;
- case '>': $funcAddr = self::$gt__; break;
- case '=': $funcAddr = self::$equals__; break;
- case '&': $funcAddr = $this->AndOp; break;
- case '|': $funcAddr = self::$or__; break;
- }
- }
- return true; //all output is assigned, now we return true.
- }
- //if we reach here, result is false
- //if main operation is not an operand but a function
- //$BracketLevel;
- //$paramStart;
- $temp='';
- if ($formula[$Len-1] == ')') //last character must be brackets closing function param list
- {
- $i= 0;
- while ($this->isValidChar($i, $formula[$i]))
- {
- $temp.=($formula[$i]);
- ++$i;
- }
- while($formula[$i]==' ')
- {
- ++$i;
- }
+ //logical operators:
+ case '<':
+ $funcAddr = self::$lt__;
+ break;
+ case '>':
+ $funcAddr = self::$gt__;
+ break;
+ case '=':
+ $funcAddr = self::$equals__;
+ break;
+ case '&':
+ $funcAddr = $this->AndOp;
+ break;
+ case '|':
+ $funcAddr = self::$or__;
+ break;
+ }
+ }
+ return true; //all output is assigned, now we return true.
+ }
+ //if we reach here, result is false
+ //if main operation is not an operand but a function
+ $temp = '';
+ if ($formula[$Len - 1] == ')') //last character must be brackets closing function param list
+ {
+ $i = 0;
+ while ($this->isValidChar($i, $formula[$i])) {
+ $temp .= ($formula[$i]);
+ ++$i;
+ }
+ while ($formula[$i] == ' ') {
+ ++$i;
+ }
- if (($formula[$i] == '(') && ($i < $Len-1) )
- {
- $func = $this->Functions[$temp];
- if ($func != null && $func->paramCount==2)
- {
- $funcAddr = $func;
- $paramStart= $i+1;
- $BracketLevel= 1;
- $insideStringLiteral = false;
- while (! ($i>$Len-1-1) ) //last character is a ')', that's why we use i>Len-1
- {
- ++$i;
- switch( $formula[$i] )
- {
- case '"': $insideStringLiteral = !$insideStringLiteral; break;
- case '(': if(!$insideStringLiteral)++$BracketLevel; break;
- case ')': if(!$insideStringLiteral)--$BracketLevel; break;
- case ',':
- if ((!$insideStringLiteral) && (1 == $BracketLevel) && ($i<$Len-2) ) //last character is a ')', that's why we use i>Len-2
- {
- $paramLeft= substr($formula, $paramStart, $i-$paramStart);
- $paramRight= substr($formula, $i+1, $Len-1-($i+1)); //last character is a ')', that's why we use Len-1-i
- return true; //we are sure that it is a two parameter function
- }
- break;
- }
- }
- }
- }
- }
- return false; //means we could not find it
- }
- //------------------------------------------------------------------------------
- /**
- * Determines if a given expression by itself is a function that takes 1 parameter.
- * For example: and input of "SIN(x)" would return true.
- * @param formula - expression
- * @param funcAddr - The IFunction that this node represents.
- * @param param - the parameter that will be passed into this function.
- * @param CurrChar - current operand index in the expression
- * @return true if formula is a valid one parameter function.
- * @ignore
- */
- private function isOneParamFunc( $formula,
- /*out*/ &$funcAddr, /*out*/ &$param,
- $CurrChar
- )
- {
- $funcAddr = null;
- $param = null;
- $paramStart;
- $Len= strlen($formula);
- if ($CurrChar == 0) //if function in question is an unary operand
- {
- $param= substr($formula, 1);
- if (! (strlen($param)>0) )
- {
- return false;
- }
+ if (($formula[$i] == '(') && ($i < $Len - 1)) {
+ $func = $this->Functions[$temp];
+ if ($func != null && $func->paramCount == 2) {
+ $funcAddr = $func;
+ $paramStart = $i + 1;
+ $BracketLevel = 1;
+ $insideStringLiteral = false;
+ while (!($i > $Len - 1 - 1)) //last character is a ')', that's why we use i>Len-1
+ {
+ ++$i;
+ switch ($formula[$i]) {
+ case '"':
+ $insideStringLiteral = !$insideStringLiteral;
+ break;
+ case '(':
+ if (!$insideStringLiteral) ++$BracketLevel;
+ break;
+ case ')':
+ if (!$insideStringLiteral) --$BracketLevel;
+ break;
+ case ',':
+ if ((!$insideStringLiteral) && (1 == $BracketLevel) && ($i < $Len - 2)) //last character is a ')', that's why we use i>Len-2
+ {
+ $paramLeft = substr($formula, $paramStart, $i - $paramStart);
+ $paramRight = substr($formula, $i + 1, $Len - 1 - ($i + 1)); //last character is a ')', that's why we use Len-1-i
+ return true; //we are sure that it is a two parameter function
+ }
+ break;
+ }
+ }
+ }
+ }
+ }
+ return false; //means we could not find it
+ }
+ //------------------------------------------------------------------------------
- switch ($formula[$CurrChar])
- {
- case '+': $funcAddr = self::$unaryadd__; break;
- case '-': $funcAddr = self::$negate__; break;
- case '!': $funcAddr = self::$not__; break;
- default: return false; //only + and - can be unary operators
- }
- return true; //all output is assigned, now we exit.
- }
- //if we reach here, result is false
- //if main operation is not an operand but a function
- if ($formula[$Len-1] == ')') //last character must be brackets closing function param list
- {
- $i= 0;
- $temp = '';
- while ($this->isValidChar($i, $formula[$i]))
- {
- $temp.=($formula[$i]);
- ++$i;
- }
- while($formula[$i]==' ')
- {
- ++$i;
- }
- if (($formula[$i] == '(') && ($i < $Len-2) )
- {
- $func = $this->Functions[$temp];
- if ($func != null && $func->paramCount==1)
- {
- $funcAddr = $func;
- $paramStart= $i+1;
- $param= substr($formula, $paramStart, $Len-1-$paramStart); //check example: SIN(30)
- return true; //we are sure that it is a two parameter function
- }
- }
- }
- return false;
- }
- //------------------------------------------------------------------------------
- /**
- * Determines if a given expression by itself is a function that takes N parameters.
- * For example: and input of "IF(x, 3/x, 3)" would return true.
- * @param formula - expression
- * @param funcAddr - the IFunction that this node represents.
- * @param parms - the parameters that this function takes in this expression.
- * @param CurrChar - current operand index in the expression
- * @return true if formula is a valid N parameter function.
- * @ignore
- */
- private function isNParamFunc( $formula,
- /*out*/ &$funcAddr, /*out*/ &$parms,
- $CurrChar //gives the last operation index in the string
- )
- {
- $funcAddr = null;
- $parms = null;
- //if main operation is not an operand but a function
- $Len= strlen($formula);
- $temp = '';
- if ($formula[$Len-1] == ')') //last character must be brackets closing function param list
- {
- $i= 0;
- while ($this->isValidChar($i, $formula[$i]))
- {
- $temp.=($formula[$i]);
- ++$i;
- }
- while($formula[$i]==' ')
- {
- ++$i;
- }
- if (($formula[$i] == '(') && ($i < $Len-1) )
- {
- //we first check if it is one param func or two param func,
- //so here if it is a func, we know it is N param func.
- $funcAddr = $this->Functions[$temp];
+ /**
+ * Determines if a given expression by itself is a function that takes 1 parameter.
+ * For example: and input of "SIN(x)" would return true.
+ * @param $formula - expression
+ * @param $funcAddr - The IFunction that this node represents.
+ * @param $param - the parameter that will be passed into this function.
+ * @param $CurrChar - current operand index in the expression
+ * @return true if formula is a valid one parameter function.
+ * @ignore
+ * @since 1.0.0
+ */
+ private function isOneParamFunc($formula, &$funcAddr, &$param, $CurrChar): bool
+ {
+ $funcAddr = null;
+ $param = null;
+ $Len = strlen($formula);
+ if ($CurrChar == 0) //if function in question is an unary operand
+ {
+ $param = substr($formula, 1);
+ if (!(strlen($param) > 0)) {
+ return false;
+ }
- if ($funcAddr != null)
- {
- $nParams = $funcAddr->paramCount;
- if($nParams>-1)
- {
- $parms = array();
- if($nParams==0) //a function that takes no param.
- {
- if($formula[$i+1]==')')
- {
- return true;
- }
- }
- $paramStart = $i+1;
- $BracketLevel= 1;
- $pIndex = 0;
- $insideStringLiteral = false;
- while (! ($i>$Len-1-1) ) //last character is a ')', that's why we use i>Len-1
- {
- ++$i;
- switch( $formula[$i] )
- {
- case '"': $insideStringLiteral = !$insideStringLiteral; break;
- case '(': if(!$insideStringLiteral)++$BracketLevel; break;
- case ')': if(!$insideStringLiteral)--$BracketLevel; break;
- case ',':
- if ((!$insideStringLiteral) && (1 == $BracketLevel) && ($i<$Len-2) ) //last character is a ')', that's why we use i>Len-2
- {
- //must have at least 2 params for this part to work:
- if ($nParams>-1 && !($pIndex<$nParams) )
- {
- return false; //wrong number of parameters.
- }
- $parms[$pIndex++] = substr($formula, $paramStart, $i-$paramStart);
+ switch ($formula[$CurrChar]) {
+ case '+':
+ $funcAddr = self::$unaryadd__;
+ break;
+ case '-':
+ $funcAddr = self::$negate__;
+ break;
+ case '!':
+ $funcAddr = self::$not__;
+ break;
+ default:
+ return false; //only + and - can be unary operators
+ }
+ return true; //all output is assigned, now we exit.
+ }
+ //if we reach here, result is false
+ //if main operation is not an operand but a function
+ if ($formula[$Len - 1] == ')') //last character must be brackets closing function param list
+ {
+ $i = 0;
+ $temp = '';
+ while ($this->isValidChar($i, $formula[$i])) {
+ $temp .= ($formula[$i]);
+ ++$i;
+ }
+ while ($formula[$i] == ' ') {
+ ++$i;
+ }
+ if (($formula[$i] == '(') && ($i < $Len - 2)) {
+ $func = $this->Functions[$temp];
+ if ($func != null && $func->paramCount == 1) {
+ $funcAddr = $func;
+ $paramStart = $i + 1;
+ $param = substr($formula, $paramStart, $Len - 1 - $paramStart); //check example: SIN(30)
+ return true; //we are sure that it is a two parameter function
+ }
+ }
+ }
+ return false;
+ }
- if($pIndex==$nParams-1)
- {
- //assign the last one:
- $parms[$pIndex] = substr($formula, $i+1, $Len-1-($i+1));
- return true;
- }
- $paramStart = $i+1;
- }
- break;
- }
- }
- }
- else
- {
- $list = array();
- $paramStart = $i+1;
- $BracketLevel= 1;
- $insideStringLiteral = false;
- while (! ($i>$Len-1-1) ) //last character is a ')', that's why we use i>Len-1
- {
- ++$i;
- switch( $formula[$i] )
- {
- case '"': $insideStringLiteral = !$insideStringLiteral; break;
- case '(': if(!$insideStringLiteral) ++$BracketLevel; break;
- case ')': if(!$insideStringLiteral) --$BracketLevel; break;
- case ',':
- if (!$insideStringLiteral && (1 == $BracketLevel) && ($i<$Len-2) ) //last character is a ')', that's why we use i>Len-2
- {
- $list[]=substr($formula, $paramStart, $i-$paramStart);
- $paramStart = $i+1;
- }
- break;
- }
- }
- //add the remaining:
- //list.Add( formula.Substring(paramStart, Len-1-paramStart) );
- $remaining = trim(substr($formula, $paramStart, $Len - 1 - $paramStart));
- if (strlen($remaining)>0)
- {
- $list[]=$remaining;
- }
+ //------------------------------------------------------------------------------
- $parms = $list;
- return true;
- }
- }
- }
- }
- return false; //means we could not find it
- }
- //------------------------------------------------------------------------------
- /**
- * Optimizes a compiled tree where root is the given Node.
- * @param aNode - Root node.
- * @return Starting root node of the optimized tree.
- * @ignore
- */
- static function optimizeNode($aNode)
- {
- $aNode->optimize();
- //Below code changes the value of the Node pointer,
- //thus it cannot be done inside a polymorphic method of the
- //class instance pointed to by that pointer.
- //Therefore, "instanceof" is required.
- if ($aNode instanceof Mathparser_NParamNode)
- {
- $count = count($aNode->nodes);
- for ($i=0; $i<$count; $i++)
- {
- //if any node is not constant, just return as is:
- if ( !($aNode->nodes[$i] instanceof Mathparser_BasicNode) )
- {
- return $aNode;
- }
- }
- //if all parameters of the function are constants (basic nodes):
- return new Mathparser_BasicNode($nParamNode->getValue());
- }
- return $aNode;
- }
- //------------------------------------------------------------------------------
+ /**
+ * Determines if a given expression by itself is a function that takes N parameters.
+ * For example: and input of "IF(x, 3/x, 3)" would return true.
+ * @param $formula - expression
+ * @param $funcAddr - the IFunction that this node represents.
+ * @param $parms - the parameters that this function takes in this expression.
+ * @return true if formula is a valid N parameter function.
+ * @ignore
+ * @since 1.0.0
+ */
+ private function isNParamFunc($formula, &$funcAddr, &$parms): bool
+ {
+ $funcAddr = null;
+ $parms = null;
+ //if main operation is not an operand but a function
+ $Len = strlen($formula);
+ $temp = '';
+ if ($formula[$Len - 1] == ')') //last character must be brackets closing function param list
+ {
+ $i = 0;
+ while ($this->isValidChar($i, $formula[$i])) {
+ $temp .= ($formula[$i]);
+ ++$i;
+ }
+ while ($formula[$i] == ' ') {
+ ++$i;
+ }
+ if (($formula[$i] == '(') && ($i < $Len - 1)) {
+ //we first check if it is one param func or two param func,
+ //so here if it is a func, we know it is N param func.
+ $funcAddr = $this->Functions[$temp];
- /**
- * Expression property represents the mathematical expression which is input to be Evaluated by the user.
- *
- * The expression can contain variables such as X, Y, T, HEIGHT, WEIGHT and so on.
- * The values of these constants are set before the expression is evaluated.
- * The values of the variables can be set before the expression is evaluated or the values can be provided
- * during evaluation using a PHP function registered as $VariableResolver.
- * @return string
- */
- public function getExpression()
- {
- return $this->Expression;
- }
- /**
- * @see getExpression
- * @param $value
- * @return unknown_type
- */
- public function setExpression($value)
- {
- if ($value!=$this->Expression)
- {
- $this->Expression = $value;
- $this->Dirty = true;
- }
- }
+ if ($funcAddr != null) {
+ $nParams = $funcAddr->paramCount;
+ if ($nParams > -1) {
+ $parms = array();
+ if ($nParams == 0) //a function that takes no param.
+ {
+ if ($formula[$i + 1] == ')') {
+ return true;
+ }
+ }
+ $paramStart = $i + 1;
+ $BracketLevel = 1;
+ $pIndex = 0;
+ $insideStringLiteral = false;
+ while (!($i > $Len - 1 - 1)) //last character is a ')', that's why we use i>Len-1
+ {
+ ++$i;
+ switch ($formula[$i]) {
+ case '"':
+ $insideStringLiteral = !$insideStringLiteral;
+ break;
+ case '(':
+ if (!$insideStringLiteral) ++$BracketLevel;
+ break;
+ case ')':
+ if (!$insideStringLiteral) --$BracketLevel;
+ break;
+ case ',':
+ if ((!$insideStringLiteral) && (1 == $BracketLevel) && ($i < $Len - 2)) //last character is a ')', that's why we use i>Len-2
+ {
+ //must have at least 2 params for this part to work:
+ if ($nParams > -1 && !($pIndex < $nParams)) {
+ return false; //wrong number of parameters.
+ }
+ $parms[$pIndex++] = substr($formula, $paramStart, $i - $paramStart);
- /**
- * Set OptimizationOn to let the bcParser component evaluate constant expressions
- * at parse time. The optimized parse tree will enhance subsequant evaluation
- * operations, though initial parsing will be slower.
- *
- * Optimization is good if you are going to parse once and evaluate the same
- * expression many many times with different variable values.
- * @return boolean
- */
- public function isOptimizationOn()
- {
- return $this->OptimizationOn;
- }
- /**
- * @see isOptimizationOn
- * @param boolean $value
- * @return void
- */
- public function setOptimizationOn($value)
- {
- $this->OptimizationOn = $value;
- }
+ if ($pIndex == $nParams - 1) {
+ //assign the last one:
+ $parms[$pIndex] = substr($formula, $i + 1, $Len - 1 - ($i + 1));
+ return true;
+ }
+ $paramStart = $i + 1;
+ }
+ break;
+ }
+ }
+ } else {
+ $list = array();
+ $paramStart = $i + 1;
+ $BracketLevel = 1;
+ $insideStringLiteral = false;
+ while (!($i > $Len - 1 - 1)) //last character is a ')', that's why we use i>Len-1
+ {
+ ++$i;
+ switch ($formula[$i]) {
+ case '"':
+ $insideStringLiteral = !$insideStringLiteral;
+ break;
+ case '(':
+ if (!$insideStringLiteral) ++$BracketLevel;
+ break;
+ case ')':
+ if (!$insideStringLiteral) --$BracketLevel;
+ break;
+ case ',':
+ if (!$insideStringLiteral && (1 == $BracketLevel) && ($i < $Len - 2)) //last character is a ')', that's why we use i>Len-2
+ {
+ $list[] = substr($formula, $paramStart, $i - $paramStart);
+ $paramStart = $i + 1;
+ }
+ break;
+ }
+ }
+ //add the remaining:
+ $remaining = trim(substr($formula, $paramStart, $Len - 1 - $paramStart));
+ if (strlen($remaining) > 0) {
+ $list[] = $remaining;
+ }
- /**
- * This method can be overridden to return a Node that is fancy enough to lookup
- * values from a database etc to come up with variable values at evaluation time.
- * @param string $varName
- * @return object
- */
- protected function createVarNode($varName)
- {
- //if it is not a simple double, maybe it is a variable?
- $variable = $this->Variables[$varName];
- if ($variable!=null)
- {
- return new Mathparser_VarNode($variable, $varName); //recursion will end on these points when we get to the basics
- }
- else if($this->VariableResolver!=null)
- {
- $Len = strlen($varName);
- for($i=0; $i<$Len; $i++)
- {
- $ch = $varName[$i];
- if(!$this->isValidChar($i, $ch))
- {
- return null;
- }
- }
- return new Mathparser_UnknownVarNode($this, $varName);
- }
- return null;
- }
+ $parms = $list;
+ return true;
+ }
+ }
+ }
+ }
+ return false; //means we could not find it
+ }
- /**
- * Translation support.
- * @ignore
- */
- static function getMessage($key)
- {
- try
- {
- if (self::$translator == null) {
- self::getTranslationStrings();
- }
- $s = self::$translator[$key];
- if ($s==null){ $s = $key; }
- return $s;
- }
- catch(Exception $e)
- {
- return $key;
- }
- }
- /**
- * Translation support.
- * @ignore
- */
- static function getMessage1($key, $param)
- {
- $temp = self::getMessage($key);
- //assuming {0} is not used in the real string,
- //and it is only a placeholder for the first parameter.
- return sprintf($temp, $param);
- }
- /**
- * Translation support.
- * @ignore
- */
- static function getMessage2($key, $param0, $param1)
- {
- $temp = self::getMessage($key);
- return sprintf($temp, $param0, $param1);
- }
+ //------------------------------------------------------------------------------
+
+ /**
+ * Optimizes a compiled tree where root is the given Node.
+ * @param $aNode - Root node.
+ * @return mixed - Starting root node of the optimized tree.
+ * @ignore
+ * @since 1.0.0
+ */
+ static function optimizeNode($aNode): mixed
+ {
+ $aNode->optimize();
+ //Below code changes the value of the Node pointer,
+ //thus it cannot be done inside a polymorphic method of the
+ //class instance pointed to by that pointer.
+ //Therefore, "instanceof" is required.
+ if ($aNode instanceof Mathparser_NParamNode) {
+ $count = count($aNode->nodes);
+ for ($i = 0; $i < $count; $i++) {
+ //if any node is not constant, just return as is:
+ if (!($aNode->nodes[$i] instanceof Mathparser_BasicNode)) {
+ return $aNode;
+ }
+ }
+ //if all parameters of the function are constants (basic nodes):
+ return new Mathparser_BasicNode($aNode->getValue());
+ }
+ return $aNode;
+ }
+ //------------------------------------------------------------------------------
+
+ /**
+ * Expression property represents the mathematical expression which is input to be Evaluated by the user.
+ *
+ * The expression can contain variables such as X, Y, T, HEIGHT, WEIGHT and so on.
+ * The values of these constants are set before the expression is evaluated.
+ * The values of the variables can be set before the expression is evaluated or the values can be provided
+ * during evaluation using a PHP function registered as $VariableResolver.
+ * @return string
+ * @since 1.0.0
+ */
+ public function getExpression(): string
+ {
+ return $this->Expression;
+ }
+
+ /**
+ * @param $value
+ * @return void
+ * @see getExpression
+ * @since 1.0.0
+ */
+ public function setExpression($value): void
+ {
+ if ($value != $this->Expression) {
+ $this->Expression = $value;
+ $this->Dirty = true;
+ }
+ }
+
+ /**
+ * This method can be overridden to return a Node that is fancy enough to lookup
+ * values from a database etc to come up with variable values at evaluation time.
+ * @param string $varName
+ * @return Mathparser_UnknownVarNode|Mathparser_VarNode|null
+ * @since 1.0.0
+ */
+ protected function createVarNode(string $varName): Mathparser_UnknownVarNode|null|Mathparser_VarNode
+ {
+ //if it is not a simple double, maybe it is a variable?
+ $variable = $this->Variables[$varName];
+ if ($variable != null) {
+ return new Mathparser_VarNode($variable); //recursion will end on these points when we get to the basics
+ } else if ($this->VariableResolver != null) {
+ $Len = strlen($varName);
+ for ($i = 0; $i < $Len; $i++) {
+ $ch = $varName[$i];
+ if (!$this->isValidChar($i, $ch)) {
+ return null;
+ }
+ }
+ return new Mathparser_UnknownVarNode($this, $varName);
+ }
+ return null;
+ }
+
+ /**
+ * Translation support.
+ * @ignore
+ * @since 1.0.0
+ */
+ static function getMessage($key)
+ {
+ try {
+ if (self::$translator == null) {
+ self::getTranslationStrings();
+ }
+ $s = self::$translator[$key];
+ if ($s == null) {
+ $s = $key;
+ }
+ return $s;
+ } catch (Exception $e) {
+ Log::add("Could not translate: " . $e->getMessage(), Log::WARNING,"com_sportsmanager");
+ return $key;
+ }
+ }
+
+ /**
+ * Translation support.
+ * @ignore
+ * @since 1.0.0
+ */
+ static function getMessage1($key, $param): string
+ {
+ $temp = self::getMessage($key);
+ //assuming {0} is not used in the real string,
+ //and it is only a placeholder for the first parameter.
+ return sprintf($temp, $param);
+ }
+
+ /**
+ * Translation support.
+ * @ignore
+ * @since 1.0.0
+ */
+ static function getMessage2($key, $param0, $param1 = ''): string
+ {
+ $temp = self::getMessage($key);
+ return sprintf($temp, $param0, $param1);
+ }
} //End of Math Parser Implementation.
@@ -2253,246 +1819,288 @@ class MathParser
/**
* Internal support class to help internal representation of a variable and a constant.
* @ignore
+ * @since 1.0.0
*/
class Mathparser_Variable
{
- /**
- * The parent parser instance, used to call the VariableResolver if needed.
- */
- private $Parser;
+ /**
+ * Name of this variable.
+ * @since 1.0.0
+ */
+ public string $Name;
- /**
- * Name of this variable.
- */
- public $Name;
+ /**
+ * The preset value of this variable.
+ * @since 1.0.0
+ */
+ public float|string $Value;
- /**
- * The preset value of this variable.
- */
- public $Value;
+ /**
+ * The delegate function name (string value) that supplies variable values.
+ * If this is not null, then it is called to get
+ * the value for this variable.
+ * function VariableResolver($parser, $varName);
+ * @since 1.0.0
+ */
+ public string $ValueProvider;
- /**
- * The delegate function name (string value) that supplies variable values.
- * If this is not null, then it is called to get
- * the value for this variable.
- * function VariableResolver($parser, $varName);
- */
- public $ValueProvider;
-
- /**
- * If the $this->ValueProvider is set, then this method uses it to get the runtime value.
- * Otherwise, this method returns the value of $this->Value;
- *
- */
- public function getRuntimeValue(){
- return !isset($this->ValueProvider) ? $this->Value : $this->ValueProvider($this->Parser, $this->Name);
- }
-
- public function __construct($parser, $aName, $newVal, $valueProvider) {
- $this->Parser = $parser;
- $this->Name = $aName;
- $this->Value = $newVal;
- $this->ValueProvider = $valueProvider;
- }
+ public function __construct($aName, $newVal, $valueProvider)
+ {
+ $this->Name = $aName;
+ $this->Value = $newVal;
+ $this->ValueProvider = $valueProvider;
+ }
}
/**
* Internal support class to represent a user defined function.
* User defined functions can be used in expressions.
* @ignore
+ * @since 1.0.0
*/
-class Mathparser_ParserFunction {
- /**
- * $EventHandler that is the name of the actual PHP function to call.
- */
- public $EventHandler;
- /**
- * Name of the user defined function as used in an expression.
- */
- public $Name;
- /**
- * Number of parameters that the user defined function accepts.
- * -1 means any number of parameters.
- * 0 means no parameters, 1 means 1 parameter like SIN(X) etc.
- */
- public $paramCount;
- /**
- * Constructor.
- * @param $name - Name of the user defined function as used in an expression.
- * @param $eventHandler is the name of the actual PHP function to call.
- * @param $paramCount Number of parameters that the user defined function accepts.
- */
- public function __construct($name, $eventHandler, $paramCount){
- $this->EventHandler = $eventHandler;
- $this->Name = $name;
- $this->paramCount = $paramCount;
- }
+class Mathparser_ParserFunction
+{
+ /**
+ * $EventHandler that is the name of the actual PHP function to call.
+ * @since 1.0.0
+ */
+ public $EventHandler;
+ /**
+ * Name of the user defined function as used in an expression.
+ * @since 1.0.0
+ */
+ public string $Name;
+ /**
+ * Number of parameters that the user defined function accepts.
+ * -1 means any number of parameters.
+ * 0 means no parameters, 1 means 1 parameter like SIN(X) etc.
+ * @since 1.0.0
+ */
+ public int $paramCount;
+
+ /**
+ * Constructor.
+ * @param $name - Name of the user defined function as used in an expression.
+ * @param $eventHandler - is the name of the actual PHP function to call.
+ * @param $paramCount - Number of parameters that the user defined function accepts.
+ * @since 1.0.0
+ */
+ public function __construct($name, $eventHandler, $paramCount)
+ {
+ $this->EventHandler = $eventHandler;
+ $this->Name = $name;
+ $this->paramCount = $paramCount;
+ }
}
/**
* Internal support class that represents constants such as 3, 5, 7 in the formula.
* @ignore
+ * @since 1.0.0
*/
-class Mathparser_BasicNode extends Mathparser_Node {
- public $Value;
+class Mathparser_BasicNode extends Mathparser_Node
+{
+ public $Value;
- public function __construct($Val) {
- $this->Value = $Val;
- }
- public function getValue() {
- return $this->Value;
- }
- public function getValueAsDouble() {
- if(is_float($this->Value))
- {
- return $this->Value;
- }
- else if(is_numeric($this->Value))
- {
- return (float)$this->Value;
- }
- throw new Exception("Value is not numeric: ".$this->Value);
- }
- public function getValueAsString() {
- return (string)$this->Value;
- }
- //------------------------------------------------------------------------------
- public function isVariableUsed($Name) {
- return false; //a basic node does not store any variable or function info
- }
- //------------------------------------------------------------------------------
- public function isFunctionUsed($Name) {
- return false; //a basic node does not store any variable or function info
- }
- //------------------------------------------------------------------------------
- //since basic node cannot be Optimized further, this function does nothing
- public function optimize() {
- //Optimize Evaluates constant values at compile time.
- //do nothing.
- }
+ public function __construct($Val)
+ {
+ $this->Value = $Val;
+ }
+ public function getValue()
+ {
+ return $this->Value;
+ }
+
+ /**
+ * @throws Exception
+ * @since 1.0.0
+ */
+ public function getValueAsDouble(): float
+ {
+ if (is_float($this->Value)) {
+ return $this->Value;
+ } else if (is_numeric($this->Value)) {
+ return (float)$this->Value;
+ }
+ throw new Exception("Value is not numeric: " . $this->Value);
+ }
+
+ public function getValueAsString(): string
+ {
+ return (string)$this->Value;
+ }
+
+ //------------------------------------------------------------------------------
+
+ public function isVariableUsed($Name): bool
+ {
+ return false; //a basic node does not store any variable or function info
+ }
+
+ //------------------------------------------------------------------------------
+
+ public function isFunctionUsed($Name): bool
+ {
+ return false; //a basic node does not store any variable or function info
+ }
+
+ //------------------------------------------------------------------------------
+
+ //since basic node cannot be Optimized further, this function does nothing
+ public function optimize()
+ {
+ //Optimize Evaluates constant values at compile time.
+ //do nothing.
+ }
}
/**
* Internal support class that represents N parameter functions such as IF(X, Y, Z) etc.
* @ignore
+ * @since 1.0.0
*/
-class Mathparser_NParamNode extends Mathparser_Node {
- public $nodes; //array of nodes (these are the parameters).
- public $fPtr; //function to execute
+class Mathparser_NParamNode extends Mathparser_Node
+{
+ public array $nodes; //array of nodes (these are the parameters).
+ public $fPtr; //function to execute
- public function __construct($n, $FuncAddr) {
- $this->nodes = &$n;
- $this->fPtr = $FuncAddr;
- }
- public function getValue() {
- if($this->fPtr->Name=='IF'){
- //special case for short circuit boolean logic.
- //helps to avoid div by zero etc.
- //assume there are 3 parameters:
- $cond = $this->nodes[0]->getValue();
- if($cond==0){ //false:
- return $this->nodes[2]->getValue();
- }else{
- return $this->nodes[1]->getValue();
- }
- }else{
- $p = array();
- $count = count($this->nodes);
- for($i=0; $i<$count; $i++){
- $p[]=$this->nodes[$i]->getValue();
- }
- return call_user_func_array($this->fPtr->EventHandler, $p);
- }
- }
- public function getValueAsDouble() {
- $Value = $this->getValue();
- if(is_float($Value))
- {
- return $Value;
- }
- else if(is_numeric($Value))
- {
- return (float)$Value;
- }
- throw new Exception("Value is not numeric: ".$Value);
- }
- public function getValueAsString() {
- return (string)$this->getValue();
- }
+ public function __construct($n, $FuncAddr)
+ {
+ $this->nodes = &$n;
+ $this->fPtr = $FuncAddr;
+ }
- public function isFunctionUsed($Name) {
- if($this->fPtr->Name==$Name){
- return true;
- }
- $i=0;
- foreach ($this->nodes as $n) {
- if ($n->isFunctionUsed($Name)) {
- return true;
- }
- }
- return false;
- }
- public function isVariableUsed($Name) {
- $i=0;
- foreach ($this->nodes as $n) {
- if ($n->isVariableUsed($Name)) {
- return true;
- }
- }
- return false;
- }
+ public function getValue()
+ {
+ if ($this->fPtr->Name == 'IF') {
+ //special case for short circuit boolean logic.
+ //helps to avoid div by zero etc.
+ //assume there are 3 parameters:
+ $cond = $this->nodes[0]->getValue();
+ if ($cond == 0) { //false:
+ return $this->nodes[2]->getValue();
+ } else {
+ return $this->nodes[1]->getValue();
+ }
+ } else {
+ $p = array();
+ $count = count($this->nodes);
+ for ($i = 0; $i < $count; $i++) {
+ $p[] = $this->nodes[$i]->getValue();
+ }
+ return call_user_func_array($this->fPtr->EventHandler, $p);
+ }
+ }
- public function optimize() {
- $i=0;
- foreach ($this->nodes as $n) {
- $this->nodes[$i] = MathParser::optimizeNode($n);
- $i++;
- }
- }
-};
+ /**
+ * @throws Exception
+ * @since 1.0.0
+ */
+ public function getValueAsDouble(): float
+ {
+ $Value = $this->getValue();
+ if (is_float($Value)) {
+ return $Value;
+ } else if (is_numeric($Value)) {
+ return (float)$Value;
+ }
+ throw new Exception("Value is not numeric: " . $Value);
+ }
+
+ public function getValueAsString(): string
+ {
+ return (string)$this->getValue();
+ }
+
+ public function isFunctionUsed($Name): bool
+ {
+ if ($this->fPtr->Name == $Name) {
+ return true;
+ }
+ foreach ($this->nodes as $n) {
+ if ($n->isFunctionUsed($Name)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public function isVariableUsed($Name): bool
+ {
+ foreach ($this->nodes as $n) {
+ if ($n->isVariableUsed($Name)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public function optimize(): void
+ {
+ $i = 0;
+ foreach ($this->nodes as $n) {
+ $this->nodes[$i] = MathParser::optimizeNode($n);
+ $i++;
+ }
+ }
+}
/**
* Internal support class that represents a variable Node.
* @ignore
+ * @since 1.0.0
*/
-class Mathparser_VarNode extends Mathparser_Node {
- private $pVar; //address of the variable in the variable list
- public function __construct ($variable) {
- $this->pVar = $variable;
- }
- public function getValue() {
- return $this->pVar->getRuntimeValue();
- }
- public function getValueAsDouble() {
- $Value = $this->pVar->getRuntimeValue();
- if(is_float($Value))
- {
- return $Value;
- }
- else if(is_numeric($Value))
- {
- return (float)$Value;
- }
- throw new Exception("Value is not numeric: ".$Value);
- }
- public function getValueAsString() {
- return (string)$this->pVar->getRuntimeValue();
- }
+class Mathparser_VarNode extends Mathparser_Node
+{
+ private $pVar; //address of the variable in the variable list
- public function isVariableUsed($Name) {
- return $this->pVar->Name==$Name;
- }
- public function isFunctionUsed($Name)
- {
- return false;
- }
- //since there is no parameter used to get the value of a variable, no further
- //optimization can be made.
- public function optimize() { //Optimize Evaluates constant values at compile time.
- //do nothing
- }
+ public function __construct($variable)
+ {
+ $this->pVar = $variable;
+ }
+
+ public function getValue()
+ {
+ return $this->pVar->getRuntimeValue();
+ }
+
+ /**
+ * @throws Exception
+ * @since 1.0.0
+ */
+ public function getValueAsDouble(): float
+ {
+ $Value = $this->pVar->getRuntimeValue();
+ if (is_float($Value)) {
+ return $Value;
+ } else if (is_numeric($Value)) {
+ return (float)$Value;
+ }
+ throw new Exception("Value is not numeric: " . $Value);
+ }
+
+ public function getValueAsString(): string
+ {
+ return (string)$this->pVar->getRuntimeValue();
+ }
+
+ public function isVariableUsed($Name): bool
+ {
+ return $this->pVar->Name == $Name;
+ }
+
+ public function isFunctionUsed($Name): bool
+ {
+ return false;
+ }
+ //since there is no parameter used to get the value of a variable, no further
+ //optimization can be made.
+ public function optimize()
+ { //Optimize Evaluates constant values at compile time.
+ //do nothing
+ }
}
@@ -2500,89 +2108,105 @@ class Mathparser_VarNode extends Mathparser_Node {
* Internal support class that represents a variable Node that was not defined before the parse.
* We will resolve it's value during evaluation.
* @ignore
+ * @since 1.0.0
*/
class Mathparser_UnknownVarNode extends Mathparser_Node
{
- private $VarName; //name of the variable that was defined on the fly.
+ private string $VarName; //name of the variable that was defined on the fly.
- private $MathParser;
- public function __construct($parser, $varName)
- {
- $this->MathParser = $parser;
- $this->VarName = $varName;
- }
- public function getValue()
- {
- return call_user_func($this->MathParser->VariableResolver, $this->MathParser, $this->VarName);
- }
- public function getValueAsDouble()
- {
- $Value = $this->getValue();
- if(is_float($Value))
- {
- return $Value;
- }
- else if(is_numeric($Value))
- {
- return (float)$Value;
- }
- throw new Exception("Value is not numeric: ".$Value);
- }
- public function getValueAsString()
- {
- return (string) $this->getValue() ;
- }
+ private $MathParser;
- public function isVariableUsed($Name)
- {
- return $this->VarName==$Name;
- }
- public function isFunctionUsed($Name)
- {
- return false;
- }
- //since there is no parameter used to get the value of a variable, no further
- //optimization can be made.
- public function optimize()
- { //Optimize Evaluates constant values at compile time.
- //do nothing
- }
+ public function __construct($parser, $varName)
+ {
+ $this->MathParser = $parser;
+ $this->VarName = $varName;
+ }
+
+ public function getValue()
+ {
+ return call_user_func($this->MathParser->VariableResolver, $this->MathParser, $this->VarName);
+ }
+
+ /**
+ * @throws Exception
+ * @since 1.0.0
+ */
+ public function getValueAsDouble(): float
+ {
+ $Value = $this->getValue();
+ if (is_float($Value)) {
+ return $Value;
+ } else if (is_numeric($Value)) {
+ return (float)$Value;
+ }
+ throw new Exception("Value is not numeric: " . $Value);
+ }
+
+ public function getValueAsString(): string
+ {
+ return (string)$this->getValue();
+ }
+
+ public function isVariableUsed($Name): bool
+ {
+ return $this->VarName == $Name;
+ }
+
+ public function isFunctionUsed($Name): bool
+ {
+ return false;
+ }
+ //since there is no parameter used to get the value of a variable, no further
+ //optimization can be made.
+ public function optimize()
+ { //Optimize Evaluates constant values at compile time.
+ //do nothing
+ }
}
/**
* Base class for expression tree nodes.
* @ignore
+ * @since 1.0.0
*/
abstract class Mathparser_Node
{
- /**
- * Returns the computed value of this Node.
- */
- abstract public function getValue();
- /**
- * Returns the computed value of this Node as a double precision value.
- */
- abstract public function getValueAsDouble();
- /**
- * Returns the value as a String.
- */
- abstract public function getValueAsString();
+ /**
+ * Returns the computed value of this Node.
+ * @since 1.0.0
+ */
+ abstract public function getValue();
- /**
- * Is this variable used in the expression under this node?
- */
- abstract public function isVariableUsed($Name);
+ /**
+ * Returns the computed value of this Node as a double precision value.
+ * @since 1.0.0
+ */
+ abstract public function getValueAsDouble();
- /**
- * Is this function used in the expression under this node?
- */
- abstract public function isFunctionUsed($Name);
+ /**
+ * Returns the value as a String.
+ * @since 1.0.0
+ */
+ abstract public function getValueAsString();
- /**
- * Optimize Evaluates constant values at compile time (When parse() is called).
- * Once this is done, Evaluate will run faster.
- */
- abstract public function optimize();
+ /**
+ * Is this variable used in the expression under this node?
+ * @since 1.0.0
+ */
+ abstract public function isVariableUsed($Name);
+
+ /**
+ * Is this function used in the expression under this node?
+ * @since 1.0.0
+ */
+ abstract public function isFunctionUsed($Name);
+
+ /**
+ * Optimize Evaluates constant values at compile time (When parse() is called).
+ * Once this is done, Evaluate will run faster.
+ * @since 1.0.0
+ */
+ abstract public function optimize();
}
/**
@@ -2590,368 +2214,437 @@ abstract class Mathparser_Node
* expression cannot be parsed. These methods are:
* parse(), evaluate(), getValue()
* User defined functions can choose to throw this exception too.
+ * @since 1.0.0
*/
class Mathparser_ParserException extends Exception
{
- /**
- * Member variable that holds the error portion of the expression.
- */
- public $err;
+ /**
+ * Member variable that holds the error portion of the expression.
+ * @since 1.0.0
+ */
+ public $err;
- /**
- * Member variable that holds the parsed expression itself.
- */
- public $exp;
+ /**
+ * Member variable that holds the parsed expression itself.
+ * @since 1.0.0
+ */
+ public $exp;
- /**
- * Constructor.
- */
- public function __construct($msg, $errPart, $expression)
- {
- parent::__construct($msg);
- $this->err = $errPart;
- $this->exp = $expression;
- }
- /**
- * Returns the expression string that cannot be parsed.
- */
- public function getInvalidPortionOfExpression()
- {
- return $this->err;
- }
-
- /**
- * Returns the subexpression that is the immediate parent of the error portion.
- * For example, if the expression is 3+LN(MAX(4,))
- * then getInvalidPortionOfExpression() would return MAX(4,) and getSubExpression()
- * would return LN(MAX(4,))
- * The returned sub expressions may not exactly match the original string supplied
- * as the expression since space characters and paranthesis may be substituted for efficient
- * parsing.
- */
- public function getSubExpression()
- {
- return $this->exp;
- }
+ /**
+ * Constructor.
+ * @since 1.0.0
+ */
+ public function __construct($msg, $errPart, $expression)
+ {
+ parent::__construct($msg);
+ $this->err = $errPart;
+ $this->exp = $expression;
+ }
}
//Globals
/**
- * @ignore
* @param $p1
* @param $p2
* @return number or string
- */
-function mp_add_($p1, $p2){
- return $p1+$p2;
-}
-/**
* @ignore
- * @param $p1
- * @param $p2
- * @return string
+ * @since 1.0.0
*/
-function mp_add_str_($p1, $p2){
- if(is_string($p1)){
- return $p1.$p2;
- }else if(!is_numeric($p2)){
- throw new Exception(MathParser::getMessage1('InvConcatOper2',$p2));
- }
- return $p1+$p2;
-}
-/**
- * @ignore
- * @param $p1
- * @param $p2
- * @return number
- */
-function mp_subtract_($p1, $p2){
- return $p1-$p2;
-}
-/**
- * @ignore
- * @param $p1
- * @param $p2
- * @return number
- */
-function mp_mult_($p1, $p2){
- return $p1*$p2;
-}
-/**
- * @ignore
- * @param $p1
- * @param $p2
- * @return number
- */
-function mp_div_($p1, $p2){
- return $p1/$p2;
-}
-/**
- * @ignore
- * @param $p1
- * @param $p2
- * @return number
- */
-function mp_power_($p1, $p2){
- return pow($p1, $p2);
-}
-/**
- * @ignore
- * @param $p1
- * @param $p2
- * @return number
- */
-function mp_mod_($p1, $p2){
- return $p1 % $p2;
-}
-/**
- * @ignore
- * @param $p1
- * @param $p2
- * @return number
- */
-function mp_notequals_($p1, $p2){
- return ($p1!=$p2) ? 1 : 0;
-}
-/**
- * @ignore
- * @param $p1
- * @param $p2
- * @return number
- */
-function mp_equals_($p1, $p2){
- return ($p1==$p2) ? 1 : 0;
-}
-/**
- * @ignore
- * @param $p1
- * @param $p2
- * @return number
- */
-function mp_lt_($p1, $p2){
- return ($p1<$p2) ? 1 : 0;
-}
-/**
- * @ignore
- * @param $p1
- * @param $p2
- * @return number
- */
-function mp_gt_($p1, $p2){
- return ($p1>$p2) ? 1 : 0;
-}
-/**
- * @ignore
- * @param $p1
- * @param $p2
- * @return number
- */
-function mp_ltequals_($p1, $p2){
- return ($p1<=$p2) ? 1 : 0;
-}
-/**
- * @ignore
- * @param $p1
- * @param $p2
- * @return number
- */
-function mp_gtequals_($p1, $p2){
- return ($p1>=$p2) ? 1 : 0;
+function mp_add_($p1, $p2)
+{
+ return $p1 + $p2;
}
/**
- * @ignore
- * @param $p1
- * @return number
- */
-function mp_unaryadd_($p1){
- return $p1;
-}
-/**
- * @ignore
- * @param $p1
- * @return number
- */
-function mp_negate_($p1){
- return -$p1;
-}
-/**
- * @ignore
- * @param $p1
- * @return number
- */
-function mp_not_($p1){
- return ((!$p1)==0)? 0 : 1;
-}
-/**
- * @ignore
* @param $p1
* @param $p2
- * @return number
- */
-function mp_and_($p1, $p2){
- return ( ($p1==0 ? false : true) && ($p2==0 ? false : true) ) ? 1 : 0;
-}
-/**
+ * @return float|int|string
+ * @throws Exception
+ * @since 1.0.0
* @ignore
- * @param $p1
- * @param $p2
- * @return string
*/
-function mp_and_str_($p1, $p2){
- if(is_string($p1)){
- return $p1.$p2;
- }else if(!is_numeric($p2)){
- throw new Exception(MathParser::getMessage1('InvConcatOper',$p2));
- }
- return $p1 && $p2;
+function mp_add_str_($p1, $p2): float|int|string
+{
+ if (is_string($p1)) {
+ return $p1 . $p2;
+ } else if (!is_numeric($p2)) {
+ throw new Exception(MathParser::getMessage1('InvConcatOper2', $p2));
+ }
+ return $p1 + $p2;
}
+
/**
- * @ignore
* @param $p1
* @param $p2
* @return number
- */
-function mp_or_($p1, $p2){
- return (($p1==0 ? false : true) || ($p2==0 ? false : true)) ? 1 : 0;
-}
-/**
* @ignore
+ * @since 1.0.0
+ */
+function mp_subtract_($p1, $p2)
+{
+ return $p1 - $p2;
+}
+
+/**
+ * @param $p1
+ * @param $p2
+ * @return float|int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_mult_($p1, $p2): float|int
+{
+ return $p1 * $p2;
+}
+
+/**
+ * @param $p1
+ * @param $p2
+ * @return float|int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_div_($p1, $p2): float|int
+{
+ return $p1 / $p2;
+}
+
+/**
+ * @param $p1
+ * @param $p2
* @return number
- */
-function sum_(){
- $p = func_get_args();
- $count = func_num_args();
- $tot=0;
- for($i=0; $i<$count; $i++){
- $tot+=$p[$i];
- }
- return $tot;
-}
-/**
* @ignore
+ * @since 1.0.0
+ */
+function mp_power_($p1, $p2)
+{
+ return pow($p1, $p2);
+}
+
+/**
+ * @param $p1
+ * @param $p2
+ * @return int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_mod_($p1, $p2): int
+{
+ return $p1 % $p2;
+}
+
+/**
+ * @param $p1
+ * @param $p2
+ * @return int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_notequals_($p1, $p2): int
+{
+ return ($p1 != $p2) ? 1 : 0;
+}
+
+/**
+ * @param $p1
+ * @param $p2
+ * @return int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_equals_($p1, $p2): int
+{
+ return ($p1 == $p2) ? 1 : 0;
+}
+
+/**
+ * @param $p1
+ * @param $p2
+ * @return int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_lt_($p1, $p2): int
+{
+ return ($p1 < $p2) ? 1 : 0;
+}
+
+/**
+ * @param $p1
+ * @param $p2
+ * @return int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_gt_($p1, $p2): int
+{
+ return ($p1 > $p2) ? 1 : 0;
+}
+
+/**
+ * @param $p1
+ * @param $p2
+ * @return int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_ltequals_($p1, $p2): int
+{
+ return ($p1 <= $p2) ? 1 : 0;
+}
+
+/**
+ * @param $p1
+ * @param $p2
+ * @return int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_gtequals_($p1, $p2): int
+{
+ return ($p1 >= $p2) ? 1 : 0;
+}
+
+/**
+ * @param $p1
* @return number
- */
-function mp_max_(){
- $p = func_get_args();
- $count = func_num_args();
- if($count<1){
- throw new Mathparser_ParserException(MathParser::getMessage2('WrngNPrms2', 'MAX', '1'), 'max', 'max');
- }
- return max($p);
-}
-/**
* @ignore
+ * @since 1.0.0
+ */
+function mp_unaryadd_($p1)
+{
+ return $p1;
+}
+
+/**
+ * @param $p1
+ * @return float|int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_negate_($p1): float|int
+{
+ return -$p1;
+}
+
+/**
+ * @param $p1
+ * @return int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_not_($p1): int
+{
+ return ((!$p1) == 0) ? 0 : 1;
+}
+
+/**
+ * @param $p1
+ * @param $p2
+ * @return int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_and_($p1, $p2): int
+{
+ return (!($p1 == 0) && !($p2 == 0)) ? 1 : 0;
+}
+
+/**
+ * @param $p1
+ * @param $p2
+ * @return bool|string
+ * @throws Exception
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_and_str_($p1, $p2): bool|string
+{
+ if (is_string($p1)) {
+ return $p1 . $p2;
+ } else if (!is_numeric($p2)) {
+ throw new Exception(MathParser::getMessage1('InvConcatOper', $p2));
+ }
+ return $p1 && $p2;
+}
+
+/**
+ * @param $p1
+ * @param $p2
+ * @return int
+ * @ignore
+ * @since 1.0.0
+ */
+function mp_or_($p1, $p2): int
+{
+ return (!($p1 == 0) || !($p2 == 0)) ? 1 : 0;
+}
+
+/**
* @return number
- */
-function mp_min_(){
- $p = func_get_args();
- $count = func_num_args();
- if($count<1){
- throw new Mathparser_ParserException(MathParser::getMessage2('WrngNPrms2', 'MIN', '1'), 'min', 'min');
- }
- return min($p);
-}
-/**
* @ignore
+ * @since 1.0.0
+ */
+function sum_(): int
+{
+ $p = func_get_args();
+ $count = func_num_args();
+ $tot = 0;
+ for ($i = 0; $i < $count; $i++) {
+ $tot += $p[$i];
+ }
+ return $tot;
+}
+
+/**
+ * @return number
+ * @throws Mathparser_ParserException
+ * @since 1.0.0
+ * @ignore
+ */
+function mp_max_()
+{
+ $p = func_get_args();
+ $count = func_num_args();
+ if ($count < 1) {
+ throw new Mathparser_ParserException(MathParser::getMessage2('WrngNPrms2', 'MAX', '1'), 'max', 'max');
+ }
+ return max($p);
+}
+
+/**
+ * @return number
+ * @throws Mathparser_ParserException
+ * @since 1.0.0
+ * @ignore
+ */
+function mp_min_()
+{
+ $p = func_get_args();
+ $count = func_num_args();
+ if ($count < 1) {
+ throw new Mathparser_ParserException(MathParser::getMessage2('WrngNPrms2', 'MIN', '1'), 'min', 'min');
+ }
+ return min($p);
+}
+
+/**
* @param $cond
* @param $trueCase
* @param $falseCase
* @return number
- */
-function if_($cond, $trueCase, $falseCase){
- return $cond!=0 ? $trueCase : $falseCase;
-}
-/**
* @ignore
- * @param $val
- * @return number
+ * @since 1.0.0
*/
-function mp_num_($val){
- if(is_numeric($val)){
- return (float)$val;
- }
- throw new Mathparser_ParserException(MathParser::getMessage2('InvNum', $val), 'NUM', 'NUM');
+function if_($cond, $trueCase, $falseCase)
+{
+ return $cond != 0 ? $trueCase : $falseCase;
}
/**
- * @ignore
* @param $val
- * @return number
+ * @return float
+ * @throws Mathparser_ParserException
+ * @since 1.0.0
+ * @ignore
*/
-function mp_square_($val){
- return $val*$val;
+function mp_num_($val): float
+{
+ if (is_numeric($val)) {
+ return (float)$val;
+ }
+ throw new Mathparser_ParserException(MathParser::getMessage2('InvNum', $val), 'NUM', 'NUM');
}
/**
- * @ignore
* @param $val
- * @return number
+ * @return float|int
+ * @ignore
+ * @since 1.0.0
*/
-function mp_cotan_($val){
- return 1.0/tan($val);
+function mp_square_($val): float|int
+{
+ return $val * $val;
}
/**
- * @ignore
* @param $val
- * @return number
+ * @return float
+ * @ignore
+ * @since 1.0.0
*/
-function mp_sign_($val){
- if($val>0)return 1;
- if($val<0)return -1;
- return 0;
+function mp_cotan_($val): float
+{
+ return 1.0 / tan($val);
}
/**
- * @ignore
* @param $val
- * @return number
+ * @return int
+ * @ignore
+ * @since 1.0.0
*/
-function mp_trunc_($val){
- if($val>0)return floor($val);
- if($val<0)return floor($val)+1;
- return 0;
+function mp_sign_($val): int
+{
+ if ($val > 0) return 1;
+ if ($val < 0) return -1;
+ return 0;
}
/**
- * @ignore
* @param $val
- * @return number
+ * @return float|int
+ * @ignore
+ * @since 1.0.0
*/
-function mp_float_($val){
- return (float)$val;
+function mp_trunc_($val): float|int
+{
+ if ($val > 0) return floor($val);
+ if ($val < 0) return floor($val) + 1;
+ return 0;
}
/**
+ * @param $val
+ * @return float
* @ignore
+ * @since 1.0.0
+ */
+function mp_float_($val): float
+{
+ return (float)$val;
+}
+
+/**
* @param $base
* @param $val
- * @return number
+ * @return float|int
+ * @ignore
+ * @since 1.0.0
*/
-function mp_logn_($base, $val){
- return log($val) / log($base);
+function mp_logn_($base, $val): float|int
+{
+ return log($val) / log($base);
}
/**
+ * @return float|int
* @ignore
- * @return number
+ * @since 1.0.0
*/
-function mp_rand_(){
- $max = getrandmax();
- return rand(0, $max)/$max;
+function mp_rand_(): float|int
+{
+ $max = getrandmax();
+ return rand(0, $max) / $max;
}
/**
+ * @return string
* @ignore
- * @return number
+ * @since 1.0.0
*/
-function mp_concat_(){
- $p = func_get_args();
- $s='';
- foreach($p as $val){
- $s.=$val;
- }
- return $s;
+function mp_concat_(): string
+{
+ $p = func_get_args();
+ return implode('', $p);
}
-?>
\ No newline at end of file
diff --git a/src/structure/components/com_sportsmanager/tools.php b/src/structure/components/com_sportsmanager/tools.php
index 4e5efd9..6aa2c09 100644
--- a/src/structure/components/com_sportsmanager/tools.php
+++ b/src/structure/components/com_sportsmanager/tools.php
@@ -4,392 +4,407 @@
*/
// kein direkter Zugriff
+use JetBrains\PhpStorm\NoReturn;
+use Joomla\CMS\Application\SiteApplication;
+use Joomla\CMS\Factory;
+use Joomla\CMS\Log\Log;
+use Joomla\CMS\Router\Route;
+use Joomla\CMS\Uri\Uri;
+use Joomla\CMS\User\User;
+use Joomla\CMS\Version;
+
defined('_JEXEC') or die('Restricted access');
-require_once (JPATH_COMPONENT.DIRECTORY_SEPARATOR.'mathparser.php');
+require_once JPATH_SITE . '/components/com_sportsmanager/mathparser.php';
+require_once JPATH_SITE . '/components/com_sportsmanager/database/init.php';
-function mathParserVerteilung($rohpunkte, $platz, $teilnehmer, $multiplikator) {
- return max(round($multiplikator * round(((($rohpunkte - 1) * (-log($platz / $teilnehmer) * (1 - ($platz / $teilnehmer)))) / (-log(1 / $teilnehmer) * (1 - (1 / $teilnehmer)))) + 1)), 1);
+class MathParserSM extends MathParser
+{
+ // Verteilung nach Klostermann/Wahle
+ public function __construct()
+ {
+ parent::__construct();
+ try {
+ $this->createFunc("ROUND", 'round', 1);
+ $this->createFunc("VERTEILUNG", 'mathParserVerteilung', 4);
+ $this->createFunc("VERTEILUNGR", 'mathParserVerteilungR', 4);
+ } catch (Exception $e) {
+ Log::add('an error occurred: ' . $e->getMessage(), Log::ERROR, 'com_sportsmanager');
+ throw new RuntimeException('An error occurred.', 500);
+ }
+ }
}
-function mathParserVerteilungR($rohpunkte, $platz, $teilnehmer, $multiplikator) {
- return max(round(((($multiplikator * $rohpunkte - 1) * (-log($platz / $teilnehmer) * (1 - ($platz / $teilnehmer)))) / (-log(1 / $teilnehmer) * (1 - (1 / $teilnehmer)))) + 1), 1);
+#[NoReturn] function keinZugriff($login = FALSE): void
+{
+ if (isJson()) {
+ abortWithError(401 . ' Unauthorized');
+ }
+ if (!$login || Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id) {
+ Log::add('an error occurred', Log::ERROR, 'com_sportsmanager');
+ throw new RuntimeException('An error occurred.', 500);
+ }
+ $version = new Version();
+ $joomla = $version->getShortVersion();
+ $u = Uri::getInstance();
+ $redirectUrl = urlencode(base64_encode($u->toString()));
+ $redirectUrl = '&return=' . $redirectUrl;
+ $joomlaLoginUrl = 'index.php?option=' . (!str_starts_with($joomla, '1.5') ? 'com_users' : 'com_user') . '&view=login';
+ $finalUrl = $joomlaLoginUrl . $redirectUrl;
+ $app = Factory::getContainer()->get(SiteApplication::class);
+ $app->redirect(Route::_($finalUrl));
+ jexit();
}
-class MathParserSM extends MathParser {
- // Verteilung nach Klostermann/Wahle
- public function __construct() {
- MathParser::__construct();
- $this->createFunc("ROUND", 'round', 1);
- $this->createFunc("VERTEILUNG", 'mathParserVerteilung', 4);
- $this->createFunc("VERTEILUNGR", 'mathParserVerteilungR', 4);
- }
-}
-
-function keinZugriff($login = FALSE) {
- if (isJson()) {
- abortWithError(401 . ' Unauthorized');
- }
- if (!$login || JFactory::getUser()->id) {
- JError::raiseError(500, JText::_('JERROR_ALERTNOAUTHOR'));
- jexit();
- }
- $version = new JVersion;
- $joomla = $version->getShortVersion();
- //$u =& JFactory::getURI();
- $u = JURI::getInstance();
- $redirectUrl = urlencode(base64_encode($u->toString()));
- $redirectUrl = '&return='.$redirectUrl;
- $joomlaLoginUrl = 'index.php?option=' . (substr($joomla, 0, 3) != '1.5' ? 'com_users' : 'com_user') . '&view=login';
- $finalUrl = $joomlaLoginUrl . $redirectUrl;
- $app = JFactory::getApplication();
- $app->redirect(JRoute::_($finalUrl));
- jexit();
-}
-
-function bereinigterDateiname($dateiname) {
- $_convertTable = array(
- '&' => 'and', '@' => 'at', '©' => 'c', '®' => 'r', 'À' => 'a',
- 'Á' => 'a', 'Â' => 'a', 'Ä' => 'a', 'Å' => 'a', 'Æ' => 'ae','Ç' => 'c',
- 'È' => 'e', 'É' => 'e', 'Ë' => 'e', 'Ì' => 'i', 'Í' => 'i', 'Î' => 'i',
- 'Ï' => 'i', 'Ò' => 'o', 'Ó' => 'o', 'Ô' => 'o', 'Õ' => 'o', 'Ö' => 'o',
- 'Ø' => 'o', 'Ù' => 'u', 'Ú' => 'u', 'Û' => 'u', 'Ü' => 'u', 'Ý' => 'y',
- 'ß' => 'ss','à' => 'a', 'á' => 'a', 'â' => 'a', 'ä' => 'a', 'å' => 'a',
- 'æ' => 'ae','ç' => 'c', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e',
- 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ò' => 'o', 'ó' => 'o',
- 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ø' => 'o', 'ù' => 'u', 'ú' => 'u',
- 'û' => 'u', 'ü' => 'u', 'ý' => 'y', 'þ' => 'p', 'ÿ' => 'y', 'Ā' => 'a',
- 'ā' => 'a', 'Ă' => 'a', 'ă' => 'a', 'Ą' => 'a', 'ą' => 'a', 'Ć' => 'c',
- 'ć' => 'c', 'Ĉ' => 'c', 'ĉ' => 'c', 'Ċ' => 'c', 'ċ' => 'c', 'Č' => 'c',
- 'č' => 'c', 'Ď' => 'd', 'ď' => 'd', 'Đ' => 'd', 'đ' => 'd', 'Ē' => 'e',
- 'ē' => 'e', 'Ĕ' => 'e', 'ĕ' => 'e', 'Ė' => 'e', 'ė' => 'e', 'Ę' => 'e',
- 'ę' => 'e', 'Ě' => 'e', 'ě' => 'e', 'Ĝ' => 'g', 'ĝ' => 'g', 'Ğ' => 'g',
- 'ğ' => 'g', 'Ġ' => 'g', 'ġ' => 'g', 'Ģ' => 'g', 'ģ' => 'g', 'Ĥ' => 'h',
- 'ĥ' => 'h', 'Ħ' => 'h', 'ħ' => 'h', 'Ĩ' => 'i', 'ĩ' => 'i', 'Ī' => 'i',
- 'ī' => 'i', 'Ĭ' => 'i', 'ĭ' => 'i', 'Į' => 'i', 'į' => 'i', 'İ' => 'i',
- 'ı' => 'i', 'IJ' => 'ij','ij' => 'ij','Ĵ' => 'j', 'ĵ' => 'j', 'Ķ' => 'k',
- 'ķ' => 'k', 'ĸ' => 'k', 'Ĺ' => 'l', 'ĺ' => 'l', 'Ļ' => 'l', 'ļ' => 'l',
- 'Ľ' => 'l', 'ľ' => 'l', 'Ŀ' => 'l', 'ŀ' => 'l', 'Ł' => 'l', 'ł' => 'l',
- 'Ń' => 'n', 'ń' => 'n', 'Ņ' => 'n', 'ņ' => 'n', 'Ň' => 'n', 'ň' => 'n',
- 'ʼn' => 'n', 'Ŋ' => 'n', 'ŋ' => 'n', 'Ō' => 'o', 'ō' => 'o', 'Ŏ' => 'o',
- 'ŏ' => 'o', 'Ő' => 'o', 'ő' => 'o', 'Œ' => 'oe','œ' => 'oe','Ŕ' => 'r',
- 'ŕ' => 'r', 'Ŗ' => 'r', 'ŗ' => 'r', 'Ř' => 'r', 'ř' => 'r', 'Ś' => 's',
- 'ś' => 's', 'Ŝ' => 's', 'ŝ' => 's', 'Ş' => 's', 'ş' => 's', 'Š' => 's',
- 'š' => 's', 'Ţ' => 't', 'ţ' => 't', 'Ť' => 't', 'ť' => 't', 'Ŧ' => 't',
- 'ŧ' => 't', 'Ũ' => 'u', 'ũ' => 'u', 'Ū' => 'u', 'ū' => 'u', 'Ŭ' => 'u',
- 'ŭ' => 'u', 'Ů' => 'u', 'ů' => 'u', 'Ű' => 'u', 'ű' => 'u', 'Ų' => 'u',
- 'ų' => 'u', 'Ŵ' => 'w', 'ŵ' => 'w', 'Ŷ' => 'y', 'ŷ' => 'y', 'Ÿ' => 'y',
- 'Ź' => 'z', 'ź' => 'z', 'Ż' => 'z', 'ż' => 'z', 'Ž' => 'z', 'ž' => 'z',
- 'ſ' => 'z', 'Ə' => 'e', 'ƒ' => 'f', 'Ơ' => 'o', 'ơ' => 'o', 'Ư' => 'u',
- 'ư' => 'u', 'Ǎ' => 'a', 'ǎ' => 'a', 'Ǐ' => 'i', 'ǐ' => 'i', 'Ǒ' => 'o',
- 'ǒ' => 'o', 'Ǔ' => 'u', 'ǔ' => 'u', 'Ǖ' => 'u', 'ǖ' => 'u', 'Ǘ' => 'u',
- 'ǘ' => 'u', 'Ǚ' => 'u', 'ǚ' => 'u', 'Ǜ' => 'u', 'ǜ' => 'u', 'Ǻ' => 'a',
- 'ǻ' => 'a', 'Ǽ' => 'ae','ǽ' => 'ae','Ǿ' => 'o', 'ǿ' => 'o', 'ə' => 'e',
- 'Ё' => 'jo','Є' => 'e', 'І' => 'i', 'Ї' => 'i', 'А' => 'a', 'Б' => 'b',
- 'В' => 'v', 'Г' => 'g', 'Д' => 'd', 'Е' => 'e', 'Ж' => 'zh','З' => 'z',
- 'И' => 'i', 'Й' => 'j', 'К' => 'k', 'Л' => 'l', 'М' => 'm', 'Н' => 'n',
- 'О' => 'o', 'П' => 'p', 'Р' => 'r', 'С' => 's', 'Т' => 't', 'У' => 'u',
- 'Ф' => 'f', 'Х' => 'h', 'Ц' => 'c', 'Ч' => 'ch','Ш' => 'sh','Щ' => 'sch',
- 'Ъ' => '-', 'Ы' => 'y', 'Ь' => '-', 'Э' => 'je','Ю' => 'ju','Я' => 'ja',
- 'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e',
- 'ж' => 'zh','з' => 'z', 'и' => 'i', 'й' => 'j', 'к' => 'k', 'л' => 'l',
- 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's',
- 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'ch',
- 'ш' => 'sh','щ' => 'sch','ъ' => '-','ы' => 'y', 'ь' => '-', 'э' => 'je',
- 'ю' => 'ju','я' => 'ja','ё' => 'jo','є' => 'e', 'і' => 'i', 'ї' => 'i',
- 'Ґ' => 'g', 'ґ' => 'g', 'א' => 'a', 'ב' => 'b', 'ג' => 'g', 'ד' => 'd',
- 'ה' => 'h', 'ו' => 'v', 'ז' => 'z', 'ח' => 'h', 'ט' => 't', 'י' => 'i',
- 'ך' => 'k', 'כ' => 'k', 'ל' => 'l', 'ם' => 'm', 'מ' => 'm', 'ן' => 'n',
- 'נ' => 'n', 'ס' => 's', 'ע' => 'e', 'ף' => 'p', 'פ' => 'p', 'ץ' => 'C',
- 'צ' => 'c', 'ק' => 'q', 'ר' => 'r', 'ש' => 'w', 'ת' => 't', '™' => 'tm',
- );
- $bad = array_merge(
- array_map('chr', range(0,31)),
+function bereinigterDateiname($dateiname): array|string
+{
+ $_convertTable = array(
+ '&' => 'and', '@' => 'at', '©' => 'c', '®' => 'r', 'À' => 'a',
+ 'Á' => 'a', 'Â' => 'a', 'Ä' => 'a', 'Å' => 'a', 'Æ' => 'ae', 'Ç' => 'c',
+ 'È' => 'e', 'É' => 'e', 'Ë' => 'e', 'Ì' => 'i', 'Í' => 'i', 'Î' => 'i',
+ 'Ï' => 'i', 'Ò' => 'o', 'Ó' => 'o', 'Ô' => 'o', 'Õ' => 'o', 'Ö' => 'o',
+ 'Ø' => 'o', 'Ù' => 'u', 'Ú' => 'u', 'Û' => 'u', 'Ü' => 'u', 'Ý' => 'y',
+ 'ß' => 'ss', 'à' => 'a', 'á' => 'a', 'â' => 'a', 'ä' => 'a', 'å' => 'a',
+ 'æ' => 'ae', 'ç' => 'c', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e',
+ 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ò' => 'o', 'ó' => 'o',
+ 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ø' => 'o', 'ù' => 'u', 'ú' => 'u',
+ 'û' => 'u', 'ü' => 'u', 'ý' => 'y', 'þ' => 'p', 'ÿ' => 'y', 'Ā' => 'a',
+ 'ā' => 'a', 'Ă' => 'a', 'ă' => 'a', 'Ą' => 'a', 'ą' => 'a', 'Ć' => 'c',
+ 'ć' => 'c', 'Ĉ' => 'c', 'ĉ' => 'c', 'Ċ' => 'c', 'ċ' => 'c', 'Č' => 'c',
+ 'č' => 'c', 'Ď' => 'd', 'ď' => 'd', 'Đ' => 'd', 'đ' => 'd', 'Ē' => 'e',
+ 'ē' => 'e', 'Ĕ' => 'e', 'ĕ' => 'e', 'Ė' => 'e', 'ė' => 'e', 'Ę' => 'e',
+ 'ę' => 'e', 'Ě' => 'e', 'ě' => 'e', 'Ĝ' => 'g', 'ĝ' => 'g', 'Ğ' => 'g',
+ 'ğ' => 'g', 'Ġ' => 'g', 'ġ' => 'g', 'Ģ' => 'g', 'ģ' => 'g', 'Ĥ' => 'h',
+ 'ĥ' => 'h', 'Ħ' => 'h', 'ħ' => 'h', 'Ĩ' => 'i', 'ĩ' => 'i', 'Ī' => 'i',
+ 'ī' => 'i', 'Ĭ' => 'i', 'ĭ' => 'i', 'Į' => 'i', 'į' => 'i', 'İ' => 'i',
+ 'ı' => 'i', 'IJ' => 'ij', 'ij' => 'ij', 'Ĵ' => 'j', 'ĵ' => 'j', 'Ķ' => 'k',
+ 'ķ' => 'k', 'ĸ' => 'k', 'Ĺ' => 'l', 'ĺ' => 'l', 'Ļ' => 'l', 'ļ' => 'l',
+ 'Ľ' => 'l', 'ľ' => 'l', 'Ŀ' => 'l', 'ŀ' => 'l', 'Ł' => 'l', 'ł' => 'l',
+ 'Ń' => 'n', 'ń' => 'n', 'Ņ' => 'n', 'ņ' => 'n', 'Ň' => 'n', 'ň' => 'n',
+ 'ʼn' => 'n', 'Ŋ' => 'n', 'ŋ' => 'n', 'Ō' => 'o', 'ō' => 'o', 'Ŏ' => 'o',
+ 'ŏ' => 'o', 'Ő' => 'o', 'ő' => 'o', 'Œ' => 'oe', 'œ' => 'oe', 'Ŕ' => 'r',
+ 'ŕ' => 'r', 'Ŗ' => 'r', 'ŗ' => 'r', 'Ř' => 'r', 'ř' => 'r', 'Ś' => 's',
+ 'ś' => 's', 'Ŝ' => 's', 'ŝ' => 's', 'Ş' => 's', 'ş' => 's', 'Š' => 's',
+ 'š' => 's', 'Ţ' => 't', 'ţ' => 't', 'Ť' => 't', 'ť' => 't', 'Ŧ' => 't',
+ 'ŧ' => 't', 'Ũ' => 'u', 'ũ' => 'u', 'Ū' => 'u', 'ū' => 'u', 'Ŭ' => 'u',
+ 'ŭ' => 'u', 'Ů' => 'u', 'ů' => 'u', 'Ű' => 'u', 'ű' => 'u', 'Ų' => 'u',
+ 'ų' => 'u', 'Ŵ' => 'w', 'ŵ' => 'w', 'Ŷ' => 'y', 'ŷ' => 'y', 'Ÿ' => 'y',
+ 'Ź' => 'z', 'ź' => 'z', 'Ż' => 'z', 'ż' => 'z', 'Ž' => 'z', 'ž' => 'z',
+ 'ſ' => 'z', 'Ə' => 'e', 'ƒ' => 'f', 'Ơ' => 'o', 'ơ' => 'o', 'Ư' => 'u',
+ 'ư' => 'u', 'Ǎ' => 'a', 'ǎ' => 'a', 'Ǐ' => 'i', 'ǐ' => 'i', 'Ǒ' => 'o',
+ 'ǒ' => 'o', 'Ǔ' => 'u', 'ǔ' => 'u', 'Ǖ' => 'u', 'ǖ' => 'u', 'Ǘ' => 'u',
+ 'ǘ' => 'u', 'Ǚ' => 'u', 'ǚ' => 'u', 'Ǜ' => 'u', 'ǜ' => 'u', 'Ǻ' => 'a',
+ 'ǻ' => 'a', 'Ǽ' => 'ae', 'ǽ' => 'ae', 'Ǿ' => 'o', 'ǿ' => 'o', 'ə' => 'e',
+ 'Ё' => 'jo', 'Є' => 'e', 'І' => 'i', 'Ї' => 'i', 'А' => 'a', 'Б' => 'b',
+ 'В' => 'v', 'Г' => 'g', 'Д' => 'd', 'Е' => 'e', 'Ж' => 'zh', 'З' => 'z',
+ 'И' => 'i', 'Й' => 'j', 'К' => 'k', 'Л' => 'l', 'М' => 'm', 'Н' => 'n',
+ 'О' => 'o', 'П' => 'p', 'Р' => 'r', 'С' => 's', 'Т' => 't', 'У' => 'u',
+ 'Ф' => 'f', 'Х' => 'h', 'Ц' => 'c', 'Ч' => 'ch', 'Ш' => 'sh', 'Щ' => 'sch',
+ 'Ъ' => '-', 'Ы' => 'y', 'Ь' => '-', 'Э' => 'je', 'Ю' => 'ju', 'Я' => 'ja',
+ 'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e',
+ 'ж' => 'zh', 'з' => 'z', 'и' => 'i', 'й' => 'j', 'к' => 'k', 'л' => 'l',
+ 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's',
+ 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'ch',
+ 'ш' => 'sh', 'щ' => 'sch', 'ъ' => '-', 'ы' => 'y', 'ь' => '-', 'э' => 'je',
+ 'ю' => 'ju', 'я' => 'ja', 'ё' => 'jo', 'є' => 'e', 'і' => 'i', 'ї' => 'i',
+ 'Ґ' => 'g', 'ґ' => 'g', 'א' => 'a', 'ב' => 'b', 'ג' => 'g', 'ד' => 'd',
+ 'ה' => 'h', 'ו' => 'v', 'ז' => 'z', 'ח' => 'h', 'ט' => 't', 'י' => 'i',
+ 'ך' => 'k', 'כ' => 'k', 'ל' => 'l', 'ם' => 'm', 'מ' => 'm', 'ן' => 'n',
+ 'נ' => 'n', 'ס' => 's', 'ע' => 'e', 'ף' => 'p', 'פ' => 'p', 'ץ' => 'C',
+ 'צ' => 'c', 'ק' => 'q', 'ר' => 'r', 'ש' => 'w', 'ת' => 't', '™' => 'tm',
+ );
+ $bad = array_merge(
+ array_map('chr', range(0, 31)),
array("<", ">", ":", '"', "/", "\\", "|", "?", "*"));
- return str_replace($bad, "", strtr($dateiname, $_convertTable));
+ return str_replace($bad, "", strtr($dateiname, $_convertTable));
}
-function setMinMemoryLimit($memDestSize) {
- if (getBytes(ini_get('memory_limit')) < getBytes($memDestSize))
- ini_set('memory_limit', $memDestSize);
+function setMinMemoryLimit($memDestSize): void
+{
+ if (getBytes(ini_get('memory_limit')) < getBytes($memDestSize))
+ ini_set('memory_limit', $memDestSize);
}
-function getBytes($val) {
- $val = trim($val);
- $numeric = substr($val, 0, strlen($val) -1);
- $last = strtolower($val[strlen($val) - 1]);
- switch($last) {
- // The 'G' modifier is available since PHP 5.1.0
- case 'g':
- $numeric *= 1024;
- case 'm':
- $numeric *= 1024;
- case 'k':
- $numeric *= 1024;
- }
- return $numeric;
+function getBytes($val): int|string
+{
+ $val = trim($val);
+ $numeric = substr($val, 0, strlen($val) - 1);
+ $last = strtolower($val[strlen($val) - 1]);
+ switch ($last) {
+ // The 'G' modifier is available since PHP 5.1.0
+ case 'm':
+ case 'g':
+ case 'k':
+ $numeric *= 1024;
+ break;
+ }
+ return $numeric;
}
-function encrypt($str, $key){
- $result="";
- for($i=0; $iid;
- return " " . $prefix . " (SELECT berechtigt_individualwettbewerb_id FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb INNER JOIN #__sportsmanager_individualwettbewerb ON individualwettbewerb_id = berechtigt_individualwettbewerb_id WHERE berechtigt_user_id = $user_id) ";
+function individualwettbewerbFilter($prefix): string
+{
+ $user_id = isExternalDatabase() ? 0 : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
+ return " " . $prefix . " (SELECT berechtigt_individualwettbewerb_id FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb INNER JOIN #__sportsmanager_individualwettbewerb ON individualwettbewerb_id = berechtigt_individualwettbewerb_id WHERE berechtigt_user_id = $user_id) ";
}
-function kategorieFilter($prefix, $suffix = "") {
- global $params;
- $kategorien = explode(",", $params->get( 'kategorien' ));
- $filter = "";
- foreach ($kategorien as $s) {
- $kategorie = intval(trim($s));
- if ($kategorie == 0)
- continue;
- if (!empty($filter))
- $filter .= ", ";
- $filter .= $kategorie;
- }
- return empty($filter) ? "" : (" " . $prefix . " (" . $filter . ") " . $suffix);
+function kategorieFilter($prefix, $suffix = ""): string
+{
+ global $params;
+ $kategorien = explode(",", $params->get('kategorien'));
+ $filter = "";
+ foreach ($kategorien as $s) {
+ $kategorie = intval(trim($s));
+ if ($kategorie == 0)
+ continue;
+ if (!empty($filter))
+ $filter .= ", ";
+ $filter .= $kategorie;
+ }
+ return empty($filter) ? "" : (" " . $prefix . " (" . $filter . ") " . $suffix);
}
-function turnierFilter($prefix) {
- $db =& getDatabase();
- $user_id = isExternalDatabase() ? 0 : JFactory::getUser()->id;
- return " " . $prefix . " (SELECT berechtigt_turnier_id FROM #__sportsmanager_berechtigt_fuer_turnier WHERE berechtigt_user_id = $user_id AND DATEDIFF(letzter_tag, NOW()) >= -14) ";
+function turnierFilter($prefix): string
+{
+ $user_id = isExternalDatabase() ? 0 : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
+ return " " . $prefix . " (SELECT berechtigt_turnier_id FROM #__sportsmanager_berechtigt_fuer_turnier WHERE berechtigt_user_id = $user_id AND DATEDIFF(letzter_tag, NOW()) >= -14) ";
}
-function vereinFilter($prefix) {
- $db =& getDatabase();
- $user_id = isExternalDatabase() ? 0 : JFactory::getUser()->id;
- return " " . $prefix . " (SELECT berechtigt_verein_id FROM #__sportsmanager_berechtigt_fuer_verein INNER JOIN #__sportsmanager_verein ON berechtigt_verein_id = verein_id WHERE berechtigt_user_id = $user_id AND NOT ausgetreten) ";
+function vereinFilter($prefix): string
+{
+ $user_id = isExternalDatabase() ? 0 : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
+ return " " . $prefix . " (SELECT berechtigt_verein_id FROM #__sportsmanager_berechtigt_fuer_verein INNER JOIN #__sportsmanager_verein ON berechtigt_verein_id = verein_id WHERE berechtigt_user_id = $user_id AND NOT ausgetreten) ";
}
-function veranstalterFilter($prefix) {
- $db =& getDatabase();
- $user_id = isExternalDatabase() ? 0 : JFactory::getUser()->id;
- return " " . $prefix . " (SELECT berechtigt_veranstalter_id FROM #__sportsmanager_berechtigt_fuer_veranstalter WHERE berechtigt_user_id = $user_id) ";
+function veranstalterFilter($prefix): string
+{
+ $user_id = isExternalDatabase() ? 0 : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
+ return " " . $prefix . " (SELECT berechtigt_veranstalter_id FROM #__sportsmanager_berechtigt_fuer_veranstalter WHERE berechtigt_user_id = $user_id) ";
}
-function veranstaltungFilter($prefix) {
- $db =& getDatabase();
- $user_id = isExternalDatabase() ? 0 : JFactory::getUser()->id;
- return " " . $prefix . " (SELECT berechtigt_veranstaltung_id FROM #__sportsmanager_berechtigt_fuer_veranstaltung INNER JOIN #__sportsmanager_veranstaltung ON veranstaltung_id = berechtigt_veranstaltung_id WHERE berechtigt_user_id = $user_id AND DATEDIFF(letzter_tag, NOW()) >= -14) ";
+function veranstaltungFilter($prefix): string
+{
+ $user_id = isExternalDatabase() ? 0 : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
+ return " " . $prefix . " (SELECT berechtigt_veranstaltung_id FROM #__sportsmanager_berechtigt_fuer_veranstaltung INNER JOIN #__sportsmanager_veranstaltung ON veranstaltung_id = berechtigt_veranstaltung_id WHERE berechtigt_user_id = $user_id AND DATEDIFF(letzter_tag, NOW()) >= -14) ";
}
// Berechnet Datum zum Montag der ersten Kalenderwoche eines Jahres
-function firstkw($jahr) {
- $erster = mktime(0,0,0,1,1,$jahr);
- $wtag = date('w',$erster);
- if ($wtag <= 4) {
- /**
- * Donnerstag oder kleiner: auf den Montag zurückrechnen.
- */
- $montag = mktime(0,0,0,1,1-($wtag-1),$jahr);
- }
- else {
- /**
- * auf den Montag nach vorne rechnen.
- */
- $montag = mktime(0,0,0,1,1+(7-$wtag+1),$jahr);
- }
- return $montag;
+function firstkw($jahr): bool|int
+{
+ $erster = mktime(0, 0, 0, 1, 1, $jahr);
+ $wtag = date('w', $erster);
+ if ($wtag <= 4) {
+ /**
+ * Donnerstag oder kleiner: auf den Montag zurückrechnen.
+ */
+ $montag = mktime(0, 0, 0, 1, 1 - ($wtag - 1), $jahr);
+ } else {
+ /**
+ * auf den Montag nach vorne rechnen.
+ */
+ $montag = mktime(0, 0, 0, 1, 1 + (7 - $wtag + 1), $jahr);
+ }
+ return $montag;
}
// Berechnet Wochentag über Kalenderwoche, Jahr und Wochentag (0 = Montag, ..., 6 = Sonntag)
-function mondaykw($kw, $jahr, $weekday) {
- $firstmonday = firstkw($jahr);
- $mon_monat = date('m',$firstmonday);
- $mon_jahr = date('Y',$firstmonday);
- $mon_tage = date('d',$firstmonday);
- $tage = ($kw-1)*7;
- $daykw = mktime(0,0,0,$mon_monat,$mon_tage+$tage+$weekday,$mon_jahr);
- return $daykw;
+function mondaykw($kw, $jahr, $weekday): bool|int
+{
+ $firstmonday = firstkw($jahr);
+ $mon_monat = date('m', $firstmonday);
+ $mon_jahr = date('Y', $firstmonday);
+ $mon_tage = (int)date('d', $firstmonday);
+ $tage = ($kw - 1) * 7;
+ return mktime(0, 0, 0, $mon_monat, $mon_tage + $tage + $weekday, $mon_jahr);
}
// Berechnet Termin am Wochentag (0 = Montag, ..., 6 = Sonntag) in Kalenderwoche zum Datum
-function geaenderterWochentag($datum, $wochentag) {
- $wtag = date('w', $datum);
- if ($wtag == 0) // Sonntag
- $wtag = 7;
- $mon_monat = date('m', $datum);
- $mon_jahr = date('Y', $datum);
- $mon_tage = date('d', $datum);
- return mktime(0,0,0, $mon_monat, $mon_tage + 1 - $wtag + $wochentag, $mon_jahr);
+function geaenderterWochentag($datum, $wochentag): bool|int
+{
+ $wtag = date('w', $datum);
+ if ($wtag == 0) // Sonntag
+ $wtag = 7;
+ $mon_monat = date('m', $datum);
+ $mon_jahr = date('Y', $datum);
+ $mon_tage = (int)date('d', $datum);
+ return mktime(0, 0, 0, $mon_monat, $mon_tage + 1 - $wtag + $wochentag, $mon_jahr);
}
-function normalisiertesDatum($datum) {
- if ($datum == NULL)
- return NULL;
+function normalisiertesDatum($datum): ?string
+{
+ if ($datum == NULL)
+ return NULL;
- if (strpos($datum, "-") !== false)
- $trennzeichen = "-";
- else
- $trennzeichen = ".";
+ if (str_contains($datum, "-"))
+ $trennzeichen = "-";
+ else
+ $trennzeichen = ".";
- $t = explode($trennzeichen, $datum);
- $n = count($t);
- if ($n == 1) {
- $s = $t[0];
- if (strlen($s) < 8)
- return NULL;
- $jahr = intval(substr($s, 0, 4));
- $monat = intval(substr($s, 4, 2));
- $tag = intval(substr($s, 6, 2));
- }
- else if ($n == 3) {
- if ($trennzeichen != ".") {
- $jahr = intval($t[0]);
- if (strlen($t[0]) <= 2)
- $jahr += 1900;
- $monat = intval($t[1]);
- $tag = intval($t[2]);
- }
- else {
- $tag = intval($t[0]);
- $monat = intval($t[1]);
- $jahr = intval($t[2]);
- if (strlen($t[2]) <= 2)
- $jahr += 1900;
- }
- }
- else
- return NULL;
+ $t = explode($trennzeichen, $datum);
+ $n = count($t);
+ if ($n == 1) {
+ $s = $t[0];
+ if (strlen($s) < 8)
+ return NULL;
+ $jahr = intval(substr($s, 0, 4));
+ $monat = intval(substr($s, 4, 2));
+ $tag = intval(substr($s, 6, 2));
+ } else if ($n == 3) {
+ if ($trennzeichen != ".") {
+ $jahr = intval($t[0]);
+ if (strlen($t[0]) <= 2)
+ $jahr += 1900;
+ $monat = intval($t[1]);
+ $tag = intval($t[2]);
+ } else {
+ $tag = intval($t[0]);
+ $monat = intval($t[1]);
+ $jahr = intval($t[2]);
+ if (strlen($t[2]) <= 2)
+ $jahr += 1900;
+ }
+ } else
+ return NULL;
- if (!checkdate($monat, $tag, $jahr))
- return NULL;
+ if (!checkdate($monat, $tag, $jahr))
+ return NULL;
- return sprintf("%04d-%02d-%02d", $jahr, $monat, $tag);;
+ return sprintf("%04d-%02d-%02d", $jahr, $monat, $tag);
}
-function normalisierteUhrzeit($uhrzeit) {
- if ($uhrzeit == NULL)
- return NULL;
+function normalisierteUhrzeit($uhrzeit): ?string
+{
+ if ($uhrzeit == NULL)
+ return NULL;
- if (strpos($uhrzeit, "-") !== FALSE)
- $trennzeichen = "-";
- else
- $trennzeichen = ":";
+ if (str_contains($uhrzeit, "-"))
+ $trennzeichen = "-";
+ else
+ $trennzeichen = ":";
- $t = explode($trennzeichen, $uhrzeit);
- $n = count($t);
- if ($n == 1) {
- $s = $t[0];
- $len = strlen($s);
- if ($len != 4 && $len != 6)
- return NULL;
- $stunden = intval(substr($s, 0, 2));
- $minuten = intval(substr($s, 2, 2));
- $sekunden = $len != 6 ? 0 : intval(substr($s, 4, 2));
- }
- else if ($n == 2 || $n == 3) {
- $stunden = intval($t[0]);
- $minuten = intval($t[1]);
- $sekunden = $n != 3 ? 0 : intval($t[2]);
- }
- else
- return NULL;
+ $t = explode($trennzeichen, $uhrzeit);
+ $n = count($t);
+ if ($n == 1) {
+ $s = $t[0];
+ $len = strlen($s);
+ if ($len != 4 && $len != 6)
+ return NULL;
+ $stunden = intval(substr($s, 0, 2));
+ $minuten = intval(substr($s, 2, 2));
+ $sekunden = $len != 6 ? 0 : intval(substr($s, 4, 2));
+ } else if ($n == 2 || $n == 3) {
+ $stunden = intval($t[0]);
+ $minuten = intval($t[1]);
+ $sekunden = $n != 3 ? 0 : intval($t[2]);
+ } else
+ return NULL;
- if ($stunden < 0 || $stunden > 23 || $minuten < 0 || $minuten > 59 || $sekunden < 0 || $sekunden > 59)
- return NULL;
+ if ($stunden < 0 || $stunden > 23 || $minuten < 0 || $minuten > 59 || $sekunden < 0 || $sekunden > 59)
+ return NULL;
- return sprintf("%02d:%02d:%02d", $stunden, $minuten, $sekunden);;
+ return sprintf("%02d:%02d:%02d", $stunden, $minuten, $sekunden);
}
-function runden_detailliert_invers($runden) {
- if ($runden == null)
- return null;
- $runden_invers = "";
- $saetze = explode(" ", $runden);
- foreach ($saetze as $satz) {
- $punkte = explode(":", $satz);
- if (!empty($runden_invers))
- $runden_invers .= " ";
- $runden_invers .= $punkte[1] . ":" . $punkte[0];
- }
- return $runden_invers;
-}
-
-function runden_detailliert_auswertung($runden) {
- $ergebnis = 0;
- $heim_saetze = 0;
- $unentschieden_saetze = 0;
- $gast_saetze = 0;
- $heim_punkte = 0;
- $gast_punkte = 0;
- if ($runden != null) {
+function runden_detailliert_invers($runden): ?string
+{
+ if ($runden == null)
+ return null;
+ $runden_invers = "";
$saetze = explode(" ", $runden);
foreach ($saetze as $satz) {
- $punkte = explode(":", $satz);
- $heim_punkte += (int)$punkte[0];
- $gast_punkte += (int)$punkte[1];
- if ($punkte[0] > $punkte[1])
- $heim_saetze++;
- else if ($punkte[0] < $punkte[1])
- $gast_saetze++;
- else
- $unentschieden_saetze++;
+ $punkte = explode(":", $satz);
+ if (!empty($runden_invers))
+ $runden_invers .= " ";
+ $runden_invers .= $punkte[1] . ":" . $punkte[0];
}
- if ($heim_saetze > $gast_saetze)
- $ergebnis = 1;
- else if ($heim_saetze < $gast_saetze)
- $ergebnis = 2;
- }
- return array($ergebnis, $heim_saetze, $unentschieden_saetze, $gast_saetze, $heim_punkte, $gast_punkte);
+ return $runden_invers;
+}
+
+function runden_detailliert_auswertung($runden): array
+{
+ $ergebnis = 0;
+ $heim_saetze = 0;
+ $unentschieden_saetze = 0;
+ $gast_saetze = 0;
+ $heim_punkte = 0;
+ $gast_punkte = 0;
+ if ($runden != null) {
+ $saetze = explode(" ", $runden);
+ foreach ($saetze as $satz) {
+ $punkte = explode(":", $satz);
+ $heim_punkte += (int)$punkte[0];
+ $gast_punkte += (int)$punkte[1];
+ if ($punkte[0] > $punkte[1])
+ $heim_saetze++;
+ else if ($punkte[0] < $punkte[1])
+ $gast_saetze++;
+ else
+ $unentschieden_saetze++;
+ }
+ if ($heim_saetze > $gast_saetze)
+ $ergebnis = 1;
+ else if ($heim_saetze < $gast_saetze)
+ $ergebnis = 2;
+ }
+ return array($ergebnis, $heim_saetze, $unentschieden_saetze, $gast_saetze, $heim_punkte, $gast_punkte);
}
// pass two file names
// returns TRUE if files are the same, FALSE otherwise
-function files_identical($fn1, $fn2) {
- if(!is_file($fn1) || !is_file($fn2))
- return FALSE;
+function files_identical($fn1, $fn2): bool
+{
+ if (!is_file($fn1) || !is_file($fn2))
+ return FALSE;
- if(filesize($fn1) !== filesize($fn2))
- return FALSE;
+ if (filesize($fn1) !== filesize($fn2))
+ return FALSE;
- if(!$fp1 = fopen($fn1, 'rb'))
- return FALSE;
+ if (!$fp1 = fopen($fn1, 'rb'))
+ return FALSE;
- if(!$fp2 = fopen($fn2, 'rb')) {
- fclose($fp1);
- return FALSE;
- }
+ if (!$fp2 = fopen($fn2, 'rb')) {
+ fclose($fp1);
+ return FALSE;
+ }
- $same = TRUE;
- while (!feof($fp1) and !feof($fp2))
- if(fread($fp1, 4096) !== fread($fp2, 4096)) {
- $same = FALSE;
- break;
- }
+ $same = TRUE;
+ while (!feof($fp1) and !feof($fp2))
+ if (fread($fp1, 4096) !== fread($fp2, 4096)) {
+ $same = FALSE;
+ break;
+ }
- if(feof($fp1) !== feof($fp2))
- $same = FALSE;
+ if (feof($fp1) !== feof($fp2))
+ $same = FALSE;
- fclose($fp1);
- fclose($fp2);
+ fclose($fp1);
+ fclose($fp2);
- return $same;
+ return $same;
}
-?>
+
diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
index 7b7ce4b..7bf7bf0 100644
--- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
+++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
@@ -6,349 +6,371 @@
// kein direkter Zugriff
defined('_JEXEC') or die('Restricted access');
-require_once(JPATH_COMPONENT . DIRECTORY_SEPARATOR . 'views/sportsmanager/view_tools.php');
+require_once(JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_tools.php');
+require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
+
+use Joomla\CMS\Language\Text;
+use Joomla\CMS\HTML\HTMLHelper;
class HTML_sportsmanager {
-static function aktuelleBegegnungenHeader($titel, $beschreibung, $ticker_anzeigen = false, $pineingabe_anzeigen = false) {
- global $params;
- if (!empty($titel)) { ?>
+static function aktuelleBegegnungenHeader($titel, $beschreibung, $ticker_anzeigen = false, $pineingabe_anzeigen = false): void
+{
+ global $params;
+ if (!empty($titel)) { ?>
-
-
- ") !== false ? $beschreibung : htmlentities_utf8($beschreibung); ?>
-
-
-
-
-
-
+
+
-
+static function automatischAktualisieren($sekunden = 60): void
+{
+ ?>
-
-
+ if (!empty($titel)) { ?>
-
-
- ") !== false ? $beschreibung : htmlentities_utf8($beschreibung); ?>
-
-
- 0) || $ticker_anzeigen) {
- ?>
-
-
-
+ ?>
+
-
-
+
-
-
-
-
+
+
-
-
-
-
+
+
-
+
-
-
-
-
-
- bezeichnung);
- $bild = bildHTML("mannschaftswettbewerbe/logo", $veranstaltung->veranstaltung_id, 0, 0, 0, 0, 'border="0" hspace="8" style="vertical-align:bottom"');
- if ($bild != null) {
- if (!empty($veranstaltung->logo_url)) {
- if (strpos($veranstaltung->logo_url, "://") === false)
- $logo_url = "http://" . $veranstaltung->logo_url;
- else
- $logo_url = $veranstaltung->logo_url;
- echo "" . $bild . " ";
- }
- else
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
-
-
- bezeichnung);
- $bild = bildHTML("mannschaftswettbewerbe/logo", $veranstaltung->veranstaltung_id, 0, 0, 0, 0, 'border="0" hspace="8" style="vertical-align:bottom"');
- if ($bild != null) {
- if (!empty($veranstaltung->logo_url)) {
- if (strpos($veranstaltung->logo_url, "://") === false)
- $logo_url = "http://" . $veranstaltung->logo_url;
- else
- $logo_url = $veranstaltung->logo_url;
- echo "" . $bild . " ";
- }
- else
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
+
+
- ") !== false ? $beschreibung : htmlentities_utf8($beschreibung); ?>
+
+
+
+ bezeichnung);
+ $bild = bildHTML("mannschaftswettbewerbe/logo", $veranstaltung->veranstaltung_id, 0, 0, 0, 0, 'border="0" hspace="8" style="vertical-align:bottom"');
+ if ($bild != null) {
+ if (!empty($veranstaltung->logo_url)) {
+ if (!str_contains($veranstaltung->logo_url, "://"))
+ $logo_url = "http://" . $veranstaltung->logo_url;
+ else
+ $logo_url = $veranstaltung->logo_url;
+ echo "" . $bild . " ";
+ } else
+ echo $bild;
+ }
+ ?>
+
+
+
-
- 0) {
- ?>
-
+
+ 0) {
+ ?>
+
-
-
-
-
-
- disziplin); ?>
-
-
-
+static function disziplinHeader($disziplin): void
+{
+ global $params;
+ ?>
+
+
+
+
+
+ disziplin); ?>
+
+
+
+
-
-
-
- :
-
-
- beginn); ?>
-
-
-
-
- :
-
-
- teilnehmer; ?>
-
-
-
-
+
+
+
+ :
+
+
+ beginn); ?>
+
+
+
+
+ :
+
+
+ teilnehmer; ?>
+
+
+
+
+
@@ -358,6738 +380,6784 @@ static function turniere($turniere) {
turnierort)) {
- $ort_anzeigen = true;
- break;
- }
- }
+ $ort_anzeigen = false;
+ foreach ($turniere as $turnier) {
+ if (!empty($turnier->turnierort)) {
+ $ort_anzeigen = true;
+ break;
+ }
+ }
- if (!empty($turniere)) {
- ?>
-
+
-
-
+ ?>
+
-
-
+
-
-
-
-
+
+
-
-
-
-
+
+
-
+
-
-
-
- turnierort)) echo $turnier->turnierort . ", ";
- echo FormatierterTermin($turnier->erster_tag, $turnier->letzter_tag, true);
- ?>
-
-
-
-
-
-
turnierbezeichnung); ?>
-
-
-
-
- 0) {
- $bilder_anzeigen_1 = false;
- $bilder_anzeigen_2 = false;
- foreach ($meldungen as $meldung) {
- $spieler = $meldungenSpielerNamen[$meldung->turniermeldung_id];
- $spielerIds = $meldungenSpielerIds[$meldung->turniermeldung_id];
- $spielerGeschlechter = $meldungenSpielerGeschlechter[$meldung->turniermeldung_id];
- $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$meldung->turniermeldung_id];
- if (isset($spieler[0]) && bildHTML("spieler", !isset($spielerIds[0]) || (!$details_anzeigen && $spielerBilderAusblenden[0]) ? '' : $spielerIds[0], 30, 40, 0, 0, '', $spielerGeschlechter[0] == 'M' ? 'm' : 'w') != null)
- $bilder_anzeigen_1 = true;
- if (isset($spieler[1]) && bildHTML("spieler", !isset($spielerIds[1]) || (!$details_anzeigen && $spielerBilderAusblenden[1]) ? '' : $spielerIds[1], 30, 40, 0, 0, '', $spielerGeschlechter[1] == 'M' ? 'm' : 'w') != null)
- $bilder_anzeigen_2 = true;
- if ($bilder_anzeigen_1 && $bilder_anzeigen_2)
- break;
- }
-
- ?>
-
-
-
-
-
-
- platz != 0 ? $meldung->platz : JText::_('COM_SPORTSMANAGER_NONE');
- ?>
-
-
-
-
-
-
-
- turniermeldung_id];
- $spielerIds = $meldungenSpielerIds[$meldung->turniermeldung_id];
- $spielerGeschlechter = $meldungenSpielerGeschlechter[$meldung->turniermeldung_id];
- $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$meldung->turniermeldung_id];
- if (!isset($spielerIds[0]))
- echo htmlentities_utf8($spieler[0]);
- else {
- ?>
-
- ";
- if (!isset($spielerIds[1]))
- echo htmlentities_utf8($spieler[1]);
- else {
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
- …
+
+ turnierort)) echo $turnier->turnierort . ", ";
+ echo FormatierterTermin($turnier->erster_tag, $turnier->letzter_tag, true);
+ ?>
-
-
-
+
+
+
turnierbezeichnung); ?>
+
+
+
+
+
+
-
+ if (count($meldungen) > 0) {
+ $bilder_anzeigen_1 = false;
+ $bilder_anzeigen_2 = false;
+ foreach ($meldungen as $meldung) {
+ $spieler = $meldungenSpielerNamen[$meldung->turniermeldung_id];
+ $spielerIds = $meldungenSpielerIds[$meldung->turniermeldung_id];
+ $spielerGeschlechter = $meldungenSpielerGeschlechter[$meldung->turniermeldung_id];
+ $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$meldung->turniermeldung_id];
+ if (isset($spieler[0]) && bildHTML("spieler", !isset($spielerIds[0]) || (!$details_anzeigen && $spielerBilderAusblenden[0]) ? '' : $spielerIds[0], 30, 40, 0, 0, '', $spielerGeschlechter[0] == 'M' ? 'm' : 'w') != null)
+ $bilder_anzeigen_1 = true;
+ if (isset($spieler[1]) && bildHTML("spieler", !isset($spielerIds[1]) || (!$details_anzeigen && $spielerBilderAusblenden[1]) ? '' : $spielerIds[1], 30, 40, 0, 0, '', $spielerGeschlechter[1] == 'M' ? 'm' : 'w') != null)
+ $bilder_anzeigen_2 = true;
+ if ($bilder_anzeigen_1 && $bilder_anzeigen_2)
+ break;
+ }
+
+ ?>
+
+
+
+
+
+
+
+ platz != 0 ? $meldung->platz : Text::_('COM_SPORTSMANAGER_NONE');
+ ?>
+
+
+
+
+
+
+
+ turniermeldung_id];
+ $spielerIds = $meldungenSpielerIds[$meldung->turniermeldung_id];
+ $spielerGeschlechter = $meldungenSpielerGeschlechter[$meldung->turniermeldung_id];
+ $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$meldung->turniermeldung_id];
+ if (!isset($spielerIds[0]))
+ echo htmlentities_utf8($spieler[0]);
+ else {
+ ?>
+
+ ";
+ if (!isset($spielerIds[1]))
+ echo htmlentities_utf8($spieler[1]);
+ else {
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
-
-
-
-
+
+
-
-
-
-
+
+
-
+
-
-
-
- turnierort)) echo $turnier->turnierort . ", ";
- echo FormatiertesDatum($disziplin->beginn) . " " . JText::_('COM_SPORTSMANAGER_HOUR') . ", " . $disziplin->teilnehmer . JText::_('COM_SPORTSMANAGER_MESSAGES');
- ?>
-
-
-
-
-
-
turnierbezeichnung) . ": " . htmlentities_utf8($disziplin->disziplin); ?>
-
-
-
-
+
+
+
+
+ turnierort)) echo $turnier->turnierort . ", ";
+ echo FormatiertesDatum($disziplin->beginn) . " " . Text::_('COM_SPORTSMANAGER_HOUR') . ", " . $disziplin->teilnehmer . Text::_('COM_SPORTSMANAGER_MESSAGES');
+ ?>
+
+
+
+
+
+
turnierbezeichnung) . ": " . htmlentities_utf8($disziplin->disziplin); ?>
+
+
+
+
+
- 0) || ($rundenstufe != 0 && count($spiele[$rundenstufe]) > 0)) {
- ?>
-
- 0) || ($rundenstufe != 0 && count($spiele[$rundenstufe]) > 0)) {
+ ?>
+
+ turniermeldung_id];
- $spielerIds = $meldungenSpielerIds[$meldung->turniermeldung_id];
- $spielerGeschlechter = $meldungenSpielerGeschlechter[$meldung->turniermeldung_id];
- $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$meldung->turniermeldung_id];
- if (isset($spieler[0]) && bildHTML("spieler", !isset($spielerIds[0]) || (!$details_anzeigen && $spielerBilderAusblenden[0]) ? '' : $spielerIds[0], 30, 40, 0, 0, '', $spielerGeschlechter[0] == 'M' ? 'm' : 'w') != null)
- $bilder_anzeigen_1 = true;
- if (isset($spieler[1]) && bildHTML("spieler", !isset($spielerIds[1]) || (!$details_anzeigen && $spielerBilderAusblenden[1]) ? '' : $spielerIds[1], 30, 40, 0, 0, '', $spielerGeschlechter[1] == 'M' ? 'm' : 'w') != null)
- $bilder_anzeigen_2 = true;
- if ($bilder_anzeigen_1 && $bilder_anzeigen_2)
- break;
- }
+ $bilder_anzeigen_1 = false;
+ $bilder_anzeigen_2 = false;
+ foreach ($meldungen[$rundenstufe] as $meldung) {
+ $spieler = $meldungenSpielerNamen[$meldung->turniermeldung_id];
+ $spielerIds = $meldungenSpielerIds[$meldung->turniermeldung_id];
+ $spielerGeschlechter = $meldungenSpielerGeschlechter[$meldung->turniermeldung_id];
+ $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$meldung->turniermeldung_id];
+ if (isset($spieler[0]) && bildHTML("spieler", !isset($spielerIds[0]) || (!$details_anzeigen && $spielerBilderAusblenden[0]) ? '' : $spielerIds[0], 30, 40, 0, 0, '', $spielerGeschlechter[0] == 'M' ? 'm' : 'w') != null)
+ $bilder_anzeigen_1 = true;
+ if (isset($spieler[1]) && bildHTML("spieler", !isset($spielerIds[1]) || (!$details_anzeigen && $spielerBilderAusblenden[1]) ? '' : $spielerIds[1], 30, 40, 0, 0, '', $spielerGeschlechter[1] == 'M' ? 'm' : 'w') != null)
+ $bilder_anzeigen_2 = true;
+ if ($bilder_anzeigen_1 && $bilder_anzeigen_2)
+ break;
+ }
- if (($rundenstufe == 0 || $rundenstufe == 10) && count($meldungen[$rundenstufe]) > 0) {
- ?>
-
-
- 0) {
+ ?>
+
+
+
+
+
+
+
+ platz != 0 ? $meldung->platz : Text::_('COM_SPORTSMANAGER_NONE');
+ ?>
+
+
+
+
+
+
+
+ turniermeldung_id];
+ $spielerIds = $meldungenSpielerIds[$meldung->turniermeldung_id];
+ $spielerGeschlechter = $meldungenSpielerGeschlechter[$meldung->turniermeldung_id];
+ $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$meldung->turniermeldung_id];
+ if (!isset($spielerIds[0]))
+ echo htmlentities_utf8($spieler[0]);
+ else {
+ ?>
+
+ ";
+ if (!isset($spielerIds[1]))
+ echo htmlentities_utf8($spieler[1]);
+ else {
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- $k = 0;
- foreach ($meldungen[$rundenstufe] as $meldung) {
- ?>
-
-
-
- platz != 0 ? $meldung->platz : JText::_('COM_SPORTSMANAGER_NONE');
- ?>
-
-
-
-
-
-
- turniermeldung_id];
- $spielerIds = $meldungenSpielerIds[$meldung->turniermeldung_id];
- $spielerGeschlechter = $meldungenSpielerGeschlechter[$meldung->turniermeldung_id];
- $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$meldung->turniermeldung_id];
- if (!isset($spielerIds[0]))
- echo htmlentities_utf8($spieler[0]);
- else {
- ?>
-
- ";
- if (!isset($spielerIds[1]))
- echo htmlentities_utf8($spieler[1]);
- else {
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0) {
- $ergebnis_detailliert_anzeigen = false;
- foreach ($spiele[$rundenstufe] as $spiel) {
- if (!empty($spiel->ergebnis_detailliert)) {
- $ergebnis_detailliert_anzeigen = true;
- break;
- }
- }
- ?>
-
-
- runde) {
- $runde = $spiel->runde;
- ?>
-
-
-
+
+
+ 0) {
+ $ergebnis_detailliert_anzeigen = false;
+ foreach ($spiele[$rundenstufe] as $spiel) {
+ if (!empty($spiel->ergebnis_detailliert)) {
+ $ergebnis_detailliert_anzeigen = true;
+ break;
+ }
+ }
+ ?>
+
+
+
-
-
-
-
-
-
-
- ergebnis == 1) {
- $gewinner_meldung_id = $spiel->heim_meldung_id;
- $verlierer_meldung_id = $spiel->gast_meldung_id;
- }
- else {
- $gewinner_meldung_id = $spiel->gast_meldung_id;
- $verlierer_meldung_id = $spiel->heim_meldung_id;
- }
- if (isset($meldungenSpielerNamen[$gewinner_meldung_id])) {
- $gewinner = $meldungenSpielerNamen[$gewinner_meldung_id];
- $gewinnerIds = $meldungenSpielerIds[$gewinner_meldung_id];
- $gewinnerGeschlechter = $meldungenSpielerGeschlechter[$gewinner_meldung_id];
- $gewinnerBilderAusblenden = $meldungenSpielerBilderAusblenden[$gewinner_meldung_id];
- }
- else {
- $gewinner = null;
- $gewinnerIds = null;
- $gewinnerGeschlechter = null;
- $gewinnerBilderAusblenden = null;
- }
- if (isset($meldungenSpielerNamen[$verlierer_meldung_id])) {
- $verlierer = $meldungenSpielerNamen[$verlierer_meldung_id];
- $verliererIds = $meldungenSpielerIds[$verlierer_meldung_id];
- $verliererGeschlechter = $meldungenSpielerGeschlechter[$verlierer_meldung_id];
- $verliererBilderAusblenden = $meldungenSpielerBilderAusblenden[$verlierer_meldung_id];
- }
- else {
- $verlierer = null;
- $verliererIds = null;
- $verliererGeschlechter = null;
- $verliererBilderAusblenden = null;
- }
- if (isset($gewinner)) {
- echo htmlentities_utf8($gewinner[0]);
- if (isset($gewinner[1]))
- echo " " . htmlentities_utf8($gewinner[1]);
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ergebnis_detailliert)) echo str_replace(" ", " | ", $spiel->ergebnis == 1 ? $spiel->ergebnis_detailliert : runden_detailliert_invers($spiel->ergebnis_detailliert)); ?>
-
-
-
-
-
-
-
- " . htmlentities_utf8($verlierer[1]);
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+ runde) {
+ $runde = $spiel->runde;
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+ ergebnis == 1) {
+ $gewinner_meldung_id = $spiel->heim_meldung_id;
+ $verlierer_meldung_id = $spiel->gast_meldung_id;
+ } else {
+ $gewinner_meldung_id = $spiel->gast_meldung_id;
+ $verlierer_meldung_id = $spiel->heim_meldung_id;
+ }
+ if (isset($meldungenSpielerNamen[$gewinner_meldung_id])) {
+ $gewinner = $meldungenSpielerNamen[$gewinner_meldung_id];
+ $gewinnerIds = $meldungenSpielerIds[$gewinner_meldung_id];
+ $gewinnerGeschlechter = $meldungenSpielerGeschlechter[$gewinner_meldung_id];
+ $gewinnerBilderAusblenden = $meldungenSpielerBilderAusblenden[$gewinner_meldung_id];
+ } else {
+ $gewinner = null;
+ $gewinnerIds = null;
+ $gewinnerGeschlechter = null;
+ $gewinnerBilderAusblenden = null;
+ }
+ if (isset($meldungenSpielerNamen[$verlierer_meldung_id])) {
+ $verlierer = $meldungenSpielerNamen[$verlierer_meldung_id];
+ $verliererIds = $meldungenSpielerIds[$verlierer_meldung_id];
+ $verliererGeschlechter = $meldungenSpielerGeschlechter[$verlierer_meldung_id];
+ $verliererBilderAusblenden = $meldungenSpielerBilderAusblenden[$verlierer_meldung_id];
+ } else {
+ $verlierer = null;
+ $verliererIds = null;
+ $verliererGeschlechter = null;
+ $verliererBilderAusblenden = null;
+ }
+ if (isset($gewinner)) {
+ echo htmlentities_utf8($gewinner[0]);
+ if (isset($gewinner[1]))
+ echo " " . htmlentities_utf8($gewinner[1]);
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ergebnis_detailliert)) echo str_replace(" ", " | ", $spiel->ergebnis == 1 ? $spiel->ergebnis_detailliert : runden_detailliert_invers($spiel->ergebnis_detailliert)); ?>
+
+
+
+
+
+
+
+ " . htmlentities_utf8($verlierer[1]);
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 0) {
- ?>
-
-
- Spiele der Zusatzunde
-
-
-
-
- runde) {
- $runde = $spiel->runde;
- ?>
-
-
-
-
-
-
-
-
- ergebnis == 1 ? $meldungenSpielerNamen[$spiel->heim_meldung_id] : $meldungenSpielerNamen[$spiel->gast_meldung_id];
- echo htmlentities_utf8($spieler[0]);
- if (isset($spieler[1]))
- echo " " . htmlentities_utf8($spieler[1]);
- ?>
-
-
-
- ergebnis == 1 ? $spiel->heim_meldung_id : $spiel->gast_meldung_id][0]) && ($bild = bildHTML("spieler", $meldungenSpielerIds[$spiel->ergebnis == 1 ? $spiel->heim_meldung_id : $spiel->gast_meldung_id][0], 30, 40, 0, 0, 'border="1"')) != NULL) {
- echo $bild;
- }
- ?>
-
-
-
- ergebnis == 1 ? $spiel->heim_meldung_id : $spiel->gast_meldung_id][1]) && ($bild = bildHTML("spieler", $meldungenSpielerIds[$spiel->ergebnis == 1 ? $spiel->heim_meldung_id : $spiel->gast_meldung_id][1], 30, 40, 0, 0, 'border="1"')) != NULL) {
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
- ergebnis == 1 ? $meldungenSpielerNamen[$spiel->gast_meldung_id] : $meldungenSpielerNamen[$spiel->heim_meldung_id];
- echo htmlentities_utf8($spieler[0]);
- if (isset($spieler[1]))
- echo " " . htmlentities_utf8($spieler[1]);
- ?>
-
-
-
- ergebnis == 1 ? $spiel->gast_meldung_id : $spiel->heim_meldung_id][0]) && ($bild = bildHTML("spieler", $meldungenSpielerIds[$spiel->ergebnis == 1 ? $spiel->gast_meldung_id : $spiel->heim_meldung_id][0], 30, 40, 0, 0, 'border="1"')) != NULL) {
- echo $bild;
- }
- ?>
-
-
-
- ergebnis == 1 ? $spiel->gast_meldung_id : $spiel->heim_meldung_id][1]) && ($bild = bildHTML("spieler", $meldungenSpielerIds[$spiel->ergebnis == 1 ? $spiel->gast_meldung_id : $spiel->heim_meldung_id][1], 30, 40, 0, 0, 'border="1"')) != NULL) {
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
- 0) {
- ?>
-
-
- Spiele der 2. Zusatzunde
-
-
-
-
- runde) {
- $runde = $spiel->runde;
- ?>
-
-
-
-
-
-
-
-
- ergebnis == 1 ? $meldungenSpielerNamen[$spiel->heim_meldung_id] : $meldungenSpielerNamen[$spiel->gast_meldung_id];
- echo htmlentities_utf8($spieler[0]);
- if (isset($spieler[1]))
- echo " " . htmlentities_utf8($spieler[1]);
- ?>
-
-
-
- ergebnis == 1 ? $spiel->heim_meldung_id : $spiel->gast_meldung_id][0]) && ($bild = bildHTML("spieler", $meldungenSpielerIds[$spiel->ergebnis == 1 ? $spiel->heim_meldung_id : $spiel->gast_meldung_id][0], 30, 40, 0, 0, 'border="1"')) != NULL) {
- echo $bild;
- }
- ?>
-
-
-
- ergebnis == 1 ? $spiel->heim_meldung_id : $spiel->gast_meldung_id][1]) && ($bild = bildHTML("spieler", $meldungenSpielerIds[$spiel->ergebnis == 1 ? $spiel->heim_meldung_id : $spiel->gast_meldung_id][1], 30, 40, 0, 0, 'border="1"')) != NULL) {
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
- ergebnis == 1 ? $meldungenSpielerNamen[$spiel->gast_meldung_id] : $meldungenSpielerNamen[$spiel->heim_meldung_id];
- echo htmlentities_utf8($spieler[0]);
- if (isset($spieler[1]))
- echo " " . htmlentities_utf8($spieler[1]);
- ?>
-
-
-
- ergebnis == 1 ? $spiel->gast_meldung_id : $spiel->heim_meldung_id][0]) && ($bild = bildHTML("spieler", $meldungenSpielerIds[$spiel->ergebnis == 1 ? $spiel->gast_meldung_id : $spiel->heim_meldung_id][0], 30, 40, 0, 0, 'border="1"')) != NULL) {
- echo $bild;
- }
- ?>
-
-
-
- ergebnis == 1 ? $spiel->gast_meldung_id : $spiel->heim_meldung_id][1]) && ($bild = bildHTML("spieler", $meldungenSpielerIds[$spiel->ergebnis == 1 ? $spiel->gast_meldung_id : $spiel->heim_meldung_id][1], 30, 40, 0, 0, 'border="1"')) != NULL) {
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
- 0) {
- ?>
-
-
- Spiele der Vorrunde
-
-
-
-
- runde) {
- $runde = $spiel->runde;
- ?>
-
-
-
-
-
-
-
-
- ergebnis == 1 ? $meldungenSpielerNamen[$spiel->heim_meldung_id] : $meldungenSpielerNamen[$spiel->gast_meldung_id];
- echo htmlentities_utf8($spieler[0]);
- if (isset($spieler[1]))
- echo " " . htmlentities_utf8($spieler[1]);
- ?>
-
-
-
- ergebnis == 1 ? $spiel->heim_meldung_id : $spiel->gast_meldung_id][0]) && ($bild = bildHTML("spieler", $meldungenSpielerIds[$spiel->ergebnis == 1 ? $spiel->heim_meldung_id : $spiel->gast_meldung_id][0], 30, 40, 0, 0, 'border="1"')) != NULL) {
- echo $bild;
- }
- ?>
-
-
-
- ergebnis == 1 ? $spiel->heim_meldung_id : $spiel->gast_meldung_id][1]) && ($bild = bildHTML("spieler", $meldungenSpielerIds[$spiel->ergebnis == 1 ? $spiel->heim_meldung_id : $spiel->gast_meldung_id][1], 30, 40, 0, 0, 'border="1"')) != NULL) {
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
- ergebnis == 1 ? $meldungenSpielerNamen[$spiel->gast_meldung_id] : $meldungenSpielerNamen[$spiel->heim_meldung_id];
- echo htmlentities_utf8($spieler[0]);
- if (isset($spieler[1]))
- echo " " . htmlentities_utf8($spieler[1]);
- ?>
-
-
-
- ergebnis == 1 ? $spiel->gast_meldung_id : $spiel->heim_meldung_id][0]) && ($bild = bildHTML("spieler", $meldungenSpielerIds[$spiel->ergebnis == 1 ? $spiel->gast_meldung_id : $spiel->heim_meldung_id][0], 30, 40, 0, 0, 'border="1"')) != NULL) {
- echo $bild;
- }
- ?>
-
-
-
- ergebnis == 1 ? $spiel->gast_meldung_id : $spiel->heim_meldung_id][1]) && ($bild = bildHTML("spieler", $meldungenSpielerIds[$spiel->ergebnis == 1 ? $spiel->gast_meldung_id : $spiel->heim_meldung_id][1], 30, 40, 0, 0, 'border="1"')) != NULL) {
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
- 0) {
- $zeitpunkt_anzeigen = false;
- foreach ($rows as $begegnung) {
- if (!empty($begegnung->zeitpunkt)) {
- $zeitpunkt_anzeigen = true;
- break;
- }
- }
+ if (count($rows) > 0) {
+ $zeitpunkt_anzeigen = false;
+ foreach ($rows as $begegnung) {
+ if (!empty($begegnung->zeitpunkt)) {
+ $zeitpunkt_anzeigen = true;
+ break;
+ }
+ }
- if (strlen($titel) > 0) {
- ?>
-
-
-
- veranstaltung_id . "\">";
- echo $titel;
- if (!empty($veranstaltung) && ($bild = bildHTML("mannschaftswettbewerbe/logo", $veranstaltung->veranstaltung_id, 0, 0, 0, 0, 'border="0" hspace="8" style="vertical-align:bottom"')) != null) {
- if (!empty($veranstaltung->logo_url)) {
- if (strpos($veranstaltung->logo_url, "://") === false)
- $logo_url = "http://" . $veranstaltung->logo_url;
- else
- $logo_url = $veranstaltung->logo_url;
- echo "" . $bild . " ";
- }
- else
- echo $bild;
- }
- ?>
-
-
- 0) {
+ ?>
+
+
+
+
+ veranstaltung_id . "\">";
+ echo $titel;
+ if (!empty($veranstaltung) && ($bild = bildHTML("mannschaftswettbewerbe/logo", $veranstaltung->veranstaltung_id, 0, 0, 0, 0, 'border="0" hspace="8" style="vertical-align:bottom"')) != null) {
+ if (!empty($veranstaltung->logo_url)) {
+ if (!str_contains($veranstaltung->logo_url, "://"))
+ $logo_url = "http://" . $veranstaltung->logo_url;
+ else
+ $logo_url = $veranstaltung->logo_url;
+ echo "" . $bild . " ";
+ } else
+ echo $bild;
+ }
+ ?>
+
+
+
+
+ ?>
-
+
-
-
-
-
-
+
-
-
+
-
-
-
-
+
+
-
-
-
+
+
-
-
+
-
-
-
- zeitpunkt);
- if ($begegnung->spieltag != null)
- echo ", " . htmlentities_utf8(Rundenbezeichnung($begegnung->spieltag, $veranstaltung->unterteilung == 0));
- if ($begegnung->unbestaetigtes_ergebnis_id != null)
- echo $begegnung->zwischenergebnis ? JText::_('COM_SPORTSMANAGER_PROVISIONAL_RESULT') : JText::_('COM_SPORTSMANAGER_UNCONFIRMED_RESULT');
- if (!empty($begegnung->tisch))
- echo ", " . JText::_('COM_SPORTSMANAGER_MATCH_TABLE') . ": " . htmlentities_utf8($begegnung->tisch);
- ?>
-
-
-
-
-
-
-
-
-
-
-
- team_id, 48, 48, 0, 0, 'border="0" align="right"');
- if ($bild == null && $heim_team->verein_id != null)
- $bild = bildHTML("vereine", $heim_team->verein_id, 48, 48, 0, 0, 'border="0" align="right"');
- if ($bild != null)
- echo $bild;
- ?>
-
-
- teamname); ?>
-
-
-
-
- team_id, 48, 48, 0, 0, 'border="0" align="left"');
- if ($bild != null)
- echo $bild;
- else if ($heim_team->verein_id != null) {
- $bild = bildHTML("vereine", $gast_team->verein_id, 48, 48, 0, 0, 'border="0" align="left"');
- if ($bild != null)
- echo $bild;
- }
- ?>
-
-
- teamname); ?>
-
-
-
-
-
-
- heim_spielpunkte . ":" . $begegnung->gast_spielpunkte; ?> spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2) echo "(" . $begegnung->heim_punkte . ":" . $begegnung->gast_punkte . ") "; ?>
-
-
-
-
- 0) {
- $bilder_anzeigen = false;
- foreach ($spiele as $spiel) {
- if (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_mitglied_id, 30, 40, 0, 0) != null || bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null) {
- $bilder_anzeigen = true;
- break;
- }
- if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id)) && (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_mitglied_id, 30, 40, 0, 0) != null || bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)) {
- $bilder_anzeigen = true;
- break;
- }
- if (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_mitglied_id, 30, 40, 0, 0) != null || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null) {
- $bilder_anzeigen = true;
- break;
- }
- if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id)) && (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_mitglied_id, 30, 40, 0, 0) != null || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)) {
- $bilder_anzeigen = true;
- break;
- }
- }
-
- ?>
-
-
-
-
- teamspiel_nummer ?>
-
-
-
-
-
- "
- align="center">
- heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_mitglied_id, 30, 40, 0, 0, 'border="1"');
- if ($bild == null)
- $bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, 'border="1"', $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w');
- if ($bild != null)
- echo $bild;
- ?>
-
- heim_spieler_2_id) && empty($spiel->gast_spieler_2_id))) {
- ?>
-
- heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_mitglied_id, 30, 40, 0, 0, 'border="1"');
- if ($bild == null)
- $bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, 'border="1"', $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w');
- if ($bild != null)
- echo $bild;
- ?>
-
-
-
-
-
-
-
-
- heim_spieler_1_id != null && $spiel->heim_spieler_1_id != 0) {
- ?>heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname)); ?>
- heim_spieler_2_id != null && $spiel->heim_spieler_2_id != 0) {
- ?>heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname)); ?>
-
-
-
- ergebnis_detailliert); ?>
-
-
- gast_spieler_1_id != null && $spiel->gast_spieler_1_id != 0) {
- ?>gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname)); ?>
- gast_spieler_2_id != null && $spiel->gast_spieler_2_id != 0) {
- ?>gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname)); ?>
-
-
-
-
-
-
-
-
- "
- align="center">
- gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_mitglied_id, 30, 40, 0, 0, 'border="1"');
- if ($bild == null)
- $bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, 'border="1"', $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w');
- if ($bild != null)
- echo $bild;
- ?>
-
- heim_spieler_2_id) && empty($spiel->gast_spieler_2_id))) {
- ?>
-
- gast_spieler_2_bild_ausblenden) && ($spiel->gast_spieler_2_mitglied_id != null || ($spiel->gast_spieler_2_id != null && $spiel->gast_spieler_2_id != 0))) {
- $bild = bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_mitglied_id, 30, 40, 0, 0, 'border="1"');
- if ($bild == null)
- $bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, 'border="1"', $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w');
- if ($bild != null)
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
-
-
-
- 0) {
- if ($alleine_angezeigt && $veranstaltung->tabellenwertung >= -1 && $veranstaltung->tabellenwertung <= 11 && count($spieltage) > 1) {
- ?>
-
- team_id, 28, 28, 0, 0) != null) {
- $bilder_anzeigen = true;
- break;
- }
- else if (bildHTML("vereine", $team->verein_id, 28, 28, 0, 0) != null) {
- $bilder_anzeigen = true;
- break;
- }
- }
-
- $zusatzpunkte_anzeigen = false;
- if ($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) {
- foreach ($teams as $team) {
- if ($team->zusatzpunkte != 0) {
- $zusatzpunkte_anzeigen = true;
- break;
- }
- }
- }
-
- ?>
-
-
-
-
-
-
-
- tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) && $gesamtpunkte != $team->gesamtpunkte)
- || (($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10) && ($spielpunkte_differenz != $team->spielpunkte_differenz || $punkte_differenz != $team->punkte_differenz))
- || (($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8 || $veranstaltung->tabellenwertung == 11) && ($spielpunkte_quotient != $team->spielpunkte_quotient || $punkte_quotient != $team->punkte_quotient))
- || (($veranstaltung->tabellenwertung >= 21) && ($team->buchholz1 != $buchholz1_wert || $team->buchholz2 != $buchholz2_wert)))
- $tatsaechlicher_platz = $platz;
- echo $tatsaechlicher_platz;
- ?>
-
- gesamtpunkte);
- $begegnungspunkte = $team->begegnungspunkte;
- $zusatzpunkte = floatval($team->zusatzpunkte);
- $punkte_quotient = $team->punkte_quotient;
- $punkte_differenz = $team->punkte_differenz;
- $punkte_gewonnen = $team->punkte_gewonnen;
- $punkte_verloren = $team->punkte_verloren;
- $spielpunkte_quotient = $team->spielpunkte_quotient;
- $spielpunkte_differenz = $team->spielpunkte_differenz;
- $spielpunkte_gewonnen = $team->spielpunkte_gewonnen;
- $spielpunkte_verloren = $team->spielpunkte_verloren;
- if ($veranstaltung->tabellenwertung >= 21) {
- $buchholz1_wert = $team->buchholz1;
- $buchholz2_wert = $team->buchholz2;
- }
- ?>
-
-
-
-
-
- team_id) . "\">" . htmlentities_utf8(NichtLeererString($team->teamname)) . "";
- ?>
-
-
-
- team_id, 50, 50, 0, 0, 'border="0"');
- if ($bild != null) {
- echo $bild;
- }
- else if ($team->verein_id != null) {
- $bild = bildHTML("vereine", $team->verein_id, 50, 50, 0, 0, 'border="0"');
- if ($bild != null)
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
- siege + $team->unentschieden + $team->niederlagen; ?>
-
- siege; ?>
- unentschieden; ?>
- niederlagen; ?>
-
-
- tabellenwertung != 3 && $veranstaltung->tabellenwertung != 6 && $veranstaltung->tabellenwertung != 9 && $veranstaltung->tabellenwertung != 23 && $veranstaltung->tabellenwertung != 26 && $veranstaltung->tabellenwertung != 29) {
- $title = "";
- if ($alleine_angezeigt && $praesentation == 0) {
- ?>
-
-
-
-
- >
- tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27)
- echo ($punkte_differenz >= 0 ? "+" : "") . $punkte_differenz;
- else
- echo $punkte_quotient == -1 ? "∞" : sprintf("%.2f", $punkte_quotient);
- ?>
-
- tabellenwertung != 3 && $veranstaltung->tabellenwertung != 6 && $veranstaltung->tabellenwertung != 9 && $veranstaltung->tabellenwertung != 23 && $veranstaltung->tabellenwertung != 26 && $veranstaltung->tabellenwertung != 29 && ($modus->spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2)) {
- $title = "";
- if ($modus->spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2) {
- if ($alleine_angezeigt && $praesentation == 0) {
- ?>
-
-
-
-
- >
- tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27)
- echo ($spielpunkte_differenz >= 0 ? "+" : "") . $spielpunkte_differenz;
- else
- echo $spielpunkte_quotient == -1 ? "∞" : sprintf("%.2f", $spielpunkte_quotient);
- ?>
-
- tabellenwertung >= 21) {
- ?>
- buchholz2; ?>
- buchholz1; ?>
- tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) {
- ?>
-
-
-
-
-
-
-
-
-
- 0) {
- $bilder_anzeigen = false;
- foreach ($teams as $team) {
- if (bildHTML("mannschaften", $team->team_id, 28, 28, 0, 0) != null) {
- $bilder_anzeigen = true;
- break;
- }
- else if (bildHTML("vereine", $team->verein_id, 28, 28, 0, 0) != null) {
- $bilder_anzeigen = true;
- break;
- }
- }
-
- ?>
-
-
-
- platz == null;
- $platz = -1;
- $k = 0;
- foreach ($teams
-
- as $team) {
- if ($laufende_veranstaltung && $team->platz != $platz && $team->platz == null) { // ($team->platz == null || $platz == -1)) {
- ?>
-
-
-
-
-
-
-
- platz != $platz) {
- if ($team->platz != null)
- echo $team->platz;
- $platz = $team->platz;
- }
- ?>
-
-
-
-
-
-
- team_id) . "\">" . htmlentities_utf8(NichtLeererString($team->teamname)) . "";
- ?>
-
-
-
- team_id, 50, 50, 0, 0, 'border="0"');
- if ($bild != null) {
- echo $bild;
- }
- else if ($team->verein_id != null) {
- $bild = bildHTML("vereine", $team->verein_id, 50, 50, 0, 0, 'border="0"');
- if ($bild != null)
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
- letzter_spieltag);
- ?>
-
-
- letzter_spieltag;
- ?>
-
-
- zuletzt_gewonnen;
- ?>
-
-
-
-
-
-
-
-
-
- 0 || !$alleine_angezeigt) {
- ?>
-
-
-
-
-
- ") !== false ? $beschreibung : htmlentities_utf8($beschreibung); ?>
-
-
- 0) {
- ?>
-
-
-
-
-
- bezeichnung); ?>
-
-
-
- 0) {
- $bilder_anzeigen = false;
- foreach ($rows as $team) {
- if (bildHTML("mannschaften", $team->team_id, 28, 28, 0, 0) != null) {
- $bilder_anzeigen = true;
- break;
- }
- else if ($team->verein_id != null && bildHTML("vereine", $team->verein_id, 0, 0, 240, 240, 'border="0"') != null) {
- $bilder_anzeigen = true;
- break;
- }
- }
-
- $heimspielort_anzeigen = false;
- foreach ($rows as $team) {
- if (!empty($team->name)) {
- $heimspielort_anzeigen = true;
- break;
- }
- }
-
- $tischtyp_anzeigen = false;
- foreach ($rows as $team) {
- if (!empty($team->tischtyp)) {
- $tischtyp_anzeigen = true;
- break;
- }
- }
-
- $wettbewerb_anzeigen = false;
- $team_name = null;
- $team_veranstaltung_id = 0;
- foreach ($rows as $team) {
- if ($team->teamname == $team_name && $team->veranstaltung_id != $team_veranstaltung_id) {
- $wettbewerb_anzeigen = true;
- break;
- }
- $team_name = $team->teamname;
- $team_veranstaltung_id = $team->veranstaltung_id;
- }
-
- ?>
-
-
-
-
-
-
-
-
-
-
- teamname)); ?>
-
-
-
- team_id, 50, 50, 0, 0, 'border="0"');
- if ($bild != null)
- echo $bild;
- else if ($row->verein_id != null) {
- $bild = bildHTML("vereine", $row->verein_id, 50, 50, 0, 0, 'border="0"');
- if ($bild != null)
- echo $bild;
- }
-
- ?>
-
-
-
-
-
-
-
- bezeichnung)) echo htmlentities_utf8($row->bezeichnung); ?>
-
- name)) echo htmlentities_utf8($row->name); ?>
-
- tischtyp)) echo htmlentities_utf8($row->tischtyp); ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
teamname); ?>
-
-
-
-
-
- team_id, 0, 0, 240, 240, 'border="0"');
- if ($bild != null) {
- ?>
-
-
- verein_id != null) {
- $bild = bildHTML("vereine", $team->verein_id, 0, 0, 240, 240, 'border="0"');
- if ($bild != null) {
- ?>
-
-
- spieler_id])) {
- foreach ($spielberechtigungen[$row->spieler_id] as $spielberechtigung) {
- if ($spielberechtigung[2] == -1 || !empty($spielberechtigung[3])) {
- $mitglied_dauerhaft = false;
- break;
- }
- }
- }
- $mitglieder_ist_dauerhaft[$row->spieler_id] = $mitglied_dauerhaft;
- if ($mitglied_dauerhaft)
- $mitglieder_dauerhaft++;
- else
- $mitglieder_voruebergehend++;
- }
-
- for ($mitglieder_modus = 0; $mitglieder_modus <= 1; $mitglieder_modus++) {
- if (($mitglieder_modus == 0 && $mitglieder_dauerhaft > 0)
- || ($mitglieder_modus == 1 && $mitglieder_voruebergehend > 0)) {
- ?>
-
-
-
-
- spieler_id])
- || ($mitglieder_modus == 1 && $mitglieder_ist_dauerhaft[$row->spieler_id]))
- continue;
- if ($n % 3 == 0 && $n != 0)
- echo " ";
-
- echo "get('pageclass_sfx') . "\">";
- echo "";
- echo "";
- if (empty($row->aktueller_verein_id))
- echo htmlentities_utf8($row->nachname . ", " . $row->vorname);
- else {
- ?>nachname . ", " . $row->vorname)); ?> spielernr))
- echo "" . htmlentities_utf8($row->spielernr) . " ";
- echo " ";
- if ($team_moderator) {
- if (!empty($row->geburtsdatum)) {
- echo "";
- echo "" . htmlentities_utf8(FormatiertesDatum($row->geburtsdatum, false)) . " ";
- echo " ";
- }
- if (!empty($row->strasse) ||
- !empty($row->plz) || !empty($row->ort)) {
- echo "";
- if (!empty($row->strasse))
- echo "" . htmlentities_utf8($row->strasse) . " ";
- if (!empty($row->plz) || !empty($row->ort))
- echo "" . (!empty($row->plz) ? (htmlentities_utf8($row->plz) . " ") : "") . htmlentities_utf8($row->ort) . " ";
- echo " ";
- }
- if (!empty($row->telefon) ||
- !empty($row->mobil) ||
- !empty($row->email)) {
- echo "";
- if (!empty($row->telefon))
- echo "" . htmlentities_utf8($row->telefon) . " ";
- if (!empty($row->mobil))
- echo "" . htmlentities_utf8($row->mobil) . " ";
- if (!empty($row->email)) {
- $replacement = JHTML::_('email.cloak', $row->email, 1, $row->email, 0);
- echo "" . $replacement . " ";
- }
- echo " ";
- }
- }
- if (isset($spielberechtigungen[$row->spieler_id])) {
- echo "";
- foreach ($spielberechtigungen[$row->spieler_id] as $spielberechtigung) {
- echo "";
- if (isset($veranstaltungsbezeichnungen[$spielberechtigung[0]])) {
- echo htmlentities_utf8($veranstaltungsbezeichnungen[$spielberechtigung[0]]) . ": ";
- }
- if ($spielberechtigung[2] == -1) // Ohne Spielberechtigung
- echo "Nicht spielberechtigt";
- else if (empty($spielberechtigung[3])) // Letzter Spieltag ohne Einschränkung
- echo "Ab " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0));
- else if ($spielberechtigung[2] < 2) // Erster Spieltag ohne Einschränkung
- echo "Bis " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[3], $spielberechtigung[1] == 0));
- else if ($spielberechtigung[2] == $spielberechtigung[3]) // Erster Spieltag und letzter Spieltag gleich
- echo "Während " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0));
- else
- echo htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0)) . " bis " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[3], $spielberechtigung[1] == 0));
- echo " ";
- }
- echo " ";
- }
- echo "
";
- echo "get('pageclass_sfx') . "\">";
- $bild = bildHTML("mannschaftsmitglieder", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->mitglied_von_team_id, 90, 120, 0, 0, 'border="1"');
- if ($bild == null)
- $bild = bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->spieler_id, 90, 120, 0, 0, 'border="1"', $row->geschlecht == 'M' ? 'm' : 'w');
- if ($bild != null) {
- ?>
-
- ";
- $n++;
- }
- ?>
-
-
-
-
-
-
-
-
- Informationen
-
-
-
-
-
-
-
- zusatzpunkte != 0) {
- ?>
-
- :
-
- zusatzpunkte); ?>
-
- verein_id != null) {
- ?>
-
- :
- vereinsname); ?>
-
- veranstalterbezeichnung != null) {
- ?>
-
- :
-
- veranstalterbezeichnung); ?>
-
- tischtyp) || !empty($team->tischeigenschaften)) {
- ?>
-
- :
-
-
- tischtyp))
- echo htmlentities_utf8($team->tischtyp);
- if (!empty($team->tischeigenschaften)) {
- if (!empty($team->tischtyp))
- echo " ";
- echo htmlentities_utf8($team->tischeigenschaften);
- }
- ?>
-
-
- heimspiel_wochentag >= 1 && $team->heimspiel_wochentag <= 7) {
- ?>
-
- :
-
- heimspiel_wochentag - 1] . " ab " . sprintf("%2d:%02d", floor($team->heimspiel_uhrzeit / 100), $team->heimspiel_uhrzeit % 100) . " " . JText::_('COM_SPORTSMANAGER_HOUR');
- ?>
-
-
- name)) {
- ?>
-
- :
-
- url;
- if (!empty($heimspielort_url) && strpos($heimspielort_url, "://") === false)
- $heimspielort_url = "http://" . $heimspielort_url;
- if (!empty($heimspielort_url))
- echo "" . htmlentities_utf8($team->name) . " ";
- else
- echo htmlentities_utf8($team->name);
- $anschrift = $team->strasse . (!empty($team->strasse) && (!empty($team->plz) || !empty($team->ortsname) || !empty($team->ortsteil)) ? ", " : "") . $team->plz . (!empty($team->plz) ? " " : "") . $team->ortsname . (!empty($team->ortsname) && !empty($team->ortsteil) ? "-" : "") . $team->ortsteil;
- echo (!empty($team->name) ? " " : "") . htmlentities_utf8($anschrift);
- ?>
-
-
- nichtraucherschutz != 0) {
- ?>
-
- :
-
- nichtraucherschutz]);
- ?>
-
-
- 0 && $ansprechpartner_anzeigen) {
- ?>
-
- :
-
-
- = 2)
- echo JText::_('COM_SPORTSMANAGER_REPRESENTATION') . ": ";
- echo htmlentities_utf8($row->vorname . " " . $row->nachname);
- if (strlen($row->email) > 0)
- echo ", " . JHTML::_('email.cloak', $row->email);
- if ($details_anzeigen && $row->telefon)
- echo ", " . htmlentities_utf8($row->telefon);
- if ($details_anzeigen && $row->mobil)
- echo ", " . htmlentities_utf8($row->mobil);
- echo " ";
- $nummer++;
- }
- ?>
-
-
- heimspielort_name)) {
- ?>
-
- Heimspielstätte:
-
- heimspielort_name); ?>
-
-
- 0) {
- ?>
-
- :
-
- bezeichnung) . " ";
- ?>
-
-
-
-
-
-
- 0) {
- $zeitpunkt_anzeigen = false;
- foreach ($begegnungen as $begegnung) {
- if (!empty($begegnung->zeitpunkt)) {
- $zeitpunkt_anzeigen = true;
- break;
- }
- }
- $bilder_anzeigen = false;
- foreach ($begegnungen as $begegnung) {
- if (bildHTML("mannschaften", $begegnung->gegner_id, 28, 28, 0, 0)) {
- $bilder_anzeigen = true;
- break;
- }
- else if ($begegnung->gegner_verein_id != null && bildHTML("vereine", $begegnung->gegner_verein_id, 28, 28, 0, 0)) {
- $bilder_anzeigen = true;
- break;
- }
- }
- $heimspielort_anzeigen = false;
- foreach ($begegnungen as $begegnung) {
- if (!empty($begegnung->heimspielort_name)) {
- $heimspielort_anzeigen = true;
- break;
- }
- }
-
- ?>
- veranstaltung_id) {
- if ($veranstaltung_id != -1) {
- ?>
-
-
- veranstaltung_id;
- ?>
-
+
-
-
-
- heim_punkte != null || $row->gast_punkte != null) ? true : false;
- ?>
-
- unterteilung == 0 || $row->unterteilung == 1) {
- ?>
-
- spieltag, $row->unterteilung == 0, true));
- ?>
-
-
-
-
- veranstaltung_id . '&teamid=' . $team->team_id . '&id=' . $row->begegnung_id) . "\">" . FormatiertesDatum($row->zeitpunkt) . "";
- else
- echo $row->verlegung_eingetragen != null ? ("bisher " . FormatiertesDatum($row->zeitpunkt)) : FormatiertesDatum($row->zeitpunkt);
- if (!empty($row->tisch) && (!$ergebnis_vorhanden || ($ergebnis_vorhanden && $row->zwischenergebnis)))
- echo "" . JText::_('COM_SPORTSMANAGER_MATCH_TABLE') . ": " . htmlentities_utf8($row->tisch) . " ";
- echo "" . htmlentities_utf8($row->auswaerts ? JText::_('COM_SPORTSMANAGER_AWAY_MATCH') : JText::_('COM_SPORTSMANAGER_HOME_MATCH')) . ($row->nichtraucherschutz != 0 ? htmlentities_utf8($row->nichtraucherschutz == 1 ? JText::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_MARK_NO') : JText::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_MARK_YES')) : "") . " ";
- ?>
-
-
-
-
+ zeitpunkt);
+ if ($begegnung->spieltag != null)
+ echo ", " . htmlentities_utf8(Rundenbezeichnung($begegnung->spieltag, $veranstaltung->unterteilung == 0));
+ if ($begegnung->unbestaetigtes_ergebnis_id != null)
+ echo $begegnung->zwischenergebnis ? Text::_('COM_SPORTSMANAGER_PROVISIONAL_RESULT') : Text::_('COM_SPORTSMANAGER_UNCONFIRMED_RESULT');
+ if (!empty($begegnung->tisch))
+ echo ", " . Text::_('COM_SPORTSMANAGER_MATCH_TABLE') . ": " . htmlentities_utf8($begegnung->tisch);
+ ?>
+
+
+
+
-
+
+
+
+
+
+
- gegner_id) . "\">" . htmlentities_utf8(NichtLeererString($row->gegner)) . "";
- ?>
+
+ team_id, 48, 48, 0, 0, 'border="0" style="text-align: right"');
+ if ($bild == null && $heim_team->verein_id != null)
+ $bild = bildHTML("vereine", $heim_team->verein_id, 48, 48, 0, 0, 'border="0" style="text-align: right"');
+ if ($bild != null)
+ echo $bild;
+ ?>
+
+
+ teamname); ?>
+
+
+
+
+ team_id, 48, 48, 0, 0, 'border="0" style="text-align: left"');
+ if ($bild != null)
+ echo $bild;
+ else if ($heim_team->verein_id != null) {
+ $bild = bildHTML("vereine", $gast_team->verein_id, 48, 48, 0, 0, 'border="0" style="text-align: left"');
+ if ($bild != null)
+ echo $bild;
+ }
+ ?>
+
+
+ teamname); ?>
-
-
- gegner_id, 28, 28, 0, 0, 'border="0"');
- if ($bild != null)
- echo $bild;
- else if ($row->gegner_verein_id != null) {
- $bild = bildHTML("vereine", $row->gegner_verein_id, 28, 28, 0, 0, 'border="0"');
- if ($bild != null)
- echo $bild;
- }
- ?>
-
-
-
-
-
-
- heimspielort_url;
- if (!empty($heimspielort_url) && strpos($heimspielort_url, "://") === false)
- $heimspielort_url = "http://" . $heimspielort_url;
- if (!empty($heimspielort_url))
- echo "" . htmlentities_utf8($row->heimspielort_name) . " ";
- else
- echo htmlentities_utf8($row->heimspielort_name);
- $anschrift = $row->heimspielort_strasse . (!empty($row->heimspielort_strasse) && (!empty($row->heimspielort_plz) || !empty($row->heimspielort_ortsname) || !empty($row->heimspielort_ortsteil)) ? ", " : "") . $row->heimspielort_plz . (!empty($row->heimspielort_plz) ? " " : "") . $row->heimspielort_ortsname . (!empty($row->heimspielort_ortsname) && !empty($row->heimspielort_ortsteil) ? "-" : "") . $row->heimspielort_ortsteil;
- if (!empty($anschrift))
- echo (!empty($row->heimspielort_name) ? " " : "") . "" . htmlentities_utf8($anschrift) . " ";
-
- if ($row->spielort_id == 0 && !empty($row->tischtyp))
- echo "" . htmlentities_utf8($row->tischtyp) . " ";
- if ($row->spielort_id == 0 && !empty($row->tischeigenschaften))
- echo "" . htmlentities_utf8($row->tischeigenschaften) . " ";
- }
- else {
- echo htmlentities_utf8($row->heimspielort_name);
- if ($row->spielort_id == 0 && !empty($row->tischtyp))
- echo "" . htmlentities_utf8($row->tischtyp) . " ";
- if ($row->spielort_id == 0 && !empty($row->tischeigenschaften))
- echo "" . htmlentities_utf8($row->tischeigenschaften) . " ";
- }
- ?>
-
- spielpunkte_wertung_einzel != 2 || $row->spielpunkte_wertung_doppel != 2) {
- ?>
-
- veranstaltung_id . '&teamid=' . $team->team_id . '&id=' . $row->begegnung_id) . "\">" . ($row->auswaerts ? ($row->gast_punkte . ":" . $row->heim_punkte) : ($row->heim_punkte . ":" . $row->gast_punkte)) . "";
- if ($row->unbestaetigtes_ergebnis_id != null) echo "" . ($row->zwischenergebnis ? "live" : "unbestätigt") . " ";
- }
- ?>
-
-
-
- veranstaltung_id . '&teamid=' . $team->team_id . '&id=' . $row->begegnung_id) . "\">" . ($row->auswaerts ? ($row->gast_spielpunkte . ":" . $row->heim_spielpunkte) : ($row->heim_spielpunkte . ":" . $row->gast_spielpunkte)) . "";
- if ($row->unbestaetigtes_ergebnis_id != null) echo "" . ($row->zwischenergebnis ? "live" : "unbestätigt") . " ";
- }
- ?>
+
+
+ heim_spielpunkte . ":" . $begegnung->gast_spielpunkte; ?> spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2) echo "(" . $begegnung->heim_punkte . ":" . $begegnung->gast_punkte . ") "; ?>
-
-
-
- team_id));
- }
+
- if ($team_moderator && !is_null($mitglieder_statistiken) && count($mitglieder_statistiken) > 0) {
- $elo_einzel = false;
- $elo_doppel = false;
- foreach ($mitglieder_statistiken as $mitglied) {
- if ($mitglied->elo_einzel_spiele != 0)
- $elo_einzel = true;
- if ($mitglied->elo_doppel_spiele != 0)
- $elo_doppel = true;
- if ($elo_einzel && $elo_doppel)
- break;
- }
- ?>
-
-
-
- Mitgliederstatistik zum Wettbewerb
-
-
-
+ 0) {
+ $bilder_anzeigen = false;
+ foreach ($spiele as $spiel) {
+ if (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id)) && (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ if (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id)) && (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ }
-
-
-
-
- nachname) . ", " . htmlentities_utf8($row->vorname); ?>
- einzel_spiele; ?>
- einzel_punkte_gesamt > 0 ? round($row->einzel_punkte * 100 / $row->einzel_punkte_gesamt, 0) . "%" : "-"; ?>
- einzel_siege; ?>
- einzel_unentschieden; ?>
- einzel_niederlagen; ?>
-
- elo_einzel_spiele != 0 ? $row->elo_einzel : "-"; ?>
- doppel_spiele; ?>
- doppel_punkte_gesamt > 0 ? round($row->doppel_punkte * 100 / $row->doppel_punkte_gesamt, 0) . "%" : "-"; ?>
- doppel_siege; ?>
- doppel_unentschieden; ?>
- doppel_niederlagen; ?>
-
- elo_doppel_spiele != 0 ? $row->elo_doppel : "-"; ?>
- gesamt_spiele; ?>
- gesamt_punkte_gesamt > 0 ? round($row->gesamt_punkte * 100 / $row->gesamt_punkte_gesamt, 0) . "%" : "-"; ?>
- gesamt_siege; ?>
- gesamt_unentschieden; ?>
- gesamt_niederlagen; ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ">
-
-
-
-
-
-
-
-
-
-
-
-
- ") !== false ? $beschreibung : htmlentities_utf8($beschreibung); ?>
-
-
- 0) {
- $bilder_anzeigen = false;
- foreach ($rows as $verein) {
- if (bildHTML("vereine", $verein->verein_id, 28, 28, 0, 0) != null) {
- $bilder_anzeigen = true;
- break;
- }
- }
-
- if ($organisationAnzeigen) {
- $organisation = $rows[0]->veranstalterbezeichnung;
- ?>
-
-
-
-
- veranstalterbezeichnung != $organisation) {
- $organisation = $row->veranstalterbezeichnung;
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- vereinsname)); ?>
-
-
-
- verein_id, 28, 28, 0, 0, 'border="0"');
- if ($bild != null)
- echo $bild;
- ?>
-
-
-
-
-
-
- vereinssitz)) echo htmlentities_utf8($row->vereinssitz . (!empty($row->vereinssitz_ortsteil) ? ("-" . $row->vereinssitz_ortsteil) : "")); ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
vereinsname); ?>
-
-
-
-
-
- verein_id, 0, 0, 240, 240, 'border="0"');
- if ($bild != null) {
- ?>
-
-
-
-
-
-
-
- vereinssitz)) {
- ?>
-
- :
- vereinssitz . (!empty($verein->vereinssitz_ortsteil) ? ("-" . $verein->vereinssitz_ortsteil) : "")); ?>
-
- veranstalterbezeichnung != null) {
- ?>
-
- :
-
- veranstalterbezeichnung); ?>
-
- url)) {
- ?>
-
- :
-
- url, "://") === false) {
- $verein_url_anzeige = $verein->url;
- $verein_url = "http://" . $verein->url;
- }
- else {
- $verein_url_anzeige = substr($verein->url, 0, 7) == "http://" ? substr($verein->url, 7) : $verein->url;
- $verein_url = $verein->url;
- }
- echo "" . htmlentities_utf8($verein_url_anzeige) . " ";
- ?>
-
-
- beschreibung)) {
- ?>
-
- :
-
- beschreibung)); ?>
-
-
- Heimspielstätte:
- heimspielort_url) > 0)
- echo "heimspielort_url) . "\">" . htmlentities_utf8($verein->heimspielort_name) . " ";
- else
- echo htmlentities_utf8($verein->heimspielort_name);
-
- if (strlen($verein->heimspielort_anschrift) > 0) {
- if (strlen($verein->heimspielort_anschrift_url) > 0)
- echo "heimspielort_anschrift_url) . "\">" . htmlentities_utf8($verein->heimspielort_anschrift) . " ";
- else
- echo " " . htmlentities_utf8($verein->heimspielort_anschrift);
- }
- ?>
-
- */
- if (count($vereinsansprechpartner) > 0 && $ansprechpartner_anzeigen) {
- ?>
-
- :
-
- = 2)
- echo JText::_('COM_SPORTSMANAGER_REPRESENTATION') . ": ";
- echo htmlentities_utf8($row->vorname . " " . $row->nachname);
- if (strlen($row->email) > 0)
- echo "," . JHTML::_('email.cloak', $row->email);
- if ($details_anzeigen && $row->telefon)
- echo ", " . htmlentities_utf8($row->telefon);
- if ($details_anzeigen && $row->mobil)
- echo ", " . htmlentities_utf8($row->mobil);
- echo " ";
- $nummer++;
- }
- ?>
-
-
-
-
-
-
- 0) {
- $heimspielort_anzeigen = false;
- foreach ($aktuelle_teams as $team) {
- if (!empty($team->name)) {
- $heimspielort_anzeigen = true;
- break;
- }
- }
- ?>
-
-
-
-
-
-
- teamname); ?>
- wettbewerbe); ?>
-
-
- name);
- $anschrift = $team->strasse . (!empty($team->strasse) && (!empty($team->plz) || !empty($team->ortsname) || !empty($team->ortsteil)) ? ", " : "") . $team->plz . (!empty($team->plz) ? " " : "") . $team->ortsname . (!empty($team->ortsname) && !empty($team->ortsteil) ? "-" : "") . $team->ortsteil;
- if (!empty($anschrift))
- echo "" . htmlentities_utf8($anschrift) . " ";
- if (!empty($team->tischtyp))
- echo "" . htmlentities_utf8($team->tischtyp) . " ";
- if (!empty($team->tischeigenschaften))
- echo "" . htmlentities_utf8($team->tischeigenschaften) . " ";
- ?>
-
-
-
-
-
-
- 0) {
- ?>
-
-
-
-
- ";
-
- echo "get('pageclass_sfx') . "\">";
- echo "";
- echo "";
- ?>nachname . ", " . $row->vorname); ?> spielernr))
- echo "" . htmlentities_utf8($row->spielernr) . " ";
- echo " ";
- if ($vereins_moderator) {
- if (!empty($row->geburtsdatum)) {
- echo "";
- echo "" . htmlentities_utf8(FormatiertesDatum($row->geburtsdatum, false)) . " ";
- echo " ";
- }
- if (!empty($row->strasse) ||
- !empty($row->plz) || !empty($row->ort)) {
- echo "";
- if (!empty($row->strasse))
- echo "" . htmlentities_utf8($row->strasse) . " ";
- if (!empty($row->plz) || !empty($row->ort))
- echo "" . (!empty($row->plz) ? (htmlentities_utf8($row->plz) . " ") : "") . htmlentities_utf8($row->ort) . " ";
- echo " ";
- }
- if (!empty($row->telefon) ||
- !empty($row->mobil) ||
- !empty($row->email)) {
- echo "";
- if (!empty($row->telefon))
- echo "" . htmlentities_utf8($row->telefon) . " ";
- if (!empty($row->mobil))
- echo "" . htmlentities_utf8($row->mobil) . " ";
- if (!empty($row->email)) {
- $replacement = JHTML::_('email.cloak', $row->email, 1, $row->email, 0);
- echo "" . $replacement . " ";
- }
- echo " ";
- }
- }
- echo "
";
- echo "get('pageclass_sfx') . "\">";
- $bild = bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->spieler_id, 90, 120, 0, 0, 'border="1"', $row->geschlecht == 'M' ? 'm' : 'w');
- if ($bild != null) {
- ?>
-
- ";
- $n++;
- }
- ?>
-
-
-
-
-
-
-
- 0) {
- ?>
-
-
-
-
- saisonbezeichnung) {
- $saisonbezeichnung = $team->saisonbezeichnung;
- ?>
-
-
-
-
-
-
- teamname); ?>
- wettbewerbe); ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ">
-
-
-
-
-
-
-
-
-
-
-
-
- ") !== false ? $beschreibung : htmlentities_utf8($beschreibung); ?>
-
-
- 0) {
- $ortsname = $rows[0]->ortsname;
- if (!empty($ortsname)) {
- ?>
-
-
-
-
- ortsname != $ortsname) {
- $ortsname = $row->ortsname;
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ortsname)) echo htmlentities_utf8($row->ortsname . (!empty($row->ortsteil) ? ("-" . $row->ortsteil) : "")); ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
name); ?>
-
-
-
-
-
-
-
-
-
-
- strasse . (!empty($spielort->strasse) && (!empty($spielort->plz) || !empty($spielort->ortsname) || !empty($spielort->ortsteil)) ? ", " : "") . $spielort->plz . (!empty($spielort->plz) ? " " : "") . $spielort->ortsname . (!empty($spielort->ortsname) && !empty($spielort->ortsteil) ? "-" : "") . $spielort->ortsteil;
- if (!empty($anschrift)) {
- ?>
-
- Anschrift:
-
-
- url)) {
- ?>
-
- Webseite:
-
- url, "://") === false) {
- $spielort_url_anzeige = $spielort->url;
- $spielort_url = "http://" . $spielort->url;
- }
- else {
- $spielort_url_anzeige = substr($spielort->url, 0, 7) == "http://" ? substr($spielort->url, 7) : $spielort->url;
- $spielort_url = $spielort->url;
- }
- echo "" . htmlentities_utf8($spielort_url_anzeige) . " ";
- ?>
-
-
-
-
- :
-
-
- beschreibung)) {
- ?>
-
- :
-
- beschreibung)); ?>
-
-
-
-
-
- 0) {
- $tischtyp_anzeigen = false;
- foreach ($aktuelle_teams as $team) {
- if (!empty($team->tischtyp)) {
- $tischtyp_anzeigen = true;
- break;
- }
- }
-
- ?>
-
-
-
-
- heimspiel_wochentag) {
- if ($team->heimspiel_wochentag >= 1 && $team->heimspiel_wochentag <= 7) {
- ?>
-
-
-
-
- heimspiel_wochentag;
- }
- ?>
-
- teamname); ?>
-
-
- tischtyp))
- echo htmlentities_utf8($team->tischtyp);
- ?>
-
-
- wettbewerbe); ?>
-
-
-
-
- 0;
-
- if (!empty($beschreibung)) {
- ?>
-
-
- ") !== false ? $beschreibung : htmlentities_utf8($beschreibung); ?>
-
-
- 0 || $statistik["einstufung_einzel"] > 0 || $statistik["einstufung_doppel"] > 0) && !empty($einstufungid)) || (count($veranstaltungen) > 0 && !empty($veranstaltungid)) || (count($veranstalter) > 0 && !empty($veranstalterid));
- ?>
-
-
- 0) {
- $bilder_anzeigen = false;
- foreach ($rows as $spieler) {
- if (bildHTML("spieler", !$details_anzeigen && $spieler->bild_ausblenden ? '' : $spieler->spieler_id, 30, 40, 0, 0, '', $spieler->geschlecht == 'M' ? 'm' : 'w') != null) {
- $bilder_anzeigen = true;
- break;
- }
- }
-
- ?>
-
-
+ }
-
-
-
-
-
-
+ /**
+ * @param $veranstaltung
+ * @param $modus
+ * @param $teams
+ * @param $spieltag
+ * @param $spieltage
+ * @param $alleine_angezeigt
+ * @param int $praesentation
+ * @since 1.0.0
+ */
+ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spieltage, $alleine_angezeigt, int $praesentation = 0): void
+ {
+ global $params;
-
-
-
- nachname . ", " . $row->vorname) : ($row->vorname . " " . $row->nachname))); ?>
-
-
-
- bild_ausblenden ? '' : $row->spieler_id, 30, 40, 0, 0, 'border="1"', $row->geschlecht == 'M' ? 'm' : 'w');
- if ($bild != null)
- echo $bild;
- ?>
+ if (count($teams) > 0) {
+ if ($alleine_angezeigt && $veranstaltung->tabellenwertung >= -1 && $veranstaltung->tabellenwertung <= 11 && count($spieltage) > 1) {
+ ?>
+
+ team_id, 28, 28) != null) {
+ $bilder_anzeigen = true;
+ break;
+ } else if (bildHTML("vereine", $team->verein_id, 28, 28) != null) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ }
+
+ $zusatzpunkte_anzeigen = false;
+ if ($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) {
+ foreach ($teams as $team) {
+ if ($team->zusatzpunkte != 0) {
+ $zusatzpunkte_anzeigen = true;
+ break;
+ }
+ }
+ }
+
+ ?>
+
+
+
+
+
+
+
+
+ tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) && $gesamtpunkte != $team->gesamtpunkte)
+ || (($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10) && ($spielpunkte_differenz != $team->spielpunkte_differenz || $punkte_differenz != $team->punkte_differenz))
+ || (($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8 || $veranstaltung->tabellenwertung == 11) && ($spielpunkte_quotient != $team->spielpunkte_quotient || $punkte_quotient != $team->punkte_quotient))
+ || (($veranstaltung->tabellenwertung >= 21) && ($team->buchholz1 != $buchholz1_wert || $team->buchholz2 != $buchholz2_wert)))
+ $tatsaechlicher_platz = $platz;
+ echo $tatsaechlicher_platz;
+ ?>
-
+ gesamtpunkte);
+ $zusatzpunkte = floatval($team->zusatzpunkte);
+ $punkte_quotient = $team->punkte_quotient;
+ $punkte_differenz = $team->punkte_differenz;
+ $punkte_gewonnen = $team->punkte_gewonnen;
+ $punkte_verloren = $team->punkte_verloren;
+ $spielpunkte_quotient = $team->spielpunkte_quotient;
+ $spielpunkte_differenz = $team->spielpunkte_differenz;
+ $spielpunkte_gewonnen = $team->spielpunkte_gewonnen;
+ $spielpunkte_verloren = $team->spielpunkte_verloren;
+ if ($veranstaltung->tabellenwertung >= 21) {
+ $buchholz1_wert = $team->buchholz1;
+ $buchholz2_wert = $team->buchholz2;
+ }
+ ?>
+
+
+
+
+
+ team_id) . "\">" . htmlentities_utf8(NichtLeererString($team->teamname)) . "";
+ ?>
+
+
+
+ team_id, 50, 50, 0, 0, 'border="0"');
+ if ($bild != null) {
+ echo $bild;
+ } else if ($team->verein_id != null) {
+ $bild = bildHTML("vereine", $team->verein_id, 50, 50, 0, 0, 'border="0"');
+ if ($bild != null)
+ echo $bild;
+ }
+ ?>
+
+
+
+
+
+
+
+ siege + $team->unentschieden + $team->niederlagen; ?>
+
+ siege; ?>
+ unentschieden; ?>
+ niederlagen; ?>
+
+
+ tabellenwertung != 3 && $veranstaltung->tabellenwertung != 6 && $veranstaltung->tabellenwertung != 9 && $veranstaltung->tabellenwertung != 23 && $veranstaltung->tabellenwertung != 26 && $veranstaltung->tabellenwertung != 29) {
+ $title = "";
+ if ($alleine_angezeigt && $praesentation == 0) {
+ ?>
+
+
+
+
+ >
+ tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27)
+ echo ($punkte_differenz >= 0 ? "+" : "") . $punkte_differenz;
+ else
+ echo $punkte_quotient == -1 ? "∞" : sprintf("%.2f", $punkte_quotient);
+ ?>
+
+ tabellenwertung != 3 && $veranstaltung->tabellenwertung != 6 && $veranstaltung->tabellenwertung != 9 && $veranstaltung->tabellenwertung != 23 && $veranstaltung->tabellenwertung != 26 && $veranstaltung->tabellenwertung != 29 && ($modus->spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2)) {
+ $title = "";
+ if ($modus->spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2) {
+ if ($alleine_angezeigt && $praesentation == 0) {
+ ?>
+
+
+
+
+ >
+ tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27)
+ echo ($spielpunkte_differenz >= 0 ? "+" : "") . $spielpunkte_differenz;
+ else
+ echo $spielpunkte_quotient == -1 ? "∞" : sprintf("%.2f", $spielpunkte_quotient);
+ ?>
+
+ tabellenwertung >= 21) {
+ ?>
+ buchholz2; ?>
+ buchholz1; ?>
+ tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) {
+ ?>
+
+
+
+
+
+
+
+
+
+
+ 0) {
+ $bilder_anzeigen = false;
+ foreach ($teams as $team) {
+ if (bildHTML("mannschaften", $team->team_id, 28, 28) != null) {
+ $bilder_anzeigen = true;
+ break;
+ } else if (bildHTML("vereine", $team->verein_id, 28, 28) != null) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ }
+
+ ?>
+
+
+
+
+ platz == null;
+ $platz = -1;
+ $k = 0;
+ foreach ($teams
+
+ as $team) {
+ if ($laufende_veranstaltung && $team->platz != $platz && $team->platz == null) {
+ ?>
+
+
+
+
+
+
+
+ platz != $platz) {
+ if ($team->platz != null)
+ echo $team->platz;
+ $platz = $team->platz;
+ }
+ ?>
+
+
+
+
+
+
+ team_id) . "\">" . htmlentities_utf8(NichtLeererString($team->teamname)) . "";
+ ?>
+
+
+
+ team_id, 50, 50, 0, 0, 'border="0"');
+ if ($bild != null) {
+ echo $bild;
+ } else if ($team->verein_id != null) {
+ $bild = bildHTML("vereine", $team->verein_id, 50, 50, 0, 0, 'border="0"');
+ if ($bild != null)
+ echo $bild;
+ }
+ ?>
+
+
+
+
+
+
+
+ letzter_spieltag);
+ ?>
+
+
+ letzter_spieltag;
+ ?>
+
+
+ zuletzt_gewonnen;
+ ?>
+
+
+
+
+
+
+
+
+
+
+ 0 || !$alleine_angezeigt) {
+ ?>
+
+
+
+
+
+
+ ") ? $beschreibung : htmlentities_utf8($beschreibung); ?>
+
+
+
+ 0) {
+ ?>
+
+
+
+
+
+
+ bezeichnung); ?>
+
+
+
+
+ 0) {
+ $bilder_anzeigen = false;
+ foreach ($rows as $team) {
+ if (bildHTML("mannschaften", $team->team_id, 28, 28) != null) {
+ $bilder_anzeigen = true;
+ break;
+ } else if ($team->verein_id != null && bildHTML("vereine", $team->verein_id, 0, 0, 240, 240, 'border="0"') != null) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ }
+
+ $heimspielort_anzeigen = false;
+ foreach ($rows as $team) {
+ if (!empty($team->name)) {
+ $heimspielort_anzeigen = true;
+ break;
+ }
+ }
+
+ $tischtyp_anzeigen = false;
+ foreach ($rows as $team) {
+ if (!empty($team->tischtyp)) {
+ $tischtyp_anzeigen = true;
+ break;
+ }
+ }
+
+ $wettbewerb_anzeigen = false;
+ $team_name = null;
+ $team_veranstaltung_id = 0;
+ foreach ($rows as $team) {
+ if ($team->teamname == $team_name && $team->veranstaltung_id != $team_veranstaltung_id) {
+ $wettbewerb_anzeigen = true;
+ break;
+ }
+ $team_name = $team->teamname;
+ $team_veranstaltung_id = $team->veranstaltung_id;
+ }
+
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+ teamname)); ?>
+
+
+
+ team_id, 50, 50, 0, 0, 'border="0"');
+ if ($bild != null)
+ echo $bild;
+ else if ($row->verein_id != null) {
+ $bild = bildHTML("vereine", $row->verein_id, 50, 50, 0, 0, 'border="0"');
+ if ($bild != null)
+ echo $bild;
+ }
+
+ ?>
+
+
+
+
+
+
+
+ bezeichnung)) echo htmlentities_utf8($row->bezeichnung); ?>
+
+ name)) echo htmlentities_utf8($row->name); ?>
+
+ tischtyp)) echo htmlentities_utf8($row->tischtyp); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
teamname); ?>
+
+
+
+
+
+
+ team_id, 0, 0, 240, 240, 'border="0"');
+ if ($bild != null) {
+ ?>
+
+
+ verein_id != null) {
+ $bild = bildHTML("vereine", $team->verein_id, 0, 0, 240, 240, 'border="0"');
+ if ($bild != null) {
+ ?>
+
+
+ spieler_id])) {
+ foreach ($spielberechtigungen[$row->spieler_id] as $spielberechtigung) {
+ if ($spielberechtigung[2] == -1 || !empty($spielberechtigung[3])) {
+ $mitglied_dauerhaft = false;
+ break;
+ }
+ }
+ }
+ $mitglieder_ist_dauerhaft[$row->spieler_id] = $mitglied_dauerhaft;
+ if ($mitglied_dauerhaft)
+ $mitglieder_dauerhaft++;
+ else
+ $mitglieder_voruebergehend++;
+ }
+
+ for ($mitglieder_modus = 0; $mitglieder_modus <= 1; $mitglieder_modus++) {
+ if (($mitglieder_modus == 0 && $mitglieder_dauerhaft > 0)
+ || ($mitglieder_modus == 1 && $mitglieder_voruebergehend > 0)) {
+ ?>
+
+
+
+
+
+ spieler_id])
+ || ($mitglieder_modus == 1 && $mitglieder_ist_dauerhaft[$row->spieler_id]))
+ continue;
+ if ($n % 3 == 0 && $n != 0)
+ echo " ";
+
+ echo "get('pageclass_sfx') . "\">";
+ echo "";
+ echo "";
+ if (empty($row->aktueller_verein_id))
+ echo htmlentities_utf8($row->nachname . ", " . $row->vorname);
+ else {
+ ?>nachname . ", " . $row->vorname)); ?> spielernr))
+ echo "" . htmlentities_utf8($row->spielernr) . " ";
+ echo " ";
+ if ($team_moderator) {
+ if (!empty($row->geburtsdatum)) {
+ echo "";
+ echo "" . htmlentities_utf8(FormatiertesDatum($row->geburtsdatum, false)) . " ";
+ echo " ";
+ }
+ if (!empty($row->strasse) ||
+ !empty($row->plz) || !empty($row->ort)) {
+ echo "";
+ if (!empty($row->strasse))
+ echo "" . htmlentities_utf8($row->strasse) . " ";
+ if (!empty($row->plz) || !empty($row->ort))
+ echo "" . (!empty($row->plz) ? (htmlentities_utf8($row->plz) . " ") : "") . htmlentities_utf8($row->ort) . " ";
+ echo " ";
+ }
+ if (!empty($row->telefon) ||
+ !empty($row->mobil) ||
+ !empty($row->email)) {
+ echo "";
+ if (!empty($row->telefon))
+ echo "" . htmlentities_utf8($row->telefon) . " ";
+ if (!empty($row->mobil))
+ echo "" . htmlentities_utf8($row->mobil) . " ";
+ if (!empty($row->email)) {
+ $replacement = HTMLHelper::_('email.cloak', $row->email, 1, $row->email, 0);
+ echo "" . $replacement . " ";
+ }
+ echo " ";
+ }
+ }
+ if (isset($spielberechtigungen[$row->spieler_id])) {
+ echo "";
+ foreach ($spielberechtigungen[$row->spieler_id] as $spielberechtigung) {
+ echo "";
+ if (isset($veranstaltungsbezeichnungen[$spielberechtigung[0]])) {
+ echo htmlentities_utf8($veranstaltungsbezeichnungen[$spielberechtigung[0]]) . ": ";
+ }
+ if ($spielberechtigung[2] == -1) // Ohne Spielberechtigung
+ echo "Nicht spielberechtigt";
+ else if (empty($spielberechtigung[3])) // Letzter Spieltag ohne Einschränkung
+ echo "Ab " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0));
+ else if ($spielberechtigung[2] < 2) // Erster Spieltag ohne Einschränkung
+ echo "Bis " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[3], $spielberechtigung[1] == 0));
+ else if ($spielberechtigung[2] == $spielberechtigung[3]) // Erster Spieltag und letzter Spieltag gleich
+ echo "Während " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0));
+ else
+ echo htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0)) . " bis " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[3], $spielberechtigung[1] == 0));
+ echo " ";
+ }
+ echo " ";
+ }
+ echo "
";
+ echo "get('pageclass_sfx') . "\">";
+ $bild = bildHTML("mannschaftsmitglieder", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->mitglied_von_team_id, 90, 120, 0, 0, 'border="1"');
+ if ($bild == null)
+ $bild = bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->spieler_id, 90, 120, 0, 0, 'border="1"', $row->geschlecht == 'M' ? 'm' : 'w');
+ if ($bild != null) {
+ ?>
+
+ ";
+ $n++;
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
+ Informationen
+
+
+
+
+
+
+
+
+
+ zusatzpunkte != 0) {
+ ?>
+
+
+
+ :
+
+ zusatzpunkte); ?>
+
+ verein_id != null) {
+ ?>
+
+
+ :
+
+ vereinsname); ?>
+
+ veranstalterbezeichnung != null) {
+ ?>
+
+
+
+ :
+
+ veranstalterbezeichnung); ?>
+
+ tischtyp) || !empty($team->tischeigenschaften)) {
+ ?>
+
+
+
+ :
+
+
+ tischtyp))
+ echo htmlentities_utf8($team->tischtyp);
+ if (!empty($team->tischeigenschaften)) {
+ if (!empty($team->tischtyp))
+ echo " ";
+ echo htmlentities_utf8($team->tischeigenschaften);
+ }
+ ?>
+
+
+ heimspiel_wochentag >= 1 && $team->heimspiel_wochentag <= 7) {
+ ?>
+
+
+ :
+
+ heimspiel_wochentag - 1] . " ab " . sprintf("%2d:%02d", floor($team->heimspiel_uhrzeit / 100), $team->heimspiel_uhrzeit % 100) . " " . Text::_('COM_SPORTSMANAGER_HOUR');
+ ?>
+
+
+ name)) {
+ ?>
+
+
+
+ :
+
+ url;
+ if (!empty($heimspielort_url) && !str_contains($heimspielort_url, "://"))
+ $heimspielort_url = "http://" . $heimspielort_url;
+ if (!empty($heimspielort_url))
+ echo "" . htmlentities_utf8($team->name) . " ";
+ else
+ echo htmlentities_utf8($team->name);
+ $anschrift = $team->strasse . (!empty($team->strasse) && (!empty($team->plz) || !empty($team->ortsname) || !empty($team->ortsteil)) ? ", " : "") . $team->plz . (!empty($team->plz) ? " " : "") . $team->ortsname . (!empty($team->ortsname) && !empty($team->ortsteil) ? "-" : "") . $team->ortsteil;
+ echo " " . htmlentities_utf8($anschrift);
+ ?>
+
+
+ nichtraucherschutz != 0) {
+ ?>
+
+
+
+ :
+
+ nichtraucherschutz]);
+ ?>
+
+
+ 0 && $ansprechpartner_anzeigen) {
+ ?>
+
+
+
+ :
+
+
+ = 2)
+ echo Text::_('COM_SPORTSMANAGER_REPRESENTATION') . ": ";
+ echo htmlentities_utf8($row->vorname . " " . $row->nachname);
+ if (strlen($row->email) > 0)
+ echo ", " . HTMLHelper::_('email.cloak', $row->email);
+ if ($details_anzeigen && $row->telefon)
+ echo ", " . htmlentities_utf8($row->telefon);
+ if ($details_anzeigen && $row->mobil)
+ echo ", " . htmlentities_utf8($row->mobil);
+ echo " ";
+ $nummer++;
+ }
+ ?>
+
+
+ heimspielort_name)) {
+ ?>
+
+ Heimspielstätte:
+
+ heimspielort_name); ?>
+
+
+ 0) {
+ ?>
+
+
+ :
+
+ bezeichnung) . " ";
+ ?>
+
+
+
+
+
+
+
+ 0) {
+ $zeitpunkt_anzeigen = false;
+ foreach ($begegnungen as $begegnung) {
+ if (!empty($begegnung->zeitpunkt)) {
+ $zeitpunkt_anzeigen = true;
+ break;
+ }
+ }
+ $bilder_anzeigen = false;
+ foreach ($begegnungen as $begegnung) {
+ if (bildHTML("mannschaften", $begegnung->gegner_id, 28, 28)) {
+ $bilder_anzeigen = true;
+ break;
+ } else if ($begegnung->gegner_verein_id != null && bildHTML("vereine", $begegnung->gegner_verein_id, 28, 28)) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ }
+ $heimspielort_anzeigen = false;
+ foreach ($begegnungen as $begegnung) {
+ if (!empty($begegnung->heimspielort_name)) {
+ $heimspielort_anzeigen = true;
+ break;
+ }
+ }
+
+ ?>
+ veranstaltung_id) {
+ if ($veranstaltung_id != -1) {
+ ?>
+
+
+ veranstaltung_id;
+ ?>
+
+
+
+
+
+ heim_punkte != null || $row->gast_punkte != null;
+ ?>
+
+ unterteilung == 0 || $row->unterteilung == 1) {
+ ?>
+
+ spieltag, $row->unterteilung == 0, true));
+ ?>
+
+
+
+
+ veranstaltung_id . '&teamid=' . $team->team_id . '&id=' . $row->begegnung_id) . "\">" . FormatiertesDatum($row->zeitpunkt) . "";
+ else
+ echo $row->verlegung_eingetragen != null ? ("bisher " . FormatiertesDatum($row->zeitpunkt)) : FormatiertesDatum($row->zeitpunkt);
+ if (!empty($row->tisch) && (!$ergebnis_vorhanden || $row->zwischenergebnis))
+ echo "" . Text::_('COM_SPORTSMANAGER_MATCH_TABLE') . ": " . htmlentities_utf8($row->tisch) . " ";
+ echo "" . htmlentities_utf8($row->auswaerts ? Text::_('COM_SPORTSMANAGER_AWAY_MATCH') : Text::_('COM_SPORTSMANAGER_HOME_MATCH')) . ($row->nichtraucherschutz != 0 ? htmlentities_utf8($row->nichtraucherschutz == 1 ? Text::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_MARK_NO') : Text::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_MARK_YES')) : "") . " ";
+ ?>
+
+
+
+
+
+
+
+
+ gegner_id) . "\">" . htmlentities_utf8(NichtLeererString($row->gegner)) . "";
+ ?>
+
+
+
+ gegner_id, 28, 28, 0, 0, 'border="0"');
+ if ($bild != null)
+ echo $bild;
+ else if ($row->gegner_verein_id != null) {
+ $bild = bildHTML("vereine", $row->gegner_verein_id, 28, 28, 0, 0, 'border="0"');
+ if ($bild != null)
+ echo $bild;
+ }
+ ?>
+
+
- geschlecht); ?>
- kategorie); ?>
- 0) {
- ?>
- einstufung_allgemein_id != null ? htmlentities_utf8($einstufungen[$row->einstufung_allgemein_id]) : "-"; ?>
- 0) {
- ?>
- einstufung_einzel_id != null ? htmlentities_utf8($einstufungen[$row->einstufung_einzel_id]) : "-"; ?>
- 0) {
- ?>
- einstufung_doppel_id != null ? htmlentities_utf8($einstufungen[$row->einstufung_doppel_id]) : "-"; ?>
- 0) {
- ?>
- vereinsname != null ? htmlentities_utf8($row->vereinsname) : "-"; ?>
- 1) {
- ?>
- veranstalterbezeichnung != null ? htmlentities_utf8($row->veranstalterbezeichnung) : "-"; ?>
- 0) {
- ?>
- pseudonym != NULL ? htmlentities_utf8($row->pseudonym) : ""; ?>
-
- teamname != null ? htmlentities_utf8($row->teamname) : ""; ?>
- 0) {
- ?>
- elo_einzel_spiele != 0 ? $row->elo_einzel : "-"; ?>
- elo_einzel_spiele; ?>
- 0) {
- ?>
- elo_doppel_spiele != 0 ? $row->elo_doppel : "-"; ?>
- elo_doppel_spiele; ?>
-
+
+
+
+ heimspielort_url;
+ if (!empty($heimspielort_url) && !str_contains($heimspielort_url, "://"))
+ $heimspielort_url = "http://" . $heimspielort_url;
+ if (!empty($heimspielort_url))
+ echo "" . htmlentities_utf8($row->heimspielort_name) . " ";
+ else
+ echo htmlentities_utf8($row->heimspielort_name);
+ $anschrift = $row->heimspielort_strasse . (!empty($row->heimspielort_strasse) && (!empty($row->heimspielort_plz) || !empty($row->heimspielort_ortsname) || !empty($row->heimspielort_ortsteil)) ? ", " : "") . $row->heimspielort_plz . (!empty($row->heimspielort_plz) ? " " : "") . $row->heimspielort_ortsname . (!empty($row->heimspielort_ortsname) && !empty($row->heimspielort_ortsteil) ? "-" : "") . $row->heimspielort_ortsteil;
+ if (!empty($anschrift))
+ echo (!empty($row->heimspielort_name) ? " " : "") . "" . htmlentities_utf8($anschrift) . " ";
+
+ } else {
+ echo htmlentities_utf8($row->heimspielort_name);
+ }
+
+ if ($row->spielort_id == 0 && !empty($row->tischtyp))
+ echo "" . htmlentities_utf8($row->tischtyp) . " ";
+ if ($row->spielort_id == 0 && !empty($row->tischeigenschaften))
+ echo "" . htmlentities_utf8($row->tischeigenschaften) . " ";
+ ?>
+
+ spielpunkte_wertung_einzel != 2 || $row->spielpunkte_wertung_doppel != 2) {
+ ?>
+
+ veranstaltung_id . '&teamid=' . $team->team_id . '&id=' . $row->begegnung_id) . "\">" . ($row->auswaerts ? ($row->gast_punkte . ":" . $row->heim_punkte) : ($row->heim_punkte . ":" . $row->gast_punkte)) . "";
+ if ($row->unbestaetigtes_ergebnis_id != null) echo "" . ($row->zwischenergebnis ? "live" : "unbestätigt") . " ";
+ }
+ ?>
+
+
+
+ veranstaltung_id . '&teamid=' . $team->team_id . '&id=' . $row->begegnung_id) . "\">" . ($row->auswaerts ? ($row->gast_spielpunkte . ":" . $row->heim_spielpunkte) : ($row->heim_spielpunkte . ":" . $row->gast_spielpunkte)) . "";
+ if ($row->unbestaetigtes_ergebnis_id != null) echo "" . ($row->zwischenergebnis ? "live" : "unbestätigt") . " ";
+ }
+ ?>
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
vorname . " " . $spieler->nachname); ?>
-
-
-
-
-
- bild_ausblenden ? '' : $spieler->spieler_id, 0, 0, 180, 240, 'border="1"', $spieler->geschlecht == 'M' ? 'm' : 'w');
- if ($bild != null) {
- ?>
-
+
+
-
+ team_id));
+ }
-
-
- JText::_('COM_SPORTSMANAGER_CATEGORY_MEN'), 'D' => JText::_('COM_SPORTSMANAGER_CATEGORY_WOMEN'), 'J' => JText::_('COM_SPORTSMANAGER_CATEGORY_JUNIORS'), 'S' => JText::_('COM_SPORTSMANAGER_CATEGORY_SENIORS'));
- if (isset($kategorie_bezeichnung[$spieler->kategorie])) {
- ?>
-
- :
- kategorie]); ?>
-
- einstufung_allgemein_id != null) {
- ?>
-
- :
- einstufung_allgemein_id]); ?>
-
- einstufung_einzel_id != null) {
- ?>
-
-
- :
- einstufung_einzel_id]); ?>
-
- einstufung_doppel_id != null) {
- ?>
-
-
- :
- einstufung_doppel_id]); ?>
-
- 0 && $spieler->elo_einzel_spiele != 0) {
- ?>
-
-
- :
-
- elo_einzel_spiele == 1 ? JText::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_ONE_GAME', $spieler->elo_einzel) : JText::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_NUMBER_GAMES', $spieler->elo_einzel, elo_einzel_spiele));
- ?>
-
-
- 0 && $spieler->elo_doppel_spiele != 0) {
- ?>
-
-
- :
-
- elo_doppel_spiele == 1 ? JText::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_ONE_GAME', $spieler->elo_doppel) : JText::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_NUMBER_GAMES', $spieler->elo_doppel, elo_doppel_spiele));
- ?>
-
-
- 0) {
- ?>
-
-
-
-
-
- :
-
-
-
-
-
- :
-
- vereinsname) . " ";
- ?>
-
-
-
-
-
- :
-
- veranstalterbezeichnung) . " ";
- ?>
-
-
- spielernr != null && $spieler->spielernr != "") {
- ?>
-
-
- 0) echo JText::_('COM_SPORTSMANAGER_NATIONAL') . " "; echo JText::_('COM_SPORTSMANAGER_PLAYER_NUMBER_SHORT') ?>:
- spielernr); ?>
-
- lizenznr != null && $spieler->lizenznr != "") {
- ?>
-
-
- 0) echo JText::_('COM_SPORTSMANAGER_INTERNATIONAL') . " "; echo JText::_('COM_SPORTSMANAGER_PLAYER_NUMBER_SHORT') ?>:
- lizenznr); ?>
-
- lizenz != null && $spieler->lizenz != "" && $lizenz_anzeigen) {
- ?>
-
-
- = JText::_('COM_SPORTSMANAGER_LIZENZ')?>:
- lizenz); ?>
-
- pseudonym != NULL) {
- ?>
-
- Pseudonym: pseudonym); ?>
- elo_wertung && ($statistik["elo_einzel"] > 0 || $statistik["elo_doppel"] > 0)) {
- ?>
- 0) {
- ?>
- Elo-Wert Einzel: elo_einzel_spiele != 0 ? $spieler->elo_einzel : "ohne"; ?>
- Gewertete Einzel-Spiele: elo_einzel_spiele != 0 ? $spieler->elo_einzel_spiele : "keine"; ?>
- 0) {
- ?>
- Elo-Wert Doppel: elo_doppel_spiele != 0 ? $spieler->elo_doppel : "ohne"; ?>
- Gewertete Doppel-Spiele: elo_doppel_spiele != 0 ? $spieler->elo_doppel_spiele : "keine"; ?>
-
-
-
- Erstmals gespielt: erstmals_gespielt != NULL ? htmlentities_utf8(FormatiertesDatum($spieler->erstmals_gespielt, false)) : "Nie"; ?>
-
- Zuletzt gespielt: zuletzt_gespielt != NULL ? htmlentities_utf8(FormatiertesDatum($spieler->zuletzt_gespielt, false)) : "Nie"; ?>
-
-
-
-
- 0) {
- ?>
-
-
-
-
-
- saisonbezeichnung) {
- $saisonbezeichnung = $platzierung->saisonbezeichnung;
- ?>
+ if ($team_moderator && !is_null($mitglieder_statistiken) && count($mitglieder_statistiken) > 0) {
+ $elo_einzel = false;
+ $elo_doppel = false;
+ foreach ($mitglieder_statistiken as $mitglied) {
+ if ($mitglied->elo_einzel_spiele != 0)
+ $elo_einzel = true;
+ if ($mitglied->elo_doppel_spiele != 0)
+ $elo_doppel = true;
+ if ($elo_einzel && $elo_doppel)
+ break;
+ }
+ ?>
+
+
-
-
-
-
-
- bezeichnung != null ? htmlentities_utf8($platzierung->bezeichnung) : ""; ?>
- platz != null ? htmlentities_utf8($platzierung->platz) : ""; ?>
- teilnehmer != null ? htmlentities_utf8($platzierung->teilnehmer) : ""; ?>
- erster_tag, false, false)) . " - " . htmlentities_utf8(FormatiertesDatum($platzierung->letzter_tag, false, false)); ?> */ ?>
-
-
-
-
- 0) {
- ?>
-
-
-
-
-
- saisonbezeichnung) {
- $saisonbezeichnung = $platzierung->saisonbezeichnung;
- ?>
-
-
-
-
-
-
- turnierbezeichnung != null ? htmlentities_utf8($platzierung->turnierbezeichnung) : ""; ?>
- beginn == null ? "" : htmlentities_utf8(FormatiertesDatum($platzierung->beginn, false)); ?>
- turnierort != null ? htmlentities_utf8($platzierung->turnierort) : ""; ?>
- disziplin != null ? htmlentities_utf8($platzierung->disziplin) : ""; ?>
- platz != null ? htmlentities_utf8($platzierung->platz) : ""; ?>
- teilnehmer != null ? htmlentities_utf8($platzierung->teilnehmer) : ""; ?>
-
-
-
-
-
- 0) {
- ?>
-
-
-
-
- saisonbezeichnung) {
- $saisonbezeichnung = $team->saisonbezeichnung;
- ?>
-
-
-
-
-
-
- teamname); ?>
- wettbewerbe); ?>
-
-
-
-
- 0) {
- $n = count($spieler_elo_verlauf_einzel);
-
- $erstes = max($n - 100, 0);
- $elo_anzeigen = false;
- for ($i = $n - 1; $i >= $erstes; $i--) {
- $spiel = $spieler_elo_verlauf_einzel[$i];
- if (isset($spiel["h1r"])) {
- $elo_anzeigen = true;
- break;
- }
- }
- ?>
-
-
-
-
- = $erstes; $i--) {
- $spiel = $spieler_elo_verlauf_einzel[$i];
- ?>
-
-
-
-
-
-
- spieler_id) {
- ?>
-
-
- ">
- " . htmlentities_utf8($teamNamen[$spiel["th"]]) . " ";
- if ($elo_wertung) {
- ?>
-
-
-
+
+ Mitgliederstatistik zum Wettbewerb
-
-
- ">
- " . htmlentities_utf8($teamNamen[$spiel["tg"]]) . " ";
- if ($elo_wertung) {
- ?>
-
-
-
-
-
-
- 0 ? "+" : "") . $r_delta;
- } else echo "-"; ?>
-
-
-
-
- ">
- " . htmlentities_utf8($teamNamen[$spiel["tg"]]) . " ";
- if ($elo_wertung) {
- ?>
-
-
-
-
-
-
- ">
- " . htmlentities_utf8($teamNamen[$spiel["th"]]) . " ";
- if ($elo_wertung) {
- ?>
-
-
-
-
-
-
- 0 ? "+" : "") . $r_delta;
- } else echo "-"; ?>
-
-
-
-
-
- ($elo_detailliert ? 100 : 8)) {
- ?>
-
-
-
-
+
+
- if (count($spieler_elo_verlauf_doppel) > 0) {
- $n = count($spieler_elo_verlauf_doppel);
+
+
+
+ = $erstes; $i--) {
- $spiel = $spieler_elo_verlauf_doppel[$i];
- if (isset($spiel["h1r"])) {
- $elo_anzeigen = true;
- break;
- }
- }
- ?>
-
-
-
-
- = $erstes; $i--) {
- $spiel = $spieler_elo_verlauf_doppel[$i];
- ?>
-
-
-
-
-
-
- spieler_id || $spiel["h2"] == $spieler->spieler_id) {
- ?>
-
-
- ">
- / ">
- " . htmlentities_utf8($teamNamen[$spiel["th"]]) . " ";
- if ($elo_wertung) {
- ?>
-
-
-
-
-
-
- ">
- / ">
- " . htmlentities_utf8($teamNamen[$spiel["tg"]]) . " ";
- if ($elo_wertung) {
- ?>
-
-
-
-
-
-
- spieler_id ? ($spiel["h1rn"] - $spiel["h1r"]) : ($spiel["h2rn"] - $spiel["h2r"]);
- echo ($r_delta > 0 ? "+" : "") . $r_delta;
- } else echo "-"; ?>
+ $k = 0;
+ foreach ($mitglieder_statistiken as $row) {
+ ?>
+
+ nachname) . ", " . htmlentities_utf8($row->vorname); ?>
+ einzel_spiele; ?>
spieler_id ? $spiel["h1rn"] : $spiel["h2rn"]; else echo "-"; ?>
-
-
-
- ">
- / ">
- " . htmlentities_utf8($teamNamen[$spiel["tg"]]) . " ";
- if ($elo_wertung) {
- ?>
-
-
-
-
-
-
- ">
- / ">
- " . htmlentities_utf8($teamNamen[$spiel["th"]]) . " ";
- if ($elo_wertung) {
- ?>
-
-
-
-
-
-
- spieler_id ? ($spiel["g1rn"] - $spiel["g1r"]) : ($spiel["g2rn"] - $spiel["g2r"]);
- echo ($r_delta > 0 ? "+" : "") . $r_delta;
- } else echo "-"; ?>
+ style="text-align: center">einzel_punkte_gesamt > 0 ? round($row->einzel_punkte * 100 / $row->einzel_punkte_gesamt) . "%" : "-"; ?>
+ einzel_siege; ?>
+ einzel_unentschieden; ?>
+ einzel_niederlagen; ?>
+
+ elo_einzel_spiele != 0 ? $row->elo_einzel : "-"; ?>
+ doppel_spiele; ?>
spieler_id ? $spiel["g1rn"] : $spiel["g2rn"]; else echo "-"; ?>
-
-
-
-
- ($elo_detailliert ? 100 : 8)) {
- ?>
-
-
-
- doppel_punkte_gesamt > 0 ? round($row->doppel_punkte * 100 / $row->doppel_punkte_gesamt) . "%" : "-"; ?>
+ doppel_siege; ?>
+ doppel_unentschieden; ?>
+ doppel_niederlagen; ?>
+
+ elo_doppel_spiele != 0 ? $row->elo_doppel : "-"; ?>
+ gesamt_spiele; ?>
+ gesamt_punkte_gesamt > 0 ? round($row->gesamt_punkte * 100 / $row->gesamt_punkte_gesamt) . "%" : "-"; ?>
+ gesamt_siege; ?>
+ gesamt_unentschieden; ?>
+ gesamt_niederlagen; ?>
+
+
+
+
+
+
+
- function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $verlegen_aktionen, $berechtigt_fuer_akzeptieren, $aus_uebersicht, $vorschlagendes_team_id) {
- global $params;
- global $view;
- ?>
-
teamname; ?> teamname ?> bezeichnung); ?>
- :
+
+
+
+
+
+
+
+
+ ">
+
+
+
+
+
+
+
+
+ " method="post" name="adminForm" id="adminForm">
-
-
-
-
+ static function vereine($titel, $beschreibung, $rows, $organisationAnzeigen): void
+ {
+ global $params;
+
+ if (!empty($titel)) { ?>
+
+
+
-
- :
+ ") ? $beschreibung : htmlentities_utf8($beschreibung); ?>
+
+
+
+ 0) {
+ $bilder_anzeigen = false;
+ foreach ($rows as $verein) {
+ if (bildHTML("vereine", $verein->verein_id, 28, 28) != null) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ }
+
+ if ($organisationAnzeigen) {
+ $organisation = $rows[0]->veranstalterbezeichnung;
+ ?>
+
+
+
+
+
+ veranstalterbezeichnung != $organisation) {
+ $organisation = $row->veranstalterbezeichnung;
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ vereinsname)); ?>
+
+
+
+ verein_id, 28, 28, 0, 0, 'border="0"');
+ if ($bild != null)
+ echo $bild;
+ ?>
+
+
+
+
+
+
+ vereinssitz)) echo htmlentities_utf8($row->vereinssitz . (!empty($row->vereinssitz_ortsteil) ? ("-" . $row->vereinssitz_ortsteil) : "")); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
vereinsname); ?>
+
+
+
+
+
+
+ verein_id, 0, 0, 240, 240, 'border="0"');
+ if ($bild != null) {
+ ?>
+
+
+
+
+
+
+
+
+ vereinssitz)) {
+ ?>
+
+
+
+ :
+ vereinssitz . (!empty($verein->vereinssitz_ortsteil) ? ("-" . $verein->vereinssitz_ortsteil) : "")); ?>
+
+ veranstalterbezeichnung != null) {
+ ?>
+
+
+
+ :
+
+ veranstalterbezeichnung); ?>
+
+ url)) {
+ ?>
+
+
+
+ :
+
+ url, "://")) {
+ $verein_url_anzeige = $verein->url;
+ $verein_url = "http://" . $verein->url;
+ } else {
+ $verein_url_anzeige = str_starts_with($verein->url, "http://") ? substr($verein->url, 7) : $verein->url;
+ $verein_url = $verein->url;
+ }
+ echo "" . htmlentities_utf8($verein_url_anzeige) . " ";
+ ?>
+
+
+ beschreibung)) {
+ ?>
+
+
+
+ :
+
+ beschreibung)); ?>
+
+
+Heimspielstätte:
+ heimspielort_url) > 0)
+ echo "heimspielort_url) . "\">" . htmlentities_utf8($verein->heimspielort_name) . " ";
+ else
+ echo htmlentities_utf8($verein->heimspielort_name);
+
+ if (strlen($verein->heimspielort_anschrift) > 0) {
+ if (strlen($verein->heimspielort_anschrift_url) > 0)
+ echo "heimspielort_anschrift_url) . "\">" . htmlentities_utf8($verein->heimspielort_anschrift) . " ";
+ else
+ echo " " . htmlentities_utf8($verein->heimspielort_anschrift);
+ }
+ ?>
+
+*/
+ if (count($vereinsansprechpartner) > 0 && $ansprechpartner_anzeigen) {
+ ?>
+
+
+
+ :
+
+ = 2)
+ echo Text::_('COM_SPORTSMANAGER_REPRESENTATION') . ": ";
+ echo htmlentities_utf8($row->vorname . " " . $row->nachname);
+ if (strlen($row->email) > 0)
+ echo "," . HTMLHelper::_('email.cloak', $row->email);
+ if ($details_anzeigen && $row->telefon)
+ echo ", " . htmlentities_utf8($row->telefon);
+ if ($details_anzeigen && $row->mobil)
+ echo ", " . htmlentities_utf8($row->mobil);
+ echo " ";
+ $nummer++;
+ }
+ ?>
+
+
+
+
+
+
+
+ 0) {
+ $heimspielort_anzeigen = false;
+ foreach ($aktuelle_teams as $team) {
+ if (!empty($team->name)) {
+ $heimspielort_anzeigen = true;
+ break;
+ }
+ }
+ ?>
+
+
+
+
+
+
+
+ teamname); ?>
+ wettbewerbe); ?>
+
+
+ name);
+ $anschrift = $team->strasse . (!empty($team->strasse) && (!empty($team->plz) || !empty($team->ortsname) || !empty($team->ortsteil)) ? ", " : "") . $team->plz . (!empty($team->plz) ? " " : "") . $team->ortsname . (!empty($team->ortsname) && !empty($team->ortsteil) ? "-" : "") . $team->ortsteil;
+ if (!empty($anschrift))
+ echo "" . htmlentities_utf8($anschrift) . " ";
+ if (!empty($team->tischtyp))
+ echo "" . htmlentities_utf8($team->tischtyp) . " ";
+ if (!empty($team->tischeigenschaften))
+ echo "" . htmlentities_utf8($team->tischeigenschaften) . " ";
+ ?>
+
+
+
+
+
+
+
+ 0) {
+ ?>
+
+
+
+
+
+ ";
+
+ echo "get('pageclass_sfx') . "\">";
+ echo "";
+ echo "";
+ ?>nachname . ", " . $row->vorname); ?> spielernr))
+ echo "" . htmlentities_utf8($row->spielernr) . " ";
+ echo " ";
+ if ($vereins_moderator) {
+ if (!empty($row->geburtsdatum)) {
+ echo "";
+ echo "" . htmlentities_utf8(FormatiertesDatum($row->geburtsdatum, false)) . " ";
+ echo " ";
+ }
+ if (!empty($row->strasse) ||
+ !empty($row->plz) || !empty($row->ort)) {
+ echo "";
+ if (!empty($row->strasse))
+ echo "" . htmlentities_utf8($row->strasse) . " ";
+ if (!empty($row->plz) || !empty($row->ort))
+ echo "" . (!empty($row->plz) ? (htmlentities_utf8($row->plz) . " ") : "") . htmlentities_utf8($row->ort) . " ";
+ echo " ";
+ }
+ if (!empty($row->telefon) ||
+ !empty($row->mobil) ||
+ !empty($row->email)) {
+ echo "";
+ if (!empty($row->telefon))
+ echo "" . htmlentities_utf8($row->telefon) . " ";
+ if (!empty($row->mobil))
+ echo "" . htmlentities_utf8($row->mobil) . " ";
+ if (!empty($row->email)) {
+ $replacement = HTMLHelper::_('email.cloak', $row->email, 1, $row->email, 0);
+ echo "" . $replacement . " ";
+ }
+ echo " ";
+ }
+ }
+ echo "
";
+ echo "get('pageclass_sfx') . "\">";
+ $bild = bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->spieler_id, 90, 120, 0, 0, 'border="1"', $row->geschlecht == 'M' ? 'm' : 'w');
+ if ($bild != null) {
+ ?>
+
+ ";
+ $n++;
+ }
+ ?>
+
+
+
+
+
+
+
+
+ 0) {
+ ?>
+
+
+
+
+
+ saisonbezeichnung) {
+ $saisonbezeichnung = $team->saisonbezeichnung;
+ ?>
+
+
+
+
+
+
+ teamname); ?>
+ wettbewerbe); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ">
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ") ? $beschreibung : htmlentities_utf8($beschreibung); ?>
+
+
+
+ 0) {
+ $ortsname = $rows[0]->ortsname;
+ if (!empty($ortsname)) {
+ ?>
+
+
+
+
+
+ ortsname != $ortsname) {
+ $ortsname = $row->ortsname;
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ortsname)) echo htmlentities_utf8($row->ortsname . (!empty($row->ortsteil) ? ("-" . $row->ortsteil) : "")); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
name); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+ strasse . (!empty($spielort->strasse) && (!empty($spielort->plz) || !empty($spielort->ortsname) || !empty($spielort->ortsteil)) ? ", " : "") . $spielort->plz . (!empty($spielort->plz) ? " " : "") . $spielort->ortsname . (!empty($spielort->ortsname) && !empty($spielort->ortsteil) ? "-" : "") . $spielort->ortsteil;
+ if (!empty($anschrift)) {
+ ?>
+
+ Anschrift:
+
+
+ url)) {
+ ?>
+
+ Webseite:
+
+ url, "://")) {
+ $spielort_url_anzeige = $spielort->url;
+ $spielort_url = "http://" . $spielort->url;
+ } else {
+ $spielort_url_anzeige = str_starts_with($spielort->url, "http://") ? substr($spielort->url, 7) : $spielort->url;
+ $spielort_url = $spielort->url;
+ }
+ echo "" . htmlentities_utf8($spielort_url_anzeige) . " ";
+ ?>
+
+
+
+
+
+
+ :
+
+
+ beschreibung)) {
+ ?>
+
+
+
+ :
+
+ beschreibung)); ?>
+
+
+
+
+
+
+ 0) {
+ $tischtyp_anzeigen = false;
+ foreach ($aktuelle_teams as $team) {
+ if (!empty($team->tischtyp)) {
+ $tischtyp_anzeigen = true;
+ break;
+ }
+ }
+
+ ?>
+
+
+
+
+
+ heimspiel_wochentag) {
+ if ($team->heimspiel_wochentag >= 1 && $team->heimspiel_wochentag <= 7) {
+ ?>
+
+
+
+
+ heimspiel_wochentag;
+ }
+ ?>
+
+ teamname); ?>
+
+
+ tischtyp))
+ echo htmlentities_utf8($team->tischtyp);
+ ?>
+
+
+ wettbewerbe); ?>
+
+
+
+
+
+
+
+
+
+ ") ? $beschreibung : htmlentities_utf8($beschreibung); ?>
+
+
+
+ 0 || $statistik["einstufung_einzel"] > 0 || $statistik["einstufung_doppel"] > 0) && !empty($einstufungid)) || (count($veranstaltungen) > 0 && !empty($veranstaltungid)) || (count($veranstalter) > 0 && !empty($veranstalterid));
+ ?>
+
+
+ 0) {
+ $bilder_anzeigen = false;
+ foreach ($rows as $spieler) {
+ if (bildHTML("spieler", !$details_anzeigen && $spieler->bild_ausblenden ? '' : $spieler->spieler_id, 30, 40, 0, 0, '', $spieler->geschlecht == 'M' ? 'm' : 'w') != null) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ }
+
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ geschlecht); ?>
+ kategorie); ?>
+ 0) {
+ ?>
+ einstufung_allgemein_id != null ? htmlentities_utf8($einstufungen[$row->einstufung_allgemein_id]) : "-"; ?>
+ 0) {
+ ?>
+ einstufung_einzel_id != null ? htmlentities_utf8($einstufungen[$row->einstufung_einzel_id]) : "-"; ?>
+ 0) {
+ ?>
+ einstufung_doppel_id != null ? htmlentities_utf8($einstufungen[$row->einstufung_doppel_id]) : "-"; ?>
+ 0) {
+ ?>
+ vereinsname != null ? htmlentities_utf8($row->vereinsname) : "-"; ?>
+ 1) {
+ ?>
+ veranstalterbezeichnung != null ? htmlentities_utf8($row->veranstalterbezeichnung) : "-"; ?>
+
+ teamname != null ? htmlentities_utf8($row->teamname) : ""; ?>
+ 0) {
+ ?>
+ elo_einzel_spiele != 0 ? $row->elo_einzel : "-"; ?>
+ elo_einzel_spiele; ?>
+ 0) {
+ ?>
+ elo_doppel_spiele != 0 ? $row->elo_doppel : "-"; ?>
+ elo_doppel_spiele; ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
vorname . " " . $spieler->nachname); ?>
+
+
+
+
+
+
+ bild_ausblenden ? '' : $spieler->spieler_id, 0, 0, 180, 240, 'border="1"', $spieler->geschlecht == 'M' ? 'm' : 'w');
+ if ($bild != null) {
+ ?>
+
+
+
+
+
+
+
+ Text::_('COM_SPORTSMANAGER_CATEGORY_MEN'), 'D' => Text::_('COM_SPORTSMANAGER_CATEGORY_WOMEN'), 'J' => Text::_('COM_SPORTSMANAGER_CATEGORY_JUNIORS'), 'S' => Text::_('COM_SPORTSMANAGER_CATEGORY_SENIORS'));
+ if (isset($kategorie_bezeichnung[$spieler->kategorie])) {
+ ?>
+
+
+
+ :
+ kategorie]); ?>
+
+ einstufung_allgemein_id != null) {
+ ?>
+
+
+
+ :
+ einstufung_allgemein_id]); ?>
+
+ einstufung_einzel_id != null) {
+ ?>
+
+
+
+ :
+ einstufung_einzel_id]); ?>
+
+ einstufung_doppel_id != null) {
+ ?>
+
+
+
+ :
+ einstufung_doppel_id]); ?>
+
+ 0 && $spieler->elo_einzel_spiele != 0) {
+ ?>
+
+
+
+ :
+
+ elo_einzel_spiele == 1 ? Text::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_ONE_GAME', $spieler->elo_einzel) : Text::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_NUMBER_GAMES', $spieler->elo_einzel));
+ ?>
+
+
+ 0 && $spieler->elo_doppel_spiele != 0) {
+ ?>
+
+
+
+ :
+
+ elo_doppel_spiele == 1 ? Text::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_ONE_GAME', $spieler->elo_doppel) : Text::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_NUMBER_GAMES', $spieler->elo_doppel));
+ ?>
+
+
+ 0) {
+ ?>
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+ :
+
+ vereinsname) . " ";
+ ?>
+
+
+
+
+
+
+ :
+
+ veranstalterbezeichnung) . " ";
+ ?>
+
+
+ spielernr != null && $spieler->spielernr != "") {
+ ?>
+
+
+ 0) echo Text::_('COM_SPORTSMANAGER_NATIONAL') . " ";
+ echo Text::_('COM_SPORTSMANAGER_PLAYER_NUMBER_SHORT') ?>:
+ spielernr); ?>
+
+ lizenznr != null && $spieler->lizenznr != "") {
+ ?>
+
+
+ 0) echo Text::_('COM_SPORTSMANAGER_INTERNATIONAL') . " ";
+ echo Text::_('COM_SPORTSMANAGER_PLAYER_NUMBER_SHORT') ?>:
+ lizenznr); ?>
+
+ lizenz != null && $spieler->lizenz != "" && $lizenz_anzeigen) {
+ ?>
+
+
+ = Text::_('COM_SPORTSMANAGER_LIZENZ') ?>:
+ lizenz); ?>
+
+ pseudonym != NULL) {
+?>
+
+Pseudonym: pseudonym); ?>
+elo_wertung && ($statistik["elo_einzel"] > 0 || $statistik["elo_doppel"] > 0)) {
+?>
+ 0) {
+ ?>
+ Elo-Wert Einzel: elo_einzel_spiele != 0 ? $spieler->elo_einzel : "ohne"; ?>
+ Gewertete Einzel-Spiele: elo_einzel_spiele != 0 ? $spieler->elo_einzel_spiele : "keine"; ?>
+ 0) {
+ ?>
+ Elo-Wert Doppel: elo_doppel_spiele != 0 ? $spieler->elo_doppel : "ohne"; ?>
+ Gewertete Doppel-Spiele: elo_doppel_spiele != 0 ? $spieler->elo_doppel_spiele : "keine"; ?>
+
+
+
+Erstmals gespielt: erstmals_gespielt != NULL ? htmlentities_utf8(FormatiertesDatum($spieler->erstmals_gespielt, false)) : "Nie"; ?>
+
+Zuletzt gespielt: zuletzt_gespielt != NULL ? htmlentities_utf8(FormatiertesDatum($spieler->zuletzt_gespielt, false)) : "Nie"; ?>
+
+
+
+
+
+ 0) {
+ ?>
+
+
+
+
+
+
+ saisonbezeichnung) {
+ $saisonbezeichnung = $platzierung->saisonbezeichnung;
+ ?>
+
+
+
+
+
+
+ bezeichnung != null ? htmlentities_utf8($platzierung->bezeichnung) : ""; ?>
+ platz != null ? htmlentities_utf8($platzierung->platz) : ""; ?>
+ teilnehmer != null ? htmlentities_utf8($platzierung->teilnehmer) : ""; ?>
+ erster_tag, false, false)) . " - " . htmlentities_utf8(FormatiertesDatum($platzierung->letzter_tag, false, false)); ?> */ ?>
+
+
+
+
+
+ 0) {
+ ?>
+
+
+
+
+
+
+ saisonbezeichnung) {
+ $saisonbezeichnung = $platzierung->saisonbezeichnung;
+ ?>
+
+
+
+
+
+
+ turnierbezeichnung != null ? htmlentities_utf8($platzierung->turnierbezeichnung) : ""; ?>
+ beginn == null ? "" : htmlentities_utf8(FormatiertesDatum($platzierung->beginn, false)); ?>
+ turnierort != null ? htmlentities_utf8($platzierung->turnierort) : ""; ?>
+ disziplin != null ? htmlentities_utf8($platzierung->disziplin) : ""; ?>
+ platz != null ? htmlentities_utf8($platzierung->platz) : ""; ?>
+ teilnehmer != null ? htmlentities_utf8($platzierung->teilnehmer) : ""; ?>
+
+
+
+
+
+
+ 0) {
+ ?>
+
+
+
+
+
+ saisonbezeichnung) {
+ $saisonbezeichnung = $team->saisonbezeichnung;
+ ?>
+
+
+
+
+
+
+ teamname); ?>
+ wettbewerbe); ?>
+
+
+
+
+
+ 0) {
+ $n = count($spieler_elo_verlauf_einzel);
+
+ $erstes = max($n - 100, 0);
+ $elo_anzeigen = false;
+ for ($i = $n - 1; $i >= $erstes; $i--) {
+ $spiel = $spieler_elo_verlauf_einzel[$i];
+ if (isset($spiel["h1r"])) {
+ $elo_anzeigen = true;
+ break;
+ }
+ }
+ ?>
+
+
+
+
+
+ = $erstes; $i--) {
+ $spiel = $spieler_elo_verlauf_einzel[$i];
+ ?>
+
+
+
+
+
+
+ spieler_id) {
+ ?>
+
+
+ ">
+ " . htmlentities_utf8($teamNamen[$spiel["th"]]) . " ";
+ if ($elo_wertung) {
+ ?>
+
+
+
+
+
+
+ ">
+ " . htmlentities_utf8($teamNamen[$spiel["tg"]]) . " ";
+ if ($elo_wertung) {
+ ?>
+
+
+
+
+
+
+ 0 ? "+" : "") . $r_delta;
+ } else echo "-"; ?>
+
+
+
+
+ ">
+ " . htmlentities_utf8($teamNamen[$spiel["tg"]]) . " ";
+ if ($elo_wertung) {
+ ?>
+
+
+
+
+
+
+ ">
+ " . htmlentities_utf8($teamNamen[$spiel["th"]]) . " ";
+ if ($elo_wertung) {
+ ?>
+
+
+
+
+
+
+ 0 ? "+" : "") . $r_delta;
+ } else echo "-"; ?>
+
+
+
+
+
+
+ 8) {
+ ?>
+
+
+
+ 0) {
+ $n = count($spieler_elo_verlauf_doppel);
+
+ $erstes = max($n - 100, 0);
+ $elo_anzeigen = false;
+ for ($i = $n - 1; $i >= $erstes; $i--) {
+ $spiel = $spieler_elo_verlauf_doppel[$i];
+ if (isset($spiel["h1r"])) {
+ $elo_anzeigen = true;
+ break;
+ }
+ }
+ ?>
+
+
+
+
+
+ = $erstes; $i--) {
+ $spiel = $spieler_elo_verlauf_doppel[$i];
+ ?>
+
+
+
+
+
+
+ spieler_id || $spiel["h2"] == $spieler->spieler_id) {
+ ?>
+
+
+ ">
+ /
+ ">
+ " . htmlentities_utf8($teamNamen[$spiel["th"]]) . " ";
+ if ($elo_wertung) {
+ ?>
+
+
+
+
+
+
+ ">
+ /
+ ">
+ " . htmlentities_utf8($teamNamen[$spiel["tg"]]) . " ";
+ if ($elo_wertung) {
+ ?>
+
+
+
+
+
+
+ spieler_id ? ($spiel["h1rn"] - $spiel["h1r"]) : ($spiel["h2rn"] - $spiel["h2r"]);
+ echo ($r_delta > 0 ? "+" : "") . $r_delta;
+ } else echo "-"; ?>
+ spieler_id ? $spiel["h1rn"] : $spiel["h2rn"]; else echo "-"; ?>
+
+
+
+ ">
+ /
+ ">
+ " . htmlentities_utf8($teamNamen[$spiel["tg"]]) . " ";
+ if ($elo_wertung) {
+ ?>
+
+
+
+
+
+
+ ">
+ /
+ ">
+ " . htmlentities_utf8($teamNamen[$spiel["th"]]) . " ";
+ if ($elo_wertung) {
+ ?>
+
+
+
+
+
+
+ spieler_id ? ($spiel["g1rn"] - $spiel["g1r"]) : ($spiel["g2rn"] - $spiel["g2r"]);
+ echo ($r_delta > 0 ? "+" : "") . $r_delta;
+ } else echo "-"; ?>
+ spieler_id ? $spiel["g1rn"] : $spiel["g2rn"]; else echo "-"; ?>
+
+
+
+
+
+ 8) {
+ ?>
+
+
+
+
+
teamname; ?> teamname ?> bezeichnung); ?>
+ :
+
+
+
+
+
+
+
+
+ ") ? $beschreibung : htmlentities_utf8($beschreibung); ?>
+
+
+
+
+
+
+
+
+
+ turnierbezeichnung) . (!empty($disziplin->turnierort) ? (" in " . htmlentities_utf8($disziplin->turnierort)) : "") . ": " . htmlentities_utf8($disziplin->disziplin); ?>
+
+
+
+
+
+
+
+
+
+ :
+
+
+ beginn); ?>
+
+
+
+
+ :
+
+
+
- aktion == 1 || $aktion->aktion == 5 || $aktion->aktion == 10) // akzeptiert, von Moderator eingetragen oder Verschiebung abgelehnt
- break;
- array_push($letzte_verlegung_aktionen, $aktion);
- }
+ voranmeldung != null) {
+ ?>
+
+
+
+ :
+
+
+ voranmeldung);
+ if (str_ends_with($datum, "23:59"))
+ $datum = substr($datum, 0, strlen($datum) - 6);
+ else
+ $datum .= " " . Text::_('COM_SPORTSMANAGER_HOUR');
+ echo $datum;
+ ?>
+
+
+
+
+
- $termine = array();
- if (count($letzte_verlegung_aktionen) > 0) {
- $eingetragen = $letzte_verlegung_aktionen[0]->eingetragen;
- foreach ($letzte_verlegung_aktionen as $aktion) {
- if ($aktion->eingetragen != $eingetragen || ($aktion->aktion != 0) || $aktion->zeitpunkt == null) // aktion == 1 <=> Akzeptiert
- break;
- array_push($termine, $aktion);
- }
- }
+
+
+Voranmeldung hinzufügen
+
+
+*/
- $berechtigt_anfordern = $veranstaltung->initial_ohne_termin != 1 && (count($letzte_verlegung_aktionen) == 0 || $letzte_verlegung_aktionen[0]->aktion == 1);
- $berechtigt_vorschlagen = ($veranstaltung->initial_ohne_termin != 2 || (count($letzte_verlegung_aktionen) != 0 && $letzte_verlegung_aktionen[0]->aktion != 1)) && (!$veranstaltung->keine_gegenvorschlaege || count($letzte_verlegung_aktionen) == 0 || $letzte_verlegung_aktionen[0]->aktion != 3 || $letzte_verlegung_aktionen[0]->team_id != $vorschlagendes_team_id) && (count($termine) == 0 || !$veranstaltung->keine_gegenvorschlaege || $letzte_verlegung_aktionen[0]->team_id == $vorschlagendes_team_id);
- $berechtigt_ablehnen = count($letzte_verlegung_aktionen) != 0 && ($letzte_verlegung_aktionen[0]->aktion == 0 || $letzte_verlegung_aktionen[0]->aktion == 3 || $letzte_verlegung_aktionen[0]->aktion == 4) && ((($veranstaltung->ablehnen == 1 || $veranstaltung->ablehnen == 3) && $berechtigt_fuer_akzeptieren) || (($veranstaltung->ablehnen == 1 || $veranstaltung->ablehnen == 2) && $berechtigt_vorschlagen));
+ if (count($meldungenSpielerSortiert) > 0) {
+ $bilder_anzeigen_1 = false;
+ $bilder_anzeigen_2 = false;
+ foreach ($meldungenSpielerSortiert as $turniermeldung_id => $sortierung) {
+ $spieler = $meldungenSpielerNamen[$turniermeldung_id];
+ $spielerIds = $meldungenSpielerIds[$turniermeldung_id];
+ $spielerGeschlechter = $meldungenSpielerGeschlechter[$turniermeldung_id];
+ $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$turniermeldung_id];
+ if (isset($spieler[0]) && bildHTML("spieler", !isset($spielerIds[0]) || (!$details_anzeigen && $spielerBilderAusblenden[0]) ? '' : $spielerIds[0], 30, 40, 0, 0, '', $spielerGeschlechter[0] == 'M' ? 'm' : 'w') != null)
+ $bilder_anzeigen_1 = true;
+ if (isset($spieler[1]) && bildHTML("spieler", !isset($spielerIds[1]) || (!$details_anzeigen && $spielerBilderAusblenden[1]) ? '' : $spielerIds[1], 30, 40, 0, 0, '', $spielerGeschlechter[1] == 'M' ? 'm' : 'w') != null)
+ $bilder_anzeigen_2 = true;
+ if ($bilder_anzeigen_1 && ($disziplin->typ != 1 || $bilder_anzeigen_2))
+ break;
+ }
+ ?>
+
+
+ get( 'pageclass_sfx' ); ?>">
+
+
+*/
+ ?>
- if ($berechtigt_vorschlagen) {
- $anzahl_moegliche_termine = $veranstaltung->termine_maximal == 0 ? 3 : $veranstaltung->termine_maximal;
- ?>
-
-
+ ?>
-
- . :
-
-
-
-
- zeitpunkt, 0, 10);
- $datum_tag = substr($datum, 8, 2);
- echo " ";
- for ($i = 1; $i <= 31; $i++) {
- echo "" . $i . " ";
- }
- ?>
-
-
- ";
- $monate = array(JText::_('COM_SPORTSMANAGER_JANUARY'), JText::_('COM_SPORTSMANAGER_FEBRUARY'), JText::_('COM_SPORTSMANAGER_MARCH'), JText::_('COM_SPORTSMANAGER_APRIL'), JText::_('COM_SPORTSMANAGER_MAY'), JText::_('COM_SPORTSMANAGER_JUNE'), JText::_('COM_SPORTSMANAGER_JULY'), JText::_('COM_SPORTSMANAGER_AUGUST'), JText::_('COM_SPORTSMANAGER_SEPTEMBER'), JText::_('COM_SPORTSMANAGER_OCTOBER'), JText::_('COM_SPORTSMANAGER_NOVEMBER'), JText::_('COM_SPORTSMANAGER_DECEMBER'));
- for ($i = 1; $i <= 12; $i++) {
- echo "" . htmlentities_utf8($monate[$i - 1]) . " ";
- }
- ?>
-
-
- ";
- for ($i = Date("Y") + 5; $i >= 2000; $i--) {
- echo "" . $i . " ";
- }
- ?>
-
-
- zeitpunkt, 11, 2));
- echo " ";
- for ($i = 0; $i <= 23; $i++) {
- echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
- zeitpunkt, 14, 2));
- echo " ";
- for ($i = 0; $i <= 59; $i += 5) {
- echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
-
-
-
-
- kommentar)) {
- ?>
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
"/>
-
-
-
-
-
-
- ") !== false ? $beschreibung : htmlentities_utf8($beschreibung); ?>
-
-
-
-
-
-
-
- turnierbezeichnung) . (!empty($disziplin->turnierort) ? (" in " . htmlentities_utf8($disziplin->turnierort)) : "") . ": " . htmlentities_utf8($disziplin->disziplin); ?>
-
-
-
-
-
-
-
- :
-
-
- beginn); ?>
-
-
-
-
- :
-
-
-
-
-
-
- voranmeldung != null) {
- ?>
-
-
-
- :
-
-
- voranmeldung);
- if (substr($datum, strlen($datum) - 5) == "23:59")
- $datum = substr($datum, 0, strlen($datum) - 6);
- else
- $datum .= " " . JText::_('COM_SPORTSMANAGER_HOUR');
- echo $datum;
- ?>
-
-
-
-
-
-
-
- Voranmeldung hinzufügen
-
-
- */
-
- if (count($meldungenSpielerSortiert) > 0) {
- $bilder_anzeigen_1 = false;
- $bilder_anzeigen_2 = false;
- foreach ($meldungenSpielerSortiert as $turniermeldung_id => $sortierung) {
- $spieler = $meldungenSpielerNamen[$turniermeldung_id];
- $spielerIds = $meldungenSpielerIds[$turniermeldung_id];
- $spielerGeschlechter = $meldungenSpielerGeschlechter[$turniermeldung_id];
- $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$turniermeldung_id];
- if (isset($spieler[0]) && bildHTML("spieler", !isset($spielerIds[0]) || (!$details_anzeigen && $spielerBilderAusblenden[0]) ? '' : $spielerIds[0], 30, 40, 0, 0, '', $spielerGeschlechter[0] == 'M' ? 'm' : 'w') != null)
- $bilder_anzeigen_1 = true;
- if (isset($spieler[1]) && bildHTML("spieler", !isset($spielerIds[1]) || (!$details_anzeigen && $spielerBilderAusblenden[1]) ? '' : $spielerIds[1], 30, 40, 0, 0, '', $spielerGeschlechter[1] == 'M' ? 'm' : 'w') != null)
- $bilder_anzeigen_2 = true;
- if ($bilder_anzeigen_1 && ($disziplin->typ != 1 || $bilder_anzeigen_2))
- break;
- }
- ?>
-
- get( 'pageclass_sfx' ); ?>">
-
- */
- ?>
-
-
- $sortierung) {
- if ($n % 3 == 0 && $n != 0)
- echo " ";
-
- ?>
-
-
-
-
- voranmeldungen_rangliste_id != 0) {
- ?>
-
-
-
-
-
-
-
- ";
- if (!isset($spielerIds[1]))
- echo htmlentities_utf8($spieler[1]);
- else {
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
+ ") ? $beschreibung : htmlentities_utf8($beschreibung); ?>
-
-
-
-
-
-
-
-
-
-
-
- ") !== false ? $beschreibung : htmlentities_utf8($beschreibung); ?>
-
-
- 0) {
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
bezeichnung); ?>
-
-
-
-
-
-
-
- bezeichnung); ?>
-
-
-
- 0) {
- // Ermitteln, ob ein Bild von einem der Spieler unter den ersten drei Plätzen vorhanden ist
- $bilder_anzeigen = false;
- $bilder_anzeigen_2 = false;
- $platz = 1;
- $tatsaechlicher_platz = 1;
- foreach ($spielerstatistik_punkte as $row) {
- if ($platz == 1 || $spielpunkte_gewonnen != $row->spielpunkte_gewonnen || $spielpunkte_verloren != $row->spielpunkte_verloren || ($punkte_gewonnen - $punkte_verloren) != ($row->punkte_gewonnen - $row->punkte_verloren))
- $tatsaechlicher_platz = $platz;
- if (!$allein_angezeigt && $tatsaechlicher_platz > 3)
- break;
- if (bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->spieler_id, 57, 76, 0, 0, 'border="1"', $row->geschlecht == 'M' ? 'm' : 'w') != null)
- $bilder_anzeigen = true;
- if ($spielerstatistik->typ == 3 && bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden_2 ? '' : $row->spieler_2_id, 57, 76, 0, 0, 'border="1"', $row->geschlecht_2 == 'M' ? 'm' : 'w') != null)
- $bilder_anzeigen_2 = true;
- if ($bilder_anzeigen && ($bilder_anzeigen_2 || $spielerstatistik->typ != 3))
- break;
- $spielpunkte_gewonnen = $row->spielpunkte_gewonnen;
- $spielpunkte_verloren = $row->spielpunkte_verloren;
- $punkte_gewonnen = $row->punkte_gewonnen;
- $punkte_verloren = $row->punkte_verloren;
- $platz++;
- }
-
- ?>
-
-
-
- spielpunkte_gewonnen || $spielpunkte_verloren != $row->spielpunkte_verloren || ($punkte_gewonnen - $punkte_verloren) != ($row->punkte_gewonnen - $row->punkte_verloren))
- $tatsaechlicher_platz = $platz;
-
- if (!$allein_angezeigt && $tatsaechlicher_platz > 3)
- break;
- ?>
-
-
-
-
-
-
-
-
- aktueller_verein_id == null)
- echo htmlentities_utf8($row->nachname . ", " . $row->vorname);
- else {
- ?>
- nachname . ", " . $row->vorname); ?>
- typ == 3 && $row->spieler_2_id != null) {
- ?>
-
- aktueller_verein_id_2 == null)
- echo htmlentities_utf8($row->nachname_2 . ", " . $row->vorname_2);
- else {
- ?>
- nachname_2 . ", " . $row->vorname_2); ?>
-
-
-
- bild_ausblenden ? '' : $row->spieler_id, 57, 76, 0, 0, 'border="1" align="right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null)
- echo $bild;
- ?>
-
-
-
- bild_ausblenden_2 ? '' : $row->spieler_2_id, 57, 76, 0, 0, 'border="1" align="right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null)
- echo $bild;
- ?>
-
-
-
-
-
- tabellenwertung != 0) {
- ?>
- leistungsindex, 0); ?>
-
-
- siege + $row->niederlagen + $row->unentschieden; ?>
- tabellenwertung == 0 ? "" : "") . $row->spielpunkte_gewonnen . ($spielerstatistik->tabellenwertung == 0 ? "" : ""); ?>
- spielpunkte_verloren; ?>
- spielpunkte_gewonnen > 0 || $row->spielpunkte_verloren > 0) ? round($row->spielpunkte_gewonnen * 100 / ($row->spielpunkte_gewonnen + $row->spielpunkte_verloren), 0) . "%" : "-"; ?>
- punkte_gewonnen; ?>
- punkte_verloren; ?>
- siege; ?>
- unentschieden; ?>
- niederlagen; ?>
-
- spielpunkte_gewonnen;
- $spielpunkte_verloren = $row->spielpunkte_verloren;
- $punkte_gewonnen = $row->punkte_gewonnen;
- $punkte_verloren = $row->punkte_verloren;
- $platz++;
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ") !== false ? $beschreibung : htmlentities_utf8($beschreibung); ?>
-
-
- 0) {
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
bezeichnung); ?>
-
-
-
-
-
-
-
-
- bezeichnung); ?>
-
-
-
- vereinsname)) {
- $vereine_anzeigen = true;
- break;
- }
- }
-
- $anzahl_eintraege = count($platzierungen);
- $anzahl_spalten = 1;
- $anzahl_zeilen = 1;
- $n = $anzahl_eintraege;
- while ($n > $anzahl_spalten) {
- $n -= $anzahl_spalten;
- $anzahl_spalten++;
- $anzahl_zeilen++;
- }
-
- if (!$allein_angezeigt && $anzahl_zeilen > 2) {
- $anzahl_spalten = 2;
- $anzahl_zeilen = 2;
- }
-
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- $platz = 0;
- $k = 0;
- foreach ($platzierungen as $row) {
- $platz_aktuell = $row->platz;
- if (!$allein_angezeigt && $platz_aktuell > 3)
- break;
- ?>
-
-
-
-
-
-
-
- aktueller_verein_id))
- echo htmlentities_utf8($row->nachname . ", " . $row->vorname);
- else {
- ?>
- nachname . ", " . $row->vorname); ?>
-
- vereinsname != NULL ? htmlentities_utf8($row->vereinsname) : "Kein Verein"; ?>
-
-
- bild_ausblenden) && (($bild = bildHTML("spieler", $row->spieler_id, $platz > 3 ? 30 : 57, $platz > 3 ? 40 : 76, 0, 0, 'border="1" align="right" hspace="8" vspace="2"')) != NULL))
- echo $bild; ?>
-
-
-
-
-
-
-
-
-
-
-
-
- heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, '', $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null
- || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, '', $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null)
- $bilder_anzeigen_1 = true;
- if (($spiel->heim_spieler_2_id != null && bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, '', $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)
- || ($spiel->gast_spieler_2_id != null && bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, '', $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null))
- $bilder_anzeigen_2 = true;
- if ($bilder_anzeigen_1 && $bilder_anzeigen_2)
- break;
- }
- ?>
-
-
- $spiel) {
- if (!$allein_angezeigt && $index == 3)
- break;
- ?>
-
-
- zeitpunkt)); ?>
-
-
-
-
+
+
-
- ergebnis != 2) {
- echo htmlentities_utf8(NichtLeererString($spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname));
- if ($spiel->heim_spieler_2_id != null)
- echo " " . htmlentities_utf8(NichtLeererString($spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname));
- }
- else {
- echo htmlentities_utf8(NichtLeererString($spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname));
- if ($spiel->gast_spieler_2_id != null)
- echo " " . htmlentities_utf8(NichtLeererString($spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname));
- }
- ?>
+
+
+
bezeichnung); ?>
+
-
-
- ergebnis != 2) {
- if (($bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, '', $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w')) != null)
- echo $bild;
- }
- else {
- if (($bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, '', $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w')) != null)
- echo $bild;
- }
- ?>
-
-
-
- ergebnis != 2) {
- if ($spiel->heim_spieler_2_id != null && ($bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, '', $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w')) != null)
- echo $bild;
- }
- else {
- if ($spiel->gast_spieler_2_id != null && ($bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, '', $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w')) != null)
- echo $bild;
- }
- ?>
-
-
-
-
-
-
ergebnis_detailliert)) echo str_replace(" ", " | ", $spiel->ergebnis != 2 ? $spiel->ergebnis_detailliert : runden_detailliert_invers($spiel->ergebnis_detailliert)); ?>
-
-
-
-
-
-
- ergebnis == 2) {
- echo htmlentities_utf8(NichtLeererString($spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname));
- if ($spiel->heim_spieler_2_id != null)
- echo " " . htmlentities_utf8(NichtLeererString($spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname));
- }
- else {
- echo htmlentities_utf8(NichtLeererString($spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname));
- if ($spiel->gast_spieler_2_id != null)
- echo " " . htmlentities_utf8(NichtLeererString($spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname));
- }
- ?>
-
-
-
- ergebnis == 2) {
- if (($bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, '', $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w')) != null)
- echo $bild;
- }
- else {
- if (($bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, '', $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w')) != null)
- echo $bild;
- }
- ?>
-
-
-
- ergebnis == 2) {
- if ($spiel->heim_spieler_2_id != null && ($bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, '', $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w')) != null)
- echo $bild;
- }
- else {
- if ($spiel->gast_spieler_2_id != null && ($bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, '', $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w')) != null)
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
- 3) {
- ?>
-
-
-
- heim_spieler_1_bild_ausblenden) && bildHTML("spieler", $spiel->heim_spieler_1_id, 30, 40, 0, 0) != null)
- || (($details_anzeigen || !$spiel->gast_spieler_1_bild_ausblenden) && bildHTML("spieler", $spiel->gast_spieler_1_id, 30, 40, 0, 0) != null))
- $bilder_anzeigen_1 = true;
- if ((($spiel->heim_spieler_2_id != null && ($details_anzeigen || !$spiel->heim_spieler_2_bild_ausblenden) && bildHTML("spieler", $spiel->heim_spieler_2_id, 30, 40, 0, 0) != null))
- || ($spiel->gast_spieler_2_id != null && ($details_anzeigen || !$spiel->gast_spieler_2_bild_ausblenden) && bildHTML("spieler", $spiel->gast_spieler_2_id, 30, 40, 0, 0) != null))
- $bilder_anzeigen_2 = true;
- if ($bilder_anzeigen_1 && $bilder_anzeigen_2)
- break;
- }
- ?>
-
-
- $spiel) {
- ?>
-
-
- zeitpunkt)); ?>
-
-
- individualwettbewerb_id]); ?>
-
-
-
-
-
-
-
- ergebnis != 2) {
- echo htmlentities_utf8(NichtLeererString($spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname));
- if ($spiel->heim_spieler_2_id != null)
- echo " " . htmlentities_utf8(NichtLeererString($spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname));
- }
- else {
- echo htmlentities_utf8(NichtLeererString($spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname));
- if ($spiel->gast_spieler_2_id != null)
- echo " " . htmlentities_utf8(NichtLeererString($spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname));
- }
- ?>
-
-
-
- ergebnis != 2) {
- if (($details_anzeigen || !$spiel->heim_spieler_1_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->heim_spieler_1_id, 30, 40, 0, 0)) != null)
- echo $bild;
- }
- else {
- if (($details_anzeigen || !$spiel->gast_spieler_1_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->gast_spieler_1_id, 30, 40, 0, 0)) != null)
- echo $bild;
- }
- ?>
-
-
-
- ergebnis != 2) {
- if ($spiel->heim_spieler_2_id != null && ($details_anzeigen || !$spiel->heim_spieler_2_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->heim_spieler_2_id, 30, 40, 0, 0)) != null)
- echo $bild;
- }
- else {
- if ($spiel->gast_spieler_2_id != null && ($details_anzeigen || !$spiel->gast_spieler_2_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->gast_spieler_2_id, 30, 40, 0, 0)) != null)
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
- ergebnis_detailliert)) echo str_replace(" ", " | ", $spiel->ergebnis != 2 ? $spiel->ergebnis_detailliert : runden_detailliert_invers($spiel->ergebnis_detailliert)); ?>
-
-
-
-
-
-
- ergebnis == 2) {
- echo htmlentities_utf8(NichtLeererString($spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname));
- if ($spiel->heim_spieler_2_id != null)
- echo " " . htmlentities_utf8(NichtLeererString($spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname));
- }
- else {
- echo htmlentities_utf8(NichtLeererString($spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname));
- if ($spiel->gast_spieler_2_id != null)
- echo " " . htmlentities_utf8(NichtLeererString($spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname));
- }
- ?>
-
-
-
- ergebnis == 2) {
- if (($details_anzeigen || !$spiel->heim_spieler_1_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->heim_spieler_1_id, 30, 40, 0, 0)) != null)
- echo $bild;
- }
- else {
- if (($details_anzeigen || !$spiel->gast_spieler_1_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->gast_spieler_1_id, 30, 40, 0, 0)) != null)
- echo $bild;
- }
- ?>
-
-
-
- ergebnis == 2) {
- if ($spiel->heim_spieler_2_id != null && ($details_anzeigen || !$spiel->heim_spieler_2_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->heim_spieler_2_id, 30, 40, 0, 0)) != null)
- echo $bild;
- }
- else {
- if ($spiel->gast_spieler_2_id != null && ($details_anzeigen || !$spiel->gast_spieler_2_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->gast_spieler_2_id, 30, 40, 0, 0)) != null)
- echo $bild;
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ") !== false ? $beschreibung : htmlentities_utf8($beschreibung); ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0) {
- ?>
-
-
- 3)
- break;
- ?>
-
-
- elo_doppel : $row->elo_einzel;
- if ($elo != $elo_aktuell) {
- $elo = $elo_aktuell;
- echo $platz;
- }
- ?>
-
-
-
+
+
+
-
- aktueller_verein_id))
- echo htmlentities_utf8($row->nachname . ", " . $row->vorname);
- else {
- ?>
-
- nachname . ", " . $row->vorname); ?>
-
-
-
- bild_ausblenden ? '' : $row->spieler_id, 57, 76, 0, 0, 'border="1" align="right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null)
- echo $bild; ?>
+
+ bezeichnung); ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ") !== false ? $beschreibung : htmlentities_utf8($beschreibung); ?>
-
-
- 0) {
- ?>
-
-
-
-
-
-
-
-
-
bezeichnung); ?>
-
-
- streichergebnisse != 0) {
- ?>
-
-
-
- : streichergebnisse > 0 ? (100 - $rangliste->streichergebnisse . "% " . JText::_('COM_SPORTSMANAGER_POSSIBLE_PARTICIPATION')) : (($rangliste->streichergebnisse == -1 ? JText::_('COM_SPORTSMANAGER_BEST_RESULT') : ("Die besten " . abs($rangliste->streichergebnisse) . " Turnierergebnisse" . JText::_('COM_SPORTSMANAGER_BEST_RESULTS'))))); ?>
-
-
-
-
-
-
-
-
- bezeichnung); ?>
-
-
- streichergebnisse > 0) {
- ?>
-
-
- streichergebnisse)); ?>
-
-
-
-
-
-
- 0) {
- ?>
-
-
-
- platz > 3)
- break;
- ?>
-
-
- platz;
- ?>
-
+ if (count($spielerstatistik_punkte) > 0) {
+ // Ermitteln, ob ein Bild von einem der Spieler unter den ersten drei Plätzen vorhanden ist
+ $bilder_anzeigen = false;
+ $bilder_anzeigen_2 = false;
+ $platz = 1;
+ $tatsaechlicher_platz = 1;
+ $spielpunkte_gewonnen = null;
+ $spielpunkte_verloren = null;
+ $punkte_gewonnen = null;
+ $punkte_verloren = null;
+ foreach ($spielerstatistik_punkte as $row) {
+ if ($platz == 1 || $spielpunkte_gewonnen != $row->spielpunkte_gewonnen || $spielpunkte_verloren != $row->spielpunkte_verloren || ($punkte_gewonnen - $punkte_verloren) != ($row->punkte_gewonnen - $row->punkte_verloren))
+ $tatsaechlicher_platz = $platz;
+ if (!$allein_angezeigt && $tatsaechlicher_platz > 3)
+ break;
+ if (bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->spieler_id, 57, 76, 0, 0, 'border="1"', $row->geschlecht == 'M' ? 'm' : 'w') != null)
+ $bilder_anzeigen = true;
+ if ($spielerstatistik->typ == 3 && bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden_2 ? '' : $row->spieler_2_id, 57, 76, 0, 0, 'border="1"', $row->geschlecht_2 == 'M' ? 'm' : 'w') != null)
+ $bilder_anzeigen_2 = true;
+ if ($bilder_anzeigen && ($bilder_anzeigen_2 || $spielerstatistik->typ != 3))
+ break;
+ $spielpunkte_gewonnen = $row->spielpunkte_gewonnen;
+ $spielpunkte_verloren = $row->spielpunkte_verloren;
+ $punkte_gewonnen = $row->punkte_gewonnen;
+ $punkte_verloren = $row->punkte_verloren;
+ $platz++;
+ }
-
- bild_ausblenden ? '' : $row->spieler_id, '#resize=75', 'border="1" align="left" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null)
- echo $bild; ?>
- aktueller_verein_id == null)
- echo htmlentities_utf8($row->nachname . ", " . $row->vorname);
- else {
- ?>
+ ?>
+
+
+
+
+ spieler_id); ?>">vorname . " " . $row->nachname); ?>
-
-
+ $platz = 1;
+ $tatsaechlicher_platz = 1;
+ $k = 0;
+ foreach ($spielerstatistik_punkte as $row) {
+ if ($platz == 1 || $spielpunkte_gewonnen != $row->spielpunkte_gewonnen || $spielpunkte_verloren != $row->spielpunkte_verloren || ($punkte_gewonnen - $punkte_verloren) != ($row->punkte_gewonnen - $row->punkte_verloren))
+ $tatsaechlicher_platz = $platz;
-
- spieler_id); ?>">punkte; ?>
-
-
-
-
+ if (!$allein_angezeigt && $tatsaechlicher_platz > 3)
+ break;
+ ?>
+
+
+
+
+
+
+
+
+ aktueller_verein_id == null)
+ echo htmlentities_utf8($row->nachname . ", " . $row->vorname);
+ else {
+ ?>
+ nachname . ", " . $row->vorname); ?>
+ typ == 3 && $row->spieler_2_id != null) {
+ ?>
+
+ aktueller_verein_id_2 == null)
+ echo htmlentities_utf8($row->nachname_2 . ", " . $row->vorname_2);
+ else {
+ ?>
+ nachname_2 . ", " . $row->vorname_2); ?>
+
+
+
+ bild_ausblenden ? '' : $row->spieler_id, 57, 76, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null)
+ echo $bild;
+ ?>
+
+
+
+ bild_ausblenden_2 ? '' : $row->spieler_2_id, 57, 76, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null)
+ echo $bild;
+ ?>
+
+
+
+
+
+ tabellenwertung != 0) {
+ ?>
+
+ leistungsindex); ?>
+
+
+ siege + $row->niederlagen + $row->unentschieden; ?>
+ tabellenwertung == 0 ? "" : "") . $row->spielpunkte_gewonnen . ($spielerstatistik->tabellenwertung == 0 ? "" : ""); ?>
+ spielpunkte_verloren; ?>
+ spielpunkte_gewonnen > 0 || $row->spielpunkte_verloren > 0) ? round($row->spielpunkte_gewonnen * 100 / ($row->spielpunkte_gewonnen + $row->spielpunkte_verloren)) . "%" : "-"; ?>
+ punkte_gewonnen; ?>
+ punkte_verloren; ?>
+ siege; ?>
+ unentschieden; ?>
+ niederlagen; ?>
+
+ spielpunkte_gewonnen;
+ $spielpunkte_verloren = $row->spielpunkte_verloren;
+ $punkte_gewonnen = $row->punkte_gewonnen;
+ $punkte_verloren = $row->punkte_verloren;
+ $platz++;
+ }
+ ?>
+
+
-
-
-
+
+
- ?>
+
+ get('pageclass_sfx'); ?>">
-
+
+
+
+
+ ") ? $beschreibung : htmlentities_utf8($beschreibung); ?>
+
+
+
+ 0) {
+ ?>
+
+
+ static function individualwettbewerb($individualwettbewerb, $spiele, $platzierungen, $allein_angezeigt, $vorheriger_individualwettbewerb_id, $naechster_individualwettbewerb_id, $details_anzeigen): void
+ {
+ global $params;
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- static function ranglistenpunkte($rangliste, $rangliste_punkte, $turnierdisziplinen, $streichergebnisse, $vorherige_spieler_id, $naechste_spieler_id) {
- global $params;
+
+
+
+
+
+
bezeichnung); ?>
+
+
+
+
+
+
+
+
+
+
+ bezeichnung); ?>
+
+
+
+
+
+ if (!empty($platzierungen)) {
+ foreach ($platzierungen as $row) {
+ if (!empty($row->vereinsname)) {
+ break;
+ }
+ }
+
+ $anzahl_eintraege = count($platzierungen);
+ $anzahl_spalten = 1;
+ $anzahl_zeilen = 1;
+ $n = $anzahl_eintraege;
+ while ($n > $anzahl_spalten) {
+ $n -= $anzahl_spalten;
+ $anzahl_spalten++;
+ $anzahl_zeilen++;
+ }
+
+ if (!$allein_angezeigt && $anzahl_zeilen > 2) {
+ $anzahl_spalten = 2;
+ $anzahl_zeilen = 2;
+ }
+
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ " . $row->platz . "";
+ ?>
+
+
+
+
+ aktueller_verein_id))
+ echo htmlentities_utf8($row->nachname) . " " . htmlentities_utf8($row->vorname);
+ else {
+ ?>
+ nachname) . " " . htmlentities_utf8($row->vorname); ?>
+
+
+
+ bild_ausblenden ? '' : $row->spieler_id, 57, 76, 0, 0, 'border="1" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null)
+ echo "" . $bild . " ";
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+platz;
+if (!$allein_angezeigt && $platz_aktuell > 3)
+ break;
+?>
+
+
+
+
+
+
+
+aktueller_verein_id))
+ echo htmlentities_utf8($row->nachname . ", " . $row->vorname);
+else {
+ ?>
+nachname . ", " . $row->vorname); ?>
+
+ vereinsname != NULL ? htmlentities_utf8($row->vereinsname) : "Kein Verein"; ?>
+
+
+bild_ausblenden) && (($bild = bildHTML("spieler", $row->spieler_id, $platz > 3 ? 30 : 57, $platz > 3 ? 40 : 76, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"')) != NULL))
+echo $bild; ?>
+
+
+
+
+
+
+
+
+
+
+
+
+ heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, '', $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null
+ || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, '', $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null)
+ $bilder_anzeigen_1 = true;
+ if (($spiel->heim_spieler_2_id != null && bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, '', $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)
+ || ($spiel->gast_spieler_2_id != null && bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, '', $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null))
+ $bilder_anzeigen_2 = true;
+ if ($bilder_anzeigen_1 && $bilder_anzeigen_2)
+ break;
+ }
+ ?>
+
+
+
+ $spiel) {
+ if (!$allein_angezeigt && $index == 3)
+ break;
+ ?>
+
+
+ zeitpunkt)); ?>
+
+
+
+
+
+
+ ergebnis != 2) {
+ echo htmlentities_utf8(NichtLeererString($spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname));
+ if ($spiel->heim_spieler_2_id != null)
+ echo " " . htmlentities_utf8(NichtLeererString($spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname));
+ } else {
+ echo htmlentities_utf8(NichtLeererString($spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname));
+ if ($spiel->gast_spieler_2_id != null)
+ echo " " . htmlentities_utf8(NichtLeererString($spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname));
+ }
+ ?>
+
+
+
+ ergebnis != 2) {
+ if (($bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, '', $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w')) != null)
+ echo $bild;
+ } else {
+ if (($bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, '', $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w')) != null)
+ echo $bild;
+ }
+ ?>
+
+
+
+ ergebnis != 2) {
+ if ($spiel->heim_spieler_2_id != null && ($bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, '', $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w')) != null)
+ echo $bild;
+ } else {
+ if ($spiel->gast_spieler_2_id != null && ($bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, '', $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w')) != null)
+ echo $bild;
+ }
+ ?>
+
+
+
+
+
+
+
+ ergebnis_detailliert)) echo str_replace(" ", " | ", $spiel->ergebnis != 2 ? $spiel->ergebnis_detailliert : runden_detailliert_invers($spiel->ergebnis_detailliert)); ?>
+
+
+
+
+
+
+ ergebnis == 2) {
+ echo htmlentities_utf8(NichtLeererString($spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname));
+ if ($spiel->heim_spieler_2_id != null)
+ echo " " . htmlentities_utf8(NichtLeererString($spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname));
+ } else {
+ echo htmlentities_utf8(NichtLeererString($spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname));
+ if ($spiel->gast_spieler_2_id != null)
+ echo " " . htmlentities_utf8(NichtLeererString($spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname));
+ }
+ ?>
+
+
+
+ ergebnis == 2) {
+ if (($bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, '', $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w')) != null)
+ echo $bild;
+ } else {
+ if (($bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, '', $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w')) != null)
+ echo $bild;
+ }
+ ?>
+
+
+
+ ergebnis == 2) {
+ if ($spiel->heim_spieler_2_id != null && ($bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, '', $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w')) != null)
+ echo $bild;
+ } else {
+ if ($spiel->gast_spieler_2_id != null && ($bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, '', $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w')) != null)
+ echo $bild;
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+ 3) {
+ ?>
+
+
+
+ heim_spieler_1_bild_ausblenden) && bildHTML("spieler", $spiel->heim_spieler_1_id, 30, 40) != null)
+ || (($details_anzeigen || !$spiel->gast_spieler_1_bild_ausblenden) && bildHTML("spieler", $spiel->gast_spieler_1_id, 30, 40) != null))
+ $bilder_anzeigen_1 = true;
+ if ((($spiel->heim_spieler_2_id != null && ($details_anzeigen || !$spiel->heim_spieler_2_bild_ausblenden) && bildHTML("spieler", $spiel->heim_spieler_2_id, 30, 40) != null))
+ || ($spiel->gast_spieler_2_id != null && ($details_anzeigen || !$spiel->gast_spieler_2_bild_ausblenden) && bildHTML("spieler", $spiel->gast_spieler_2_id, 30, 40) != null))
+ $bilder_anzeigen_2 = true;
+ if ($bilder_anzeigen_1 && $bilder_anzeigen_2)
+ break;
+ }
+ ?>
+
+
+
+
+
+
+ zeitpunkt)); ?>
+
+
+ individualwettbewerb_id]); ?>
+
+
+
+
+
+
+
+ ergebnis != 2) {
+ echo htmlentities_utf8(NichtLeererString($spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname));
+ if ($spiel->heim_spieler_2_id != null)
+ echo " " . htmlentities_utf8(NichtLeererString($spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname));
+ } else {
+ echo htmlentities_utf8(NichtLeererString($spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname));
+ if ($spiel->gast_spieler_2_id != null)
+ echo " " . htmlentities_utf8(NichtLeererString($spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname));
+ }
+ ?>
+
+
+
+ ergebnis != 2) {
+ if (($details_anzeigen || !$spiel->heim_spieler_1_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->heim_spieler_1_id, 30, 40)) != null)
+ echo $bild;
+ } else {
+ if (($details_anzeigen || !$spiel->gast_spieler_1_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->gast_spieler_1_id, 30, 40)) != null)
+ echo $bild;
+ }
+ ?>
+
+
+
+ ergebnis != 2) {
+ if ($spiel->heim_spieler_2_id != null && ($details_anzeigen || !$spiel->heim_spieler_2_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->heim_spieler_2_id, 30, 40)) != null)
+ echo $bild;
+ } else {
+ if ($spiel->gast_spieler_2_id != null && ($details_anzeigen || !$spiel->gast_spieler_2_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->gast_spieler_2_id, 30, 40)) != null)
+ echo $bild;
+ }
+ ?>
+
+
+
+
+
+
+
+ ergebnis_detailliert)) echo str_replace(" ", " | ", $spiel->ergebnis != 2 ? $spiel->ergebnis_detailliert : runden_detailliert_invers($spiel->ergebnis_detailliert)); ?>
+
+
+
+
+
+
+ ergebnis == 2) {
+ echo htmlentities_utf8(NichtLeererString($spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname));
+ if ($spiel->heim_spieler_2_id != null)
+ echo " " . htmlentities_utf8(NichtLeererString($spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname));
+ } else {
+ echo htmlentities_utf8(NichtLeererString($spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname));
+ if ($spiel->gast_spieler_2_id != null)
+ echo " " . htmlentities_utf8(NichtLeererString($spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname));
+ }
+ ?>
+
+
+
+ ergebnis == 2) {
+ if (($details_anzeigen || !$spiel->heim_spieler_1_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->heim_spieler_1_id, 30, 40)) != null)
+ echo $bild;
+ } else {
+ if (($details_anzeigen || !$spiel->gast_spieler_1_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->gast_spieler_1_id, 30, 40)) != null)
+ echo $bild;
+ }
+ ?>
+
+
+
+ ergebnis == 2) {
+ if ($spiel->heim_spieler_2_id != null && ($details_anzeigen || !$spiel->heim_spieler_2_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->heim_spieler_2_id, 30, 40)) != null)
+ echo $bild;
+ } else {
+ if ($spiel->gast_spieler_2_id != null && ($details_anzeigen || !$spiel->gast_spieler_2_bild_ausblenden) && ($bild = bildHTML("spieler", $spiel->gast_spieler_2_id, 30, 40)) != null)
+ echo $bild;
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ") ? $beschreibung : htmlentities_utf8($beschreibung); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0) {
+ ?>
+
+
+
+ 3)
+ break;
+ ?>
+
+
+ elo_doppel : $row->elo_einzel;
+ if ($elo != $elo_aktuell) {
+ $elo = $elo_aktuell;
+ echo $platz;
+ }
+ ?>
+
+
+
+
+
+ aktueller_verein_id))
+ echo htmlentities_utf8($row->nachname . ", " . $row->vorname);
+ else {
+ ?>
+
+ nachname . ", " . $row->vorname); ?>
+
+
+
+ bild_ausblenden ? '' : $row->spieler_id, 57, 76, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null)
+ echo $bild; ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if (!empty($titel)) { ?>
+
+
+
+
+ ") ? $beschreibung : htmlentities_utf8($beschreibung); ?>
+
+
+
+ 0) {
+ ?>
+
+
-
-
-
-
bezeichnung . (empty($rangliste_punkte->platz) ? "" : (" " . $rangliste_punkte->platz . ". Platz")) . ": " . $rangliste_punkte->nachname . ", " . $rangliste_punkte->vorname . " - " . $rangliste_punkte->punkte . " Punkte"); ?>
+ static function rangliste($rangliste, $rangliste_punkte, $allein_angezeigt, $details_anzeigen): void
+ {
+ global $params;
+
+ if ($allein_angezeigt) {
+ ?>
+
+
+
+
+
+
+
+
bezeichnung); ?>
+
+
+
+ streichergebnisse != 0) {
+ ?>
+
+
+
+ : streichergebnisse > 0 ? (100 - $rangliste->streichergebnisse . "% " . Text::_('COM_SPORTSMANAGER_POSSIBLE_PARTICIPATION')) : (($rangliste->streichergebnisse == -1 ? Text::_('COM_SPORTSMANAGER_BEST_RESULT') : ("Die besten " . abs($rangliste->streichergebnisse) . " Turnierergebnisse" . Text::_('COM_SPORTSMANAGER_BEST_RESULTS'))))); ?>
+
+
+
+
+
+
+
+
+
+
+
+ bezeichnung); ?>
+
+
+ streichergebnisse > 0) {
+ ?>
+
+
+ streichergebnisse)); ?>
+
+
+
+
+
+
+
+ 0) {
+ ?>
+
+
+
+
+ platz > 3)
+ break;
+ ?>
+
+
+ platz;
+ ?>
+
+
+
+ bild_ausblenden ? '' : $row->spieler_id, $row->geschlecht == 'M' ? 'm' : 'w', '#resize=75', 'border="1" style="text-align: left" hspace="8" vspace="2"')) != null)
+ echo $bild; ?>
+ aktueller_verein_id == null)
+ echo htmlentities_utf8($row->nachname . ", " . $row->vorname);
+ else {
+ ?>
+
+ vorname . " " . $row->nachname); ?>
+
+
+
+
+ spieler_id); ?>">punkte; ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
- streichergebnisse != 0) {
- ?>
-
-
-
- : streichergebnisse > 0 ? (100 - $rangliste->streichergebnisse . "% " . JText::_('COM_SPORTSMANAGER_POSSIBLE_PARTICIPATION')) : (($rangliste->streichergebnisse == -1 ? JText::_('COM_SPORTSMANAGER_BEST_RESULT') : ("maximal " . abs($rangliste->streichergebnisse) . " " . JText::_('COM_SPORTSMANAGER_BEST_RESULTS'))))); ?>
-
-
-
-
-
- 0) {
- ?>
-
+
+
+
+
+
+
bezeichnung . (empty($rangliste_punkte->platz) ? "" : (" " . $rangliste_punkte->platz . ". Platz")) . ": " . $rangliste_punkte->nachname . ", " . $rangliste_punkte->vorname . " - " . $rangliste_punkte->punkte . " Punkte"); ?>
+
+
+
+ streichergebnisse != 0) {
+ ?>
+
+
+
+ : streichergebnisse > 0 ? (100 - $rangliste->streichergebnisse . "% " . Text::_('COM_SPORTSMANAGER_POSSIBLE_PARTICIPATION')) : (($rangliste->streichergebnisse == -1 ? Text::_('COM_SPORTSMANAGER_BEST_RESULT') : ("maximal " . abs($rangliste->streichergebnisse) . " " . Text::_('COM_SPORTSMANAGER_BEST_RESULTS'))))); ?>
+
+
+
+
+
+
-
-
-
- 0) {
+ ?>
+
- $k = 0;
- foreach ($turnierdisziplinen as $platzierung) {
- ?>
-
- turnierbezeichnung != null ? htmlentities_utf8($platzierung->turnierbezeichnung) : ""; ?>
- turnierort != null ? htmlentities_utf8($platzierung->turnierort) : ""; ?>
- disziplin != null ? htmlentities_utf8($platzierung->disziplin) : ""; ?>
- beginn == null ? "" : htmlentities_utf8(FormatiertesDatum($platzierung->beginn, false)); ?>
- platz != null ? htmlentities_utf8($platzierung->platz) : ""; ?>
- teilnehmer != null ? htmlentities_utf8($platzierung->teilnehmer) : ""; ?>
- turnierdisziplin_id]) ? (" " . (empty($platzierung->punkte) ? "0" : $platzierung->punkte) . " ") : (empty($platzierung->punkte) ? "0" : $platzierung->punkte); ?>
-
-
-
-
-
-
+
+
+
+
+ $k = 0;
+ foreach ($turnierdisziplinen as $platzierung) {
+ ?>
+
+ turnierbezeichnung != null ? htmlentities_utf8($platzierung->turnierbezeichnung) : ""; ?>
+ turnierort != null ? htmlentities_utf8($platzierung->turnierort) : ""; ?>
+ disziplin != null ? htmlentities_utf8($platzierung->disziplin) : ""; ?>
+ beginn == null ? "" : htmlentities_utf8(FormatiertesDatum($platzierung->beginn, false)); ?>
+ platz != null ? htmlentities_utf8($platzierung->platz) : ""; ?>
+ teilnehmer != null ? htmlentities_utf8($platzierung->teilnehmer) : ""; ?>
+ turnierdisziplin_id]) ? (" " . (empty($platzierung->punkte) ? "0" : $platzierung->punkte) . " ") : (empty($platzierung->punkte) ? "0" : $platzierung->punkte); ?>
+
+
+
+
+
+
+
diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view.json.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view.json.php
index a8465dc..5d7f3ed 100644
--- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.json.php
+++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.json.php
@@ -1,204 +1,218 @@
teambild = teamImage($team->team_id, $team->verein_id);
- $teams[] = $team;
- }
- if ($veranstaltung == null) {
- return $teams;
- }
-
- return [
- 'veranstaltung' => $veranstaltung,
- 'teams' => $teams,
- ];
- }
-
- static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spieltage, $alleine_angezeigt, $praesentation) {
- foreach ($teams as $team) {
- $team->teambild = teamImage($team->team_id, $team->verein_id);
- }
-
- return [
- 'tabelle' => $teams,
- 'modus' => $modus,
- ];
- }
-
- static function tabelleEigeneAnzeigen($veranstaltung, $modus, $teams, $alleine_angezeigt, $praesentation) {
- foreach($teams as $team) {
- $team->teambild = teamImage($team->team_id, $team->verein_id);
+ static function mannschaften($veranstaltung, $rows): array
+ {
+ $teams = [];
+ foreach ($rows as $team) {
+ $team->teambild = teamImage($team->team_id, $team->verein_id);
+ $teams[] = $team;
}
- return [
- 'tabelle' => $teams,
+ if ($veranstaltung == null) {
+ return $teams;
+ }
+
+ return [
+ 'veranstaltung' => $veranstaltung,
+ 'teams' => $teams,
+ ];
+ }
+
+ static function tabelleAnzeigen($modus, $teams): array
+ {
+ foreach ($teams as $team) {
+ $team->teambild = teamImage($team->team_id, $team->verein_id);
+ }
+
+ return [
+ 'tabelle' => $teams,
'modus' => $modus,
];
}
- static function _getPlayerDetails($game, $home_player_map, $away_player_map) {
- // TODO dynamisch machen
- $game->heim_spieler_1_vorname = isset($home_player_map[$game->heim_spieler_1_id])
- ? $home_player_map[$game->heim_spieler_1_id]->vorname
- : NULL;
- $game->heim_spieler_1_nachname = isset($home_player_map[$game->heim_spieler_1_id])
- ? $home_player_map[$game->heim_spieler_1_id]->nachname
- : NULL;
- $game->heim_spieler_1_bild = isset($home_player_map[$game->heim_spieler_1_id])
- ? $home_player_map[$game->heim_spieler_1_id]->bild
- : NULL;
+ static function tabelleEigeneAnzeigen($modus, $teams): array
+ {
+ foreach ($teams as $team) {
+ $team->teambild = teamImage($team->team_id, $team->verein_id);
+ }
+ return [
+ 'tabelle' => $teams,
+ 'modus' => $modus,
+ ];
+ }
- $game->heim_spieler_2_vorname = isset($home_player_map[$game->heim_spieler_2_id])
- ? $home_player_map[$game->heim_spieler_2_id]->vorname
- : NULL;
- $game->heim_spieler_2_nachname = isset($home_player_map[$game->heim_spieler_2_id])
- ? $home_player_map[$game->heim_spieler_2_id]->nachname
- : NULL;
- $game->heim_spieler_2_bild = isset($home_player_map[$game->heim_spieler_2_id])
- ? $home_player_map[$game->heim_spieler_2_id]->bild
- : NULL;
+ static function _getPlayerDetails($game, $home_player_map, $away_player_map): void
+ {
+ // TODO dynamisch machen
+ $game->heim_spieler_1_vorname = isset($home_player_map[$game->heim_spieler_1_id])
+ ? $home_player_map[$game->heim_spieler_1_id]->vorname
+ : NULL;
+ $game->heim_spieler_1_nachname = isset($home_player_map[$game->heim_spieler_1_id])
+ ? $home_player_map[$game->heim_spieler_1_id]->nachname
+ : NULL;
+ $game->heim_spieler_1_bild = isset($home_player_map[$game->heim_spieler_1_id])
+ ? $home_player_map[$game->heim_spieler_1_id]->bild
+ : NULL;
- $game->gast_spieler_1_vorname = isset($away_player_map[$game->gast_spieler_1_id])
- ? $away_player_map[$game->gast_spieler_1_id]->vorname
- : NULL;
- $game->gast_spieler_1_nachname = isset($away_player_map[$game->gast_spieler_1_id])
- ? $away_player_map[$game->gast_spieler_1_id]->nachname
- : NULL;
- $game->gast_spieler_1_bild = isset($away_player_map[$game->gast_spieler_1_id])
- ? $away_player_map[$game->gast_spieler_1_id]->bild
- : NULL;
+ $game->heim_spieler_2_vorname = isset($home_player_map[$game->heim_spieler_2_id])
+ ? $home_player_map[$game->heim_spieler_2_id]->vorname
+ : NULL;
+ $game->heim_spieler_2_nachname = isset($home_player_map[$game->heim_spieler_2_id])
+ ? $home_player_map[$game->heim_spieler_2_id]->nachname
+ : NULL;
+ $game->heim_spieler_2_bild = isset($home_player_map[$game->heim_spieler_2_id])
+ ? $home_player_map[$game->heim_spieler_2_id]->bild
+ : NULL;
- $game->gast_spieler_2_vorname = isset($away_player_map[$game->gast_spieler_2_id])
- ? $away_player_map[$game->gast_spieler_2_id]->vorname
- : NULL;
- $game->gast_spieler_2_nachname = isset($away_player_map[$game->gast_spieler_2_id])
- ? $away_player_map[$game->gast_spieler_2_id]->nachname
- : NULL;
- $game->gast_spieler_2_bild = isset($away_player_map[$game->gast_spieler_2_id])
- ? $away_player_map[$game->gast_spieler_2_id]->bild
- : NULL;
+ $game->gast_spieler_1_vorname = isset($away_player_map[$game->gast_spieler_1_id])
+ ? $away_player_map[$game->gast_spieler_1_id]->vorname
+ : NULL;
+ $game->gast_spieler_1_nachname = isset($away_player_map[$game->gast_spieler_1_id])
+ ? $away_player_map[$game->gast_spieler_1_id]->nachname
+ : NULL;
+ $game->gast_spieler_1_bild = isset($away_player_map[$game->gast_spieler_1_id])
+ ? $away_player_map[$game->gast_spieler_1_id]->bild
+ : NULL;
- }
+ $game->gast_spieler_2_vorname = isset($away_player_map[$game->gast_spieler_2_id])
+ ? $away_player_map[$game->gast_spieler_2_id]->vorname
+ : NULL;
+ $game->gast_spieler_2_nachname = isset($away_player_map[$game->gast_spieler_2_id])
+ ? $away_player_map[$game->gast_spieler_2_id]->nachname
+ : NULL;
+ $game->gast_spieler_2_bild = isset($away_player_map[$game->gast_spieler_2_id])
+ ? $away_player_map[$game->gast_spieler_2_id]->bild
+ : NULL;
- static function adminEditBegegnungSpielplan($bestaetigen, $veranstaltung, $begegnung, $heim_team, $gast_team, $spiele, $heim_spieler, $gast_spieler, $teamspiel_modus, $encrypted_pin, $count_verlegen_aktionen, $erneut_oeffnen, $aus_uebersicht) {
- $heim_team->teambild = teamImage($heim_team->team_id, $heim_team->verein_id);
- $gast_team->teambild = teamImage($gast_team->team_id, $gast_team->verein_id);
- $heim_spieler_map = [];
- $gast_spieler_map = [];
- foreach ($heim_spieler as $player) {
- $player->bild = playerImage($player->spieler_id, $player->geschlecht);
- $heim_spieler_map[$player->spieler_id] = $player;
- }
- foreach ($gast_spieler as $player) {
- $player->bild = playerImage($player->spieler_id, $player->geschlecht);
- $gast_spieler_map[$player->spieler_id] = $player;
- }
- $begegnung->bezeichnung = $veranstaltung->bezeichnung;
- $begegnung->veranstaltung_id = $veranstaltung->veranstaltung_id;
- foreach ($spiele as $game) {
- self::_getPlayerDetails($game, $heim_spieler_map, $gast_spieler_map);
- }
+ }
+
+ static function adminEditBegegnungSpielplan($bestaetigen, $veranstaltung, $begegnung, $heim_team, $gast_team, $spiele, $heim_spieler, $gast_spieler, $teamspiel_modus): array
+ {
+ $heim_team->teambild = teamImage($heim_team->team_id, $heim_team->verein_id);
+ $gast_team->teambild = teamImage($gast_team->team_id, $gast_team->verein_id);
+ $heim_spieler_map = [];
+ $gast_spieler_map = [];
+ foreach ($heim_spieler as $player) {
+ $player->bild = playerImage($player->spieler_id, $player->geschlecht);
+ $heim_spieler_map[$player->spieler_id] = $player;
+ }
+ foreach ($gast_spieler as $player) {
+ $player->bild = playerImage($player->spieler_id, $player->geschlecht);
+ $gast_spieler_map[$player->spieler_id] = $player;
+ }
+ $begegnung->bezeichnung = $veranstaltung->bezeichnung;
+ $begegnung->veranstaltung_id = $veranstaltung->veranstaltung_id;
+ foreach ($spiele as $game) {
+ self::_getPlayerDetails($game, $heim_spieler_map, $gast_spieler_map);
+ }
$begegnung->spieltag = Rundenbezeichnung($begegnung->spieltag, $veranstaltung->unterteilung == 0);
- return [
- 'bestaetigen' => $bestaetigen,
- 'veranstaltung' => $veranstaltung,
- 'begegnung' => $begegnung,
- 'heim_team' => $heim_team,
- 'gast_team' => $gast_team,
- 'spiele' => $spiele,
- 'heim_spieler' => $heim_spieler,
- 'gast_spieler' => $gast_spieler,
- 'modus' => $teamspiel_modus,
- ];
- }
+ return [
+ 'bestaetigen' => $bestaetigen,
+ 'veranstaltung' => $veranstaltung,
+ 'begegnung' => $begegnung,
+ 'heim_team' => $heim_team,
+ 'gast_team' => $gast_team,
+ 'spiele' => $spiele,
+ 'heim_spieler' => $heim_spieler,
+ 'gast_spieler' => $gast_spieler,
+ 'modus' => $teamspiel_modus,
+ ];
+ }
- static function mannschaftDetails($veranstaltung, $team, $mitglieder, $mailverteiler, $mitglieder_statistiken, $teamansprechpartner, $begegnungen, $vorheriges_team_id, $naechstes_team_id, $team_moderator, $details_anzeigen, $ansprechpartner_anzeigen, $weitere_veranstaltungen, $veranstaltungsbezeichnungen, $spielberechtigungen, $ansicht_vereinigt, $ist_vergangen) {
- global $sportsmanager_joomla_path;
- global $sportsmanager_joomla_url;
-
- $team->teambild = teamImage($team->team_id, $team->verein_id);
- $team->color = getColorOfImage(str_replace($sportsmanager_joomla_url, $sportsmanager_joomla_path . '/', $team->teambild));
- foreach ($mitglieder as $m) {
- $m->bild = playerImage($m->spieler_id, $m->geschlecht);
- }
- foreach ($begegnungen as $begegnung) {
- $begegnung->heim_name = $begegnung->auswaerts == '1' ? $begegnung->gegner : $team->teamname;
+ static function mannschaftDetails($veranstaltung, $team, $mitglieder, $teamansprechpartner, $begegnungen, $ansprechpartner_anzeigen, $veranstaltungsbezeichnungen): array
+ {
+ global $sportsmanager_joomla_path;
+ global $sportsmanager_joomla_url;
+
+ $team->teambild = teamImage($team->team_id, $team->verein_id);
+ $team->color = getColorOfImage(str_replace($sportsmanager_joomla_url, $sportsmanager_joomla_path . '/', $team->teambild));
+ foreach ($mitglieder as $m) {
+ $m->bild = playerImage($m->spieler_id, $m->geschlecht);
+ }
+ foreach ($begegnungen as $begegnung) {
+ $begegnung->heim_name = $begegnung->auswaerts == '1' ? $begegnung->gegner : $team->teamname;
$begegnung->heim_teamgruppe = $begegnung->auswaerts == '1' ? $begegnung->gegner_teamgruppe_id : $team->teamgruppe_id;
- $begegnung->gast_name = $begegnung->auswaerts == '1' ? $team->teamname : $begegnung->gegner;
+ $begegnung->gast_name = $begegnung->auswaerts == '1' ? $team->teamname : $begegnung->gegner;
$begegnung->gast_teamgruppe = $begegnung->auswaerts == '1' ? $team->teamgruppe_id : $begegnung->gegner_teamgruppe_id;
- $begegnung->spielort_name = $begegnung->heimspielort_name;
- $begegnung->heim_bild = $begegnung->auswaerts == '1' ? teamImage($begegnung->gegner_id, $begegnung->gegner_verein_id) : teamImage($team->team_id, $team->verein_id);
- $begegnung->gast_bild = $begegnung->auswaerts == '1' ? teamImage($team->team_id, $team->verein_id) : teamImage($begegnung->gegner_id, $begegnung->gegner_verein_id);
- $begegnung->bezeichnung = $veranstaltungsbezeichnungen[$begegnung->veranstaltung_id];
+ $begegnung->spielort_name = $begegnung->heimspielort_name;
+ $begegnung->heim_bild = $begegnung->auswaerts == '1' ? teamImage($begegnung->gegner_id, $begegnung->gegner_verein_id) : teamImage($team->team_id, $team->verein_id);
+ $begegnung->gast_bild = $begegnung->auswaerts == '1' ? teamImage($team->team_id, $team->verein_id) : teamImage($begegnung->gegner_id, $begegnung->gegner_verein_id);
+ $begegnung->bezeichnung = $veranstaltungsbezeichnungen[$begegnung->veranstaltung_id];
$begegnung->spieltag = Rundenbezeichnung($begegnung->spieltag, $veranstaltung->unterteilung == 0);
}
if (getUserID() == 0 && $ansprechpartner_anzeigen) {
- foreach ($teamansprechpartner as $ansprechpartner) {
- unset($ansprechpartner->mobil);
- unset($ansprechpartner->telefon);
+ foreach ($teamansprechpartner as $ansprechpartner) {
+ unset($ansprechpartner->mobil);
+ unset($ansprechpartner->telefon);
}
}
$team->veranstaltung_name = $veranstaltungsbezeichnungen[$team->veranstaltung_id];
- return [
- 'team' => $team,
- 'mitglieder' => $mitglieder,
- 'kontakt' => $ansprechpartner_anzeigen ? $teamansprechpartner : NULL,
- 'begegnungen' => $begegnungen
- ];
- }
+ return [
+ 'team' => $team,
+ 'mitglieder' => $mitglieder,
+ 'kontakt' => $ansprechpartner_anzeigen ? $teamansprechpartner : NULL,
+ 'begegnungen' => $begegnungen
+ ];
+ }
- static function JSON($data, $meta = NULL) {
- $response = [
- 'data' => $data
- ];
- if ($meta != NULL) {
- $response['meta'] = $meta;
- }
- header('Content-Type: application/json; charset=utf-8', true);
- echo json_encode($response);
- jexit();
- }
+ #[NoReturn] static function JSON($data, $meta = NULL): void
+ {
+ $response = [
+ 'data' => $data
+ ];
+ if ($meta != NULL) {
+ $response['meta'] = $meta;
+ }
+ header('Content-Type: application/json; charset=utf-8');
+ echo json_encode($response);
+ jexit();
+ }
- static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $allein_angezeigt, $filter_saison_id, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen) {
- $rank = 1;
- foreach ($spielerstatistik_punkte as $s) {
- $s->spieler_bild = playerImage($s->spieler_id, $s->geschlecht);
- $s->spieler_2_bild= playerImage($s->spieler_2_id, $s->geschlecht_2);
- $s->quote = ($s->spielpunkte_gewonnen > 0 || $s->spielpunkte_verloren > 0)
- ? round($s->spielpunkte_gewonnen * 100 / ($s->spielpunkte_gewonnen + $s->spielpunkte_verloren), 0) . '%'
- : '-';
- $s->rank = '' . $rank;
- $rank++;
- }
- self::JSON($spielerstatistik_punkte);
- }
+ #[NoReturn] static function spielerstatistik($spielerstatistik_punkte): void
+ {
+ $rank = 1;
+ foreach ($spielerstatistik_punkte as $s) {
+ $s->spieler_bild = playerImage($s->spieler_id, $s->geschlecht);
+ $s->spieler_2_bild = playerImage($s->spieler_2_id, $s->geschlecht_2);
+ $s->quote = ($s->spielpunkte_gewonnen > 0 || $s->spielpunkte_verloren > 0)
+ ? round($s->spielpunkte_gewonnen * 100 / ($s->spielpunkte_gewonnen + $s->spielpunkte_verloren)) . '%'
+ : '-';
+ $s->rank = '' . $rank;
+ $rank++;
+ }
+ self::JSON($spielerstatistik_punkte);
+ }
- static function spielerDetails($spieler, $vereine, $veranstalter, $spieler_elo_verlauf_einzel, $spieler_elo_verlauf_doppel, $spielerNamen, $teamNamen, $veranstaltungBezeichnungen, $turnierdisziplinBezeichnungen, $individualwettbewerbBezeichnungen, $ranglistenplatzierungen, $turnierplatzierungen, $teams, $sortierung, $vorheriger_spieler_id, $naechster_spieler_id, $elo_detailliert, $statistik, $beginn, $kategorie, $einstufungen, $filter, $veranstaltungid, $veranstalterid, $einstufungid, $unabhaengige_ansicht, $details_anzeigen) {
- $letzte_einzel = [];
- $spieler->bild = playerImage($spieler->spieler_id, $spieler->geschlecht);
- for ($i = sizeof($spieler_elo_verlauf_einzel) - 1; $i >= max(sizeof($spieler_elo_verlauf_einzel)-10, 0); $i--) {
- $e = $spieler_elo_verlauf_einzel[$i];
- $letzte_einzel[] = [
- 'datum' => $e['z'],
+ #[NoReturn] static function spielerDetails($spieler, $vereine, $veranstalter, $spieler_elo_verlauf_einzel, $spieler_elo_verlauf_doppel, $spielerNamen, $teamNamen, $veranstaltungBezeichnungen, $turnierdisziplinBezeichnungen, $individualwettbewerbBezeichnungen, $ranglistenplatzierungen, $turnierplatzierungen, $teams, $elo_detailliert, $statistik, $einstufungen): void
+ {
+ $letzte_einzel = [];
+ $spieler->bild = playerImage($spieler->spieler_id, $spieler->geschlecht);
+ for ($i = sizeof($spieler_elo_verlauf_einzel) - 1; $i >= max(sizeof($spieler_elo_verlauf_einzel) - 10, 0); $i--) {
+ $e = $spieler_elo_verlauf_einzel[$i];
+ $letzte_einzel[] = [
+ 'datum' => $e['z'],
'spieler_1' => isset($spielerNamen[$e['h1']]) ? [
'spieler_id' => $e['h1'],
'bild' => playerImage($e['h1'], 'M'),
- 'vorname' => explode(', ',$spielerNamen[$e['h1']])[1],
- 'nachname' => explode(', ',$spielerNamen[$e['h1']])[0],
+ 'vorname' => explode(', ', $spielerNamen[$e['h1']])[1],
+ 'nachname' => explode(', ', $spielerNamen[$e['h1']])[0],
] : NULL,
'spieler_team' => isset($e['th']) ? [
'id' => $e['th'],
'name' => $teamNamen[$e['th']],
- ]: NULL,
+ ] : NULL,
'gegner_1' => isset($spielerNamen[$e['g1']]) ? [
'spieler_id' => $e['g1'],
'bild' => playerImage($e['g1'], 'M'),
@@ -221,10 +235,10 @@ class JSON_sportsmanager {
];
}
$letzte_doppel = [];
- for ($i = sizeof($spieler_elo_verlauf_doppel) - 1; $i >= max(sizeof($spieler_elo_verlauf_doppel) - 10, 0); $i--) {
- $d = $spieler_elo_verlauf_doppel[$i];
- $letzte_doppel[] = [
- 'datum' => $d['z'],
+ for ($i = sizeof($spieler_elo_verlauf_doppel) - 1; $i >= max(sizeof($spieler_elo_verlauf_doppel) - 10, 0); $i--) {
+ $d = $spieler_elo_verlauf_doppel[$i];
+ $letzte_doppel[] = [
+ 'datum' => $d['z'],
'spieler_1' => isset($spielerNamen[$d['h1']]) ? [
'spieler_id' => $d['h1'],
'bild' => playerImage($d['h1'], 'M'),
@@ -252,7 +266,7 @@ class JSON_sportsmanager {
'bild' => playerImage($d['g2'], 'M'),
'vorname' => explode(', ', $spielerNamen[$d['g2']])[1],
'nachname' => explode(', ', $spielerNamen[$d['g2']])[0],
- ]: NULL,
+ ] : NULL,
'gegner_team' => isset($d['th']) && isset($d['tg']) ?
[
'id' => $d['tg'],
@@ -268,11 +282,11 @@ class JSON_sportsmanager {
'ergebnis' => $d['s'],
];
}
- self::JSON([
- 'spieler' => $spieler,
+ self::JSON([
+ 'spieler' => $spieler,
'vereine' => $vereine,
'teams' => $teams,
- 'veranstalter'=> $veranstalter,
+ 'veranstalter' => $veranstalter,
'ranglisten_platzierungen' => $ranglistenplatzierungen,
'turnier_platzierungen' => $turnierplatzierungen,
'statistik' => $statistik,
@@ -285,53 +299,54 @@ class JSON_sportsmanager {
]);
}
- static function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $verlegen_aktionen, $berechtigt_fuer_akzeptieren, $aus_uebersicht, $vorschlagendes_team_id) {
- $letzte_aktionen = array();
- foreach ($verlegen_aktionen as $aktion) {
- if ($aktion->aktion == 1 || $aktion->aktion == 5 || $aktion == 10) {
- break;
- }
- array_push($letzte_aktionen, $aktion);
- }
- $termine = array();
- if (count($letzte_aktionen) > 0) {
- $eingetragen = $letzte_aktionen[0]->eingetragen;
- foreach ($letzte_aktionen as $aktion) {
- if ($aktion->eingetragen != $eingetragen || $aktion->aktion != 0 || $aktion->zeitpunkt == NULL) {
- break;
- }
- array_push($termine, $aktion);
- }
- }
+ #[NoReturn] static function begegnungVerlegen($veranstaltung, $verlegen_aktionen, $berechtigt_fuer_akzeptieren, $vorschlagendes_team_id): void
+ {
+ $letzte_aktionen = array();
+ foreach ($verlegen_aktionen as $aktion) {
+ if ($aktion->aktion == 1 || $aktion->aktion == 5 || $aktion == 10) {
+ break;
+ }
+ $letzte_aktionen[] = $aktion;
+ }
+ $termine = array();
+ if (count($letzte_aktionen) > 0) {
+ $eingetragen = $letzte_aktionen[0]->eingetragen;
+ foreach ($letzte_aktionen as $aktion) {
+ if ($aktion->eingetragen != $eingetragen || $aktion->aktion != 0 || $aktion->zeitpunkt == NULL) {
+ break;
+ }
+ $termine[] = $aktion;
+ }
+ }
- $berechtigt_anfordern = $veranstaltung->initial_ohne_termin != 1 && (count($letzte_aktionen) == 0 || $letzte_aktionen[0]->aktion == 1);
- $berechtigt_vorschlagen = ($veranstaltung->initial_ohne_termin != 2 || (count($letzte_aktionen) != 0 && $letzte_aktionen[0]->aktion != 1))
- && (!$veranstaltung->keine_gegenvorschlaege || count($letzte_aktionen) == 0 || $letzte_aktionen[0]->aktion != 3 || $letzte_aktionen[0]->team_id != $vorschlagendes_team_id)
- && (count($termine) == 0 || !$veranstaltung->keine_gegenvorschlaege || $letzte_aktionen[0]->team_id == $vorschlagendes_team_id);
- $berechtigt_ablehnen = count($letzte_aktionen) != 0 && ($letzte_aktionen[0]->aktion == 0 || $letzte_aktionen[0]->aktion == 3 || $letzte_aktionen[0]->aktion == 4)
- && ((($veranstaltung->ablehnen == 1 || $veranstaltung->ablehnen == 3) && $berechtigt_fuer_akzeptieren) || (($veranstaltung->ablehnen == 1 || $veranstaltung->ablehnen == 2)
- && $berechtigt_vorschlagen));
+ $berechtigt_anfordern = $veranstaltung->initial_ohne_termin != 1 && (count($letzte_aktionen) == 0 || $letzte_aktionen[0]->aktion == 1);
+ $berechtigt_vorschlagen = ($veranstaltung->initial_ohne_termin != 2 || (count($letzte_aktionen) != 0 && $letzte_aktionen[0]->aktion != 1))
+ && (!$veranstaltung->keine_gegenvorschlaege || count($letzte_aktionen) == 0 || $letzte_aktionen[0]->aktion != 3 || $letzte_aktionen[0]->team_id != $vorschlagendes_team_id)
+ && (count($termine) == 0 || !$veranstaltung->keine_gegenvorschlaege || $letzte_aktionen[0]->team_id == $vorschlagendes_team_id);
+ $berechtigt_ablehnen = count($letzte_aktionen) != 0 && ($letzte_aktionen[0]->aktion == 0 || $letzte_aktionen[0]->aktion == 3 || $letzte_aktionen[0]->aktion == 4)
+ && ((($veranstaltung->ablehnen == 1 || $veranstaltung->ablehnen == 3) && $berechtigt_fuer_akzeptieren) || (($veranstaltung->ablehnen == 1 || $veranstaltung->ablehnen == 2)
+ && $berechtigt_vorschlagen));
- $response = [];
- $anzahl_termine = $veranstaltung->termine_maximal == 0 ? 3 : $veranstaltung->termine_maximal;
+ $response = [];
+ $anzahl_termine = $veranstaltung->termine_maximal == 0 ? 3 : $veranstaltung->termine_maximal;
- for ($termin = 1; $termin <= $anzahl_termine; $termin++) {
- if (isset($termine[$termin-1])) {
- $response[] = [
- 'begegnung_historie_id' => $termine[$termin-1]->begegnung_historie_id,
- 'zeitpunkt' => $termine[$termin-1]->zeitpunkt
- ];
- }
- }
+ for ($termin = 1; $termin <= $anzahl_termine; $termin++) {
+ if (isset($termine[$termin - 1])) {
+ $response[] = [
+ 'begegnung_historie_id' => $termine[$termin - 1]->begegnung_historie_id,
+ 'zeitpunkt' => $termine[$termin - 1]->zeitpunkt
+ ];
+ }
+ }
- self::JSON([
- 'termine' => $response,
- 'berechtigt_anfordern' => $berechtigt_anfordern,
- 'berechtigt_ablehnen' => $berechtigt_ablehnen,
- 'berechtigt_akzeptieren' => $berechtigt_fuer_akzeptieren ? TRUE : FALSE,
- 'termine_minimal' => $veranstaltung->termine_minimal,
- 'termine_maximal' => $veranstaltung->termine_maximal,
- ]);
+ self::JSON([
+ 'termine' => $response,
+ 'berechtigt_anfordern' => $berechtigt_anfordern,
+ 'berechtigt_ablehnen' => $berechtigt_ablehnen,
+ 'berechtigt_akzeptieren' => (bool)$berechtigt_fuer_akzeptieren,
+ 'termine_minimal' => $veranstaltung->termine_minimal,
+ 'termine_maximal' => $veranstaltung->termine_maximal,
+ ]);
- }
+ }
}
diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php
index 134719a..945c845 100644
--- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php
+++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php
@@ -4,2394 +4,2468 @@
*/
// kein direkter Zugriff
+use Joomla\CMS\HTML\HTMLHelper;
+use Joomla\CMS\Language\Text;
+
defined('_JEXEC') or die('Restricted access');
-require_once(JPATH_COMPONENT . DIRECTORY_SEPARATOR . 'views/sportsmanager/view_tools.php');
+require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_tools.php';
+require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
class HTML_sportsmanager_admin
{
- static function adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, $unabhaengige_ansicht, $externe_datenbank)
- {
- global $params;
+ static function adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, $externe_datenbank): void
+ {
+ global $params;
- $filter_saison = null;
- foreach ($saisons as $saison)
- {
- if ($filter_saison_id == $saison->saison_id)
- {
- $filter_saison = $saison->saisonbezeichnung;
- break;
- }
- }
-
- ?>
- Sports
- Manager
+ ?>
+
-
-
+
+
-
+
+ href="">
-
+
+ href="">
-
+
+ href="">
-
+
+ href="">
-
+
+ href="">
-
+
+ href="">
-
+
+ href="">
+ href="">
-
+
-
+
-
+
+ href="">
-
+
+ href="">
- 0)
- {
- ?>
+ 0) {
+ ?>
+ href="">
-
+
+ href="">
-
+
+ href="">
-
+
+ href="">
-
+
+ href="">
-
+
+ href="">
-
+
- 0)
- {
- ?>
+ 0) {
+ ?>
- 0 && $statistik["teamspielmodi"] > 0 && $statistik["saisons"] > 0)
- {
- ?>
+ 0 && $statistik["teamspielmodi"] > 0 && $statistik["saisons"] > 0) {
+ ?>
- 0)
- {
- ?>
+ 0) {
+ ?>
-
+ $k = 0;
+ foreach ($veranstaltungen as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
- bezeichnung);
- } else
- {
- ?>
+ bezeichnung);
+ } else
+ {
+ ?>
bezeichnung)); ?>
-
+
kategorie); ?>
reihenfolge); ?>
veranstalterkuerzel) ? $row->veranstalterbezeichnung : $row->veranstalterkuerzel); ?>
- teams; ?>
+ teams; ?>
- teams > 1) { ?>
- begegnungen; ?>
+ teams > 1) { ?>
+ begegnungen; ?>
-
- begegnungen; ?>
-
+
+ begegnungen; ?>
+
erster_tag, $row->letzter_tag, true))); ?>
- teams > 1) { ?>
- Mannschaftswechsel
-
status == 0 ? JText::_('COM_SPORTSMANAGER_NO') : JText::_('COM_SPORTSMANAGER_YES')); ?>
-
+ style="text-align: center">status == 0 ? Text::_('COM_SPORTSMANAGER_NO') : Text::_('COM_SPORTSMANAGER_YES')); ?>
+
+ href="veranstaltung_id . '&vorlage=1'); ?>">
-
- teams == 0 && !$beschraenkter_zugriff_veranstaltungen) { ?>
+
+ teams == 0 && !$beschraenkter_zugriff_veranstaltungen) { ?>
+ href="veranstaltung_id); ?>"
+ onclick="return confirm('');"
+ title="">
-
+
-
+
-
+
- 0 && $statistik["saisons"] > 0)
- {
- ?>
+ 0 && $statistik["saisons"] > 0) {
+ ?>
- 0)
- {
- ?>
+ 0) {
+ ?>
-
+ $k = 0;
+ foreach ($turniere as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
- erster_tag, $row->letzter_tag, true)));
- }
- else
- {
- ?>
+ erster_tag, $row->letzter_tag, true)));
+ } else {
+ ?>
erster_tag, $row->letzter_tag, true))); ?>
-
+
- turnierbezeichnung);
- if (!empty($row->disziplinen))
- {
- ?>
+ turnierbezeichnung);
+ if (!empty($row->disziplinen)) {
+ ?>
disziplinen; ?>
-
+
kategorie); ?>
turnierort); ?>
veranstalterkuerzel) ? $row->veranstalterbezeichnung : $row->veranstalterkuerzel); ?>
- disziplinen_anzahl . " / " . $row->disziplinen_mit_meldung_anzahl; ?>
+ disziplinen_anzahl . " / " . $row->disziplinen_mit_meldung_anzahl; ?>
-
+
+ href="turnier_id . '&vorlage=1'); ?>">
+ href="turnier_id); ?>"
+ onclick="return confirm('');"
+ title="">
-
+
-
+
-
+
- 0)
- {
- ?>
+ 0) {
+ ?>
- 0)
- {
- ?>
+ 0) {
+ ?>
-
+ $k = 0;
+ foreach ($ranglisten as $rangliste) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
bezeichnung)); ?>
+ href="rangliste_id); ?>">bezeichnung)); ?>
kategorie); ?>
reihenfolge); ?>
- turnierdisziplinen; ?>
+ turnierdisziplinen; ?>
erster_tag, $rangliste->letzter_tag, true))); ?>
status == 0 ? JText::_('COM_SPORTSMANAGER_NO') : JText::_('COM_SPORTSMANAGER_YES')); ?>
+ style="text-align: center">status == 0 ? Text::_('COM_SPORTSMANAGER_NO') : Text::_('COM_SPORTSMANAGER_YES')); ?>
+ href="rangliste_id); ?>">
+ href="rangliste_id); ?>"
+ onclick="return confirm('');"
+ title="">
-
+
-
+
- 0 && $statistik["saisons"] > 0)
- {
- ?>
+ 0 && $statistik["saisons"] > 0) {
+ ?>
- 0)
- {
- ?>
+ 0) {
+ ?>
-
+ $k = 0;
+ foreach ($individualwettbewerbe as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
- bezeichnung);
- } else
- {
- ?>
+ bezeichnung);
+ } else
+ {
+ ?>
bezeichnung)); ?>
-
+
kategorie); ?>
reihenfolge); ?>
veranstalterkuerzel) ? $row->veranstalterbezeichnung : $row->veranstalterkuerzel); ?>
- spiele; ?>
+ spiele; ?>
- status == 0 ? JText::_('COM_SPORTSMANAGER_NO') : JText::_('COM_SPORTSMANAGER_YES')); ?>
-
+ status == 0 ? Text::_('COM_SPORTSMANAGER_NO') : Text::_('COM_SPORTSMANAGER_YES')); ?>
+
+ href="individualwettbewerb_id . '&vorlage=1'); ?>">
+ href="individualwettbewerb_id); ?>"
+ onclick="return confirm('');"
+ title="">
-
+
-
+
-
+
- 0)
- {
- ?>
+ 0) {
+ ?>
- 0)
- {
- ?>
+ 0) {
+ ?>
-
+ $k = 0;
+ foreach ($spielerstatistiken as $spielerstatistik) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
bezeichnung)); ?>
+ href="bestenliste_id); ?>">bezeichnung)); ?>
kategorie); ?>
reihenfolge); ?>
- veranstaltungen; ?>
+ veranstaltungen; ?>
erster_tag, $spielerstatistik->letzter_tag, true))); ?>
status == 0 ? JText::_('COM_SPORTSMANAGER_NO') : JText::_('COM_SPORTSMANAGER_YES')); ?>
+ style="text-align: center">status == 0 ? Text::_('COM_SPORTSMANAGER_NO') : Text::_('COM_SPORTSMANAGER_YES')); ?>
+ href="bestenliste_id); ?>">
+ href="bestenliste_id); ?>"
+ onclick="return confirm('');"
+ title="">
-
+
-
+
-
-
- :
+ static function adminEinstellungen($einstellungen): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
+ static function adminDatenbank($einstellungen): void
+ {
+ global $params;
+ ?>
+
-
-
- :
-
-
+ ?>
+
+ :
+
+
+ href="">
-
+
+ href="">
-
+
-
+
+ href="">
+ href="">
-
+
+ href="">
+ href="">
-
+
-
+
+ href="">
+ href="">
+ href="">
+ href="">
-
+
+ href="">
-
+
+ href="">
+ href="">
-
+
-
+
+ href="">
-
+
- :
+
+ :
-
-
+
+
+
:
-
- :
+
+
+ :
-
+
- :
-
- :
-
- :
+
+ :
+
+
+ :
+
+
+ :
-
- :
+
+
+ :
-
+
-
+
- 0) {
- $bilder_anzeigen = false;
- foreach ($rows as $spieler)
- {
- if (bildHTML("spieler", $spieler->spieler_id, 30, 40, 0, 0) != null)
- {
- $bilder_anzeigen = true;
- break;
- }
- }
- ?>
+ if (!is_null($rows) && count($rows) > 0) {
+ $bilder_anzeigen = false;
+ foreach ($rows as $spieler) {
+ if (bildHTML("spieler", $spieler->spieler_id, 30, 40) != null) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ }
+ ?>
-
+ $k = 0;
+ foreach ($rows as $row) {
+ ?>
-
-
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
+
+
nachname . ", " . $row->vorname)); ?>
-
-
- spieler_id, 30, 40, 0, 0, 'border="1"');
- if ($bild != null)
- echo $bild;
- ?>
+
+
+ spieler_id, 30, 40, 0, 0, 'border="1"');
+ if ($bild != null)
+ echo $bild;
+ ?>
-
+
geschlecht); ?>
geburtsjahr != null) echo $row->geburtsjahr; ?>
kategorie); ?>
- vereinsname != null ? htmlentities_utf8($row->vereinsname) : JText::_('COM_SPORTSMANAGER_NONE'); ?>
+ vereinsname != null ? htmlentities_utf8($row->vereinsname) : Text::_('COM_SPORTSMANAGER_NONE'); ?>
spielernr != null ? htmlentities_utf8($row->spielernr) : ""; ?>
lizenznr != null ? htmlentities_utf8($row->lizenznr) : ""; ?>
- aktueller_verein_id) || (!$beschraenkter_zugriff && $row->teamspiele == 0 && $row->turniermeldungen == 0 && $row->individualwettbewerbspiele == 0 && $row->individualwettbewerbausgangsplatzierungen == 0 && $row->teammitgliedschaften == 0))
- {
- ?>
+ aktueller_verein_id)) {
+ ?>
- aktueller_verein_id)) { ?>
-
-
- teamspiele == 0 && $row->turniermeldungen == 0 && $row->individualwettbewerbspiele == 0 && $row->individualwettbewerbausgangsplatzierungen == 0 && $row->teammitgliedschaften == 0) { ?>
-
-
+ aktueller_verein_id)) { ?>
+
+
+ teamspiele == 0 && $row->turniermeldungen == 0 && $row->individualwettbewerbspiele == 0 && $row->individualwettbewerbausgangsplatzierungen == 0 && $row->teammitgliedschaften == 0) { ?>
+
+
-
+
-
+
-
-
- :
+ static function adminEditSpieler($row, $naechste_spielernr, $filter, $vereine, $vereinsmitgliedschaften, $beschraenkter_zugriff, $ansprechpartner_spielerdaten): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
+ static function adminRemoveInaktiveSpieler($spieler, $filter): void
+ {
+ global $params;
+ ?>
+
-
-
+ static function adminSpielerZusammenlegen($spieler, $filter): void
+ {
+ global $params;
+ ?>
+
-
-
+ static function adminExportSpieler($beschraenkter_zugriff, $ansprechpartner_exportieren, $veranstalter, $vereine): void
+ {
+ global $params;
+ ?>
+
-
-
- :
+ static function adminExportSpielerInternational(): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
+ static function adminImportSpieler(): void
+ {
+ global $params;
+ ?>
+
- vereinsname)
- {
- $verein_import_id = $verein->verein_id;
- break;
- }
- }
- }
+ $verein_import_id = 0;
+ if (!empty($verein_import) && !empty($vereine)) {
+ foreach ($vereine as $verein) {
+ if ($verein_import == $verein->vereinsname) {
+ $verein_import_id = $verein->verein_id;
+ break;
+ }
+ }
+ }
- ?>
-
+ ?>
+
-
-
+ ?>
+
- 0)
- {
- ?>
-
-
+ 0) {
+ ?>
+
+
- 0)
- {
- ?>
+ 0) {
+ ?>
-
+ $k = 0;
+ foreach ($spieler as $s) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
nachname . ", " . $s->vorname); ?>
-
+
-
+ ?>
-
-
+ ?>
+
: Importinhalt prüfen
-
-
-
-
- namensgleich > 0)
- {
- ?>
-
-
+
+
+
+
+ namensgleich > 0) {
+ ?>
+
+
- 0 && $spieler[0]->namensgleich > 0)
- {
- ?>
+ 0 && $spieler[0]->namensgleich > 0) {
+ ?>
- namensgleich == 0)
- break;
- ?>
+ $k = 0;
+ foreach ($spieler as $s) {
+ if ($s->namensgleich == 0)
+ break;
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
nachname . ", " . $s->vorname); ?>
-
+
- 0 && $spieler[$spieler_anzahl - 1]->namensgleich == 0)
- {
- ?>
+ if ($spieler_anzahl > 0 && $spieler[$spieler_anzahl - 1]->namensgleich == 0) {
+ ?>
- namensgleich > 0)
- continue;
- ?>
+ $k = 0;
+ foreach ($spieler as $s) {
+ if ($s->namensgleich > 0)
+ continue;
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
nachname . ", " . $s->vorname); ?>
nachname_alt != null ? $s->nachname_alt : $s->nachname) . ", " . ($s->vorname_alt != null ? $s->vorname_alt : $s->vorname)); ?>
- nachname_alt != null)
- similar_text($s->nachname, $s->nachname_alt, $p1);
- if ($s->vorname_alt != null)
- similar_text($s->vorname, $s->vorname_alt, $p2);
- echo htmlentities_utf8(floor($p1) . "% / " . floor($p2) . "%");
- ?>
+ nachname_alt != null)
+ similar_text($s->nachname, $s->nachname_alt, $p1);
+ if ($s->vorname_alt != null)
+ similar_text($s->vorname, $s->vorname_alt, $p2);
+ echo htmlentities_utf8(floor($p1) . "% / " . floor($p2) . "%");
+ ?>
-
+
-
+ ?>
-
-
- :
-
+ ?>
+
+ :
+
-
-
+
+
@@ -2437,1533 +2511,1524 @@ class HTML_sportsmanager_admin
- :
-
+
+ :
+
-
-
+
+
:
-
+
-
-
+
+
:
-
+
- 0 && $spieler_import[0]->namensgleich > 0)
- {
- ?>
+ 0 && $spieler_import[0]->namensgleich > 0) {
+ ?>
- namensgleich == 0)
- break;
- ?>
+ $k = 0;
+ foreach ($spieler_import as $s) {
+ if ($s->namensgleich == 0)
+ break;
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
nachname . ", " . $s->vorname); ?>
-
+
- $n && ($spieler_import[$n]->nachname_alt != null || $spieler_import[$n]->vorname_alt != null))
- {
- ?>
+ if ($spieler_anzahl > $n && ($spieler_import[$n]->nachname_alt != null || $spieler_import[$n]->vorname_alt != null)) {
+ ?>
- $n)
- {
- $s = $spieler_import[$n];
- if ($s->nachname_alt == null && $s->vorname_alt == null)
- break;
- ?>
+ $k = 0;
+ while ($spieler_anzahl > $n) {
+ $s = $spieler_import[$n];
+ if ($s->nachname_alt == null && $s->vorname_alt == null)
+ break;
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
nachname . ", " . $s->vorname); ?>
nachname_alt != null ? $s->nachname_alt : $s->nachname) . ", " . ($s->vorname_alt != null ? $s->vorname_alt : $s->vorname)); ?>
- nachname_alt != null)
- similar_text($s->nachname, $s->nachname_alt, $p1);
- if ($s->vorname_alt != null)
- similar_text($s->vorname, $s->vorname_alt, $p2);
- echo htmlentities_utf8(floor($p1) . "% / " . floor($p2) . "%");
- ?>
+ nachname_alt != null)
+ similar_text($s->nachname, $s->nachname_alt, $p1);
+ if ($s->vorname_alt != null)
+ similar_text($s->vorname, $s->vorname_alt, $p2);
+ echo htmlentities_utf8(floor($p1) . "% / " . floor($p2) . "%");
+ ?>
-
+
- 0)
- {
- ?>
+ if (count($vereineManuell) > 0) {
+ ?>
-
+ $k = 0;
+ foreach ($vereineManuell as $name) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
-
+
- 0)
- {
- ?>
+ if (count($ausgetreteneVereineMitAktivenMitgliedern) > 0) {
+ ?>
-
+ $k = 0;
+ foreach ($ausgetreteneVereineMitAktivenMitgliedern as $verein) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
-
+
-
+ if (!empty($spielerHinzugefuegt)) {
+ ?>
-
+ $k = 0;
+ foreach ($spielerHinzugefuegt as $s) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
-
+
-
-
-
+ ?>
+
+
- 0)
- {
- ?>
+ $k = 0;
+ if (count($verteiler) > 0) {
+ ?>
-
+
-
-
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
+
+
bezeichnung)); ?>
- bezeichnung));
- }
- ?>
+ bezeichnung));
+ }
+ ?>
-
-
+
+
verteiler); ?>
-
+
X
+ href="verteiler_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
+
- 0)
- {
- ?>
+ $k = 0;
+ if (count($organisationen) > 0) {
+ ?>
-
+
-
- veranstalterbezeichnung); ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
+
+ veranstalterbezeichnung); ?>
-
- veranstalter_id]) && !empty($organisationen_mailverteiler[$organisation->veranstalter_id]))
- {
- ?>
-
-
+
+ veranstalter_id]) && !empty($organisationen_mailverteiler[$organisation->veranstalter_id])) {
+ ?>
+
+
- veranstalter_id . "p"]) && !empty($organisationen_mailverteiler[$organisation->veranstalter_id . "p"]))
- echo htmlentities_utf8($organisationen_mailverteiler[$organisation->veranstalter_id . "p"]);
- ?>
+ veranstalter_id . "p"]) && !empty($organisationen_mailverteiler[$organisation->veranstalter_id . "p"]))
+ echo htmlentities_utf8($organisationen_mailverteiler[$organisation->veranstalter_id . "p"]);
+ ?>
-
+
- 0)
- {
- ?>
+ $k = 0;
+ if (count($veranstaltungen) > 0) {
+ ?>
-
-
- saison_id)
- echo htmlentities_utf8(JText::_('COM_SPORTSMANAGER_SEASON') . " " . $saison->saisonbezeichnung);
- }
- ?>
+
+
+ saison_id)
+ echo htmlentities_utf8(Text::_('COM_SPORTSMANAGER_SEASON') . " " . $saison->saisonbezeichnung);
+ }
+ ?>
-
+
-
- bezeichnung); ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
+
+ bezeichnung); ?>
-
- veranstaltung_id]) && !empty($veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id]))
- {
- ?>
-
-
+
+ veranstaltung_id]) && !empty($veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id])) {
+ ?>
+
+
- veranstaltung_id . "p"]) && !empty($veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id . "p"]))
- echo htmlentities_utf8($veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id . "p"]);
- ?>
+ veranstaltung_id . "p"]) && !empty($veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id . "p"]))
+ echo htmlentities_utf8($veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id . "p"]);
+ ?>
-
+
-
-
- :
+ static function adminEditVerteiler($row): void
+ {
+ global $params;
+ ?>
+
+ :
-
- saisonbezeichnung); ?>
-
+ ?>
+ saisonbezeichnung); ?>
+
-
+
-
+
-
+
-
+
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
- zuordnungbezeichnung != null ? $row->zuordnungbezeichnung : JText::_('COM_SPORTSMANAGER_NONE2'));
- ?>
+ zuordnungbezeichnung != null ? $row->zuordnungbezeichnung : Text::_('COM_SPORTSMANAGER_NONE2'));
+ ?>
- neuzugaenge); ?>
+ neuzugaenge); ?>
-
+
-
+
- 0)
- {
- ?>
+ 0) {
+ ?>
-
+
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
- zuordnungbezeichnung != null ? $row->zuordnungbezeichnung : JText::_('COM_SPORTSMANAGER_NONE2'));
- ?>
+ zuordnungbezeichnung != null ? $row->zuordnungbezeichnung : Text::_('COM_SPORTSMANAGER_NONE2'));
+ ?>
- mitglieder); ?>
+ mitglieder); ?>
-
+
- 0)
- {
- ?>
+ $k = 0;
+ if (count($rechnungen) > 0) {
+ ?>
-
+
-
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
+
bezeichnung)); ?>
-
- zuordnungbezeichnung != null ? $row->zuordnungbezeichnung : JText::_('COM_SPORTSMANAGER_NONE2'));
- ?>
+
+ zuordnungbezeichnung != null ? $row->zuordnungbezeichnung : Text::_('COM_SPORTSMANAGER_NONE2'));
+ ?>
-
- notiz)); ?>
+
+ notiz)); ?>
- mitglieder); ?>
+ mitglieder); ?>
X
+ href="rechnung_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
+ static function adminEditRechnung($row, $veranstalter, $vereine): void
+ {
+ global $params;
+ ?>
- Mitgliederrechnung:
+ Mitgliederrechnung:
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+ :
+
+
+ notiz); ?>
-
-
-
-
- :
-
-
- zuordnungbezeichnung != null ? $row->zuordnungbezeichnung : JText::_('COM_SPORTSMANAGER_NONE2'));
- }
- else
- {
- ?>
-
-
-
- veranstalter_id . "\">" . htmlentities_utf8($veranstalter_row->veranstalterbezeichnung) . "";
- }
- ?>
-
- veranstalterbezeichnung)
- {
- if ($veranstalterbezeichnung != -1)
- echo "";
- echo "veranstalterbezeichnung != null ? $verein->veranstalterbezeichnung : "") . "\">";
- echo "veranstalter_id . "\">" . JText::_('COM_SPORTSMANAGER_CATEGORY_ALL') . " ";
- $veranstalterbezeichnung = $verein->veranstalterbezeichnung;
- }
- echo "verein_id . "\">" . htmlentities_utf8($verein->vereinsname) . " ";
- }
- if ($veranstalterbezeichnung != -1)
- echo " ";
- ?>
-
-
+
+
+
+
+
+ :
+
+
+ zuordnungbezeichnung != null ? $row->zuordnungbezeichnung : Text::_('COM_SPORTSMANAGER_NONE2'));
+ } else {
+ ?>
+
+
+
+ veranstalter_id . "\">" . htmlentities_utf8($veranstalter_row->veranstalterbezeichnung) . "";
+ }
+ ?>
+
+ veranstalterbezeichnung) {
+ if ($veranstalterbezeichnung != -1)
+ echo "";
+ echo "veranstalterbezeichnung != null ? $verein->veranstalterbezeichnung : "") . "\">";
+ echo "veranstalter_id . "\">" . Text::_('COM_SPORTSMANAGER_CATEGORY_ALL') . " ";
+ $veranstalterbezeichnung = $verein->veranstalterbezeichnung;
+ }
+ echo "verein_id . "\">" . htmlentities_utf8($verein->vereinsname) . " ";
+ }
+ if ($veranstalterbezeichnung != -1)
+ echo " ";
+ ?>
+
+
-
-
-
-
- :
-
-
- JText::_('COM_SPORTSMANAGER_ACTIVE'), 2 => JText::_('COM_SPORTSMANAGER_RESTRICTED'), 3 => JText::_('COM_SPORTSMANAGER_PASSIVE'));
- foreach ($werte as $wert => $bezeichnung)
- {
- if (pow(2, $wert) & $row->mitgliedsstatus)
- array_push($mitgliedsstatus, $bezeichnung);
- }
- echo htmlentities_utf8(implode(", ", $mitgliedsstatus));
- }
- else
- {
- ?>
-
- JText::_('COM_SPORTSMANAGER_ACTIVE') . ", " . JText::_('COM_SPORTSMANAGER_RESTRICTED') . ", " . JText::_('COM_SPORTSMANAGER_PASSIVE'), 6 => JText::_('COM_SPORTSMANAGER_ACTIVE') . ", " . JText::_('COM_SPORTSMANAGER_RESTRICTED'), 10 => JText::_('COM_SPORTSMANAGER_ACTIVE') . ", " . JText::_('COM_SPORTSMANAGER_PASSIVE'), 2 => JText::_('COM_SPORTSMANAGER_ACTIVE'), 12 => JText::_('COM_SPORTSMANAGER_RESTRICTED') . ", " . JText::_('COM_SPORTSMANAGER_PASSIVE'), 4 => JText::_('COM_SPORTSMANAGER_RESTRICTED'), 8 => JText::_('COM_SPORTSMANAGER_PASSIVE'));
- foreach ($werte as $wert => $bezeichnung)
- echo "" . htmlentities_utf8($bezeichnung) . " ";
- ?>
-
-
-
-
-
-
- :
-
-
- JText::_('COM_SPORTSMANAGER_CATEGORY_ALL'), 11 => JText::_('COM_SPORTSMANAGER_ALL_NO_JUNIOR'), 7 => JText::_('COM_SPORTSMANAGER_ALL_NO_SENIOR'), 3 => JText::_('COM_SPORTSMANAGER_ALL_NO_JUNIOR_SENIOR'), 4 => JText::_('COM_SPORTSMANAGER_CATEGORY_JUNIORS'), 8 => JText::_('COM_SPORTSMANAGER_CATEGORY_SENIORS'));
- if ($row != null)
- {
- echo $wertungskategorie[$row->wertungskategorie];
- }
- else
- {
- ?>
-
- $wert)
- {
- echo "wertungskategorie == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($wert) . " ";
- }
- ?>
-
-
-
-
-
-
+
+
+
+
+
+ :
+
+
+ Text::_('COM_SPORTSMANAGER_ACTIVE'), 2 => Text::_('COM_SPORTSMANAGER_RESTRICTED'), 3 => Text::_('COM_SPORTSMANAGER_PASSIVE'));
+ foreach ($werte as $wert => $bezeichnung) {
+ if (pow(2, $wert) & $row->mitgliedsstatus)
+ $mitgliedsstatus[] = $bezeichnung;
+ }
+ echo htmlentities_utf8(implode(", ", $mitgliedsstatus));
+ } else {
+ ?>
+
+ Text::_('COM_SPORTSMANAGER_ACTIVE') . ", " . Text::_('COM_SPORTSMANAGER_RESTRICTED') . ", " . Text::_('COM_SPORTSMANAGER_PASSIVE'), 6 => Text::_('COM_SPORTSMANAGER_ACTIVE') . ", " . Text::_('COM_SPORTSMANAGER_RESTRICTED'), 10 => Text::_('COM_SPORTSMANAGER_ACTIVE') . ", " . Text::_('COM_SPORTSMANAGER_PASSIVE'), 2 => Text::_('COM_SPORTSMANAGER_ACTIVE'), 12 => Text::_('COM_SPORTSMANAGER_RESTRICTED') . ", " . Text::_('COM_SPORTSMANAGER_PASSIVE'), 4 => Text::_('COM_SPORTSMANAGER_RESTRICTED'), 8 => Text::_('COM_SPORTSMANAGER_PASSIVE'));
+ foreach ($werte as $wert => $bezeichnung)
+ echo "" . htmlentities_utf8($bezeichnung) . " ";
+ ?>
+
+
+
+
+
+
+
+ :
+
+
+ Text::_('COM_SPORTSMANAGER_CATEGORY_ALL'), 11 => Text::_('COM_SPORTSMANAGER_ALL_NO_JUNIOR'), 7 => Text::_('COM_SPORTSMANAGER_ALL_NO_SENIOR'), 3 => Text::_('COM_SPORTSMANAGER_ALL_NO_JUNIOR_SENIOR'), 4 => Text::_('COM_SPORTSMANAGER_CATEGORY_JUNIORS'), 8 => Text::_('COM_SPORTSMANAGER_CATEGORY_SENIORS'));
+ if ($row != null) {
+ echo $wertungskategorie[$row->wertungskategorie];
+ } else {
+ ?>
+
+ $wert) {
+ echo "" . htmlentities_utf8($wert) . " ";
+ }
+ ?>
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
"/>
-
-
- :
-
+ ?>
+
+ :
+
+ href="">
+ href="">
+ href="">
+ href="">
+ href="">
- 0)
- {
- $bilder_anzeigen = false;
- foreach ($rows as $verein)
- {
- if (bildHTML("vereine", $verein->verein_id, 28, 28, 0, 0) != null)
- {
- $bilder_anzeigen = true;
- break;
- }
- }
+ if (count($rows) > 0) {
+ $bilder_anzeigen = false;
+ foreach ($rows as $verein) {
+ if (bildHTML("vereine", $verein->verein_id, 28, 28) != null) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ }
- if ($organisationAnzeigen)
- {
- $organisation = $rows[0]->veranstalterbezeichnung;
- ?>
+ if ($organisationAnzeigen) {
+ $organisation = $rows[0]->veranstalterbezeichnung;
+ ?>
-
+
- veranstalterbezeichnung != $organisation)
- {
- $organisation = $row->veranstalterbezeichnung;
- ?>
+ $k = 0;
+ foreach ($rows as $row) {
+ if ($organisationAnzeigen) {
+ if ($row->veranstalterbezeichnung != $organisation) {
+ $organisation = $row->veranstalterbezeichnung;
+ ?>
-
+ style="width: 100%">
+
-
+
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
-
+
- vereinsname)); ?>
+ vereinsname)); ?>
-
-
- verein_id, 28, 28, 0, 0, 'border="0"');
- if ($bild != null)
- echo $bild;
- ?>
+
+
+ verein_id, 28, 28, 0, 0, 'border="0"');
+ if ($bild != null)
+ echo $bild;
+ ?>
-
+
- mitglieder; ?>
+ mitglieder; ?>
vereinssitz)) echo htmlentities_utf8($row->vereinssitz . (!empty($row->vereinssitz_ortsteil) ? ("-" . $row->vereinssitz_ortsteil) : "")); ?>
- ausgetreten ? JText::_('COM_SPORTSMANAGER_YES') : JText::_('COM_SPORTSMANAGER_NO'); ?>
+ ausgetreten ? Text::_('COM_SPORTSMANAGER_YES') : Text::_('COM_SPORTSMANAGER_NO'); ?>
X
+ href="verein_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
+
-
-
- :
+ static function adminEditVerein($row, $users, $veranstalter, $berechtigt_fuer_verein, $vereinsansprechpartner): void
+ {
+ global $params;
+ ?>
+
+ :
" method="post"
name="adminForm" id="adminForm" enctype="multipart/form-data">
-
+
+
+
"/>
-
-
+ static function adminVereineZusammenlegen($vereine): void
+ {
+ global $params;
+ ?>
+
-
-
-
-
-
-
- :
-
-
-
- veranstalterbezeichnung)
- {
- if ($veranstalterbezeichnung != -1)
- echo "";
- echo "veranstalterbezeichnung != null ? $verein->veranstalterbezeichnung : JText::_('COM_SPORTSMANAGER_WITHOUT_ORGANIZATION')) . "\">";
- $veranstalterbezeichnung = $verein->veranstalterbezeichnung;
- }
- echo "verein_id . "\">" . htmlentities_utf8($verein->vereinsname . ($verein->ausgetreten ? " (" . JText::_('COM_SPORTSMANAGER_BEATEN') . ")" : "")) . " ";
- }
- if ($veranstalterbezeichnung != -1)
- echo " ";
- ?>
-
-
-
-
-
- :
-
-
-
- veranstalterbezeichnung)
- {
- if ($veranstalterbezeichnung != -1)
- echo "";
- echo "veranstalterbezeichnung != null ? $verein->veranstalterbezeichnung : JText::_('COM_SPORTSMANAGER_WITHOUT_ORGANIZATION')) . "\">";
- $veranstalterbezeichnung = $verein->veranstalterbezeichnung;
- }
- echo "verein_id . "\">" . htmlentities_utf8($verein->vereinsname . ($verein->ausgetreten ? " (" . JText::_('COM_SPORTSMANAGER_BEATEN') . ")" : "")) . " ";
- }
- if ($veranstalterbezeichnung != -1)
- echo " ";
- ?>
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+ veranstalterbezeichnung) {
+ if ($veranstalterbezeichnung != -1)
+ echo "";
+ echo "veranstalterbezeichnung != null ? $verein->veranstalterbezeichnung : Text::_('COM_SPORTSMANAGER_WITHOUT_ORGANIZATION')) . "\">";
+ $veranstalterbezeichnung = $verein->veranstalterbezeichnung;
+ }
+ echo "verein_id . "\">" . htmlentities_utf8($verein->vereinsname . ($verein->ausgetreten ? " (" . Text::_('COM_SPORTSMANAGER_BEATEN') . ")" : "")) . " ";
+ }
+ if ($veranstalterbezeichnung != -1)
+ echo " ";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ veranstalterbezeichnung) {
+ if ($veranstalterbezeichnung != -1)
+ echo "";
+ echo "veranstalterbezeichnung != null ? $verein->veranstalterbezeichnung : Text::_('COM_SPORTSMANAGER_WITHOUT_ORGANIZATION')) . "\">";
+ $veranstalterbezeichnung = $verein->veranstalterbezeichnung;
+ }
+ echo "verein_id . "\">" . htmlentities_utf8($verein->vereinsname . ($verein->ausgetreten ? " (" . Text::_('COM_SPORTSMANAGER_BEATEN') . ")" : "")) . " ";
+ }
+ if ($veranstalterbezeichnung != -1)
+ echo " ";
+ ?>
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
-
-
+ ?>
+
'vereinsname); ?>
- ':
-
+ ':
+
+ href="">
+ href="verein_id); ?>">
- 0)
- {
- ?>
+ if (count($vereinsmitglieder) > 0) {
+ ?>
- JText::_('COM_SPORTSMANAGER_ACTIVE'), 2 => JText::_('COM_SPORTSMANAGER_RESTRICTED'), 3 => JText::_('COM_SPORTSMANAGER_PASSIVE'), 0 => JText::_('COM_SPORTSMANAGER_BEATEN'));
- foreach ($vereinsmitglieder as $row)
- {
- ?>
+ $k = 0;
+ $mitgliedsstatus = array(1 => Text::_('COM_SPORTSMANAGER_ACTIVE'), 2 => Text::_('COM_SPORTSMANAGER_RESTRICTED'), 3 => Text::_('COM_SPORTSMANAGER_PASSIVE'), 0 => Text::_('COM_SPORTSMANAGER_BEATEN'));
+ foreach ($vereinsmitglieder as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
nachname)); ?>
+ href="verein_id . '&id=' . $row->mitglied_von_verein_id); ?>">nachname)); ?>
vorname); ?>
spielernr); ?>
mitgliedsstatus]); ?>
- aktueller_verein_id)) { ?>
-
-
- X
+ aktueller_verein_id)) { ?>
+
+
+ X
-
+
-
-
+ static function adminEditVereinsmitglied($row, $verein, $spieler): void
+ {
+ global $params;
+ ?>
+
'vereinsname); ?>
- ':
+ ':
-
-
-
-
-
-
- :
-
-
- nachname . ", " . $row->vorname);
- }
- else
- {
- ?>
-
- spieler_id . "\">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8($s->spielernr != null && $s->spielernr != "" ? (" (" . $s->spielernr . ")") : "") . "";
- ?>
-
-
-
-
-
-
-
- :
-
-
-
- JText::_('COM_SPORTSMANAGER_ACTIVE'), 2 => JText::_('COM_SPORTSMANAGER_RESTRICTED'), 3 => JText::_('COM_SPORTSMANAGER_PASSIVE'), 0 => JText::_('COM_SPORTSMANAGER_BEATEN'));
- foreach ($werte as $wert => $bezeichnung)
- echo "mitgliedsstatus == $wert ? " selected" : "") . ">" . htmlentities_utf8($bezeichnung) . " ";
- ?>
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ :
+
+
+ nachname . ", " . $row->vorname);
+ } else {
+ ?>
+
+ spieler_id . "\">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8($s->spielernr != null && $s->spielernr != "" ? (" (" . $s->spielernr . ")") : "") . "";
+ ?>
+
+
+
+
+
+
+
+
+ :
+
+
+
+ Text::_('COM_SPORTSMANAGER_ACTIVE'), 2 => Text::_('COM_SPORTSMANAGER_RESTRICTED'), 3 => Text::_('COM_SPORTSMANAGER_PASSIVE'), 0 => Text::_('COM_SPORTSMANAGER_BEATEN'));
+ foreach ($werte as $wert => $bezeichnung)
+ echo "mitgliedsstatus == $wert ? " selected" : "") . ">" . htmlentities_utf8($bezeichnung) . " ";
+ ?>
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
"/>
-
-
- :
-
+ ?>
+
+ :
+
+ href="">
+ href="">
+ href="">
- 0)
- {
- $ortsname = $rows[0]->ortsname;
- if (!empty($ortsname))
- {
- ?>
+ if (count($rows) > 0) {
+ $ortsname = $rows[0]->ortsname;
+ if (!empty($ortsname)) {
+ ?>
-
+
- ortsname != $ortsname)
- {
- $ortsname = $row->ortsname;
- ?>
+ $k = 0;
+ foreach ($rows as $row) {
+ if ($row->ortsname != $ortsname) {
+ $ortsname = $row->ortsname;
+ ?>
-
+
-
+ style="width: 100%">
+
-
+
-
+
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
-
+
@@ -3973,594 +4038,652 @@ class HTML_sportsmanager_admin
ortsname)) echo htmlentities_utf8($row->ortsname); ?>
ortsteil)) echo htmlentities_utf8($row->ortsteil); ?>
status == 0 ? JText::_('COM_SPORTSMANAGER_NO') : JText::_('COM_SPORTSMANAGER_YES')); ?>
+ style="text-align: center">status == 0 ? Text::_('COM_SPORTSMANAGER_NO') : Text::_('COM_SPORTSMANAGER_YES')); ?>
X
+ href="spielort_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
+
-
-
- :
+ static function adminEditSpielort($row): void
+ {
+ global $params;
+ ?>
+
+ :
" method="post"
name="adminForm" id="adminForm" enctype="multipart/form-data">
-
-
-
+
"/>
-
-
+ static function adminSpielorteZusammenlegen($spielorte): void
+ {
+ global $params;
+ ?>
+
-
-
-
-
-
-
- :
-
-
-
- ortsname)
- {
- if ($ortsname != -1)
- echo "";
- echo "ortsname) ? $spielort->ortsname : JText::_('COM_SPORTSMANAGER_WITHOUT_PLACE')) . "\">";
- $ortsname = $spielort->ortsname;
- }
- echo "spielort_id . "\">" . htmlentities_utf8($spielort->name) . " ";
- }
- if ($ortsname != -1)
- echo " ";
- ?>
-
-
-
-
-
- :
-
-
-
- ortsname)
- {
- if ($ortsname != -1)
- echo "";
- echo "ortsname) ? $spielort->ortsname : JText::_('COM_SPORTSMANAGER_WITHOUT_PLACE')) . "\">";
- $ortsname = $spielort->ortsname;
- }
- echo "spielort_id . "\">" . htmlentities_utf8($spielort->name) . " ";
- }
- if ($ortsname != -1)
- echo " ";
- ?>
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+ ortsname) {
+ if ($ortsname != -1)
+ echo "";
+ echo "ortsname) ? $spielort->ortsname : Text::_('COM_SPORTSMANAGER_WITHOUT_PLACE')) . "\">";
+ $ortsname = $spielort->ortsname;
+ }
+ echo "spielort_id . "\">" . htmlentities_utf8($spielort->name) . " ";
+ }
+ if ($ortsname != -1)
+ echo " ";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ ortsname) {
+ if ($ortsname != -1)
+ echo "";
+ echo "ortsname) ? $spielort->ortsname : Text::_('COM_SPORTSMANAGER_WITHOUT_PLACE')) . "\">";
+ $ortsname = $spielort->ortsname;
+ }
+ echo "spielort_id . "\">" . htmlentities_utf8($spielort->name) . " ";
+ }
+ if ($ortsname != -1)
+ echo " ";
+ ?>
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
-
-
- :
-
+ ?>
+
+ :
+
- 0)
- {
- ?>
+ if (count($rows) > 0) {
+ ?>
-
+ $k = 0;
+ foreach ($rows as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
bezeichnung)); ?>
+ href="teamspiel_modus_id); ?>">bezeichnung)); ?>
status == 0 ? JText::_('COM_SPORTSMANAGER_NO') : JText::_('COM_SPORTSMANAGER_YES')); ?>
+ style="text-align: center">status == 0 ? Text::_('COM_SPORTSMANAGER_NO') : Text::_('COM_SPORTSMANAGER_YES')); ?>
+ href="teamspiel_modus_id); ?>">
- veranstaltungen == 0) { ?>
+ veranstaltungen == 0) { ?>
X
+ href="teamspiel_modus_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
+
-
-
- :
+ static function adminEditTeamspielmodus($row): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
- punktetyp == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
-
- punkte_sieg_einzel == $i ? " selected" : "") : "") . ">" . htmlentities_utf8(($i == 1 ? JText::_('COM_SPORTSMANAGER_ONE_POINT') : JText::sprintf('COM_SPORTSMANAGER_NUMBER_POINTS', $i)) . " (kein Unentschieden)") . "";
- if ($i != 1)
- echo "punkte_sieg_einzel == (-$i) ? " selected" : "") : "") . ">" . htmlentities_utf8(($i == 1 ? JText::_('COM_SPORTSMANAGER_ONE_POINT') : JText::sprintf('COM_SPORTSMANAGER_NUMBER_POINTS', $i)) . " (Unentschieden bei " . ($i - 1) . ":" . ($i - 1) . ")") . " ";
- }
- ?>
-
-
-
-
- punkte_sieg_einzel == $row->punkte_sieg_doppel) echo " style=\"display:none\""; ?>>
-
- :
-
-
-
-
- punkte_sieg_doppel == $i ? " selected" : "") : "") . ">" . htmlentities_utf8(($i == 1 ? JText::_('COM_SPORTSMANAGER_ONE_POINT') : JText::sprintf('COM_SPORTSMANAGER_NUMBER_POINTS', $i)) . JText::_('COM_SPORTSMANAGER_SUFFIX_NO_DRAW')) . "";
- if ($i != 1)
- echo "punkte_sieg_doppel == (-$i) ? " selected" : "") : "") . ">" . htmlentities_utf8(($i == 1 ? JText::_('COM_SPORTSMANAGER_ONE_POINT') : JText::sprintf('COM_SPORTSMANAGER_NUMBER_POINTS', $i)) . JText::sprintf('COM_SPORTSMANAGER_SUFFIX_DRAW_AT', ($i - 1), ($i - 1))) . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- heimtausch == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($heimtausch[$i]) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- JText::_('COM_SPORTSMANAGER_OPTIONAL'), 1 => JText::_('COM_SPORTSMANAGER_OPTIONAL_BUT_SAME_IN_DOUBLES'), 2 => JText::_('COM_SPORTSMANAGER_REQUIRED'));
- foreach ($typ as $i => $bezeichnung)
- {
- echo "spielernamen == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($bezeichnung) . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- spielpunkte_wertung_einzel == $typ_wert[$i] ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "";
- }
- ?>
-
-
-
-
- spielpunkte_wertung_einzel == $row->spielpunkte_wertung_doppel) echo " style=\"display:none\""; ?>>
-
- :
-
-
-
- spielpunkte_wertung_doppel == $typ_wert[$i] ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
-
- spielpunkte_bedingung == $i ? " selected" : "") : "") . ">" . $i . " " . ($i == 1 ? JText::_('COM_SPORTSMANAGER_GAME_POINT') : JText::_('COM_SPORTSMANAGER_GAME_POINTS')) . JText::_('COM_SPORTSMANAGER_SUFFIX_ONE_TEAM') . "";
- echo "spielpunkte_bedingung == -$i ? " selected" : "") : "") . ">" . $i . " " . ($i == 1 ? JText::_('COM_SPORTSMANAGER_GAME_POINT') : JText::_('COM_SPORTSMANAGER_GAME_POINTS')) . JText::_('COM_SPORTSMANAGER_SUFFIX_TEAMS_TOGETHER') . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- status == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($status[$i]) . "";
- }
- ?>
-
-
-
- JText::_('COM_SPORTSMANAGER_DOUBLES') . " 1", "D2" => JText::_('COM_SPORTSMANAGER_DOUBLES') . " 2", "D3" => JText::_('COM_SPORTSMANAGER_DOUBLES') . " 3", "D4" => JText::_('COM_SPORTSMANAGER_DOUBLES') . " 4", "D5" => JText::_('COM_SPORTSMANAGER_DOUBLES') . " 5", "D6" => JText::_('COM_SPORTSMANAGER_DOUBLES') . " 6", "E1" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 1", "E2" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 2", "E3" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 3", "E4" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 4", "E5" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 5", "E6" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 6", "S1" => JText::_('COM_SPORTSMANAGER_RESULT_ONLY'));
- $modus = $row != null ? explode("|", $row->modus) : null;
- $spiele = $modus != null && isset($modus[0]) ? explode(",", $modus[0]) : array();
- for ($spiel_nr = 1; $spiel_nr <= 36; $spiel_nr++)
- {
- ?>
-
-
- :
-
-
-
-
-
-
-
- $bezeichnung)
- echo "" . htmlentities_utf8($bezeichnung) . " ";
- ?>
-
-
-
-
-
- $bezeichnung)
- echo "" . htmlentities_utf8($bezeichnung) . " ";
- ?>
-
- :
-
- JText::_('COM_SPORTSMANAGER_ANY'), "H" => JText::_('COM_SPORTSMANAGER_TEAM_HOME'), "G" => JText::_('COM_SPORTSMANAGER_TEAM_VISITOR'));
- foreach ($bezeichnungen as $wert => $bezeichnung)
- echo "" . htmlentities_utf8($bezeichnung) . " ";
- ?>
-
-
-
-
-
-
-
- JText::_('COM_SPORTSMANAGER_DOUBLES') . " 1", "D2" => JText::_('COM_SPORTSMANAGER_DOUBLES') . " 2", "D3" => JText::_('COM_SPORTSMANAGER_DOUBLES') . " 3", "D4" => JText::_('COM_SPORTSMANAGER_DOUBLES') . " 4", "D5" => JText::_('COM_SPORTSMANAGER_DOUBLES') . " 5", "D6" => JText::_('COM_SPORTSMANAGER_DOUBLES') . " 6", "D7" => JText::_('COM_SPORTSMANAGER_DOUBLES') . " 7", "D8" => JText::_('COM_SPORTSMANAGER_DOUBLES') . " 8");
- $spieltyp_einzel = array("E1" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 1", "E2" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 2", "E3" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 3", "E4" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 4", "E5" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 5", "E6" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 6", "E7" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 7", "E8" => JText::_('COM_SPORTSMANAGER_SINGLES') . " 8");
- $verknuepfungen = $modus != null && isset($modus[1]) ? explode(",", $modus[1]) : array();
- for ($verknuepfung_nr = 1; $verknuepfung_nr <= 6; $verknuepfung_nr++)
- {
- ?>
-
-
- Verknüpfung Nr. :
-
-
-
-
-
-
-
- $bezeichnung)
- {
- echo "" . htmlentities_utf8($bezeichnung) . " ";
- }
- ?>
-
-
-
-
-
- $bezeichnung)
- {
- echo "" . htmlentities_utf8($bezeichnung) . " ";
- }
- ?>
-
-
-
-
-
- $bezeichnung)
- {
- echo "" . htmlentities_utf8($bezeichnung) . " ";
- }
- ?>
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+ :
+
+
+
+ punktetyp == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+ punkte_sieg_einzel == $i ? " selected" : "") : "") . ">" . htmlentities_utf8(($i == 1 ? Text::_('COM_SPORTSMANAGER_ONE_POINT') : Text::sprintf('COM_SPORTSMANAGER_NUMBER_POINTS', $i)) . " (kein Unentschieden)") . "";
+ if ($i != 1)
+ echo "punkte_sieg_einzel == (-$i) ? " selected" : "") : "") . ">" . htmlentities_utf8(Text::sprintf('COM_SPORTSMANAGER_NUMBER_POINTS', $i) . " (Unentschieden bei " . ($i - 1) . ":" . ($i - 1) . ")") . " ";
+ }
+ ?>
+
+
+
+
+ punkte_sieg_einzel == $row->punkte_sieg_doppel) echo " style=\"display:none\""; ?>>
+
+
+ :
+
+
+
+
+ punkte_sieg_doppel == $i ? " selected" : "") : "") . ">" . htmlentities_utf8(($i == 1 ? Text::_('COM_SPORTSMANAGER_ONE_POINT') : Text::sprintf('COM_SPORTSMANAGER_NUMBER_POINTS', $i)) . Text::_('COM_SPORTSMANAGER_SUFFIX_NO_DRAW')) . "";
+ if ($i != 1)
+ echo "punkte_sieg_doppel == (-$i) ? " selected" : "") : "") . ">" . htmlentities_utf8(Text::sprintf('COM_SPORTSMANAGER_NUMBER_POINTS', $i) . Text::sprintf('COM_SPORTSMANAGER_SUFFIX_DRAW_AT', ($i - 1), ($i - 1))) . " ";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ heimtausch == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($heimtausch[$i]) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ Text::_('COM_SPORTSMANAGER_OPTIONAL'), 1 => Text::_('COM_SPORTSMANAGER_OPTIONAL_BUT_SAME_IN_DOUBLES'), 2 => Text::_('COM_SPORTSMANAGER_REQUIRED'));
+ foreach ($typ as $i => $bezeichnung) {
+ echo "spielernamen == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($bezeichnung) . " ";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ spielpunkte_wertung_einzel == $typ_wert[$i] ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "";
+ }
+ ?>
+
+
+
+
+ spielpunkte_wertung_einzel == $row->spielpunkte_wertung_doppel) echo " style=\"display:none\""; ?>>
+
+
+ :
+
+
+
+ spielpunkte_wertung_doppel == $typ_wert[$i] ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+ spielpunkte_bedingung == $i ? " selected" : "") : "") . ">" . $i . " " . ($i == 1 ? Text::_('COM_SPORTSMANAGER_GAME_POINT') : Text::_('COM_SPORTSMANAGER_GAME_POINTS')) . Text::_('COM_SPORTSMANAGER_SUFFIX_ONE_TEAM') . "";
+ echo "spielpunkte_bedingung == -$i ? " selected" : "") : "") . ">" . $i . " " . ($i == 1 ? Text::_('COM_SPORTSMANAGER_GAME_POINT') : Text::_('COM_SPORTSMANAGER_GAME_POINTS')) . Text::_('COM_SPORTSMANAGER_SUFFIX_TEAMS_TOGETHER') . " ";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ status == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($status[$i]) . "";
+ }
+ ?>
+
+
+
+ Text::_('COM_SPORTSMANAGER_DOUBLES') . " 1", "D2" => Text::_('COM_SPORTSMANAGER_DOUBLES') . " 2", "D3" => Text::_('COM_SPORTSMANAGER_DOUBLES') . " 3", "D4" => Text::_('COM_SPORTSMANAGER_DOUBLES') . " 4", "D5" => Text::_('COM_SPORTSMANAGER_DOUBLES') . " 5", "D6" => Text::_('COM_SPORTSMANAGER_DOUBLES') . " 6", "E1" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 1", "E2" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 2", "E3" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 3", "E4" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 4", "E5" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 5", "E6" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 6", "S1" => Text::_('COM_SPORTSMANAGER_RESULT_ONLY'));
+ $modus = $row != null ? explode("|", $row->modus) : null;
+ $spiele = $modus != null && isset($modus[0]) ? explode(",", $modus[0]) : array();
+ for ($spiel_nr = 1; $spiel_nr <= 36; $spiel_nr++) {
+ ?>
+
+
+
+ :
+
+
+
+
+
+
+
+ $bezeichnung)
+ echo "" . htmlentities_utf8($bezeichnung) . " ";
+ ?>
+
+
+
+
+
+ $bezeichnung)
+ echo "" . htmlentities_utf8($bezeichnung) . " ";
+ ?>
+
+
+ :
+
+ Text::_('COM_SPORTSMANAGER_ANY'), "H" => Text::_('COM_SPORTSMANAGER_TEAM_HOME'), "G" => Text::_('COM_SPORTSMANAGER_TEAM_VISITOR'));
+ foreach ($bezeichnungen as $wert => $bezeichnung)
+ echo "" . htmlentities_utf8($bezeichnung) . " ";
+ ?>
+
+
+
+
+
+
+
+ Text::_('COM_SPORTSMANAGER_DOUBLES') . " 1", "D2" => Text::_('COM_SPORTSMANAGER_DOUBLES') . " 2", "D3" => Text::_('COM_SPORTSMANAGER_DOUBLES') . " 3", "D4" => Text::_('COM_SPORTSMANAGER_DOUBLES') . " 4", "D5" => Text::_('COM_SPORTSMANAGER_DOUBLES') . " 5", "D6" => Text::_('COM_SPORTSMANAGER_DOUBLES') . " 6", "D7" => Text::_('COM_SPORTSMANAGER_DOUBLES') . " 7", "D8" => Text::_('COM_SPORTSMANAGER_DOUBLES') . " 8");
+ $spieltyp_einzel = array("E1" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 1", "E2" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 2", "E3" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 3", "E4" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 4", "E5" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 5", "E6" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 6", "E7" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 7", "E8" => Text::_('COM_SPORTSMANAGER_SINGLES') . " 8");
+ $verknuepfungen = $modus != null && isset($modus[1]) ? explode(",", $modus[1]) : array();
+ for ($verknuepfung_nr = 1; $verknuepfung_nr <= 6; $verknuepfung_nr++) {
+ ?>
+
+
+ Verknüpfung Nr. :
+
+
+
+
+
+
+
+ $bezeichnung) {
+ echo "" . htmlentities_utf8($bezeichnung) . " ";
+ }
+ ?>
+
+
+
+
+
+ $bezeichnung) {
+ echo "" . htmlentities_utf8($bezeichnung) . " ";
+ }
+ ?>
+
+
+
+
+
+ $bezeichnung) {
+ echo "" . htmlentities_utf8($bezeichnung) . " ";
+ }
+ ?>
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
"/>
"/>
-
-
- :
-
+ ?>
+
+ :
+
- 0)
- {
- ?>
+ if (count($rows) > 0) {
+ ?>
-
+ $k = 0;
+ foreach ($rows as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
bezeichnung)); ?>
+ href="verschieberegel_id); ?>">bezeichnung)); ?>
- veranstaltungen == 0) { ?>
+ veranstaltungen == 0) { ?>
X
+ href="verschieberegel_id); ?>"
+ onclick="return confirm('Willst du die Verschieberegel wirklich entfernen?');"
+ title="">X
-
+
-
+
-
-
- :
+ static function adminEditVerschiebenModus($row): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
+
"/>
-
-
+ ?>
+
-
-
-
+
-
-
- :
-
+ ?>
+
+ :
+
+ href="">
+ href="">
+ href="">
- 0)
- {
- ?>
+ if (count($rows) > 0) {
+ ?>
-
+ $k = 0;
+ foreach ($rows as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
systembezeichnung)); ?>
+ href="rangliste_system_id); ?>">systembezeichnung)); ?>
- rangliste_system_id]) echo "Fehlerhaft! ";
- echo htmlentities_utf8($row->status == 0 ? JText::_('COM_SPORTSMANAGER_NO') : JText::_('COM_SPORTSMANAGER_YES')); ?>
+ rangliste_system_id]) echo "Fehlerhaft! ";
+ echo htmlentities_utf8($row->status == 0 ? Text::_('COM_SPORTSMANAGER_NO') : Text::_('COM_SPORTSMANAGER_YES')); ?>
+ href="rangliste_system_id); ?>">
- ranglisten == 0 && $row->ranglistenturnierdisziplinen == 0) { ?>
+ ranglisten == 0 && $row->ranglistenturnierdisziplinen == 0) { ?>
X
+ href="rangliste_system_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
+
-
-
- :
+ static function adminEditRanglistensystem($row, $punkte, $typ): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
+
"/>
-
-
- :
+ static function adminRanglistensystemAuswertung($row, $teilnehmer, $multiplikator, $teilnehmerpunkte): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
-
- 0)
- {
- ?>
+ 0) {
+ ?>
- $punkte)
- {
- ?>
+ $k = 0;
+ foreach ($teilnehmerpunkte as $platz => $punkte) {
+ ?>
-
-
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
+
+
-
-
+
+
-
+
-
-
- :
+ static function adminEditRangliste($rangliste, $systeme, $kategorien, $saisons): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
- saison_id . "\"" . ($rangliste != null ? ($rangliste->saison_id == $saison->saison_id ? " selected" : "") : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- kategorie == $i ? " selected" : "") : "") . ">" . $i . (isset($kategorien[$i]) ? htmlentities_utf8(" " . $kategorien[$i]) : "") . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- reihenfolge == $i ? " selected" : "") : "") . ">" . $i . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- erster_tag;
- else
- $datum = date("Y-m-d");
- $datum_tag = substr($datum, 8, 2);
- for ($i = 1; $i <= 31; $i++)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- " . htmlentities_utf8($monate[$i - 1]) . "";
- }
- ?>
-
-
- = 2000; $i--)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- letzter_tag;
- else
- $datum = date("Y-m-d");
- $datum_tag = substr($datum, 8, 2);
- for ($i = 1; $i <= 31; $i++)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- " . htmlentities_utf8($monate[$i - 1]) . "";
- }
- ?>
-
-
- = 2000; $i--)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- streichergebnisse < 0) || ($i == 2 && $rangliste->streichergebnisse > 0)) ? " selected" : "") : "") . ">" . htmlentities_utf8($maximal_gewertet_typ[$i]) . "";
- }
- ?>
-
-
-
-
-
-
- :
-
-
-
-
- geschlecht == 1) echo "selected"; ?>>
- geschlecht == 2) echo "selected"; ?>>
-
-
-
-
-
- :
-
-
- lizenzen) && in_array($lizenz, $rangliste->lizenzen)) ? ' checked': '';
- echo ' ' . $lizenz. ' ';
- }
- ?>
-
-
-
-
- :
-
-
-
-
- "
- minalter == $i ? "selected" : "") . ">" . $i . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
-
- "
- maxalter == $i ? "selected" : "") . ">" . $i . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- ohnealter == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($werte[$i]) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- JText::_('COM_SPORTSMANAGER_CATEGORY_ALL'), 1 => JText::_('COM_SPORTSMANAGER_MEN_NO_JUNIOR_SENIOR'), 5 => JText::_('COM_SPORTSMANAGER_MEN_WITH_JUNIOR_SENIOR'), 2 => JText::_('COM_SPORTSMANAGER_WOMEN_NO_JUNIOR_SENIOR'), 6 => JText::_('COM_SPORTSMANAGER_WOMEN_WITH_JUNIOR_SENIOR'), 3 => JText::_('COM_SPORTSMANAGER_CATEGORY_JUNIORS'), 4 => JText::_('COM_SPORTSMANAGER_CATEGORY_SENIORS'));
- foreach ($wertungskategorie as $i => $wert)
- {
- echo "wertungskategorie == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($wert) . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- rangliste_system_id . "\" " . ($rangliste != null ? ($rangliste->system_id == $system->rangliste_system_id ? "selected" : "") : "") . ">" . htmlentities_utf8($system->systembezeichnung) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- status == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($status[$i]) . "";
- }
- ?>
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+ :
+
+
+
+ saison_id . "\"" . ($rangliste != null ? ($rangliste->saison_id == $saison->saison_id ? " selected" : "") : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ kategorie == $i ? " selected" : "") : "") . ">" . $i . (isset($kategorien[$i]) ? htmlentities_utf8(" " . $kategorien[$i]) : "") . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ reihenfolge == $i ? " selected" : "") : "") . ">" . $i . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ erster_tag;
+ else
+ $datum = date("Y-m-d");
+ $datum_tag = substr($datum, 8, 2);
+ for ($i = 1; $i <= 31; $i++) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ " . htmlentities_utf8($monate[$i - 1]) . "";
+ }
+ ?>
+
+
+ = 2000; $i--) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ letzter_tag;
+ else
+ $datum = date("Y-m-d");
+ $datum_tag = substr($datum, 8, 2);
+ for ($i = 1; $i <= 31; $i++) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ " . htmlentities_utf8($monate[$i - 1]) . "";
+ }
+ ?>
+
+
+ = 2000; $i--) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ streichergebnisse < 0) || ($i == 2 && $rangliste->streichergebnisse > 0)) ? " selected" : "") : "") . ">" . htmlentities_utf8($maximal_gewertet_typ[$i]) . "";
+ }
+ ?>
+
+
+
+
+
+
+
+ :
+
+
+
+
+ geschlecht == 1) echo "selected"; ?>>
+ geschlecht == 2) echo "selected"; ?>>
+
+
+
+
+
+ :
+
+
+ lizenzen) && in_array($lizenz, $rangliste->lizenzen)) ? ' checked' : '';
+ echo ' ' . $lizenz . ' ';
+ }
+ ?>
+
+
+
+
+
+ :
+
+
+
+
+ "
+ minalter == $i ? "selected" : "") . ">" . $i . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+ "
+ maxalter == $i ? "selected" : "") . ">" . $i . "";
+ }
+ ?>
+
+
+
+
+ vstyle="text-align: right">
+
+ :
+
+
+
+ ohnealter == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($werte[$i]) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ Text::_('COM_SPORTSMANAGER_CATEGORY_ALL'), 1 => Text::_('COM_SPORTSMANAGER_MEN_NO_JUNIOR_SENIOR'), 5 => Text::_('COM_SPORTSMANAGER_MEN_WITH_JUNIOR_SENIOR'), 2 => Text::_('COM_SPORTSMANAGER_WOMEN_NO_JUNIOR_SENIOR'), 6 => Text::_('COM_SPORTSMANAGER_WOMEN_WITH_JUNIOR_SENIOR'), 3 => Text::_('COM_SPORTSMANAGER_CATEGORY_JUNIORS'), 4 => Text::_('COM_SPORTSMANAGER_CATEGORY_SENIORS'));
+ foreach ($wertungskategorie as $i => $wert) {
+ echo "wertungskategorie == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($wert) . " ";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ rangliste_system_id . "\" " . ($rangliste != null ? ($rangliste->system_id == $system->rangliste_system_id ? "selected" : "") : "") . ">" . htmlentities_utf8($system->systembezeichnung) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ status == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($status[$i]) . "";
+ }
+ ?>
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
"/>
-
-
+ ?>
+
'bezeichnung); ?>
- ':
-
+ ':
+
+ href="">
+ href="rangliste_id); ?>">
+ href="rangliste_id); ?>"
+ onclick="return confirm('');">
+ href="rangliste_id); ?>"
+ onclick="return confirm('');">
- 0)
- {
- ?>
+ if (count($turnierdisziplinen) > 0) {
+ ?>
-
+ $k = 0;
+ foreach ($turnierdisziplinen as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
turnierbezeichnung . (!empty($row->turnierort) ? (" in " . $row->turnierort) : "") . ": " . $row->disziplin); ?>
+ href="rangliste_id . '&id=' . $row->rangliste_turnierdisziplin_id); ?>">turnierbezeichnung . (!empty($row->turnierort) ? (" in " . $row->turnierort) : "") . ": " . $row->disziplin); ?>
- systembezeichnung != null ? $row->systembezeichnung : JText::_('COM_SPORTSMANAGER_RANKING_SETTING')); ?>
+ systembezeichnung != null ? $row->systembezeichnung : Text::_('COM_SPORTSMANAGER_RANKING_SETTING')); ?>
- wertung >= 0 ? ($row->wertung . "-fach") : ("1/" . abs($row->wertung) . "-fach");
- if ($row->doppel_teilwertung != 1)
- echo ", DT: " . ($row->doppel_teilwertung == 0 ? JText::_('COM_SPORTSMANAGER_NONE2') : ("1/" . abs($row->doppel_teilwertung) . "-fach"));
- ?>
+ wertung >= 0 ? ($row->wertung . "-fach") : ("1/" . abs($row->wertung) . "-fach");
+ if ($row->doppel_teilwertung != 1)
+ echo ", DT: " . ($row->doppel_teilwertung == 0 ? Text::_('COM_SPORTSMANAGER_NONE2') : ("1/" . abs($row->doppel_teilwertung) . "-fach"));
+ ?>
beginn); ?>
X
+ href="rangliste_id . '&id=' . $row->rangliste_turnierdisziplin_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
-
+ static function adminEditRanglisteTurnierdisziplin($rangliste, $ranglisteTurnierdisziplin, $turnierdisziplinen, $systeme): void
+ {
+ global $params;
+ ?>
+
'bezeichnung); ?>
- ':
+ ':
-
-
-
-
-
-
- :
-
-
-
- turnierdisziplin_id . "\" " . ($ranglisteTurnierdisziplin != null ? ($ranglisteTurnierdisziplin->turnierdisziplin_id == $turnierdisziplin->turnierdisziplin_id ? "selected" : "") : "") . ">" . htmlentities_utf8($turnierdisziplin->turnierbezeichnung . (!empty($turnierdisziplin->turnierort) ? (" in " . $turnierdisziplin->turnierort) : "") . ": " . $turnierdisziplin->disziplin . " (" . FormatiertesDatum($turnierdisziplin->beginn) . ")") . "";
- ?>
-
-
-
-
-
- :
-
-
-
-
- rangliste_system_id . "\" " . ($ranglisteTurnierdisziplin != null ? ($ranglisteTurnierdisziplin->system_id == $system->rangliste_system_id ? "selected" : "") : "") . ">" . htmlentities_utf8($system->systembezeichnung) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- = 0.75; $i -= 0.25)
- echo "wertung == $i ? "selected" : "") : ($i == 1 ? "selected" : "")) . ">" . htmlentities_utf8($i . "-fach") . " ";
- for ($i = -0.75; $i >= -10; $i -= 0.25)
- {
- if ($i == -1)
- continue;
- echo "wertung == $i ? "selected" : "") : "") . ">" . htmlentities_utf8("1/" . abs($i) . "-fach") . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
-
- doppel_teilwertung == 0) echo " selected"; ?>>
- = -10; $i -= 0.25)
- echo "doppel_teilwertung == $i ? "selected" : "") : "") . ">" . htmlentities_utf8("1/" . abs($i) . "-fach") . " ";
- ?>
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+ turnierdisziplin_id . "\" " . ($ranglisteTurnierdisziplin != null ? ($ranglisteTurnierdisziplin->turnierdisziplin_id == $turnierdisziplin->turnierdisziplin_id ? "selected" : "") : "") . ">" . htmlentities_utf8($turnierdisziplin->turnierbezeichnung . (!empty($turnierdisziplin->turnierort) ? (" in " . $turnierdisziplin->turnierort) : "") . ": " . $turnierdisziplin->disziplin . " (" . FormatiertesDatum($turnierdisziplin->beginn) . ")") . "";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+ rangliste_system_id . "\" " . ($ranglisteTurnierdisziplin != null ? ($ranglisteTurnierdisziplin->system_id == $system->rangliste_system_id ? "selected" : "") : "") . ">" . htmlentities_utf8($system->systembezeichnung) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ = 0.75; $i -= 0.25)
+ echo "wertung == $i ? "selected" : "") : ($i == 1 ? "selected" : "")) . ">" . htmlentities_utf8($i . "-fach") . " ";
+ for ($i = -0.75; $i >= -10; $i -= 0.25) {
+ if ($i == -1)
+ continue;
+ echo "wertung == $i ? "selected" : "") : "") . ">" . htmlentities_utf8("1/" . abs($i) . "-fach") . " ";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+ doppel_teilwertung == 0) echo " selected"; ?>>
+ = -10; $i -= 0.25)
+ echo "doppel_teilwertung == $i ? "selected" : "") : "") . ">" . htmlentities_utf8("1/" . abs($i) . "-fach") . " ";
+ ?>
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
"/>
-
-
- :
+ static function adminEditSpielerstatistik($spielerstatistik, $kategorien, $saisons): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
+
"/>
-
-
+ ?>
+
'bezeichnung); ?>
- ':
-
+ ':
+
+ href="">
+ href="bestenliste_id); ?>">
+ href="bestenliste_id); ?>">
+ href="bestenliste_id); ?>"
+ onclick="return confirm('');">
- 0)
- {
- ?>
+ if (count($veranstaltungen) > 0) {
+ ?>
-
+ $k = 0;
+ foreach ($veranstaltungen as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
bezeichnung); ?>
+ href="bestenliste_id . '&id=' . $row->bestenliste_veranstaltung_id); ?>">bezeichnung); ?>
erster_tag, false, false)); ?>
letzter_tag, false, false)); ?>
X
+ href="bestenliste_id . '&id=' . $row->bestenliste_veranstaltung_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
- 0)
- {
- ?>
+ if (count($individualwettbewerbe) > 0) {
+ ?>
-
+ $k = 0;
+ foreach ($individualwettbewerbe as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
bezeichnung); ?>
+ href="bestenliste_id . '&id=' . $row->bestenliste_individualwettbewerb_id); ?>">bezeichnung); ?>
saisonbezeichnung); ?>
X
+ href="bestenliste_id . '&id=' . $row->bestenliste_individualwettbewerb_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
+ static function adminEditSpielerstatistikVeranstaltung($spielerstatistik, $spielerstatistikVeranstaltung, $veranstaltungen): void
+ {
+ global $params;
+ ?>
Veranstaltung in Spielerstatistik
'bezeichnung); ?>
- ':
+ ':
-
-
-
-
-
-
- :
-
-
-
- veranstaltung_id . "\" " . ($spielerstatistikVeranstaltung != null ? ($spielerstatistikVeranstaltung->veranstaltung_id == $row->veranstaltung_id ? "selected" : "") : "") . ">" . htmlentities_utf8($row->bezeichnung . " (" . FormatiertesDatum($row->erster_tag, false, false) . " - " . FormatiertesDatum($row->letzter_tag, false, false) . ")") . "";
- }
- ?>
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+ veranstaltung_id . "\" " . ($spielerstatistikVeranstaltung != null ? ($spielerstatistikVeranstaltung->veranstaltung_id == $row->veranstaltung_id ? "selected" : "") : "") . ">" . htmlentities_utf8($row->bezeichnung . " (" . FormatiertesDatum($row->erster_tag, false, false) . " - " . FormatiertesDatum($row->letzter_tag, false, false) . ")") . "";
+ }
+ ?>
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
"/>
-
+ static function adminEditSpielerstatistikIndividualwettbewerb($spielerstatistik, $spielerstatistikIndividualwettbewerb, $individualwettbewerbe): void
+ {
+ global $params;
+ ?>
Individualwettbewerb in
Spielerstatistik 'bezeichnung); ?>
- ':
+ ':
-
-
-
-
-
-
- :
-
-
-
- individualwettbewerb_id . "\" " . ($spielerstatistikIndividualwettbewerb != null ? ($spielerstatistikIndividualwettbewerb->individualwettbewerb_id == $row->individualwettbewerb_id ? "selected" : "") : "") . ">" . htmlentities_utf8($row->saisonbezeichnung . ": " . $row->bezeichnung) . "";
- ?>
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+ individualwettbewerb_id . "\" " . ($spielerstatistikIndividualwettbewerb != null ? ($spielerstatistikIndividualwettbewerb->individualwettbewerb_id == $row->individualwettbewerb_id ? "selected" : "") : "") . ">" . htmlentities_utf8($row->saisonbezeichnung . ": " . $row->bezeichnung) . "";
+ ?>
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
"/>
-
-
- :
-
+ ?>
+
+ :
+
- 0)
- {
- ?>
+ if (count($rows) > 0) {
+ ?>
-
+
- name)); ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
+ name)); ?>
username); ?>
- zugriffe; ?>
+ zugriffe; ?>
X
+ href="moderator_id); ?>"
+ onclick="return confirm('Willst du den Moderator wirklich entfernen?');"
+ title="">X
-
+
-
+ static function adminEditModerator($row, $zugriffe, $users): void
+ {
+ global $params;
+ ?>
- Moderator:
+ Moderator:
-
-
-
-
-
-
- :
-
-
-
- id . "\"" . (!empty($row) && $row->moderator_user_id == $user->id ? " selected" : "") . ">" . htmlentities_utf8($user->name) . ($user->username != $user->name ? (" (" . htmlentities_utf8($user->username) . ")") : "") . "";
- ?>
-
-
-
-
-
- :
-
-
-
-
-
- JText::_('COM_SPORTSMANAGER_MANAGE_MODERATORS'),
- "basiseinstellungen_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_BASIC_SETTING'),
- "kategorien_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_CATEGORIES'),
- "organisationen_aendern" => JText::_('COM_SPORTSMANAGER_MANAGING_ORGANISATIONS'),
- "saisons_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_SEASONS'),
- "spieler_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_PLAYERS'),
- "spieler_lesen_erweiterte_daten" => JText::_('COM_SPORTSMANAGER_PRIVATE_PLAYER_DATA'),
- "vereine_aendern" => JText::_('COM_SPORTSMANAGER_ASSOCIATIONS_MEMBERSHIPS_MANAGE'),
- "einstufungen_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_CLASSIFICATIONS'),
- "mannschaftsspielplaene_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_TEAM_PLANS'),
- "verschieberegeln_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_RULES_POSTPONEMENT'),
- "spielorte_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_VENUES'),
- "mannschaftswettbewerb_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_TEAM_COMPETITIONS'),
- "spielerstatistiken_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_PLAYER_STATISTICS'),
- "turniere_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_TOURNAMENTS'),
- "individualwettbewerbe_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_INDIVIDUAL_COMPETITIONS'),
- "ranglistenwertungen_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_RANKING_VOTES'),
- "ranglisten_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_RANKING'),
- "rechnungen_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_MEMBERS_BILLS'),
- "verteiler_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_DISTRIBUTIORS'),
- "verteiler_lesen" => JText::_('COM_SPORTSMANAGER_READ_DISTRIBUTIORS'),
- "termine_aendern" => JText::_('COM_SPORTSMANAGER_MANAGE_EVENTS'),
- "termine_benachrichtigung" => JText::_('COM_SPORTSMANAGER_NOTIFICATION_APPOINTMENTS'));
- foreach ($werte as $wert => $bezeichnung)
- {
- $auswahl = false;
- if ($row != null)
- {
- foreach ($zugriffe as $zugriff)
- {
- if ($zugriff->zugriff == $wert)
- {
- $auswahl = true;
- break;
- }
- }
- }
- ?>
- " />
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ :
+
+
+
+ id . "\"" . (!empty($row) && $row->moderator_user_id == $user->id ? " selected" : "") . ">" . htmlentities_utf8($user->name) . ($user->username != $user->name ? (" (" . htmlentities_utf8($user->username) . ")") : "") . "";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+
+ Text::_('COM_SPORTSMANAGER_MANAGE_MODERATORS'),
+ "basiseinstellungen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_BASIC_SETTING'),
+ "kategorien_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_CATEGORIES'),
+ "organisationen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGING_ORGANISATIONS'),
+ "saisons_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_SEASONS'),
+ "spieler_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_PLAYERS'),
+ "spieler_lesen_erweiterte_daten" => Text::_('COM_SPORTSMANAGER_PRIVATE_PLAYER_DATA'),
+ "vereine_aendern" => Text::_('COM_SPORTSMANAGER_ASSOCIATIONS_MEMBERSHIPS_MANAGE'),
+ "einstufungen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_CLASSIFICATIONS'),
+ "mannschaftsspielplaene_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_TEAM_PLANS'),
+ "verschieberegeln_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_RULES_POSTPONEMENT'),
+ "spielorte_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_VENUES'),
+ "mannschaftswettbewerb_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_TEAM_COMPETITIONS'),
+ "spielerstatistiken_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_PLAYER_STATISTICS'),
+ "turniere_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_TOURNAMENTS'),
+ "individualwettbewerbe_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_INDIVIDUAL_COMPETITIONS'),
+ "ranglistenwertungen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_RANKING_VOTES'),
+ "ranglisten_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_RANKING'),
+ "rechnungen_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_MEMBERS_BILLS'),
+ "verteiler_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_DISTRIBUTIORS'),
+ "verteiler_lesen" => Text::_('COM_SPORTSMANAGER_READ_DISTRIBUTIORS'),
+ "termine_aendern" => Text::_('COM_SPORTSMANAGER_MANAGE_EVENTS'),
+ "termine_benachrichtigung" => Text::_('COM_SPORTSMANAGER_NOTIFICATION_APPOINTMENTS'));
+ foreach ($werte as $wert => $bezeichnung) {
+ $auswahl = false;
+ if ($row != null) {
+ foreach ($zugriffe as $zugriff) {
+ if ($zugriff->zugriff == $wert) {
+ $auswahl = true;
+ break;
+ }
+ }
+ }
+ ?>
+
+ " />
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
"/>
-
-
- :
-
+ ?>
+
+ :
+
- 0)
- {
- ?>
+ if (count($rows) > 0) {
+ ?>
-
+ $k = 0;
+ foreach ($rows as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
saisonbezeichnung)); ?>
+ href="saison_id); ?>">saisonbezeichnung)); ?>
- veranstaltungen == 0 && $row->turniere == 0 && $row->ranglisten == 0 && $row->bestenlisten == 0) { ?>
+ veranstaltungen == 0 && $row->turniere == 0 && $row->ranglisten == 0 && $row->bestenlisten == 0) { ?>
X
+ href="saison_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
+
-
-
- :
+ static function adminEditSaison($row): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
+
"/>
-
-
- :
-
+ ?>
+
+ :
+
- 0)
- {
- ?>
+ if (count($rows) > 0) {
+ ?>
-
+ $k = 0;
+ foreach ($rows as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
veranstalterbezeichnung)); ?>
+ href="veranstalter_id); ?>">veranstalterbezeichnung)); ?>
kategorie); ?>
veranstalterkuerzel); ?>
- veranstaltungen == 0 && $row->vereine == 0 && $row->turniere == 0 && $row->individualwettbewerbe == 0) { ?>
+ veranstaltungen == 0 && $row->vereine == 0 && $row->turniere == 0 && $row->individualwettbewerbe == 0) { ?>
X
+ href="veranstalter_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
+
-
-
- :
-
+ ?>
+
+ :
+
- 0)
- {
- ?>
+ if (count($rows) > 0) {
+ ?>
- JText::_('COM_SPORTSMANAGER_GENERALLY'), 1 => JText::_('COM_SPORTSMANAGER_SINGLES'), 2 => JText::_('COM_SPORTSMANAGER_DOUBLES'));
- $k = 0;
- foreach ($rows as $row)
- {
- ?>
+ $typ = array(0 => Text::_('COM_SPORTSMANAGER_GENERALLY'), 1 => Text::_('COM_SPORTSMANAGER_SINGLES'), 2 => Text::_('COM_SPORTSMANAGER_DOUBLES'));
+ $k = 0;
+ foreach ($rows as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
bezeichnung)); ?>
+ href="einstufung_id); ?>">bezeichnung)); ?>
- typ]; ?>
- prioritaet; ?>
- elo_min)) echo $row->elo_min; ?>
- elo_max)) echo $row->elo_max; ?>
- ranglisten; ?>
+ typ]; ?>
+ prioritaet; ?>
+ elo_min)) echo $row->elo_min; ?>
+ elo_max)) echo $row->elo_max; ?>
+ ranglisten; ?>
X
+ href="einstufung_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
-
- :
+ static function adminEditEinstufung($row, $ranglisten): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
+
"/>
-
-
- :
+ static function adminEditVeranstalter($row, $berechtigt_fuer_veranstalter, $users, $kategorien): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
+
"/>
-
-
- :
+ static function adminEditVeranstaltung($row, $veranstalter, $spielmodus, $verschieberegeln, $kategorien, $saisons, $users, $berechtigt_fuer_veranstaltung, $vorlage): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
- saison_id . "\"" . ($row != null ? ($row->saison_id == $saison->saison_id ? " selected" : "") : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- kategorie == $i ? " selected" : "") : "") . ">" . $i . (isset($kategorien[$i]) ? htmlentities_utf8(" " . $kategorien[$i]) : "") . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- reihenfolge == $i ? " selected" : "") : "") . ">" . $i . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- veranstalter_id . "\" " . ($row != null ? ($veranstalter_row->veranstalter_id == $row->veranstalter_id ? "selected" : "") : "") . ">" . htmlentities_utf8($veranstalter_row->veranstalterbezeichnung) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- erster_tag;
- else
- $datum = date("Y-m-d");
- $datum_tag = substr($datum, 8, 2);
- for ($i = 1; $i <= 31; $i++)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- " . htmlentities_utf8($monate[$i - 1]) . "";
- }
- ?>
-
-
- = 2000; $i--)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- letzter_tag;
- else
- $datum = date("Y-m-d");
- $datum_tag = substr($datum, 8, 2);
- for ($i = 1; $i <= 31; $i++)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- " . htmlentities_utf8($monate[$i - 1]) . "";
- }
- ?>
-
-
- = 2000; $i--)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- teamspiel_modus_id . "\"" . ($row != null ? ($row->modus_id == $modus->teamspiel_modus_id ? "selected" : "") : "") . ">" . htmlentities_utf8($modus->bezeichnung) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
-
- verschieberegel_id . "\"" . ($row != null ? ($row->verschieberegel_id == $verschieberegel->verschieberegel_id ? "selected" : "") : "") . ">" . htmlentities_utf8($verschieberegel->bezeichnung) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- JText::_('COM_SPORTSMANAGER_NONE2'),
- 7 => JText::_('COM_SPORTSMANAGER_WIN_1POINT_POINTDIFFERENCE'),
- 8 => JText::_('COM_SPORTSMANAGER_WIN_1POINT_POINTSRATE'),
- 9 => JText::_('COM_SPORTSMANAGER_WIN_1POINT_NO_DETAILED_SUMMARY'),
- 1 => JText::_('COM_SPORTSMANAGER_WIN_2POINT_DRAW_1POINT_DIFFERENCE'),
- 2 => JText::_('COM_SPORTSMANAGER_WIN_2POINT_DRAW_1POINT_POINTSRATE'),
- 3 => JText::_('COM_SPORTSMANAGER_WIN_2POINT_DRAW_1POINT_SUMMARY'),
- 4 => JText::_('COM_SPORTSMANAGER_WIN_3POINT_DRAW_1POINT_DIFFERENCE'),
- 5 => JText::_('COM_SPORTSMANAGER_WIN_3POINT_DRAW_1POINT_POINTSRATE'),
- 6 => JText::_('COM_SPORTSMANAGER_WIN_3POINT_DRAW_1POINT_SUMMARY'),
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+ :
+
+
+
+ saison_id . "\"" . ($row != null ? ($row->saison_id == $saison->saison_id ? " selected" : "") : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ kategorie == $i ? " selected" : "") : "") . ">" . $i . (isset($kategorien[$i]) ? htmlentities_utf8(" " . $kategorien[$i]) : "") . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ reihenfolge == $i ? " selected" : "") : "") . ">" . $i . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ veranstalter_id . "\" " . ($row != null ? ($veranstalter_row->veranstalter_id == $row->veranstalter_id ? "selected" : "") : "") . ">" . htmlentities_utf8($veranstalter_row->veranstalterbezeichnung) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ erster_tag;
+ else
+ $datum = date("Y-m-d");
+ $datum_tag = substr($datum, 8, 2);
+ for ($i = 1; $i <= 31; $i++) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ " . htmlentities_utf8($monate[$i - 1]) . "";
+ }
+ ?>
+
+
+ = 2000; $i--) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ letzter_tag;
+ else
+ $datum = date("Y-m-d");
+ $datum_tag = substr($datum, 8, 2);
+ for ($i = 1; $i <= 31; $i++) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ " . htmlentities_utf8($monate[$i - 1]) . "";
+ }
+ ?>
+
+
+ = 2000; $i--) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ teamspiel_modus_id . "\"" . ($row != null ? ($row->modus_id == $modus->teamspiel_modus_id ? "selected" : "") : "") . ">" . htmlentities_utf8($modus->bezeichnung) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+ verschieberegel_id . "\"" . ($row != null ? ($row->verschieberegel_id == $verschieberegel->verschieberegel_id ? "selected" : "") : "") . ">" . htmlentities_utf8($verschieberegel->bezeichnung) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ Text::_('COM_SPORTSMANAGER_NONE2'),
+ 7 => Text::_('COM_SPORTSMANAGER_WIN_1POINT_POINTDIFFERENCE'),
+ 8 => Text::_('COM_SPORTSMANAGER_WIN_1POINT_POINTSRATE'),
+ 9 => Text::_('COM_SPORTSMANAGER_WIN_1POINT_NO_DETAILED_SUMMARY'),
+ 1 => Text::_('COM_SPORTSMANAGER_WIN_2POINT_DRAW_1POINT_DIFFERENCE'),
+ 2 => Text::_('COM_SPORTSMANAGER_WIN_2POINT_DRAW_1POINT_POINTSRATE'),
+ 3 => Text::_('COM_SPORTSMANAGER_WIN_2POINT_DRAW_1POINT_SUMMARY'),
+ 4 => Text::_('COM_SPORTSMANAGER_WIN_3POINT_DRAW_1POINT_DIFFERENCE'),
+ 5 => Text::_('COM_SPORTSMANAGER_WIN_3POINT_DRAW_1POINT_POINTSRATE'),
+ 6 => Text::_('COM_SPORTSMANAGER_WIN_3POINT_DRAW_1POINT_SUMMARY'),
- 27 => JText::_('COM_SPORTSMANAGER_WIN_1POINT_SWISS_SYSTEM_DIFFERENCE'),
- 28 => JText::_('COM_SPORTSMANAGER_WIN_1POINT_SWISS_SYSTEM_POINTSRATE'),
- 29 => JText::_('COM_SPORTSMANAGER_WIN_1POINT_SWISS_SYSTEM_SUMMARY'),
- 21 => JText::_('COM_SPORTSMANAGER_WIN_2POINT_DRAW_1POINT_DIFFERENCE_SWISS_SYSTEM_DIFFERENCE'),
- 22 => JText::_('COM_SPORTSMANAGER_WIN_2POINT_DRAW_1POINT_DIFFERENCE_SWISS_SYSTEM_POINTSRATE'),
- 23 => JText::_('COM_SPORTSMANAGER_WIN_2POINT_DRAW_1POINT_DIFFERENCE_SWISS_SYSTEM_SUMMARY'),
- 24 => JText::_('COM_SPORTSMANAGER_WIN_3POINT_DRAW_1POINT_DIFFERENCE_SWISS_SYSTEM_DIFFERENCE'),
- 25 => JText::_('COM_SPORTSMANAGER_WIN_3POINT_DRAW_1POINT_DIFFERENCE_SWISS_SYSTEM_POINTSRATE'),
- 26 => JText::_('COM_SPORTSMANAGER_WIN_3POINT_DRAW_1POINT_DIFFERENCE_SWISS_SYSTEM_SUMMARY'),
+ 27 => Text::_('COM_SPORTSMANAGER_WIN_1POINT_SWISS_SYSTEM_DIFFERENCE'),
+ 28 => Text::_('COM_SPORTSMANAGER_WIN_1POINT_SWISS_SYSTEM_POINTSRATE'),
+ 29 => Text::_('COM_SPORTSMANAGER_WIN_1POINT_SWISS_SYSTEM_SUMMARY'),
+ 21 => Text::_('COM_SPORTSMANAGER_WIN_2POINT_DRAW_1POINT_DIFFERENCE_SWISS_SYSTEM_DIFFERENCE'),
+ 22 => Text::_('COM_SPORTSMANAGER_WIN_2POINT_DRAW_1POINT_DIFFERENCE_SWISS_SYSTEM_POINTSRATE'),
+ 23 => Text::_('COM_SPORTSMANAGER_WIN_2POINT_DRAW_1POINT_DIFFERENCE_SWISS_SYSTEM_SUMMARY'),
+ 24 => Text::_('COM_SPORTSMANAGER_WIN_3POINT_DRAW_1POINT_DIFFERENCE_SWISS_SYSTEM_DIFFERENCE'),
+ 25 => Text::_('COM_SPORTSMANAGER_WIN_3POINT_DRAW_1POINT_DIFFERENCE_SWISS_SYSTEM_POINTSRATE'),
+ 26 => Text::_('COM_SPORTSMANAGER_WIN_3POINT_DRAW_1POINT_DIFFERENCE_SWISS_SYSTEM_SUMMARY'),
- 10 => JText::_('COM_SPORTSMANAGER_ONLY_DETAILED_RATING_POINT_DIFFERENCE'),
- 11 => JText::_('COM_SPORTSMANAGER_ONLY_DETAILED_POINTS_AFTER_POINTSRATE'),
- -1 => JText::_('COM_SPORTSMANAGER_KO_SIMPLE_FULL'),
- -2 => JText::_('COM_SPORTSMANAGER_MANUAL_PRO_TEAMS')
- );
- foreach ($typ as $typ_wert => $typ_bezeichnung)
- echo "tabellenwertung == $typ_wert ? " selected" : "") : "") . ">" . htmlentities_utf8($typ_bezeichnung) . " ";
- ?>
-
-
-
-
-
- :
-
-
-
- unterteilung == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- elo_wertung == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($elo_wertung[$i]) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- status == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($status[$i]) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
-
-
-
-
-
- id . "\"" . ($nummer <= $berechtigte && $berechtigt_fuer_veranstaltung[$nummer - 1]->berechtigt_user_id == $user->id ? "selected" : "") . ">" . htmlentities_utf8($user->name) . ($user->username != $user->name ? (" (" . htmlentities_utf8($user->username) . ")") : "") . "";
- ?>
-
-
- ";
- }
- ?>
-
-
-
-
-
-
- :
-
-
- veranstaltung_id, 0, 0, 720, 240, 'border="0"')) != null)
- {
- ?>
-
-
-
-
- URL:
-
-
-
- URL:
-
-
-
-
-
- :
-
-
- veranstaltung_id, 0, 0, 600, 60, 'border="0"')) != null)
- {
- ?>
-
-
-
-
- URL:
-
-
-
- URL:
-
-
-
-
-
+ 10 => Text::_('COM_SPORTSMANAGER_ONLY_DETAILED_RATING_POINT_DIFFERENCE'),
+ 11 => Text::_('COM_SPORTSMANAGER_ONLY_DETAILED_POINTS_AFTER_POINTSRATE'),
+ -1 => Text::_('COM_SPORTSMANAGER_KO_SIMPLE_FULL'),
+ -2 => Text::_('COM_SPORTSMANAGER_MANUAL_PRO_TEAMS')
+ );
+ foreach ($typ as $typ_wert => $typ_bezeichnung)
+ echo "tabellenwertung == $typ_wert ? " selected" : "") : "") . ">" . htmlentities_utf8($typ_bezeichnung) . " ";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ unterteilung == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ elo_wertung == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($elo_wertung[$i]) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ status == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($status[$i]) . "";
+ }
+ ?>
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+ id . "\"" . ($nummer <= $berechtigte && $berechtigt_fuer_veranstaltung[$nummer - 1]->berechtigt_user_id == $user->id ? "selected" : "") . ">" . htmlentities_utf8($user->name) . ($user->username != $user->name ? (" (" . htmlentities_utf8($user->username) . ")") : "") . "";
+ ?>
+
+
+ ";
+ }
+ ?>
+
+
+
+
+
+
+
+ :
+
+
+ veranstaltung_id, 0, 0, 720, 240, 'border="0"')) != null) {
+ ?>
+
+
+
+
+
+ URL:
+
+
+
+ URL:
+
+
+
+
+
+
+ :
+
+
+ veranstaltung_id, 0, 0, 600, 60, 'border="0"')) != null) {
+ ?>
+
+
+
+
+
+ URL:
+
+
+
+ URL:
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
"/>
-
-
+ ?>
+
'bezeichnung); ?>
- ':
-
+ ':
+
+ href="">
+ href="veranstaltung_id); ?>">
+ href="veranstaltung_id); ?>">
+ href="veranstaltung_id); ?>">
- 0)
- {
- $bilder_anzeigen = false;
- foreach ($rows as $team)
- {
- if (bildHTML("mannschaften", $team->team_id, 28, 28, 0, 0) != null)
- {
- $bilder_anzeigen = true;
- break;
- }
- else if ($team->verein_id != null && bildHTML("vereine", $team->verein_id, 0, 0, 240, 240, 'border="0"') != null)
- {
- $bilder_anzeigen = true;
- break;
- }
- }
- ?>
+ if (count($rows) > 0) {
+ $bilder_anzeigen = false;
+ foreach ($rows as $team) {
+ if (bildHTML("mannschaften", $team->team_id, 28, 28) != null) {
+ $bilder_anzeigen = true;
+ break;
+ } else if ($team->verein_id != null && bildHTML("vereine", $team->verein_id, 0, 0, 240, 240, 'border="0"') != null) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ }
+ ?>
-
+ $k = 0;
+ foreach ($rows as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
-
+
teamname)); ?>
-
-
- team_id, 28, 28, 0, 0, 'border="0"');
- if ($bild != null)
- echo $bild;
- else if ($row->verein_id != null)
- {
- $bild = bildHTML("vereine", $row->verein_id, 28, 28, 0, 0, 'border="0"');
- if ($bild != null)
- echo $bild;
- }
+
+
+ team_id, 28, 28, 0, 0, 'border="0"');
+ if ($bild != null)
+ echo $bild;
+ else if ($row->verein_id != null) {
+ $bild = bildHTML("vereine", $row->verein_id, 28, 28, 0, 0, 'border="0"');
+ if ($bild != null)
+ echo $bild;
+ }
- ?>
+ ?>
-
+
- verein_id != null ? htmlentities_utf8($row->vereinsname) : JText::_('COM_SPORTSMANAGER_NONE2'); ?>
- mitglieder_aktiv . " / " . ($row->mitglieder - $row->mitglieder_aktiv); ?>
+ verein_id != null ? htmlentities_utf8($row->vereinsname) : Text::_('COM_SPORTSMANAGER_NONE2'); ?>
+ mitglieder_aktiv . " / " . ($row->mitglieder - $row->mitglieder_aktiv); ?>
name)) echo htmlentities_utf8($row->name); ?>
- begegnungen == 0) { ?>
+ begegnungen == 0) { ?>
X
+ href="veranstaltung_id . '&id=' . $row->team_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
+
-
-
+ static function adminEditMannschaft($veranstaltung, $row, $veranstaltungen, $vereine, $users, $berechtigt_fuer_team, $teamansprechpartner, $spielorte, $beschraenkter_zugriff_veranstaltungen): void
+ {
+ global $params;
+ ?>
+
'bezeichnung); ?>
- ':
+ ':
-
-
-
-
-
-
- :
-
-
-
-
-
- tabellenwertung == -2)
- {
- ?>
-
-
- :
-
-
-
-
-
-
-
-
- :
-
-
-
-
- veranstalterbezeichnung)
- {
- if ($veranstalterbezeichnung != -1)
- echo "";
- echo "veranstalterbezeichnung != null ? $verein->veranstalterbezeichnung : JText::_('COM_SPORTSMANAGER_WITHOUT_ORGANIZATION')) . "\">";
- $veranstalterbezeichnung = $verein->veranstalterbezeichnung;
- }
- echo "verein_id . "\"" . ($row != null ? ($verein->verein_id == $row->verein_id ? " selected" : "") : "") . ">" . htmlentities_utf8($verein->vereinsname . ($verein->ausgetreten ? " (" . JText::_('COM_SPORTSMANAGER_BEATEN') . ")" : "")) . " ";
- }
- if ($veranstalterbezeichnung != -1)
- echo " ";
- ?>
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
- heimspiel_wochentag : 0;
- $wochentage = array(JText::_('COM_SPORTSMANAGER_WEEK_MONDAY'), JText::_('COM_SPORTSMANAGER_WEEK_TUESDAY'), JText::_('COM_SPORTSMANAGER_WEEK_WEDNESDAY'), JText::_('COM_SPORTSMANAGER_WEEK_THURSDAY'), JText::_('COM_SPORTSMANAGER_WEEK_FRIDAY'), JText::_('COM_SPORTSMANAGER_WEEK_SATURDAY'), JText::_('COM_SPORTSMANAGER_WEEK_SUNDAY'));
- echo " ";
- for ($i = 1; $i <= 7; $i++)
- {
- echo "" . htmlentities_utf8($wochentage[$i - 1]) . " ";
- }
- ?>
-
-
- heimspiel_uhrzeit / 100) : -1;
- echo " ";
- for ($i = 0; $i <= 23; $i++)
- {
- echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
- heimspiel_uhrzeit % 100 : -1;
- echo " ";
- for ($i = 0; $i <= 59; $i += 5)
- {
- echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
-
- ortsname)
- {
- if ($ortsname != -1)
- echo "";
- echo "ortsname) ? $spielort->ortsname : JText::_('COM_SPORTSMANAGER_WITHOUT_PLACE')) . "\">";
- $ortsname = $spielort->ortsname;
- }
- echo "spielort_id . "\"" . ($row != null ? ($spielort->spielort_id == $row->heimspielort_id ? " selected" : "") : "") . ">" . htmlentities_utf8($spielort->name) . " ";
- }
- if ($ortsname != -1)
- echo " ";
- ?>
-
-
-
-
-
- :
-
-
-
- '',
- 1 => JText::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_HOME_AND_AWAY'),
- 2 => JText::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_HOME'),
- 3 => JText::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_HOME_AND_NOT_AWAY'),
- 4 => JText::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_AWAY'),
- 5 => JText::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_AWAY_AND_NOT_HOME'),
- 6 => JText::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_NOT_HOME'),
- 7 => JText::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_NOT_AWAY'),
- 8 => JText::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_NOR_HOME_OR_AWAY')
- );
-
- foreach ($typ as $typ_wert => $typ_bezeichnung)
- echo "nichtraucherschutz == $typ_wert ? " selected" : "") : "") . ">" . htmlentities_utf8($typ_bezeichnung) . " ";
- ?>
-
-
-
- tabellenwertung <= 9)
- {
- ?>
-
-
- :
-
-
-
- 0";
- for ($i = -0.5; $i >= -20; $i -= 0.5)
- {
- echo "zusatzpunkte ? "selected" : "") . ">" . $i . " ";
- }
- ?>
-
-
-
- veranstaltung_id] = $v->bezeichnung . " (" . FormatiertesDatum($v->erster_tag, false, false) . " - " . FormatiertesDatum($v->letzter_tag, false, false) . ")";
- if ($row != null && $row->teamgruppe_id != null && $v->team_id != null)
- {
- array_push($veranstaltungen_beruecksichtigt, $v->veranstaltung_id);
- array_push($veranstaltungen_beruecksichtigt_begegnungen, $v->team_begegnungen);
- array_push($veranstaltungen_beruecksichtigt_moderator, $beschraenkter_zugriff_veranstaltungen ? $v->veranstaltung_moderator : 1);
- }
- }
- $n = count($veranstaltungen_beruecksichtigt);
- ?>
-
-
-
-
- :
-
-
- 0 || ($beschraenkter_zugriff_veranstaltungen && !$veranstaltungen_beruecksichtigt_moderator[$i])))
- {
- echo htmlentities_utf8($veranstaltungen_bezeichnungen[$veranstaltungen_beruecksichtigt[$i]]);
- echo " ";
- }
- else
- {
- ?>
-
-
- veranstaltung_id . "\"" . ($row != null && $i < $n ? ($v->veranstaltung_id == $veranstaltungen_beruecksichtigt[$i] ? " selected" : "") : "") . ">" . htmlentities_utf8($veranstaltungen_bezeichnungen[$v->veranstaltung_id]) . "";
- }
- ?>
-
-
-
-
-
-
-
-
-
-
- :
-
-
- "/>
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
- team_id, 0, 0, 240, 240, 'border="0"')) != null)
- {
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ :
+
+
+
+
+ veranstalterbezeichnung) {
+ if ($veranstalterbezeichnung != -1)
+ echo "";
+ echo "veranstalterbezeichnung != null ? $verein->veranstalterbezeichnung : Text::_('COM_SPORTSMANAGER_WITHOUT_ORGANIZATION')) . "\">";
+ $veranstalterbezeichnung = $verein->veranstalterbezeichnung;
+ }
+ echo "verein_id . "\"" . ($row != null ? ($verein->verein_id == $row->verein_id ? " selected" : "") : "") . ">" . htmlentities_utf8($verein->vereinsname . ($verein->ausgetreten ? " (" . Text::_('COM_SPORTSMANAGER_BEATEN') . ")" : "")) . " ";
+ }
+ if ($veranstalterbezeichnung != -1)
+ echo " ";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+ :
+
+
+
+ heimspiel_wochentag : 0;
+ $wochentage = array(Text::_('COM_SPORTSMANAGER_WEEK_MONDAY'), Text::_('COM_SPORTSMANAGER_WEEK_TUESDAY'), Text::_('COM_SPORTSMANAGER_WEEK_WEDNESDAY'), Text::_('COM_SPORTSMANAGER_WEEK_THURSDAY'), Text::_('COM_SPORTSMANAGER_WEEK_FRIDAY'), Text::_('COM_SPORTSMANAGER_WEEK_SATURDAY'), Text::_('COM_SPORTSMANAGER_WEEK_SUNDAY'));
+ echo " ";
+ for ($i = 1; $i <= 7; $i++) {
+ echo "" . htmlentities_utf8($wochentage[$i - 1]) . " ";
+ }
+ ?>
+
+
+ heimspiel_uhrzeit / 100) : -1;
+ echo " ";
+ for ($i = 0; $i <= 23; $i++) {
+ echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
+ }
+ ?>
+
+
+ heimspiel_uhrzeit % 100 : -1;
+ echo " ";
+ for ($i = 0; $i <= 59; $i += 5) {
+ echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+ ortsname) {
+ if ($ortsname != -1)
+ echo "";
+ echo "ortsname) ? $spielort->ortsname : Text::_('COM_SPORTSMANAGER_WITHOUT_PLACE')) . "\">";
+ $ortsname = $spielort->ortsname;
+ }
+ echo "spielort_id . "\"" . ($row != null ? ($spielort->spielort_id == $row->heimspielort_id ? " selected" : "") : "") . ">" . htmlentities_utf8($spielort->name) . " ";
+ }
+ if ($ortsname != -1)
+ echo " ";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ '',
+ 1 => Text::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_HOME_AND_AWAY'),
+ 2 => Text::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_HOME'),
+ 3 => Text::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_HOME_AND_NOT_AWAY'),
+ 4 => Text::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_AWAY'),
+ 5 => Text::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_AWAY_AND_NOT_HOME'),
+ 6 => Text::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_NOT_HOME'),
+ 7 => Text::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_NOT_AWAY'),
+ 8 => Text::_('COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_NOR_HOME_OR_AWAY')
+ );
-
-
-
-
-
-
+ foreach ($typ as $typ_wert => $typ_bezeichnung)
+ echo "nichtraucherschutz == $typ_wert ? " selected" : "") : "") . ">" . htmlentities_utf8($typ_bezeichnung) . " ";
+ ?>
+
+
+
+ tabellenwertung <= 9) {
+ ?>
+
+
+
+ :
+
+
+
+ 0";
+ for ($i = -0.5; $i >= -20; $i -= 0.5) {
+ echo "zusatzpunkte ? "selected" : "") . ">" . $i . " ";
+ }
+ ?>
+
+
+
+ veranstaltung_id] = $v->bezeichnung . " (" . FormatiertesDatum($v->erster_tag, false, false) . " - " . FormatiertesDatum($v->letzter_tag, false, false) . ")";
+ if ($row != null && $row->teamgruppe_id != null && $v->team_id != null) {
+ $veranstaltungen_beruecksichtigt[] = $v->veranstaltung_id;
+ $veranstaltungen_beruecksichtigt_begegnungen[] = $v->team_begegnungen;
+ $veranstaltungen_beruecksichtigt_moderator[] = $beschraenkter_zugriff_veranstaltungen ? $v->veranstaltung_moderator : 1;
+ }
+ }
+ $n = count($veranstaltungen_beruecksichtigt);
+ ?>
+
+
+
+
+
+ :
+
+
+ 0 || ($beschraenkter_zugriff_veranstaltungen && !$veranstaltungen_beruecksichtigt_moderator[$i]))) {
+ echo htmlentities_utf8($veranstaltungen_bezeichnungen[$veranstaltungen_beruecksichtigt[$i]]);
+ echo " ";
+ } else {
+ ?>
+
+
+ veranstaltung_id . "\"" . ($row != null && $i < $n ? ($v->veranstaltung_id == $veranstaltungen_beruecksichtigt[$i] ? " selected" : "") : "") . ">" . htmlentities_utf8($veranstaltungen_bezeichnungen[$v->veranstaltung_id]) . "";
+ }
+ ?>
+
+
+
+
+
-
-
+
+
+
+ :
+
+
+ "/>
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id . "\"" . ($nummer <= $berechtigte && $berechtigt_fuer_team[$nummer - 1]->berechtigt_user_id == $user->id ? "selected" : "") . ">" . htmlentities_utf8($user->name) . ($user->username != $user->name ? (" (" . htmlentities_utf8($user->username) . ")") : "") . "";
+ ?>
+
+
+ ";
+ }
+ ?>
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+ :
+
+
+ team_id, 0, 0, 240, 240, 'border="0"')) != null) {
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"/>
-
-
+ static function adminKopierenMannschaft($veranstaltung, $teams, $veranstaltungen): void
+ {
+ global $params;
+ ?>
+
'bezeichnung); ?>
- ':
+ ':
-
-
-
-
+ static function adminVerknuepfenMannschaft($veranstaltung, $teams, $veranstaltungen): void
+ {
+ global $params;
+ ?>
+
'bezeichnung); ?>
- ':
+ ':
-
-
-
+
-
-
+ ?>
+
'teamname); ?>
- ':
-
+ ':
+
+ href="veranstaltung_id); ?>">
- verein_id != 0)
- {
- ?>
+ verein_id != 0) {
+ ?>
+ href="team_id); ?>">
+ href="team_id); ?>">
-
+
+ href="team_id); ?>">
-
+
- 0)
- {
- $bilder_anzeigen = false;
- foreach ($mitglieder as $row)
- {
- if (bildHTML("mannschaftsmitglieder", $row->mitglied_von_team_id, 30, 40, 0, 0) != null)
- {
- $bilder_anzeigen = true;
- break;
- }
- else if (bildHTML("spieler", $row->spieler_id, 30, 40, 0, 0) != null)
- {
- $bilder_anzeigen = true;
- break;
- }
- }
- ?>
+ if (count($mitglieder) > 0) {
+ $bilder_anzeigen = false;
+ foreach ($mitglieder as $row) {
+ if (bildHTML("mannschaftsmitglieder", $row->mitglied_von_team_id, 30, 40) != null) {
+ $bilder_anzeigen = true;
+ break;
+ } else if (bildHTML("spieler", $row->spieler_id, 30, 40) != null) {
+ $bilder_anzeigen = true;
+ break;
+ }
+ }
+ ?>
-
+ $k = 0;
+ foreach ($mitglieder as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
-
+
nachname . ", " . $row->vorname)); ?>
-
-
- mitglied_von_team_id, 30, 40, 0, 0, 'border="1"');
- if ($bild != null)
- echo $bild;
- else
- {
- $bild = bildHTML("spieler", $row->spieler_id, 30, 40, 0, 0, 'border="1"');
- if ($bild != null)
- echo $bild;
- }
+
+
+ mitglied_von_team_id, 30, 40, 0, 0, 'border="1"');
+ if ($bild != null)
+ echo $bild;
+ else {
+ $bild = bildHTML("spieler", $row->spieler_id, 30, 40, 0, 0, 'border="1"');
+ if ($bild != null)
+ echo $bild;
+ }
- ?>
+ ?>
-
+
spielernr); ?>
- anderes_team && $row->erster_spieltag != null) echo htmlentities_utf8(Rundenbezeichnung($row->erster_spieltag, $veranstaltung->unterteilung == 0, true)); ?>
- anderes_team && $row->letzter_spieltag != null) echo htmlentities_utf8(Rundenbezeichnung($row->letzter_spieltag, $veranstaltung->unterteilung == 0, true)); ?>
- anderes_team) echo JText::_('COM_SPORTSMANAGER_UNREPORTED'); else echo $row->ausgetreten ? JText::_('COM_SPORTSMANAGER_BEATEN') : JText::_('COM_SPORTSMANAGER_ACTIVE'); ?>
+ anderes_team) echo Text::_('COM_SPORTSMANAGER_UNREPORTED'); else echo $row->ausgetreten ? Text::_('COM_SPORTSMANAGER_BEATEN') : Text::_('COM_SPORTSMANAGER_ACTIVE'); ?>
- aktueller_verein_id)) { ?>
-
-
- X
+ aktueller_verein_id)) { ?>
+
+
+ X
-
+
-
- nachname . ", " . $row->vorname) . "' "; ?>
+ static function adminEditMitglied($row, $team, $spieler, $spielberechtigungen, $veranstaltungsbezeichnungen, $veranstaltungen, $veranstaltungen_begegnungen, $entfernen): void
+ {
+ global $params;
+ ?>
+
nachname . ", " . $row->vorname) . "' "; ?>
in Mannschaft 'teamname); ?>
- ':
+ ':
-
-
-
-
-
-
-
- :
-
-
- nachname . ", " . $row->vorname);
- }
- else
- {
- ?>
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ :
+
+
+ nachname . ", " . $row->vorname);
+ } else {
+ ?>
+
+
+
+
+
+
+
+
+
-
-
-
-
-
- nachname . ", " . $s->vorname) . htmlentities_utf8($s->spielernr != null && $s->spielernr != "" ? (" (" . $s->spielernr . ")") : "");
- $bild_vorhanden = bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null;
- if ($bild_vorhanden || isset($spielberechtigungen[$s->spieler_id]))
- {
- ?>
-
-
- spieler_id]))
- {
- if ($bild_vorhanden)
- echo " ";
- foreach ($spielberechtigungen[$s->spieler_id] as $index => $spielberechtigung)
- {
- if ($index != 0)
- echo " ";
- echo htmlentities_utf8(isset($veranstaltungsbezeichnungen[$spielberechtigung[0]]) ? $veranstaltungsbezeichnungen[$spielberechtigung[0]] : JText::_('COM_SPORTSMANAGER_UKNOWN_EVENT'));
- echo ", " . htmlentities_utf8(isset($veranstaltungsbezeichnungen[$spielberechtigung[4]]) ? $veranstaltungsbezeichnungen[$spielberechtigung[4]] : JText::_('COM_SPORTSMANAGER_UKNOWN_TEAM'));
- if ($spielberechtigung[2] >= 2 || !empty($spielberechtigung[3]))
- {
- echo ": ";
- if (empty($spielberechtigung[3])) // Letzter Spieltag ohne Einschränkung
- echo JText::_('COM_SPORTSMANAGER_FROM') . " " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0));
- else if ($spielberechtigung[2] < 2) // Erster Spieltag ohne Einschränkung
- echo JText::_('COM_SPORTSMANAGER_TO2') . " " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[3], $spielberechtigung[1] == 0));
- else if ($spielberechtigung[2] == $spielberechtigung[3]) // Erster Spieltag und letzter Spieltag gleich
- echo JText::_('COM_SPORTSMANAGER_DURING') . " " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0));
- else
- echo htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0)) . " " . JText::_('COM_SPORTSMANAGER_TO') . " " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[3], $spielberechtigung[1] == 0));
- }
- if ($spielberechtigung[5])
- echo ", " . JText::_('COM_SPORTSMANAGER_BEATEN');
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'bezeichnung); ?>':
-
-
-
-
-
-
-
-
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+ 'bezeichnung); ?>':
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+ mitglied_von_team_id, 0, 0, 320, 240, 'border="1"');
+ if (!empty($bild)) {
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- :
-
-
- mitglied_von_team_id, 0, 0, 320, 240, 'border="1"');
- if (!empty($bild))
- {
- ?>
-
-
-
-
-
-
-
-
+
+
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
"/>
-
- Spieler 'nachname . ", " . $spieler->vorname); ?>' in Mannschaft 'teamname); ?>': Entfernen
-
-
-
-
+ static function adminBegegnungen($veranstaltung, $modus, $rows): void
+ {
+ global $params;
-
-
-
-
-
-
-
+ ?>
+
'bezeichnung); ?>
- ':
-
+ ':
+
- 0)
- {
- ?>
+ if (count($rows) > 0) {
+ ?>
- heim_punkte != null || $row->gast_punkte != null) ? true : false;
- ?>
+ $k = 0;
+ $spieltag = -1;
+ foreach ($rows as $row) {
+ $ergebnis_vorhanden = $row->heim_punkte != null || $row->gast_punkte != null;
+ ?>
- unterteilung == 0 || $veranstaltung->unterteilung == 1)
- {
- ?>
-
-
- spieltag)
- {
- $spieltag = $row->spieltag;
- echo htmlentities_utf8(Rundenbezeichnung($spieltag, $veranstaltung->unterteilung == 0, true));
- }
- ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
+ unterteilung == 0 || $veranstaltung->unterteilung == 1) {
+ ?>
+
+
+ spieltag) {
+ $spieltag = $row->spieltag;
+ echo htmlentities_utf8(Rundenbezeichnung($spieltag, $veranstaltung->unterteilung == 0, true));
+ }
+ ?>
-
+
- zeitpunkt));
- if ($row->verlegung_eingetragen != null)
- echo " **";
- else if ($row->verlegt != 0)
- echo " *";
- if ($row->nichtraucherschutz == 0 && ((($row->heim_nichtraucherschutz == 1 || $row->heim_nichtraucherschutz == 2 || $row->heim_nichtraucherschutz == 3) && ($row->gast_nichtraucherschutz == 3 || $row->gast_nichtraucherschutz == 7 || $row->gast_nichtraucherschutz == 8)) || (($row->heim_nichtraucherschutz == 5 || $row->heim_nichtraucherschutz == 6 || $row->heim_nichtraucherschutz == 8) && ($row->gast_nichtraucherschutz == 1 || $row->gast_nichtraucherschutz == 4 || $row->gast_nichtraucherschutz == 5))))
- echo " !";
- ?>
+ href="veranstaltung_id . '&id=' . $row->begegnung_id); ?>">
+ zeitpunkt));
+ if ($row->verlegung_eingetragen != null)
+ echo " **";
+ else if ($row->verlegt != 0)
+ echo " *";
+ if ($row->nichtraucherschutz == 0 && ((($row->heim_nichtraucherschutz == 1 || $row->heim_nichtraucherschutz == 2 || $row->heim_nichtraucherschutz == 3) && ($row->gast_nichtraucherschutz == 3 || $row->gast_nichtraucherschutz == 7 || $row->gast_nichtraucherschutz == 8)) || (($row->heim_nichtraucherschutz == 5 || $row->heim_nichtraucherschutz == 6 || $row->heim_nichtraucherschutz == 8) && ($row->gast_nichtraucherschutz == 1 || $row->gast_nichtraucherschutz == 4 || $row->gast_nichtraucherschutz == 5))))
+ echo " !";
+ ?>
- tisch) && (!$ergebnis_vorhanden || ($ergebnis_vorhanden && $row->zwischenergebnis)))
- echo "" . JText::_('COM_SPORTSMANAGER_MATCH_TABLE') . ": " . htmlentities_utf8($row->tisch) . " ";
- ?>
+ tisch) && (!$ergebnis_vorhanden || $row->zwischenergebnis))
+ echo "" . Text::_('COM_SPORTSMANAGER_MATCH_TABLE') . ": " . htmlentities_utf8($row->tisch) . " ";
+ ?>
heim_name); ?>
gast_name); ?>
- heim_punkte . " : " . $row->gast_punkte; else echo "_ : _" ?> unbestaetigtes_ergebnis_id != null) echo "" . ($row->zwischenergebnis ? "live" : "unbestätigt") . " "; ?>
+ heim_punkte . " : " . $row->gast_punkte; else echo "_ : _" ?> unbestaetigtes_ergebnis_id != null) echo "" . ($row->zwischenergebnis ? "live" : "unbestätigt") . " "; ?>
heim_spielpunkte . " : " . $row->gast_spielpunkte; else echo "_ : _" ?>unbestaetigtes_ergebnis_id != null) echo "" . ($row->zwischenergebnis ? "live" : "unbestätigt") . " "; ?>
+ style="text-align: center">heim_spielpunkte . " : " . $row->gast_spielpunkte; else echo "_ : _" ?>unbestaetigtes_ergebnis_id != null) echo "" . ($row->zwischenergebnis ? "live" : "unbestätigt") . " "; ?>
+ href="veranstaltung_id . '&id=' . $row->begegnung_id); ?>">
X
+ href="veranstaltung_id . '&id=' . $row->begegnung_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
-
+ static function adminEditBegegnung($veranstaltung, $row, $neuer_eintrag, $teams, $spielorte): void
+ {
+ global $params;
+ ?>
+
'bezeichnung); ?>
- ':
+ ':
-
-
-
-
-
-
-
- :
-
-
-
- zeitpunkt != null)
- $datum = substr($row->zeitpunkt, 0, 10);
- $datum_tag = substr($datum, 8, 2);
- echo " ";
- for ($i = 1; $i <= 31; $i++)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- ";
- $monate = array(JText::_('COM_SPORTSMANAGER_JANUARY'), JText::_('COM_SPORTSMANAGER_FEBRUARY'), JText::_('COM_SPORTSMANAGER_MARCH'), JText::_('COM_SPORTSMANAGER_APRIL'), JText::_('COM_SPORTSMANAGER_MAY'), JText::_('COM_SPORTSMANAGER_JUNE'), JText::_('COM_SPORTSMANAGER_JULY'), JText::_('COM_SPORTSMANAGER_AUGUST'), JText::_('COM_SPORTSMANAGER_SEPTEMBER'), JText::_('COM_SPORTSMANAGER_OCTOBER'), JText::_('COM_SPORTSMANAGER_NOVEMBER'), JText::_('COM_SPORTSMANAGER_DECEMBER'));
- for ($i = 1; $i <= 12; $i++)
- {
- echo "" . htmlentities_utf8($monate[$i - 1]) . " ";
- }
- ?>
-
-
- ";
- for ($i = Date("Y") + 5; $i >= 2000; $i--)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- zeitpunkt != null)
- $stunden = intval(substr($row->zeitpunkt, 11, 2));
- echo " ";
- for ($i = 0; $i <= 23; $i++)
- {
- echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
- zeitpunkt != null)
- $minuten = intval(substr($row->zeitpunkt, 14, 2));
- echo " ";
- for ($i = 0; $i <= 59; $i += 5)
- {
- echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
-
- unterteilung == 0 || $veranstaltung->unterteilung == 1)
- {
- ?>
-
-
- unterteilung == 0 ? JText::_('COM_SPORTSMANAGER_GAMEDAY') : JText::_('COM_SPORTSMANAGER_ROUND'); ?>
- :
-
-
-
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+ zeitpunkt != null)
+ $datum = substr($row->zeitpunkt, 0, 10);
+ $datum_tag = substr($datum, 8, 2);
+ echo " ";
+ for ($i = 1; $i <= 31; $i++) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ ";
+ $monate = array(Text::_('COM_SPORTSMANAGER_JANUARY'), Text::_('COM_SPORTSMANAGER_FEBRUARY'), Text::_('COM_SPORTSMANAGER_MARCH'), Text::_('COM_SPORTSMANAGER_APRIL'), Text::_('COM_SPORTSMANAGER_MAY'), Text::_('COM_SPORTSMANAGER_JUNE'), Text::_('COM_SPORTSMANAGER_JULY'), Text::_('COM_SPORTSMANAGER_AUGUST'), Text::_('COM_SPORTSMANAGER_SEPTEMBER'), Text::_('COM_SPORTSMANAGER_OCTOBER'), Text::_('COM_SPORTSMANAGER_NOVEMBER'), Text::_('COM_SPORTSMANAGER_DECEMBER'));
+ for ($i = 1; $i <= 12; $i++) {
+ echo "" . htmlentities_utf8($monate[$i - 1]) . " ";
+ }
+ ?>
+
+
+ ";
+ for ($i = (int)Date("Y") + 5; $i >= 2000; $i--) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ zeitpunkt != null)
+ $stunden = intval(substr($row->zeitpunkt, 11, 2));
+ echo " ";
+ for ($i = 0; $i <= 23; $i++) {
+ echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
+ }
+ ?>
+
+
+ zeitpunkt != null)
+ $minuten = intval(substr($row->zeitpunkt, 14, 2));
+ echo " ";
+ for ($i = 0; $i <= 59; $i += 5) {
+ echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
+ }
+ ?>
+
+
+
+ unterteilung == 0 || $veranstaltung->unterteilung == 1) {
+ ?>
+
+
+ unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY') : Text::_('COM_SPORTSMANAGER_ROUND'); ?>
+ :
+
+
+
-
- " . JText::_('COM_SPORTSMANAGER_NONE2') . "";
- echo "spieltag) >= 1 && abs($row->spieltag) <= 9999 ? "selected" : "") . ">" . ($veranstaltung->unterteilung == 0 ? JText::_('COM_SPORTSMANAGER_GAMEDAY') : JText::_('COM_SPORTSMANAGER_ROUND')) . " ";
- echo "spieltag) >= 20000 ? "selected" : "") . ">" . JText::_('COM_SPORTSMANAGER_PLACEMENT_AREA') . " ";
- for ($i = 19999; $i >= 19992; $i--)
- {
- echo "spieltag) == $i ? "selected" : "") . ">" . htmlentities_utf8(Rundenbezeichnung($i, $veranstaltung->unterteilung == 0)) . " ";
- }
- ?>
-
- " spieltag == 0 || (abs($row->spieltag) >= 10000 && abs($row->spieltag) < 20000)) echo 'style="visibility:hidden" '; ?>/>
- spieltag) < 20000) echo 'style="visibility:hidden" '; ?>/>
-
-
-
-
-
- :
-
-
-
- team_id . "\"" . ($row != null && !$neuer_eintrag ? ($row->heim_team_id == $team->team_id ? " selected" : "") : "") . ">" . htmlentities_utf8($team->teamname) . "";
- ?>
-
-
-
-
-
- :
-
-
-
- team_id . "\"" . ($row != null && !$neuer_eintrag ? ($row->gast_team_id == $team->team_id ? " selected" : "") : "") . ">" . htmlentities_utf8($team->teamname) . "";
- ?>
-
-
-
-
-
- :
-
-
-
-
- ortsname)
- {
- if ($ortsname != -1)
- echo "";
- echo "ortsname) ? $spielort->ortsname : JText::_('COM_SPORTSMANAGER_WITHOUT_PLACE')) . "\">";
- $ortsname = $spielort->ortsname;
- }
- echo "spielort_id . "\"" . ($row != null ? ($spielort->spielort_id == $row->spielort_id ? " selected" : "") : "") . ">" . htmlentities_utf8($spielort->name) . " ";
- }
- if ($ortsname != -1)
- echo " ";
- ?>
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
- '',
- 1 => JText::_('COM_SPORTSMANAGER_NO'),
- 2 => JText::_('COM_SPORTSMANAGER_YES')
- );
- foreach ($typ as $typ_wert => $typ_bezeichnung)
- echo "nichtraucherschutz == $typ_wert ? " selected" : "") : "") . ">" . htmlentities_utf8($typ_bezeichnung) . " ";
- ?>
-
-
-
-
-
+
+ " . Text::_('COM_SPORTSMANAGER_NONE2') . "";
+ echo "spieltag) >= 1 && abs($row->spieltag) <= 9999 ? "selected" : "") . ">" . ($veranstaltung->unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY') : Text::_('COM_SPORTSMANAGER_ROUND')) . " ";
+ echo "spieltag) >= 20000 ? "selected" : "") . ">" . Text::_('COM_SPORTSMANAGER_PLACEMENT_AREA') . " ";
+ for ($i = 19999; $i >= 19992; $i--) {
+ echo "spieltag) == $i ? "selected" : "") . ">" . htmlentities_utf8(Rundenbezeichnung($i, $veranstaltung->unterteilung == 0)) . " ";
+ }
+ ?>
+
+ " spieltag == 0 || (abs($row->spieltag) >= 10000 && abs($row->spieltag) < 20000)) echo 'style="visibility:hidden" '; ?>
+ aria-label=""/>
+ spieltag) < 20000) echo 'style="visibility:hidden" '; ?>
+ aria-label=""/>
+
+
+
+
+
+
+ :
+
+
+
+ team_id . "\"" . ($row != null && !$neuer_eintrag ? ($row->heim_team_id == $team->team_id ? " selected" : "") : "") . ">" . htmlentities_utf8($team->teamname) . "";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ team_id . "\"" . ($row != null && !$neuer_eintrag ? ($row->gast_team_id == $team->team_id ? " selected" : "") : "") . ">" . htmlentities_utf8($team->teamname) . "";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+ ortsname) {
+ if ($ortsname != -1)
+ echo "";
+ echo "ortsname) ? $spielort->ortsname : Text::_('COM_SPORTSMANAGER_WITHOUT_PLACE')) . "\">";
+ $ortsname = $spielort->ortsname;
+ }
+ echo "spielort_id . "\"" . ($row != null ? ($spielort->spielort_id == $row->spielort_id ? " selected" : "") : "") . ">" . htmlentities_utf8($spielort->name) . " ";
+ }
+ if ($ortsname != -1)
+ echo " ";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+ :
+
+
+
+ '',
+ 1 => Text::_('COM_SPORTSMANAGER_NO'),
+ 2 => Text::_('COM_SPORTSMANAGER_YES')
+ );
+ foreach ($typ as $typ_wert => $typ_bezeichnung)
+ echo "nichtraucherschutz == $typ_wert ? " selected" : "") : "") . ">" . htmlentities_utf8($typ_bezeichnung) . " ";
+ ?>
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
- 0)
- {
- ?>
+ static function adminVerlegenVerlauf($verlegen_aktionen): void
+ {
+ global $params;
+ if (count($verlegen_aktionen) > 0) {
+ ?>
-
+ $k = 0;
+ $eingetragen = -1;
+ foreach ($verlegen_aktionen as $aktion) {
+ ?>
- aktion != 0 || $eingetragen != $aktion->eingetragen)
- {
- switch ($aktion->aktion)
- {
- case 1:
- $aktion_beschreibung = JText::_('COM_SPORTSMANAGER_ACCEPTED_APPOINTMENT');
- break;
- case 2:
- $aktion_beschreibung = JText::_('COM_SPORTSMANAGER_ORIGINAL_DATE');
- break;
- case 3:
- $aktion_beschreibung = JText::_('COM_SPORTSMANAGER_DATE_REQUESTED');
- break;
- case 4:
- $aktion_beschreibung = JText::_('COM_SPORTSMANAGER_SHIFT_REQUESTED');
- break;
- case 5:
- $aktion_beschreibung = JText::_('COM_SPORTSMANAGER_MODIFIED_DATE_MODERATOR');
- break;
- case 6:
- $aktion_beschreibung = JText::_('COM_SPORTSMANAGER_PROPOSED_RESULT');
- break;
- case 7:
- $aktion_beschreibung = JText::_('COM_SPORTSMANAGER_ACCEPTED_RESULTS');
- break;
- case 8:
- $aktion_beschreibung = JText::_('COM_SPORTSMANAGER_MODIFIED_RESULTS');
- break;
- case 9:
- $aktion_beschreibung = JText::_('COM_SPORTSMANAGER_LIVE_RESULTS');
- break;
- case 10:
- $aktion_beschreibung = JText::_('COM_SPORTSMANAGER_REJECTED_SHIFT');
- break;
- default:
- $aktion_beschreibung = JText::_('COM_SPORTSMANAGER_PROPOSED_APPOINTMENT');
- break;
- }
- ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
+ aktion != 0 || $eingetragen != $aktion->eingetragen) {
+ $aktion_beschreibung = match ($aktion->aktion) {
+ 1 => Text::_('COM_SPORTSMANAGER_ACCEPTED_APPOINTMENT'),
+ 2 => Text::_('COM_SPORTSMANAGER_ORIGINAL_DATE'),
+ 3 => Text::_('COM_SPORTSMANAGER_DATE_REQUESTED'),
+ 4 => Text::_('COM_SPORTSMANAGER_SHIFT_REQUESTED'),
+ 5 => Text::_('COM_SPORTSMANAGER_MODIFIED_DATE_MODERATOR'),
+ 6 => Text::_('COM_SPORTSMANAGER_PROPOSED_RESULT'),
+ 7 => Text::_('COM_SPORTSMANAGER_ACCEPTED_RESULTS'),
+ 8 => Text::_('COM_SPORTSMANAGER_MODIFIED_RESULTS'),
+ 9 => Text::_('COM_SPORTSMANAGER_LIVE_RESULTS'),
+ 10 => Text::_('COM_SPORTSMANAGER_REJECTED_SHIFT'),
+ default => Text::_('COM_SPORTSMANAGER_PROPOSED_APPOINTMENT'),
+ };
+ ?>
eingetragen)); ?>
- team_id != null ? $aktion->team : JText::_('COM_SPORTSMANAGER_MODERATOR'));
- if ($aktion->name != null) echo htmlentities_utf8(" (" . $aktion->name . ")"); ?>
+ team_id != null ? $aktion->team : Text::_('COM_SPORTSMANAGER_MODERATOR'));
+ if ($aktion->name != null) echo htmlentities_utf8(" (" . $aktion->name . ")"); ?>
verantwortlich_team_id != null) echo htmlentities_utf8($aktion->verantwortlich_team); ?>
- eingetragen;
- }
- else
- {
- ?>
+ eingetragen;
+ } else {
+ ?>
-
+
zeitpunkt != null) echo htmlentities_utf8(FormatiertesDatum($aktion->zeitpunkt)); ?>
kommentar != null) echo htmlentities_utf8($aktion->kommentar); ?>
-
+
-
- bezeichnung); ?>
+ ?>
+ bezeichnung); ?>
-
-
-
-
-
-
- :
-
-
- zeitpunkt != null ? $begegnung->zeitpunkt : "N/A"; ?>
-
-
- tisch))
- {
- ?>
-
-
- :
-
- tisch); ?>
-
- unterteilung == 0 || $veranstaltung->unterteilung == 1) && $begegnung->spieltag != null)
- {
- ?>
-
-
- unterteilung == 0 ? JText::_('COM_SPORTSMANAGER_GAMEDAY') : JText::_('COM_SPORTSMANAGER_ROUND')); ?>
- :
-
-
- spieltag, $veranstaltung->unterteilung == 0, true)); ?>
-
-
-
-
-
- :
-
-
- teamname); ?>
-
-
-
-
- :
-
-
- teamname); ?>
- heimtausch)
- {
- ?>
-
-
-
-
- heim_spielpunkte != 0 || $begegnung->gast_spielpunkte != 0)
- {
- ?>
-
-
- :
-
- heim_spielpunkte . ":" . $begegnung->gast_spielpunkte; ?>
-
- kommentar != null && !empty($begegnung->kommentar))
- {
- ?>
-
-
- :
-
-
- kommentar); ?>
-
-
-
-
-
- :
-
-
-
-
-
- modus);
- $spieltypen = isset($modus[0]) ? explode(",", $modus[0]) : array();
- $verknuepfungen = isset($modus[1]) ? explode(",", $modus[1]) : array();
- $spielpunkte_wertung_einzel = $teamspiel_modus->spielpunkte_wertung_einzel;
- $spielpunkte_wertung_doppel = $teamspiel_modus->spielpunkte_wertung_doppel;
- $spielpunkte_bedingung = $teamspiel_modus->spielpunkte_bedingung;
- $spielernamen = $teamspiel_modus->spielernamen;
+
+
+
+
+
+
+
+
+ :
+
+
+ zeitpunkt != null ? $begegnung->zeitpunkt : "N/A"; ?>
+
+
+ tisch)) {
+ ?>
+
+
+ :
+
+ tisch); ?>
+
+ unterteilung == 0 || $veranstaltung->unterteilung == 1) && $begegnung->spieltag != null) {
+ ?>
+
+
+ unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY') : Text::_('COM_SPORTSMANAGER_ROUND')); ?>
+ :
+
+
+ spieltag, $veranstaltung->unterteilung == 0, true)); ?>
+
+
+
+
+
+ :
+
+
+ teamname); ?>
+
+
+
+
+ :
+
+
+ teamname); ?>
+ heimtausch) {
+ ?>
+
+
+
+
+ heim_spielpunkte != 0 || $begegnung->gast_spielpunkte != 0) {
+ ?>
+
+
+ :
+
+ heim_spielpunkte . ":" . $begegnung->gast_spielpunkte; ?>
+
+ kommentar)) {
+ ?>
+
+
+ :
+
+
+ kommentar); ?>
+
+
+
+
+
+
+ :
+
+
+
+
+
+ modus);
+ $spieltypen = isset($modus[0]) ? explode(",", $modus[0]) : array();
+ $verknuepfungen = isset($modus[1]) ? explode(",", $modus[1]) : array();
+ $spielpunkte_wertung_einzel = $teamspiel_modus->spielpunkte_wertung_einzel;
+ $spielpunkte_wertung_doppel = $teamspiel_modus->spielpunkte_wertung_doppel;
+ $spielpunkte_bedingung = $teamspiel_modus->spielpunkte_bedingung;
+ $spielernamen = $teamspiel_modus->spielernamen;
- if ($verknuepfungen != null)
- {
- foreach ($verknuepfungen as $verknuepfung)
- {
- $doppel = substr($verknuepfung, 0, 2);
- $einzel1 = substr($verknuepfung, 2, 2);
- $einzel2 = substr($verknuepfung, 4, 2);
- $verknuepfungen_spieler[$doppel] = array($einzel1, $einzel2);
- $verknuepfungen_spieler[$einzel1] = array($doppel);
- $verknuepfungen_spieler[$einzel2] = array($doppel);
- }
- }
- else
- {
- $verknuepfungen_spieler = array();
- }
+ if ($verknuepfungen != null) {
+ foreach ($verknuepfungen as $verknuepfung) {
+ $doppel = substr($verknuepfung, 0, 2);
+ $einzel1 = substr($verknuepfung, 2, 2);
+ $einzel2 = substr($verknuepfung, 4, 2);
+ $verknuepfungen_spieler[$doppel] = array($einzel1, $einzel2);
+ $verknuepfungen_spieler[$einzel1] = array($doppel);
+ $verknuepfungen_spieler[$einzel2] = array($doppel);
+ }
+ } else {
+ $verknuepfungen_spieler = array();
+ }
- $ergebnis_bestaetigen_zulaessig = !empty($bestaetigen) && !empty($begegnung->unbestaetigtes_ergebnis_id) && !$begegnung->zwischenergebnis && $begegnung->berechtigt_fuer_team_akzeptieren;
- echo "\n";
- for ($spiel_nr = 1; $spiel_nr <= count($spieltypen); $spiel_nr++)
- {
- $spiel = null;
- foreach ($spiele as $row)
- {
- if ($row->teamspiel_nummer == $spiel_nr)
- $spiel = $row;
- }
- ?>
-
-
+ if ($gast[0] == "D") {
+ // Späteres Gastspiel gefunden, an dem ein Spieler beteiligt ist
+ echo " case 'spiel_" . $i . "_gast_spieler_2_id':\n";
+ for ($j = $i + 1; $j <= $n; $j++) {
+ $ziel = substr($spieltypen[$j - 1], 2, 2);
+ if ($gast == $ziel)
+ echo " document.adminForm.spiel_" . $j . "_gast_spieler_2_id.value = form.value;\n";
+ else if (isset($verknuepfungen_spieler[$gast]) && in_array($ziel, $verknuepfungen_spieler[$gast]) && $verknuepfungen_spieler[$gast][1] == $ziel)
+ echo " document.adminForm.spiel_" . $j . "_gast_spieler_1_id.value = form.value;\n";
+ }
+ echo " break;\n";
+ }
+ }
+ }
+ }
+ echo " }\n"
+ . "}\n";
+ }
+ if ($spielpunkte_bedingung != 0 && ($spielpunkte_wertung_einzel != 2 || $spielpunkte_wertung_doppel != 2)) {
+ echo "function spielpunkte_bedingung() {\n"
+ . " var spielpunkte_heim = 0;\n"
+ . " var spielpunkte_gast = 0;\n"
+ . " var spielpunkte_sieg_einzel = " . ($spielpunkte_wertung_einzel == 0 ? 2 : ($spielpunkte_wertung_einzel == 1 ? 3 : 1)) . ";\n"
+ . " var spielpunkte_sieg_doppel = " . ($spielpunkte_wertung_doppel == 0 ? 2 : ($spielpunkte_wertung_doppel == 1 ? 3 : 1)) . ";\n"
+ . " var spielpunkte_unentschieden_einzel = " . ($spielpunkte_wertung_einzel <= 1 ? 1 : 0) . ";\n"
+ . " var spielpunkte_unentschieden_doppel = " . ($spielpunkte_wertung_doppel <= 1 ? 1 : 0) . ";\n"
+ . " var punkte_heim;\n"
+ . " var punkte_gast;\n";
+ $n = count($spieltypen);
+ for ($i = 1; $i <= $n; $i++) {
+ $spiel_einzel = $spieltypen[$i - 1][0] != "D";
+ if (($spiel_einzel && $spielpunkte_wertung_einzel == 2) || (!$spiel_einzel && $spielpunkte_wertung_doppel == 2))
+ continue;
+ echo " punkte_heim = document.adminForm.spiel_" . $i . "_heim_punkte.value != '' ? document.adminForm.spiel_" . $i . "_heim_punkte.value : 0;\n"
+ . " punkte_gast = document.adminForm.spiel_" . $i . "_gast_punkte.value != '' ? document.adminForm.spiel_" . $i . "_gast_punkte.value : 0;\n"
+ . " if (punkte_heim > punkte_gast)\n"
+ . " spielpunkte_heim += " . ($spiel_einzel ? "spielpunkte_sieg_einzel" : "spielpunkte_sieg_doppel") . ";\n"
+ . " else if (punkte_heim < punkte_gast)\n"
+ . " spielpunkte_gast += " . ($spiel_einzel ? "spielpunkte_sieg_einzel" : "spielpunkte_sieg_doppel") . ";\n"
+ . " else if (punkte_heim > 0) {\n"
+ . " spielpunkte_heim += " . ($spiel_einzel ? "spielpunkte_unentschieden_einzel" : "spielpunkte_unentschieden_doppel") . ";\n"
+ . " spielpunkte_gast += " . ($spiel_einzel ? "spielpunkte_unentschieden_einzel" : "spielpunkte_unentschieden_doppel") . ";\n"
+ . " }\n";
+ }
+ if ($spielpunkte_bedingung > 0)
+ echo " return spielpunkte_heim >= " . $spielpunkte_bedingung . " || spielpunkte_gast >= " . $spielpunkte_bedingung . ";\n";
+ else
+ echo " return spielpunkte_heim + spielpunkte_gast == " . abs($spielpunkte_bedingung) . ";\n";
+ echo "}\n";
+ }
+ if ($spielernamen != 0) {
+ echo "function spieler_eingetragen() {\n"
+ . " var punkte_heim;\n"
+ . " var punkte_gast;\n";
+ $n = count($spieltypen);
+ for ($i = 1; $i <= $n; $i++) {
+ if ($spielernamen == 1) {
+ if ($spieltypen[$i - 1][0] != "D")
+ continue;
+ echo " punkte_heim = document.adminForm.spiel_" . $i . "_heim_punkte.value != '' ? document.adminForm.spiel_" . $i . "_heim_punkte.value : 0;\n"
+ . " punkte_gast = document.adminForm.spiel_" . $i . "_gast_punkte.value != '' ? document.adminForm.spiel_" . $i . "_gast_punkte.value : 0;\n"
+ . " if (punkte_heim != 0 || punkte_gast != 0) {\n"
+ . " if ((document.adminForm.spiel_" . $i . "_heim_spieler_1_id.value == 0 && document.adminForm.spiel_" . $i . "_heim_spieler_2_id.value != 0) || (document.adminForm.spiel_" . $i . "_heim_spieler_1_id.value != 0 && document.adminForm.spiel_" . $i . "_heim_spieler_2_id.value == 0))\n"
+ . " return false;\n"
+ . " if ((document.adminForm.spiel_" . $i . "_gast_spieler_1_id.value == 0 && document.adminForm.spiel_" . $i . "_gast_spieler_2_id.value != 0) || (document.adminForm.spiel_" . $i . "_gast_spieler_1_id.value != 0 && document.adminForm.spiel_" . $i . "_gast_spieler_2_id.value == 0))\n"
+ . " return false;\n"
+ . " }\n";
+ } else {
+ if ($spieltypen[$i - 1][0] != "D" && $spieltypen[$i - 1][0] != "E")
+ continue;
+ echo " punkte_heim = document.adminForm.spiel_" . $i . "_heim_punkte.value != '' ? document.adminForm.spiel_" . $i . "_heim_punkte.value : 0;\n"
+ . " punkte_gast = document.adminForm.spiel_" . $i . "_gast_punkte.value != '' ? document.adminForm.spiel_" . $i . "_gast_punkte.value : 0;\n"
+ . " if (punkte_heim != 0 || punkte_gast != 0) {\n"
+ . " if (document.adminForm.spiel_" . $i . "_heim_spieler_1_id.value == 0 || document.adminForm.spiel_" . $i . "_gast_spieler_1_id.value == 0)\n"
+ . " return false;\n";
+ if ($spieltypen[$i - 1][0] == "D")
+ echo " if (document.adminForm.spiel_" . $i . "_heim_spieler_2_id.value == 0 || document.adminForm.spiel_" . $i . "_gast_spieler_2_id.value == 0)\n"
+ . " return false;\n";
+ echo " }\n";
+ }
+ }
+ echo " return true;\n";
+ echo "}\n";
+ }
+ echo "\n";
+ for ($spiel_nr = 1; $spiel_nr <= count($spieltypen); $spiel_nr++) {
+ $spiel = null;
+ foreach ($spiele as $row) {
+ if ($row->teamspiel_nummer == $spiel_nr)
+ $spiel = $row;
+ }
+ ?>
+
+
-
-
-
-
-
- (
- ):
-
-
-
-
-
-
-
- ">
-
- spieler_id . "\"" . ($spiel != null ? ($spiel->heim_spieler_1_id == $row->spieler_id ? "selected" : "") : "") . ">" . htmlentities_utf8($row->nachname . ", " . $row->vorname) . htmlentities_utf8($row->spielernr != null && $row->spielernr != "" ? (" (" . $row->spielernr . ")") : "") . "";
- }
- ?>
-
-
-
- ">
-
- spieler_id . "\"" . ($spiel != null ? ($spiel->gast_spieler_1_id == $row->spieler_id ? "selected" : "") : "") . ">" . htmlentities_utf8($row->nachname . ", " . $row->vorname) . htmlentities_utf8($row->spielernr != null && $row->spielernr != "" ? (" (" . $row->spielernr . ")") : "") . "";
- }
- ?>
-
-
-
-
-
-
- ">
-
- spieler_id . "\"" . ($spiel != null ? ($spiel->heim_spieler_2_id == $row->spieler_id ? "selected" : "") : "") . ">" . htmlentities_utf8($row->nachname . ", " . $row->vorname) . htmlentities_utf8($row->spielernr != null && $row->spielernr != "" ? (" (" . $row->spielernr . ")") : "") . "";
- }
- ?>
-
-
-
- ">
-
- spieler_id . "\"" . ($spiel != null ? ($spiel->gast_spieler_2_id == $row->spieler_id ? "selected" : "") : "") . ">" . htmlentities_utf8($row->nachname . ", " . $row->vorname) . htmlentities_utf8($row->spielernr != null && $row->spielernr != "" ? (" (" . $row->spielernr . ")") : "") . "";
- }
- ?>
-
-
-
-
-
-
-
-
- ">
-
- teamspiel_heim_punkte == $i && ($spiel->teamspiel_heim_punkte != 0 || $spiel->teamspiel_gast_punkte != 0)) ? "selected" : "") : "") . ">" . $i . "";
- }
- ?>
-
-
-
- ">
-
- teamspiel_gast_punkte == $i && ($spiel->teamspiel_heim_punkte != 0 || $spiel->teamspiel_gast_punkte != 0)) ? "selected" : "") : "") . ">" . $i . "";
- }
- ?>
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ (
+ ):
+
+
+
+
+
+
+
+ "
+ aria-label="">
+
+ spieler_id . "\"" . ($spiel != null ? ($spiel->heim_spieler_1_id == $row->spieler_id ? "selected" : "") : "") . ">" . htmlentities_utf8($row->nachname . ", " . $row->vorname) . htmlentities_utf8($row->spielernr != null && $row->spielernr != "" ? (" (" . $row->spielernr . ")") : "") . "";
+ }
+ ?>
+
+
+
+ "
+ aria-label="">
+
+ spieler_id . "\"" . ($spiel != null ? ($spiel->gast_spieler_1_id == $row->spieler_id ? "selected" : "") : "") . ">" . htmlentities_utf8($row->nachname . ", " . $row->vorname) . htmlentities_utf8($row->spielernr != null && $row->spielernr != "" ? (" (" . $row->spielernr . ")") : "") . "";
+ }
+ ?>
+
+
+
+
+
+
+ "
+ aria-label="">
+
+ spieler_id . "\"" . ($spiel != null ? ($spiel->heim_spieler_2_id == $row->spieler_id ? "selected" : "") : "") . ">" . htmlentities_utf8($row->nachname . ", " . $row->vorname) . htmlentities_utf8($row->spielernr != null && $row->spielernr != "" ? (" (" . $row->spielernr . ")") : "") . "";
+ }
+ ?>
+
+
+
+ "
+ aria-label="">
+
+ spieler_id . "\"" . ($spiel != null ? ($spiel->gast_spieler_2_id == $row->spieler_id ? "selected" : "") : "") . ">" . htmlentities_utf8($row->nachname . ", " . $row->vorname) . htmlentities_utf8($row->spielernr != null && $row->spielernr != "" ? (" (" . $row->spielernr . ")") : "") . "";
+ }
+ ?>
+
+
+
+
+
+
+
+
+ "
+ aria-label="">
+
+ teamspiel_heim_punkte == $i && ($spiel->teamspiel_heim_punkte != 0 || $spiel->teamspiel_gast_punkte != 0)) ? "selected" : "") : "") . ">" . $i . "";
+ }
+ ?>
+
+
+
+ "
+ aria-label="">
+
+ teamspiel_gast_punkte == $i && ($spiel->teamspiel_heim_punkte != 0 || $spiel->teamspiel_gast_punkte != 0)) ? "selected" : "") : "") . ">" . $i . "";
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
class="button" />
-
+
/>
-
-
+ />
-
-
+
"/>
@@ -9274,1018 +9526,1061 @@ class HTML_sportsmanager_admin
"/>
- >
+ >
- erster_tag != null ? substr($veranstaltung->erster_tag, 0, 4) : 0;
- ?>
-
+ static function adminBegegnungenGenerieren($veranstaltung, $rows): void
+ {
+ global $params;
+ $anzahlteams = count($rows);
+ $jahr = $veranstaltung->erster_tag != null ? substr($veranstaltung->erster_tag, 0, 4) : 0;
+ ?>
+
'bezeichnung); ?>
- ':
+ ':
-
-
-
-
-
-
-
- . :
-
-
-
- ";
- for ($i = 1; $i <= 53; $i++)
- {
- echo "" . JText::_('COM_SPORTSMANAGER_CALENDAR_WEEK_SHORTCUT') . " " . $i . " ";
- }
- ?>
-
-
- ";
- for ($i = Date("Y") + 5; $i >= 2000; $i--)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
-
-
+
+
+
+
+
+
+
+
+
+ . :
+
+
+
+ ";
+ for ($i = 1; $i <= 53; $i++) {
+ echo "" . Text::_('COM_SPORTSMANAGER_CALENDAR_WEEK_SHORTCUT') . " " . $i . " ";
+ }
+ ?>
+
+
+ ";
+ for ($i = (int)Date("Y") + 5; $i >= 2000; $i--) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+
+
-
-
-
- :
-
-
-
- ";
- foreach ($rows as $team)
- echo "team_id . "\">" . htmlentities_utf8($team->teamname) . " ";
- ?>
-
-
- vs.
- ";
- foreach ($rows as $team)
- echo "team_id . "\">" . htmlentities_utf8($team->teamname) . " ";
- ?>
-
-
-
-
-
-
-
+ for ($teamnr = 1; $teamnr <= $anzahlteams; $teamnr += 2) {
+ ?>
+
+
+
+ :
+
+
+
+ ";
+ foreach ($rows as $team)
+ echo "team_id . "\">" . htmlentities_utf8($team->teamname) . " ";
+ ?>
+
+
+ vs.
+ ";
+ foreach ($rows as $team)
+ echo "team_id . "\">" . htmlentities_utf8($team->teamname) . " ";
+ ?>
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
- erster_tag != null ? substr($veranstaltung->erster_tag, 0, 4) : 0;
- ?>
-
+ static function adminBegegnungenRundeErzeugen($veranstaltung, $rows, $row, $spielorte): void
+ {
+ global $params;
+ $anzahlteams = count($rows);
+ ?>
+
'bezeichnung); ?>
- ': unterteilung == 0 ? JText::_('COM_SPORTSMANAGER_GAMEDAY') : JText::_('COM_SPORTSMANAGER_ROUND'); ?>
+ ': unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY') : Text::_('COM_SPORTSMANAGER_ROUND'); ?>
generieren
-
-
-
-
-
-
- :
-
-
-
-
- zeitpunkt != null)
- $datum = substr($row->zeitpunkt, 0, 10);
- $datum_tag = substr($datum, 8, 2);
- echo " ";
- echo " ";
- for ($i = 1; $i <= 31; $i++)
- {
- echo "" . $i . " ";
- }
- echo " ";
- for ($i = 1; $i <= 53; $i++)
- {
- echo "" . JText::_('COM_SPORTSMANAGER_CALENDAR_WEEK_SHORTCUT') . " " . $i . " ";
- }
- ?>
-
-
- ";
- $monate = array(JText::_('COM_SPORTSMANAGER_JANUARY'), JText::_('COM_SPORTSMANAGER_FEBRUARY'), JText::_('COM_SPORTSMANAGER_MARCH'), JText::_('COM_SPORTSMANAGER_APRIL'), JText::_('COM_SPORTSMANAGER_MAY'), JText::_('COM_SPORTSMANAGER_JUNE'), JText::_('COM_SPORTSMANAGER_JULY'), JText::_('COM_SPORTSMANAGER_AUGUST'), JText::_('COM_SPORTSMANAGER_SEPTEMBER'), JText::_('COM_SPORTSMANAGER_OCTOBER'), JText::_('COM_SPORTSMANAGER_NOVEMBER'), JText::_('COM_SPORTSMANAGER_DECEMBER'));
- for ($i = 1; $i <= 12; $i++)
- {
- echo "" . htmlentities_utf8($monate[$i - 1]) . " ";
- }
- ?>
-
-
- ";
- for ($i = Date("Y") + 5; $i >= 2000; $i--)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- zeitpunkt != null)
- $stunden = intval(substr($row->zeitpunkt, 11, 2));
- echo " ";
- for ($i = 0; $i <= 23; $i++)
- {
- echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
- zeitpunkt != null)
- $minuten = intval(substr($row->zeitpunkt, 14, 2));
- echo " ";
- for ($i = 0; $i <= 59; $i += 5)
- {
- echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
-
- unterteilung == 0 || $veranstaltung->unterteilung == 1)
- {
- ?>
-
-
- unterteilung == 0 ? JText::_('COM_SPORTSMANAGER_GAMEDAY') : JText::_('COM_SPORTSMANAGER_ROUND'); ?>
- :
-
-
-
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+ zeitpunkt != null)
+ $datum = substr($row->zeitpunkt, 0, 10);
+ $datum_tag = substr($datum, 8, 2);
+ echo " ";
+ echo " ";
+ for ($i = 1; $i <= 31; $i++) {
+ echo "" . $i . " ";
+ }
+ echo " ";
+ for ($i = 1; $i <= 53; $i++) {
+ echo "" . Text::_('COM_SPORTSMANAGER_CALENDAR_WEEK_SHORTCUT') . " " . $i . " ";
+ }
+ ?>
+
+
+ ";
+ $monate = array(Text::_('COM_SPORTSMANAGER_JANUARY'), Text::_('COM_SPORTSMANAGER_FEBRUARY'), Text::_('COM_SPORTSMANAGER_MARCH'), Text::_('COM_SPORTSMANAGER_APRIL'), Text::_('COM_SPORTSMANAGER_MAY'), Text::_('COM_SPORTSMANAGER_JUNE'), Text::_('COM_SPORTSMANAGER_JULY'), Text::_('COM_SPORTSMANAGER_AUGUST'), Text::_('COM_SPORTSMANAGER_SEPTEMBER'), Text::_('COM_SPORTSMANAGER_OCTOBER'), Text::_('COM_SPORTSMANAGER_NOVEMBER'), Text::_('COM_SPORTSMANAGER_DECEMBER'));
+ for ($i = 1; $i <= 12; $i++) {
+ echo "" . htmlentities_utf8($monate[$i - 1]) . " ";
+ }
+ ?>
+
+
+ ";
+ for ($i = (int)Date("Y") + 5; $i >= 2000; $i--) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ zeitpunkt != null)
+ $stunden = intval(substr($row->zeitpunkt, 11, 2));
+ echo " ";
+ for ($i = 0; $i <= 23; $i++) {
+ echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
+ }
+ ?>
+
+
+ zeitpunkt != null)
+ $minuten = intval(substr($row->zeitpunkt, 14, 2));
+ echo " ";
+ for ($i = 0; $i <= 59; $i += 5) {
+ echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
+ }
+ ?>
+
+
+
+ unterteilung == 0 || $veranstaltung->unterteilung == 1) {
+ ?>
+
+
+ unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY') : Text::_('COM_SPORTSMANAGER_ROUND'); ?>
+ :
+
+
+
-
- " . JText::_('COM_SPORTSMANAGER_NONE2') . "";
- echo "spieltag) >= 1 && abs($row->spieltag) <= 9999 ? "selected" : "") . ">" . ($veranstaltung->unterteilung == 0 ? JText::_('COM_SPORTSMANAGER_GAMEDAY') : JText::_('COM_SPORTSMANAGER_ROUND')) . " ";
- echo "spieltag) >= 20000 ? "selected" : "") . ">" . JText::_('COM_SPORTSMANAGER_PLACEMENT_AREA') . " ";
- for ($i = 19999; $i >= 19992; $i--)
- {
- echo "spieltag) == $i ? "selected" : "") . ">" . htmlentities_utf8(Rundenbezeichnung($i, $veranstaltung->unterteilung == 0)) . " ";
- }
- ?>
-
- " spieltag == 0 || (abs($row->spieltag) >= 10000 && abs($row->spieltag) < 20000)) echo 'style="visibility:hidden" '; ?>/>
- spieltag) < 20000) echo 'style="visibility:hidden" '; ?>/>
-
-
-
- ">
+ " . Text::_('COM_SPORTSMANAGER_NONE2') . "";
+ echo "spieltag) >= 1 && abs($row->spieltag) <= 9999 ? "selected" : "") . ">" . ($veranstaltung->unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY') : Text::_('COM_SPORTSMANAGER_ROUND')) . " ";
+ echo "spieltag) >= 20000 ? "selected" : "") . ">" . Text::_('COM_SPORTSMANAGER_PLACEMENT_AREA') . " ";
+ for ($i = 19999; $i >= 19992; $i--) {
+ echo "spieltag) == $i ? "selected" : "") . ">" . htmlentities_utf8(Rundenbezeichnung($i, $veranstaltung->unterteilung == 0)) . " ";
+ }
+ ?>
+
+ " spieltag == 0 || (abs($row->spieltag) >= 10000 && abs($row->spieltag) < 20000)) echo 'style="visibility:hidden" '; ?>
+ aria-label=""/>
+ spieltag) < 20000) echo 'style="visibility:hidden" '; ?>
+ aria-label=""/>
+
+
+
+
-
-
-
-
-
-
- ";
- foreach ($rows as $team)
- echo "team_id . "\">" . htmlentities_utf8($team->teamname) . " ";
- ?>
-
- vs.
- ";
- foreach ($rows as $team)
- echo "team_id . "\">" . htmlentities_utf8($team->teamname) . " ";
- ?>
-
- :
-
-
- ortsname)
- {
- if ($ortsname != -1)
- echo "";
- echo "ortsname) ? $spielort->ortsname : JText::_('COM_SPORTSMANAGER_WITHOUT_PLACE')) . "\">";
- $ortsname = $spielort->ortsname;
- }
- echo "spielort_id . "\">" . htmlentities_utf8($spielort->name) . " ";
- }
- if ($ortsname != -1)
- echo " ";
- ?>
-
-
-
-
-
-
+ for ($teamnr = 1; $teamnr < $anzahlteams; $teamnr += 2) {
+ ?>
+
+
+
+
+
+
+ ";
+ foreach ($rows as $team)
+ echo "team_id . "\">" . htmlentities_utf8($team->teamname) . " ";
+ ?>
+
+ vs.
+ ";
+ foreach ($rows as $team)
+ echo "team_id . "\">" . htmlentities_utf8($team->teamname) . " ";
+ ?>
+
+
+ :
+
+
+ ortsname) {
+ if ($ortsname != -1)
+ echo "";
+ echo "ortsname) ? $spielort->ortsname : Text::_('COM_SPORTSMANAGER_WITHOUT_PLACE')) . "\">";
+ $ortsname = $spielort->ortsname;
+ }
+ echo "spielort_id . "\">" . htmlentities_utf8($spielort->name) . " ";
+ }
+ if ($ortsname != -1)
+ echo " ";
+ ?>
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
-
-
- :
+ static function adminEditIndividualwettbewerb($row, $veranstalter, $kategorien, $saisons, $users, $berechtigt_fuer_individualwettbewerb, $vorlage): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
+
"/>
-
-
bezeichnung); ?>
-
+ ?>
+ bezeichnung); ?>
+
+ href="">
+ href="individualwettbewerb_id); ?>">
+ href="individualwettbewerb_id); ?>">
- tabellenwertung)
- {
- ?>
+ tabellenwertung) {
+ ?>
+ href="individualwettbewerb_id); ?>">
-
+
- 0)
- {
- ?>
+ 0) {
+ ?>
-
+ $k = 0;
+ foreach ($spiele as $spiel) {
+ ?>
-
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
+
- zeitpunkt)); ?>
+ href="individualwettbewerb_id . '&id=' . $spiel->individualwettbewerb_spiel_id); ?>">
+ zeitpunkt)); ?>
- ergebnis != 2)
- {
- echo htmlentities_utf8(NichtLeererString($spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname));
- if ($spiel->heim_spieler_2_id != null)
- echo " " . htmlentities_utf8(NichtLeererString($spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname));
- }
- else
- {
- echo htmlentities_utf8(NichtLeererString($spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname));
- if ($spiel->gast_spieler_2_id != null)
- echo " " . htmlentities_utf8(NichtLeererString($spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname));
- }
- ?>
+ ergebnis != 2) {
+ echo htmlentities_utf8(NichtLeererString($spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname));
+ if ($spiel->heim_spieler_2_id != null)
+ echo " " . htmlentities_utf8(NichtLeererString($spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname));
+ } else {
+ echo htmlentities_utf8(NichtLeererString($spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname));
+ if ($spiel->gast_spieler_2_id != null)
+ echo " " . htmlentities_utf8(NichtLeererString($spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname));
+ }
+ ?>
- ergebnis_detailliert)) echo str_replace(" ", " | ", $spiel->ergebnis != 2 ? $spiel->ergebnis_detailliert : runden_detailliert_invers($spiel->ergebnis_detailliert)); ?>
- ergebnis == 2)
- {
- echo htmlentities_utf8(NichtLeererString($spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname));
- if ($spiel->heim_spieler_2_id != null)
- echo " " . htmlentities_utf8(NichtLeererString($spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname));
- }
- else
- {
- echo htmlentities_utf8(NichtLeererString($spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname));
- if ($spiel->gast_spieler_2_id != null)
- echo " " . htmlentities_utf8(NichtLeererString($spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname));
- }
- ?>
+ ergebnis == 2) {
+ echo htmlentities_utf8(NichtLeererString($spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname));
+ if ($spiel->heim_spieler_2_id != null)
+ echo " " . htmlentities_utf8(NichtLeererString($spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname));
+ } else {
+ echo htmlentities_utf8(NichtLeererString($spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname));
+ if ($spiel->gast_spieler_2_id != null)
+ echo " " . htmlentities_utf8(NichtLeererString($spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname));
+ }
+ ?>
X
+ href="individualwettbewerb_id . '&id=' . $spiel->individualwettbewerb_spiel_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
- tabellenwertung && !empty($ausgangsplatzierungen))
- {
- $anzahl_eintraege = count($ausgangsplatzierungen);
- $anzahl_spalten = 1;
- $anzahl_zeilen = 1;
- $n = $anzahl_eintraege;
- while ($n > $anzahl_spalten)
- {
- $n -= $anzahl_spalten;
- $anzahl_spalten++;
- $anzahl_zeilen++;
- }
+ if ($individualwettbewerb->tabellenwertung && !empty($ausgangsplatzierungen)) {
+ $anzahl_eintraege = count($ausgangsplatzierungen);
+ $anzahl_spalten = 1;
+ $anzahl_zeilen = 1;
+ $n = $anzahl_eintraege;
+ while ($n > $anzahl_spalten) {
+ $n -= $anzahl_spalten;
+ $anzahl_spalten++;
+ $anzahl_zeilen++;
+ }
- ?>
+ ?>
-
+
-
-
+
-
+
-
+
-
+
-
+
-
-
+
-
-
-
+
+
+
-
- " . $row->platz . "";
- ?>
+
+ " . $row->platz . "";
+ ?>
-
+
- nachname) . " " . htmlentities_utf8($row->vorname);
- ?>
+ nachname) . " " . htmlentities_utf8($row->vorname);
+ ?>
- spieler_id, $platz > 3 ? 30 : 57, $platz > 3 ? 40 : 76, 0, 0, 'border="1" hspace="8" vspace="2"')) != null)
- echo "" . $bild . " ";
- ?>
+ spieler_id, 57, 76, 0, 0, 'border="1" hspace="8" vspace="2"')) != null)
+ echo "" . $bild . " ";
+ ?>
-
- X
+
+ X
-
+
-
+
-
+
-
+
- saetze;
- $saetze = array();
- if ($row != null && !empty($row->ergebnis_detailliert))
- {
- $details = explode(" ", $row->ergebnis_detailliert);
- foreach ($details as $satz)
- {
- if (empty($satz))
- continue;
- array_push($saetze, explode(":", $satz));
- }
- }
- ?>
- bezeichnung); ?>
+ $saetze_maximal = $individualwettbewerb->saetze;
+ $saetze = array();
+ if ($row != null && !empty($row->ergebnis_detailliert)) {
+ $details = explode(" ", $row->ergebnis_detailliert);
+ foreach ($details as $satz) {
+ if (empty($satz))
+ continue;
+ $saetze = array_merge($saetze, explode(":", $satz));
+ }
+ }
+ ?>
+
+
+ bezeichnung); ?>
+
-
-
-
-
-
-
-
- :
-
-
-
- zeitpunkt != null ? $row->zeitpunkt : $zeitpunkt_jetzt, 0, 10);
- $datum_tag = substr($datum, 8, 2);
- for ($i = 1; $i <= 31; $i++)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- " . htmlentities_utf8($monate[$i - 1]) . "";
- }
- ?>
-
-
- = 2000; $i--)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- zeitpunkt != null ? $row->zeitpunkt : $zeitpunkt_jetzt, 11, 2));
- for ($i = 0; $i <= 23; $i++)
- {
- echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
- zeitpunkt != null ? $row->zeitpunkt : $zeitpunkt_jetzt, 14, 2));
- for ($i = 0; $i <= 59; $i++)
- {
- echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
-
- spielernr != null && $s->spielernr != "")
- $zusatz .= $s->spielernr;
- echo "spieler_id . "\"" . ($row != null && $s->spieler_id == $row->heim_spieler_1_id ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
- }
- ?>
-
-
-
-
- spielernr != null && $s->spielernr != "")
- $zusatz .= $s->spielernr;
- echo "spieler_id . "\"" . ($row != null && $s->spieler_id == $row->heim_spieler_2_id ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
- }
- ?>
-
-
-
-
-
-
- vs. :
-
-
-
-
- spielernr != null && $s->spielernr != "")
- $zusatz .= $s->spielernr;
- echo "spieler_id . "\"" . ($row != null && $s->spieler_id == $row->gast_spieler_1_id ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
- }
- ?>
-
-
-
-
- spielernr != null && $s->spielernr != "")
- $zusatz .= $s->spielernr;
- echo "spieler_id . "\"" . ($row != null && $s->spieler_id == $row->gast_spieler_2_id ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
- }
- ?>
-
-
-
-
-
-
- :
-
-
-
-
-
- " . $i . "";
- ?>
-
-
-
- " . $i . "";
- ?>
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+ zeitpunkt != null ? $row->zeitpunkt : $zeitpunkt_jetzt, 0, 10);
+ $datum_tag = substr($datum, 8, 2);
+ for ($i = 1; $i <= 31; $i++) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ " . htmlentities_utf8($monate[$i - 1]) . "";
+ }
+ ?>
+
+
+ = 2000; $i--) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ zeitpunkt != null ? $row->zeitpunkt : $zeitpunkt_jetzt, 11, 2));
+ for ($i = 0; $i <= 23; $i++) {
+ echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
+ }
+ ?>
+
+
+ zeitpunkt != null ? $row->zeitpunkt : $zeitpunkt_jetzt, 14, 2));
+ for ($i = 0; $i <= 59; $i++) {
+ echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
+ }
+ ?>
+
+
+
+
+
+ :
+
+
+
+
+ spielernr != null && $s->spielernr != "")
+ $zusatz .= $s->spielernr;
+ echo "spieler_id . "\"" . ($row != null && $s->spieler_id == $row->heim_spieler_1_id ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
+ }
+ ?>
+
+
+
+
+ spielernr != null && $s->spielernr != "")
+ $zusatz .= $s->spielernr;
+ echo "spieler_id . "\"" . ($row != null && $s->spieler_id == $row->heim_spieler_2_id ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
+ }
+ ?>
+
+
+
+
+
+
+ vs. :
+
+
+
+
+ spielernr != null && $s->spielernr != "")
+ $zusatz .= $s->spielernr;
+ echo "spieler_id . "\"" . ($row != null && $s->spieler_id == $row->gast_spieler_1_id ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
+ }
+ ?>
+
+
+
+
+ spielernr != null && $s->spielernr != "")
+ $zusatz .= $s->spielernr;
+ echo "spieler_id . "\"" . ($row != null && $s->spieler_id == $row->gast_spieler_2_id ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+
+
-
-
-
-
-
+ for ($i = 0; $i <= $max_tore; $i++)
+ echo "" . $i . " ";
+ ?>
+
+
+
+ " . $i . "";
+ ?>
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
"/>
-
- bezeichnung); ?>
+ ?>
+ bezeichnung); ?>
-
-
-
-
-
-
- :
-
-
-
- spielernr != null && $s->spielernr != "")
- $zusatz .= $s->spielernr;
- echo "spieler_id . "\"" . ($row != null && $s->spieler_id == $row->spieler_id ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- ()
-
- $s)
- {
- $naechste_spieler_id = isset($ausgangsplatzierungen[$index + 1]) ? $ausgangsplatzierungen[$index + 1]->spieler_id : -1;
- echo "spieler_id . "\"" . ($row != null && $naechste_spieler_id == $row->spieler_id ? " selected" : "") . ">" . htmlentities_utf8($s->platz . ": " . $s->nachname . ", " . $s->vorname) . " ";
- }
- ?>
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+ spielernr != null && $s->spielernr != "")
+ $zusatz .= $s->spielernr;
+ echo "spieler_id . "\"" . ($row != null && $s->spieler_id == $row->spieler_id ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
+ }
+ ?>
+
+
+
+
+
+ :
+
+
+
+ (
+ )
+
+ $s) {
+ $naechste_spieler_id = isset($ausgangsplatzierungen[$index + 1]) ? $ausgangsplatzierungen[$index + 1]->spieler_id : -1;
+ echo "spieler_id . "\"" . ($row != null && $naechste_spieler_id == $row->spieler_id ? " selected" : "") . ">" . htmlentities_utf8($s->platz . ": " . $s->nachname . ", " . $s->vorname) . " ";
+ }
+ ?>
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
-
-
- :
+ static function adminEditTurnier($row, $veranstalter, $saisons, $vorlage, $users, $berechtigt_fuer_turnier, $kategorien): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
+
"/>
@@ -10585,1122 +10910,1168 @@ class HTML_sportsmanager_admin
"/>
-
+ ?>
Turnierdisziplinen turnierbezeichnung . (!empty($turnier->turnierort) ? (" in " . $turnier->turnierort) : "") . " (" . FormatiertesDatum($turnier->erster_tag, false) . " - " . FormatiertesDatum($turnier->letzter_tag, false) . ")"); ?>
-
+
- 0)
- {
- ?>
+ if (count($rows) > 0) {
+ ?>
-
+ $k = 0;
+ foreach ($rows as $row) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
- disziplin);
- }
- else
- {
- ?>
+ disziplin);
+ } else {
+ ?>
disziplin)); ?>
-
+
kuerzel); ?>
reihenfolge); ?>
- voranmeldungen . " / " . $row->meldungen . " / " . $row->spiele); ?>
+ voranmeldungen . " / " . $row->meldungen . " / " . $row->spiele); ?>
beginn); ?>
status == 0 ? JText::_('COM_SPORTSMANAGER_NO') : JText::_('COM_SPORTSMANAGER_YES')); ?>
-
+ style="text-align: center">status == 0 ? Text::_('COM_SPORTSMANAGER_NO') : Text::_('COM_SPORTSMANAGER_YES')); ?>
+
X
+ href="turnier_id . '&id=' . $row->turnierdisziplin_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
+
-
- turnierbezeichnung . " (" . FormatiertesDatum($turnier->erster_tag, false) . " - " . FormatiertesDatum($turnier->letzter_tag, false) . ")"); ?>
+ static function adminEditTurnierdisziplin($turnier, $row, $ranglisten, $systeme): void
+ {
+ global $params;
+ ?>
+ turnierbezeichnung . " (" . FormatiertesDatum($turnier->erster_tag, false) . " - " . FormatiertesDatum($turnier->letzter_tag, false) . ")"); ?>
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
-
- typ == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- reihenfolge == $i ? " selected" : "") : "") . ">" . $i . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- erster_tag;
- if ($row != null)
- if ($row->beginn != null)
- $datum = substr($row->beginn, 0, 10);
- $datum_tag = substr($datum, 8, 2);
- echo " ";
- for ($i = 1; $i <= 31; $i++)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- ";
- $monate = array(JText::_('COM_SPORTSMANAGER_JANUARY'), JText::_('COM_SPORTSMANAGER_FEBRUARY'), JText::_('COM_SPORTSMANAGER_MARCH'), JText::_('COM_SPORTSMANAGER_APRIL'), JText::_('COM_SPORTSMANAGER_MAY'), JText::_('COM_SPORTSMANAGER_JUNE'), JText::_('COM_SPORTSMANAGER_JULY'), JText::_('COM_SPORTSMANAGER_AUGUST'), JText::_('COM_SPORTSMANAGER_SEPTEMBER'), JText::_('COM_SPORTSMANAGER_OCTOBER'), JText::_('COM_SPORTSMANAGER_NOVEMBER'), JText::_('COM_SPORTSMANAGER_DECEMBER'));
- for ($i = 1; $i <= 12; $i++)
- {
- echo "" . htmlentities_utf8($monate[$i - 1]) . " ";
- }
- ?>
-
-
- ";
- for ($i = Date("Y") + 5; $i >= 2000; $i--)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- beginn != null)
- $stunden = intval(substr($row->beginn, 11, 2));
- echo " ";
- for ($i = 0; $i <= 23; $i++)
- {
- echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
- beginn != null)
- $minuten = intval(substr($row->beginn, 14, 2));
- echo " ";
- for ($i = 0; $i <= 59; $i += 5)
- {
- echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- elo_wertung == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($elo_wertung[$i]) . "";
- }
- ?>
-
-
-
- turnierdisziplin_id != null)
- array_push($ranglisten_beruecksichtigt, $rangliste->rangliste_id);
- }
- $n = count($ranglisten_beruecksichtigt);
- }
- for ($i = 0; $i <= max(3, $n); $i++)
- {
- ?>
-
-
- :
-
-
-
-
- rangliste_id . "\"" . ($row != null && $i < $n ? ($rangliste->rangliste_id == $ranglisten_beruecksichtigt[$i] ? " selected" : "") : "") . ">" . htmlentities_utf8(($rangliste->saisonbezeichnung != null ? ($rangliste->saisonbezeichnung . ": ") : "") . $rangliste->bezeichnung) . "";
- if ($row != null && $i < $n && $rangliste->rangliste_id == $ranglisten_beruecksichtigt[$i])
- {
- $rangliste_system_id = $rangliste->system_id;
- $rangliste_wertung = $rangliste->wertung;
- $rangliste_doppel_teilwertung = $rangliste->doppel_teilwertung;
- }
- }
- ?>
-
- :
-
-
- rangliste_system_id . "\" " . ($rangliste_system_id == $system->rangliste_system_id ? "selected" : "") . ">" . htmlentities_utf8($system->systembezeichnung) . "";
- }
- ?>
-
-
-
- = 0.75; $j -= 0.25) {
- $wertungen[] = $j;
- }
- for ($j = -0.75; $j >= -10; $j -= 0.25) {
- $wertungen[] = $j;
- }
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+ :
+
+
+
+ typ == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ reihenfolge == $i ? " selected" : "") : "") . ">" . $i . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ erster_tag;
+ if ($row != null)
+ if ($row->beginn != null)
+ $datum = substr($row->beginn, 0, 10);
+ $datum_tag = substr($datum, 8, 2);
+ echo " ";
+ for ($i = 1; $i <= 31; $i++) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ ";
+ $monate = array(Text::_('COM_SPORTSMANAGER_JANUARY'), Text::_('COM_SPORTSMANAGER_FEBRUARY'), Text::_('COM_SPORTSMANAGER_MARCH'), Text::_('COM_SPORTSMANAGER_APRIL'), Text::_('COM_SPORTSMANAGER_MAY'), Text::_('COM_SPORTSMANAGER_JUNE'), Text::_('COM_SPORTSMANAGER_JULY'), Text::_('COM_SPORTSMANAGER_AUGUST'), Text::_('COM_SPORTSMANAGER_SEPTEMBER'), Text::_('COM_SPORTSMANAGER_OCTOBER'), Text::_('COM_SPORTSMANAGER_NOVEMBER'), Text::_('COM_SPORTSMANAGER_DECEMBER'));
+ for ($i = 1; $i <= 12; $i++) {
+ echo "" . htmlentities_utf8($monate[$i - 1]) . " ";
+ }
+ ?>
+
+
+ ";
+ for ($i = (int)Date("Y") + 5; $i >= 2000; $i--) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ beginn != null)
+ $stunden = intval(substr($row->beginn, 11, 2));
+ echo " ";
+ for ($i = 0; $i <= 23; $i++) {
+ echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
+ }
+ ?>
+
+
+ beginn != null)
+ $minuten = intval(substr($row->beginn, 14, 2));
+ echo " ";
+ for ($i = 0; $i <= 59; $i += 5) {
+ echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ elo_wertung == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($elo_wertung[$i]) . "";
+ }
+ ?>
+
+
+
+ turnierdisziplin_id != null)
+ $ranglisten_beruecksichtigt[] = $rangliste->rangliste_id;
+ }
+ $n = count($ranglisten_beruecksichtigt);
+ }
+ for ($i = 0; $i <= max(3, $n); $i++) {
+ ?>
+
+
+
+ :
+
+
+
+
+ rangliste_id . "\"" . ($row != null && $i < $n ? ($rangliste->rangliste_id == $ranglisten_beruecksichtigt[$i] ? " selected" : "") : "") . ">" . htmlentities_utf8(($rangliste->saisonbezeichnung != null ? ($rangliste->saisonbezeichnung . ": ") : "") . $rangliste->bezeichnung) . "";
+ if ($row != null && $i < $n && $rangliste->rangliste_id == $ranglisten_beruecksichtigt[$i]) {
+ $rangliste_system_id = $rangliste->system_id;
+ $rangliste_wertung = $rangliste->wertung;
+ $rangliste_doppel_teilwertung = $rangliste->doppel_teilwertung;
+ }
+ }
+ ?>
+
+
+ :
+
+
+ rangliste_system_id . "\" " . ($rangliste_system_id == $system->rangliste_system_id ? "selected" : "") . ">" . htmlentities_utf8($system->systembezeichnung) . "";
+ }
+ ?>
+
+
+
+ = 0.75; $j -= 0.25) {
+ $wertungen[] = $j;
+ }
+ for ($j = -0.75; $j >= -10; $j -= 0.25) {
+ $wertungen[] = $j;
+ }
- $wertungen[] = 0.7;
- $wertungen[] = 1.3;
- $wertungen[] = 1.7;
- $wertungen[] = -0.7;
- $wertungen[] = -1.3;
- $wertungen[] = -1.7;
+ $wertungen[] = 0.7;
+ $wertungen[] = 1.3;
+ $wertungen[] = 1.7;
+ $wertungen[] = -0.7;
+ $wertungen[] = -1.3;
+ $wertungen[] = -1.7;
- asort($wertungen);
+ asort($wertungen);
- foreach ($wertungen as $wertung) {
- echo "" . htmlentities_utf8($wertung . "-fach") . " ";
- }
- ?>
-
- :
-
-
- >
- = -10; $j -= 0.25) {
- $wertungen[] = $j;
- }
+ foreach ($wertungen as $wertung) {
+ echo "" . htmlentities_utf8($wertung . "-fach") . " ";
+ }
+ ?>
+
+
+ :
+
+
+ >
+ = -10; $j -= 0.25) {
+ $wertungen[] = $j;
+ }
- $wertungen[] = 0.7;
- $wertungen[] = 1.3;
- $wertungen[] = 1.7;
+ $wertungen[] = 0.7;
+ $wertungen[] = 1.3;
+ $wertungen[] = 1.7;
- asort($wertungen);
+ asort($wertungen);
- foreach ($wertungen as $wertung) {
- echo "" . htmlentities_utf8("1/" . abs($wertung) . "-fach") . " ";
- }
- ?>
-
-
-
-
-
-
- :
-
-
-
- voranmeldung != null)
- $datum = substr($row->voranmeldung, 0, 10);
- $datum_tag = substr($datum, 8, 2);
- echo " ";
- for ($i = 1; $i <= 31; $i++)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- ";
- $monate = array(JText::_('COM_SPORTSMANAGER_JANUARY'), JText::_('COM_SPORTSMANAGER_FEBRUARY'), JText::_('COM_SPORTSMANAGER_MARCH'), JText::_('COM_SPORTSMANAGER_APRIL'), JText::_('COM_SPORTSMANAGER_MAY'), JText::_('COM_SPORTSMANAGER_JUNE'), JText::_('COM_SPORTSMANAGER_JULY'), JText::_('COM_SPORTSMANAGER_AUGUST'), JText::_('COM_SPORTSMANAGER_SEPTEMBER'), JText::_('COM_SPORTSMANAGER_OCTOBER'), JText::_('COM_SPORTSMANAGER_NOVEMBER'), JText::_('COM_SPORTSMANAGER_DECEMBER'));
- for ($i = 1; $i <= 12; $i++)
- {
- echo "" . htmlentities_utf8($monate[$i - 1]) . " ";
- }
- ?>
-
-
- ";
- for ($i = Date("Y") + 5; $i >= 2000; $i--)
- {
- echo "" . $i . " ";
- }
- ?>
-
-
- voranmeldung != null)
- $stunden = intval(substr($row->voranmeldung, 11, 2));
- echo " ";
- for ($i = 0; $i <= 23; $i++)
- {
- echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- ?>
-
-
- voranmeldung != null)
- $minuten = intval(substr($row->voranmeldung, 14, 2));
- echo " ";
- for ($i = 0; $i <= 59; $i += 5)
- {
- echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
- }
- echo " 0 && $minuten == 59 ? "selected" : "") . ">59 ";
- ?>
-
-
-
-
-
- :
-
-
-
-
- rangliste_id . "\"" . ($row != null ? ($rangliste->rangliste_id == $row->voranmeldungen_rangliste_id ? " selected" : "") : "") . ">" . htmlentities_utf8(($rangliste->saisonbezeichnung != null ? ($rangliste->saisonbezeichnung . ": ") : "") . $rangliste->bezeichnung) . "";
- ?>
-
-
-
-
-
- :
-
-
-
- voranmeldungen_reihenfolge == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($voranmeldungen_reihenfolge[$i - 1]) . "";
- }
- ?>
-
-
-
-
-
- :
-
-
-
- status == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($status[$i]) . "";
- }
- ?>
-
-
-
-
-
+ foreach ($wertungen as $wertung) {
+ echo "" . htmlentities_utf8("1/" . abs($wertung) . "-fach") . " ";
+ }
+ ?>
+
+
+
+
+
+
+
+ :
+
+
+
+ voranmeldung != null)
+ $datum = substr($row->voranmeldung, 0, 10);
+ $datum_tag = substr($datum, 8, 2);
+ echo " ";
+ for ($i = 1; $i <= 31; $i++) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ ";
+ $monate = array(Text::_('COM_SPORTSMANAGER_JANUARY'), Text::_('COM_SPORTSMANAGER_FEBRUARY'), Text::_('COM_SPORTSMANAGER_MARCH'), Text::_('COM_SPORTSMANAGER_APRIL'), Text::_('COM_SPORTSMANAGER_MAY'), Text::_('COM_SPORTSMANAGER_JUNE'), Text::_('COM_SPORTSMANAGER_JULY'), Text::_('COM_SPORTSMANAGER_AUGUST'), Text::_('COM_SPORTSMANAGER_SEPTEMBER'), Text::_('COM_SPORTSMANAGER_OCTOBER'), Text::_('COM_SPORTSMANAGER_NOVEMBER'), Text::_('COM_SPORTSMANAGER_DECEMBER'));
+ for ($i = 1; $i <= 12; $i++) {
+ echo "" . htmlentities_utf8($monate[$i - 1]) . " ";
+ }
+ ?>
+
+
+ ";
+ for ($i = (int)Date("Y") + 5; $i >= 2000; $i--) {
+ echo "" . $i . " ";
+ }
+ ?>
+
+
+ voranmeldung != null)
+ $stunden = intval(substr($row->voranmeldung, 11, 2));
+ echo " ";
+ for ($i = 0; $i <= 23; $i++) {
+ echo " 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
+ }
+ ?>
+
+
+ voranmeldung != null)
+ $minuten = intval(substr($row->voranmeldung, 14, 2));
+ echo " ";
+ for ($i = 0; $i <= 59; $i += 5) {
+ echo " 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . " ";
+ }
+ echo " 0 && $minuten == 59 ? "selected" : "") . ">59 ";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+ rangliste_id . "\"" . ($row != null ? ($rangliste->rangliste_id == $row->voranmeldungen_rangliste_id ? " selected" : "") : "") . ">" . htmlentities_utf8(($rangliste->saisonbezeichnung != null ? ($rangliste->saisonbezeichnung . ": ") : "") . $rangliste->bezeichnung) . "";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ voranmeldungen_reihenfolge == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($voranmeldungen_reihenfolge[$i - 1]) . "";
+ }
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+ status == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($status[$i]) . "";
+ }
+ ?>
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
"/>
-
+ static function adminExportTurniervoranmeldungen($turnierdisziplin, $ranglisten): void
+ {
+ global $params;
+ ?>
Turniervoranmeldungen
exportieren turnierbezeichnung . (!empty($turnierdisziplin->turnierort) ? (" in " . $turnierdisziplin->turnierort) : "") . ": " . $turnierdisziplin->disziplin . " (" . FormatiertesDatum($turnierdisziplin->beginn) . ")"); ?>
-
-
-
-
-
-
-
-
-
- turnierbezeichnung); ?>
-
-
-
-
- :
-
-
- disziplin); ?>
-
-
-
-
- :
-
-
-
-
- rangliste_id . "\"" . ($turnierdisziplin->voranmeldungen_rangliste_id == $rangliste->rangliste_id ? " selected" : "") . ">" . htmlentities_utf8(($rangliste->saisonbezeichnung != null ? ($rangliste->saisonbezeichnung . ": ") : "") . $rangliste->bezeichnung) . "";
- ?>
-
-
-
- typ != 0)
- {
- ?>
-
-
- :
-
-
-
- voranmeldungen_reihenfolge == ($i + 1) ? " selected" : "") . ">" . htmlentities_utf8($status[$i]) . "";
- }
- ?>
-
-
-
-
-
-
- :
-
-
-
- JText::_('COM_SPORTSMANAGER_NONE_SET'), 2 => JText::_('COM_SPORTSMANAGER_FOUR_SET'), 3 => JText::_('COM_SPORTSMANAGER_EIGHT_SET'), 0 => "CSV");
- foreach ($format as $i => $bezeichnung)
- echo "" . htmlentities_utf8($bezeichnung) . " ";
- ?>
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ turnierbezeichnung); ?>
+
+
+
+
+ :
+
+
+ disziplin); ?>
+
+
+
+
+
+ :
+
+
+
+
+ rangliste_id . "\"" . ($turnierdisziplin->voranmeldungen_rangliste_id == $rangliste->rangliste_id ? " selected" : "") . ">" . htmlentities_utf8(($rangliste->saisonbezeichnung != null ? ($rangliste->saisonbezeichnung . ": ") : "") . $rangliste->bezeichnung) . "";
+ ?>
+
+
+
+ typ != 0) {
+ ?>
+
+
+
+ :
+
+
+
+ voranmeldungen_reihenfolge == ($i + 1) ? " selected" : "") . ">" . htmlentities_utf8($status[$i]) . "";
+ }
+ ?>
+
+
+
+
+
+
+
+ :
+
+
+
+ Text::_('COM_SPORTSMANAGER_NONE_SET'), 2 => Text::_('COM_SPORTSMANAGER_FOUR_SET'), 3 => Text::_('COM_SPORTSMANAGER_EIGHT_SET'), 0 => "CSV");
+ foreach ($format as $i => $bezeichnung)
+ echo "" . htmlentities_utf8($bezeichnung) . " ";
+ ?>
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
- turnierbezeichnung . (!empty($disziplin->turnierort) ? (" in " . $disziplin->turnierort) : "") . ": " . $disziplin->disziplin . " (" . FormatiertesDatum($disziplin->beginn) . ")"); ?>
-
+ ?>
+ turnierbezeichnung . (!empty($disziplin->turnierort) ? (" in " . $disziplin->turnierort) : "") . ": " . $disziplin->disziplin . " (" . FormatiertesDatum($disziplin->beginn) . ")"); ?>
+
+ href="turnier_id); ?>">
+ href="turnierdisziplin_id); ?>">
+ href="turnierdisziplin_id); ?>">
+ href="turnierdisziplin_id); ?>">
+ href="turnierdisziplin_id); ?>">
+ href="turnierdisziplin_id); ?>"
+ onclick="return confirm('');">
- 0 || count($meldungen[1]) > 0 || count($meldungen[2]) > 0 || count($meldungen[3]) > 0 || count($meldungen[10]) > 0 || count($meldungen[20]) > 0)
- {
- ?>
+ 0 || count($meldungen[1]) > 0 || count($meldungen[2]) > 0 || count($meldungen[3]) > 0 || count($meldungen[10]) > 0 || count($meldungen[20]) > 0) {
+ ?>
- 0 || count($meldungen[1]) > 0)
- {
- ?>
+ 0 || count($meldungen[1]) > 0) {
+ ?>
+ href="turnierdisziplin_id); ?>">
- 0 || count($meldungen[2]) > 0)
- {
- ?>
+ 0 || count($meldungen[2]) > 0) {
+ ?>
+ href="turnierdisziplin_id); ?>">
- 0 || count($meldungen[3]) > 0)
- {
- ?>
+ 0 || count($meldungen[3]) > 0) {
+ ?>
+ href="turnierdisziplin_id); ?>">
- 0 || count($meldungen[10]) > 0)
- {
- ?>
+ 0 || count($meldungen[10]) > 0) {
+ ?>
+ href="turnierdisziplin_id); ?>">
-
+
-
+
- 0 || ($rundenstufe != 0 && $rundenstufe != 20 && count($spiele[$rundenstufe])) > 0)
- {
- ?>
+ 0 || ($rundenstufe != 0 && $rundenstufe != 20 && count($spiele[$rundenstufe])) > 0) {
+ ?>
- 0)
- {
- ?>
+ if (count($meldungen[$rundenstufe]) > 0) {
+ ?>
-
+ $k = 0;
+ $platz = -1;
+ foreach ($meldungen[$rundenstufe] as $meldung) {
+ ?>
-
-
- platz)
- {
- $platz = $meldung->platz;
- echo $platz != 0 ? $platz : JText::_('COM_SPORTSMANAGER_NONE');
- }
- ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
+
+
+ platz) {
+ $platz = $meldung->platz;
+ echo $platz != 0 ? $platz : Text::_('COM_SPORTSMANAGER_NONE');
+ }
+ ?>
-
-
- turniermeldung_id]); ?>
+
+
+ turniermeldung_id]); ?>
X
+ href="turnierdisziplin_id . '&id=' . $meldung->turniermeldung_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
- 0)
- {
- $ergebnis_detailliert_anzeigen = false;
- foreach ($spiele[$rundenstufe] as $spiel)
- {
- if (!empty($spiel->ergebnis_detailliert))
- {
- $ergebnis_detailliert_anzeigen = true;
- break;
- }
- }
- ?>
+ if ($rundenstufe != 0 && $rundenstufe != 20 && count($spiele[$rundenstufe]) > 0) {
+ $ergebnis_detailliert_anzeigen = false;
+ foreach ($spiele[$rundenstufe] as $spiel) {
+ if (!empty($spiel->ergebnis_detailliert)) {
+ $ergebnis_detailliert_anzeigen = true;
+ break;
+ }
+ }
+ ?>
-
+ $runde = 0;
+ $k = 0;
+ foreach ($spiele[$rundenstufe] as $spiel) {
+ ?>
-
- runde)
- {
- $runde = $spiel->runde;
- ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
+
+ runde) {
+ $runde = $spiel->runde;
+ ?>
-
+
-
+
- ergebnis == 1 ? NichtLeererString(htmlentities_utf8($meldungenSpielerNamen[$spiel->heim_meldung_id])) : NichtLeererString(htmlentities_utf8($meldungenSpielerNamen[$spiel->gast_meldung_id])); ?>
+ href="turnierdisziplin_id . '&id=' . $spiel->turnierspiel_id); ?>">
+ ergebnis == 1 ? NichtLeererString(htmlentities_utf8($meldungenSpielerNamen[$spiel->heim_meldung_id])) : NichtLeererString(htmlentities_utf8($meldungenSpielerNamen[$spiel->gast_meldung_id])); ?>
-
-
+ ergebnis_detailliert)) echo str_replace(" ", " | ", $spiel->ergebnis == 1 ? $spiel->ergebnis_detailliert : runden_detailliert_invers($spiel->ergebnis_detailliert)); ?>
-
+
ergebnis == 1 ? htmlentities_utf8($meldungenSpielerNamen[$spiel->gast_meldung_id]) : htmlentities_utf8($meldungenSpielerNamen[$spiel->heim_meldung_id]); ?>
- spiel_nummer != null) echo $spiel->spiel_nummer; ?>
X
+ href="turnierdisziplin_id . '&id=' . $spiel->turnierspiel_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
- turnierbezeichnung . (!empty($row->turnierort) ? (" in " . $row->turnierort) : "") . ": " . $row->disziplin . " (" . FormatiertesDatum($row->beginn) . ")"); ?>
+ static function adminImportTurnierdisziplinMeldungenSpieleForm($row, $veranstalter): void
+ {
+ global $params;
+ ?>
+ turnierbezeichnung . (!empty($row->turnierort) ? (" in " . $row->turnierort) : "") . ": " . $row->disziplin . " (" . FormatiertesDatum($row->beginn) . ")"); ?>
-
-
-
+
-
- turnierbezeichnung . (!empty($turnierdisziplin->turnierort) ? (" in " . $turnierdisziplin->turnierort) : "") . ": " . $turnierdisziplin->disziplin . " (" . FormatiertesDatum($turnierdisziplin->beginn) . ")"); ?>
+ static function adminEditTurnierdisziplinMeldung($meldung, $meldung_spieler, $turnierdisziplin, $spieler, $rundenstufen, $platzierungen, $weitere): void
+ {
+ global $params;
+ ?>
+ turnierbezeichnung . (!empty($turnierdisziplin->turnierort) ? (" in " . $turnierdisziplin->turnierort) : "") . ": " . $turnierdisziplin->disziplin . " (" . FormatiertesDatum($turnierdisziplin->beginn) . ")"); ?>
-
-
-
-
-
-
- :
-
-
-
-
- ,
- ,
- spielernr != null && $s->spielernr != "")
- $zusatz .= $s->spielernr;
- echo "spieler_id . "\"" . ((!$weitere && $meldung != null && $s->spieler_id == $meldung_spieler[0]->spieler_id) ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
- }
- ?>
-
- spieler_id != null) echo ' style="visibility:hidden"'; ?> />
- spieler_id != null) echo ' style="visibility:hidden"'; ?> />
- spieler_id != null) echo ' style="visibility:hidden"'; ?> />
-
-
-
- typ == 1)
- {
- ?>
-
-
- :
-
-
-
-
- ,
- ,
- spielernr != null && $s->spielernr != "")
- $zusatz .= $s->spielernr;
- echo "spieler_id . "\"" . ((!$weitere && $meldung != null && $s->spieler_id == $meldung_spieler[1]->spieler_id) ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
- }
- ?>
-
- spieler_id != null) echo ' style="visibility:hidden"'; ?> />
- spieler_id != null) echo ' style="visibility:hidden"'; ?> />
- spieler_id != null) echo ' style="visibility:hidden"'; ?> />
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+ ,
+ ,
+ spielernr != null && $s->spielernr != "")
+ $zusatz .= $s->spielernr;
+ echo "spieler_id . "\"" . ((!$weitere && $meldung != null && $s->spieler_id == $meldung_spieler[0]->spieler_id) ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
+ }
+ ?>
+
+ spieler_id != null) echo ' style="visibility:hidden"'; ?>
+ aria-label=""/>
+ spieler_id != null) echo ' style="visibility:hidden"'; ?>
+ aria-label=""/>
+ spieler_id != null) echo ' style="visibility:hidden"'; ?>
+ aria-label=""/>
+
+
+
+ typ == 1) {
+ ?>
+
+
+ :
+
+
+
+
+ ,
+ ,
+ spielernr != null && $s->spielernr != "")
+ $zusatz .= $s->spielernr;
+ echo "spieler_id . "\"" . ((!$weitere && $meldung != null && $s->spieler_id == $meldung_spieler[1]->spieler_id) ? " selected" : "") . ">" . htmlentities_utf8($s->nachname . ", " . $s->vorname) . htmlentities_utf8(!empty($zusatz) ? (" (" . $zusatz . ")") : "") . (bildHTML("spieler", $s->spieler_id, 0, 0, 180, 240) != null ? " [Bild]" : "") . " ";
+ }
+ ?>
+
+ spieler_id != null) echo ' style="visibility:hidden"'; ?>
+ aria-label=""/>
+ spieler_id != null) echo ' style="visibility:hidden"'; ?>
+ aria-label=""/>
+ spieler_id != null) echo ' style="visibility:hidden"'; ?>
+ aria-label=""/>
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
-
-
+
+
"/>
-
- turnierbezeichnung . (!empty($turnierdisziplin->turnierort) ? (" " . JText::_('COM_SPORTSMANAGER_IN') . " " . $disziplin->turnierort) : "") . ": " . $disziplin->disziplin . " (" . FormatiertesDatum($disziplin->beginn) . ")"); ?>
+ static function adminVerknuepfenTurnierdisziplinMeldung($disziplin, $meldungen): void
+ {
+ global $params;
+ ?>
+ turnierbezeichnung . (!empty($turnierdisziplin->turnierort) ? (" " . Text::_('COM_SPORTSMANAGER_IN') . " " . $disziplin->turnierort) : "") . ": " . $disziplin->disziplin . " (" . FormatiertesDatum($disziplin->beginn) . ")"); ?>
-
-
-
-
- 0)
- {
- $platzierung_anzeigen = false;
- foreach ($meldungen[$rundenstufe] as $meldung)
- {
- if (!empty($meldung->platz))
- {
- $platzierung_anzeigen = true;
- break;
- }
- }
- ?>
+
+
+
+
+
+
+ 0) {
+ $platzierung_anzeigen = false;
+ foreach ($meldungen[$rundenstufe] as $meldung) {
+ if (!empty($meldung->platz)) {
+ $platzierung_anzeigen = true;
+ break;
+ }
+ }
+ ?>
+
+
+ :
+
+
+
+
+
+
-
- :
+
+ :
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
-
- turnierbezeichnung . (!empty($turnierdisziplin->turnierort) ? (" " . JText::_('COM_SPORTSMANAGER_IN') . " " . $turnierdisziplin->turnierort) : "") . ": " . $turnierdisziplin->disziplin . " (" . FormatiertesDatum($turnierdisziplin->beginn) . ")"); ?>
+ static function adminEditTurnierdisziplinRundenstufe($turnierdisziplin, $rundenstufe, $rundenstufen_details): void
+ {
+ global $params;
+ ?>
+ turnierbezeichnung . (!empty($turnierdisziplin->turnierort) ? (" " . Text::_('COM_SPORTSMANAGER_IN') . " " . $turnierdisziplin->turnierort) : "") . ": " . $turnierdisziplin->disziplin . " (" . FormatiertesDatum($turnierdisziplin->beginn) . ")"); ?>
-
-
-
+
- saetze : null;
- $saetze = array();
- if ($row != null && !empty($row->ergebnis_detailliert))
- {
- $details = explode(" ", $row->ergebnis_detailliert);
- foreach ($details as $satz)
- {
- if (empty($satz))
- continue;
- array_push($saetze, explode(":", $satz));
- }
- }
- ?>
+ $saetze_maximal = $rundenstufen_details != null ? $rundenstufen_details->saetze : null;
+ $saetze = array();
+ if ($row != null && !empty($row->ergebnis_detailliert)) {
+ $details = explode(" ", $row->ergebnis_detailliert);
+ foreach ($details as $satz) {
+ if (empty($satz))
+ continue;
+ $saetze = array_merge($saetze, explode(":", $satz));
+ }
+ }
+ ?>
- Spiel turnierbezeichnung . (!empty($disziplin->turnierort) ? (" in " . $disziplin->turnierort) : "") . ": " . $disziplin->disziplin . " (" . FormatiertesDatum($disziplin->beginn) . ")"); ?>
+ Spiel turnierbezeichnung . (!empty($disziplin->turnierort) ? (" in " . $disziplin->turnierort) : "") . ": " . $disziplin->disziplin . " (" . FormatiertesDatum($disziplin->beginn) . ")"); ?>
-
-
-
-
+
"/>
-
- turnierbezeichnung . (!empty($disziplin->turnierort) ? (" in " . $disziplin->turnierort) : "") . ": " . $disziplin->disziplin . " (" . FormatiertesDatum($disziplin->beginn) . ")"); ?>
+ static function adminEditTurnierdisziplinRunde($runde, $rundenstufe, $id, $disziplin): void
+ {
+ global $params;
+ ?>
+ turnierbezeichnung . (!empty($disziplin->turnierort) ? (" in " . $disziplin->turnierort) : "") . ": " . $disziplin->disziplin . " (" . FormatiertesDatum($disziplin->beginn) . ")"); ?>
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
- :
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -12251,203 +12637,228 @@ class HTML_sportsmanager_admin
-
-
- :
+ ?>
+
+ :
-
-
-
-
-
-
-
-
-
-
- 1 && !$beschraenkter_zugriff)
- {
- ?>
-
- veranstalter_id . "\">" . htmlentities_utf8($veranstalter_row->veranstalterbezeichnung) . "";
- ?>
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ 1 && !$beschraenkter_zugriff) {
+ ?>
+
+ veranstalter_id . "\">" . htmlentities_utf8($veranstalter_row->veranstalterbezeichnung) . "";
+ ?>
+
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
- :
+ ?>
+
+ :
-
-
-
-
-
-
-
-
-
-
- 1)
- {
- ?>
-
- veranstalter_id . "\">" . htmlentities_utf8($veranstalter_row->veranstalterbezeichnung) . "";
- ?>
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ 1) {
+ ?>
+
+ veranstalter_id . "\">" . htmlentities_utf8($veranstalter_row->veranstalterbezeichnung) . "";
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
- :
+ ?>
+
+ :
-
-
-
-
-
- :
-
+ ?>
+
+ :
+
@@ -12455,136 +12866,142 @@ class HTML_sportsmanager_admin
- 0)
- {
- ?>
+ 0) {
+ ?>
-
+ $k = 0;
+ foreach ($nicht_importiere_bilder as $bild) {
+ if (empty($bild))
+ continue;
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
-
+
-
-
- :
+ ?>
+
+ :
-
-
-
-
-
- :
-
+ ?>
+
+ :
+
@@ -12592,153 +13009,144 @@ class HTML_sportsmanager_admin
- 0)
- {
- ?>
+ 0) {
+ ?>
-
+ $k = 0;
+ foreach ($nicht_importiere_bilder as $bild) {
+ if (empty($bild))
+ continue;
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
-
+
-
+ ?>
- 0)
- {
- ?>
-
-
+ 0) {
+ ?>
+
+
+ href="">
-
+
-
+
+ href="&uebersicht=1">
-
+
+ href="&uebersicht=1">
-
+
+ href="">
()
+ href="">
-
+
-
+
+ href="">
+ href="">
+ href="">
+ href="">
+ href="">
-
+
-
+ if (!empty($jahre)) {
+ $filter_anzeigen = !empty($filter_veranstaltung) || !empty($filter_zusatz) || !empty($filter_land);
+ ?>
-
-
-
:
+
+
- = 2) : ?>
- >
-
:
-
-
-
- bezeichnung) . "\"" . ($veranstaltung->bezeichnung == $filter_veranstaltung ? " selected" : "") . ">" . htmlentities_utf8($veranstaltung->bezeichnung) . "";
- ?>
-
-
-
-
- = 2) : ?>
- >
-
:
-
-
-
- land) . "\"" . ($land->land == $filter_land ? " selected" : "") . ">" . htmlentities_utf8($land->land) . "";
- ?>
-
-
-
-
- = 2) : ?>
- >
-
:
-
-
-
- bezeichnungszusatz) . "\"" . ($zusatz->bezeichnungszusatz == $filter_zusatz ? " selected" : "") . ">" . htmlentities_utf8(!empty($zusatz->titel) ? $zusatz->titel : $zusatz->bezeichnungszusatz) . "";
+
+ = 2) : ?>
+
>
+
:
+
+
+
+ bezeichnung) . "\"" . ($veranstaltung->bezeichnung == $filter_veranstaltung ? " selected" : "") . ">" . htmlentities_utf8($veranstaltung->bezeichnung) . "";
?>
-
-
-
-
- Filter anzeigen
+
+ = 2) : ?>
+
>
+
+ :
+
+
+
+ land) . "\"" . ($land->land == $filter_land ? " selected" : "") . ">" . htmlentities_utf8($land->land) . "";
+ ?>
+
+
+
+
+ = 2) : ?>
+
>
+
:
+
+
+
+ bezeichnungszusatz) . "\"" . ($zusatz->bezeichnungszusatz == $filter_zusatz ? " selected" : "") . ">" . htmlentities_utf8(!empty($zusatz->titel) ? $zusatz->titel : $zusatz->bezeichnungszusatz) . "";
+ ?>
+
+
+
+
+
+
+ Filter anzeigen
+
+
termine"/>
- beschreibung))
- $termine_beschreibung_anzeigen = true;
- if (!empty($termin->ort))
- $termine_ort_anzeigen = true;
- if (!empty($termin->land))
- $termine_land_anzeigen = true;
- if ($termine_beschreibung_anzeigen && $termine_land_anzeigen)
- break;
- }
+ $symbole_anzeigen = !empty($termineSymbole);
+ $termine_beschreibung_anzeigen = false;
+ $termine_ort_anzeigen = false;
+ $termine_land_anzeigen = false;
+ foreach ($termine as $termin) {
+ if (!empty($termin->beschreibung))
+ $termine_beschreibung_anzeigen = true;
+ if (!empty($termin->ort))
+ $termine_ort_anzeigen = true;
+ if (!empty($termin->land))
+ $termine_land_anzeigen = true;
+ if ($termine_beschreibung_anzeigen && $termine_land_anzeigen)
+ break;
+ }
- if (!empty($termine))
- {
- $termine_anzahl = count($termine);
- if ($termine_anzahl >= 2 && $termine[0]->datumsdifferenz < 0 && $termine[$termine_anzahl - 1]->datumsdifferenz >= 0)
- $link_kommende_zu_setzen = true;
- else
- $link_kommende_zu_setzen = false;
+ if (!empty($termine)) {
+ $termine_anzahl = count($termine);
+ if ($termine_anzahl >= 2 && $termine[0]->datumsdifferenz < 0 && $termine[$termine_anzahl - 1]->datumsdifferenz >= 0)
+ $link_kommende_zu_setzen = true;
+ else
+ $link_kommende_zu_setzen = false;
- if ($link_kommende_zu_setzen)
- {
- ?>
-
-
+
+
+ ?>
-
+
- JText::_('COM_SPORTSMANAGER_GENERALLY'), 1 => JText::_('COM_SPORTSMANAGER_SINGLES'), 2 => JText::_('COM_SPORTSMANAGER_DOUBLES'));
- foreach ($termine as $termin)
- {
- ?>
+ foreach ($termine as $termin) {
+ ?>
- datumsdifferenz >= 0)
- {
- ?>
+ datumsdifferenz >= 0) {
+ ?>
- erster_tag, $termin->letzter_tag, true, $filter_jahr));
- }
- else
- {
- ?>
+ erster_tag, $termin->letzter_tag, true, $filter_jahr));
+ } else {
+ ?>
href="termin_id); ?>">erster_tag, $termin->letzter_tag, true, $filter_jahr))); ?>
- bestaetigt)
- {
- ?>
-
-
+ bestaetigt) {
+ ?>
+
+
- bezeichnung);
- if (!empty($termin->zusaetze))
- {
- ?>
+ bezeichnung);
+ if (!empty($termin->zusaetze)) {
+ ?>
zusaetze; ?>
-
+
-
+
- termin_id]))
- {
- foreach ($termineSymbole[$termin->termin_id] as $termin_symbol_id)
- {
- if (($bild = bildHTML("terminsymbole/", $termin_symbol_id, 0, 0, 240, 240, 'border="0"')) != null)
- echo $bild;
- }
- }
- ?>
+ termin_id])) {
+ foreach ($termineSymbole[$termin->termin_id] as $termin_symbol_id) {
+ if (($bild = bildHTML("terminsymbole/", $termin_symbol_id, 0, 0, 240, 240, 'border="0"')) != null)
+ echo $bild;
+ }
+ }
+ ?>
-
+
beschreibung); ?>
-
+
ort); ?>
-
+
land); ?>
-
-
- ergebnisse_url))
- {
- echo "ergebnisse_url, "://") === false ? "http://" : "") . $termin->ergebnisse_url) . "\" target=\"_blank\">" . ($termin->ergebnisse_live ? JText::_('COM_SPORTSMANAGER_LIVE_') : "") . JText::_('COM_SPORTSMANAGER_RESULTS') . " ";
- }
- $info_dokument_dateiname = terminDokumentname($termin->termin_id);
- if ($info_dokument_dateiname !== false)
- {
- if (!empty($termin->ergebnisse_url))
- echo " ";
- echo "termin_bezug_id) . "\" target=\"_blank\">" . JText::_('COM_SPORTSMANAGER_INFO') . " ";
- }
- else if (!empty($termin->url))
- {
- if (!empty($termin->ergebnisse_url))
- echo " ";
- echo "url, "://") === false ? "http://" : "") . $termin->url) . "\" target=\"_blank\">" . JText::_('COM_SPORTSMANAGER_INFO') . " ";
- }
- if (!empty($termin->email))
- {
- if ($info_dokument_dateiname !== false || !empty($termin->url))
- echo " ";
- else if (!empty($termin->ergebnisse_url))
- echo " ";
- echo JHTML::_('email.cloak', $termin->email, 1, JText::_('COM_SPORTSMANAGER_EMAIL'), 0);
- }
- ?>
+
+
+ ergebnisse_url)) {
+ echo "ergebnisse_url, "://") ? "http://" : "") . $termin->ergebnisse_url) . "\" target=\"_blank\">" . ($termin->ergebnisse_live ? Text::_('COM_SPORTSMANAGER_LIVE_') : "") . Text::_('COM_SPORTSMANAGER_RESULTS') . " ";
+ }
+ $info_dokument_dateiname = terminDokumentname($termin->termin_id);
+ if ($info_dokument_dateiname !== false) {
+ if (!empty($termin->ergebnisse_url))
+ echo " ";
+ echo "termin_bezug_id) . "\" target=\"_blank\">" . Text::_('COM_SPORTSMANAGER_INFO') . " ";
+ } else if (!empty($termin->url)) {
+ if (!empty($termin->ergebnisse_url))
+ echo " ";
+ echo "url, "://") ? "http://" : "") . $termin->url) . "\" target=\"_blank\">" . Text::_('COM_SPORTSMANAGER_INFO') . " ";
+ }
+ if (!empty($termin->email)) {
+ if ($info_dokument_dateiname !== false || !empty($termin->url))
+ echo " ";
+ else if (!empty($termin->ergebnisse_url))
+ echo " ";
+ echo HTMLHelper::_('email.cloak', $termin->email, 1, Text::_('COM_SPORTSMANAGER_EMAIL'), 0);
+ }
+ ?>
-
+
D
-
+
"
- href="termin_id); ?>">X
+ title=""
+ href="termin_id); ?>">X
-
+
-
+
-
-
- :
-
+ ?>
+
+ :
+
-
+ if (!empty($terminaktionen)) {
+ ?>
- JText::_('COM_SPORTSMANAGER_ADD'), 1 => JText::_('COM_SPORTSMANAGER_CHANGING'), 2 => JText::_('COM_SPORTSMANAGER_DELETE'));
- $status = array(0 => JText::_('COM_SPORTSMANAGER_ACCEPTED'), 1 => JText::_('COM_SPORTSMANAGER_ARCHIVED'), 2 => JText::_('COM_SPORTSMANAGER_APPLIED_FOR'), 3 => JText::_('COM_SPORTSMANAGER_DECLINED'));
- $k = 0;
- foreach ($terminaktionen as $terminaktion)
- {
- ?>
+ $aktion = array(0 => Text::_('COM_SPORTSMANAGER_ADD'), 1 => Text::_('COM_SPORTSMANAGER_CHANGING'), 2 => Text::_('COM_SPORTSMANAGER_DELETE'));
+ $status = array(0 => Text::_('COM_SPORTSMANAGER_ACCEPTED'), 1 => Text::_('COM_SPORTSMANAGER_ARCHIVED'), 2 => Text::_('COM_SPORTSMANAGER_APPLIED_FOR'), 3 => Text::_('COM_SPORTSMANAGER_DECLINED'));
+ $k = 0;
+ foreach ($terminaktionen as $terminaktion) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
aktion_zeitpunkt, true, false))); ?>
- typ]; ?>
+ typ]; ?>
aktion_user_name); ?>
- status]);
- if (!empty($terminaktion->moderation_user_id))
- {
- ?>
+ status]);
+ if (!empty($terminaktion->moderation_user_id)) {
+ ?>
moderation_user_name); ?>
-
+
-
- erster_tag, $terminaktion->letzter_tag, true);
- if (!$terminaktion->bestaetigt)
- {
- ?>
-
-
+
+ erster_tag, $terminaktion->letzter_tag, true);
+ if (!$terminaktion->bestaetigt) {
+ ?>
+
+
- bezeichnung);
- if (!empty($terminaktion->zusaetze))
- {
- ?>
+ bezeichnung);
+ if (!empty($terminaktion->zusaetze)) {
+ ?>
zusaetze; ?>
-
+
ort); ?>
land); ?>
-
- ergebnisse_url))
- {
- echo "ergebnisse_url, "://") === false ? "http://" : "") . $terminaktion->ergebnisse_url) . "\" target=\"_blank\">" . ($terminaktion->ergebnisse_live ? JText::_('COM_SPORTSMANAGER_LIVE_') : "") . JText::_('COM_SPORTSMANAGER_RESULTS') . " ";
- }
- $info_dokument_dateiname = terminDokumentname($terminaktion->termin_id);
- if ($info_dokument_dateiname !== false)
- {
- if (!empty($terminaktion->ergebnisse_url))
- echo " ";
- echo "termin_id) . "\" target=\"_blank\">" . JText::_('COM_SPORTSMANAGER_INFO') . " ";
- }
- else if (!empty($terminaktion->url))
- {
- if (!empty($terminaktion->ergebnisse_url))
- echo " ";
- echo "url, "://") === false ? "http://" : "") . $terminaktion->url) . "\" target=\"_blank\">" . JText::_('COM_SPORTSMANAGER_INFO') . " ";
- }
- if (!empty($terminaktion->email))
- {
- if ($info_dokument_dateiname !== false || !empty($terminaktion->url))
- echo " ";
- else if (!empty($terminaktion->ergebnisse_url))
- echo " ";
- echo JHTML::_('email.cloak', $terminaktion->email, 1, JText::_('COM_SPORTSMANAGER_EMAIL'), 0);
- }
- ?>
+
+ ergebnisse_url)) {
+ echo "ergebnisse_url, "://") ? "http://" : "") . $terminaktion->ergebnisse_url) . "\" target=\"_blank\">" . ($terminaktion->ergebnisse_live ? Text::_('COM_SPORTSMANAGER_LIVE_') : "") . Text::_('COM_SPORTSMANAGER_RESULTS') . " ";
+ }
+ $info_dokument_dateiname = terminDokumentname($terminaktion->termin_id);
+ if ($info_dokument_dateiname !== false) {
+ if (!empty($terminaktion->ergebnisse_url))
+ echo " ";
+ echo "termin_id) . "\" target=\"_blank\">" . Text::_('COM_SPORTSMANAGER_INFO') . " ";
+ } else if (!empty($terminaktion->url)) {
+ if (!empty($terminaktion->ergebnisse_url))
+ echo " ";
+ echo "url, "://") ? "http://" : "") . $terminaktion->url) . "\" target=\"_blank\">" . Text::_('COM_SPORTSMANAGER_INFO') . " ";
+ }
+ if (!empty($terminaktion->email)) {
+ if ($info_dokument_dateiname !== false || !empty($terminaktion->url))
+ echo " ";
+ else if (!empty($terminaktion->ergebnisse_url))
+ echo " ";
+ echo HTMLHelper::_('email.cloak', $terminaktion->email, 1, Text::_('COM_SPORTSMANAGER_EMAIL'), 0);
+ }
+ ?>
-
+
-
-
+ static function adminTerminDetails($terminaktion, $terminaktionen, $nur_beantragte, $admin_uebersicht, $uebersicht, $externe_datenbank): void
+ {
+ global $params;
+ ?>
+
-
-
-
-
-
-
- :
-
-
- erster_tag, $terminaktion->letzter_tag, true);
- if (!$terminaktion->bestaetigt)
- echo " (" . JText::_('COM_SPORTSMANAGER_IN_PLANING') . ")";
- ?>
-
-
-
-
- :
-
-
- bezeichnung);
- ?>
-
-
- zusaetze))
- {
- ?>
-
-
- :
-
-
- zusaetze); ?>
-
-
- ort))
- {
- ?>
-
-
- :
-
-
- ort); ?>
-
-
- land))
- {
- ?>
-
-
-
- /
-
-
- land); ?>
-
-
- beschreibung))
- {
- ?>
-
-
- :
-
-
- beschreibung); ?>
-
-
- termin_id);
- if ($info_dokument_dateiname !== false)
- {
- ?>
-
-
- :
-
-
-
-
-
- url))
- {
- ?>
-
-
- :
-
-
- url, "://") === false)
- {
- $termin_url_anzeige = $terminaktion->url;
- $termin_url = "http://" . $terminaktion->url;
- }
- else
- {
- $termin_url_anzeige = substr($terminaktion->url, 0, 7) == "http://" ? substr($terminaktion->url, 7) : $terminaktion->url;
- $termin_url = $terminaktion->url;
- }
- echo "" . htmlentities_utf8($termin_url_anzeige) . " ";
- ?>
-
-
- email))
- {
- ?>
-
-
- :
-
-
- email, 1, $terminaktion->email, 0);
- ?>
-
-
- benachrichtigung_email);
- if (!empty($benachrichtigung_emails))
- {
- ?>
-
-
- :
-
-
- $email)
- {
- $email_trimmed = trim($email);
- echo ($index > 0 ? ", " : "") . JHTML::_('email.cloak', $email_trimmed, 1, $email_trimmed, 0);
- }
- ?>
-
-
- ergebnisse_url))
- {
- ?>
-
-
- ergebnisse_live) echo JText::_('COM_SPORTSMANAGER_LIVE_'); ?>
- :
-
-
- ergebnisse_url, "://") === false)
- {
- $termin_url_anzeige = $terminaktion->ergebnisse_url;
- $termin_url = "http://" . $terminaktion->ergebnisse_url;
- }
- else
- {
- $termin_url_anzeige = substr($terminaktion->ergebnisse_url, 0, 7) == "http://" ? substr($terminaktion->ergebnisse_url, 7) : $terminaktion->ergebnisse_url;
- $termin_url = $terminaktion->ergebnisse_url;
- }
- echo "" . htmlentities_utf8($termin_url_anzeige) . " ";
- ?>
-
-
-
-
-
+
+
+
+
+
+
+
+
+ :
+
+
+ erster_tag, $terminaktion->letzter_tag, true);
+ if (!$terminaktion->bestaetigt)
+ echo " (" . Text::_('COM_SPORTSMANAGER_IN_PLANING') . ")";
+ ?>
+
+
+
+
+ :
+
+
+ bezeichnung);
+ ?>
+
+
+ zusaetze)) {
+ ?>
+
+
+ :
+
+
+ zusaetze); ?>
+
+
+ ort)) {
+ ?>
+
+
+ :
+
+
+ ort); ?>
+
+
+ land)) {
+ ?>
+
+
+
+ /
+
+
+ land); ?>
+
+
+ beschreibung)) {
+ ?>
+
+
+ :
+
+
+ beschreibung); ?>
+
+
+ termin_id);
+ if ($info_dokument_dateiname !== false) {
+ ?>
+
+
+ :
+
+
+
+
+
+ url)) {
+ ?>
+
+
+ :
+
+
+ url, "://")) {
+ $termin_url_anzeige = $terminaktion->url;
+ $termin_url = "http://" . $terminaktion->url;
+ } else {
+ $termin_url_anzeige = str_starts_with($terminaktion->url, "http://") ? substr($terminaktion->url, 7) : $terminaktion->url;
+ $termin_url = $terminaktion->url;
+ }
+ echo "" . htmlentities_utf8($termin_url_anzeige) . " ";
+ ?>
+
+
+ email)) {
+ ?>
+
+
+ :
+
+
+ email, 1, $terminaktion->email, 0);
+ ?>
+
+
+ benachrichtigung_email);
+ if (!empty($benachrichtigung_emails)) {
+ ?>
+
+
+ :
+
+
+ $email) {
+ $email_trimmed = trim($email);
+ echo ($index > 0 ? ", " : "") . HTMLHelper::_('email.cloak', $email_trimmed, 1, $email_trimmed, 0);
+ }
+ ?>
+
+
+ ergebnisse_url)) {
+ ?>
+
+
+ ergebnisse_live) echo Text::_('COM_SPORTSMANAGER_LIVE_'); ?>
+ :
+
+
+ ergebnisse_url, "://")) {
+ $termin_url_anzeige = $terminaktion->ergebnisse_url;
+ $termin_url = "http://" . $terminaktion->ergebnisse_url;
+ } else {
+ $termin_url_anzeige = str_starts_with($terminaktion->ergebnisse_url, "http://") ? substr($terminaktion->ergebnisse_url, 7) : $terminaktion->ergebnisse_url;
+ $termin_url = $terminaktion->ergebnisse_url;
+ }
+ echo "" . htmlentities_utf8($termin_url_anzeige) . " ";
+ ?>
+
+
+
+
+
-
-
-
-
- :
-
-
- JText::_('COM_SPORTSMANAGER_ACCEPTED'), 1 => JText::_('COM_SPORTSMANAGER_ARCHIVED'), 2 => JText::_('COM_SPORTSMANAGER_APPLIED_FOR'), 3 => JText::_('COM_SPORTSMANAGER_DECLINED'));
- echo $status[$terminaktion->status]; ?>
-
-
-
-
- :
-
-
- JText::_('COM_SPORTSMANAGER_ADD'), 1 => JText::_('COM_SPORTSMANAGER_CHANGING'), 2 => JText::_('COM_SPORTSMANAGER_DELETE'));
- echo $aktion[$terminaktion->typ]; ?>
-
-
-
-
- :
-
-
- aktion_zeitpunkt, true, false) . " von " . (empty($terminaktion->aktion_user_email) ? htmlentities_utf8($terminaktion->aktion_user_name) : JHTML::_('email.cloak', $terminaktion->aktion_user_email, 1, $terminaktion->aktion_user_name, 0)); ?>
-
-
- aktion_kommentar))
- {
- ?>
-
- :
-
-
- aktion_kommentar)); ?>
-
-
-
-
- :
-
-
- moderation_zeitpunkt))
- echo JText::_('COM_SPORTSMANAGER_NOT_DONE');
- else
- echo FormatiertesDatum($terminaktion->moderation_zeitpunkt, true, false) . " von " . (empty($terminaktion->moderation_user_email) ? htmlentities_utf8($terminaktion->moderation_user_name) : JHTML::_('email.cloak', $terminaktion->moderation_user_email, 1, $terminaktion->moderation_user_name, 0));
- ?>
-
-
- moderation_kommentar))
- {
- ?>
-
- :
-
-
- moderation_kommentar)); ?>
-
- status == 2)
- {
- ?>
-
-
+
+
+
+
+ :
+
+
+ Text::_('COM_SPORTSMANAGER_ACCEPTED'), 1 => Text::_('COM_SPORTSMANAGER_ARCHIVED'), 2 => Text::_('COM_SPORTSMANAGER_APPLIED_FOR'), 3 => Text::_('COM_SPORTSMANAGER_DECLINED'));
+ echo $status[$terminaktion->status]; ?>
+
+
+
+
+ :
+
+
+ Text::_('COM_SPORTSMANAGER_ADD'), 1 => Text::_('COM_SPORTSMANAGER_CHANGING'), 2 => Text::_('COM_SPORTSMANAGER_DELETE'));
+ echo $aktion[$terminaktion->typ]; ?>
+
+
+
+
+ :
+
+
+ aktion_zeitpunkt, true, false) . " von " . (empty($terminaktion->aktion_user_email) ? htmlentities_utf8($terminaktion->aktion_user_name) : HTMLHelper::_('email.cloak', $terminaktion->aktion_user_email, 1, $terminaktion->aktion_user_name, 0)); ?>
+
+
+ aktion_kommentar)) {
+ ?>
+
+ :
+
+
+ aktion_kommentar)); ?>
+
+
+
+
+ :
+
+
+ moderation_zeitpunkt))
+ echo Text::_('COM_SPORTSMANAGER_NOT_DONE');
+ else
+ echo FormatiertesDatum($terminaktion->moderation_zeitpunkt, true, false) . " von " . (empty($terminaktion->moderation_user_email) ? htmlentities_utf8($terminaktion->moderation_user_name) : HTMLHelper::_('email.cloak', $terminaktion->moderation_user_email, 1, $terminaktion->moderation_user_name, 0));
+ ?>
+
+
+ moderation_kommentar)) {
+ ?>
+
+ :
+
+
+ moderation_kommentar)); ?>
+
+ status == 2) {
+ ?>
+
+
-
-
-
-
- :
-
-
-
-
-
-
-
-
+
+
+
+
+
+ :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
- status == 2 && !$externe_datenbank)
- {
- ?>
- status == 2 && !$externe_datenbank) {
+ ?>
+
- typ == 0 || $terminaktion->typ == 1)
- {
- ?>
+ typ == 0 || $terminaktion->typ == 1) {
+ ?>
-
-
+
+
-
-
+
termin_moderieren"/>
@@ -13452,490 +13821,498 @@ class HTML_sportsmanager_admin
-
+ if (!empty($terminaktionen)) {
+ ?>
- JText::_('COM_SPORTSMANAGER_ADD'), 1 => JText::_('COM_SPORTSMANAGER_CHANGING'), 2 => JText::_('COM_SPORTSMANAGER_DELETE'));
- $status = array(0 => JText::_('COM_SPORTSMANAGER_ACCEPTED'), 1 => JText::_('COM_SPORTSMANAGER_ARCHIVED'), 2 => JText::_('COM_SPORTSMANAGER_APPLIED_FOR'), 3 => JText::_('COM_SPORTSMANAGER_DECLINED'));
- $k = 0;
- foreach ($terminaktionen as $terminaktion)
- {
- ?>
+ $aktion = array(0 => Text::_('COM_SPORTSMANAGER_ADD'), 1 => Text::_('COM_SPORTSMANAGER_CHANGING'), 2 => Text::_('COM_SPORTSMANAGER_DELETE'));
+ $status = array(0 => Text::_('COM_SPORTSMANAGER_ACCEPTED'), 1 => Text::_('COM_SPORTSMANAGER_ARCHIVED'), 2 => Text::_('COM_SPORTSMANAGER_APPLIED_FOR'), 3 => Text::_('COM_SPORTSMANAGER_DECLINED'));
+ $k = 0;
+ foreach ($terminaktionen as $terminaktion) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
aktion_zeitpunkt, true, false))); ?>
- typ]; ?>
+ typ]; ?>
aktion_user_name); ?>
- status]);
- if (!empty($terminaktion->moderation_user_id))
- {
- ?>
+ status]);
+ if (!empty($terminaktion->moderation_user_id)) {
+ ?>
moderation_user_name); ?>
-
+
-
- erster_tag, $terminaktion->letzter_tag, true);
- if (!$terminaktion->bestaetigt)
- {
- ?>
-
-
+
+ erster_tag, $terminaktion->letzter_tag, true);
+ if (!$terminaktion->bestaetigt) {
+ ?>
+
+
- bezeichnung);
- if (!empty($terminaktion->zusaetze))
- {
- ?>
+ bezeichnung);
+ if (!empty($terminaktion->zusaetze)) {
+ ?>
zusaetze; ?>
-
+
ort); ?>
land); ?>
-
- ergebnisse_url))
- {
- echo "ergebnisse_url, "://") === false ? "http://" : "") . $terminaktion->ergebnisse_url) . "\" target=\"_blank\">" . JText::_('COM_SPORTSMANAGER_RESULTS') . " ";
- }
- $info_dokument_dateiname = terminDokumentname($terminaktion->termin_id);
- if ($info_dokument_dateiname !== false)
- {
- if (!empty($terminaktion->ergebnisse_url))
- echo " ";
- echo "termin_id) . "\" target=\"_blank\">" . JText::_('COM_SPORTSMANAGER_INFO') . " ";
- }
- else if (!empty($terminaktion->url))
- {
- if (!empty($terminaktion->ergebnisse_url))
- echo " ";
- echo "url, "://") === false ? "http://" : "") . $terminaktion->url) . "\" target=\"_blank\">" . JText::_('COM_SPORTSMANAGER_INFO') . " ";
- }
- if (!empty($terminaktion->email))
- {
- if ($info_dokument_dateiname !== false || !empty($terminaktion->url))
- echo " ";
- else if (!empty($terminaktion->ergebnisse_url))
- echo " ";
- echo JHTML::_('email.cloak', $terminaktion->email, 1, JText::_('COM_SPORTSMANAGER_EMAIL'), 0);
- }
- ?>
+
+ ergebnisse_url)) {
+ echo "ergebnisse_url, "://") ? "http://" : "") . $terminaktion->ergebnisse_url) . "\" target=\"_blank\">" . Text::_('COM_SPORTSMANAGER_RESULTS') . " ";
+ }
+ $info_dokument_dateiname = terminDokumentname($terminaktion->termin_id);
+ if ($info_dokument_dateiname !== false) {
+ if (!empty($terminaktion->ergebnisse_url))
+ echo " ";
+ echo "termin_id) . "\" target=\"_blank\">" . Text::_('COM_SPORTSMANAGER_INFO') . " ";
+ } else if (!empty($terminaktion->url)) {
+ if (!empty($terminaktion->ergebnisse_url))
+ echo " ";
+ echo "url, "://") ? "http://" : "") . $terminaktion->url) . "\" target=\"_blank\">" . Text::_('COM_SPORTSMANAGER_INFO') . " ";
+ }
+ if (!empty($terminaktion->email)) {
+ if ($info_dokument_dateiname !== false || !empty($terminaktion->url))
+ echo " ";
+ else if (!empty($terminaktion->ergebnisse_url))
+ echo " ";
+ echo HTMLHelper::_('email.cloak', $terminaktion->email, 1, Text::_('COM_SPORTSMANAGER_EMAIL'), 0);
+ }
+ ?>
-
+
-
-
- :
+ static function adminEditTermin($termin, $terminsymbolanzeige, $terminsymbole, $benachrichtigung_email, $bezeichnungen, $zusaetze, $bezeichnungszusaetze, $bundeslaender, $laender, $zugriffsebene, $admin_uebersicht, $bezeichnung_vorauswahl, $uebersicht, $ueberarbeiten, $nur_beantragte): void
+ {
+ global $params;
+ ?>
+
+ :
-
"
+ value=""
class="button"
- onclick="if (document.adminForm.bezeichnung_id.value != '0') document.adminForm.bezeichnung.value = document.adminForm.bezeichnung_id.options[document.adminForm.bezeichnung_id.selectedIndex].text; if (document.adminForm.land_id.value != '0') document.adminForm.land.value = document.adminForm.land_id.options[document.adminForm.land_id.selectedIndex].text; return true;"/>
-
+
termin_save"/>
"/>
@@ -13945,224 +14322,217 @@ class HTML_sportsmanager_admin
-
-
+ static function adminRemoveTermin($terminaktion, $nur_beantragte, $zugriffsebene, $admin_uebersicht): void
+ {
+ global $params;
+ ?>
+
: Entfernen
-
-
-
-
-
-
- :
-
-
- erster_tag, $terminaktion->letzter_tag, true);
- if (!$terminaktion->bestaetigt)
- echo " (" . JText::_('COM_SPORTSMANAGER_IN_PLANING') . ")";
- ?>
-
-
-
-
- :
-
-
- bezeichnung);
- ?>
-
-
- zusaetze))
- {
- ?>
-
-
- :
-
-
- zusaetze); ?>
-
-
- ort))
- {
- ?>
-
-
- :
-
-
- ort); ?>
-
-
- land))
- {
- ?>
-
-
-
- /
-
-
- land); ?>
-
-
- beschreibung))
- {
- ?>
-
-
- :
-
-
- beschreibung); ?>
-
-
- termin_id);
- if ($info_dokument_dateiname !== false)
- {
- ?>
-
-
- :
-
-
-
-
-
- url))
- {
- ?>
-
-
- :
-
-
- url, "://") === false)
- {
- $termin_url_anzeige = $terminaktion->url;
- $termin_url = "http://" . $terminaktion->url;
- }
- else
- {
- $termin_url_anzeige = substr($terminaktion->url, 0, 7) == "http://" ? substr($terminaktion->url, 7) : $terminaktion->url;
- $termin_url = $terminaktion->url;
- }
- echo "" . htmlentities_utf8($termin_url_anzeige) . " ";
- ?>
-
-
- email))
- {
- ?>
-
-
- :
-
-
- email, 1, $terminaktion->email, 0);
- ?>
-
-
- ergebnisse_url))
- {
- ?>
-
-
- ergebnisse_live) echo JText::_('COM_SPORTSMANAGER_LIVE_'); ?>
- :
-
-
- ergebnisse_url, "://") === false)
- {
- $termin_url_anzeige = $terminaktion->ergebnisse_url;
- $termin_url = "http://" . $terminaktion->ergebnisse_url;
- }
- else
- {
- $termin_url_anzeige = substr($terminaktion->ergebnisse_url, 0, 7) == "http://" ? substr($terminaktion->ergebnisse_url, 7) : $terminaktion->ergebnisse_url;
- $termin_url = $terminaktion->ergebnisse_url;
- }
- echo "" . htmlentities_utf8($termin_url_anzeige) . " ";
- ?>
-
-
-
-
-
+
+
+
+
+
+
+
+
+ :
+
+
+ erster_tag, $terminaktion->letzter_tag, true);
+ if (!$terminaktion->bestaetigt)
+ echo " (" . Text::_('COM_SPORTSMANAGER_IN_PLANING') . ")";
+ ?>
+
+
+
+
+ :
+
+
+ bezeichnung);
+ ?>
+
+
+ zusaetze)) {
+ ?>
+
+
+ :
+
+
+ zusaetze); ?>
+
+
+ ort)) {
+ ?>
+
+
+ :
+
+
+ ort); ?>
+
+
+ land)) {
+ ?>
+
+
+
+ /
+
+
+ land); ?>
+
+
+ beschreibung)) {
+ ?>
+
+
+ :
+
+
+ beschreibung); ?>
+
+
+ termin_id);
+ if ($info_dokument_dateiname !== false) {
+ ?>
+
+
+ :
+
+
+
+
+
+ url)) {
+ ?>
+
+
+ :
+
+
+ url, "://")) {
+ $termin_url_anzeige = $terminaktion->url;
+ $termin_url = "http://" . $terminaktion->url;
+ } else {
+ $termin_url_anzeige = str_starts_with($terminaktion->url, "http://") ? substr($terminaktion->url, 7) : $terminaktion->url;
+ $termin_url = $terminaktion->url;
+ }
+ echo "" . htmlentities_utf8($termin_url_anzeige) . " ";
+ ?>
+
+
+ email)) {
+ ?>
+
+
+ :
+
+
+ email, 1, $terminaktion->email, 0);
+ ?>
+
+
+ ergebnisse_url)) {
+ ?>
+
+
+ ergebnisse_live) echo Text::_('COM_SPORTSMANAGER_LIVE_'); ?>
+ :
+
+
+ ergebnisse_url, "://")) {
+ $termin_url_anzeige = $terminaktion->ergebnisse_url;
+ $termin_url = "http://" . $terminaktion->ergebnisse_url;
+ } else {
+ $termin_url_anzeige = str_starts_with($terminaktion->ergebnisse_url, "http://") ? substr($terminaktion->ergebnisse_url, 7) : $terminaktion->ergebnisse_url;
+ $termin_url = $terminaktion->ergebnisse_url;
+ }
+ echo "" . htmlentities_utf8($termin_url_anzeige) . " ";
+ ?>
+
+
+
+
+
-
-
-
-
- :
-
-
-
-
-
-
-
+
+
+
+
+
+ :
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
"
+ value=""
class="button"
- onclick="if (document.adminForm.bezeichnung_id.value != '0') document.adminForm.bezeichnung.value = document.adminForm.bezeichnung_id.options[document.adminForm.bezeichnung_id.selectedIndex].text; if (document.adminForm.land_id.value != '0') document.adminForm.land.value = document.adminForm.land_id.options[document.adminForm.land_id.selectedIndex].text; return true;"/>
-
+
termin_remove"/>
-
-
- :
+ ?>
+
+ :
@@ -14170,7 +14540,7 @@ class HTML_sportsmanager_admin
-
+
@@ -14179,614 +14549,643 @@ class HTML_sportsmanager_admin
-
termin_save"/>
-
-
- :
-
+ ?>
+
+ :
+
-
+ if (!empty($bezeichnungen)) {
+ ?>
-
+ $k = 0;
+ foreach ($bezeichnungen as $bezeichnung) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
bezeichnung)); ?>
+ href="termin_bezeichnung_id); ?>">bezeichnung)); ?>
X
+ href="termin_bezeichnung_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
+ static function adminEditTermineBezeichnung($bezeichnung, $admin_uebersicht): void
+ {
+ global $params;
+ ?>
Termine
- Veranstaltung:
+ Veranstaltung:
-
-
-
-
+
termine_bezeichnung_save"/>
"/>
-
-
- :
-
+ ?>
+
+ :
+
-
+ if (!empty($bezeichnungszusaetze)) {
+ ?>
-
+ $k = 0;
+ foreach ($bezeichnungszusaetze as $bezeichnungszusatz) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
bezeichnungszusatz)); ?>
+ href="termin_bezeichnungszusatz_id); ?>">bezeichnungszusatz)); ?>
titel)); ?>
X
+ href="termin_bezeichnungszusatz_id); ?>"
+ onclick="return confirm('Willst du den Veranstaltungszusatz wirklich entfernen?');"
+ title="">X
-
+
-
-
- :
+ static function adminEditTermineBezeichnungszusatz($bezeichnungszusatz, $admin_uebersicht): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
-
+
termine_bezeichnungszusatz_save"/>
"/>
-
-
- :
-
+ ?>
+
+ :
+
-
+ if (!empty($bundeslaender)) {
+ ?>
-
+ $k = 0;
+ foreach ($bundeslaender as $bundesland) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
bundesland)); ?>
+ href="termin_bundesland_id); ?>">bundesland)); ?>
X
+ href="termin_bundesland_id); ?>"
+ onclick="return confirm('Willst du das Bundesland wirklich entfernen?');"
+ title="">X
-
+
-
-
- :
+ static function adminEditTermineBundesland($bundesland, $admin_uebersicht): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
+
termine_bundesland_save"/>
"/>
-
-
- :
-
+ ?>
+
+ :
+
-
+ if (!empty($laender)) {
+ ?>
-
+ $k = 0;
+ foreach ($laender as $land) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
land)); ?>
+ href="termin_land_id); ?>">land)); ?>
X
+ href="termin_land_id); ?>"
+ onclick="return confirm('');"
+ title="">X
-
+
-
-
- :
+ static function adminEditTermineLand($land, $admin_uebersicht): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
+
termine_land_save"/>
"/>
-
-
- :
-
+ ?>
+
+ :
+
-
+ if (!empty($symbole)) {
+ ?>
-
+ $k = 0;
+ foreach ($symbole as $symbol) {
+ ?>
+ $k = ($k + 1) % 2; ?>get('pageclass_sfx'); ?>">
symboltitel)); ?>
+ href="termin_symbol_id); ?>">symboltitel)); ?>
- termin_symbol_id, 0, 0, 240, 240, 'border="0"')) != null)
- echo $bild;
- ?>
+ termin_symbol_id, 0, 0, 240, 240, 'border="0"')) != null)
+ echo $bild;
+ ?>
status == 0 ? JText::_('COM_SPORTSMANAGER_NO') : JText::_('COM_SPORTSMANAGER_YES')); ?>
+ style="text-align: center">status == 0 ? Text::_('COM_SPORTSMANAGER_NO') : Text::_('COM_SPORTSMANAGER_YES')); ?>
+ href="termin_symbol_id); ?>"
+ onclick="return confirm('');"
+ title="">
-
+
-
-
- :
+ static function adminEditTermineSymbol($symbol, $admin_uebersicht): void
+ {
+ global $params;
+ ?>
+
+ :
-
-
-
+
termine_symbol_save"/>
"/>
-
diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view_ticker.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view_ticker.php
index a76557a..5e78cda 100644
--- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_ticker.php
+++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_ticker.php
@@ -4,2284 +4,2097 @@
*/
// kein direkter Zugriff
+use Joomla\CMS\Application\SiteApplication;
+use Joomla\CMS\Factory;
+use Joomla\CMS\Language\Text;
+use Joomla\CMS\Router\Route;
+use Joomla\CMS\Uri\Uri;
+
defined('_JEXEC') or die('Restricted access');
-require_once (JPATH_COMPONENT.DIRECTORY_SEPARATOR.'views/sportsmanager/view_tools.php');
+require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_tools.php';
+require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
-class HTML_sportsmanager_ticker {
- // $buttons_right == 1: Show "Groups"
- // $buttons_right == 2: Show "Groups", "K.O."
- // $buttons_right == 3: Show "Groups", "K.O.", "Final"
- static function veranstaltungenTickerTimestamp($matches_timestamp, $groups_timestamp) {
- //$groups_timestamp="1232188323137723883";
- //$matches_timestamp="123288147121";
- echo 'tmatchez='.$matches_timestamp.'&tgroups='.$groups_timestamp;
- }
- static function veranstaltungenTickerDaten($type, $veranstaltungen, $tabellen, $begegnungen, $veranstaltung_elimination_index, $currentpage, $begegnung_spiele) {
- $view_right = $veranstaltung_elimination_index < 0 ? 0 : 3;
- if ($type == "allmatches" || $type == "finmatches" || $type == "upcmatches" || $type == "runmatches") {
- $matchez = array();
- foreach ($begegnungen as $begegnung) {
- $id = $begegnung->begegnung_id;
- $zeitpunkt_ts = strtotime($begegnung->zeitpunkt);
- $datum = date("j. M", $zeitpunkt_ts);
- $zeit = date("H:i", $zeitpunkt_ts);
- // if ($begegnung->gerade_aktualisiert)
- if (false)
- $status = 'updated';
- elseif ($begegnung->zwischenergebnis)
- $status = 'livenow';
- elseif (!empty($begegnung->heim_spielpunkte) || !empty($begegnung->gast_spielpunkte))
- $status = 'finished';
- elseif ($begegnung->verlegung_eingetragen)
- continue;
- else
- $status = 'upcoming';
- $ist_spieltag = false;
- $spieltag = Rundenbezeichnung($begegnung->spieltag, $begegnung->unterteilung == 0, false, true);
- $gewinner = $begegnung->heim_spielpunkte > $begegnung->gast_spielpunkte ? 1 : ($begegnung->heim_spielpunkte < $begegnung->gast_spielpunkte ? 2 : 0);
- $heim_name = $begegnung->heim_name;
- $gast_name = $begegnung->gast_name;
- $heim_spielpunkte = $begegnung->heim_spielpunkte;
- $gast_spielpunkte = $begegnung->gast_spielpunkte;
- $heim_logo = bildHTML("mannschaften", $begegnung->heim_team_id, 30, 30, 0, 0, 'border="0"');
- if (empty($heim_logo) && !empty($begegnung->heim_verein_id))
- $heim_logo = bildHTML("vereine", $begegnung->heim_verein_id, 30, 30, 0, 0, 'border="0"');
- $gast_logo = bildHTML("mannschaften", $begegnung->gast_team_id, 30, 30, 0, 0, 'border="0"');
- if (empty($gast_logo) && !empty($begegnung->gast_verein_id))
- $gast_logo = bildHTML("vereine", $begegnung->gast_verein_id, 30, 30, 0, 0, 'border="0"');
- $matchez[] = array('id' => $id, 'status' => $status, 'day' => $datum, 'hour' => $zeit, 'round' => $spieltag, 'winner' => $gewinner, 'team1' => $heim_name,'team2' => $gast_name, 'logo1' => $heim_logo, 'logo2' => $gast_logo, 'score1' => $heim_spielpunkte, 'score2' => $gast_spielpunkte);
- }
- HTML_sportsmanager_ticker::veranstaltungenTickerPrintable($matchez, $currentpage); // feeding the array to the function it prints the right table
- } elseif ($type == "groups") { // when right side groups have to be updated the script is called with type=groups
- HTML_sportsmanager_ticker::veranstaltungenTickerPrintRightheader($view_right, $type);
- ?>
-
- $veranstaltung) {
- if ($index == $veranstaltung_elimination_index)
- continue;
- $teamz = array();
- $punkte_anzeigen = false;
- if (count($tabellen[$index]) > 0 && $tabellen[$index][0]->gesamtpunkte != NULL)
- $punkte_anzeigen = true;
- foreach ($tabellen[$index] as $mannschaft) {
- $logo = bildHTML("mannschaften", $mannschaft->team_id, 17, 17, 0, 0, 'border="0"');
- if (empty($logo) && !empty($mannschaft->verein_id))
- $logo = bildHTML("vereine", $mannschaft->verein_id, 17, 17, 0, 0, 'border="0"');
- if ($punkte_anzeigen)
- $teamz[] = array('place' => $mannschaft->platz, 'logo' => $logo, 'name' => $mannschaft->teamname, 'score' => floatval($mannschaft->gesamtpunkte));
- else
- $teamz[] = array('place' => $mannschaft->platz, 'logo' => $logo, 'name' => $mannschaft->teamname);
- }
+class HTML_sportsmanager_ticker
+{
+ static function veranstaltungenTickerTimestamp($matches_timestamp, $groups_timestamp): void
+ {
+ echo 'tmatchez=' . $matches_timestamp . '&tgroups=' . $groups_timestamp;
+ }
- HTML_sportsmanager_ticker::veranstaltungenTickerPrintgtable($teamz, $veranstaltung->bezeichnung);
- }
- ?>
-
- 'upcoming', 'winner' => 0, 'team1' => '', 'team2' => '', 'blogo1' => null, 'blogo2' => null, 'slogo1' => null, 'slogo2' => null, 'score1' => '', 'score2' => '', 'placeholder' => true);
- }
- foreach ($begegnungen as $begegnung) {
- $spieltag = $begegnung->spieltag;
- if ($spieltag == 19999 || $spieltag == 29898) // Finale
- $begegnung_index = 6;
- elseif ($spieltag == 19998 || $spieltag == 29896) // Platz 3
- $begegnung_index = 7;
- elseif ($spieltag == 19997 || $spieltag == 29698) { // Halb
- if (isset($matchez[4]['placeholder']))
- $begegnung_index = 4;
- else
- $begegnung_index = 5;
- } elseif ($spieltag == 19996 || $spieltag == 29298) { // Viertel
- if (isset($matchez[0]['placeholder']))
- $begegnung_index = 0;
- elseif (isset($matchez[1]['placeholder']))
- $begegnung_index = 1;
- elseif (isset($matchez[2]['placeholder']))
- $begegnung_index = 2;
- else
- $begegnung_index = 3;
- } else
- continue;
- // if ($begegnung->gerade_aktualisiert)
- if (false)
- $status = 'updated';
- elseif ($begegnung->zwischenergebnis)
- $status = 'livenow';
- elseif (!empty($begegnung->heim_spielpunkte) || !empty($begegnung->gast_spielpunkte))
- $status = 'finished';
- elseif ($begegnung->verlegung_eingetragen)
- continue;
- else
- $status = 'upcoming';
- $gewinner = $begegnung->heim_spielpunkte > $begegnung->gast_spielpunkte ? 1 : ($begegnung->heim_spielpunkte < $begegnung->gast_spielpunkte ? 2 : 0);
- $heim_name = $begegnung->heim_name;
- $gast_name = $begegnung->gast_name;
- $heim_spielpunkte = $begegnung->heim_spielpunkte;
- $gast_spielpunkte = $begegnung->gast_spielpunkte;
- $heim_logo = bildHTML("mannschaften", $begegnung->heim_team_id, 30, 30, 0, 0, 'border="0"');
- if (empty($heim_logo) && !empty($begegnung->heim_verein_id))
- $heim_logo = bildHTML("vereine", $begegnung->heim_verein_id, 30, 30, 0, 0, 'border="0"');
- $gast_logo = bildHTML("mannschaften", $begegnung->gast_team_id, 30, 30, 0, 0, 'border="0"');
- if (empty($gast_logo) && !empty($begegnung->gast_verein_id))
- $gast_logo = bildHTML("vereine", $begegnung->gast_verein_id, 30, 30, 0, 0, 'border="0"');
- $heim_logo_klein = bildHTML("mannschaften", $begegnung->heim_team_id, 17, 17, 0, 0, 'border="0"');
- if (empty($heim_logo_klein) && !empty($begegnung->heim_verein_id))
- $heim_logo_klein = bildHTML("vereine", $begegnung->heim_verein_id, 17, 17, 0, 0, 'border="0"');
- $gast_logo_klein = bildHTML("mannschaften", $begegnung->gast_team_id, 17, 17, 0, 0, 'border="0"');
- if (empty($gast_logo_klein) && !empty($begegnung->gast_verein_id))
- $gast_logo_klein = bildHTML("vereine", $begegnung->gast_verein_id, 17, 17, 0, 0, 'border="0"');
- $matchez[$begegnung_index] = array('status' => $status, 'winner' => $gewinner, 'team1' => $heim_name,'team2' => $gast_name, 'blogo1' => $heim_logo, 'blogo2' => $gast_logo, 'slogo1' => $heim_logo_klein, 'slogo2' => $gast_logo_klein, 'score1' => $heim_spielpunkte, 'score2' => $gast_spielpunkte);
- }
- // Adjust order so the tree fits
- // 1/4 Finals: matchez[0..3], 1/2 Finals: matchez[4..5], Final: matchez[6], 3rd Place: matchez[7]
- $tmatchez = $matchez;
- for ($i = 4; $i <= 5; $i++) {
- $offset = 0;
- if (!isset($tmatchez[$i]['placeholder'])) {
- for ($j = 0; $j <= 3 && $offset < 2; $j++) {
- if (!isset($tmatchez[$j]['placeholder'])) {
- if ($tmatchez[$i]['team1'] == $tmatchez[$j]['team1'] || $tmatchez[$i]['team1'] == $tmatchez[$j]['team2'] || $tmatchez[$i]['team2'] == $tmatchez[$j]['team1'] || $tmatchez[$i]['team2'] == $tmatchez[$j]['team2']) {
- $matchez[($i - 4) * 2 + $offset++] = $tmatchez[$j];
- }
+ static function veranstaltungenTickerDaten($type, $veranstaltungen, $tabellen, $begegnungen, $veranstaltung_elimination_index, $begegnung_spiele): void
+ {
+ $view_right = $veranstaltung_elimination_index < 0 ? 0 : 3;
+ if ($type == "allmatches" || $type == "finmatches" || $type == "upcmatches" || $type == "runmatches") {
+ $matchez = array();
+ foreach ($begegnungen as $begegnung) {
+ $id = $begegnung->begegnung_id;
+ $zeitpunkt_ts = strtotime($begegnung->zeitpunkt);
+ $datum = date("j. M", $zeitpunkt_ts);
+ $zeit = date("H:i", $zeitpunkt_ts);
+ if ($begegnung->zwischenergebnis)
+ $status = 'livenow';
+ elseif (!empty($begegnung->heim_spielpunkte) || !empty($begegnung->gast_spielpunkte))
+ $status = 'finished';
+ elseif ($begegnung->verlegung_eingetragen)
+ continue;
+ else
+ $status = 'upcoming';
+ $spieltag = Rundenbezeichnung($begegnung->spieltag, $begegnung->unterteilung == 0, false, true);
+ $gewinner = $begegnung->heim_spielpunkte > $begegnung->gast_spielpunkte ? 1 : ($begegnung->heim_spielpunkte < $begegnung->gast_spielpunkte ? 2 : 0);
+ $heim_name = $begegnung->heim_name;
+ $gast_name = $begegnung->gast_name;
+ $heim_spielpunkte = $begegnung->heim_spielpunkte;
+ $gast_spielpunkte = $begegnung->gast_spielpunkte;
+ $heim_logo = bildHTML("mannschaften", $begegnung->heim_team_id, 30, 30, 0, 0, 'border="0"');
+ if (empty($heim_logo) && !empty($begegnung->heim_verein_id))
+ $heim_logo = bildHTML("vereine", $begegnung->heim_verein_id, 30, 30, 0, 0, 'border="0"');
+ $gast_logo = bildHTML("mannschaften", $begegnung->gast_team_id, 30, 30, 0, 0, 'border="0"');
+ if (empty($gast_logo) && !empty($begegnung->gast_verein_id))
+ $gast_logo = bildHTML("vereine", $begegnung->gast_verein_id, 30, 30, 0, 0, 'border="0"');
+ $matchez[] = array('id' => $id, 'status' => $status, 'day' => $datum, 'hour' => $zeit, 'round' => $spieltag, 'winner' => $gewinner, 'team1' => $heim_name, 'team2' => $gast_name, 'logo1' => $heim_logo, 'logo2' => $gast_logo, 'score1' => $heim_spielpunkte, 'score2' => $gast_spielpunkte);
}
- }
- }
- while ($offset < 2)
- $matchez[($i - 4) * 2 + $offset++] = array('status' => 'upcoming', 'winner' => 0, 'team1' => '', 'team2' => '', 'blogo1' => null, 'blogo2' => null, 'slogo1' => null, 'slogo2' => null, 'score1' => '', 'score2' => '', 'placeholder' => true);
- }
+ HTML_sportsmanager_ticker::veranstaltungenTickerPrintable($matchez); // feeding the array to the function it prints the right table
+ } elseif ($type == "groups") { // when right side groups have to be updated the script is called with type=groups
+ HTML_sportsmanager_ticker::veranstaltungenTickerPrintRightheader($view_right);
+ ?>
- HTML_sportsmanager_ticker::veranstaltungenTickerPrintRightheader($view_right,$type);
- HTML_sportsmanager_ticker::veranstaltungenTickerPrinteliminations($matchez); // called to display right elimination table
-
- $teamz = array();
- if ($veranstaltung_elimination_index != -1) {
- $platz = 1;
- foreach ($tabellen[$veranstaltung_elimination_index] as $mannschaft) {
- if ($mannschaft->platz > 3 || $mannschaft->platz != $platz)
- break;
- $groesse = ($n == 0) ? 30 : 17;
- $logo = bildHTML("mannschaften", $mannschaft->team_id, $groesse, $groesse, 0, 0, 'border="0"');
- if (empty($logo) && !empty($mannschaft->verein_id))
- $logo = bildHTML("vereine", $mannschaft->verein_id, $groesse, $groesse, 0, 0, 'border="0"');
- $teamz[] = array('place' => $mannschaft->platz, 'logo' => $logo, 'name' => $mannschaft->teamname);
- $platz++;
- }
- if (count($teamz) != 3)
- $teamz = array();
- }
-
- HTML_sportsmanager_ticker::veranstaltungenTickerPrintop3($teamz); // called to display right top 3 results
- } elseif ($type == "finalranking") {
- $teamz = array();
- $veranstaltung_titel = JText::_('COM_FINAL_RANKING');
- if ($veranstaltung_elimination_index != -1) {
- foreach ($tabellen[$veranstaltung_elimination_index] as $mannschaft) {
- $logo = bildHTML("mannschaften", $mannschaft->team_id, 17, 17, 0, 0, 'border="0"');
- if (empty($logo) && !empty($mannschaft->verein_id))
- $logo = bildHTML("vereine", $mannschaft->verein_id, 17, 17, 0, 0, 'border="0"');
- $teamz[] = array('place' => $mannschaft->platz, 'logo' => $logo, 'name' => $mannschaft->teamname);
- }
- $veranstaltung_titel = $veranstaltungen[$veranstaltung_elimination_index]->bezeichnung;
- }
-
- HTML_sportsmanager_ticker::veranstaltungenTickerPrintRightheader($view_right,$type);
- ?>
-
-
-
- heim_team_id, 30, 30, 0, 0, 'border="0"');
- if (empty($heim_logo) && !empty($begegnung->heim_verein_id))
- $heim_logo = bildHTML("vereine", $begegnung->heim_verein_id, 30, 30, 0, 0, 'border="0"');
- $gast_logo = bildHTML("mannschaften", $begegnung->gast_team_id, 30, 30, 0, 0, 'border="0"');
- if (empty($gast_logo) && !empty($begegnung->gast_verein_id))
- $gast_logo = bildHTML("vereine", $begegnung->gast_verein_id, 30, 30, 0, 0, 'border="0"');
- // HTML_sportsmanager_ticker::veranstaltungenTickerPrintGameDetails($begegnungen[0], $begegnung_spiele);
- ?>
-
-
-
-
-
-
-
- heim_spielpunkte > $begegnung->gast_spielpunkte) echo "class=\"finished_winner\" "; ?>id="team_heim">heim_name); ?>
-
-
-
-
zwischenergebnis && empty($begegnung->heim_spielpunkte) && empty($begegnung->gast_spielpunkte)) echo "--|--"; else echo $begegnung->heim_spielpunkte . ":" . $begegnung->gast_spielpunkte; ?>
-
-
-
- heim_spielpunkte < $begegnung->gast_spielpunkte) echo "class=\"finished_winner\" "; ?>id="team_gast">gast_name); ?>
-
- zeitpunkt); ?> - spieltag, $begegnung->unterteilung == 0, false, false); ?>
-
-
-
-
-
- teamspiel_heim_punkte > $spiel->teamspiel_gast_punkte)
- $sieger = 1;
- elseif ($spiel->teamspiel_heim_punkte < $spiel->teamspiel_gast_punkte)
- $sieger = 2;
- else
- $sieger = 0;
- ?>
- ">
-
- "; ?>heim_spieler_1_id)) echo $spiel->heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname; if (!empty($spiel->heim_spieler_2_id)) echo " " . $spiel->heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname;?>"; ?>
- teamspiel_heim_punkte != 0 || $spiel->teamspiel_gast_punkte != 0) echo $spiel->teamspiel_heim_punkte . ":" . $spiel->teamspiel_gast_punkte; ?>
- "; ?>gast_spieler_1_id)) echo $spiel->gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname; if (!empty($spiel->gast_spieler_2_id)) echo " " . $spiel->gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname;?>"; ?>
-
-
-
-
-
- addScript(JURI::root(TRUE).'/components/com_sportsmanager/js/jquery.min.js');
- $document->addStyleSheet(SportsManagerURL("&task=veranstaltungen_ticker_css"));
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
- Choose Day
- Day1
- Day2
- Day3
-
-
-
-
-
SEE QUALIFICATION ROUND
-
-
-
-
-
-
-
-
-
-
-
- getTemplate().DIRECTORY_SEPARATOR, JPATH_BASE.DIRECTORY_SEPARATOR );
- foreach ($dirs as $dir ) {
- $icon = $dir . 'favicon.ico';
- if (file_exists( $icon )) {
- $path = str_replace( JPATH_BASE . DIRECTORY_SEPARATOR, '', $dir );
- $path = str_replace( '\\', '/', $path );
- $favicon_url = JURI::base(true).'/'.$path . 'favicon.ico';
- break;
- }
- }
- ?>
-
-
-
-
- Livescore Ticker
- '; ?>
- " rel="stylesheet" type="text/css" />
-
-
-
-
-
-
-
-
-
-
-
-
- $veranstaltung) {
+ if ($index == $veranstaltung_elimination_index)
+ continue;
+ $teamz = array();
+ $punkte_anzeigen = false;
+ if (count($tabellen[$index]) > 0 && $tabellen[$index][0]->gesamtpunkte != NULL)
+ $punkte_anzeigen = true;
+ foreach ($tabellen[$index] as $mannschaft) {
+ $logo = bildHTML("mannschaften", $mannschaft->team_id, 17, 17, 0, 0, 'border="0"');
+ if (empty($logo) && !empty($mannschaft->verein_id))
+ $logo = bildHTML("vereine", $mannschaft->verein_id, 17, 17, 0, 0, 'border="0"');
+ if ($punkte_anzeigen)
+ $teamz[] = array('place' => $mannschaft->platz, 'logo' => $logo, 'name' => $mannschaft->teamname, 'score' => floatval($mannschaft->gesamtpunkte));
+ else
+ $teamz[] = array('place' => $mannschaft->platz, 'logo' => $logo, 'name' => $mannschaft->teamname);
+ }
+
+ HTML_sportsmanager_ticker::veranstaltungenTickerPrintgtable($teamz, $veranstaltung->bezeichnung);
}
?>
-
-
Home
-
-
-
-
-
-
- body{
- background: #767676;
- font-family:Verdana, Geneva, sans-serif;
- padding: 2px;
- margin:0px;
-}
-
-a{
- outline: 0;
-}
-
-#wrapper {
- max-width: 1149px;
- min-width: 490px;
- margin-left:auto;
- margin-right:auto;
- position: relative;
- padding-right:481px;
- /*background: url(left_background_pad.png) top left no-repeat;*/
-
-}
-
-#left_page_rround{
-
- width: 6px;
- height: 720px;
- top:0px;
- right:0px;
- position: absolute;
-}
-
-#left_page {
- width: 100%;
- float: left;
- position: relative;
- /*background: url(right_background_pad.png) top right no-repeat ;*/
-}
-
-#right_page {
- width: 478px;
- overflow: hidden;
- position: absolute;
- top: 0px;
- right: 0px;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
- border-radius: 7px;
- behavior: url(components/com_sportsmanager/views/sportsmanager/border-radius.htc);
- background: #DADEDF; /*url(right_page_background.png) top left no-repeat;*/
-
-}
-
-#left_page_header {
- width: 300px;
- height: 55px;
- float: left;
-
-}
-
-h1#pagetitle_text {
- font-size:26px;
- color: #fff;
- float:left;
- margin-top: 10px;
- margin-left: 20px;
- text-decoration:none;
- font-weight:bold;
- text-transform:uppercase;
- margin-bottom: 0px;
- z-index: 20;
- position: relative;
-}
-
-a#homeicon {
-
- background: url(homeicon.jpg) no-repeat;
- height: 20px;
- width: 66px;
- float: right;
- text-decoration:none;
- text-align:right;
- color: #666;
- font-size: 14px;
- line-height: 20px;
- font-weight:bold;
- margin-top: 15px;
- margin-right: 20px;
- padding-top: 1px;
-}
-
-#left_menu {
-
- width: 800px;
- display:block;
- text-align: left;
-
-}
-#table_matches {
- width: 100%;
- display:block;
-}
-#l_menu{
- padding-left: 16px;
- margin: 0px;
- z-index: 9995;
- position:relative;
-}
-#left_menu ul li a span{
-
-
- padding: 4px 4px;
- text-decoration:none;
- display: inline;
- font-size:14px;
- font-family:Verdana, Geneva, sans-serif;
- color:#ffffff;
- cursor:pointer;
-
-}
-
-#left_menu ul li#all_games {
-
- margin-right: 20px;
-
-}
-
-#left_menu ul li{
-
- background:url(right_button.png) top right no-repeat;
- padding: 1px 2px 1px 0px;
- display: block;
- margin-right: 8px;
- float:left;
-
-}
-
-#left_menu ul li a{
-
- background:url(left_button.png) top left no-repeat;
- padding: 1px 0px;
- color:#FFF;
- text-decoration:none;
- cursor:pointer;
- padding-left: 2px;
-
-}
-
-#left_menu ul li#finished a span{
-
-}
-#left_menu ul li#finished {
- background:url(right_button_fin.png) top right no-repeat;
-}
-
-#left_menu ul li#finished a{
- background:url(left_button_fin.png) top left no-repeat;
-}
-
-#left_menu ul li#running a span{
-
-}
-#left_menu ul li#running {
- background:url(right_button_run.png) top right no-repeat;
-}
-
-#left_menu ul li#running a{
- background:url(left_button_run.png) top left no-repeat;
-}
-
-#left_menu ul li#upcoming a span{
-
-}
-#left_menu ul li#upcoming {
- background:url(right_button_upc.png) top right no-repeat;
-}
-
-#left_menu ul li#upcoming a{
- background:url(left_button_upc.png) top left no-repeat;
-}
+ }
-#left_menu ul li:hover a span{
+ function moreResults(param, param2, param3, param4, param5) {
+ const x = (param4 - 1) * matchezperpage;
+ const y = param4 * matchezperpage;
+ let nodataload = 0;
+ let nodataload2 = 0;
+ let $tableMatches1 = $('#table_matches tr.amatch');
+ let $tableMatchesFinished1 = $('#table_matches tr.finished');
+ let $tableMatchesUpcoming1 = $('#table_matches tr.upcoming');
+ let $tableMatchesUpdated1 = $('#table_matches tr.updated');
+ let $tableMatchesLiveNow1 = $('#table_matches tr.livenow');
+ if ((machstampz['allmatches'] === 0) || (groupstampz[param2] === 0) || (param5 === 1) || (groupstampz[param2] == null)) {
+ if (param2.indexOf("matchdetail") >= 0) {
+ scrollpos[param2] = $("." + param2 + ' #detailedresults').scrollTop();
+ } else {
+ scrollpos[param2] = $('#groups2.' + param2).scrollTop();
+ }
+ const client = new XMLHttpRequest();
+ client.open('GET', '&matches=' + 'allmatches' + '&groups=' + param2);
+ client.onreadystatechange = function () {
+ let tstamps;
+ if (client.readyState === 4 && client.status === 200) {
+ tstamps = client.responseText.split("&");
+ if (machstampz['allmatches'] !== tstamps[0].replace('tmatchez=', '')) {
+ machstampz['allmatches'] = tstamps[0].replace('tmatchez=', '');
+ $('#table_matches').load('&type=' + 'allmatches' + '&day=' + param3 + '¤tpage=' + param4, function (response, status) {
+ if (status === "success") {
+ let $tableMatches = $tableMatches1;
+ let $tableMatchesFinished = $tableMatchesFinished1;
+ let $tableMatchesUpcoming = $tableMatchesUpcoming1;
+ let $tableMatchesUpdated = $tableMatchesUpdated1;
+ let $tableMatchesLiveNow = $tableMatchesLiveNow1;
+ if (param === 'allmatches') {
+ $tableMatches.hide();
+ $tableMatches.removeClass('even');
+ $tableMatches.removeClass('odd');
+ $('#table_matches tr.amatch:nth-child(even)').addClass('even');
+ $('#table_matches tr.amatch:nth-child(odd)').addClass('odd');
+ $tableMatches.slice(x, y).show();
+ pager($tableMatches.length);
+ } else {
+ $tableMatches.removeClass('even');
+ $tableMatches.removeClass('odd');
+ $tableMatchesFinished.hide();
+ $tableMatchesUpdated.hide();
+ $tableMatchesLiveNow.hide();
+ $tableMatchesUpcoming.hide();
+ }
+ if (param === 'finmatches') {
+ $('#table_matches tr.finished:nth-child(even)').addClass('even');
+ $('#table_matches tr.finished:nth-child(odd)').addClass('odd');
+ $tableMatchesFinished.slice(x, y).show();
+ pager($tableMatchesFinished.length);
+ }
+ if (param === 'upcmatches') {
+ $('#table_matches tr.upcoming:nth-child(even)').addClass('even');
+ $('#table_matches tr.upcoming:nth-child(odd)').addClass('odd');
+ $tableMatchesUpcoming.slice(x, y).show();
+ pager($tableMatchesUpcoming.length);
+ }
+ if (param === 'runmatches') {
+ $tableMatchesUpdated.slice(x, y).show();
+ $tableMatchesLiveNow.slice(x, y).show();
+ pager($tableMatchesUpdated.length + $tableMatchesLiveNow.length);
+ }
+ $('#table_matches tr:eq(0)').show();
+ $('#table_matches tr.last_row').show();
+ $('#r_menu li').removeClass('active');
+ $('#r_menu ' + active1).addClass('active');
+ $('#l_menu li').removeClass('active');
+ $('#l_menu ' + active2).addClass('active');
+ }
+ });
+ } else {
- padding: 4px 4px;
- text-decoration:none;
- display: inline;
- font-size:14px;
- font-family:Verdana, Geneva, sans-serif;
- color:#ffffff;
- cursor:pointer;
+ nodataload = 1;
-}
+ }
-#left_menu ul li:hover,#left_menu ul li.active,#left_menu ul li#finished:hover,#left_menu ul li#finished.active,#left_menu ul li#upcoming:hover,#left_menu ul li#upcoming.active,#left_menu ul li#running:hover,#left_menu ul li#running.active{
+ if (groupstampz[param2] !== tstamps[1].replace('tgroups=', '')) {
+ if (groupstampz[param2] == null) {
+ $('#right_page').append('
');
+ }
+ groupstampz[param2] = tstamps[1].replace('tgroups=', '');
+ $('#right_page #groups2.' + param2).load('&type=' + param2 + '&day=' + param3, function (response, status) {
+ if (status === "success") {
+ $('#right_page #groups2').hide();
+ $('#r_menu li').removeClass('active');
+ $('#r_menu li#' + param2).addClass('active');
+ $('#right_page #groups2.' + param2).show();
- background:url(right_button_hover.png) top right no-repeat;
- padding: 1px 2px 1px 0px;
- display: inline;
- margin-right: 8px;
+ if (param2.indexOf("matchdetail") >= 0) {
+ let $detailedResults = $("." + param2 + ' #detailedresults');
+ $detailedResults.blur();
+ $detailedResults.focus();
+ $detailedResults.scrollTop(scrollpos[param2]);
+ } else {
+ let $group2 = $('#groups2.' + param2);
+ $group2.blur();
+ $group2.focus();
+ $group2.scrollTop(scrollpos[param2]);
+ }
+ }
+ });
-}
+ } else {
-#left_menu ul li:hover a,#left_menu ul li.active a,#left_menu ul li#finished:hover a,#left_menu ul li#finished.active a,#left_menu ul li#upcoming:hover a,#left_menu ul li#upcoming.active a,#left_menu ul li#running:hover a,#left_menu ul li#running.active a{
+ nodataload2 = 1;
- background:url(left_button_hover.png) top left no-repeat;
- padding: 1px 0px;
- color:#FFF;
- text-decoration:none;
- cursor:pointer;
- padding-left: 2px;
+ }
+ }
+ }
+ client.send();
+ }
+ if (((param5 === 1) && (nodataload === 1)) || (param5 === 0) || (globalresize === 1)) {
+ globalresize = 0;
+ if (param === 'allmatches') {
+ $tableMatches1.hide();
+ $tableMatches1.removeClass('even');
+ $tableMatches1.removeClass('odd');
+ $('#table_matches tr.amatch:nth-child(even)').addClass('even');
+ $('#table_matches tr.amatch:nth-child(odd)').addClass('odd');
+ $tableMatches1.slice(x, y).show();
+ pager($tableMatches1.length);
+ } else {
+ $tableMatches1.removeClass('even');
+ $tableMatches1.removeClass('odd');
+ $tableMatchesFinished1.hide();
+ $tableMatchesUpdated1.hide();
+ $tableMatchesLiveNow1.hide();
+ $tableMatchesUpcoming1.hide();
+ }
+ if (param === 'finmatches') {
+ $('#table_matches tr.finished:nth-child(even)').addClass('even');
+ $('#table_matches tr.finished:nth-child(odd)').addClass('odd');
+ $tableMatchesFinished1.slice(x, y).show();
+ pager($tableMatchesFinished1.length);
+ }
+ if (param === 'upcmatches') {
+ $('#table_matches tr.upcoming:nth-child(even)').addClass('even');
+ $('#table_matches tr.upcoming:nth-child(odd)').addClass('odd');
+ $tableMatchesUpcoming1.slice(x, y).show();
+ pager($tableMatchesUpcoming1.length);
+ }
+ if (param === 'runmatches') {
+ $tableMatchesUpdated1.slice(x, y).show();
+ $tableMatchesLiveNow1.slice(x, y).show();
+ pager($tableMatchesUpdated1.length + $tableMatchesLiveNow1.length);
+ }
+ $('#table_matches tr:eq(0)').show();
+ $('#table_matches tr.last_row').show();
+ $('#r_menu li').removeClass('active');
+ $('#r_menu ' + active1).addClass('active');
+ $('#l_menu li').removeClass('active');
+ $('#l_menu ' + active2).addClass('active');
-}
+ }
+ if (((param5 === 1) && (nodataload2 === 1)) || (param5 === 0)) {
-table#tbl {
- width:100%;
-}
-#tbl tr.updated td {
+ $('#right_page #groups2').hide();
+ $('#r_menu li').removeClass('active');
+ $('#r_menu li#' + param2).addClass('active');
+ $('#right_page #groups2.' + param2).show();
- border-bottom: 1px solid #fa9917;
- height: 45px;
-}
-tr.updated>:first-child {
-
-}
-tr.updated>:last-child {
-
-}
-
-#tbl tr.livenow td {
-
- border-bottom: 1px solid #007f3d;
- height: 45px;
-}
-tr.livenow>:first-child {
-
-}
-tr.livenow>:last-child {
-
-}
-#tbl th {
- font-family:Verdana, Geneva, sans-serif;
- font-size: 14px;
- text-decoration:none;
- color:#393939;
- height:25px;
- text-align: center;
- background-color:#c9cfd0;
-}
-
-#tbl tr td {
- font-family:Verdana, Geneva, sans-serif;
- font-size:14px;
- color: #656565;
- text-align: center;
- height: 44px;
-}
-#tbl tr td.matchdate{
- height: 25px;
- text-align:left;
- font-weight:bold;
- font-size: 12px;
- padding-left: 10px;
- color: #fff;
-}
-
-#tbl tr.amatch{
- cursor: pointer;
-}
-
-#detailedresults #tbl tr td{
- font-size: 12px;
-}
-
-#detailedresults #tbl tr.odd td{
- background-color: #f8f8f8;
- text-align: center;
-}
-
-#detailedresults #tbl tr.even td{
- background-color: #fdfdfd;
- text-align: center;
-}
-
-#detailedresults #tbl tr td.num{
- width: 50px;
-}
-
-#detailedresults #tbl tr td.heim{
- width: 150px;
-}
-
-#detailedresults #tbl tr td.ergeb{
- width: 80px;
- font-size: 14px;
- font-weight: bold;
- color: #c42424;
- text-decoration: none;
-}
-
-#detailedresults #tbl tr td.ergeb a{
+ }
+ }
+ moreResults('allmatches', 'groups', 1, 1, 0);
+ int = self.setInterval("moreResults(matches,groups,day,page,1)", 60000);
+
+
+
+ match_status.png);
- background-position: center center;
- background-repeat: no-repeat;
-}
-
-#date_time {
- min-width: 51px;
-}
-#match_status_finished {
- min-width: 46px;
- height: 19px;
- background-image:url(fin_icon.png);
- background-position: center center;
- background-repeat: no-repeat;
-
-}
-
-#match_status_updated{
- min-width: 46px;
- height: 19px;
- background-image:url(upd_icon.png);
- background-position: center center;
- background-repeat: no-repeat;
-}
-
-#match_status_livenow {
- min-width: 46px;
- height: 19px;
- background-image:url(live_icon.png);
- background-position: center center;
- background-repeat: no-repeat;
-}
-
-#match_status_upcoming {
- min-width: 46px;
- height: 19px;
- background-image:url(upc_icon.png);
- background-position: center center;
- background-repeat: no-repeat;
-}
-
-
-tr.last_row {
- background-color:#c9cfd0;
- height:20px;
-}
-
-#tbl tr td#last_row {
- background-color:#c9cfd0;
- height: 25px;
-}
-
-#team_heim {
-
-}
-
-#team_gast {
-
-
-}
-
-#match_resultat {
- width:150px;
- margin-left:auto;
- margin-right: auto;
-}
-
-#team_heim_logo {
- width: 30px;
- height: 30px;
- float:left;
- margin-right: 5px;
-}
-
-tr.finished.odd #resultat_holder {
- width: 78px;
- height: 25px;
- background:url(result_holder.png) center center no-repeat;
- float:left;
- font-size: 19px;
- font:Verdana, Geneva, sans-serif;
- font-weight:bold;
- text-align:center;
- color: #c42424;
- padding-top: 3px;
- padding-bottom: 2px;
-}
-
-tr.finished.even #resultat_holder {
- width: 78px;
- height: 25px;
- background:url(result_holder.png) center center no-repeat;
- float:left;
- font-size: 19px;
- font:Verdana, Geneva, sans-serif;
- font-weight:bold;
- text-align:center;
- color: #c42424;
- padding-top: 3px;
- padding-bottom: 2px;
-}
-
-tr.updated #resultat_holder {
- width: 78px;
- height: 25px;
- background:url(result_holder.png) center center no-repeat;
- float:left;
- font-size: 19px;
- font:Verdana, Geneva, sans-serif;
- font-weight:bold;
- text-align:center;
- color: #fa9917;
- padding-top: 3px;
- padding-bottom: 2px;
-}
-
-tr.livenow #resultat_holder {
- width: 78px;
- height: 25px;
- background:url(result_holder.png) center center no-repeat;
- float:left;
- font-size: 19px;
- font:Verdana, Geneva, sans-serif;
- font-weight:bold;
- text-align:center;
- color: #007f3d;
- padding-top: 3px;
- padding-bottom: 2px;
-}
-
-tr.upcoming.odd #resultat_holder {
- width: 78px;
- height: 25px;
- background:url(result_holder.png) center center no-repeat;
- float:left;
- font-size: 19px;
- font:Verdana, Geneva, sans-serif;
- text-align:center;
- color: #3a3a3a;
- padding-top: 3px;
- padding-bottom: 2px;
-}
-
-tr.upcoming.even #resultat_holder {
- width: 78px;
- height: 25px;
- background:url(result_holder.png) center center no-repeat;
- float:left;
- font-size: 19px;
- font:Verdana, Geneva, sans-serif;
- text-align:center;
- color: #3a3a3a;
- padding-top: 3px;
- padding-bottom: 2px;
-}
-
-#team_gast_logo {
- width: 30px;
- height: 30px;
- float:left;
- margin-left: 5px;
-}
-
-#combobox {
- width: 100px;
- padding-left: 16px;
- padding-top: 8px;
- float:left;
- margin-top: 10px;
-}
-
-#results_button {
- width: 280px;
- background:url(see_results_btn_right.png) right center no-repeat;
- margin-right: 46px;
- float:right;
- font-family:Verdana, Geneva, sans-serif;
- font-size: 14px;
- color:#fff;
- font-weight:bold;
- text-align:center;
- cursor: pointer;
- padding-right: 11px;
- margin-top: 10px;
-
-}
-#results_button_right{
- height: 30px;
- padding-top: 16px;
- background:url(see_results_btn.png) left center no-repeat;
- padding-left: 11px;
-}
-#right_page_header {
- width: 460px;
- height: 54px;
-
-}
-
-#right_menu {
-
- width: 460px;
- display:block;
- text-align: left;
-
-}
-
-#r_menu{
- padding-left: 23px;
- margin: 0px;
-}
-#right_menu ul li a span{
-
-
- padding: 4px 4px;
- text-decoration:none;
- display: inline;
- font-size:14px;
- font-family:Verdana, Geneva, sans-serif;
- color:#ffffff;
- cursor:pointer;
-
-}
-
-#right_menu ul li#eliminations {
-
- margin-right: 134px;
-
-}
-
-#right_menu ul li{
-
- background:url(right_button.png) top right no-repeat;
- padding: 1px 2px 2px 0px;
- display: block;
- margin-right: 8px;
- float:left;
-
-}
-
-#right_menu ul li a{
-
- background:url(left_button.png) top left no-repeat;
- padding: 1px 0px 2px 2px;
- color:#FFF;
- text-decoration:none;
- cursor:pointer;
-}
-
-
-#right_menu ul li#finalranking a span{
-
-}
-#right_menu ul li#finalranking {
- background:url(right_button_fin.png) top right no-repeat;
-}
-
-#right_menu ul li#finalranking a{
- background:url(left_button_fin.png) top left no-repeat;
-}
-
-
-#right_menu ul li:hover a span{
-
-
- padding: 4px 4px;
- text-decoration:none;
- display: inline;
- font-size:14px;
- font-family:Verdana, Geneva, sans-serif;
- color:#ffffff;
- cursor:pointer;
-
-}
-
-#right_menu ul li:hover,#right_menu ul li.active, #right_menu ul li#finalranking:hover,#right_menu ul li#finalranking.active{
-
- background:url(right_button_hover.png) top right no-repeat;
- padding: 1px 2px 2px 0px;
- display: inline;
- margin-right: 8px;
-
-}
-
-#right_menu ul li:hover a,#right_menu ul li.active a, #right_menu ul li#finalranking:hover a,#right_menu ul li#finalranking.active a{
-
- background:url(left_button_hover.png) top left no-repeat;
- padding: 1px 0px 2px 2px;
- color:#FFF;
- text-decoration:none;
- cursor:pointer;
- padding-left: 2px;
-
-}
-#chart_matches {
-
- width: 460px;
- height: 500px;
- display:block;
-
-}
-
-.grey_button{
- background:#C9CFD0;
- width:153px;
- height:22px;
- text-align:center;
- cursor:pointer;
- float:left;
-
-}
-.grey_button a{
- font-size:14px;
- font-family:Verdana, Geneva, sans-serif;
- color:#393939;
- text-decoration:none;
-
-}
-#tab_groups{
- background:url(tab_groups.png) top left no-repeat;
- width:105px;
- height:20px;
- position:absolute;
- top:57px;
- left:23px;
- padding-left: 9px;
- cursor:pointer;
-}
-#tab_elimination{
- background:url(tab_groups.png) top left no-repeat;
- width:105px;
- height:20px;
- position:absolute;
- top:57px;
- left:131px;
- padding-left: 9px;
- cursor:pointer;
-}
-#tab_elimination:hover,#tab_groups:hover{
- background:url(tab_eliminations.png) top left no-repeat;
-}
-#tab_groups a{
- text-decoration:none;
- font-size:14px;
- color:#FFF;
-}
-#tab_elimination a{
- text-decoration:none;
- font-size:14px;
- color:#FFF;
-}
-#heading{
- background-color:#c9cfd0;
-
-}
-#heading td{
- font-family:Verdana, Geneva, sans-serif;
- font-size:14px;
- color:#393939;
- padding: 2px 10px 2px 10px;
-}
-#heading td#points{
- padding-left: 40px;
- padding-right: 40px;
-}
-.groups td{
- font-family:Verdana, Geneva, sans-serif;
- font-size:14px;
- color:#000;
- padding: 2px 20px 2px 20px;
- text-align:center;
-}
-table.groups{
- width: 460px;
-}
-#groups2{
- padding-top: 0px;
- display: block;
- overflow-y: scroll;
-}
-
-#groups2.matchdetail{
- overflow: hidden;
-}
-
-#scheme{
- background:url(sheme1.png) top left no-repeat;
- width:456px;
- margin-left: 2px;
- height:465px;
- position:relative;
- font-family:Verdana, Geneva, sans-serif;
- clear: both;
-}
-#winner_area{
- width:455px;
-}
-.field_team{
- width:140px;
- height:30px;
- font-size:12px;
- color:#6f6f6f;
- padding-top:2px;
-}
-.field_team img{
- margin-left: 2px;
- margin-top: 0px;
- margin-right: 2px;
- float:left;
-
-}
-#team1{
- position:absolute;
- top:9px;
- left:8px;
-}
-.field_team span{
- float:left;
- width: 105px;
-}
-#team2{
- position:absolute;
- top:68px;
- left:8px;
-}
-.field_score{
- background:#c0d3eb;
- width:109px;
- height:21px;
- padding-left:27px;
- padding-top: 5px;
- border-left:1px solid #c0d3eb;
- border-right:1px solid #c0d3eb;
-}
-#result{
- font-family:Verdana, Geneva, sans-serif;
- width:46px;
- height:14px;
- border:1px solid #e8e8e8;
- background-color:#FFF;
- float:left;
- margin-left: 4px;
- margin-right: 4px;
- text-align:center;
- font-size:12px;
- color:#000;
- font-weight:bold;
-}
-#result1{
- position:absolute;
- top:42px;
- left:9px;
-}
-#result2{
- position:absolute;
- top:160px;
- left:9px;
-}
-#result3{
- position:absolute;
- top:278px;
- left:9px;
-}
-#result4{
- position:absolute;
- top:397px;
- left:9px;
-}
-#result5{
- position:absolute;
- top:101px;
- left:160px;
-}
-#result6{
- position:absolute;
- top:342px;
- left:160px;
-}
-#result7{
- position:absolute;
- top:221px;
- left:311px;
-}
-#result8{
- position:absolute;
- top:397px;
- left:311px;
-}
-#team3{
- position:absolute;
- top:126px;
- left:8px;
-}
-#team4{
- position:absolute;
- top:187px;
- left:8px;
-}
-#team5{
- position:absolute;
- top:244px;
- left:8px;
-}
-#team6{
- position:absolute;
- top:303px;
- left:8px;
-}
-#team7{
- position:absolute;
- top:363px;
- left:8px;
-}
-#team8{
- position:absolute;
- top:422px;
- left:8px;
-}
-#team9{
- position:absolute;
- top:68px;
- left:159px;
-}
-#team10{
- position:absolute;
- top:127px;
- left:159px;
-}
-#team11{
- position:absolute;
- top:310px;
- left:159px;
-}
-#team12{
- position:absolute;
- top:368px;
- left:159px;
-}
-#team13{
- position:absolute;
- top:187px;
- left:310px;
-}
-#team14{
- position:absolute;
- top:246px;
- left:310px;
-}
-#team15{
- position:absolute;
- top:363px;
- left:310px;
-}
-#team16{
- position:absolute;
- top:422px;
- left:310px;
-}
-.strike_through span{
- text-decoration: line-through;
-}
-.winner_bold{
- font-weight:bold;
- color:#000;
-}
-.field_score img{
- float:left;
-}
-.livenow_match{
- background-color:#bcf0d5;
- border-left:1px solid #0c8546;
- border-right:1px solid #0c8546;
- color:#007f3d;
-}
-.finished_match{
- background-color:#c42424;
- border-left:1px solid #c93d3d;
- border-right:1px solid #c93d3d;
- color:#c42424;
-}
-.livenow_match #result{
- color:#007f3d;
-}
-.finished_match #result{
- color:#c42424;
-}
-.place_final{
- width:120px;
- height:17px;
- font-size:14px;
- color:#FFF;
- padding-left: 27px;
- padding-top:2px;
-
-}
-#place_position1{
- position:absolute;
- top:158px;
- left:310px;
-}
-#place_position3{
- position:absolute;
- top:334px;
- left:310px;
-}
-#winner_area_heading{
- font-family:Verdana, Geneva, sans-serif;
- background-color:#656565;
- width:455px;
- height:19px;
- margin-left:2px;
- margin-top:7px;
- color:#FFF;
- text-transform:uppercase;
- font-size:14px;
- text-align:center;
- padding-top:3px;
-}
-#winner_area_positions{
- font-family:Verdana, Geneva, sans-serif;
- background-color:#FFF;
- width:453px;
- padding-bottom: 2px;
- margin-left:2px;
- border-left:1px solid #e5e5e5;
- border-right:1px solid #e5e5e5;
- position:relative;
- margin-bottom: 5px;
-}
-#cup{
- background:url(cup.png) top left no-repeat;
- width:30px;
- height:38px;
- position:absolute;
- top:5px;
- left:409px;
-}
-#view_all_results{
- background:url(btn_view_results.png) top left no-repeat;
- width:170px;
- height:22px;
- position:absolute;
- top:63px;
- left:275px;
- color:#FFF;
- font-family:Verdana, Geneva, sans-serif;
- font-size:14px;
- text-align:center;
- padding-top:3px;
- font-weight:bold;
- cursor:pointer;
-}
-#winner, #winner_name{
- font-family:Verdana, Geneva, sans-serif;
- font-size:20px;
- color:#656565;
- padding-left: 7px;
-}
-#first_position img{
- margin-top: 3px;
-}
-#second_position, #third_position{
- width:300px;
-}
-#second_position span, #third_position span{
- font-family:Verdana, Geneva, sans-serif;
- font-size:14px;
- color:#656565;
- padding-left: 7px;
-}
-#second_position img, #third_position img{
- margin-left: 9px;
-}
-
-#mid_page_round{
- background: #dadedf;
- overflow: hidden;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
- border-radius: 7px;
- behavior: url(components/com_sportsmanager/views/sportsmanager/border-radius.htc);
- z-index: 0;
-}
-#last_row span{
- cursor: pointer;
- font-size: 14px;
- color: #7e8283;
-}
-#last_row span#curr{
- font-weight: bold;
- font-size: 14px;
-}
-#last_row span#nextpage{
- padding-right: 19px;
- background: url(next.jpg) center right no-repeat;
- font-size: 14px;
- font-weight: bold;
-}
-#last_row span#prevpage{
- padding-left: 19px;
- background: url(prev.jpg) center left no-repeat;
- font-size: 14px;
- font-weight: bold;
-}
-#fedlogo{
- width: 139px;
- height: 69px;
- position: absolute;
- top: 195px;
- left: 159px;
-}
-#sponsorz{
- background: #C9CFD0;
- height: 45px;
- width: 450px;
- position: absolute;
- left: 10px;
- top: 7px;
- z-index:10;
- cursor: pointer;
-}
-#sponsorz img{
- width: 100%;
- height: auto;
-}
-#left_menu ul li{
- z-index:9996;
-}
-#left_menu ul li a{
- z-index:9997;
-}
-#left_menu ul li a span{
- z-index:9998;
-}
-
-@media only screen and (max-width:1200px){
-
-#tbl th,#tbl tr td {
- font-size: 12px;
-}
-}
-
-@media only screen and (max-width:1030px){
-
-#sponsorz{
- width: 390px;
- height: 39px;
-}
-}
- This function is responsible for display of the left table matches
- static function veranstaltungenTickerPrintable($matchez,$currentpage=1){
- $bilder_pfad = JURI::root(TRUE).'/components/com_sportsmanager/images/';
-
- $matchezperpage=12;
- $allmatchez=count($matchez);
- $allpages=floor($allmatchez/$matchezperpage);if(($allmatchez%$matchezperpage)>0)$allpages++;
- if($currentpage==''){$currentpage=1;}elseif(($currentpage<1)||($currentpage>$allpages)){$currentpage=1;}
-
- echo '
+
+ static function veranstaltungenTickerCSS(): void
+ {
+ $bilder_pfad = Uri::root(TRUE) . '/components/com_sportsmanager/images/';
+ ?>
+ body{
+ background: #767676;
+ font-family:Verdana, Geneva, sans-serif;
+ padding: 2px;
+ margin:0px;
+ }
+
+ a{
+ outline: 0;
+ }
+
+ #wrapper {
+ max-width: 1149px;
+ min-width: 490px;
+ margin-left:auto;
+ margin-right:auto;
+ position: relative;
+ padding-right:481px;
+ /*background: url(left_background_pad.png) top left no-repeat;*/
+
+ }
+
+ #left_page_rround{
+
+ width: 6px;
+ height: 720px;
+ top:0px;
+ right:0px;
+ position: absolute;
+ }
+
+ #left_page {
+ width: 100%;
+ float: left;
+ position: relative;
+ /*background: url(right_background_pad.png) top right no-repeat ;*/
+ }
+
+ #right_page {
+ width: 478px;
+ overflow: hidden;
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ -moz-border-radius: 7px;
+ -webkit-border-radius: 7px;
+ border-radius: 7px;
+ behavior: url(components/com_sportsmanager/views/sportsmanager/border-radius.htc);
+ background: #DADEDF; /*url(right_page_background.png) top left no-repeat;*/
+
+ }
+
+ #left_page_header {
+ width: 300px;
+ height: 55px;
+ float: left;
+
+ }
+
+ h1#pagetitle_text {
+ font-size:26px;
+ color: #fff;
+ float:left;
+ margin-top: 10px;
+ margin-left: 20px;
+ text-decoration:none;
+ font-weight:bold;
+ text-transform:uppercase;
+ margin-bottom: 0px;
+ z-index: 20;
+ position: relative;
+ }
+
+ a#homeicon {
+
+ background: url(homeicon.jpg) no-repeat;
+ height: 20px;
+ width: 66px;
+ float: right;
+ text-decoration:none;
+ text-align:right;
+ color: #666;
+ font-size: 14px;
+ line-height: 20px;
+ font-weight:bold;
+ margin-top: 15px;
+ margin-right: 20px;
+ padding-top: 1px;
+ }
+
+ #left_menu {
+
+ width: 800px;
+ display:block;
+ text-align: left;
+
+ }
+ #table_matches {
+ width: 100%;
+ display:block;
+ }
+ #l_menu{
+ padding-left: 16px;
+ margin: 0px;
+ z-index: 9995;
+ position:relative;
+ }
+ #left_menu ul li a span{
+
+
+ padding: 4px 4px;
+ text-decoration:none;
+ display: inline;
+ font-size:14px;
+ font-family:Verdana, Geneva, sans-serif;
+ color:#ffffff;
+ cursor:pointer;
+
+ }
+
+ #left_menu ul li#all_games {
+
+ margin-right: 20px;
+
+ }
+
+ #left_menu ul li{
+
+ background:url(right_button.png) top right no-repeat;
+ padding: 1px 2px 1px 0px;
+ display: block;
+ margin-right: 8px;
+ float:left;
+
+ }
+
+ #left_menu ul li a{
+
+ background:url(left_button.png) top left no-repeat;
+ padding: 1px 0px;
+ color:#FFF;
+ text-decoration:none;
+ cursor:pointer;
+ padding-left: 2px;
+
+ }
+
+ #left_menu ul li#finished a span{
+
+ }
+ #left_menu ul li#finished {
+ background:url(right_button_fin.png) top right no-repeat;
+ }
+
+ #left_menu ul li#finished a{
+ background:url(left_button_fin.png) top left no-repeat;
+ }
+
+ #left_menu ul li#running a span{
+
+ }
+ #left_menu ul li#running {
+ background:url(right_button_run.png) top right no-repeat;
+ }
+
+ #left_menu ul li#running a{
+ background:url(left_button_run.png) top left no-repeat;
+ }
+
+ #left_menu ul li#upcoming a span{
+
+ }
+ #left_menu ul li#upcoming {
+ background:url(right_button_upc.png) top right no-repeat;
+ }
+
+ #left_menu ul li#upcoming a{
+ background:url(left_button_upc.png) top left no-repeat;
+ }
+
+
+ #left_menu ul li:hover a span{
+
+
+ padding: 4px 4px;
+ text-decoration:none;
+ display: inline;
+ font-size:14px;
+ font-family:Verdana, Geneva, sans-serif;
+ color:#ffffff;
+ cursor:pointer;
+
+ }
+
+ #left_menu ul li:hover,#left_menu ul li.active,#left_menu ul li#finished:hover,#left_menu ul li#finished.active,#left_menu ul li#upcoming:hover,#left_menu ul li#upcoming.active,#left_menu ul li#running:hover,#left_menu ul li#running.active{
+
+ background:url(right_button_hover.png) top right no-repeat;
+ padding: 1px 2px 1px 0px;
+ display: inline;
+ margin-right: 8px;
+
+ }
+
+ #left_menu ul li:hover a,#left_menu ul li.active a,#left_menu ul li#finished:hover a,#left_menu ul li#finished.active a,#left_menu ul li#upcoming:hover a,#left_menu ul li#upcoming.active a,#left_menu ul li#running:hover a,#left_menu ul li#running.active a{
+
+ background:url(left_button_hover.png) top left no-repeat;
+ padding: 1px 0px;
+ color:#FFF;
+ text-decoration:none;
+ cursor:pointer;
+ padding-left: 2px;
+
+ }
+
+ table#tbl {
+ width:100%;
+ }
+ #tbl tr.updated td {
+
+ border-bottom: 1px solid #fa9917;
+ height: 45px;
+ }
+ tr.updated>:first-child {
+
+ }
+ tr.updated>:last-child {
+
+ }
+
+ #tbl tr.livenow td {
+
+ border-bottom: 1px solid #007f3d;
+ height: 45px;
+ }
+ tr.livenow>:first-child {
+
+ }
+ tr.livenow>:last-child {
+
+ }
+ #tbl th {
+ font-family:Verdana, Geneva, sans-serif;
+ font-size: 14px;
+ text-decoration:none;
+ color:#393939;
+ height:25px;
+ text-align: center;
+ background-color:#c9cfd0;
+ }
+
+ #tbl tr td {
+ font-family:Verdana, Geneva, sans-serif;
+ font-size:14px;
+ color: #656565;
+ text-align: center;
+ height: 44px;
+ }
+ #tbl tr td.matchdate{
+ height: 25px;
+ text-align:left;
+ font-weight:bold;
+ font-size: 12px;
+ padding-left: 10px;
+ color: #fff;
+ }
+
+ #tbl tr.amatch{
+ cursor: pointer;
+ }
+
+ #detailedresults #tbl tr td{
+ font-size: 12px;
+ }
+
+ #detailedresults #tbl tr.odd td{
+ background-color: #f8f8f8;
+ text-align: center;
+ }
+
+ #detailedresults #tbl tr.even td{
+ background-color: #fdfdfd;
+ text-align: center;
+ }
+
+ #detailedresults #tbl tr td.num{
+ width: 50px;
+ }
+
+ #detailedresults #tbl tr td.heim{
+ width: 150px;
+ }
+
+ #detailedresults #tbl tr td.ergeb{
+ width: 80px;
+ font-size: 14px;
+ font-weight: bold;
+ color: #c42424;
+ text-decoration: none;
+ }
+
+ #detailedresults #tbl tr td.ergeb a{
+
+ }
+
+ #detailedresults #tbl tr td.gast{
+ width: 150px;
+ }
+ #tbl tr.tablehead td{
+ height: 25px;
+ font-weight: bold;
+ background-color: #C9CFD0;
+ font-size: 12px;
+ }
+ tr.finished.odd {
+ background-color:#f1f2f2;
+ }
+
+ tr.finished.even {
+ background-color:#eaecec;
+ }
+
+ tr.updated {
+ background-color:#ffeed7;
+ }
+
+
+ tr.livenow {
+ background-color:#bcf0d5;
+ border:10px solid #007f3d;
+ }
+
+ tr.upcoming.odd {
+ background-color:#dde8f3;
+ }
+ tr.upcoming.even {
+ background-color:#d1e0ef;
+ }
+
+ #tbl tr td.finished_winner {
+ color: #393939;
+ font-weight:bold;
+ }
+
+ #match_round {
+
+ min-width: 51px;
+ height: 25px;
+ text-align: center;
+ background-image:url(match_status.png);
+ background-position: center center;
+ background-repeat: no-repeat;
+ }
+
+ #date_time {
+ min-width: 51px;
+ }
+ #match_status_finished {
+ min-width: 46px;
+ height: 19px;
+ background-image:url(fin_icon.png);
+ background-position: center center;
+ background-repeat: no-repeat;
+
+ }
+
+ #match_status_updated{
+ min-width: 46px;
+ height: 19px;
+ background-image:url(upd_icon.png);
+ background-position: center center;
+ background-repeat: no-repeat;
+ }
+
+ #match_status_livenow {
+ min-width: 46px;
+ height: 19px;
+ background-image:url(live_icon.png);
+ background-position: center center;
+ background-repeat: no-repeat;
+ }
+
+ #match_status_upcoming {
+ min-width: 46px;
+ height: 19px;
+ background-image:url(upc_icon.png);
+ background-position: center center;
+ background-repeat: no-repeat;
+ }
+
+
+ tr.last_row {
+ background-color:#c9cfd0;
+ height:20px;
+ }
+
+ #tbl tr td#last_row {
+ background-color:#c9cfd0;
+ height: 25px;
+ }
+
+ #team_heim {
+
+ }
+
+ #team_gast {
+
+
+ }
+
+ #match_resultat {
+ width:150px;
+ margin-left:auto;
+ margin-right: auto;
+ }
+
+ #team_heim_logo {
+ width: 30px;
+ height: 30px;
+ float:left;
+ margin-right: 5px;
+ }
+
+ tr.finished.odd #resultat_holder {
+ width: 78px;
+ height: 25px;
+ background:url(result_holder.png) center center no-repeat;
+ float:left;
+ font-size: 19px;
+ font:Verdana, Geneva, sans-serif;
+ font-weight:bold;
+ text-align:center;
+ color: #c42424;
+ padding-top: 3px;
+ padding-bottom: 2px;
+ }
+
+ tr.finished.even #resultat_holder {
+ width: 78px;
+ height: 25px;
+ background:url(result_holder.png) center center no-repeat;
+ float:left;
+ font-size: 19px;
+ font:Verdana, Geneva, sans-serif;
+ font-weight:bold;
+ text-align:center;
+ color: #c42424;
+ padding-top: 3px;
+ padding-bottom: 2px;
+ }
+
+ tr.updated #resultat_holder {
+ width: 78px;
+ height: 25px;
+ background:url(result_holder.png) center center no-repeat;
+ float:left;
+ font-size: 19px;
+ font:Verdana, Geneva, sans-serif;
+ font-weight:bold;
+ text-align:center;
+ color: #fa9917;
+ padding-top: 3px;
+ padding-bottom: 2px;
+ }
+
+ tr.livenow #resultat_holder {
+ width: 78px;
+ height: 25px;
+ background:url(result_holder.png) center center no-repeat;
+ float:left;
+ font-size: 19px;
+ font:Verdana, Geneva, sans-serif;
+ font-weight:bold;
+ text-align:center;
+ color: #007f3d;
+ padding-top: 3px;
+ padding-bottom: 2px;
+ }
+
+ tr.upcoming.odd #resultat_holder {
+ width: 78px;
+ height: 25px;
+ background:url(result_holder.png) center center no-repeat;
+ float:left;
+ font-size: 19px;
+ font:Verdana, Geneva, sans-serif;
+ text-align:center;
+ color: #3a3a3a;
+ padding-top: 3px;
+ padding-bottom: 2px;
+ }
+
+ tr.upcoming.even #resultat_holder {
+ width: 78px;
+ height: 25px;
+ background:url(result_holder.png) center center no-repeat;
+ float:left;
+ font-size: 19px;
+ font:Verdana, Geneva, sans-serif;
+ text-align:center;
+ color: #3a3a3a;
+ padding-top: 3px;
+ padding-bottom: 2px;
+ }
+
+ #team_gast_logo {
+ width: 30px;
+ height: 30px;
+ float:left;
+ margin-left: 5px;
+ }
+
+ #combobox {
+ width: 100px;
+ padding-left: 16px;
+ padding-top: 8px;
+ float:left;
+ margin-top: 10px;
+ }
+
+ #results_button {
+ width: 280px;
+ background:url(see_results_btn_right.png) right center no-repeat;
+ margin-right: 46px;
+ float:right;
+ font-family:Verdana, Geneva, sans-serif;
+ font-size: 14px;
+ color:#fff;
+ font-weight:bold;
+ text-align:center;
+ cursor: pointer;
+ padding-right: 11px;
+ margin-top: 10px;
+
+ }
+ #results_button_right{
+ height: 30px;
+ padding-top: 16px;
+ background:url(see_results_btn.png) left center no-repeat;
+ padding-left: 11px;
+ }
+ #right_page_header {
+ width: 460px;
+ height: 54px;
+
+ }
+
+ #right_menu {
+
+ width: 460px;
+ display:block;
+ text-align: left;
+
+ }
+
+ #r_menu{
+ padding-left: 23px;
+ margin: 0px;
+ }
+ #right_menu ul li a span{
+
+
+ padding: 4px 4px;
+ text-decoration:none;
+ display: inline;
+ font-size:14px;
+ font-family:Verdana, Geneva, sans-serif;
+ color:#ffffff;
+ cursor:pointer;
+
+ }
+
+ #right_menu ul li#eliminations {
+
+ margin-right: 134px;
+
+ }
+
+ #right_menu ul li{
+
+ background:url(right_button.png) top right no-repeat;
+ padding: 1px 2px 2px 0px;
+ display: block;
+ margin-right: 8px;
+ float:left;
+
+ }
+
+ #right_menu ul li a{
+
+ background:url(left_button.png) top left no-repeat;
+ padding: 1px 0px 2px 2px;
+ color:#FFF;
+ text-decoration:none;
+ cursor:pointer;
+ }
+
+
+ #right_menu ul li#finalranking a span{
+
+ }
+ #right_menu ul li#finalranking {
+ background:url(right_button_fin.png) top right no-repeat;
+ }
+
+ #right_menu ul li#finalranking a{
+ background:url(left_button_fin.png) top left no-repeat;
+ }
+
+
+ #right_menu ul li:hover a span{
+
+
+ padding: 4px 4px;
+ text-decoration:none;
+ display: inline;
+ font-size:14px;
+ font-family:Verdana, Geneva, sans-serif;
+ color:#ffffff;
+ cursor:pointer;
+
+ }
+
+ #right_menu ul li:hover,#right_menu ul li.active, #right_menu ul li#finalranking:hover,#right_menu ul li#finalranking.active{
+
+ background:url(right_button_hover.png) top right no-repeat;
+ padding: 1px 2px 2px 0px;
+ display: inline;
+ margin-right: 8px;
+
+ }
+
+ #right_menu ul li:hover a,#right_menu ul li.active a, #right_menu ul li#finalranking:hover a,#right_menu ul li#finalranking.active a{
+
+ background:url(left_button_hover.png) top left no-repeat;
+ padding: 1px 0px 2px 2px;
+ color:#FFF;
+ text-decoration:none;
+ cursor:pointer;
+ padding-left: 2px;
+
+ }
+ #chart_matches {
+
+ width: 460px;
+ height: 500px;
+ display:block;
+
+ }
+
+ .grey_button{
+ background:#C9CFD0;
+ width:153px;
+ height:22px;
+ text-align:center;
+ cursor:pointer;
+ float:left;
+
+ }
+ .grey_button a{
+ font-size:14px;
+ font-family:Verdana, Geneva, sans-serif;
+ color:#393939;
+ text-decoration:none;
+
+ }
+ #tab_groups{
+ background:url(tab_groups.png) top left no-repeat;
+ width:105px;
+ height:20px;
+ position:absolute;
+ top:57px;
+ left:23px;
+ padding-left: 9px;
+ cursor:pointer;
+ }
+ #tab_elimination{
+ background:url(tab_groups.png) top left no-repeat;
+ width:105px;
+ height:20px;
+ position:absolute;
+ top:57px;
+ left:131px;
+ padding-left: 9px;
+ cursor:pointer;
+ }
+ #tab_elimination:hover,#tab_groups:hover{
+ background:url(tab_eliminations.png) top left no-repeat;
+ }
+ #tab_groups a{
+ text-decoration:none;
+ font-size:14px;
+ color:#FFF;
+ }
+ #tab_elimination a{
+ text-decoration:none;
+ font-size:14px;
+ color:#FFF;
+ }
+ #heading{
+ background-color:#c9cfd0;
+
+ }
+ #heading td{
+ font-family:Verdana, Geneva, sans-serif;
+ font-size:14px;
+ color:#393939;
+ padding: 2px 10px 2px 10px;
+ }
+ #heading td#points{
+ padding-left: 40px;
+ padding-right: 40px;
+ }
+ .groups td{
+ font-family:Verdana, Geneva, sans-serif;
+ font-size:14px;
+ color:#000;
+ padding: 2px 20px 2px 20px;
+ text-align:center;
+ }
+ table.groups{
+ width: 460px;
+ }
+ #groups2{
+ padding-top: 0px;
+ display: block;
+ overflow-y: scroll;
+ }
+
+ #groups2.matchdetail{
+ overflow: hidden;
+ }
+
+ #scheme{
+ background:url(sheme1.png) top left no-repeat;
+ width:456px;
+ margin-left: 2px;
+ height:465px;
+ position:relative;
+ font-family:Verdana, Geneva, sans-serif;
+ clear: both;
+ }
+ #winner_area{
+ width:455px;
+ }
+ .field_team{
+ width:140px;
+ height:30px;
+ font-size:12px;
+ color:#6f6f6f;
+ padding-top:2px;
+ }
+ .field_team img{
+ margin-left: 2px;
+ margin-top: 0px;
+ margin-right: 2px;
+ float:left;
+
+ }
+ #team1{
+ position:absolute;
+ top:9px;
+ left:8px;
+ }
+ .field_team span{
+ float:left;
+ width: 105px;
+ }
+ #team2{
+ position:absolute;
+ top:68px;
+ left:8px;
+ }
+ .field_score{
+ background:#c0d3eb;
+ width:109px;
+ height:21px;
+ padding-left:27px;
+ padding-top: 5px;
+ border-left:1px solid #c0d3eb;
+ border-right:1px solid #c0d3eb;
+ }
+ #result{
+ font-family:Verdana, Geneva, sans-serif;
+ width:46px;
+ height:14px;
+ border:1px solid #e8e8e8;
+ background-color:#FFF;
+ float:left;
+ margin-left: 4px;
+ margin-right: 4px;
+ text-align:center;
+ font-size:12px;
+ color:#000;
+ font-weight:bold;
+ }
+ #result1{
+ position:absolute;
+ top:42px;
+ left:9px;
+ }
+ #result2{
+ position:absolute;
+ top:160px;
+ left:9px;
+ }
+ #result3{
+ position:absolute;
+ top:278px;
+ left:9px;
+ }
+ #result4{
+ position:absolute;
+ top:397px;
+ left:9px;
+ }
+ #result5{
+ position:absolute;
+ top:101px;
+ left:160px;
+ }
+ #result6{
+ position:absolute;
+ top:342px;
+ left:160px;
+ }
+ #result7{
+ position:absolute;
+ top:221px;
+ left:311px;
+ }
+ #result8{
+ position:absolute;
+ top:397px;
+ left:311px;
+ }
+ #team3{
+ position:absolute;
+ top:126px;
+ left:8px;
+ }
+ #team4{
+ position:absolute;
+ top:187px;
+ left:8px;
+ }
+ #team5{
+ position:absolute;
+ top:244px;
+ left:8px;
+ }
+ #team6{
+ position:absolute;
+ top:303px;
+ left:8px;
+ }
+ #team7{
+ position:absolute;
+ top:363px;
+ left:8px;
+ }
+ #team8{
+ position:absolute;
+ top:422px;
+ left:8px;
+ }
+ #team9{
+ position:absolute;
+ top:68px;
+ left:159px;
+ }
+ #team10{
+ position:absolute;
+ top:127px;
+ left:159px;
+ }
+ #team11{
+ position:absolute;
+ top:310px;
+ left:159px;
+ }
+ #team12{
+ position:absolute;
+ top:368px;
+ left:159px;
+ }
+ #team13{
+ position:absolute;
+ top:187px;
+ left:310px;
+ }
+ #team14{
+ position:absolute;
+ top:246px;
+ left:310px;
+ }
+ #team15{
+ position:absolute;
+ top:363px;
+ left:310px;
+ }
+ #team16{
+ position:absolute;
+ top:422px;
+ left:310px;
+ }
+ .strike_through span{
+ text-decoration: line-through;
+ }
+ .winner_bold{
+ font-weight:bold;
+ color:#000;
+ }
+ .field_score img{
+ float:left;
+ }
+ .livenow_match{
+ background-color:#bcf0d5;
+ border-left:1px solid #0c8546;
+ border-right:1px solid #0c8546;
+ color:#007f3d;
+ }
+ .finished_match{
+ background-color:#c42424;
+ border-left:1px solid #c93d3d;
+ border-right:1px solid #c93d3d;
+ color:#c42424;
+ }
+ .livenow_match #result{
+ color:#007f3d;
+ }
+ .finished_match #result{
+ color:#c42424;
+ }
+ .place_final{
+ width:120px;
+ height:17px;
+ font-size:14px;
+ color:#FFF;
+ padding-left: 27px;
+ padding-top:2px;
+
+ }
+ #place_position1{
+ position:absolute;
+ top:158px;
+ left:310px;
+ }
+ #place_position3{
+ position:absolute;
+ top:334px;
+ left:310px;
+ }
+ #winner_area_heading{
+ font-family:Verdana, Geneva, sans-serif;
+ background-color:#656565;
+ width:455px;
+ height:19px;
+ margin-left:2px;
+ margin-top:7px;
+ color:#FFF;
+ text-transform:uppercase;
+ font-size:14px;
+ text-align:center;
+ padding-top:3px;
+ }
+ #winner_area_positions{
+ font-family:Verdana, Geneva, sans-serif;
+ background-color:#FFF;
+ width:453px;
+ padding-bottom: 2px;
+ margin-left:2px;
+ border-left:1px solid #e5e5e5;
+ border-right:1px solid #e5e5e5;
+ position:relative;
+ margin-bottom: 5px;
+ }
+ #cup{
+ background:url(cup.png) top left no-repeat;
+ width:30px;
+ height:38px;
+ position:absolute;
+ top:5px;
+ left:409px;
+ }
+ #view_all_results{
+ background:url(btn_view_results.png) top left no-repeat;
+ width:170px;
+ height:22px;
+ position:absolute;
+ top:63px;
+ left:275px;
+ color:#FFF;
+ font-family:Verdana, Geneva, sans-serif;
+ font-size:14px;
+ text-align:center;
+ padding-top:3px;
+ font-weight:bold;
+ cursor:pointer;
+ }
+ #winner, #winner_name{
+ font-family:Verdana, Geneva, sans-serif;
+ font-size:20px;
+ color:#656565;
+ padding-left: 7px;
+ }
+ #first_position img{
+ margin-top: 3px;
+ }
+ #second_position, #third_position{
+ width:300px;
+ }
+ #second_position span, #third_position span{
+ font-family:Verdana, Geneva, sans-serif;
+ font-size:14px;
+ color:#656565;
+ padding-left: 7px;
+ }
+ #second_position img, #third_position img{
+ margin-left: 9px;
+ }
+
+ #mid_page_round{
+ background: #dadedf;
+ overflow: hidden;
+ -moz-border-radius: 7px;
+ -webkit-border-radius: 7px;
+ border-radius: 7px;
+ behavior: url(components/com_sportsmanager/views/sportsmanager/border-radius.htc);
+ z-index: 0;
+ }
+ #last_row span{
+ cursor: pointer;
+ font-size: 14px;
+ color: #7e8283;
+ }
+ #last_row span#curr{
+ font-weight: bold;
+ font-size: 14px;
+ }
+ #last_row span#nextpage{
+ padding-right: 19px;
+ background: url(next.jpg) center right no-repeat;
+ font-size: 14px;
+ font-weight: bold;
+ }
+ #last_row span#prevpage{
+ padding-left: 19px;
+ background: url(prev.jpg) center left no-repeat;
+ font-size: 14px;
+ font-weight: bold;
+ }
+ #fedlogo{
+ width: 139px;
+ height: 69px;
+ position: absolute;
+ top: 195px;
+ left: 159px;
+ }
+ #sponsorz{
+ background: #C9CFD0;
+ height: 45px;
+ width: 450px;
+ position: absolute;
+ left: 10px;
+ top: 7px;
+ z-index:10;
+ cursor: pointer;
+ }
+ #sponsorz img{
+ width: 100%;
+ height: auto;
+ }
+ #left_menu ul li{
+ z-index:9996;
+ }
+ #left_menu ul li a{
+ z-index:9997;
+ }
+ #left_menu ul li a span{
+ z-index:9998;
+ }
+
+ @media only screen and (max-width:1200px){
+
+ #tbl th,#tbl tr td {
+ font-size: 12px;
+ }
+ }
+
+ @media only screen and (max-width:1030px){
+
+ #sponsorz{
+ width: 390px;
+ height: 39px;
+ }
+ }
+ This function is responsible for display of the left table matches
+ static function veranstaltungenTickerPrintable($matchez): void
+ {
+ $bilder_pfad = Uri::root(TRUE) . '/components/com_sportsmanager/images/';
+
+ echo '
- '.JText::_('COM_SPORTSMANAGER_DATE').'
- '.JText::_('COM_SPORTSMANAGER_ROUND').'
- '.JText::_('COM_SPORTSMANAGER_TEAM_HOME').'
- '.JText::_('COM_SPORTSMANAGER_RESULT').'
- '.JText::_('COM_SPORTSMANAGER_TEAM_VISITOR').'
- ';?>
-
+ --|--:
+
+
- Hannoverkicker Hannover
+ class="finished_winner">
-
- 15 July, 11:00
- Viertel
- Hannoverkicker Hannover
-
-
-
- Hannoverkicker Hannover
-
-
- 15 July, 11:00
- Viertel
- Hannoverkicker Hannover
-
-
-
- Hannoverkicker Hannover
-
-
- 15 July, 11:00
- Viertel
- Hannoverkicker Hannover
-
-
-
- Hannoverkicker Hannover
-
-
- 15 July, 11:00
- Viertel
- Hannoverkicker Hannover
-
-
-
- Hannoverkicker Hannover
-
-
- 15 July, 11:00
- Viertel
- Hannoverkicker Hannover
-
-
-
- Hannoverkicker Hannover
-
-
- 15 July, 11:00
- Viertel
- Hannoverkicker Hannover
-
-
-
- Hannoverkicker Hannover
-
-
- 15 July, 11:00
- Viertel
- Hannoverkicker Hannover
-
-
-
- Hannoverkicker Hannover
-
- -->
-
-
- ?>
-
- class="finished_winner">
-
-
-
- class="finished_winner">
-
-
-
+ }
+ } else { ?>
+
-
-
-
-
-
- 1){if($currentpage>1){echo 'Zurück ';}for($jj=1;$jj<=$allpages;$jj++){if($jj>1)echo ' ';if($jj==$currentpage){$sup='id="curr"';}else{$sup='';}echo ''.$jj.' ';}if($currentpage<$allpages){echo ' Weiter ';}}?>
-
-
- This function is responsible for display of the groups qualification results
- static function veranstaltungenTickerPrintgtable($teamz, $group) {
- $punkte_anzeigen = false;
- if (isset($teamz[0]) && isset($teamz[0]['score']))
- $punkte_anzeigen = true;
- $bilder_pfad = JURI::root(TRUE).'/components/com_sportsmanager/images/';
- if(!empty($teamz)){
- echo '
-
- '.JText::_('COM_SPORTSMANAGER_PLACE').'
-
- '.$group.'
- '. ($punkte_anzeigen ? JText::_('COM_SPORTSMANAGER_POINTS') : ' ') . '
- ';
- $teamcount=0;
- foreach($teamz as $team){
- $teamcount++;
- if(($teamcount%2)==0){$class2='even';}else{$class2='odd';}
- ?>
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
- TABELLEN
-
";
- */
- }
- // printeliminations function start -> This function is responsible for display of the right elimination chart
- static function veranstaltungenTickerPrinteliminations($matchez){
- $bilder_pfad = JURI::root(TRUE).'/components/com_sportsmanager/images/';
- $federationLogoFile="dtfvb_logo.png";
- if(!empty($matchez)){
- /*
- echo '
-
-
-
';
- */
-
- echo '
-
-
+ }
+ ?>
+
+
+
+ This function is responsible for display of the groups qualification results
+ static function veranstaltungenTickerPrintgtable($teamz, $group): void
+ {
+ $punkte_anzeigen = false;
+ if (isset($teamz[0]['score']))
+ $punkte_anzeigen = true;
+ $bilder_pfad = Uri::root(TRUE) . '/components/com_sportsmanager/images/';
+ if (!empty($teamz)) {
+ echo '
+
+ ' . Text::_('COM_SPORTSMANAGER_PLACE') . '
+
+ ' . $group . '
+ ' . ($punkte_anzeigen ? Text::_('COM_SPORTSMANAGER_POINTS') : ' ') . '
+ ';
+ foreach ($teamz as $team) {
+ ?>
+
+
+
+
+
+
+
+
+
+
+ This function is responsible for display of the right elimination chart
+ static function veranstaltungenTickerPrinteliminations($matchez): void
+ {
+ $bilder_pfad = Uri::root(TRUE) . '/components/com_sportsmanager/images/';
+ if (!empty($matchez)) {
+
+ echo '
+
+
';
- $matchcount=0;
- foreach($matchez as $match){
- $matchcount++;
- if(($matchcount%2)==0){$class2='even';}else{$class2='odd';}
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This function is responsible for display of the right top3 end results after the elimination chart
- static function veranstaltungenTickerPrintop3($teamz){
- $bilder_pfad = JURI::root(TRUE).'/components/com_sportsmanager/images/';
- if(!empty($teamz)){
- ?>
-
-
-
-
-
-
-
1.
-
2.
-
3.
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This function is responsible for display of the right top3 end results after the elimination chart
+ static function veranstaltungenTickerPrintop3($teamz): void
+ {
+ if (!empty($teamz)) {
+ ?>
+
+
+
+
+
+
1.
+
+
+ 2.
+
+
+ 3.
+
+
+
+
+
- remove_database();
+ function uninstall($adapter): bool
+ {
+ $this->remove_database();
- if (!JFolder::delete(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'))
+ if (!Folder::delete(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'))
echo 'Warning: Image directory could not be deleted!
';
echo 'Sports Manager was successfully removed from Joomla.
';
- //echo '' . JText::_('COM_SPORTSMANAGER_UNINSTALL_TEXT') . '
';
+ return true;
}
- function update($parent)
- {
- // echo '' . JText::sprintf('COM_SPORTSMANAGER_UPDATE_TEXT', $parent->get('manifest')->version) . '
';
+ function update($adapter): bool
+ {
+ // not used
+ return true;
}
- function preflight($type, $parent)
+ function preflight($type, $adapter): bool
{
- // echo '' . JText::_('COM_SPORTSMANAGER_PREFLIGHT_' . $type . '_TEXT') . '
';
+ // not used
+ return true;
}
- function postflight($type, $parent)
- {
+ function postflight($type, $adapter): bool
+ {
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
if (!$this->database_exists()) {
$this->create_database();
- if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager', 0777))
+ if (!Folder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager', 0777))
echo 'Error: Image directory cannot be created!
';
- if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'spieler', 0777))
+ if (!Folder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'spieler', 0777))
echo 'Error: Image directory cannot be created!
';
- if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'mannschaften', 0777))
+ if (!Folder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'mannschaften', 0777))
echo 'Error: Image directory cannot be created!
';
- if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'mannschaftsmitglieder', 0777))
+ if (!Folder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'mannschaftsmitglieder', 0777))
echo 'Error: Image directory cannot be created!
';
- if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'vereine', 0777))
+ if (!Folder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'vereine', 0777))
echo 'Error: Image directory cannot be created!
';
- if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'import', 0777))
+ if (!Folder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'import', 0777))
echo 'Error: Image directory cannot be created!
';
- if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'export', 0777))
+ if (!Folder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'export', 0777))
echo 'Error: Image directory cannot be created!
';
- if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'termine', 0777))
+ if (!Folder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'termine', 0777))
echo 'Error: Image directory cannot be created!
';
- if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'terminsymbole', 0777))
+ if (!Folder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'terminsymbole', 0777))
echo 'Error: Image directory cannot be created!
';
- if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'mannschaftswettbewerbe', 0777))
+ if (!Folder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'mannschaftswettbewerbe', 0777))
echo 'Error: Image directory cannot be created!
';
$pfad = JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'termine'.DIRECTORY_SEPARATOR.'.htaccess';
@@ -75,29 +82,44 @@ class com_sportsmanagerInstallerScript
if (file_put_contents($pfad, $inhalt) === FALSE)
echo 'Fehler: Anlegen der .htaccess-Datei im Termineverzeichnis ist gescheitert!
';
- 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-m.png', JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'spieler'.DIRECTORY_SEPARATOR.'m.png', 180, 240, 1)) {
+ Log::add('Image /components/com_sportsmanager/images/spieler-m.png could not be copied to /images/sportsmanager/spieler/m.png', Log::ERROR);
+ echo 'Fehler: Bild spieler-m.png konnte nicht nach /images/sportsmanager/spieler/m.png verschoben werden
';
+ return false;
+ }
+
+ 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)) {
+ Log::add('Image /components/com_sportsmanager/images/spieler-w.png could not be copied to /images/sportsmanager/spieler/w.png', Log::ERROR);
+ echo 'Fehler: Bild spieler-w.png konnte nicht nach /images/sportsmanager/spieler/w.png verschoben werden
';
+ return false;
+ }
- 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.');
}
- $parent->getParent()->setRedirectURL('index.php?option=com_sportsmanager');
- // echo '' . JText::_('COM_SPORTSMANAGER_POSTFLIGHT_' . $type . '_TEXT') . '
';
+ $adapter->getParent()->setRedirectURL('index.php?option=com_sportsmanager');
+ return true;
}
- private function database_exists() {
- $db =& JFactory::getDBO();
+ private function database_exists(): bool
+ {
+ $db = Factory::getContainer()->get(DatabaseInterface::class);
$query = "SHOW TABLE STATUS WHERE name = '" . $db->getPrefix() . "sportsmanager_einstellungen' || name = '" . $db->getPrefix() . "tsleague_basis' || name = '" . $db->getPrefix() . "tsleague_einstellungen'";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
- $rows = $db->loadObjectList();
+ try {
+ $db->execute();
+ $rows = $db->loadObjectList();
+ }catch (RuntimeException $e) {
+ Log::add('Database error: ' . $e->getMessage(), Log::ERROR);
+ echo 'An error occurred while querying the database';
+ return false;
+ }
return count($rows) > 0;
}
- private function create_database() {
- $db =& JFactory::getDBO();
+ private function create_database(): void
+ {
+ $db = Factory::getContainer()->get(DatabaseInterface::class);
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_saison` ("
. "\n `saison_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -105,7 +127,7 @@ class com_sportsmanagerInstallerScript
. "\n PRIMARY KEY (`saison_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_begegnung` ("
. "\n `begegnung_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -126,7 +148,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `spielort_id` (`spielort_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_begegnung_historie` ("
. "\n `begegnung_historie_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -145,7 +167,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `verantwortlich_team_id` (`verantwortlich_team_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_individualwettbewerb` ("
. "\n `berechtigt_fuer_individualwettbewerb_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -156,7 +178,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_team` ("
. "\n `berechtigt_fuer_team_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -167,7 +189,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `berechtigt_team_id` (`berechtigt_team_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_turnier` ("
. "\n `berechtigt_fuer_turnier_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -178,7 +200,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_veranstalter` ("
. "\n `berechtigt_fuer_veranstalter_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -189,7 +211,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `berechtigt_veranstalter_id` (`berechtigt_veranstalter_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ 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,"
@@ -200,7 +222,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechtigt_fuer_verein` ("
. "\n `berechtigt_fuer_verein_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -211,7 +233,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `berechtigt_verein_id` (`berechtigt_verein_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_einstellungen` ("
. "\n `name` char(64) NOT NULL DEFAULT '',"
@@ -219,7 +241,7 @@ class com_sportsmanagerInstallerScript
. "\n PRIMARY KEY (`name`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_berechnung` ("
. "\n `berechnung_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -233,7 +255,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_einstufung` ("
. "\n `einstufung_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -246,7 +268,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ 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,"
@@ -259,7 +281,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_elo_cache` ("
. "\n `cache_datum` date NOT NULL,"
@@ -271,7 +293,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_individualwettbewerb` ("
. "\n `individualwettbewerb_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -290,7 +312,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ 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,"
@@ -311,7 +333,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_individualwettbewerb_platzierung` ("
. "\n `individualwettbewerb_platzierung_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -323,7 +345,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_individualwettbewerb_ausgangsplatzierung` ("
. "\n `individualwettbewerb_ausgangsplatzierung_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -335,7 +357,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_kategorie` ("
. "\n `kategorie_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -345,7 +367,7 @@ class com_sportsmanagerInstallerScript
. "\n PRIMARY KEY (`kategorie_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_mitglied_von_team` ("
. "\n `mitglied_von_team_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -359,7 +381,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `team_id` (`team_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_mitglied_von_verein` ("
. "\n `mitglied_von_verein_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -372,7 +394,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `verein_id` (`verein_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_moderator` ("
. "\n `moderator_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -381,7 +403,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `moderator_user_id` (`moderator_user_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_moderator_zugriff` ("
. "\n `moderator_zugriff_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -393,7 +415,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rangliste` ("
. "\n `rangliste_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -416,7 +438,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `system_id` (`system_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rangliste_punkte` ("
. "\n `rangliste_id` int(11) NOT NULL DEFAULT '0',"
@@ -428,7 +450,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `rangliste_platz` (`rangliste_id`, `platz`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rangliste_turnierdisziplin_punkte` ("
. "\n `rangliste_id` int(11) NOT NULL,"
@@ -439,7 +461,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rangliste_system` ("
. "\n `rangliste_system_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -449,7 +471,7 @@ class com_sportsmanagerInstallerScript
. "\n PRIMARY KEY (`rangliste_system_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rangliste_system_punkte` ("
. "\n `rangliste_system_punkte_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -463,7 +485,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `system_id` (`system_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rangliste_turnierdisziplin` ("
. "\n `rangliste_turnierdisziplin_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -478,7 +500,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `system_id` (`system_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_bestenliste` ("
. "\n `bestenliste_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -495,7 +517,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `saison_id` (`saison_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ 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,"
@@ -518,7 +540,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `spieler_2_id` (`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)); }
+ 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,"
@@ -529,7 +551,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `veranstaltung_id` (`veranstaltung_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_bestenliste_individualwettbewerb` ("
. "\n `bestenliste_individualwettbewerb_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -540,7 +562,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_rechnung` ("
. "\n `rechnung_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -557,7 +579,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ 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,"
@@ -568,7 +590,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_spieler` ("
. "\n `spieler_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -607,7 +629,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `spielernr` (`spielernr`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_spieler_import` ("
. "\n `spieler_import_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -637,7 +659,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `session_id` (`session_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_spielort` ("
. "\n `spielort_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -652,7 +674,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_team` ("
. "\n `team_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -691,7 +713,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `veranstaltung_id` (`veranstaltung_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_teamansprechpartner` ("
. "\n `kontaktperson_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -712,7 +734,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `team_id` (`team_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_teamspiel` ("
. "\n `teamspiel_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -735,7 +757,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_teamspiel_modus` ("
. "\n `teamspiel_modus_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -753,7 +775,7 @@ class com_sportsmanagerInstallerScript
. "\n PRIMARY KEY (`teamspiel_modus_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_teamwechsel` ("
. "\n `teamwechsel_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -764,7 +786,7 @@ class com_sportsmanagerInstallerScript
. "\n PRIMARY KEY (`teamwechsel_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin` ("
. "\n `termin_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -784,7 +806,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_termin_symbolanzeige` ("
. "\n `termin_symbolanzeige_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -795,7 +817,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ 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,"
@@ -805,7 +827,7 @@ class com_sportsmanagerInstallerScript
. "\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 (!$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,"
@@ -825,7 +847,7 @@ class com_sportsmanagerInstallerScript
. "\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 (!$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,"
@@ -836,7 +858,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ 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,"
@@ -845,7 +867,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ 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,"
@@ -853,7 +875,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ 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,"
@@ -861,7 +883,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ 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,"
@@ -869,7 +891,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_turnier` ("
. "\n `turnier_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -885,7 +907,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_turnierdisziplin` ("
. "\n `turnierdisziplin_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -905,7 +927,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `voranmeldungen_rangliste_id` (`voranmeldungen_rangliste_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_turniermeldung` ("
. "\n `turniermeldung_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -919,7 +941,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `meldungsgruppe_id` (`meldungsgruppe_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_turniermeldung_spieler` ("
. "\n `turniermeldung_spieler_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -930,7 +952,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_turniermeldung_spieler_name` ("
. "\n `turniermeldung_spieler_name_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -942,7 +964,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `turniermeldung_spieler_id` (`turniermeldung_spieler_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_turnierspiel` ("
. "\n `turnierspiel_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -960,7 +982,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `gast_meldung_id` (`gast_meldung_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_turnier_rundenstufe` ("
. "\n `turnier_rundenstufe_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -978,7 +1000,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_unbestaetigtes_ergebnis` ("
. "\n `unbestaetigtes_ergebnis_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -992,7 +1014,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `vorschlagendes_team_id` (`vorschlagendes_team_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_veranstalter` ("
. "\n `veranstalter_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -1002,7 +1024,7 @@ class com_sportsmanagerInstallerScript
. "\n PRIMARY KEY (`veranstalter_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_veranstaltung` ("
. "\n `veranstaltung_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -1028,7 +1050,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `verschieberegel_id` (`verschieberegel_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verein` ("
. "\n `verein_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -1043,7 +1065,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_vereinsansprechpartner` ("
. "\n `vereinsansprechpartner_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -1064,7 +1086,7 @@ class com_sportsmanagerInstallerScript
. "\n KEY `verein_id` (`verein_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verschieberegel` ("
. "\n `verschieberegel_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -1078,7 +1100,7 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verteiler` ("
. "\n `verteiler_id` int(11) NOT NULL AUTO_INCREMENT,"
@@ -1087,519 +1109,519 @@ class com_sportsmanagerInstallerScript
. "\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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '102';";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'basis_spielernr', wert = '';";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'spielerliste_elo', wert = '0';";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'ansprechpartner_ausblenden', wert = '0';";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'ansprechpartner_spielerdaten', wert = '1';";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT INTO #__sportsmanager_verschieberegel (bezeichnung, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage, termine_minimal, termine_maximal, ablehnen)"
. "\n VALUES ('Beliebig', '0', '0', '0', '1', '3', '0');";
$db->setQuery($query);
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT #__sportsmanager_rangliste_system"
. "\n SET systembezeichnung = 'Klostermann/Wahle (1 Punkt für letzten Platz)',"
. "\n status = '1',"
- // . "\n funktion = 'MAX(ROUND(IF(m >= 0, m, 1 / -m) * ROUND((((POW(n * 10, 0.7) - 1) * (-LN(p / n) * (1 - (p / n)))) / (-LN(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)); }
+ 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 (!$result = $db->execute()) { die($db->stderr(true)); }
+ 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 (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$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)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
}
- private function remove_database() {
- $db =& JFactory::getDBO();
+ private function remove_database(): void
+ {
+ $db = Factory::getContainer()->get(DatabaseInterface::class);
$query = "DROP TABLE IF EXISTS `#__sportsmanager_saison`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_begegnung`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_begegnung_historie`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_berechtigt_fuer_individualwettbewerb`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_berechtigt_fuer_team`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_berechtigt_fuer_turnier`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_berechtigt_fuer_verein`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_berechtigt_fuer_veranstalter`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_berechtigt_fuer_veranstaltung`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_bestenliste`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_bestenliste_punkte`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_bestenliste_veranstaltung`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_bestenliste_individualwettbewerb`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_berechnung`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_einstellungen`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_einstufung`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_einstufung_rangliste`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_elo_cache`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_individualwettbewerb`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_individualwettbewerb_spiel`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_kategorie`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_mitglied_von_team`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_mitglied_von_verein`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_moderator`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_moderator_zugriff`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_rangliste`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_termin`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_termin_symbol`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_termin_symbolanzeige`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_termin_aktion`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_termin_zusatz`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_termin_bezeichnungszusatz`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_termin_bezeichnung`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_termin_bundesland`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_termin_land`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_rangliste_punkte`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_rangliste_system`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_rangliste_system_punkte`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_rangliste_turnierdisziplin`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_rechnung`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_rechnung_spieler`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_spieler`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_spieler_import`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_spielort`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_team`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_teamansprechpartner`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_teamspiel`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_teamspiel_modus`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_teamwechsel`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_turnier`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_turnierdisziplin`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_turniermeldung`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_turniermeldung_spieler`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_turniermeldung_spieler_name`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_turnierspiel`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_turnier_rundenstufe`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_unbestaetigtes_ergebnis`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_veranstalter`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_veranstaltung`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verein`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_vereinsansprechpartner`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verschieberegel`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verteiler`;";
$db->setQuery( $query );
- if (!$result = $db->execute()) { die($db->stderr(true)); }
+ if (!$db->execute()) { die($db->stderr(true)); }
}
-}
+};