First version of match import

This commit is contained in:
Helmut Poppen
2025-03-17 22:14:37 +01:00
committed by GitHub
parent e8af5349e6
commit 9e730ad179
6 changed files with 769 additions and 67 deletions
@@ -6,6 +6,32 @@
// kein direkter Zugriff // kein direkter Zugriff
defined('_JEXEC') or die('Restricted access'); defined('_JEXEC') or die('Restricted access');
function UhrzeitWandlerDE($Zeitstempel)
{
//Jürgen Meyer 07.03.2025
$Temp = explode(' ',$Zeitstempel);
$Datum = $Temp[0];
$Uhrzeit = $Temp[1];
if (preg_match("/\d{2}\.\d{2}\.\d{4}/", $Datum))
{
$Datum = substr($Datum,6,4)."-".substr($Datum,3,2)."-".substr($Datum,0,2);
}
else if (preg_match("/\d{4}\-\d{2}\-\d{2}/", $Datum))
{
return $Zeitstempel;
}
return $Datum." ".$Uhrzeit;
}
function validateDate($date, $format = 'Y-m-d H:i:s')
{
//Jürgen Meyer 07.03.2025
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
function adminUebersicht() { function adminUebersicht() {
$db = getDatabase(); $db = getDatabase();
global $params; global $params;
@@ -10761,6 +10787,152 @@ function Gruppenspiele($anzahlteams) {
return $spiele; return $spiele;
} }
function GruppenspieleMatrix($anzahlteams)
{
/* Generiert Gruppenspiele von 4 bis 14 Teams über eine Setzliste
* bei denen jedes Team genau einmal gegen jedes andere Team spielt,
* die Spiele an Anzahl Teams - 1 Spieltagen ausgetragen werden und
* jedes Team an jedem Tag genau ein Spiel austrägt
* Manschaften die am selben Spieltag auf 1,2 oder 3,4 oder 5,6 usw. haben nie gleichzeitig Heimspiel.
*
* Rückgabewert: Dreidimensionales Array mit Spieltag als erstem Index (1, ..., Anzahl Teams - 1),
* Spiel-Nr. als zweitem Index (1, ..., Anzahl Teams / 2) und als drittem Index 0 für das erste
* und 1 für das zweite Team, wobei jeweils die Teamnummer enthalten ist (1, ..., Anzahl Teams)
*
* (C) Jürgen Meyer 09.03.2025
*/
switch ($anzahlteams) {
case 4:
$Spalte_Heim = 12;
break;
case 6:
$Spalte_Heim = 10;
break;
case 8:
$Spalte_Heim = 8;
break;
case 10:
$Spalte_Heim = 6;
break;
case 12:
$Spalte_Heim = 4;
break;
case 14:
$Spalte_Heim = 2;
break;
}
//Spieltag_Nr;Spiel_Nr;Heim14;Gast14;Heim12;Gast12;Heim10;Gast10;Heim8;Gast8;Heim6;Gast6;Heim4;Gast4
//Folgende Zeilen dürfen nicht eingrückt werden.
$str_Setzliste_Matrix =
"1;1;1;4;1;4;1;4;1;4;1;4;1;4
1;2;3;2;3;2;3;2;3;2;3;2;3;2
1;3;5;14;5;12;5;10;5;8;5;6;;
1;4;7;12;7;10;7;8;7;6;;;;
1;5;9;10;9;8;9;6;;;;;;
1;6;11;8;11;6;;;;;;;;
1;7;13;6;;;;;;;;;;
2;1;3;1;3;1;3;1;8;1;2;5;2;1
2;2;2;5;2;5;2;5;2;5;3;4;3;4
2;3;6;4;6;4;6;4;3;7;6;1;;
2;4;8;13;8;11;8;9;6;4;;;;
2;5;10;11;10;9;10;7;;;;;;
2;6;12;9;12;7;;;;;;;;
2;7;14;7;;;;;;;;;;
3;1;1;6;1;6;1;6;1;6;1;2;1;3
3;2;4;8;4;8;4;8;4;2;4;6;4;2
3;3;5;3;5;3;5;3;5;3;5;3;;
3;4;7;2;7;2;7;2;7;8;;;;
3;5;9;14;9;12;9;10;;;;;;
3;6;11;12;11;10;;;;;;;;
3;7;13;10;;;;;;;;;;
4;1;5;1;5;1;5;9;5;1;5;1;;
4;2;2;9;2;9;2;4;2;7;2;4;;
4;3;3;7;3;7;3;7;3;4;3;6;;
4;4;8;6;8;6;8;6;8;6;;;;
4;5;10;4;10;4;10;1;;;;;;
4;6;12;13;12;11;;;;;;;;
4;7;14;11;;;;;;;;;;
5;1;1;8;1;8;1;8;1;3;1;3;;
5;2;4;12;4;12;4;10;4;8;4;5;;
5;3;6;10;6;10;6;3;6;2;6;2;;
5;4;7;5;7;5;7;5;7;5;;;;
5;5;9;3;9;3;9;2;;;;;;
5;6;11;2;11;2;;;;;;;;
5;7;13;14;;;;;;;;;;
6;1;7;1;7;1;7;9;7;4;;;;
6;2;2;13;2;4;2;6;2;1;;;;
6;3;3;11;3;11;3;4;3;8;;;;
6;4;5;9;5;9;5;1;5;6;;;;
6;5;10;8;10;8;10;8;;;;;;
6;6;12;6;12;6;;;;;;;;
6;7;14;4;;;;;;;;;;
7;1;1;10;1;10;1;2;1;7;;;;
7;2;4;2;4;3;4;7;4;5;;;;
7;3;6;14;6;2;6;10;6;3;;;;
7;4;8;12;8;12;8;5;8;2;;;;
7;5;9;7;9;7;9;3;;;;;;
7;6;11;5;11;5;;;;;;;;
7;7;13;3;;;;;;;;;;
8;1;9;1;9;1;7;1;;;;;;
8;2;2;6;2;8;2;8;;;;;;
8;3;3;4;3;6;3;10;;;;;;
8;4;5;13;5;4;5;6;;;;;;
8;5;7;11;7;11;9;4;;;;;;
8;6;12;10;12;10;;;;;;;;
8;7;14;8;;;;;;;;;;
9;1;1;12;1;12;4;5;;;;;;
9;2;4;5;4;7;1;9;;;;;;
9;3;6;3;6;5;6;7;;;;;;
9;4;8;2;8;3;8;3;;;;;;
9;5;10;14;10;2;10;2;;;;;;
9;6;11;9;11;9;;;;;;;;
9;7;13;7;;;;;;;;;;
10;1;11;1;11;1;;;;;;;;
10;2;2;10;2;12;;;;;;;;
10;3;3;8;3;10;;;;;;;;
10;4;5;6;5;8;;;;;;;;
10;5;7;4;7;6;;;;;;;;
10;6;9;13;9;4;;;;;;;;
10;7;14;12;;;;;;;;;;
11;1;1;14;1;2;;;;;;;;
11;2;4;9;4;11;;;;;;;;
11;3;6;7;6;9;;;;;;;;
11;4;8;5;8;7;;;;;;;;
11;5;10;3;10;5;;;;;;;;
11;6;12;2;12;3;;;;;;;;
11;7;13;11;;;;;;;;;;
12;1;13;1;;;;;;;;;;
12;2;2;14;;;;;;;;;;
12;3;3;12;;;;;;;;;;
12;4;5;10;;;;;;;;;;
12;5;7;8;;;;;;;;;;
12;6;9;6;;;;;;;;;;
12;7;11;4;;;;;;;;;;
13;1;1;2;;;;;;;;;;
13;2;4;13;;;;;;;;;;
13;3;6;11;;;;;;;;;;
13;4;8;9;;;;;;;;;;
13;5;10;7;;;;;;;;;;
13;6;12;5;;;;;;;;;;
13;7;14;3;;;;;;;;;;";
$Spieltage = explode("\n",$str_Setzliste_Matrix);
$Zeile = 0;
foreach($Spieltage as $value)
{
$Spiel = explode(";",$value);
if($Spiel[$Spalte_Heim] == "") continue;
$Zeile++;
$Matrix[$Spiel[0]][$Spiel[1]][0] = $Spiel[$Spalte_Heim];
$Matrix[$Spiel[0]][$Spiel[1]][1] = $Spiel[$Spalte_Heim+1];
}
return $Matrix;
}
function adminBegegnungenGenerierenForm() { function adminBegegnungenGenerierenForm() {
$db = getDatabase(); $db = getDatabase();
$jinput = JFactory::getApplication()->input; $jinput = JFactory::getApplication()->input;
@@ -10794,6 +10966,8 @@ function adminBegegnungenGenerierenForm() {
} }
function adminBegegnungenGenerieren() { function adminBegegnungenGenerieren() {
//geändert am 07.03.2025 von Jürgen Meyer
$db = getDatabase(); $db = getDatabase();
$jinput = JFactory::getApplication()->input; $jinput = JFactory::getApplication()->input;
@@ -10822,24 +10996,99 @@ function adminBegegnungenGenerieren() {
} }
$teams = $db->loadObjectList(); $teams = $db->loadObjectList();
//Erstellen des Array Teams mit Überprüfung der Mannschaften
$teams_ok = true;
for ($i = 1; $i <= $anzahlteams; $i++) { for ($i = 1; $i <= $anzahlteams; $i++) {
$teamids[$i] = $jinput->get('team_id_' . $i, 0, 'INT'); $team_id_form = $jinput->get('team_id_' . $i, 0, 'INT');
if ($teamids[$i] == 0) die("Wrong id!"); if ($team_id_form == "")
{
$teams_ok = false;
}
else
{
if (!isset($teamids))
{
$teamids[$i] = $team_id_form;
}
else
{
if (!in_array($team_id_form,$teamids))
{
$teamids[$i] = $team_id_form;
}
else
{
$teams_ok = false;
}
}
}
} }
$spieltage = $anzahlteams % 2 != 0 ? $anzahlteams : $anzahlteams - 1; //Bei 1 wird nur Hinrunde gespielt, bei 2 wird Rückrunde gespielt
$runden = $jinput->get('runden', 0, 'INT');
$generierung = $jinput->get('generierung', 0, 'var');
//Bei 1 wird Datum überprüft, bei 0 nicht.
$datumscheck = $jinput->get('datumscheck', 0, 'INT');
$spieltage = $anzahlteams % 2 != 0 ? $anzahlteams : $anzahlteams - 1;
$spieltag_basis = array(); $spieltag_basis = array();
for ($i = 1; $i <= ($spieltage * 2); $i++) { for ($i = 1; $i <= ($spieltage * $runden); $i++) {
$jahr = $jinput->get('datum_jahr_' . $i, 0, 'INT'); $jahr = $jinput->get('datum_jahr_' . $i, 0, 'INT');
$kw = $jinput->get('datum_kw_' . $i, 0, 'INT'); $kw = $jinput->get('datum_kw_' . $i, 0, 'INT');
if ($jahr == 0 || $kw == 0) die("Wrong date!"); $spieltag_nr = $jinput->get('spieltag_nr_' . $i, 0, 'INT');
$startzeit = $jinput->get('startzeit_' . $i, 0, 'var');
$startzeit = UhrzeitWandlerDE($startzeit);
if (!validateDate($startzeit)){$startzeit = "";}
if ($jahr == 0 && $kw == 0) die("Wrong date!");
$spieltag_basis[$i] = array(); $spieltag_basis[$i] = array();
$spieltag_basis[$i]["jahr"] = $jahr; $spieltag_basis[$i]["jahr"] = $jahr;
$spieltag_basis[$i]["kw"] = $kw; $spieltag_basis[$i]["kw"] = $kw;
$spieltag_basis[$i]["startzeit"] = $startzeit;
$spieltag_basis[$i]["spieltag_nr"] = $spieltag_nr;
} }
$spiele = Gruppenspiele($anzahlteams % 2 != 0 ? $anzahlteams + 1 : $anzahlteams); //Überprüfung der Spieltag Nummer
$spieltage_ok = true;
foreach ($spieltag_basis as $value)
{
$spieltag_nr_form = $value["spieltag_nr"];
if ($spieltag_nr_form == "")
{
$spieltage_ok = false;
}
else
{
if (!isset($spieltage_check))
{
$spieltage_check[] = $spieltag_nr_form;
}
else
{
if (!in_array($spieltag_nr_form,$spieltage_check))
{
$spieltage_check[] = $spieltag_nr_form;
}
else
{
$spieltage_ok = false;
}
}
}
}
if ($generierung == "Setzliste")
{
//Generieren des Spielplans über Setzliste
$spiele = GruppenspieleMatrix($anzahlteams % 2 != 0 ? $anzahlteams + 1 : $anzahlteams);
}
if ($generierung == "Automatisch")
{
//Automatisches generieren des Spielplans
$spiele = Gruppenspiele($anzahlteams % 2 != 0 ? $anzahlteams + 1 : $anzahlteams);
}
$Zeile = 0;
$datumsangaben = true;
for ($spieltag = 1; $spieltag <= $spieltage; $spieltag++) { for ($spieltag = 1; $spieltag <= $spieltage; $spieltag++) {
for ($spielnr = 1; $spielnr <= ($anzahlteams % 2 != 0 ? $anzahlteams + 1 : $anzahlteams) / 2; $spielnr++) { for ($spielnr = 1; $spielnr <= ($anzahlteams % 2 != 0 ? $anzahlteams + 1 : $anzahlteams) / 2; $spielnr++) {
if ($spiele[$spieltag][$spielnr][0] > $anzahlteams || $spiele[$spieltag][$spielnr][1] > $anzahlteams) if ($spiele[$spieltag][$spielnr][0] > $anzahlteams || $spiele[$spieltag][$spielnr][1] > $anzahlteams)
@@ -10855,7 +11104,7 @@ function adminBegegnungenGenerieren() {
break; break;
} }
} }
if ($heim_team == null) die("Team id not found!"); if ($heim_team == null) continue;
$gast_team = null; $gast_team = null;
foreach ($teams as $t) { foreach ($teams as $t) {
@@ -10864,46 +11113,333 @@ function adminBegegnungenGenerieren() {
break; break;
} }
} }
if ($gast_team == null) die("Team id not found!"); if ($gast_team == null) continue;
if ($heim_team->heimspiel_wochentag == 0) if ($spieltag_basis[$spieltag]["startzeit"] != "")
$zeitpunkt = null; {
else { $zeitpunkt = $spieltag_basis[$spieltag]["startzeit"];
$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); else
{
if ($heim_team->heimspiel_wochentag == 0 OR $spieltag_basis[$spieltag]["kw"] == 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:00", $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)" $spieltag_nr = $spieltag_basis[$spieltag]["spieltag_nr"];
. "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", '$spieltag', '$heim_team_id', '$gast_team_id');"; if (!validateDate($zeitpunkt))
$db->setQuery($query); {
if (!$result = $db->execute()) { $zeitpunkt = NULL;
die($db->stderr(true)); if ($datumscheck) $datumsangaben = false;
} }
$weiterer_spieltag = $spieltag + $spieltage; $Begegnung[$Zeile]['spieltag'] = $spieltag_nr;
if ($gast_team->heimspiel_wochentag == 0) $Begegnung[$Zeile]['zeitpunkt'] = $zeitpunkt;
$zeitpunkt = null; $Begegnung[$Zeile]['heim_team_id'] = $heim_team_id;
else { $Begegnung[$Zeile]['gast_team_id'] = $gast_team_id;
$ts = getdate(mondaykw($spieltag_basis[$weiterer_spieltag]["kw"], $spieltag_basis[$weiterer_spieltag]["jahr"], $gast_team->heimspiel_wochentag - 1)); $Zeile++;
$zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($gast_team->heimspiel_uhrzeit / 100), $gast_team->heimspiel_uhrzeit % 100);
}
if ($runden == 2)
{
$weiterer_spieltag = $spieltag + $spieltage;
if ($spieltag_basis[$weiterer_spieltag]["startzeit"] != "")
{
$zeitpunkt = $spieltag_basis[$weiterer_spieltag]["startzeit"];
}
else
{
if ($gast_team->heimspiel_wochentag == 0 OR $spieltag_basis[$weiterer_spieltag]["kw"] == 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:00", $ts["year"], $ts["mon"], $ts["mday"], floor($gast_team->heimspiel_uhrzeit / 100), $gast_team->heimspiel_uhrzeit % 100);
}
}
$spieltag_nr = $spieltag_basis[$weiterer_spieltag]["spieltag_nr"];
if (!validateDate($zeitpunkt))
{
$zeitpunkt = NULL;
if ($datumscheck) $datumsangaben = false;
}
$Begegnung[$Zeile]['spieltag'] = $spieltag_nr;
$Begegnung[$Zeile]['zeitpunkt'] = $zeitpunkt;
$Begegnung[$Zeile]['heim_team_id'] = $heim_team_id;
$Begegnung[$Zeile]['gast_team_id'] = $gast_team_id;
$Zeile++;
$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); if ($datumsangaben and $teams_ok and $spieltage_ok)
{
$Zeile = 1;
$query = "INSERT INTO #__sportsmanager_begegnung (spieltag, zeitpunkt, heim_team_id, gast_team_id) VALUES ";
foreach($Begegnung as $value)
{
if ($Zeile > 1){$query .= ", ";}
$query .= "(".$value['spieltag'].",".($value['zeitpunkt'] != NULL ? "'".$value['zeitpunkt']."'" : "NULL").",".$value['heim_team_id'].",".$value['gast_team_id'].") ";
$Zeile++;
}
$query .= ";";
echo $query;
$db->setQuery($query);
if (!$result = $db->execute()) {
die($db->stderr(true));
}
else
{
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid, count($Begegnung)." ".JText::_('COM_SPORTSMANAGER_IMPORT_GROUP_GAME_CREATED'));
}
}
else
{
if (!$datumsangaben)
{
echo "<div style='background-color: red; width: 760px; color: white;'>Der Datumscheck war nicht OK!!!</div>";
}
if (!$teams_ok)
{
echo "<div style='background-color: red; width: 760px; color: white;'>Jede Mannschaft muss genau einmal existieren!!!</div>";
}
if (!$spieltage_ok)
{
echo "<div style='background-color: red; width: 760px; color: white;'>Jeder Spieltag darf nur einmal existieren!!!</div>";
}
?><a href="javascript:history.back()">Zurück</a><?php
}
} }
function adminBegegnungenImportierenForm() {
//Jürgen Meyer 07.03.2025
$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 *"
. "\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();
HTML_sportsmanager_admin::adminBegegnungenImportieren($veranstaltung, $rows);
}
function adminBegegnungenImportieren() {
//Jürgen Meyer 07.03.2025
$db = getDatabase();
global $_FILES;
$jinput = JFactory::getApplication()->input;
$import = false;
$veranstaltungid = $_POST['veranstaltung_id'];
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);
return;
}
$ansprechpartner_importieren = einstellungswert("ansprechpartner_importieren");
echo JText::_('COM_SPORTSMANAGER_IMPORT_GROUP_GAME2')." <br><br>";
$query = "SELECT team_id, teamname FROM #__sportsmanager_team 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!");
foreach ($rows as $value)
{
$Mannschaften[$value->teamname] = $value->team_id;
}
if (empty($_FILES["daten"]["tmp_name"]) || !is_uploaded_file($_FILES["daten"]["tmp_name"])) {
redirectSportsManagerURL('&task=admin_spieler', JText::_('COM_SPORTSMANAGER_NO_FILE_SPECIFIED'));
return;
}
$handle = fopen($_FILES["daten"]["tmp_name"], "r");
if (!$handle) {
redirectSportsManagerURL('&task=admin_spieler', JText::_('COM_SPORTSMANAGER_COULD_NOT_OPEN_FILE'));
return;
}
if (feof($handle)) {
redirectSportsManagerURL('&task=admin_spieler', JText::_('COM_SPORTSMANAGER_FILE_IS_EMPTY'));
return;
}
$Zeile = 1;
echo "<table border=1>";
echo "<tr style='background-color: blue; color: white;'>";
echo "<th align=center width=100px>Spieltag</th>";
echo "<th align=center width=200px>Spielstart</th>";
echo "<th align=center width=300px>Heim</th>";
echo "<th align=center width=300px>Gast</th>";
echo "</tr>";
$import = true;
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
if ($Zeile == 1)
{
$Titelzeile = array_flip($data);
}
else
{
$import_zeile = true;
$bgcolor ="green";
//$Begegnungen[$Zeile] = $data;
$Begegnung[$Zeile]['spieltag'] = $data[$Titelzeile['Spieltag_Nr']];
$Begegnung[$Zeile]['zeitpunkt'] = UhrzeitWandlerDE($data[$Titelzeile['Spielstart']]);
$Begegnung[$Zeile]['heim_team_id'] = $Mannschaften[utf8_encode($data[$Titelzeile['Heim']])];
$Begegnung[$Zeile]['gast_team_id'] = $Mannschaften[utf8_encode($data[$Titelzeile['Gast']])];
echo "<tr style='color: white;'>";
if ($Begegnung[$Zeile]['spieltag'] > 99 or $Begegnung[$Zeile]['spieltag'] < 1)
{
$bgcolor ="red";
$import = false;
}
else
{
$bgcolor ="green";
}
echo "<td align=center bgcolor=".$bgcolor.">".$data[$Titelzeile['Spieltag_Nr']]."</td>";
if (!validateDate($Begegnung[$Zeile]['zeitpunkt']))
{
$bgcolor ="red";
$import = false;
}
else
{
$bgcolor ="green";
}
echo "<td align=center bgcolor=".$bgcolor.">".$data[$Titelzeile['Spielstart']]."</td>";
if ($Begegnung[$Zeile]['heim_team_id'] == "")
{
if ($data[$Titelzeile['Heim']] == "spielfrei")
{
$bgcolor ="orange";
$import_zeile = false;
}
else
{
$bgcolor ="red";
$import = false;
}
}
else
{
$bgcolor ="green";
}
echo "<td align=center bgcolor=".$bgcolor.">".utf8_encode($data[$Titelzeile['Heim']])."</td>";
if ($Begegnung[$Zeile]['gast_team_id'] == "")
{
if ($data[$Titelzeile['Gast']] == "spielfrei")
{
$bgcolor ="orange";
$import_zeile = false;
}
else
{
$bgcolor ="red";
$import = false;
}
}
else
{
$bgcolor ="green";
}
echo "<td align=center bgcolor=".$bgcolor.">".utf8_encode($data[$Titelzeile['Gast']])."</td>";
echo "</tr>";
}
if ($import_zeile == false){unset($Begegnung[$Zeile]);}
$Zeile++;
}
echo "</table>";
fclose($handle);
if ($import == true)
{
$Zeile = 1;
$query = "INSERT INTO #__sportsmanager_begegnung (spieltag, zeitpunkt, heim_team_id, gast_team_id) VALUES ";
foreach($Begegnung as $value)
{
if ($Zeile > 1){$query .= ", ";}
$query .= "(".$value['spieltag'].",'".$value['zeitpunkt']."',".$value['heim_team_id'].",".$value['gast_team_id'].") ";
$Zeile++;
}
$query .= ";";
$db->setQuery($query);
if (!$result = $db->execute()) {
die($db->stderr(true));
}
else
{
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungid, count($Begegnung)." ".JText::_('COM_SPORTSMANAGER_IMPORT_GROUP_GAME_IMPORTED'));
}
}
else
{
echo "<br><div style='background-color: red; width: 760px; color: white;'>Die csv-Datei ist fehlerhaft und konnte nicht importiert werden! Siehe Tabelle oben!</div>";
}
?>
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm" enctype="multipart/form-data">
<input type="hidden" name="veranstaltung_id" value=<?php echo $veranstaltungid; ?> size="4"/>
<input type="submit" name="cancel" value="<?php echo JText::_('COM_SPORTSMANAGER_CANCEL'); ?>"
class="button"/>
<input type="hidden" name="task" value="admin_begegnungen_importieren"/>
</form>
<?PHP
}
function adminBegegnungenRundeErzeugenForm() { function adminBegegnungenRundeErzeugenForm() {
$db = getDatabase(); $db = getDatabase();
$jinput = JFactory::getApplication()->input; $jinput = JFactory::getApplication()->input;
$veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT'); $veranstaltungid = $jinput->get('veranstaltungid', 0, 'INT');
if ($veranstaltungid == 0) die("Missing id!"); if ($veranstaltungid == 0) die("Missing id!");
@@ -14115,6 +14651,10 @@ function adminSaveTurnierdisziplinMeldung() {
$db->setQuery( $query ); $db->setQuery( $query );
if (!$result = $db->execute()) { die($db->stderr(true)); } if (!$result = $db->execute()) { die($db->stderr(true)); }
if ($db->loadResult() > 0) { if ($db->loadResult() > 0) {
$query = "UNLOCK TABLES;";
$db->setQuery( $query );
if (!$result = $db->execute()) { die($db->stderr(true)); }
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."); 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.");
} }
} }
@@ -473,6 +473,12 @@ if ($task == "spielerbild") {
case 'admin_begegnungen_generieren': case 'admin_begegnungen_generieren':
adminBegegnungenGenerieren(); adminBegegnungenGenerieren();
break; break;
case 'admin_begegnungen_importieren_form':
adminBegegnungenImportierenForm();
break;
case 'admin_begegnungen_importieren':
adminBegegnungenImportieren();
break;
case 'admin_begegnungen_runde_erzeugen_form': case 'admin_begegnungen_runde_erzeugen_form':
adminBegegnungenRundeErzeugenForm(); adminBegegnungenRundeErzeugenForm();
break; break;
@@ -8121,18 +8127,17 @@ function teamSpielplanXML() {
function ranglistenpunkte() { function ranglistenpunkte() {
$db = & getDatabase(); $db = & getDatabase();
$jinput = JFactory::getApplication()->input;
$rangliste_id = $jinput->get('rangliste_id', 0, 'INT'); $rangliste_id = JRequest::getInt('rangliste_id', 0);
if ($rangliste_id == 0) if ($rangliste_id == 0)
die("Missing id!"); die("Missing id!");
$spieler_id = $jinput->get('spieler_id', 0, 'INT'); $spieler_id = JRequest::getInt('spieler_id', 0);
if ($spieler_id == 0) if ($spieler_id == 0)
die("Missing id!"); die("Missing id!");
$filter_saison_id = $jinput->get('filter_saison_id', 0, 'INT'); $filter_saison_id = JRequest::getInt('filter_saison_id', 0);
if ($filter_saison_id == 0) if ($filter_saison_id == 0)
$filter_saison_id = $jinput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT'); $filter_saison_id = JRequest::getInt('sportsmanager_filter_saison_id', 0, 'cookie');
$query = "SELECT saison_id, saisonbezeichnung" $query = "SELECT saison_id, saisonbezeichnung"
. "\n FROM #__sportsmanager_rangliste" . "\n FROM #__sportsmanager_rangliste"
@@ -5327,7 +5327,7 @@ class HTML_sportsmanager_admin
$lizenzen = ['A', 'B', 'C', 'D']; $lizenzen = ['A', 'B', 'C', 'D'];
foreach ($lizenzen as $lizenz) foreach ($lizenzen as $lizenz)
{ {
$checked = ($rangliste != null && is_array($lizenz) && in_array($lizenz, $rangliste->lizenzen)) ? ' checked': ''; $checked = ($rangliste != null && in_array($lizenz, $rangliste->lizenzen)) ? ' checked': '';
echo '<label><input class="uk-checkbox" name="lizenzen[]" id="lizenzen[]" value="' . $lizenz. '" type="checkbox"' . $checked. '> ' . $lizenz. '</label><br>'; echo '<label><input class="uk-checkbox" name="lizenzen[]" id="lizenzen[]" value="' . $lizenz. '" type="checkbox"' . $checked. '> ' . $lizenz. '</label><br>';
} }
?> ?>
@@ -8263,7 +8263,6 @@ class HTML_sportsmanager_admin
static function adminBegegnungen($veranstaltung, $modus, $rows) static function adminBegegnungen($veranstaltung, $modus, $rows)
{ {
global $params; global $params;
?> ?>
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo JText::_('COM_SPORTSMANAGER_ENCOUNTERS'); ?> <div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo JText::_('COM_SPORTSMANAGER_ENCOUNTERS'); ?>
'<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?> '<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?>
@@ -8284,6 +8283,9 @@ class HTML_sportsmanager_admin
<td nowrap><a <td nowrap><a
href="<?php echo SportsManagerURL('&task=admin_begegnungen_generieren_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo JText::_('COM_SPORTSMANAGER_GENERATE_GROUP_GAME'); ?></a> href="<?php echo SportsManagerURL('&task=admin_begegnungen_generieren_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo JText::_('COM_SPORTSMANAGER_GENERATE_GROUP_GAME'); ?></a>
</td> </td>
<td nowrap><a
href="<?php echo SportsManagerURL('&task=admin_begegnungen_importieren_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo JText::_('COM_SPORTSMANAGER_IMPORT_GROUP_GAME'); ?></a>
</td>
<td nowrap><a <td nowrap><a
href="<?php echo SportsManagerURL('&task=admin_begegnungen_alle_entfernen&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>" href="<?php echo SportsManagerURL('&task=admin_begegnungen_alle_entfernen&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"
onclick="return confirm('<?php echo JText::_('COM_SPORTSMANAGER_REMOVE_ALL_ENCOUNTERS'); ?>');"><?php echo JText::_('COM_SPORTSMANAGER_REMOVE_ALL_MATCHES'); ?></a> onclick="return confirm('<?php echo JText::_('COM_SPORTSMANAGER_REMOVE_ALL_ENCOUNTERS'); ?>');"><?php echo JText::_('COM_SPORTSMANAGER_REMOVE_ALL_MATCHES'); ?></a>
@@ -9283,41 +9285,126 @@ class HTML_sportsmanager_admin
static function adminBegegnungenGenerieren($veranstaltung, $rows) static function adminBegegnungenGenerieren($veranstaltung, $rows)
{ {
//geändert am 07.03.2025 von Jürgen Meyer
global $params; global $params;
$anzahlteams = count($rows); $anzahlteams = count($rows);
$jahr = $veranstaltung->erster_tag != null ? substr($veranstaltung->erster_tag, 0, 4) : 0; if ($anzahlteams % 2)
{
$rows[$anzahlteams] = (object) array('team_id' => 0,
'teamname' => 'spielfrei');
$anzahlteams = count($rows);
}
$jahr = $veranstaltung->erster_tag != null ? substr($veranstaltung->erster_tag, 0, 4) : 0;
?> ?>
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo JText::_('COM_SPORTSMANAGER_COMPETITION'); ?> <div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"
'<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?> style='background-color:#000066;width:760px;font-weight:600;text-align:center;'>
': <?php echo JText::_('COM_SPORTSMANAGER_GENERATE_ENCOUNTERS_NEXT_ROUND'); ?></div> <?php echo JText::_('COM_SPORTSMANAGER_COMPETITION'); ?>
<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?>
: <?php echo JText::_('COM_SPORTSMANAGER_GENERATE_ENCOUNTERS_NEXT_ROUND'); ?></div>
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm"> <form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
<div class="uk-overflow-auto"><table class="uk-table" width="100%"> <div class="uk-overflow-auto">
<table>
<tr> <tr>
<td nowrap width="60%" valign="top"> <td nowrap width="60%" valign="top">
<div class="uk-overflow-auto"><table class="uk-table" width="100%"> <div class="uk-overflow-auto">
<table>
<tr><td colspan=2 align=center bgcolor='#660033'><b>Grundeinstellungen</b></td></tr>
<tr>
<td>Runden</td>
<td colspan align=left>
<select class="uk-select uk-form-width-large"
name="runden" size="1" width="100"
title='Hin und R&uuml;ckrunde?&#10;Bei Nur Hinrunde gibt es kein Rückspiel.&#10;Datumsangaben für Rückrunde sind dann nicht notwendig!'>
<?php
echo "<option value=\"2\">Hin- und R&uuml;ckrunde</option>";
echo "<option value=\"1\">Nur Hinrunde</option>";
?>
</select>
</td>
</tr>
<tr>
<td>Generierung</td>
<td colspan align=left>
<select class="uk-select uk-form-width-large"
name="generierung" size="1" width="100"
title='Art der Generierung&#10;Automatisch: Begegnungen werden programmtechnisch gesetzt&#10;Setzliste: Begegnungen werden nach einer festgelegten Matrix gesetzt.'>
<?php
if ($anzahlteams <= 14)
{
echo "<option value=\"Setzliste\">Nach Setzliste</option>";
}
echo "<option value=\"Automatisch\">Automatisch</option>";
?>
</select>
</td>
</tr>
<tr>
<td>Datumscheck</td>
<td colspan align=left>
<select class="uk-select uk-form-width-large"
name="datumscheck" size="1" width="100"
title='Datumscheck'>
<?php
echo "<option value=\"1\">Auf g&uuml;ltiges Datum pr&uuml;fen</option>";
echo "<option value=\"0\">Auch ohne g&uuml;ltiges Datum Speichern</option>";
?>
</select>
</td>
</tr>
<tr><td colspan=2 align=center>&nbsp;</td></tr>
<?php <?php
$spieltage = $anzahlteams % 2 != 0 ? $anzahlteams : $anzahlteams - 1; $spieltage = $anzahlteams % 2 != 0 ? $anzahlteams : $anzahlteams - 1;
for ($spieltag = 1; $spieltag <= ($spieltage * 2); $spieltag++) for ($spieltag = 1; $spieltag <= ($spieltage * 2); $spieltag++)
{ {
if ($spieltag > $spieltage)
{
$bgcolor = "#000033";
}
else
{
$bgcolor = "#000099";
}
if ($spieltag == 1){
echo "<tr><td colspan=2 align=center bgcolor='#000099'><b>Hinrunde</b></td></tr>";
}
if ($spieltag == $spieltage + 1){
echo "<tr><td colspan=2 align=center bgcolor='#000033'><b>R&uuml;ckrunde</b> (Bei <i><u>Nur Hinrunde</u></i> sind hier keine Eingaben erforderlich)</td></tr>";
}
?> ?>
<tr>
<td nowrap width="20%" align="right"> <tr>
<td nowrap width="130px" align="center" bgcolor=<?php echo $bgcolor; ?>>
<?php echo $spieltag; ?>. <?php echo JText::_('COM_SPORTSMANAGER_GAMEDAY'); ?>: <?php echo $spieltag; ?>. <?php echo JText::_('COM_SPORTSMANAGER_GAMEDAY'); ?>:
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-xsmall"
name="datum_kw_<?php echo $spieltag; ?>" size="1"> name="spieltag_nr_<?php echo $spieltag; ?>" size="1" width="10" title='Spieltag Nummer' style='height:34px;'>
<?php
echo "<option value=\"".$spieltag."\">".$spieltag."</option>";
for ($i = 1; $i <= 99; $i++)
{
echo "<option value=\"" . $i . "\">" . $i . "</option>";
}
?>
</select>
<select class="uk-select uk-form-width-small"
name="datum_kw_<?php echo $spieltag; ?>" size="1"
title='Kalenderwoche&#10;Hierf&uuml;r muss bei Heimmmannschaft eine Heimspielzeit hinterlegt sein!'
style='height:34px;'>
<?php <?php
echo "<option value=\"0\"></option>"; echo "<option value=\"0\"></option>";
for ($i = 1; $i <= 53; $i++) for ($i = 0; $i <= 53; $i++)
{ {
echo "<option value=\"" . $i . "\">" . JText::_('COM_SPORTSMANAGER_CALENDAR_WEEK_SHORTCUT') . " " . $i . "</option>"; echo "<option value=\"" . $i . "\">" . JText::_('COM_SPORTSMANAGER_CALENDAR_WEEK_SHORTCUT') . " " . $i . "</option>";
} }
?> ?>
</select> </select>
<input name="startzeit_<?php echo $spieltag; ?>" class="uk-input uk-form-width-medium"
title='Startzeit&#10;Format TT.MM.JJJJ hh:mm:ss&#10;oder YYYY-MM-DD hh:mm:ss&#10;&#10;Dieses Feld hat Vorrang vor Kalenderwoche!'
style='height:34px;'>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-medium"
name="datum_jahr_<?php echo $spieltag; ?>" size="1"> name="datum_jahr_<?php echo $spieltag; ?>" size="1" title='Saison' style='height:34px;'>
<?php <?php
echo "<option value=\"0\"></option>"; echo "<option value=\"0\"></option>";
for ($i = Date("Y") + 5; $i >= 2000; $i--) for ($i = Date("Y") + 5; $i >= 2000; $i--)
@@ -9330,34 +9417,40 @@ class HTML_sportsmanager_admin
</tr> </tr>
<?php <?php
} }
echo "<tr><td colspan=2 align=center>&nbsp;</td></tr>";
echo "<tr><td colspan=2 align=center bgcolor='#660033'
title='Setzliste bzw. Erste Paarung&#10;Automatisch: Spiele sind die die erste Begegnungen in der Saison&#10;Setzliste: Mannschaften werden in eine Spielmatrix gesetzt&#10;Manschaften aud 1/2 bzw. 3/4 bzw. 5/6 usw. haben nie gleichzeitg Heimrecht!'><b>Setzliste bzw. Erste Paarung</b></td></tr>";
for ($teamnr = 1; $teamnr <= $anzahlteams; $teamnr += 2) for ($teamnr = 1; $teamnr <= $anzahlteams; $teamnr += 2)
{ {
?> ?>
<tr> <tr>
<td nowrap width="20%" align="right"> <td nowrap align="center">
<?php echo $teamnr != $anzahlteams ? (($teamnr + 1) / 2 . ". " . JText::_('COM_SPORTSMANAGER_PAIRING')) : JText::_('COM_SPORTSMANAGER_INTERMITTENT'); ?> <?php echo JText::_('COM_SPORTSMANAGER_SETTING')." (".$teamnr."/".($teamnr+1).")"; ?>
: :
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-medium" style='width:300px;height:34px;'
name="team_id_<?php echo $teamnr; ?>" size="1"> name="team_id_<?php echo $teamnr; ?>" size="1">
<?php <?php
echo "<option value=\"0\"></option>"; echo "<option value=\"".$rows[$teamnr-1]->team_id."\">".$rows[$teamnr-1]->teamname."</option>";
foreach ($rows as $team) foreach ($rows as $team)
{
echo "<option value=\"" . $team->team_id . "\">" . htmlentities_utf8($team->teamname) . "</option>"; echo "<option value=\"" . $team->team_id . "\">" . htmlentities_utf8($team->teamname) . "</option>";
}
?> ?>
</select> </select>
<?php <?php
if ($teamnr != $anzahlteams) if ($teamnr != count($rows))
{ {
?> ?>
vs. <select class="uk-select uk-form-width-medium" / <select class="uk-select uk-form-width-medium" style='width:300px;height:34px;'
name="team_id_<?php echo $teamnr + 1; ?>" size="1"> name="team_id_<?php echo $teamnr + 1; ?>" size="1">
<?php <?php
echo "<option value=\"0\"></option>"; echo "<option value=\"".$rows[$teamnr]->team_id."\">".$rows[$teamnr]->teamname."</option>";
foreach ($rows as $team) foreach ($rows as $team)
{
echo "<option value=\"" . $team->team_id . "\">" . htmlentities_utf8($team->teamname) . "</option>"; echo "<option value=\"" . $team->team_id . "\">" . htmlentities_utf8($team->teamname) . "</option>";
}
?> ?>
</select> </select>
<?php <?php
@@ -9376,15 +9469,68 @@ class HTML_sportsmanager_admin
</table></div> </table></div>
</td> </td>
</tr> </tr>
</table></div> </table>
</div>
<input type="submit" name="save" value="<?php echo JText::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/> <input type="submit" name="save" value="<?php echo JText::_('COM_SPORTSMANAGER_GENERATE_GROUP_GAME'); ?>" class="button"/>
<input type="submit" name="cancel" value="<?php echo JText::_('COM_SPORTSMANAGER_CANCEL'); ?>" <input type="submit" name="cancel" value="<?php echo JText::_('COM_SPORTSMANAGER_CANCEL'); ?>"
class="button"/> class="button"/>
<input type="hidden" name="task" value="admin_begegnungen_generieren"/> <input type="hidden" name="task" value="admin_begegnungen_generieren"/>
<input type="hidden" name="veranstaltungid" value="<?php echo $veranstaltung->veranstaltung_id; ?>"/> <input type="hidden" name="veranstaltungid" value="<?php echo $veranstaltung->veranstaltung_id; ?>"/>
<input type="hidden" name="anzahlteams" value="<?php echo $anzahlteams; ?>"/> <input type="hidden" name="anzahlteams" value="<?php echo $anzahlteams; ?>"/>
</form> </form>
<a target='top' href="\components\com_sportsmanager\views\sportsmanager\hilfe_gruppenspiele_erzeugen.pdf">Kleine Anleitung</a>
<?php
}
static function adminBegegnungenImportieren($veranstaltung, $rows)
{
//Jürgen Meyer 07.03.2025
global $params;
?>
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"
style='background-color: blue; width: 500px; color: white;'>
<?php echo JText::_('COM_SPORTSMANAGER_Import_GROUP_GAME2'); ?>&nbsp;
<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?></div>
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"
style='background-color:#0066CC; width: 500px; white: black;font-size: 12px;'>
Die Datei muss die Spalten Spieltag_Nr;Spielstart;Heim;Gast enthalten!<br>
Die Daten müssen mit Semikolon getrennt sein<br>
Die Spieltag_Nr muss eine Zahl zwischen 1 und 99 sein!<br>
Spielstart muss das Format TT.MM.JJJJ hh:mm:ss oder YYYY-MM-DD hh:mm:ss haben!<br>
Die Mannschaften Heim und Gast m&uuml;ssen in der Gruppe enthalten sein!
</div>
<div class="uk-overflow-auto"><table width=500px>
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm"
enctype="multipart/form-data">
<tr>
<td nowrap width="60%" valign="top">
<table class="uk-table">
<tr>
<td nowrap width="20%" align="right">
<?php echo JText::_('COM_SPORTSMANAGER_ENCOUNTERS'); ?>:
</td>
<td nowrap>
<input type="file" name="daten" size="30"/>
</td>
<td nowrap>
<input type="hidden" name="veranstaltung_id" value=<?php echo htmlentities_utf8($veranstaltung->veranstaltung_id); ?> size="4"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
<input type="submit" name="save" value="<?php echo JText::_('COM_SPORTSMANAGER_IMPORT'); ?>"
class="button"/>
<input type="submit" name="cancel" value="<?php echo JText::_('COM_SPORTSMANAGER_CANCEL'); ?>"
class="button"/>
<input type="hidden" name="task" value="admin_begegnungen_importieren"/>
</form>
</div>
<?php <?php
} }
@@ -9619,7 +9765,8 @@ class HTML_sportsmanager_admin
{ {
global $params; global $params;
?> ?>
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo JText::_('COM_SPORTSMANAGER_INDIVIDUAL_COMPETITION'); ?> <div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>">
<?php echo JText::_('COM_SPORTSMANAGER_INDIVIDUAL_COMPETITION'); ?>
: <?php echo($row != null ? JText::_('COM_SPORTSMANAGER_CHANGING') : JText::_('COM_SPORTSMANAGER_ADD')); ?></div> : <?php echo($row != null ? JText::_('COM_SPORTSMANAGER_CHANGING') : JText::_('COM_SPORTSMANAGER_ADD')); ?></div>
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm"> <form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
@@ -649,6 +649,10 @@ COM_SPORTSMANAGER_IMAGE_WITHIN_TEAM="Bild innerhalb Mannschaft"
COM_SPORTSMANAGER_ADD_MEETING="Begegnung hinzuf&uuml;gen" COM_SPORTSMANAGER_ADD_MEETING="Begegnung hinzuf&uuml;gen"
COM_SPORTSMANAGER_ROUND_GENERATION="Runde erzeugen" COM_SPORTSMANAGER_ROUND_GENERATION="Runde erzeugen"
COM_SPORTSMANAGER_GENERATE_GROUP_GAME="Gruppenspiele erzeugen" COM_SPORTSMANAGER_GENERATE_GROUP_GAME="Gruppenspiele erzeugen"
COM_SPORTSMANAGER_IMPORT_GROUP_GAME="Gruppenspiele importieren"
COM_SPORTSMANAGER_IMPORT_GROUP_GAME2="Gruppenspiele: Importieren"
COM_SPORTSMANAGER_IMPORT_GROUP_GAME_IMPORTED="Begegnungen wurden importiert"
COM_SPORTSMANAGER_IMPORT_GROUP_GAME_CREATED="Begegnungen wurden erstellt"
COM_SPORTSMANAGER_REMOVE_ALL_ENCOUNTERS="Willst du wirklich alle Begegnungen entfernen?" COM_SPORTSMANAGER_REMOVE_ALL_ENCOUNTERS="Willst du wirklich alle Begegnungen entfernen?"
COM_SPORTSMANAGER_REMOVE_ALL_MATCHES="Alle Begegnungen entfernen" COM_SPORTSMANAGER_REMOVE_ALL_MATCHES="Alle Begegnungen entfernen"
COM_SPORTSMANAGER_HOME_TEAM="Heimteam" COM_SPORTSMANAGER_HOME_TEAM="Heimteam"
@@ -694,6 +698,7 @@ COM_SPORTSMANAGER_NUMBER_DAYS="%d Tage"
COM_SPORTSMANAGER_CALENDAR_WEEK="Kalenderwoche" COM_SPORTSMANAGER_CALENDAR_WEEK="Kalenderwoche"
COM_SPORTSMANAGER_CALENDAR_WEEK_SHORTCUT="KW" COM_SPORTSMANAGER_CALENDAR_WEEK_SHORTCUT="KW"
COM_SPORTSMANAGER_PAIRING="Paarung" COM_SPORTSMANAGER_PAIRING="Paarung"
COM_SPORTSMANAGER_SETTING="Setzen"
COM_SPORTSMANAGER_PAIRINGS="Paarungen" COM_SPORTSMANAGER_PAIRINGS="Paarungen"
COM_SPORTSMANAGER_INTERMITTENT="Aussetzend" COM_SPORTSMANAGER_INTERMITTENT="Aussetzend"
COM_SPORTSMANAGER_MAXIMUM_SETS="S&auml;tze maximal" COM_SPORTSMANAGER_MAXIMUM_SETS="S&auml;tze maximal"
@@ -649,6 +649,10 @@ COM_SPORTSMANAGER_IMAGE_WITHIN_TEAM="Image within team"
COM_SPORTSMANAGER_ADD_MEETING="Add match" COM_SPORTSMANAGER_ADD_MEETING="Add match"
COM_SPORTSMANAGER_ROUND_GENERATION="Generate round" COM_SPORTSMANAGER_ROUND_GENERATION="Generate round"
COM_SPORTSMANAGER_GENERATE_GROUP_GAME="Generate group games" COM_SPORTSMANAGER_GENERATE_GROUP_GAME="Generate group games"
COM_SPORTSMANAGER_Import_GROUP_GAME="Import group games"
COM_SPORTSMANAGER_Import_GROUP_GAME2="Group games: Import"
COM_SPORTSMANAGER_IMPORT_GROUP_GAME_IMPORTED="matches were imported"
COM_SPORTSMANAGER_IMPORT_GROUP_GAME_CREATED="matches were created"
COM_SPORTSMANAGER_REMOVE_ALL_ENCOUNTERS="Do you really want to remove all matches?" COM_SPORTSMANAGER_REMOVE_ALL_ENCOUNTERS="Do you really want to remove all matches?"
COM_SPORTSMANAGER_REMOVE_ALL_MATCHES="Remove all matches" COM_SPORTSMANAGER_REMOVE_ALL_MATCHES="Remove all matches"
COM_SPORTSMANAGER_HOME_TEAM="Home team" COM_SPORTSMANAGER_HOME_TEAM="Home team"
@@ -694,6 +698,7 @@ COM_SPORTSMANAGER_NUMBER_DAYS="%d days"
COM_SPORTSMANAGER_CALENDAR_WEEK="Calendar week" COM_SPORTSMANAGER_CALENDAR_WEEK="Calendar week"
COM_SPORTSMANAGER_CALENDAR_WEEK_SHORTCUT="CW" COM_SPORTSMANAGER_CALENDAR_WEEK_SHORTCUT="CW"
COM_SPORTSMANAGER_PAIRING="Fixture" COM_SPORTSMANAGER_PAIRING="Fixture"
COM_SPORTSMANAGER_SETTING="Setting"
COM_SPORTSMANAGER_PAIRINGS="Fixtures" COM_SPORTSMANAGER_PAIRINGS="Fixtures"
COM_SPORTSMANAGER_INTERMITTENT="Skipping" COM_SPORTSMANAGER_INTERMITTENT="Skipping"
COM_SPORTSMANAGER_MAXIMUM_SETS="Maximum sets" COM_SPORTSMANAGER_MAXIMUM_SETS="Maximum sets"