diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index 90c901b..c1f96b0 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -2872,12 +2872,14 @@ function spieler(): void $query .= "\n INNER JOIN (SELECT spieler_id, teamname FROM #__sportsmanager_veranstaltung INNER JOIN #__sportsmanager_team USING (veranstaltung_id) INNER JOIN #__sportsmanager_mitglied_von_team USING (team_id) WHERE status > 0 AND veranstaltung_id = $veranstaltungid AND NOT ausgetreten GROUP BY spieler_id ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, teamname) AS mannschaftsmitglied USING (spieler_id)"; $query .= "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id" . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)" - . "\n WHERE NOT ISNULL(aktueller_verein_id)"; + . "\n LEFT JOIN #__sportsmanager_mitglied_von_verein USING (spieler_id)" + . "\n WHERE NOT ISNULL(aktueller_verein_id) AND #__sportsmanager_mitglied_von_verein.mitgliedsstatus IN (1,2)"; if (!empty($search)) $query .= "\n AND (CONCAT_WS(', ', nachname, vorname) LIKE '$searchEscapedWildcards' OR CONCAT_WS(' ', vorname, nachname) LIKE '$searchEscapedWildcards' OR spielernr = '$searchEscaped' OR lizenznr = '$searchEscaped')"; if ($einstufungid != 0) $query .= "\n AND (einstufung_allgemein_id = $einstufungid OR einstufung_einzel_id = $einstufungid OR einstufung_doppel_id = $einstufungid)"; - if (!empty($kategorie)) + $query .= "\n GROUP BY spieler_id"; + if (!empty($kategorie)) $query .= "\n HAVING kategorie = '" . $db->escape($kategorie) . "'"; $query .= "\n ORDER BY " . $sortierung_query . "\n LIMIT $beginn, 50"; @@ -2995,7 +2997,11 @@ function spielerDetails(): void $query = "SELECT vereinsname" . "\n FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein" . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)" - . "\n WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id" + . "\n WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id " + . "\n AND NOT #__sportsmanager_verein.ausgetreten" + . "\n AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten" + . "\n AND #__sportsmanager_mitglied_von_verein.mitgliedsstatus IN (1,2)" + . "\n AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id" . "\n ORDER BY vereinsname"; $vereine = loadObjectList($db, $query); @@ -3003,7 +3009,12 @@ function spielerDetails(): void $query = "SELECT veranstalterbezeichnung" . "\n FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein" . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)" - . "\n WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id" + . "\n WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id" + . "\n AND NOT #__sportsmanager_verein.ausgetreten" + . "\n AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten" + . "\n AND #__sportsmanager_mitglied_von_verein.mitgliedsstatus IN (1,2)" + . "\n AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id" + . "\n GROUP BY veranstalterbezeichnung" . "\n ORDER BY veranstalterbezeichnung"; $veranstalter = loadObjectList($db, $query); 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 bad6dde..d64d205 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php @@ -4282,9 +4282,16 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie } } - 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, $lizenz_anzeigen):void { + 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, $lizenz_anzeigen):void { global $params; + if (count($vereine) == 0){echo "Sie haben keine Berechtigung auf diesen Datensatz!!!"; die;} + ?> 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 5d7f3ed..c19377d 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.json.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.json.php @@ -197,6 +197,7 @@ class JSON_sportsmanager #[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 { + if (count($vereine) == 0){die;} $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--) {