static function readBool($file, $offset) { if (CLMSWT::readInt($file, $offset, 1) == 255) { return true; } elseif (CLMSWT::readInt($file, $offset, 1) == 0) { return false; } else { // Standardwert, wenn nicht = 00 oder FF return false; } }
function import() { //Name der zu l�schenden Datei wird geladen $filename = JRequest::getVar('swt_file', '', 'post', 'string'); //SWT-Verzeichnis $path = JPATH_COMPONENT . DS . "swt" . DS; if ($filename != "" && file_exists($path . $filename)) { return CLMSWT::readInt($path . $filename, 606, 1); } else { return -1; } }
function _getDataSWTspl($during_store = 0) { if ($this->debug_ausgaben > 0) { echo "in _getDataSWTspl ()<br/>"; } if (!empty($this->_swt_data_spl)) { return $this->_swt_data_spl; } jimport('joomla.filesystem.file'); // Namen und Verzeichnis der SWT-Datei auslesen $filename = JRequest::getVar('swt', '', 'default', 'string'); $path = JPATH_COMPONENT . DIRECTORY_SEPARATOR . "swt" . DIRECTORY_SEPARATOR; $swt = $path . $filename; // Aktuell zu bearbeitende(r) Paarung, Runde und Durchgang $par = JRequest::getVar('par', 0, 'default', 'int'); $runde = JRequest::getVar('runde', 0, 'default', 'int'); $dgang = JRequest::getVar('dgang', 0, 'default', 'int'); $mturnier = JRequest::getVar('mturnier', 0, 'default', 'int'); $ungerade = JRequest::getVar('ungerade', false, 'default', 'bool'); $noOrgReference = JRequest::getVar('noOrgReference', '0', 'default', 'string'); $noBoardResults = JRequest::getVar('noBoardResults', '0', 'default', 'string'); // schon gespeicherte SWT-Daten aus der DB holen $swt_db_data = $this->getDataSWTdb(); $anz_mannschaften = $swt_db_data['anz_mannschaften']; $anz_bretter = $swt_db_data['anz_bretter']; $anz_durchgaenge = $swt_db_data['anz_durchgaenge']; $anz_runden = $swt_db_data['anz_runden']; $ausgeloste_runden = CLMSWT::readInt($swt, 5); $anz_spieler = CLMSWT::readInt($swt, 7, 2); if ($this->debug_ausgaben > 1) { echo "anz_spieler: {$anz_spieler}<br/>"; } $anz_paarungen = ceil($anz_mannschaften / 2); $offset_runde = ($dgang * $anz_runden + $runde) * 19; $offset = 13384 + $offset_runde; if ($this->debug_ausgaben > 1) { echo "dgang: {$dgang}<br/>"; echo "anz_runden: {$anz_runden}<br/>"; echo "runde: {$runde}<br/>"; echo "offset_runde: {$offset_runde}<br/>"; echo "offset: {$offset}<br/>"; } $abstand = $anz_durchgaenge * $anz_runden * 19; // SWT-Mannschaftsdaten $swt_man = $this->_getDataSWTman(); // Spielerpaarungen $spieler = $swt_db_data['spieler']; if ($this->debug_ausgaben > 1) { echo "spieler: "; var_dump($spieler); echo "<br>"; for ($s = 1; $s <= count($spieler); $s++) { echo "<br>spieler-s: " . $s . " "; var_dump($spieler[$s - 1]); } } unset($swt_data); // ACHTUNG!! vor der Schleife keine Werte einfügen!! $tln_paarung = array(); for ($s = 1; $s <= $anz_spieler; $s++) { if (isset($spieler[$s - 1])) { // echo "<br>spieler-s: ".$s." "; var_dump($spieler[$s-1]); echo "<br>"; if ($this->debug_ausgaben > 1) { echo "offset: {$offset}<br/>"; } $swtfarbe = CLMSWT::readInt($swt, $offset + 8); if ($swtfarbe == 1) { $farbe = 'w'; $gegfarbe = 's'; } elseif ($swtfarbe == 3) { $farbe = 's'; $gegfarbe = 'w'; } else { $farbe = ''; $gegfarbe = ''; } $gegner = CLMSWT::readInt($swt, $offset + 9, 2); //if (!empty ($gegner) && $mturnier != 1) { // // bei Ligen ist der Gegner mit einem Offset von 230 gespeichert // $gegner -= 230; //} $ergebnis = CLMSWT::readInt($swt, $offset + 11); //$paarung = CLMSWT::readInt ($swt, $offset + 13); $paarung = 0; // leider war die Paarungsnummer in Einzelergebnissen nicht immer korrekt auch wenn eingetragen // deshalb wird diese ignoriert und die Paarung aus den Mannschaftsergebnissen verwendet if ($paarung > 0) { $tln_paarung[$spieler[$s - 1]->tln_nr] = $paarung; } else { if (isset($tln_paarung[$spieler[$s - 1]->tln_nr])) { $paarung = $tln_paarung[$spieler[$s - 1]->tln_nr]; } } if ($paarung == 0 and isset($spieler[$s - 1]->tln_nr) and $spieler[$s - 1]->tln_nr > 0) { for ($ip = 1; $ip <= count($swt_man); $ip++) { if (!isset($swt_man[$ip]['heim']) or !isset($swt_man[$ip]['gast'])) { break; } if ($spieler[$s - 1]->tln_nr == $swt_man[$ip]['heim'] or $spieler[$s - 1]->tln_nr == $swt_man[$ip]['gast']) { $paarung = $ip; } if ($paarung > 0) { break; } } } if ($paarung != 0) { $attribut = CLMSWT::readInt($swt, $offset + 15); if ($attribut == 34 or $attribut == 2) { $kampflos = 2; } else { $kampflos = 0; } $spielfrei = $attribut == 3 || $attribut == 51; $brett = CLMSWT::readInt($swt, $offset + 18); $mannschaft = $spieler[$s - 1]->tln_nr; if ($gegner > 0 and isset($spieler[$gegner - 1])) { $gegner_mannschaft = $spieler[$gegner - 1]->tln_nr; } else { $gegner_mannschaft = 0; } if (empty($paarung)) { for ($p = 1; $p <= $anz_paarungen; $p++) { $heim = $swt_man[$p]['heim']; $gast = $swt_man[$p]['gast']; if ($gegner_mannschaft == $heim) { $paarung = $p; $mannschaft = $gast; break; } if ($gegner_mannschaft == $gast) { $paarung = $p; $mannschaft = $heim; break; } } } if ($this->debug_ausgaben > 5) { echo "<pre>leere_bretter[{$mannschaft}]: "; print_r($leere_bretter[$mannschaft]); echo "</pre>"; } if (isset($leere_bretter[$mannschaft])) { // es gibt leere Bretter (vorher!) if ($this->debug_ausgaben > 1) { echo "es gibt leere Bretter"; } $verschieben = 0; foreach ($leere_bretter[$mannschaft] as $leeres_brett) { if ($leeres_brett < $brett) { $verschieben++; } } $brett -= $verschieben; } if ($spielfrei) { // spielfrei //echo "attribut: $attribut"; $leere_bretter[$mannschaft][] = $brett; $brett = $anz_bretter + count($leere_bretter[$mannschaft]); } if ($this->debug_ausgaben > 2) { echo "<pre>paarung, brett, spieler, mannschaft, ergebnis: {$paarung}, {$brett}, {$s}, {$mannschaft}, {$ergebnis}<br/>"; echo "offset: {$offset}"; for ($ofi = 0; $ofi <= 18; $ofi++) { $byte_value = CLMSWT::readInt($swt, $offset + $ofi); if (!empty($byte_value)) { echo " swtfile byte {$ofi}: {$byte_value}<br/>"; } } echo "</pre>"; } /* if ($paarung == 0) { // Fallback für falsch (?) abgespeicherte Paarungsnummer 00 in SWT-Datei // echo "offset: $offset "; //DBG if ($gegner != 0) { $geg_id = $spieler[$gegner-1]->id; if ($brett != 0) { for ($p = 1; $p <= $anz_paarungen; $p++) { $heimspieler = $swt_data[$p]['hbrett_'.$brett]; $gastspieler = $swt_data[$p]['gbrett_'.$brett]; if ($heimspieler == $geg_id || $gastspieler == $geg_id) { $paarung = $p; // $tmp_erg[$paarung][$brett][] = end ($tmp_erg[0][$brett]); } } } else { // Brettnummer ist ebenfalls 00 in der SWT-Datei for ($p = 1; $p <= $anz_paarungen; $p++) { for ($b = 1; $b <= $anz_bretter; $b++) { $heimspieler = $swt_data[$p]['hbrett_'.$brett]; $gastspieler = $swt_data[$p]['gbrett_'.$brett]; if ($heimspieler == $geg_id || $gastspieler == $geg_id) { $paarung = $p; $brett = $b; // $tmp_erg[$paarung][$brett][] = end ($tmp_erg[0][0]); } } } } //$heim = $swt_man[$paarung]['heim']; //$gast = $swt_man[$paarung]['gast']; } unset ($tmp_erg[0]); // echo "<br/>paarung neu: $paarung"; //DBG // echo "heim: $heim, gast: $gast, "; //DBG // echo "mannschaft: $mannschaft"; //DBG } */ } if ($paarung != 0) { $offsets[$paarung][$brett][] = $offset; // Heim- und Gastmannschaft setzen $heim = $swt_man[$paarung]['heim']; $gast = $swt_man[$paarung]['gast']; if ($this->debug_ausgaben > 2) { echo "<pre>paarung, brett, spieler: {$paarung}, {$brett}, {$s} -- ergebnis, attribut, kampflos: {$ergebnis}, {$attribut}, {$kampflos}<br/>"; echo "</pre>"; } if ($noBoardResults == '0') { // Einzelergebnis speichern if ($ergebnis == 0) { $teil_erg = '?'; $trenn = ''; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 1 && $kampflos == 0) { $teil_erg = '0'; $trenn = '-'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 2 && $kampflos == 0) { $teil_erg = '0,5'; $trenn = '-'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 3 && $kampflos == 0) { $teil_erg = '1'; $trenn = '-'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 4 && $kampflos == 0) { $teil_erg = '?'; $trenn = ''; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 5 && $kampflos == 0) { $teil_erg = '0'; $trenn = '-'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 6 && $kampflos == 0) { $teil_erg = '0,5'; $trenn = '-'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 7 && $kampflos == 0) { $teil_erg = '1'; $trenn = '-'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 8 && $kampflos == 0) { $teil_erg = '?'; $trenn = ''; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 9 && $kampflos == 0) { $teil_erg = '0'; $trenn = '-'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 10 && $kampflos == 0) { $teil_erg = '0,5'; $trenn = '-'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 11 && $kampflos == 0) { $teil_erg = '1'; $trenn = '-'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 12 && $kampflos == 0) { $teil_erg = '?'; $trenn = ''; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 13 && $kampflos == 0) { $teil_erg = '0'; $trenn = '-'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 14 && $kampflos == 0) { $teil_erg = '0,5'; $trenn = '-'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 15 && $kampflos == 0) { $teil_erg = '1'; $trenn = '-'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 1 && $kampflos == 2) { $teil_erg = '-'; $trenn = '/'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 3 && $kampflos == 2) { $teil_erg = '+'; $trenn = '/'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 5 && $kampflos == 2) { $teil_erg = '-'; $trenn = '/'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 10 && $kampflos == 2) { $teil_erg = '-'; $trenn = '/'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 13 && $kampflos == 2) { $teil_erg = '-'; $trenn = '/'; $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 15 && $kampflos == 2) { $teil_erg = '+'; $trenn = '/'; $teil_ergk = ''; $trennk = ''; } else { $teil_erg = '?'; $trenn = ''; $teil_ergk = ''; $trennk = ''; } // Mannschaftsergebnis speichern if ($teil_erg != '?') { if ($ergebnis == 0) { $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 1 && $kampflos == 0) { $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 2 && $kampflos == 0) { $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 3 && $kampflos == 0) { $teil_ergk = ''; $trennk = ''; } elseif ($ergebnis == 4 && $kampflos == 0) { $teil_ergk = '0'; $trennk = '-'; } elseif ($ergebnis == 5 && $kampflos == 0) { $teil_ergk = '0'; $trennk = '-'; } elseif ($ergebnis == 6 && $kampflos == 0) { $teil_ergk = '0.5'; $trennk = '-'; } elseif ($ergebnis == 7 && $kampflos == 0) { $teil_ergk = '0'; $trennk = '-'; } elseif ($ergebnis == 8 && $kampflos == 0) { $teil_ergk = '0,5'; $trennk = '-'; } elseif ($ergebnis == 9 && $kampflos == 0) { $teil_ergk = '0,5'; $trennk = '-'; } elseif ($ergebnis == 10 && $kampflos == 0) { $teil_ergk = '0,5'; $trennk = '-'; } elseif ($ergebnis == 11 && $kampflos == 0) { $teil_ergk = '0,5'; $trennk = '-'; } elseif ($ergebnis == 12 && $kampflos == 0) { $teil_ergk = '1'; $trennk = '-'; } elseif ($ergebnis == 13 && $kampflos == 0) { $teil_ergk = '1'; $trennk = '-'; } elseif ($ergebnis == 14 && $kampflos == 0) { $teil_ergk = '1'; $trennk = '-'; } elseif ($ergebnis == 15 && $kampflos == 0) { $teil_ergk = '1'; $trennk = '-'; } elseif ($ergebnis == 1 && $kampflos == 2) { $teil_ergk = '-'; $trennk = '/'; } elseif ($ergebnis == 3 && $kampflos == 2) { $teil_ergk = ''; $trennk = '/'; } elseif ($ergebnis == 5 && $kampflos == 2) { $teil_ergk = '-'; $trennk = '/'; } elseif ($ergebnis == 10 && $kampflos == 2) { $teil_ergk = '-'; $trennk = '/'; } elseif ($ergebnis == 13 && $kampflos == 2) { $teil_ergk = ''; $trennk = '/'; } elseif ($ergebnis == 15 && $kampflos == 2) { $teil_ergk = '+'; $trennk = '/'; } else { $teil_ergk = ''; $trennk = ''; } //if ($ergebnis >= 8 AND $ergebnis <=11) $emsum = .5; //elseif ($ergebnis >= 12 AND $ergebnis <=15) $emsum = 1; //else $emsum = 0; } //else { if ($ergebnis == 2 or $ergebnis == 6 or $ergebnis == 10 or $ergebnis == 14) { $emsum = 0.5; } elseif ($ergebnis == 3 or $ergebnis == 7 or $ergebnis == 11 or $ergebnis == 15) { $emsum = 1; } else { $emsum = 0; } //} } if ($ergebnis >= 8 and $ergebnis <= 11) { $mmsum = 0.5; } elseif ($ergebnis >= 12 and $ergebnis <= 15) { $mmsum = 1; } else { $mmsum = 0; } if ($noBoardResults == '0') { $tmp_erg[$paarung][$brett][] = $teil_erg; if (!isset($tmp_trenn[$paarung][$brett]) or $tmp_trenn[$paarung][$brett] == '-') { $tmp_trenn[$paarung][$brett] = $trenn; } $tmp_ergk[$paarung][$brett][] = $teil_ergk; if (!isset($tmp_trennk[$paarung][$brett]) or $tmp_trennk[$paarung][$brett] == '-') { $tmp_trennk[$paarung][$brett] = $trennk; } //if (!isset ($swt_data[$paarung]['hbrett_'.$brett])) { if (!isset($swt_data[$paarung]['hbrett_' . $brett]) and !isset($swt_data[$paarung]['gbrett_' . $brett])) { if ($mannschaft == $heim) { $swt_data[$paarung]['hfarbe_' . $brett] = $farbe; $swt_data[$paarung]['gfarbe_' . $brett] = $gegfarbe; if ($ergebnis != 0) { $swt_data[$paarung]['hbrett_' . $brett] = $spieler[$s - 1]->id; } else { $swt_data[$paarung]['hbrett_' . $brett] = 0; } if (isset($spieler[$gegner - 1])) { $swt_data[$paarung]['gbrett_' . $brett] = $spieler[$gegner - 1]->id; } else { $swt_data[$paarung]['gbrett_' . $brett] = 0; } $heim_erg[$paarung][$brett] = $teil_erg; if (!isset($swt_data[$paarung]['hemsum'])) { $swt_data[$paarung]['hemsum'] = 0; } $swt_data[$paarung]['hemsum'] += $emsum; $heim_ergk[$paarung][$brett] = $teil_ergk; if (!isset($swt_data[$paarung]['hmmsum'])) { $swt_data[$paarung]['hmmsum'] = 0; } $swt_data[$paarung]['hmmsum'] += $mmsum; } elseif ($mannschaft == $gast) { $swt_data[$paarung]['hfarbe_' . $brett] = $gegfarbe; $swt_data[$paarung]['gfarbe_' . $brett] = $farbe; if (isset($spieler[$gegner - 1])) { $swt_data[$paarung]['hbrett_' . $brett] = $spieler[$gegner - 1]->id; } else { $swt_data[$paarung]['hbrett_' . $brett] = 0; } if ($ergebnis != 0) { $swt_data[$paarung]['gbrett_' . $brett] = $spieler[$s - 1]->id; } else { $swt_data[$paarung]['gbrett_' . $brett] = 0; } $gast_erg[$paarung][$brett] = $teil_erg; if (!isset($swt_data[$paarung]['gemsum'])) { $swt_data[$paarung]['gemsum'] = 0; } $swt_data[$paarung]['gemsum'] += $emsum; $gast_ergk[$paarung][$brett] = $teil_ergk; if (!isset($swt_data[$paarung]['gmmsum'])) { $swt_data[$paarung]['gmmsum'] = 0; } $swt_data[$paarung]['gmmsum'] += $mmsum; } // echo "p,s,b: $paarung,$s,$brett "; //DBG } else { // ggf. noch prüfen ob konsistent mit den zuvor eingelesenen Daten // ... if ($mannschaft == $heim) { //$swt_data[$paarung]['hfarbe_'.$brett] = $farbe; $erg_str[$paarung][$brett] = $tmp_erg[$paarung][$brett][1] . $trenn . $tmp_erg[$paarung][$brett][0]; if (!isset($swt_data[$paarung]['hemsum'])) { $swt_data[$paarung]['hemsum'] = 0; } $swt_data[$paarung]['hemsum'] += $emsum; $erg_strk[$paarung][$brett] = $tmp_ergk[$paarung][$brett][1] . $trennk . $tmp_ergk[$paarung][$brett][0]; if (!isset($swt_data[$paarung]['hmmsum'])) { $swt_data[$paarung]['hmmsum'] = 0; } $swt_data[$paarung]['hmmsum'] += $mmsum; } elseif ($mannschaft == $gast) { //$swt_data[$paarung]['gfarbe_'.$brett] = $farbe; $erg_str[$paarung][$brett] = $tmp_erg[$paarung][$brett][0] . $trenn . $tmp_erg[$paarung][$brett][1]; if (!isset($swt_data[$paarung]['gemsum'])) { $swt_data[$paarung]['gemsum'] = 0; } $swt_data[$paarung]['gemsum'] += $emsum; $erg_strk[$paarung][$brett] = $tmp_ergk[$paarung][$brett][0] . $trennk . $tmp_ergk[$paarung][$brett][1]; if (!isset($swt_data[$paarung]['gmmsum'])) { $swt_data[$paarung]['gmmsum'] = 0; } $swt_data[$paarung]['gmmsum'] += $mmsum; } // else { //DBG // echo "offset: $offset"; //DBG // } //DBG } } if ($noBoardResults == '1') { if ($mannschaft == $heim) { if (!isset($swt_data[$paarung]['hmmsum'])) { $swt_data[$paarung]['hmmsum'] = 0; } $swt_data[$paarung]['hmmsum'] += $mmsum; } elseif ($mannschaft == $gast) { if (!isset($swt_data[$paarung]['gmmsum'])) { $swt_data[$paarung]['gmmsum'] = 0; } $swt_data[$paarung]['gmmsum'] += $mmsum; } } } // ENDE if ($paarung != 0) } $offset += $abstand; } if ($noBoardResults == '0') { for ($p = 1; $p <= $anz_paarungen; $p++) { // bei ungerader Mannschaftsanzahl: spielfreie Paarung korrigieren /* if ($ungerade && $p == $anz_paarungen) { for ($b = 1; $b <= $anz_bretter; $b++) { if ($mturnier == 0) { // in einer vollrundigen Liga spielfrei $erg_str[$p][$b] = 'spielfrei'; } else { // sonst kampfloser Sieg +/- $erg_str[$p][$b] = '+/-'; } } } */ $erg_string_default = '---'; $erg_string_switch = 0; for ($b = 1; $b <= $anz_bretter; $b++) { if (isset($erg_str[$p][$b])) { $erg_string = $erg_str[$p][$b]; $fixed[$p][$b] = ''; } else { if (isset($heim_erg[$p][$b])) { switch ($heim_erg[$p][$b]) { case '0': $erg_string = '0-1'; break; case '0,5': $erg_string = '0,5-0,5'; break; case '1': $erg_string = '1-0'; break; case '-': if ($tmp_trenn[$p][$b] == '-') { $erg_string = '---'; } else { $erg_string = '-/+'; } break; case '+': $erg_string = '+/-'; break; case '': $erg_string = 'spielfrei'; break; default: $erg_string = '---'; break; } } elseif (isset($gast_erg[$p][$b])) { switch ($gast_erg[$p][$b]) { case '0': $erg_string = '1-0'; break; case '0,5': $erg_string = '0,5-0,5'; break; case '1': $erg_string = '0-1'; break; case '-': if ($tmp_trenn[$p][$b] == '-') { $erg_string = '---'; } else { $erg_string = '+/-'; } break; case '+': $erg_string = '-/+'; break; case '': $erg_string = 'spielfrei'; break; default: $erg_string = '---'; break; } } else { $erg_string = '---'; } if (isset($erg_str[$p][$b])) { $fixed[$p][$b] = ' (war: ' . $erg_str[$p][$b] . ')'; } else { $fixed[$p][$b] = ' (war: leer )'; } $erg_str[$p][$b] = $erg_string; } if ($erg_string != $erg_string_default) { $erg_string_switch = 1; } elseif ($erg_string_switch == 1) { $erg_string = '-/-'; } // aus --- wird -/- $sql = ' SELECT eid FROM #__clm_ergebnis' . ' WHERE erg_text = "' . $erg_string . '"'; $objs = $this->_getList($sql); if (!isset($objs[0])) { $erg_id = 7; } else { $erg_id = $objs[0]->eid; } $swt_data[$p]['ergstr_' . $b] = $erg_string; $swt_data[$p]['erg_' . $b] = $erg_id; } } //echo "<br>korr: "; for ($p = 1; $p <= $anz_paarungen; $p++) { $erg_string_default = '---'; $erg_string_switch = 0; for ($b = 1; $b <= $anz_bretter; $b++) { //echo "<br>erg_strk[$p][$b] ".$erg_strk[$p][$b]." heim_ergk[$p][$b] ".$heim_ergk[$p][$b]." gast_ergk[$p][$b] ".$heim_ergk[$p][$b]; if (isset($erg_strk[$p][$b])) { $erg_string = $erg_strk[$p][$b]; $fixedk[$p][$b] = ''; } else { if (isset($heim_ergk[$p][$b])) { switch ($heim_ergk[$p][$b]) { case '-': if ($tmp_trennk[$p][$b] == '-') { $erg_string = '---'; } else { $erg_string = '-/+'; } break; case '+': $erg_string = '+/-'; break; case '': $erg_string = ''; break; default: $erg_string = '---'; break; } } elseif (isset($gast_ergk[$p][$b])) { switch ($gast_ergk[$p][$b]) { case '-': if ($tmp_trennk[$p][$b] == '-') { $erg_string = '---'; } else { $erg_string = '+/-'; } break; case '+': $erg_string = '-/+'; break; case '': $erg_string = ''; break; default: $erg_string = '---'; break; } } else { $erg_string = ''; } if (isset($erg_strk[$p][$b])) { $fixedk[$p][$b] = ' (war: ' . $erg_strk[$p][$b] . ')'; } else { $fixedk[$p][$b] = ' (war: leer )'; } $erg_strk[$p][$b] = $erg_string; } if ($erg_string != $erg_string_default) { $erg_string_switch = 1; } elseif ($erg_string_switch == 1) { $erg_string = '-/-'; } // aus --- wird -/- if ($swt_data[$p]['ergstr_' . $b] == $erg_string) { $erg_string = ''; } if ($erg_string == '1-0') { $erg_string = '+/-'; } if ($erg_string == '0-1') { $erg_string = '-/+'; } $swt_data[$p]['ergstrk_' . $b] = $erg_string; $sql = ' SELECT eid FROM #__clm_ergebnis' . ' WHERE erg_text = "' . $erg_string . '"'; $objs = $this->_getList($sql); if (isset($objs[0])) { $erg_id = $objs[0]->eid; } else { $erg_id = ''; } $swt_data[$p]['ergk_' . $b] = $erg_id; //echo "<br>swt_data[$p][ergstrk_$b] ".$swt_data[$p]['ergstrk_'.$b]." "."swt_data[$p][ergk_$b] ".$swt_data[$p]['ergk_'.$b]; } } } if ($this->debug_ausgaben > 2) { echo "<pre>swt_data in getDataSWTspl (): "; print_r($swt_data); echo "</pre>"; } if ($this->debug_ausgaben > -1 && $during_store == 0) { $swt_id = JRequest::getVar('swt_id', 0, 'default', 'int'); $sql = ' SELECT name FROM #__clm_swt_mannschaften' . ' WHERE swt_id = "' . $swt_id . '"' . ' ORDER BY tln_nr ASC'; $tmp_man = $this->_getList($sql); $sql2 = ' SELECT d.Spielername as name, m.id as id, m.snr as snr' . ' FROM #__clm_dwz_spieler as d' . ' LEFT JOIN #__clm_swt_meldeliste_spieler as m' . ' ON m.zps = d.ZPS AND m.mgl_nr = d.Mgl_Nr' . ' WHERE swt_id = "' . $swt_id . '"'; $tmp_spl = $this->_getList($sql2); echo "<br/><br/>"; for ($p = 1; $p <= $anz_paarungen; $p++) { $heim_name = $tmp_man[$swt_man[$p]['heim'] - 1]->name; $gast_name = $tmp_man[$swt_man[$p]['gast'] - 1]->name; echo "<table class='sjnrw_table'>"; echo "<tr><td colspan=6>Paarung {$p}</td></tr>"; echo "<tr><td></td>"; echo "<td>" . $swt_man[$p]['heim'] . "</td><td>" . $heim_name . "</td>"; echo "<td>" . $swt_man[$p]['gast'] . "</td><td>" . $gast_name . "</td>"; echo "<td>Ergebnis</td></tr>"; echo "<br><br>p {$p}:"; var_dump($swt_man[$p]); if ($noBoardResults == '0') { for ($b = 1; $b <= $anz_bretter; $b++) { foreach ($tmp_spl as $spl) { if ($spl->id == $swt_data[$p]['hbrett_' . $b]) { $hname = $spl->name; $hnr = $spl->snr; } elseif ($spl->id == $swt_data[$p]['gbrett_' . $b]) { $gname = $spl->name; $gnr = $spl->snr; } if (isset($gname) && isset($hname)) { break; } } echo "<tr>"; echo "<td>{$b}</td>"; echo "<td>" . $swt_data[$p]['hbrett_' . $b] . "</td><td>" . $hnr . " - " . $hname . "</td>"; echo "<td>" . $swt_data[$p]['gbrett_' . $b] . "</td><td>" . $gnr . " - " . $gname . "</td>"; echo "<td>" . $erg_str[$p][$b] . $fixed[$p][$b] . " swt_data: "; echo $swt_data[$p]['ergstr_' . $b] . " (" . $swt_data[$p]['erg_' . $b] . ")</td>"; echo "<td>" . $erg_strk[$p][$b] . $fixedk[$p][$b] . " swt_data: "; echo $swt_data[$p]['ergstrk_' . $b] . " (" . $swt_data[$p]['ergk_' . $b] . ")</td>"; echo "<td>" . $offsets[$p][$b][0] . ", " . $offsets[$p][$b][1] . "</td>"; echo "</tr>"; unset($hname); unset($gname); } } echo "</table>"; echo "<br/><br/>"; } } $this->_swt_data_spl = $swt_data; return $this->_swt_data_spl; }
function _calculateDurchgang($rnd) { jimport('joomla.filesystem.file'); //Name und Verzeichnis der SWT-Datei $filename = JRequest::getVar('swt', '', 'post', 'string'); $path = JPATH_COMPONENT . DIRECTORY_SEPARATOR . "swt" . DIRECTORY_SEPARATOR; $swt = $path . $filename; //Einstellungen zur Berechnung auslesen $anz_runden = CLMSWT::readInt($swt, 1, 2); $dg = 1; while ($rnd > $anz_runden) { $rnd -= $anz_runden; $dg += 1; } return $dg; }
function getDataSWT() { jimport('joomla.filesystem.file'); $mturnier = JRequest::getVar('mturnier', '0', 'default', 'int'); // Namen und Verzeichnis der SWT-Datei auslesen $filename = JRequest::getVar('swt', '', 'default', 'string'); $path = JPATH_COMPONENT . DIRECTORY_SEPARATOR . 'swt' . DIRECTORY_SEPARATOR; $swt = $path . $filename; // Allgemeine Turnierdaten //$swt_data['liga_name'] = $this->_SWTReadName ($swt, 245, 60); $swt_data['liga_name'] = utf8_encode($this->_SWTReadName($swt, 245, 60)); $swt_data['anz_mannschaften'] = $this->_SWTReadInt($swt, 602); $swt_data['anz_bretter'] = $this->_SWTReadInt($swt, 604); $swt_data['anz_spieler'] = $this->_SWTReadInt($swt, 1327); $swt_data['anz_ersatz'] = $swt_data['anz_spieler'] - $swt_data['anz_bretter']; $swt_data['anz_runden'] = $this->_SWTReadInt($swt, 1); $swt_data['durchgang'] = $this->_SWTReadInt($swt, 598); $swt_data['anz_durchgaenge'] = $this->_SWTReadInt($swt, 599); $swt_data['heimrecht_vertauscht'] = $this->_SWTReadBool($swt, 1329); //echo '<br>liganame: '.$swt_data['liga_name']; //echo '<br>amannschaften: '.$swt_data['anz_mannschaften']; //echo '<br>abretter: '.$swt_data['anz_bretter']; //echo '<br>aspieler: '.$swt_data['anz_spieler']; //echo '<br>aersatz: '.$swt_data['anz_ersatz']; //echo '<br>arunden: '.$swt_data['anz_runden']; //echo '<br>durchgang: '.$swt_data['durchgang']; //echo '<br>adurchg: '.$swt_data['anz_durchgaenge']; //echo '<br>hrvtauscht: '.$swt_data['heimrecht_vertauscht'].'<br>'; if ($mturnier == 1) { //echo "mturnier<br/>"; $swt_data['anz_mannschaften'] = CLMSWT::readInt($swt, 1332); //echo "anz_mannschaften: "; //echo $swt_data['anz_mannschaften']; } // Rundenmodus $swt_modus = CLMSWT::readInt($swt, 596); $clm_modus = array(3, 1, 4, 4); /* SWT -> CLM (Beschreibung) 0 -> 3 Schweizer System 1 -> 1 vollrundig nach FIDE -> 2 vollrundig mit zentr. Endrunde 2 -> 4 KO (1. Rnd Schweizer System) 3 -> 4 KO (ohne Schweizer System) */ if ($swt_modus >= count($clm_modus)) { $swt_modus = 1; // vollrundig als Standard } $swt_data['runden_modus'] = $clm_modus[$swt_modus]; //echo "runden_modus: ".$swt_data['runden_modus']; // Ergebniswertung $swt_einzelwertung = $this->_SWTReadInt($swt, 1336); $swt_data['std_wertung'] = false; switch ($swt_einzelwertung) { case 0: $swt_data['std_wertung'] = true; break; case 1: $punkte = array(3, 1, 0, 0); break; case 2: // Remis weiss = 1, schwarz = 1.5 $punkte = array(3, 1.5, 0, 0); // da im CLM nicht moeglich break; case 3: // Punkte schwarz werden ignoriert, da im CLM nicht moeglich! $sieg = $this->_SWTReadInt($swt, 5494); $remis = $this->_SWTReadInt($swt, 5498); $verlust = $this->_SWTReadInt($swt, 5502); $nichtantritt = $this->_SWTReadInt($swt, 5506); $antritt = $verlust - $nichtantritt; $punkte = array($sieg, $remis, $verlust, $nichtantritt); break; } // wenn keine Standard-Wertung, dann Punkte berechnen if ($swt_data['std_wertung'] == false) { // SWT-Punkte $sieg = $punkte[0]; $remis = $punkte[1]; $verlust = $punkte[2]; $nichtantritt = $punkte[3]; // CLM-Punkte berechnen $swt_data['antrittspunkte'] = $antritt; $swt_data['verlustpunkte'] = $verlust - $antritt; // = $nichtantritt; $swt_data['remispunkte'] = $remis - $antritt; $swt_data['siegpunkte'] = $sieg - $antritt; } // Mannschaftsergebniswertung $swt_mannschaftswertung = $this->_SWTReadInt($swt, 1338); $swt_data['man_std_wertung'] = false; $man_antritt = 0; switch ($swt_mannschaftswertung) { case 0: $swt_data['man_std_wertung'] = true; break; case 1: $man_punkte = array(3, 1, 0, 0); break; case 2: $man_sieg = $this->_SWTReadInt($swt, 5514); $man_remis = $this->_SWTReadInt($swt, 5518); $man_verlust = $this->_SWTReadInt($swt, 5522); $man_nichtantritt = $this->_SWTReadInt($swt, 5526); $man_antritt = $man_verlust - $man_nichtantritt; $man_punkte = array($man_sieg, $man_remis, $man_verlust, $man_nichtantritt); break; } // wenn keine Standard-Wertung, dann Punkte berechnen if ($swt_data['man_std_wertung'] == false) { // SWT-Punkte $man_sieg = $man_punkte[0]; $man_remis = $man_punkte[1]; $man_verlust = $man_punkte[2]; $man_nichtantritt = $man_punkte[3]; // CLM-Punkte berechnen $swt_data['man_antrittspunkte'] = $man_antritt; $swt_data['man_verlustpunkte'] = $man_verlust - $man_antritt; // = $man_nichtantritt; $swt_data['man_remispunkte'] = $man_remis - $man_antritt; $swt_data['man_siegpunkte'] = $man_sieg - $man_antritt; } // Siegbedingungen $sieg_bed = $this->_SWTReadInt($swt, 623); $swt_data['sieg_bed'] = 1; // Mannschaft mit meisten BP gewinnt if ($sieg_bed == 1) { // Mindespunktzahl (mehr als die Haelfte der moeglichen Punkte) muss erreicht werden $swt_data['sieg_bed'] = 2; } // Feinwertungen if ($swt_data['runden_modus'] == 3) { // Schweizer System $man_zweit = $this->_SWTReadInt($swt, 613); $man_dritt = $this->_SWTReadInt($swt, 615); } else { $man_zweit = $this->_SWTReadInt($swt, 614); $man_dritt = $this->_SWTReadInt($swt, 616); } /* SWT -> CLM (Beschreibung) 2 -> 5 Brettpunkte 3 -> 1 Buchholz > 11 Buchholz (1 Streichergebnis) 4 -> 2 Buchholz-Summe ( 5 -> 3 Sonneborn-Berger bis 2014 ) 5 -> 23 Sonneborn-Berger 14 -> 4 Anzahl der Siege 15 -> 25 Direkter Vergleich 16 -> 6 Berliner Wertung 18 -> 6 Berliner Wertung (dir. Vergleich) */ $clm_fein = array(0 => 0, 2 => 5, 3 => 1, 4 => 2, 5 => 23, 14 => 4, 15 => 25, 16 => 6, 18 => 6); $swt_data['tiebr1'] = $clm_fein[$man_zweit]; $swt_data['tiebr2'] = $clm_fein[$man_dritt]; $swt_data['tiebr3'] = 0; // Berliner Wertung if ($man_zweit == 16 || $man_dritt == 16) { // Berliner Wertung $swt_data['b_wertung'] = 3; } elseif ($man_zweit == 18 || $man_dritt == 18) { // Berliner Wertung (dir. Vergleich) $swt_data['b_wertung'] = 4; } else { $swt_data['b_wertung'] = 0; } return $swt_data; }
function getDataSWT() { if (!empty($this->_swt_data)) { return $this->_swt_data; } jimport('joomla.filesystem.file'); // Namen und Verzeichnis der SWT-Datei auslesen $filename = JRequest::getVar('swt', '', 'default', 'string'); $path = JPATH_COMPONENT . DIRECTORY_SEPARATOR . 'swt' . DIRECTORY_SEPARATOR; $swt = $path . $filename; // Aktuell zu bearbeitende Mannschaft $man = JRequest::getVar('man', 0, 'default', 'int'); // ... //$swt_data['liga_name'] = $this->_SWTReadName ($swt, 245, 60); // schon gespeicherte SWT-Daten aus der DB holen $swt_db_data = $this->getDataSWTdb(); $anz_mannschaften = $swt_db_data['anz_mannschaften']; $anz_bretter = $swt_db_data['anz_bretter']; $anz_durchgaenge = $swt_db_data['anz_durchgaenge']; $anz_runden = $swt_db_data['anz_runden']; $anz_spieler = CLMSWT::readInt($swt, 7, 2); // Offset berechnen $offset_rundaten = $anz_spieler * $anz_durchgaenge * $anz_runden * 19; $offset_mandaten = $anz_mannschaften * $anz_durchgaenge * $anz_runden * 19; $offset_spldaten = $anz_spieler * 655; // Mannschaft auslesen $offset = 13384 + $offset_rundaten + $offset_mandaten + $offset_spldaten; $swt_data['man_name'] = ''; for ($m = 1; $m <= $anz_mannschaften; $m++) { $man_nr = CLMSWT::readInt($swt, $offset + 201); if ($man_nr == $man + 1) { // nur aktuelle Mannschaft betrachten $swt_data['man_name'] = CLMSWT::readString($swt, $offset, 32); break; } $offset += 655; } // Spieler auslesen $offset = 13384 + $offset_rundaten + $offset_mandaten; $i = 1; $swt_data['zps'] = ''; $swt_data['sg_zps'] = ''; JRequest::setVar('filter_zps', $swt_data['zps']); JRequest::setVar('filter_sg_zps', $swt_data['sg_zps']); for ($s = 1; $s <= $anz_spieler; $s++) { $man_nr = CLMSWT::readInt($swt, $offset + 201); if ($man_nr == $man + 1) { // nur Spieler der aktuellen Mannschaft betrachten if (!isset($swt_data['zps']) or $swt_data['zps'] == '') { // einmalig die Mannschaftsdaten setzen $swt_data['zps'] = CLMSWT::readString($swt, $offset + 153, 5); //$swt_data['man_name'] = CLMSWT::readString ($swt, $offset + 33, 32); if (!empty($swt_data['zps']) && JRequest::getVar('filter_zps', '', 'default', 'string') == '') { JRequest::setVar('filter_zps', $swt_data['zps']); } } $zps_act = CLMSWT::readString($swt, $offset + 153, 5); //if (($swt_data['zps'] != $zps_act) AND (strpos($swt_data['sg_zps'],$zps_act) === false)) { if (isset($zps_act) and $zps_act != '' and $swt_data['zps'] != $zps_act and strpos($swt_data['sg_zps'], $zps_act) === false) { if ($swt_data['sg_zps'] == '') { $swt_data['sg_zps'] = $zps_act; } else { $swt_data['sg_zps'] .= ',' . $zps_act; } //if (($swt_data['sg_zps'] != '') && (JRequest::getVar ('filter_sg_zps', '', 'default', 'string') == '')) { JRequest::setVar('filter_sg_zps', $swt_data['sg_zps']); //echo "<br>sg_zps: "; var_dump($swt_data['sg_zps']); $this->_spielerliste = array(); //} } $i = CLMSWT::readInt($swt, $offset + 203); $swt_data['spieler_' . $i]['name'] = CLMSWT::readString($swt, $offset, 32); $swt_data['spieler_' . $i]['zps'] = CLMSWT::readString($swt, $offset + 153, 5); $swt_data['spieler_' . $i]['mgl_nr'] = CLMSWT::readString($swt, $offset + 159, 4); $dwzid = $this->findPlayerID($swt_data['spieler_' . $i]); $swt_data['spieler_' . $i]['dwzid'] = $dwzid; $swt_data['spieler_' . $i]['brett'] = CLMSWT::readInt($swt, $offset + 203); $spielerid[$swt_data['spieler_' . $i]['brett']] = $s; //$i += 1; } $offset += 655; } JRequest::setVar('spielerid', $spielerid); $swt_data['anz_spieler'] = $anz_spieler; $this->_swt_data = $swt_data; return $this->_swt_data; }
function _getAnzTeilnehmer() { jimport('joomla.filesystem.file'); //Name und Verzeichnis der SWT-Datei $filename = JRequest::getVar('swt', '', 'post', 'string'); $path = JPATH_COMPONENT . DIRECTORY_SEPARATOR . "swt" . DIRECTORY_SEPARATOR; $swt = $path . $filename; //Array f�r JObjects erzeugen; $this->_teilnehmer = array(); //Einstellungen zur Berechnung des offset auslesen $anz_teilnehmer = CLMSWT::readInt($swt, 7, 2); $anz_runden = CLMSWT::readInt($swt, 1, 2); $anz_durchgaenge = CLMSWT::readInt($swt, 599, 1); $aktuelle_runde = CLMSWT::readInt($swt, 3, 2); $aktueller_durchgang = CLMSWT::readInt($swt, 598, 1); $ausgeloste_runden = CLMSWT::readInt($swt, 5, 2); $modus = $this->_calculateCLMModus(CLMSWT::readInt($swt, 596, 1)); //offset f�r Teilnehmerdaten berechnen if ($aktuelle_runde != 0) { //Turnier ist bereits angefangen if ($modus == 2) { //Vollrundig $offset = 13384 + $anz_teilnehmer * $anz_runden * $anz_durchgaenge * 19; } else { $offset = 13384 + $anz_teilnehmer * $anz_runden * 19; } } else { //Turnier ist noch nicht angefangen $offset = 13384; } //Spielerdaten werden aus SWT-Datei gelesen und in einem Array von JObjects gespeichert $i = 1; $anz_teilnehmer_clm = 0; while ($i <= $anz_teilnehmer) { if (CLMSWT::readInt($swt, $offset + 189, 1) == 102) { //techn. Teilnehmer -spielfrei- in SWT } else { $anz_teilnehmer_clm++; } //Offset und index f�r n�chsten Teilnehmer erh�hen $offset += 655; $i++; } return $anz_teilnehmer_clm; }
function getDataSWT() { if (empty($this->_swt_data)) { jimport('joomla.filesystem.file'); // Namen und Verzeichnis der SWT-Datei auslesen $filename = JRequest::getVar('swt', '', 'default', 'string'); $path = JPATH_COMPONENT . DIRECTORY_SEPARATOR . "swt" . DIRECTORY_SEPARATOR; $swt = $path . $filename; $swt_data['gesp_runden'] = CLMSWT::readInt($swt, 3); // Rundentermine $j = 0; for ($ii = 0; $ii < 40; $ii++) { $test = 'datum' . $ii; $d1 = $this->_SWTReadInt($swt, 11457 + $j); $d2 = $this->_SWTReadInt($swt, 11457 + $j + 1); $hh = $this->_SWTReadInt($swt, 11457 + $j + 2); $mm = $this->_SWTReadInt($swt, 11457 + $j + 3); $j += 4; $lt = $d1 + $d2 * 256; if ($lt > 0) { $rdate = date_create('1899-12-30'); $ltstring = $lt . " days"; //date_add($rdate, date_interval_create_from_date_string($ltstring)); // for >= php 5.3.0 date_modify($rdate, '+' . $lt . ' days'); // for >= php 5.2.0 too $swt_data['runden_datum'][$ii + 1] = date_format($rdate, 'Y-m-d'); $swt_data['runden_beginn'][$ii + 1] = sprintf('%02d', $hh) . ':' . sprintf('%02d', $mm) . ':00'; } } $this->_swt_data = $swt_data; } return $this->_swt_data; }
function store() { $db = JFactory::getDBO(); //Name und Verzeichnis der SWT-Datei $filename = JRequest::getVar('swt', '', 'post', 'string'); $path = JPATH_COMPONENT . DIRECTORY_SEPARATOR . "swt" . DIRECTORY_SEPARATOR; $swt = $path . $filename; //Teilnehmerzahl auslesen $anz_teilnehmer = CLMSWT::readInt($swt, 7, 2); if ($anz_teilnehmer > 0) { $insert_query = "INSERT IGNORE INTO \r\n\t\t\t\t\t\t\t\t\t#__clm_swt_turniere_tlnr" . " \r\n\t\t\t\t\t\t\t\t\t( `sid`, `turnier`, `swt_tid`, `snr`, `name`, `birthYear`, `geschlecht`, `tlnrStatus`, `verein`, `twz`, `start_dwz`, `FIDEelo`, `titel`, `FIDEcco`, `FIDEid`, `mgl_nr`, `zps`, `status`) " . " \tVALUES"; print JRequest::getVar('snr[1]'); $pfirst = JRequest::getVar('pfirst', '', 'post', 'int'); $plast = JRequest::getVar('plast', '', 'post', 'int'); $i = 1; $name = JRequest::getVar('name'); while ($i <= $anz_teilnehmer) { if ($i >= $pfirst and $i <= $plast) { if (isset($name[$i])) { $zpscode = CLMSWT::getFormValue('zps', '', 'string', $i); if ($zpscode == '' or $zpscode == 0) { $zpscode = CLMSWT::getFormValue('zps_z', '', 'string', $i); } $insert_query .= " ( \r\n\t\t\t\t\t\t\t\t\t\t" . CLMSWT::getFormValue('sid', null, 'int') . ", \r\n\t\t\t\t\t\t\t\t\t\t" . CLMSWT::getFormValue('tid', null, 'int') . ", \r\n\t\t\t\t\t\t\t\t\t\t" . CLMSWT::getFormValue('swt_tid', null, 'int') . ", \r\n\t\t\t\t\t\t\t\t\t\t" . CLMSWT::getFormValue('snr', null, 'int', $i) . ", \r\n\t\t\t\t\t\t\t\t\t\t'" . CLMSWT::getFormValue('name', '', 'string', $i) . "',\r\n\t\t\t\t\t\t\t\t\t\t" . CLMSWT::getFormValue('birthYear', 0, 'int', $i) . ", \r\n\t\t\t\t\t\t\t\t\t\t'" . CLMSWT::getFormValue('geschlecht', '', 'string', $i) . "', \r\n\t\t\t\t\t\t\t\t\t\t" . CLMSWT::getFormValue('tlnrStatus', 0, 'int', $i) . ",\r\n\t\t\t\t\t\t\t\t\t\t'" . CLMSWT::getFormValue('verein', '', 'string', $i) . "',\r\n\t\t\t\t\t\t\t\t\t\t" . CLMSWT::getFormValue('twz', 0, 'int', $i) . ", \r\n\t\t\t\t\t\t\t\t\t\t" . CLMSWT::getFormValue('start_dwz', 0, 'int', $i) . ", \r\n\t\t\t\t\t\t\t\t\t\t" . CLMSWT::getFormValue('FIDEelo', 0, 'int', $i) . ", \r\n\t\t\t\t\t\t\t\t\t\t'" . CLMSWT::getFormValue('title', '', 'string', $i) . "', \r\n\t\t\t\t\t\t\t\t\t\t'" . CLMSWT::getFormValue('FIDEcco', '', 'string', $i) . "',\r\n\t\t\t\t\t\t\t\t\t\t" . CLMSWT::getFormValue('FIDEid', 0, 'int', $i) . ", \r\n\t\t\t\t\t\t\t\t\t\t" . CLMSWT::getFormValue('mgl_nr', 0, 'int', $i) . ", \r\n\t\t\t\t\t\t\t\t\t\t'" . $zpscode . "', \r\n\t\t\t\t\t\t\t\t\t\t" . "0" . " \r\n\t\t\t\t\t\t\t\t\t),"; } } $i++; } $insert_query = substr($insert_query, 0, -1); $insert_query .= ";"; //print $insert_query; $db->setQuery($insert_query); if ($db->query()) { //Daten wurden erfolgreich in die Datenbank geschrieben return true; } else { if ($db->getErrorNum() == 1062) { //Seite wurde aktualisiert (F5) und Daten stehen schon in der Datenbank return true; } else { //Ein Fehler ist aufgetreten return false; print $db->getErrorMsg(); } } } else { //Keine Spieler vorhanden return true; } }