assign('ueberschrift','Wettkampfergebnisse'); if(!$erlaubt){ $_inh = T_KEINZUGRIFF; } else{ if(!isset($_GET['id'])){ weiterleiten('/wettkaempfe/', 'Es wurde kein Wettkampf gewählt.'); } if($_GET['id'] < 7){ weiterleiten('/wettkaempfe/', 'Es können nur die Ergebnisse von richtigen Wettkämpfen angezeigt werden.'); } # Wettkampfdaten holen (gleichzeitig ID ueberpruefen) $query = "SELECT w.id, titel, ort, DATE_FORMAT(w.datum,'%d.%m.%Y') as datum, COUNT(z.id) zeiten, w.bahnlaenge FROM ".DB_PREFIX."wettkaempfe as w LEFT JOIN (".DB_PREFIX."zeiten as z LEFT JOIN ".DB_PREFIX."staffeln_zeiten as sz ON z.id=sz.zeitid) ON z.wettkampfid = w.id WHERE w.id = '".text_format($_GET['id'],'db')."' AND (z.zeit IS NOT NULL OR sz.staffelid IS NOT NULL) GROUP BY w.id"; $_db->holeDaten($query); if($_db->holeAnzahl() != 1){ weiterleiten('/wettkaempfe/','Der Wettkampf existiert nicht.'); } $wkdaten = $_db->holeZeile(); if($wkdaten['zeiten'] == 0){ weiterleiten('/wettkaempfe/','Es wurden keine Zeiten gefunden.'); } if($_GET['id'] == 7 or $_GET['id'] == 8){ $_tmpl->assign('ueberschrift','Rekordversuche ('.$wkdaten['bahnlaenge'].'m-Bahn)'); $rekordversuche = true; } else{ $_tmpl->assign('ueberschrift','Wettkampfergebnisse ('.$wkdaten['titel'].' am '.$wkdaten['datum'].' in '.$wkdaten['ort'].')'); $rekordversuche = false; } require_once('class/wettkaempfe.inc.php'); $wk = new wettkaempfe; $wk->db = $_db; $wk->conf = array('lagen'=>$_lagen,'geschlechter'=>$_geschlechter,'wkarten'=>$_wkarten,'altersklassen'=>$_altersklassen,'_gleinst'=>$_gleinst); if(isset($_GET['pdf']) and !$rekordversuche){ $conf = array( 'rekordeverlinken' => false, 'zusammenfassenbis' => 5, # Einzelstarts werden zusammengefasst, wenn bei beiden Geschlechtern höchstens X Starts vorhanden sind 'statistik' => true ); $zeiten = $wk->holeWettkampfauswertung($_GET['id'], $conf); $_schriftgroesse = 10; require_once('class/pdf.inc.php'); $pdf = new tkpdf($_schriftgroesse); $titel = 'Wettkampfergebnisse ('.$wkdaten['titel'].' am '.$wkdaten['datum'].' in '.$wkdaten['ort'].')'; $pdf->tkseitentitel($titel); $pdf->tkseitennummern(); $pdf->tk_autor = $_SESSION['user']['realname']; $pdf->tk_titel = $titel; $optionen = array( 'fontSize' => $pdf->tk_schriftgroesse, 'xPos' => 55, 'xOrientation' => 'right', 'showHeadings' => 1, 'shaded' => 0, 'showLines' => 2, 'colGap' => 4, 'rowGap' => 2, 'maxWidth' => 500, 'cols' => array( 'meldezeit' => array('width' => 55), 'name' => array() ) ); $y = 0; foreach($zeiten['einzel'] as $key => $strecke){ $y = $pdf->ezText(''.$strecke['_titel'].'',$_schriftgroesse+3); $pdf->ezSetDy(-3); $daten = array(); $spalten = array('name'=>'Name','zeit'=>'Zeit'); if($strecke['_meldezeiten'] == 1){ $spalten['meldezeit'] = 'Meldezeit'; } if($strecke['_plaetze'] == 1){ $spalten['platz'] = 'Platz'; } if($strecke['_sonstiges'] == 1){ $spalten['sonstiges'] = 'Sonstiges'; } if(count($strecke['_zeiten'])>0){ foreach($strecke['_zeiten'] as $row){ $tmp = array( 'name' => $row['nachname'].', '.$row['vorname'].' ('.$row['mw'].', '.$row['jg'].')', 'zeit' => text_format($row['zeit'], 'schwimmzeit') ); if($strecke['_meldezeiten'] == 1){ $tmp['meldezeit'] = text_format($row['meldezeit'], 'schwimmzeit'); } if($strecke['_plaetze'] == 1){ $tmp['platz'] = !is_null($row['platz'])?$row['platz']:''; if(!is_null($row['platzvon'])){ $tmp['platz'] .= ' von '.$row['platzvon']; } } if($strecke['_sonstiges'] == 1){ $tmp['sonstiges'] = isset($row['_sonstiges'])?$row['_sonstiges']:''; } $daten[] = $tmp; } $y = $pdf->ezTable($daten,$spalten,'',$optionen); $pdf->ezSetDy(-3); } if(count($strecke['_ds'])>0){ if($y < 70 and $y > 50){ $pdf->eznewPage(); } $y = $pdf->ezText('disqualifiziert',$_schriftgroesse+1); $text = array(); foreach($strecke['_ds'] as $mid => $row){ $text[] = '- '.$row['nachname'].', '.$row['vorname'].' ('.$row['mw'].', '.$row['jg'].') - '.$row['bemerkung'].(isset($row['zeit'])?' (Zeit: '.$row['zeit'].')':''); } $y = $pdf->ezText(implode("\n",$text),$_schriftgroesse); $pdf->ezSetDy(-3); } if(count($strecke['_na'])>0){ if($y < 70 and $y > 50){ $pdf->eznewPage(); } $y = $pdf->ezText('nicht am Start',$_schriftgroesse+1); $text = array(); foreach($strecke['_na'] as $row){ $text[] = '- '.$row['nachname'].', '.$row['vorname'].' ('.$row['mw'].', '.$row['jg'].')'; } $y = $pdf->ezText(implode("\n",$text),$_schriftgroesse); $pdf->ezSetDy(-3); } if(count($strecke['_au'])>0){ if($y < 70 and $y > 50){ $pdf->eznewPage(); } $y = $pdf->ezText('aufgegeben',$_schriftgroesse+1); $text = array(); foreach($strecke['_au'] as $row){ $text[] = '- '.$row['nachname'].', '.$row['vorname'].' ('.$row['mw'].', '.$row['jg'].')'; } $y = $pdf->ezText(implode("\n",$text),$_schriftgroesse); $pdf->ezSetDy(-3); } if(count($strecke['_ab'])>0){ if($y < 70 and $y > 50){ $pdf->eznewPage(); } $y = $pdf->ezText('abgemeldet',$_schriftgroesse+1); $text = array(); foreach($strecke['_ab'] as $row){ $text[] = '- '.$row['nachname'].', '.$row['vorname'].' ('.$row['mw'].', '.$row['jg'].')'; } $y = $pdf->ezText(implode("\n",$text),$_schriftgroesse); $pdf->ezSetDy(-3); } if($y < 120){ $pdf->eznewPage(); } else{ $pdf->ezSetDy(-9); } } foreach($zeiten['staffel'] as $key => $strecke){ $y = $pdf->ezText(''.$strecke['_titel'].'',$_schriftgroesse+3); $pdf->ezSetDy(-3); $namebreite = 0; $daten = $spalten = array(); $spalten['gesamtzeit'] = 'Zeit'; $spalten['name'] = 'Einzelzeiten/Name'; if($strecke['_plaetze'] == 1){ $spalten['platz'] = 'Platz'; } if($strecke['_sonstiges'] == 1){ $spalten['sonstiges'] = 'Sonstiges'; } foreach($strecke['_zeiten'] as $row){ $tmp = array(); $tmp['gesamtzeit'] = !is_null($row['gesamtzeit'])?text_format($row['gesamtzeit'],'schwimmzeit'):'-'; $n = array(); foreach($row['_schwimmer'] as $nr => $schw){ $t = $nr.'. '.($schw['zeitsumme'] !== false?text_format($schw['zeitsumme'],'schwimmzeit').' ('.text_format($schw['zeit'],'schwimmzeit').') ':''); $t .= $schw['nachname'].', '.$schw['vorname'].' ('.$schw['mw'].', '.$schw['jg'].')'; $w = $pdf->tkgetTextWidth($_schriftgroesse,$t)+9; if($w > $namebreite){ $namebreite = $w; } $n[] = $t; } $tmp['name'] = implode("\n",$n); if($strecke['_meldezeiten'] == 1){ $tmp['meldezeit'] = $row['meldezeit']; } if($strecke['_plaetze'] == 1){ if($row['platz']=='DS'){ $tmp['platz'] = 'disqualifiziert '.$row['_dsnr'].')'; } else{ $tmp['platz'] = !is_null($row['platz'])?$row['platz']:''; if(!is_null($row['platzvon'])){ $tmp['platz'] .= ' von '.$row['platzvon']; } } } if($strecke['_sonstiges'] == 1){ $tmp['sonstiges'] = isset($row['_sonstiges'])?$row['_sonstiges']:''; } $daten[] = $tmp; } $tmpoptionen = $optionen; $tmpoptionen['cols']['name']['width'] = $namebreite; $y = $pdf->ezTable($daten,$spalten,'',$tmpoptionen); $pdf->ezSetDy(-3); if(count($strecke['_ds'])>0){ if($y < 70 and $y > 50){ $pdf->eznewPage(); } $y = $pdf->ezText('Disqualifikationsbegründungen',$_schriftgroesse+1); $text = array(); foreach($strecke['_ds'] as $nr => $dsbem){ $text[] = $nr.'): '.$dsbem; } $y = $pdf->ezText(implode("\n",$text),$_schriftgroesse); $pdf->ezSetDy(-3); } if($y < 140){ $pdf->eznewPage(); } else{ $pdf->ezSetDy(-9); } } # Optionen für die Tabellen mit der Statistik und den Abkürzungen $optionen = array( 'fontSize' => $pdf->tk_schriftgroesse, 'xPos' => 55, 'xOrientation' => 'right', 'showHeadings' => 0, 'shaded' => 0, 'showLines' => 0, 'colGap' => 4, 'rowGap' => 2 ); # Statistik einbauen if($zeiten['statistik'] !== false){ $statistik = array(); $statistik[] = array('Teilnehmer:', $zeiten['statistik']['schwimmer'].' ('.$zeiten['statistik']['startsproschwimmer'].' Starts pro Schwimmer)'); if($zeiten['statistik']['einzelstarts']>0){ $statistik[] = array('Einzelstarts:', $zeiten['statistik']['einzelstarts']); } if($zeiten['statistik']['staffelstarts']>0){ $statistik[] = array('Staffelstarts:', $zeiten['statistik']['staffelstarts'].' ('.$zeiten['statistik']['staffelteilnehmer'].' Staffelteilnehmer)'); } if($zeiten['statistik']['VR']>0){ $statistik[] = array('Vereinsrekorde:', $zeiten['statistik']['VR']); } if($zeiten['statistik']['VJR']>0){ $statistik[] = array('Vereinsjahrgangsrekorde:', $zeiten['statistik']['VJR']); } if($zeiten['statistik']['HoF']>0){ $statistik[] = array('Hall-of-Fame-Einträge:', $zeiten['statistik']['HoF']); } if($zeiten['statistik']['PB']>0){ $statistik[] = array('persönliche Bestzeiten:', $zeiten['statistik']['PB']); } if($y < 20){ $pdf->eznewPage(); } $y = $pdf->ezText('Statistik',$_schriftgroesse+2); $y = $pdf->ezTable($statistik,'','',$optionen); $y += 12; } # Legende einbauen $tabelle = array( array('VR', 'Vereinsrekord'), array('VJR', 'Vereinsjahrgangsrekord'), array('PB', 'persönliche Bestzeit (PB25 und PB50 sind persönliche Bestzeiten auf der 25m- bzw. 50m-Bahn)'), array('HoF', 'diese Zeit steht in der Hall of Fame; bei HoF11 steht die Zeit in der Hall of Fame der bis 11 jährigen'), array('Zwzeit', 'Zwischenzeiten') ); $y -= 23; $pdf->ezSetDy(-10); if($y < 20){ $pdf->eznewPage(); } $pdf->line(50, $y, 150, $y); $y = $pdf->ezText('Abkürzungen',$_schriftgroesse+1); $pdf->ezTable($tabelle,'','',$optionen); $pdf->tkstream('auswertung.pdf'); } else{ $conf = array( 'rekordeverlinken' => true, 'zusammenfassenbis' => 5, # Einzelstarts werden zusammengefasst, wenn bei beiden Geschlechtern höchstens X Starts vorhanden sind 'statistik' => true, 'rekordversuche' => $rekordversuche ); $zeiten = $wk->holeWettkampfauswertung($_GET['id'], $conf); $_tmpl->assign('einzelzeiten',$zeiten['einzel']); $_tmpl->assign('staffelzeiten',$zeiten['staffel']); $_tmpl->assign('statistik',$zeiten['statistik']); $_tmpl->assign('rekordversuche',$rekordversuche); $_tmpl->assign('bodyid','ergebnisse'); $_inh .= $_tmpl->fetch('wettkaempfe/47.ergebnisse.inc.html'); } } # Ende Rechte-else, EOF ?>