tmpl = &$_tmpl;
$wk->db = &$_db;
$wk->conf = array('lagen'=>$_lagen,'wkarten'=>$_wkarten,'altersklassen'=>$_altersklassen,'_gleinst'=>$_gleinst);
$strecken = array(
1 => array(50,100,200,400,800,1500),
2 => array(50,100,200),
3 => array(50,100,200),
4 => array(50,100,200),
5 => array(100,200,400)
);
$_GET['aktion'] = isset($_GET['aktion'])?$_GET['aktion']:'';
switch($_GET['aktion']){
case 'anzeigen':
$_tmpl->assign('ueberschrift','Pflichtzeiten anzeigen');
# pruefen ob Pflichtzeit existiert, Daten holen
$query = "SELECT id, bezeichnung, richtpflicht, offiziell FROM ".DB_PREFIX."pflichtzeiten WHERE id = '".text_format($_GET['id'],'db')."'";
$_db->holeDaten($query);
if($_db->holeAnzahl() != 1){
$_tmpl->assign('fehler','Die Pflichtzeiten existieren nicht');
break;
}
$row = $_db->holeZeile();
$daten = array();
$daten['_pflichtzeiten'] = $row;
$daten['titel'] = $row['bezeichnung'].' ('.($row['offiziell']==1?'':'nicht ').'offizielle '.($row['richtpflicht']=='p'?'Pflicht':'Richt').'zeiten)';
# Jahrgaenge holen
$query = "SELECT id, jahrgang, pos FROM ".DB_PREFIX."pflichtzeiten_jahrgaenge WHERE pflichtzeitenid = ".$_GET['id']." ORDER BY pos";
$_db->holeDaten($query);
if($_db->holeAnzahl() < 1){
$_tmpl->assign('fehler','Es wurden noch keine Jahrgänge angelegt');
break;
}
$daten['jahrgaenge'] = $_db->baueArray('*','id');
# Strecken holen
$query = "SELECT id, disziplin, laenge, mw FROM ".DB_PREFIX."pflichtzeiten_strecken
WHERE pflichtzeitenid = ".$_GET['id']." ORDER BY disziplin, laenge, mw";
$_db->holeDaten($query);
if($_db->holeAnzahl() < 1){
$_tmpl->assign('fehler','Es wurden noch keine Strecken angelegt');
break;
}
$daten['strecken'] = $_db->baueArray('*','id');
foreach($daten['strecken'] as $sid => $strecke){
$daten['strecken'][$sid]['disziplin'] = $_lagen[$strecke['disziplin']];
}
$jahr = (isset($_GET['jahr']) and preg_match('~^[0-9]{4}$~D',$_GET['jahr']))?$_GET['jahr']:date('Y');
foreach($daten['jahrgaenge'] as $jid => $jahrgang){
if($jahrgang['jahrgang'] == '*'){
$daten['jahrgaenge'][$jid]['jahrgang'] = 'offen';
continue;
}
$ende = '';
if(substr($jahrgang['jahrgang'],-1)=='+'){
$ende = '+';
$jahrgang['jahrgang'] = substr($jahrgang['jahrgang'],0,-1);
}
if(substr($jahrgang['jahrgang'],-1)=='-'){
$ende = '-';
$jahrgang['jahrgang'] = substr($jahrgang['jahrgang'],0,-1);
}
if(preg_match('~^[0-9]+$~',$jahrgang['jahrgang'])){
$daten['jahrgaenge'][$jid]['jahrgang'] = $jahr-$jahrgang['jahrgang'];
}
elseif(in_array($jahrgang['jahrgang'],array_keys($_altersklassen))){
if(strlen($jahrgang['jahrgang'])==2){
$daten['jahrgaenge'][$jid]['jahrgang'] = 'Jugend '.strtoupper($jahrgang['jahrgang'][1]);
}
elseif($jahrgang['jahrgang']=='junioren'){
$daten['jahrgaenge'][$jid]['jahrgang'] = 'Junioren';
}
else{
$daten['jahrgaenge'][$jid]['jahrgang'] = strtoupper($jahrgang['jahrgang']);
}
}
$daten['jahrgaenge'][$jid]['jahrgang'] .= $ende;
}
if(!isset($_POST['speichern'])){
$daten['_zeiten'] = array();
foreach($daten['strecken'] as $sid => $strecke){
$daten['_zeiten'][$sid] = array();
foreach($daten['jahrgaenge'] as $jid => $jahrgang){
$daten['_zeiten'][$sid][$jid] = '';
}
}
# Zeiten holen
$query = "SELECT streckenid, jahrgangid, zeit FROM ".DB_PREFIX."pflichtzeiten_zeiten
WHERE streckenid IN (".implode(', ',array_keys($daten['strecken'])).") AND
jahrgangid IN (".implode(', ',array_keys($daten['jahrgaenge'])).")";
$_db->holeDaten($query);
if($_db->ergebnis['anzahl'] > 0){
foreach($_db->ergebnis['daten'] as $row){
$row['zeit'] = text_format($row['zeit'],'schwimmzeit');
if(substr($row['zeit'],-2) == '00'){
$row['zeit'] = substr($row['zeit'],0,-3);
}
$daten['_zeiten'][$row['streckenid']][$row['jahrgangid']] = $row['zeit'];
}
}
}
if(isset($_GET['pdf'])){
$pdfdaten = array();
$pdfdaten[0][0] = 'Strecke';
foreach($daten['jahrgaenge'] as $jg){
$pdfdaten[0][] = ''.$jg['jahrgang'].'';
}
foreach($daten['strecken'] as $key => $strecke){
$pdfdaten[$key][0] = ''.$strecke['laenge'].' '.$strecke['disziplin'].' '.$strecke['mw'].'';
foreach($daten['_zeiten'][$key] as $zeit){
$pdfdaten[$key][] = $zeit;
}
}
$titel = ($daten['_pflichtzeiten']['offiziell']==0?'in':'').'offizielle ';
$titel .= ($daten['_pflichtzeiten']['richtpflicht']=='r'?'Richt':'Pflicht').'zeiten';
$titel .= ' ('.$daten['_pflichtzeiten']['bezeichnung'].') Jahr: '.$jahr;
require_once('class/pdf.inc.php');
$pdf = new tkpdf(12, 'quer');
$pdf->tkseitentitel($titel);
$optionen = array(
'fontSize' => $pdf->tk_schriftgroesse,
'titelFontSize' => $pdf->tk_schriftgroesse,
'xPos' => 50,
'xOrientation' => 'right',
'showHeadings' => 0,
'shaded' => 0,
'showLines' => 2,
'colGap' => 10,
'rowGap' => 1,
'maxWidth' => 770,
'innerLineThickness' => 0.5,
'outerLineThickness' => 1.5,
'cols' => array(
0 => array('width' => 138) # 0 = Spalte mit der Strecke
)
);
$pdf->ezTable($pdfdaten,'','',$optionen);
$pdf->tk_autor = $_SESSION['user']['realname'];
$pdf->tk_titel = $titel;
$pdf->tkstream('pflichtzeiten_'.$jahr.'.pdf');
}
$_tmpl->assign('daten',$daten);
$_tmpl->assign('jahr',$jahr);
$_inh .= $_tmpl->fetch('wettkaempfe/45.pflichtzeiten-anzeigen.inc.html');
break;
case 'zeitenbearbeiten':
if(!pruefeRechte('w_pflichtzeiten_bearbeiten')){
$_inh = T_KEINZUGRIFF;
break;
}
$_tmpl->assign('ueberschrift','Pflichtzeiten bearbeiten');
# pruefen ob Pflichtzeit existiert, Daten holen
$query = "SELECT id, bezeichnung, richtpflicht, offiziell FROM ".DB_PREFIX."pflichtzeiten WHERE id = '".text_format($_GET['id'],'db')."'";
$_db->holeDaten($query);
if($_db->ergebnis['anzahl'] != 1){
$_tmpl->assign('fehler','Die Pflichtzeiten existieren nicht');
break;
}
$row = $_db->holeZeile();
$daten = array();
$daten['titel'] = $row['bezeichnung'].' ('.($row['offiziell']==1?'':'nicht ').'offizielle '.($row['richtpflicht']=='p'?'Pflicht':'Richt').'zeiten)';
# Jahrgaenge holen
$query = "SELECT id, jahrgang, pos FROM ".DB_PREFIX."pflichtzeiten_jahrgaenge WHERE pflichtzeitenid = ".$_GET['id']." ORDER BY pos";
$_db->holeDaten($query);
if($_db->holeAnzahl() < 1){
$_tmpl->assign('fehler','Es wurden noch keine Jahrgänge angelegt');
break;
}
$daten['jahrgaenge'] = $_db->baueArray('*','id');
# Strecken holen
$query = "SELECT id, disziplin, laenge, mw FROM ".DB_PREFIX."pflichtzeiten_strecken
WHERE pflichtzeitenid = ".$_GET['id']." ORDER BY disziplin, laenge, mw";
$_db->holeDaten($query);
if($_db->holeAnzahl() < 1){
$_tmpl->assign('fehler','Es wurden noch keine Strecken angelegt');
break;
}
$daten['strecken'] = $_db->baueArray('*','id');
foreach($daten['strecken'] as $sid => $strecke){
$daten['strecken'][$sid]['disziplin'] = $_lagen[$strecke['disziplin']];
}
foreach($daten['jahrgaenge'] as $jid => $jahrgang){
$ende = '';
if(substr($jahrgang['jahrgang'],-1)=='+'){
$ende = '+';
$jahrgang['jahrgang'] = substr($jahrgang['jahrgang'],0,-1);
}
if(substr($jahrgang['jahrgang'],-1)=='-'){
$ende = '-';
$jahrgang['jahrgang'] = substr($jahrgang['jahrgang'],0,-1);
}
if(preg_match('~^[0-9]+$~',$jahrgang['jahrgang'])){
$daten['jahrgaenge'][$jid]['jahrgang'] = date('Y')-$jahrgang['jahrgang'];
}
elseif(in_array($jahrgang['jahrgang'],array_keys($_altersklassen))){
if(strlen($jahrgang['jahrgang'])==2){
$daten['jahrgaenge'][$jid]['jahrgang'] = 'Jugend '.strtoupper($jahrgang['jahrgang'][1]);
}
elseif($jahrgang['jahrgang']=='junioren'){
$daten['jahrgaenge'][$jid]['jahrgang'] = 'Junioren';
}
else{
$daten['jahrgaenge'][$jid]['jahrgang'] = strtoupper($jahrgang['jahrgang']);
}
}
$daten['jahrgaenge'][$jid]['jahrgang'] .= $ende;
}
if(!isset($_POST['speichern'])){
$daten['_zeiten'] = array();
foreach($daten['strecken'] as $sid => $strecke){
$daten['_zeiten'][$sid] = array();
foreach($daten['jahrgaenge'] as $jid => $jahrgang){
$daten['_zeiten'][$sid][$jid] = '';
}
}
# Zeiten holen
$query = "SELECT streckenid, jahrgangid, zeit FROM ".DB_PREFIX."pflichtzeiten_zeiten
WHERE streckenid IN (".implode(', ',array_keys($daten['strecken'])).") AND
jahrgangid IN (".implode(', ',array_keys($daten['jahrgaenge'])).")";
$_db->holeDaten($query);
if($_db->holeAnzahl() > 0){
foreach($_db->baueArray('*','#') as $row){
$daten['_zeiten'][$row['streckenid']][$row['jahrgangid']] = text_format($row['zeit'],'schwimmzeit');
}
}
}
else{
require_once('func/pruefen.inc.php');
$f = '';
foreach($_POST['zeiten'] as $sid => $strecken){
foreach($strecken as $jid => $zeit){
$_POST['zeiten'][$sid][$jid] = $zeit = trim($zeit);
$tmp = pruefen($zeit,'schwimmzeit','-');
if(!empty($tmp)){
$zeit .= ',0';
$tmp = pruefen($zeit,'schwimmzeit','-');
if(!empty($tmp)){
$zeit = substr($zeit,0,-2);
$f .= 'Die Zeit ist ungültig (»'.text_format($zeit,'htmlmaskieren').'«)
';
}
else{
$_POST['zeiten'][$sid][$jid] = text_format($zeit,'schwimmzeit');
}
}
else{
$_POST['zeiten'][$sid][$jid] = text_format($zeit,'schwimmzeit');
}
}
}
if(!empty($f)){
$_tmpl->assign('fehler',$f);
$daten['_zeiten'] = $_POST['zeiten'];
}
else{
$query = "DELETE FROM ".DB_PREFIX."pflichtzeiten_zeiten
WHERE streckenid IN (".implode(', ',array_keys($daten['strecken'])).") AND
jahrgangid IN (".implode(', ',array_keys($daten['jahrgaenge'])).")";
$_db->fuehreQueryAus($query);
$query = "INSERT INTO ".DB_PREFIX."pflichtzeiten_zeiten (jahrgangid,streckenid,zeit) VALUES ";
$queryteile = array();
foreach($_POST['zeiten'] as $sid => $strecken){
foreach($strecken as $jid => $zeit){
if(empty($zeit)){
continue;
}
$tmp = pruefen($zeit,'schwimmzeit','-');
$queryteile[] = '('.$jid.', '.$sid.', '.$zeit.')';
}
}
if(count($queryteile)>0){
$query .= implode(', ',$queryteile);
$_db->fuehreQueryAus($query);
}
weiterleiten('/wettkaempfe/pflichtzeiten.html?aktion=zeitenbearbeiten&id='.$_GET['id'],'Die Änderungen wurden gespeichert');
}
}
$_tmpl->assign('daten',$daten);
$_inh .= $_tmpl->fetch('wettkaempfe/45.pflichtzeiten-zeiten.inc.html');
break;
case 'anlegen':
if(!pruefeRechte('w_pflichtzeiten_bearbeiten')){
$_inh = T_KEINZUGRIFF;
break;
}
$_tmpl->assign('ueberschrift','Pflichtzeiten anlegen');
if(isset($_POST['speichern'])){
require_once('func/pruefen.inc.php');
$f = '';
$f .= pruefen($_POST['daten']['bezeichnung'],'leer','Die Bezeichnung fehlt');
$f .= pruefen($_POST['daten']['bezeichnung'],'maxlaenge','Die Bezeichnung ist zu lang (max. 100 Zeichen)',100);
if(!isset($_POST['daten']['richtpflicht'])){
$f .= 'Die Richt-/Pflichtzeit-Angabe fehlt
';
}
elseif(!in_array($_POST['daten']['richtpflicht'],array('p','r'))){
$f .= 'Die Richt-/Pflichtzeit-Angabe ist ungültig
';
}
$f .= pruefen($_POST['daten']['sort'],'leer','Der sort-Wert fehlt');
$f .= pruefen($_POST['daten']['sort'],'zahl','Der sort-Wert ist keine Zahl');
$f .= pruefen($_POST['daten']['sort'],'maxlaenge','Der sort-Wert ist zu lang (max. 3 Zeichen)',3);
if(empty($f)){
$query = "INSERT INTO ".DB_PREFIX."pflichtzeiten (bezeichnung,richtpflicht,offiziell,sort)
VALUES ('".text_format($_POST['daten']['bezeichnung'],'db')."',
'".$_POST['daten']['richtpflicht']."',
".(isset($_POST['daten']['offiziell'])?1:0).",
'".text_format($_POST['daten']['sort'],'db')."')";
$_db->fuehreQueryAus($query);
$pid = $_db->ergebnis['insertid'];
weiterleiten('/wettkaempfe/pflichtzeiten.html?aktion=bearbeiten&id='.$pid,'Die Pflichtzeiten wurden angelegt.');
}
else{
$_tmpl->assign('fehler',$f);
$_tmpl->assign('daten',$_POST['daten']);
}
}
$_inh .= $_tmpl->fetch('wettkaempfe/45.pflichtzeiten-anlegen.inc.html');
break;
case 'bearbeiten':
if(!pruefeRechte('w_pflichtzeiten_bearbeiten')){
$_inh = T_KEINZUGRIFF;
break;
}
$_tmpl->assign('ueberschrift','Pflichtzeiten bearbeiten');
$query = "SELECT id, bezeichnung, richtpflicht, offiziell, sort FROM ".DB_PREFIX."pflichtzeiten WHERE id = '".text_format($_GET['id'],'db')."'";
$_db->holeDaten($query);
if($_db->holeAnzahl() != 1){
$_tmpl->assign('fehler','Die Pflichtzeiten existieren nicht');
break;
}
$daten['grunddaten'] = $_db->holeZeile();
function jahrgaengesortieren($a, $b){
if($a['pos'] == $b['pos']){
return 0;
}
return ($a['pos'] == $b['pos'])?-1:1;
}
if(isset($_POST['aktionausfuehren'])){
if(isset($_POST['aktionen']['nachoben'])){
$jid = key($_POST['aktionen']['nachoben']);
if($_POST['aktionen']['nachoben'][$jid]['pos'] == 1){
$_tmpl->assign('fehler','Der Jahrgang kann nicht nach oben verschoben werden');
}
else{
foreach($_POST['daten']['jahrgaenge'] as $jahrgangid => $jahrgang){
if($jahrgang['pos'] == $_POST['daten']['jahrgaenge'][$jid]['pos']-1){
$_POST['daten']['jahrgaenge'][$jahrgangid]['pos']++;
break;
}
}
$_POST['daten']['jahrgaenge'][$jid]['pos']--;
$ids = array();
foreach($_POST['daten']['jahrgaenge'] as $jahrgangid => $jahrgang){
$ids[$jahrgangid] = $jahrgang['pos'];
}
}
asort($ids);
$jahrgaenge = $_POST['daten']['jahrgaenge'];
$_POST['daten']['jahrgaenge'] = array();
foreach($ids as $jid => $pos){
$_POST['daten']['jahrgaenge'][$jid] = $jahrgaenge[$jid];
}
}
elseif(isset($_POST['aktionen']['nachunten'])){
$jid = key($_POST['aktionen']['nachunten']);
if($_POST['aktionen']['nachunten'][$jid]['pos'] == count($_POST['daten']['jahrgaenge'])){
$_tmpl->assign('fehler','Der Jahrgang kann nicht nach unten verschoben werden');
}
else{
foreach($_POST['daten']['jahrgaenge'] as $jahrgangid => $jahrgang){
if($jahrgang['pos'] == $_POST['daten']['jahrgaenge'][$jid]['pos']+1){
$_POST['daten']['jahrgaenge'][$jahrgangid]['pos']--;
break;
}
}
$_POST['daten']['jahrgaenge'][$jid]['pos']++;
$ids = array();
foreach($_POST['daten']['jahrgaenge'] as $jahrgangid => $jahrgang){
$ids[$jahrgangid] = $jahrgang['pos'];
}
}
asort($ids);
$jahrgaenge = $_POST['daten']['jahrgaenge'];
$_POST['daten']['jahrgaenge'] = array();
foreach($ids as $jid => $pos){
$_POST['daten']['jahrgaenge'][$jid] = $jahrgaenge[$jid];
}
}
elseif(isset($_POST['jahrganganlegen'])){
$i = 1;
if(!isset($_POST['daten']['jahrgaenge'])){
$_POST['daten']['jahrgaenge'] = array();
}
else{
while(isset($_POST['daten']['jahrgaenge']['neu'.$i])){
$i++;
}
}
$_POST['daten']['jahrgaenge']['neu'.$i] = array('jahrgang'=>'','pos'=>count($_POST['daten']['jahrgaenge'])+1);
}
elseif(isset($_POST['speichern'])){
require_once('func/pruefen.inc.php');
$f = '';
# Grunddaten
$f .= pruefen($_POST['daten']['grunddaten']['bezeichnung'],'leer','Die Bezeichnung fehlt');
$f .= pruefen($_POST['daten']['grunddaten']['bezeichnung'],'maxlaenge','Die Bezeichnung ist zu lang (max. 100 Zeichen)',100);
if(!isset($_POST['daten']['grunddaten']['richtpflicht'])){
$f .= 'Die Richt-/Pflichtzeit-Angabe fehlt
';
}
elseif(!in_array($_POST['daten']['grunddaten']['richtpflicht'],array('p','r'))){
$f .= 'Die Richt-/Pflichtzeit-Angabe ist ungültig
';
}
$f .= pruefen($_POST['daten']['grunddaten']['sort'],'leer','Der sort-Wert fehlt');
$f .= pruefen($_POST['daten']['grunddaten']['sort'],'zahl','Der sort-Wert ist keine Zahl');
$f .= pruefen($_POST['daten']['grunddaten']['sort'],'maxlaenge','Der sort-Wert ist zu lang (max. 3 Zeichen)',3);
# Jahrgaenge
if(isset($_POST['daten']['jahrgaenge'])){
$jgloeschen = false;
if(isset($_POST['aktionen']) and isset($_POST['aktionen']['loeschen']) and count($_POST['aktionen']['loeschen']) >= 1){
$jgloeschen = true;
}
foreach($_POST['daten']['jahrgaenge'] as $jgid => $jg){
if($jgloeschen and in_array($jgid, $_POST['aktionen']['loeschen'])){
unset($_POST['daten']['jahrgaenge'][$jgid]);
continue;
}
$f .= pruefen($_POST['daten']['jahrgaenge'][$jgid]['jahrgang'],'leer','Die Jahrgänge müssen alle ausgefüllt sein.');
$f .= pruefen($_POST['daten']['jahrgaenge'][$jgid]['jahrgang'],'maxlaenge', 'Die Jahrgänge dürfen maximal 50 Zeichen lang sein
(der Jahrgang »'.text_format(substr($jg['jahrgang'],0,70),'htmlmaskieren').'« ist zu lang)', 50);
$f .= pruefen($_POST['daten']['jahrgaenge'][$jgid]['pos'],'zahl','Die Position ist ungültig');
}
if($jgloeschen){
$i = 1;
foreach($_POST['daten']['jahrgaenge'] as $jgid => $jg){
$_POST['daten']['jahrgaenge'][$jgid]['pos'] = $i;
$i++;
}
}
}
# Strecken
if(isset($_POST['daten']['strecken'])){
foreach($_POST['daten']['strecken'] as $key => $strecke){
list($disziplin,$laenge,$mw) = explode(' ',$strecke,3);
$f .= pruefen($disziplin,'wertemenge','die Strecke ist ungültig.',array_keys($_lagen));
$f .= pruefen($laenge,'wertemenge','die Strecke ist ungültig.',array('50','100','200','400','800','1500'));
$f .= pruefen($mw,'wertemenge','die Strecke ist ungültig.',array('m','w'));
}
}
if(!empty($f)){
$_tmpl->assign('fehler',$f);
}
else{ # Daten speichern
# vorhanden Jahrgaenge und Strecken holen
$vorhandene = array();
$query = "SELECT id FROM ".DB_PREFIX."pflichtzeiten_jahrgaenge WHERE pflichtzeitenid = ".$_GET['id']." ORDER BY pos";
$_db->holeDaten($query);
$vorhandene['jahrgaenge'] = $_db->baueArray('id','id');
$query = "SELECT id, CONCAT(disziplin, ' ', laenge, ' ', mw) as strecke FROM ".DB_PREFIX."pflichtzeiten_strecken
WHERE pflichtzeitenid = ".$_GET['id']." ORDER BY disziplin, laenge";
$_db->holeDaten($query);
$vorhandene['strecken'] = $_db->baueArray('strecke','id');
# Grunddaten speichern
$gd = $_POST['daten']['grunddaten'];
$query = "UPDATE ".DB_PREFIX."pflichtzeiten SET bezeichnung = '".text_format($gd['bezeichnung'],'db')."',
richtpflicht = '".$gd['richtpflicht']."', offiziell = ".(isset($gd['offiziell'])?1:0).",
sort = '".text_format($gd['sort'],'db')."' WHERE id = ".$_GET['id']."";
$_db->fuehreQueryAus($query);
# Jahrgaenge speichern
if(isset($_POST['daten']['jahrgaenge'])){
foreach($_POST['daten']['jahrgaenge'] as $jgid => $jg){
if(substr($jgid,0,3) == 'neu'){
$query = "INSERT INTO ".DB_PREFIX."pflichtzeiten_jahrgaenge (pflichtzeitenid, jahrgang, pos) VALUES
(".$_GET['id'].", '".text_format($jg['jahrgang'],'db')."', ".$jg['pos'].")";
$_db->fuehreQueryAus($query);
}
else{
$query = "UPDATE ".DB_PREFIX."pflichtzeiten_jahrgaenge SET jahrgang = '".text_format($jg['jahrgang'],'db')."',
pos = ".$jg['pos']." WHERE id = ".$jgid."";
unset($vorhandene['jahrgaenge'][$jgid]);
$_db->fuehreQueryAus($query);
}
}
}
if(count($vorhandene['jahrgaenge'])>0){
$query = "DELETE FROM ".DB_PREFIX."pflichtzeiten_jahrgaenge WHERE id IN (".implode(', ',$vorhandene['jahrgaenge']).")";
$_db->fuehreQueryAus($query);
$query = "DELETE FROM ".DB_PREFIX."pflichtzeiten_zeiten WHERE jahrgangid IN (".implode(', ',$vorhandene['jahrgaenge']).")";
$_db->fuehreQueryAus($query);
}
# Strecken speichern
if(isset($_POST['daten']['strecken'])){
$schreiben = array();
foreach($_POST['daten']['strecken'] as $strecke){
if(in_array($strecke,$vorhandene['strecken'])){
$vkey = array_search($strecke,$vorhandene['strecken']);
unset($vorhandene['strecken'][$vkey]);
continue;
}
$schreiben[] = $strecke;
}
if(count($schreiben) > 0){
$query = "INSERT INTO ".DB_PREFIX."pflichtzeiten_strecken (pflichtzeitenid, disziplin, laenge, mw) VALUES ";
$queryteile = array();
foreach($schreiben as $strecke){
list($disziplin,$laenge,$mw) = explode(' ',$strecke,3);
$queryteile[] = "(".$_GET['id'].", ".$disziplin.", ".$laenge.", '".$mw."')";
}
$query .= implode(', ',$queryteile);
$_db->fuehreQueryAus($query);
}
}
if(count($vorhandene['strecken'])>0){
$query = "DELETE FROM ".DB_PREFIX."pflichtzeiten_strecken WHERE id IN (".implode(', ',array_keys($vorhandene['strecken'])).")";
$_db->fuehreQueryAus($query);
$query = "DELETE FROM ".DB_PREFIX."pflichtzeiten_zeiten WHERE streckenid IN (".implode(', ',array_keys($vorhandene['strecken'])).")";
$_db->fuehreQueryAus($query);
}
weiterleiten('/wettkaempfe/pflichtzeiten.html?aktion=bearbeiten&id='.$_GET['id'],'Die Änderungen wurden gespeichert');
}
}
$_tmpl->assign('daten',$_POST['daten']);
}
else{
# Jahrgaenge holen
$query = "SELECT id, jahrgang, pos FROM ".DB_PREFIX."pflichtzeiten_jahrgaenge WHERE pflichtzeitenid = ".$_GET['id']." ORDER BY pos";
$_db->holeDaten($query);
$daten['jahrgaenge'] = $_db->baueArray('*','id');
# Strecken holen
$query = "SELECT id, CONCAT(disziplin, ' ', laenge, ' ', mw) as strecke FROM ".DB_PREFIX."pflichtzeiten_strecken
WHERE pflichtzeitenid = ".$_GET['id']." ORDER BY disziplin, laenge";
$_db->holeDaten($query);
$daten['strecken'] = $_db->baueArray('strecke','id');
$_tmpl->assign('daten',$daten);
}
$_tmpl->assign('strecken',$strecken);
$_tmpl->assign('disziplinen',$_lagen);
$_inh .= $_tmpl->fetch('wettkaempfe/45.pflichtzeiten-formular.inc.html');
break;
default:
$_tmpl->assign('ueberschrift','Pflichtzeiten');
$query = "SELECT id, bezeichnung, richtpflicht, offiziell FROM ".DB_PREFIX."pflichtzeiten ORDER BY sort, bezeichnung";
$_db->holeDaten($query);
$pflichtzeiten = $_db->baueArray('*','#');
$_tmpl->assign('pflichtzeiten',$pflichtzeiten);
$_inh .= $_tmpl->fetch('wettkaempfe/45.pflichtzeiten-index.inc.html');
break;
}
} # Ende Rechte-else, EOF
?>