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; }
static function readName($file, $offset, $length = 1) { return CLMSWT::readString($file, $offset, $length); }