Exemplo n.º 1
0
 function getTurnier()
 {
     function check_date($date, $format, $sep)
     {
         $pos1 = strpos($format, 'd');
         $pos2 = strpos($format, 'm');
         $pos3 = strpos($format, 'Y');
         $check = explode($sep, $date);
         return checkdate($check[$pos2], $check[$pos1], $check[$pos3]);
     }
     if (empty($this->_turnier)) {
         //Name und Verzeichnis der SWT-Datei
         $filename = JRequest::getVar('swt', '', 'post', 'string');
         $path = JPATH_COMPONENT . DIRECTORY_SEPARATOR . "swt" . DIRECTORY_SEPARATOR;
         $swt = $path . $filename;
         //JObject wird erzeugt und mit Turnierdaten erweitert
         $this->_turnier = new JObject();
         //
         //Turnierdaten, die nicht aus der SWT-Datei importiert werden
         //
         //Standartwerte
         $this->_turnier->set('tid', 0);
         //$this->_turnier->set('sid'				, $this->_getAktuelleSaison());
         $this->_turnier->set('sid', clm_core::$access->getSeason());
         $this->_turnier->set('dateStart', NULL);
         $this->_turnier->set('dateEnd', NULL);
         $this->_turnier->set('catidAlltime', 0);
         $this->_turnier->set('catidEdition', 0);
         $this->_turnier->set('tl', NULL);
         $this->_turnier->set('bezirk', NULL);
         $this->_turnier->set('bezirkTur', 1);
         $this->_turnier->set('vereinZPS', 0);
         $this->_turnier->set('published', 1);
         $this->_turnier->set('bem_int', '');
         $this->_turnier->set('bemerkungen', '');
         $this->_turnier->set('started', 0);
         $this->_turnier->set('finished', 0);
         $this->_turnier->set('invitationText', '');
         $this->_turnier->set('ordering', 0);
         $this->_turnier->set('params', '');
         //Name
         if (($name = CLMSWT::readName($swt, 245, 60)) != '') {
             $this->_turnier->set('name', $name);
         } else {
             $this->_turnier->set('name', $filename);
         }
         //Mit Daten aus Datenbank �berschreiben, falls ein Turnier geupdated wird
         if (JRequest::getInt('update') == 1) {
             $turnierFromDatabase = $this->_getTurnierFromDatabase();
         }
         //
         // Daten aus der SWT-Datei
         //
         //Modus
         $this->_turnier->set('modus', $this->_calculateCLMModus(CLMSWT::readInt($swt, 596, 1)));
         //rnd
         if (CLMSWT::readInt($swt, 3, 2) == 0) {
             $this->_turnier->set('rnd', 0);
         } else {
             $this->_turnier->set('rnd', 1);
         }
         //Anz. Runden und Anz. Durchg�nge
         $this->_turnier->set('runden', CLMSWT::readInt($swt, 1, 2));
         $this->_turnier->set('dg', CLMSWT::readInt($swt, 599, 1));
         //Anz. der Teilnehmer
         //$this->_turnier->set('teil'			, CLMSWT::readInt($swt,7,2));
         $this->_turnier->set('teil', $this->_getAnzTeilnehmer());
         //Turnierdatum
         if (($tdatum = CLMSWT::readName($swt, 1055, 20)) != '') {
             $hdatum = substr($tdatum, 6, 4) . '-' . substr($tdatum, 3, 2) . '-' . substr($tdatum, 0, 2);
             if (check_date($hdatum, "Ymd", "-")) {
                 $this->_turnier->set('dateStart', $hdatum);
             }
         }
         if (($tdatum = CLMSWT::readName($swt, 1076, 20)) != '') {
             $hdatum = substr($tdatum, 6, 4) . '-' . substr($tdatum, 3, 2) . '-' . substr($tdatum, 0, 2);
             if (check_date($hdatum, "Ymd", "-")) {
                 $this->_turnier->set('dateEnd', $hdatum);
             }
         }
         //Feinwertung
         $anzStreichwertungen = CLMSWT::readInt($swt, 9, 1);
         if ($this->_turnier->modus == 2) {
             //Vollrundig
             $anzStreichwertungen = 0;
         }
         if ($this->_turnier->modus == 1) {
             $feinwertung1 = CLMSWT::readInt($swt, 621, 1);
             $feinwertung2 = CLMSWT::readInt($swt, 572, 1);
         } elseif ($this->_turnier->modus == 2) {
             $feinwertung1 = CLMSWT::readInt($swt, 622, 1);
             $feinwertung2 = CLMSWT::readInt($swt, 573, 1);
         } else {
             $this->_turnier->set('tiebr1', 0);
             $this->_turnier->set('tiebr2', 0);
             $this->_turnier->set('tiebr3', 0);
         }
         if ($this->_turnier->modus == 1 or $this->_turnier->modus == 2) {
             if ($feinwertung1 == 3 and $anzStreichwertungen != 1) {
                 //Buchholz
                 $this->_turnier->set('tiebr1', 1);
             } elseif ($feinwertung1 == 3 and $anzStreichwertungen == 1) {
                 //Buchholz mit 1 Streichergebnis
                 $this->_turnier->set('tiebr1', 11);
             } elseif ($feinwertung1 == 7 and $anzStreichwertungen != 1) {
                 //Buchholzsumme
                 $this->_turnier->set('tiebr1', 2);
             } elseif ($feinwertung1 == 7 and $anzStreichwertungen == 1) {
                 //Buchholzsumme mit 1 Streichergebnis
                 $this->_turnier->set('tiebr1', 12);
             } elseif ($feinwertung1 == 4) {
                 //Summenwertung
                 $this->_turnier->set('tiebr1', 7);
             } elseif ($feinwertung1 == 5 and $anzStreichwertungen != 1) {
                 //Sonneborn-Berger
                 $this->_turnier->set('tiebr1', 3);
             } elseif ($feinwertung1 == 5 and $anzStreichwertungen == 1) {
                 //Sonneborn-Berger mit 1 Streichergebnis
                 $this->_turnier->set('tiebr1', 13);
             } elseif ($feinwertung1 == 6 and $anzStreichwertungen == 0) {
                 //mittlere Buchholz
                 $this->_turnier->set('tiebr1', 5);
             } elseif ($feinwertung1 == 8) {
                 //Elo-Schnitt
                 $this->_turnier->set('tiebr1', 6);
             } elseif ($feinwertung1 == 14) {
                 //Anz. der Siege
                 $this->_turnier->set('tiebr1', 4);
             } elseif ($feinwertung1 == 15) {
                 //Direkter Vergleich
                 $this->_turnier->set('tiebr1', 25);
             } else {
                 $this->_turnier->set('tiebr1', 0);
             }
             if ($feinwertung2 == 3 and $anzStreichwertungen != 1) {
                 //Buchholz
                 $this->_turnier->set('tiebr2', 1);
             } elseif ($feinwertung2 == 3 and $anzStreichwertungen == 1) {
                 //Buchholz mit 1 Streichergebnis
                 $this->_turnier->set('tiebr2', 11);
             } elseif ($feinwertung2 == 7 and $anzStreichwertungen != 1) {
                 //Buchholzsumme
                 $this->_turnier->set('tiebr2', 2);
             } elseif ($feinwertung2 == 7 and $anzStreichwertungen == 1) {
                 //Buchholzsumme mit 1 Streichergebnis
                 $this->_turnier->set('tiebr2', 12);
             } elseif ($feinwertung2 == 4) {
                 //Summenwertung
                 $this->_turnier->set('tiebr2', 7);
             } elseif ($feinwertung2 == 5 and $anzStreichwertungen != 1) {
                 //Sonneborn-Berger
                 $this->_turnier->set('tiebr2', 3);
             } elseif ($feinwertung2 == 5 and $anzStreichwertungen == 1) {
                 //Sonneborn-Berger mit 1 Streichergebnis
                 $this->_turnier->set('tiebr2', 13);
             } elseif ($feinwertung1 == 6 and $anzStreichwertungen == 0) {
                 //mittlere Buchholz
                 $this->_turnier->set('tiebr2', 5);
             } elseif ($feinwertung2 == 8) {
                 //Elo-Schnitt
                 $this->_turnier->set('tiebr2', 6);
             } elseif ($feinwertung2 == 14) {
                 //Anz. der Siege
                 $this->_turnier->set('tiebr2', 4);
             } elseif ($feinwertung2 == 15) {
                 //Direkter Vergleich
                 $this->_turnier->set('tiebr2', 25);
             } else {
                 $this->_turnier->set('tiebr2', 0);
             }
             if (CLMSWT::readBool($swt, 593) and $this->_turnier->modus != 2) {
                 $this->_turnier->set('tiebr3', 4);
             } else {
                 $this->_turnier->set('tiebr3', 0);
             }
         }
         //Ranglistenkorrektur
         $this->_turnier->set('optionTiebreakersFideCorrect', CLMSWT::readBool($swt, 675));
         //TWZ-Einstellung
         $twz = CLMSWT::readInt($swt, 582, 1);
         if ($twz == 0) {
             $this->_turnier->set('useAsTWZ', 2);
         } elseif ($twz == 1) {
             $this->_turnier->set('useAsTWZ', 1);
         } elseif ($twz == 2) {
             $this->_turnier->set('useAsTWZ', 0);
         }
         /*Parameter
         		$turParams->get('optionTiebreakersFideCorrect',0);
         		$turParams->get('useAsTWZ', 0);
         		$turParams->get('qualiUp', 0);
         		$turParams->get('qualiUpPoss', 0);
         		$turParams->get('qualiDown', 0);
         		$turParams->get('qualiDownPoss', 0);
         		$turParams->get('addCatToName', 0);
         		$turParams->get('displayRoundDate', 1);
         		$turParams->get('displayPlayerSnr', 1);
         		$turParams->get('displayPlayerTitle', 1);
         		$turParams->get('displayPlayerClub', 1);
         		$turParams->get('displayPlayerRating', 0);
         		$turParams->get('displayPlayerElo', 0);
         		$turParams->get('displayPlayerFideLink', 0);
         		$turParams->get('displayPlayerFederation', 0);
         		$turParams->get('displayTlOK', $this->params['tourn_showtlok']);
         		$turParams->get('pgnInput', 1);
         		$turParams->get('pgnPublic', 1);
         		$turParams->get('playerViewDisplaySex', 1);
         		$turParams->get('playerViewDisplayBirthYear', 1);
         		$turParams->get('joomGalleryDisplayPlayerPhotos', 0);
         		$turParams->get('joomGalleryCatId', '');
         		$turParams->get('joomGalleryPhotosWidth', '');
         		*/
     }
     return $this->_turnier;
 }
