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
?>