registerTask( 'elobase_start','elobase_start'); } function display() { $db =& JFactory::getDBO(); $eb_Umlaute_1 = array("ö","ü","ä","ß","Ö","Ü","Ä","é"); $eb_Umlaute_2 = array(chr(148),chr(129),chr(132),chr(225),chr(153),chr(154),chr(142),chr(130)); $Monatstage = array(0,31,28,31,30,31,30,31,31,30,31,30,31); // Konfigurationsparameter auslesen $config = &JComponentHelper::getParams( 'com_clm' ); $erst = $config->get('erstauswerter',705); $Verband = $config->get('lv','000'); $db = & JFactory::getDBO(); $query =' SELECT a.name FROM #__clm_user as a' .' LEFT JOIN #__clm_saison AS s ON s.id = a.sid' .' WHERE a.user_clm > 70 AND s.archiv = 0 AND s.published = 1 ' .' AND jid = '.$erst ; $db->setQuery( $query ); $Username = $db->loadResult(); $MaxLigen = 10; // $Saison = CLMControllerElobase::Abfrage('SELECT * FROM #_clm_saison ORDER BY id ASC Limit 0,3'); $query = 'SELECT * FROM #__clm_saison ' .' WHERE published = 1 and archiv = 0 ' .' ORDER BY id ASC Limit 0,3 '; $db->setQuery( $query ); $Saison = $db->loadObjectList(); // $rnd_filter_dg = $rnd_filter[0]->durchgang; foreach ($Saison as $Ligen) { $Jahre[]=(int) substr($Ligen->name,0,strpos($Ligen->name,'/')-1); if (strpos($Ligen->name,'/')) { $Jahre[]=(int) substr($Ligen->name,strpos($Ligen->name,'/')+1); } } sort($Jahre); for ($i=sizeof($Jahre)-2;$i>0;$i--) if ($Jahre[$i+1]==$Jahre[$i]) array_splice($Jahre,$i,1); $query = ' SELECT * FROM #__clm_liga ' .' WHERE published =1 AND sid ='.$Saison[0]->id; if(isset($Saison[1])) { $query = $query.' OR sid ='.$Saison[1]->id; } $db->setQuery( $query ); $Ligen = $db->loadObjectList(); if (sizeof($Ligen)<9) $MaxLigen=sizeof($Ligen); require_once(JPATH_COMPONENT.DS.'views'.DS.'elobase.php'); CLMViewElobase::Elobase( $MaxLigen, $Username, $Verband, $Ligen, $Jahre ); } function CLM2EB2() { global $mainframe; // Check for request forgeries JRequest::checkToken() or die( 'Invalid Token' ); $dbSpieler=array( array('ANR','C',2), array('APLATZ','C',2), array('PKZ','C',3), array('ZPSCODE','C',8), array('SNAME','C',40), array('SGESCHL','C',1), array('VERBAND','C',3), array('VNAME','C',40), array('VABK','C',4), array('AERFOLG','C',2), array('AEFAKTOR','C',1), array('APARTIEN','C',1), array('APUNKTE','C',1), array('ASONDER','C',1), array('AELOSTA','C',3), array('AELOEND','C',3), array('AGESPAR','C',1), array('AGESPKT','C',1), array('APKTSUM','C',1), array('AZUSATZ','C',1), array('STITEL','C',1), array('AWE1000','C',2), array('ALEISTUNG','C',2), array('ANIVEAU','C',2), array('AKTPARTIEN','C',1), array('AKTPUNKTE','C',1), array('AKTWE1000','C',2)); $dbElo=array( array('ANR','C',2), array('APKT','C',1), array('AELOGEG','C',2)); $dbGegner=array( array('ARUNDE','C',1), array('APAAR','C',1), array('ABRETT','C',1), array('AERG','C',1), array('ANR1','C',2), array('ANR2','C',2), array('AERGTUR','C',1), array('ALIGA','C',1)); $dbMann=array( array('AMANNNR','C',1), array('AMANNPL','C',1), array('AMANNNAM','C',40), array('AMANNZPS','C',5), array('ALIGA','C',1), array('AANZAHL','C',1), array('ABRETTER','C',1), array('ARUNDEN','C',1)); require_once(JPATH_COMPONENT.DS.'controllers'.DS.'class.dbase.php'); $option = JRequest::getCmd('option'); $section = JRequest::getVar('section'); $db =& JFactory::getDBO(); $config = &JComponentHelper::getParams( 'com_clm' ); $Verband = $config->get('lv','000'); $Jahr = JRequest::getVar('Jahr'); $Monat = JRequest::getVar('Monat'); $Tag = JRequest::getVar('Tag'); $Turniername = JRequest::getVar('Turniername'); $LiId = JRequest::getVar('LiId', array(), '', 'array'); JArrayHelper::toInteger($LiId); $LiAs = JRequest::getVar('LiAs', array(), '', 'array'); $LiNa = JRequest::getVar('LiNa', array(), '', 'array'); $path = "components/$option/elobase/"; jimport('joomla.filesystem.file'); $folder = JPath::clean(JPATH_ADMINISTRATOR.DS.'components'.DS.$option.DS.'elobase'); // ggf. Verzeichnis erstellen // if (!file_exists($folder)) { JFolder::create( $folder); } if (!$LiId) { JError::raiseWarning( 500, JText::_( 'Sie haben keine Liga ausgewählt !' ) ); $mainframe->redirect( 'index.php?option='. $option.'§ion='.$section ); } /* if (!$Turniername AND count($LiId) == 1) { $Turniername=$LiAs[$LiId[0]]; } else { JError::raiseWarning( 500, JText::_( 'Der Turniername ist nicht eindeutig !' ) ); $mainframe->redirect( 'index.php?option='. $option.'§ion='.$section ); } */ for ($i=1;$i<=4;$i++) $DBF[$i]=new dBase(); if ($Jahr==0) { $dag=@getdate(); $Jahr=$dag['year']; if ($Monat==0) { $Monat=$dag['mon']; if ($Tag==0) { $Tag=$dag['mday']; } } unset($dag); } for ($i=0;$i< count($LiId);$i++) { $LiID[$i]=$LiId[$i]; if ($_POST['LiNa'][$i]=='') $LigaName[$i]=$LiAs[$LiID[$i]]; Else $LigaName[$i]=$LiNa[$i]; } // Wenn man den Code verfolgt, stellt man fest, da� EloStart zwei Mal gebraucht wird. // Das liegt daran, da� ohne Auswertung die Datenbanken EloStart und EloEnde identisch sind. if(!$DBF[1]->create($path."A_HAUPT.dbf",$dbSpieler)) { $msg = "Konnte A_HAUPT.dbf nicht erstellen"; $mainframe->redirect( 'index.php?option='. $option.'§ion='.$section, $msg ); } elseif(!$DBF[2]->create($path."A_ELOSTA.dbf",$dbElo)) { $msg = "Konnte A_ELOSTA.dbf nicht erstellen"; $mainframe->redirect( 'index.php?option='. $option.'§ion='.$section, $msg ); } elseif(!$DBF[3]->create($path."A_GEGNER.dbf",$dbGegner)) { $msg = "Konnte A_GEGNER.dbf nicht erstellen"; $mainframe->redirect( 'index.php?option='. $option.'§ion='.$section, $msg ); } elseif(!$DBF[4]->create($path."A_MANN.dbf",$dbMann)) { $msg = "Konnte A_MANN.dbf nicht erstellen"; $mainframe->redirect( 'index.php?option='. $option.'§ion='.$section, $msg ); } $DBF[2]->unload(); // Diese Spielerdaten sind unerheblich, oder werden als nicht belegt deklariert. $DBF[1]->set_field('VERBAND',$Verband); $DBF[1]->set_field('VABK',' '); $DBF[1]->set_field('AERFOLG',chr(0).chr(0)); $DBF[1]->set_field('AEFAKTOR',chr(0)); $DBF[1]->set_field('APARTIEN',chr(0)); $DBF[1]->set_field('APUNKTE',chr(255)); $DBF[1]->set_field('ASONDER',"N"); $DBF[1]->set_field('AELOSTA',' '); $DBF[1]->set_field('AELOEND',' '); $DBF[1]->set_field('AGESPAR',chr(0)); $DBF[1]->set_field('AGESPKT',chr(0)); $DBF[1]->set_field('APKTSUM',chr(0)); $DBF[1]->set_field('AZUSATZ',' '); $DBF[1]->set_field('STITEL',' '); $DBF[1]->set_field('AWE1000',chr(0).chr(0)); $DBF[1]->set_field('ALEISTUNG',chr(0).chr(0)); $DBF[1]->set_field('ANIVEAU',chr(0).chr(0)); $DBF[1]->set_field('AKTPARTIEN',chr(0)); $DBF[1]->set_field('AKTPUNKTE',chr(255)); $DBF[1]->set_field('AKTWE1000',chr(0).chr(0)); $ebData=array('nSpieler'=>0,'MaxRunden'=>0,'nMannschaften'=>0,'Verband'=>$Verband); echo 'Es gibt '.sizeof($LiID).' Ligen.
'; for ($LigaNummer=0;$LigaNummerunload(); $DBF[3]->unload(); $DBF[4]->unload(); $Woche= CLMControllerElobase::eb_Kalenderwoche($Tag,$Monat,$Jahr); if ($Tag<10) $Tag='0'.$Tag; if ($Monat<10) $Monat='0'.$Monat; if ($Woche<10) $Woche='0'.$Woche; if ($Jahr<26) $Jahr+=2000; Elseif ($Jahr<100) $Jahr+=1900; if ($Jahr>1999) //2000ff) $Code=chr(((int)($Jahr/10)-135)).($Jahr % 10); Else if ($Jahr>1899) $Code=($Jahr % 100); //1900-1999 else $Code=' '; //Der Rest: 100-1899 $Code.=$Woche.'-'.$Verband.'-'.$_POST['Code']; $pieces=array(' ELOBASE Version 11.08', 'Turnier.....: '.$Turniername, 'Code........: '.$Code, 'Info........: ', 'Turnier-Typ : MV', 'Turnier-Ende: '.$Tag.'.'.$Monat.'.'.$Jahr, 'Erstauswert.: '.$_POST['Auswerter'], 'Letzte '.chr(142).'nd..: '.@date('d.m.Y, H:i'), 'Spieler.....: '.$ebData['nSpieler'], 'Runden......: '.$ebData['MaxRunden'], 'Gruppen/Mann: '.sizeof($_POST['LiId']).'/'.$ebData['nMannschaften'], 'Gew. Partien: 0', 'Berechnet am: ', 'Gespeich. am: '.@date('d.m.Y, H:i'), 'Ersterst. am: '.@date('d.m.Y, H:i'), 'Weitere Ausw: ', 'Schiedsrich.: ', 'Veranstalter: ', 'Notiz.......: Importiert durch CLM2EB V0.99'.chr(254).chr(254), 'MM-Wertung..: ', chr(26)); $Intro=join(chr(13).chr(10),$pieces); unset ($pieces); $OffsetInfo=array(30+strlen($Intro),filesize($path.'A_HAUPT.dbf')); $OffsetInfo[2]=$OffsetInfo[0]+$OffsetInfo[1]; $OffsetInfo[3]=filesize($path.'A_ELOSTA.dbf'); $OffsetInfo[4]=$OffsetInfo[2]+$OffsetInfo[3]; $OffsetInfo[5]=filesize($path.'A_ELOSTA.dbf'); $OffsetInfo[6]=$OffsetInfo[4]+$OffsetInfo[5]; $OffsetInfo[7]=filesize($path.'A_GEGNER.dbf'); $OffsetInfo[8]=$OffsetInfo[6]+$OffsetInfo[7]; $OffsetInfo[9]=filesize($path.'A_MANN.dbf'); $Code[8]='.'; /* // Datei schreiben ggf. Fehlermeldung absetzen jimport('joomla.filesystem.file'); if (!JFile::write( $write, $buffer )) { JError::raiseWarning( 500, JText::_( 'Fehler beim schreiben !' ) ); } */ $Out=fopen($path.$Code,'wb'); fwrite($Out,$Intro); for ($i=0;$i<10;$i++) { fwrite($Out,CLMControllerElobase::eb_pack($OffsetInfo[$i],3)); } $In=fopen($path.'A_HAUPT.dbf','rb'); fwrite($Out,fread($In,filesize($path.'A_HAUPT.dbf'))); fclose($In); $In=fopen($path.'A_ELOSTA.dbf','rb'); fwrite($Out,fread($In,filesize($path.'A_ELOSTA.dbf'))); fclose($In); $In=fopen($path.'A_ELOSTA.dbf','rb'); fwrite($Out,fread($In,filesize($path.'A_ELOSTA.dbf'))); fclose($In); $In=fopen($path.'A_GEGNER.dbf','rb'); fwrite($Out,fread($In,filesize($path.'A_GEGNER.dbf'))); fclose($In); $In=fopen($path.'A_MANN.dbf','rb'); fwrite($Out,fread($In,filesize($path.'A_MANN.dbf'))); fclose($In); fclose($Out); $msg = count($LiAs).'_!_'.$Turniername.'_!_'.$LiId[0].'_*_'.$LiId[1].'_*_'.$Verband.'_!_'.$Jahr.'_'.$Monat.'_'.$Tag; $msg ="Elobase Datei erfolgreich erstellt !"; $mainframe->redirect( 'index.php?option='. $option.'§ion='.$section, $msg ); } function eb_pack($Value,$Bytes=1) { $s=chr($Value % 256); for ($i=1;$i<$Bytes;$i++) { $Value/=256; $s=chr($Value % 256).$s; } return $s; } function eb_Kalenderwoche($Tag=0,$Monat=0,$Jahr=0) { if ($Jahr==0) { $dag=getdate(); $Jahr=$dag['year']; if ($Monat==0) { $Monat=$dag['mon']; if ($Tag==0) $Tag=$dag['mday']; } unset($dag); } $r=mySQL_query('SELECT WEEK(\''.$Jahr.'-'.$Monat.'-'.$Tag.'\',1)'); return mysql_result($r,0); } function eb_pkz2elobase ($string) { // PKZ zerlegen $days = substr($string,0,5); // erste 5 Stellen als Zahl $number = substr($string,5,3); // letzte 3 Stellen als Zahl $pkznumber = $string; // komplette PKZ als Zahl if($pkznumber <= 1835007) // kein Geburtstag oder nur Geburtsjahr { return CLMControllerElobase::eb_pack($string,3); } else // $days und $number konvertieren (kompl.Geburtsdatum) { return CLMControllerElobase::eb_pack($days,2).CLMControllerElobase::eb_pack($number); } } /* Code von Frank Hoppe Genehmigung steht noch aus. */ function eb_elobase2pkz ($string) { // Die PKZ wird in ELOBASE in 3 Bytes gespeichert. Hier erfolgt // die Umwandlung in eine lesbare PKZ und das Geburtsdatum. // Art der PKZ feststellen, dazu erste 2 Bytes pr�fen $Temp = hexdec(bin2hex(substr($string,0,2))); if($Temp < 7168 && $Temp > 255) { // 7168 = 17.08.1899 // Die PKZ ist eine lfd.Nr. und enth�lt nur das Geburtsjahr $lfdnr = sprintf("%08d",hexdec(bin2hex($string))); $Jahr = 1900 + substr($lfdnr,0,4); return $lfdnr; } elseif($Temp <= 255) { // 1.Byte hat Wert 0, dann PKZ = lfd.Nr. und kein Geburtstag return sprintf("%08d",hexdec(bin2hex($string))); } else { // Byte 1+2 = Tagez�hler, Byte 3 = lfd.Nummer $Anzahl = hexdec(bin2hex(substr($string,0,2))); $LfdNr = hexdec(bin2hex(substr($string,2,1))); return sprintf("%05d",$Anzahl) . sprintf("%03d",$LfdNr); } } function eb_elobase2Jahr ($string) { $Temp = hexdec(bin2hex(substr($string,0,2))); if($Temp < 7168 && $Temp > 255) { $lfdnr = sprintf("%08d",hexdec(bin2hex($string))); $Jahr = 1900 + substr($lfdnr,0,4); return $Jahr; } elseif($Temp <= 255) return 0; else { $Anzahl = hexdec(bin2hex(substr($string,0,2))); $LfdNr = hexdec(bin2hex(substr($string,2,1))); return eb_birthyear($Anzahl); } } function eb_birthyear ($days) { $days = $days + 2407716; // 2407716 = 01.01.1880 $days -= 1721119; $century = floor(( 4 * $days - 1) / 146097); $days = floor(4 * $days - 1 - 146097 * $century); $day = floor($days / 4); $year = floor(( 4 * $day + 3) / 1461); $day = floor(4 * $day + 3 - 1461 * $year); $day = floor(($day + 4) / 4); $month = floor(( 5 * $day - 3) / 153); if($month < 10) $month +=3; else { $month -=9; if($year++ == 99) { $year = 0; $century++; } } $century = sprintf("%02d",$century); $year = sprintf("%02d",$year); return "$century$year"; } /* function Geburtstag () { return $this->Geburtstag; } function Gegner () { // Mu� nach Erfolg aufgerufen werden return $this->Gegner; } */ function eb_Ascii2Ansi ($string) { //global $eb_Umlaute_1,$eb_Umlaute_2; $eb_Umlaute_1 = array("ö","ü","ä","ß","Ö","Ü","Ä","é"); $eb_Umlaute_2 = array(chr(148),chr(129),chr(132),chr(225),chr(153),chr(154),chr(142),chr(130)); for($y=0;$yset_field('AMANNNR',chr($Mannschaft['tln_nr'])); $DBF[4]->set_field('AMANNNAM',CLMControllerElobase::eb_Ansi2Ascii($Mannschaft['name'])); $DBF[4]->set_field('AMANNZPS',$Mannschaft['zps']); return $DBF[4]->add_record(); } function MannLoop(&$Mannschaft,$LigaID,&$DBF) { $JOSPrefix='#_'; $CLMPrefix='clm_'; CLMControllerElobase::MSchreiben($Mannschaft,$DBF); $Mannschaft['AlleSpieler']=CLMControllerElobase::Abfrage('SELECT zps,mgl_nr FROM jos_clm_meldeliste_spieler where lid='.$LigaID.' and zps="'.$Mannschaft['zps'].'" and mnr='.$Mannschaft['man_nr'].' order by snr'); if ($Mannschaft['AlleSpieler']) { foreach($Mannschaft['AlleSpieler'] as &$EinSpieler) { $Daten=CLMControllerElobase::Abfrage('SELECT PKZ,Geburtsjahr,Geschlecht,Spielername from jos_clm_dwz_spieler where ZPS="'.$EinSpieler['zps'].'" AND Mgl_Nr='.$EinSpieler['mgl_nr']); $EinSpieler['nEinsatz']=0; if (is_array($Daten)) $EinSpieler=array_merge($EinSpieler,$Daten[0]); } } } function SpielerSchreiben($Mannschaft,$MSpieler,$LigaNummer,$Einsaetze,$PKZ,$zpsV,$zpsS,$SName,$Sex,$Verein,&$DBF) { $DBF[1]->set_field('ANR',chr($Mannschaft).chr($MSpieler)); $DBF[1]->set_field('APLATZ',chr($LigaNummer).chr($Einsaetze)); $DBF[1]->set_field('PKZ', CLMControllerElobase::eb_pkz2elobase($PKZ)); if ($zpsS>999) $ZPSStr='***'; Else if ($zpsS>99) $ZPSStr=$zpsS; Else if ($zpsS>9) $ZPSStr='0'.$zpsS; Else $ZPSStr='00'.$zpsS; $DBF[1]->set_field('ZPSCODE',$zpsV.$ZPSStr); $DBF[1]->set_field('SNAME', CLMControllerElobase::eb_ansi2ascii($SName)); $DBF[1]->set_field('SGESCHL',$Sex); $DBF[1]->set_field('VNAME', CLMControllerElobase::eb_ansi2ascii($Verein)); $DBF[1]->add_record(); } function SpielerEintragen(&$Mannschaft,&$Liga,&$DBF,&$ebData) { $LigaNummer=$Liga[0]; $MSpieler=0; if ($Mannschaft['AlleSpieler']===false) return; for ($i=Sizeof($Mannschaft['AlleSpieler'])-1;$i>=0;$i--) if ($Mannschaft['AlleSpieler'][$i]['nEinsatz']===0) array_splice($Mannschaft['AlleSpieler'],$i,1); foreach($Mannschaft['AlleSpieler'] as &$EinSpieler) { $MSpieler++; $EinSpieler['LfdNummer']= 0; $Liga['Spieler2Nummer'][$EinSpieler['zps'].'-'.$EinSpieler['mgl_nr']]=0; } } function SpielerNachtragen($zpsV,$zpsS,&$Liga,$mnr,&$ebData,&$DBF) { $JOSPrefix='#_'; $CLMPrefix='clm_'; $Daten= CLMControllerElobase::Abfrage('SELECT PKZ,Geburtsjahr,Geschlecht,Spielername from jos_clm_dwz_spieler where ZPS="'.$zpsV.'" AND Mgl_Nr='.$zpsS); if (is_array($Daten)) $Liga['Mannschaften'][$mnr-1]['AlleSpieler'][]=array_merge(array('zps'=>$zpsV,'mgl_nr'=>$zpsS,'nEinsatz'=>0),$Daten[0],array('LfDNummer'=>$ebData['nSpieler'])); $Liga['Spieler2Nummer'][$zpsV.'-'.$zpsS]=$ebData['nSpieler']; $Liga['Mannschaften'][$mnr-1]['AlleSpieler'][]=array('zps'=>$zpsV,'mgl_nr'=>$zpsS,'nEinsatz'=>1,'PKZ'=>$Daten[0]['PKZ'], 'Geburtsjahr'=>$Daten[0]['Geburtsjahr'],'Geschlecht'=>$Daten[0]['Geschlecht'],'Spielername'=>$Daten[0]['Spielername'],'LfdNummer'=>0); } function AlleSpielerSchreiben(&$Liga,&$ebData,&$DBF) { foreach ($Liga['Mannschaften'] as &$EineMannschaft) if (is_array($EineMannschaft['AlleSpieler'])) { $MSpieler=0; foreach ($EineMannschaft['AlleSpieler'] as &$EinSpieler) { $MSpieler++; $EinSpieler['LfdNummer']=++$ebData['nSpieler']; $Liga['Spieler2Nummer'][$EinSpieler['zps'].'-'.$EinSpieler['mgl_nr']]=$EinSpieler['LfdNummer']; CLMControllerElobase::SpielerSchreiben($EineMannschaft['tln_nr'], $MSpieler, $Liga[0]+1, $EinSpieler['nEinsatz'], ($EinSpieler['PKZ']!='')?$EinSpieler['PKZ']:$EinSpieler['Geburtsjahr'], $EinSpieler['zps'], $EinSpieler['mgl_nr'], $EinSpieler['Spielername'], $EinSpieler['Geschlecht'], $EineMannschaft['name'], $DBF); } } } function LigaLoop(&$Liga,&$ebData,&$DBF) { $JOSPrefix='#__'; $CLMPrefix='clm_'; //global $JOSPrefix,$CLMPrefix; echo 'Verarbeite "'.$Liga[2].'"
'; flush(); $Liga['nSpieler']=0; $Liga['nMannschaften']=0; $Liga['nBretter']=0; $Liga['nRunden']=0; // $Liga['Mannschaften']=CLMControllerElobase::Abfrage('SELECT id,teil,Stamm,runden,durchgang FROM #__'.$CLMPrefix.'liga WHERE id='.$Liga[1]); $Liga['Mannschaften']=CLMControllerElobase::Abfrage('SELECT id,teil,Stamm,runden,durchgang FROM jos_clm_liga WHERE id='.$Liga[1]); $Liga['Runden']=$Liga['Mannschaften'][0]['runden']; $Liga['nMannschaften']=$Liga['Mannschaften'][0]['teil']; $Liga['nBretter']=$Liga['Mannschaften'][0]['Stamm']; $Liga['nRunden']=$Liga['Mannschaften'][0]['runden']*$Liga['Mannschaften'][0]['durchgang']; if (!($Liga['nRunden']!==0)) $Liga['nRunden']=1; if ($Liga['nRunden']>$ebData['MaxRunden']) $ebData['MaxRunden']=$Liga['nRunden']; $ebData['nMannschaften']+=$Liga['nMannschaften']; $DBF[4]->set_field('AMANNNR',chr(0)); $DBF[4]->set_field('AMANNPL',chr($Liga[0]+49)); $DBF[4]->set_field('AMANNNAM',CLMControllerElobase::eb_Ansi2Ascii($Liga[2])); $DBF[4]->set_field('AMANNZPS',$ebData['Verband'].' '); $DBF[4]->set_field('ALIGA',chr($Liga[0]+1)); $DBF[4]->set_field('AANZAHL',chr($Liga['nMannschaften'])); $DBF[4]->set_field('ABRETTER',chr($Liga['nBretter'])); $DBF[4]->set_field('ARUNDEN',chr($Liga['nRunden'])); $DBF[4]->add_record(); // F�r einen Mannschaftseintrag sind diese Daten konstant: $DBF[4]->set_field('AMANNPL',chr(0)); $DBF[4]->set_field('AANZAHL',chr(0)); $DBF[4]->set_field('ABRETTER',chr(0)); $DBF[4]->set_field('ARUNDEN',chr(0)); $Liga['Mannschaften']=CLMControllerElobase::Abfrage('SELECT * FROM jos_clm_mannschaften where liga='.$Liga[1].' ORDER BY tln_nr ASC'); foreach ($Liga['Mannschaften'] as &$Mannschaft) { set_time_limit(60); CLMControllerElobase::MannLoop($Mannschaft,$Liga[1],$DBF); } $Liga['BreErgebnisse']=CLMControllerElobase::Abfrage('SELECT runde,paar,dg,tln_nr,brett,zps,spieler,gzps,gegner,ergebnis,kampflos,heim FROM jos_clm_rnd_spl WHERE lid='.$Liga[1].' ORDER BY runde,paar,dg,paar,brett'); foreach ($Liga['BreErgebnisse'] as $EinBrett) { $i=0; while (($iset_field('ALIGA',chr($Liga[0]+1)); $DBF[3]->set_field('AERGTUR',' '); foreach ($Liga['EndErgebnis'] as $EineRunde) { $Runde++; $Paarung=0; $DBF[3]->set_field('ARUNDE',chr($Runde)); foreach($EineRunde as $EinePaarung) { $Paarung++; $DBF[3]->set_field('APAAR',chr($Paarung)); for ($Brett=0;$Brett<=$Liga['nBretter'];$Brett++) if (isset ($EinePaarung[$Brett])) { $DBF[3]->set_field('ABRETT',chr($Brett)); $DBF[3]->set_field('AERG',$EinePaarung[$Brett][0]); $DBF[3]->set_field('ANR1',$EinePaarung[$Brett][1]); $DBF[3]->set_field('ANR2',$EinePaarung[$Brett][2]); $DBF[3]->add_record(); } } } } function Abfrage($query,$db=False) { $r=array(); if (!$db) $result = mysql_query($query); Else $result = @ mysql_query($query,$db); if (!$result) { echo ("Abfrage konnte nicht ausgeführt werden: \n" . mysql_error().'\nDie Abfrage war: "'.$query.'"'); die(); } if (mysql_num_rows($result) > 0) { while ($row = mysql_fetch_assoc($result)) { $r[]=$row; } unset($row); mysql_free_result($result); unset($result); return $r; } else { unset($result); return false; } } function download () { global $mainframe; $option = JRequest::getCmd('option'); jimport( 'joomla.filesystem.folder' ); $filesDir = 'components'.DS.$option.DS.'elobase'; $ex_dbf = JFolder::files( $filesDir, 'dbf$',true, false); $ex_dbf[] ="index.html"; $files = JFolder::files( $filesDir, '',true, false, $ex_dbf ); $count = count($files); $sql = array(); for ($x=0; $x< $count; $x++ ) { $sql[] = $files[$x]; } return $sql; } }