Exemplo n.º 2
0
 function getTurnier()
 {
     /*		function check_date($date,$format,$sep) {
         
     			$pos1    = strpos($format, 'd');
     			$pos2    = strpos($format, 'm');
     			$pos3    = strpos($format, 'Y'); 
         
     			$check    = explode($sep,$date);
         
     			return checkdate($check[$pos2],$check[$pos1],$check[$pos3]);
     
     		}
     */
     function check_date($date, $format, $sep)
     {
         $pos1 = strpos($format, 'd');
         // 0
         $pos2 = strpos($format, 'm');
         // 1
         $pos3 = strpos($format, 'Y');
         // 2
         $check = explode($sep, $date);
         if (count($check) != 3) {
             return false;
         }
         if (!is_numeric($check[0]) or !is_numeric($check[1]) or !is_numeric($check[2])) {
             return false;
         }
         $check[$pos1] = str_pad($check[$pos1], 2, "0", STR_PAD_LEFT);
         $check[$pos2] = str_pad($check[$pos2], 2, "0", STR_PAD_LEFT);
         $check[$pos3] = str_pad($check[$pos3], 4, "20", STR_PAD_LEFT);
         if (!checkdate($check[$pos2], $check[$pos1], $check[$pos3])) {
             return false;
         }
         return $check[$pos3] . "-" . $check[$pos2] . "-" . $check[$pos1];
     }
     if (empty($this->_turnier)) {
         //Name und Verzeichnis der SWT-Datei
         $filename = JRequest::getVar('swt', '', 'post', 'string');
         $path = JPATH_COMPONENT . DIRECTORY_SEPARATOR . "swt" . DIRECTORY_SEPARATOR;
         $swt = $path . $filename;
         //JObject wird erzeugt und mit Turnierdaten erweitert
         $this->_turnier = new JObject();
         //
         //Turnierdaten, die nicht aus der SWT-Datei importiert werden
         //
         //Standartwerte
         $this->_turnier->set('tid', 0);
         //$this->_turnier->set('sid'				, $this->_getAktuelleSaison());
         $this->_turnier->set('sid', clm_core::$access->getSeason());
         $this->_turnier->set('dateStart', NULL);
         $this->_turnier->set('dateEnd', NULL);
         $this->_turnier->set('catidAlltime', 0);
         $this->_turnier->set('catidEdition', 0);
         $this->_turnier->set('tl', NULL);
         $this->_turnier->set('bezirk', NULL);
         $this->_turnier->set('bezirkTur', 1);
         $this->_turnier->set('vereinZPS', 0);
         $this->_turnier->set('published', 1);
         $this->_turnier->set('bem_int', 'SWT-Importfile:' . $filename . ';');
         $this->_turnier->set('bemerkungen', '');
         $this->_turnier->set('started', 0);
         $this->_turnier->set('finished', 0);
         $this->_turnier->set('invitationText', '');
         $this->_turnier->set('ordering', 0);
         $this->_turnier->set('params', '');
         $this->_turnier->set('sieg', '1');
         $this->_turnier->set('siegs', '1');
         $this->_turnier->set('remis', '0.5');
         $this->_turnier->set('remiss', '0.5');
         $this->_turnier->set('nieder', '0');
         $this->_turnier->set('niederk', '0');
         //Name
         if (($name = CLMSWT::readName($swt, 245, 60)) != '') {
             $this->_turnier->set('name', $name);
         } else {
             $this->_turnier->set('name', $filename);
         }
         //Mit Daten aus Datenbank �berschreiben, falls ein Turnier geupdated wird
         if (JRequest::getInt('update') == 1) {
             $turnierFromDatabase = $this->_getTurnierFromDatabase();
         }
         //
         // Daten aus der SWT-Datei
         //
         //Modus
         $this->_turnier->set('modus', $this->_calculateCLMModus(CLMSWT::readInt($swt, 596, 1)));
         //rnd
         if (CLMSWT::readInt($swt, 3, 2) == 0) {
             $this->_turnier->set('rnd', 0);
         } else {
             $this->_turnier->set('rnd', 1);
         }
         //Anz. Runden und Anz. Durchg�nge
         $this->_turnier->set('runden', CLMSWT::readInt($swt, 1, 2));
         $this->_turnier->set('dg', CLMSWT::readInt($swt, 599, 1));
         //Anz. der Teilnehmer
         //$this->_turnier->set('teil'			, CLMSWT::readInt($swt,7,2));
         $this->_turnier->set('teil', $this->_getAnzTeilnehmer());
         //Turnierdatum
         if (($tdatum = CLMSWT::readName($swt, 1055, 20)) != '') {
             //				$hdatum = substr($tdatum,6,4).'-'.substr($tdatum,3,2).'-'.substr($tdatum,0,2);
             //				if(check_date($hdatum,"Ymd","-"))
             //					$this->_turnier->set('dateStart', $hdatum);
             if (check_date($tdatum, "dmY", ".") != false) {
                 $this->_turnier->set('dateStart', check_date($tdatum, "dmY", "."));
             } else {
                 $this->_turnier->set('dateStart', "");
             }
         }
         if (($tdatum = CLMSWT::readName($swt, 1076, 20)) != '') {
             //				$hdatum = substr($tdatum,6,4).'-'.substr($tdatum,3,2).'-'.substr($tdatum,0,2);
             //				if(check_date($hdatum,"Ymd","-"))
             //					$this->_turnier->set('dateEnd', $hdatum);
             if (check_date($tdatum, "dmY", ".") != false) {
                 $this->_turnier->set('dateEnd', check_date($tdatum, "dmY", "."));
             } else {
                 $this->_turnier->set('dateEnd', "");
             }
         }
         //Feinwertung
         $anzStreichwertungen = CLMSWT::readInt($swt, 9, 1);
         if ($this->_turnier->modus == 2) {
             //Vollrundig
             $anzStreichwertungen = 0;
         }
         if ($this->_turnier->modus == 1) {
             $feinwertung1 = CLMSWT::readInt($swt, 621, 1);
             $feinwertung2 = CLMSWT::readInt($swt, 572, 1);
         } elseif ($this->_turnier->modus == 2) {
             $feinwertung1 = CLMSWT::readInt($swt, 622, 1);
             $feinwertung2 = CLMSWT::readInt($swt, 573, 1);
         } else {
             $this->_turnier->set('tiebr1', 0);
             $this->_turnier->set('tiebr2', 0);
             $this->_turnier->set('tiebr3', 0);
         }
         if ($this->_turnier->modus == 1 or $this->_turnier->modus == 2) {
             if ($feinwertung1 == 3 and $anzStreichwertungen != 1) {
                 //Buchholz
                 $this->_turnier->set('tiebr1', 1);
             } elseif ($feinwertung1 == 3 and $anzStreichwertungen == 1) {
                 //Buchholz mit 1 Streichergebnis
                 $this->_turnier->set('tiebr1', 11);
             } elseif ($feinwertung1 == 7 and $anzStreichwertungen != 1) {
                 //Buchholzsumme
                 $this->_turnier->set('tiebr1', 2);
             } elseif ($feinwertung1 == 7 and $anzStreichwertungen == 1) {
                 //Buchholzsumme mit 1 Streichergebnis
                 $this->_turnier->set('tiebr1', 12);
             } elseif ($feinwertung1 == 4) {
                 //Summenwertung
                 $this->_turnier->set('tiebr1', 7);
             } elseif ($feinwertung1 == 5 and $anzStreichwertungen != 1) {
                 //Sonneborn-Berger
                 $this->_turnier->set('tiebr1', 3);
             } elseif ($feinwertung1 == 5 and $anzStreichwertungen == 1) {
                 //Sonneborn-Berger mit 1 Streichergebnis
                 $this->_turnier->set('tiebr1', 13);
             } elseif ($feinwertung1 == 6 and $anzStreichwertungen == 0) {
                 //mittlere Buchholz
                 $this->_turnier->set('tiebr1', 5);
             } elseif ($feinwertung1 == 8) {
                 //Elo-Schnitt
                 $this->_turnier->set('tiebr1', 6);
             } elseif ($feinwertung1 == 14) {
                 //Anz. der Siege
                 $this->_turnier->set('tiebr1', 4);
             } elseif ($feinwertung1 == 15) {
                 //Direkter Vergleich
                 $this->_turnier->set('tiebr1', 25);
             } else {
                 $this->_turnier->set('tiebr1', 0);
             }
             if ($feinwertung2 == 3 and $anzStreichwertungen != 1) {
                 //Buchholz
                 $this->_turnier->set('tiebr2', 1);
             } elseif ($feinwertung2 == 3 and $anzStreichwertungen == 1) {
                 //Buchholz mit 1 Streichergebnis
                 $this->_turnier->set('tiebr2', 11);
             } elseif ($feinwertung2 == 7 and $anzStreichwertungen != 1) {
                 //Buchholzsumme
                 $this->_turnier->set('tiebr2', 2);
             } elseif ($feinwertung2 == 7 and $anzStreichwertungen == 1) {
                 //Buchholzsumme mit 1 Streichergebnis
                 $this->_turnier->set('tiebr2', 12);
             } elseif ($feinwertung2 == 4) {
                 //Summenwertung
                 $this->_turnier->set('tiebr2', 7);
             } elseif ($feinwertung2 == 5 and $anzStreichwertungen != 1) {
                 //Sonneborn-Berger
                 $this->_turnier->set('tiebr2', 3);
             } elseif ($feinwertung2 == 5 and $anzStreichwertungen == 1) {
                 //Sonneborn-Berger mit 1 Streichergebnis
                 $this->_turnier->set('tiebr2', 13);
             } elseif ($feinwertung1 == 6 and $anzStreichwertungen == 0) {
                 //mittlere Buchholz
                 $this->_turnier->set('tiebr2', 5);
             } elseif ($feinwertung2 == 8) {
                 //Elo-Schnitt
                 $this->_turnier->set('tiebr2', 6);
             } elseif ($feinwertung2 == 14) {
                 //Anz. der Siege
                 $this->_turnier->set('tiebr2', 4);
             } elseif ($feinwertung2 == 15) {
                 //Direkter Vergleich
                 $this->_turnier->set('tiebr2', 25);
             } else {
                 $this->_turnier->set('tiebr2', 0);
             }
             if (CLMSWT::readBool($swt, 593) and $this->_turnier->modus != 2) {
                 $this->_turnier->set('tiebr3', 4);
             } else {
                 $this->_turnier->set('tiebr3', 0);
             }
         }
         //Ranglistenkorrektur
         $this->_turnier->set('optionTiebreakersFideCorrect', CLMSWT::readBool($swt, 675));
         //Partiewertung
         $pwertung = CLMSWT::readInt($swt, 582, 1);
         if ($pwertung > 3) {
             $pwertung = 0;
         }
         if ($pwertung == 0) {
             $this->_turnier->set('sieg', 1);
             $this->_turnier->set('siegs', 1);
             $this->_turnier->set('remis', 0.5);
             $this->_turnier->set('remiss', 0.5);
             $this->_turnier->set('nieder', 0);
             $this->_turnier->set('niederk', 0);
         } elseif ($pwertung == 1) {
             $this->_turnier->set('sieg', 3);
             $this->_turnier->set('siegs', 3);
             $this->_turnier->set('remis', 1);
             $this->_turnier->set('remiss', 1);
             $this->_turnier->set('nieder', 0);
             $this->_turnier->set('niederk', 0);
         } elseif ($pwertung == 2) {
             $this->_turnier->set('sieg', 3);
             $this->_turnier->set('siegs', 3);
             $this->_turnier->set('remis', 1);
             $this->_turnier->set('remiss', 1.5);
             $this->_turnier->set('nieder', 0);
             $this->_turnier->set('niederk', 0);
         } else {
             $this->_turnier->set('sieg', CLMSWT::readInt($swt, 5494, 1));
             $this->_turnier->set('siegs', CLMSWT::readInt($swt, 5496, 1));
             $this->_turnier->set('remis', CLMSWT::readInt($swt, 5498, 1));
             $this->_turnier->set('remiss', CLMSWT::readInt($swt, 5500, 1));
             $this->_turnier->set('nieder', CLMSWT::readInt($swt, 5502, 1));
             $this->_turnier->set('niederk', CLMSWT::readInt($swt, 5506, 1));
         }
         //TWZ-Einstellung
         $twz = CLMSWT::readInt($swt, 582, 1);
         if ($twz == 0) {
             $this->_turnier->set('useAsTWZ', 2);
         } elseif ($twz == 1) {
             $this->_turnier->set('useAsTWZ', 1);
         } elseif ($twz == 2) {
             $this->_turnier->set('useAsTWZ', 0);
         }
     }
     return $this->_turnier;
 }
Exemplo n.º 3
0
 function getTeilnehmer()
 {
     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;
     }
     //TWZ-Bestimmen Parameter lesen
     $useAsTWZ = CLMSWT::getFormValue('params', 0, 'int', 'useAsTWZ');
     //Spielerdaten werden aus SWT-Datei gelesen und in einem Array von JObjects gespeichert
     $i = 1;
     while ($i <= $anz_teilnehmer) {
         $teilnehmer = new JObject();
         if (CLMSWT::readInt($swt, $offset + 189, 1) == 102) {
             $teilnehmer->set('name', 'spielfrei');
         } else {
             $teilnehmer->set('name', CLMSWT::readName($swt, $offset, 32));
             $teilnehmer->set('verein', CLMSWT::readName($swt, $offset + 33, 32));
             $teilnehmer->set('title', CLMSWT::readName($swt, $offset + 66, 3));
             $teilnehmer->set('FIDEelo', CLMSWT::readName($swt, $offset + 70, 4));
             $teilnehmer->set('start_dwz', CLMSWT::readName($swt, $offset + 75, 4));
             $teilnehmer->set('FIDEcco', CLMSWT::readName($swt, $offset + 105, 3));
             $teilnehmer->set('NATcco', CLMSWT::readName($swt, $offset + 109, 3));
             $teilnehmer->set('birthYear', CLMSWT::readName($swt, $offset + 128, 4));
             $teilnehmer->set('zps', CLMSWT::readName($swt, $offset + 153, 5));
             $teilnehmer->set('mgl_nr', CLMSWT::readName($swt, $offset + 159, 4));
             $teilnehmer->set('geschlecht', CLMSWT::readName($swt, $offset + 184, 1));
             $teilnehmer->set('tlnrStatus', CLMSWT::readName($swt, $offset + 184, 1) == "*" ? "0" : "1");
             $teilnehmer->set('FIDEid', CLMSWT::readName($swt, $offset + 324, 12));
             //TWZ-Bestimmen
             if ($useAsTWZ == 0) {
                 if ($teilnehmer->FIDEelo >= $teilnehmer->start_dwz) {
                     $teilnehmer->set('twz', $teilnehmer->FIDEelo);
                 } else {
                     $teilnehmer->set('twz', $teilnehmer->start_dwz);
                 }
             } elseif ($useAsTWZ == 1) {
                 if ($teilnehmer->start_dwz > 0) {
                     $teilnehmer->set('twz', $teilnehmer->start_dwz);
                 } else {
                     $teilnehmer->set('twz', $teilnehmer->FIDEelo);
                 }
             } elseif ($useAsTWZ == 2) {
                 if ($teilnehmer->FIDEelo > 0) {
                     $teilnehmer->set('twz', $teilnehmer->FIDEelo);
                 } else {
                     $teilnehmer->set('twz', $teilnehmer->start_dwz);
                 }
             }
             // Geschlecht korrigieren
             // Keine Angabe = Männlich
             if ($teilnehmer->geschlecht == " ") {
                 $teilnehmer->set('geschlecht', "M", 1);
             }
         }
         $this->_teilnehmer[$i] = $teilnehmer;
         //Offset und index f�r n�chsten Teilnehmer erh�hen
         $offset += 655;
         $i++;
     }
     return $this->_teilnehmer;
 }