assign('ueberschrift','Mitglieder in Trainingsgruppen'); if(!$erlaubt){ $_inh = T_KEINZUGRIFF; } else{ $_GET['aktion'] = isset($_GET['aktion'])?$_GET['aktion']:''; $_tmpl->assign('wochentage',$_wochentage); switch($_GET['aktion']){ case 'hinzufuegen': if(!pruefeRechte('tr_gruppen_mitglieder_bearbeiten')){ $_inh = T_KEINZUGRIFF; break; } if(!isset($_GET['id'])){ require_once('func/mitgliedwaehlen.inc.php'); $_inh .= mitgliedwaehlen('/training/mitglieder.html', 'aktion=hinzufuegen&grid='.$_GET['grid']); } else{ $query = "SELECT mitgliedid, trainingsgruppenid FROM ".DB_PREFIX."mitglieder_trainingsgruppen WHERE mitgliedid = ".$_GET['id']." AND trainingsgruppenid = ".$_GET['grid'].""; $_db->holeDaten($query); if($_db->holeAnzahl() == 0){ $query = "INSERT INTO ".DB_PREFIX."mitglieder_trainingsgruppen SET mitgliedid = ".$_GET['id'].", trainingsgruppenid = ".$_GET['grid'].""; $_db->fuehreQueryAus($query); weiterleiten('/training/mitglieder.html?grid='.$_GET['grid'],'Das Mitglied wurde hinzugefügt'); } else{ weiterleiten('/training/mitglieder.html?grid='.$_GET['grid'],'Das Mitglied war bereits Mitglied in der Gruppe'); } } break; case 'loeschen': if(!pruefeRechte('tr_gruppen_mitglieder_bearbeiten')){ $_inh = T_KEINZUGRIFF; break; } if(!isset($_GET['sicher'])){ $_tmpl->assign('frage','Soll das Mitglied wirklich aus der Gruppe entfernt werden?'); $_tmpl->assign('query','grid='.$_GET['grid']); $_tmpl->assign('url', '/training/mitglieder.html'); $_inh .= $_tmpl->fetch('tools/9902.loeschfrage.inc.html'); } else{ $query = "DELETE FROM ".DB_PREFIX."mitglieder_trainingsgruppen WHERE trainingsgruppenid = ".$_GET['grid']." AND mitgliedid = ".$_GET['id'].""; $_db->fuehreQueryAus($query); weiterleiten('/training/mitglieder.html?grid='.$_GET['grid'],'Das Mitglied wurde aus der Gruppe gelöscht'); } break; case 'verschieben': if(!pruefeRechte('tr_gruppen_mitglieder_bearbeiten')){ $_inh = T_KEINZUGRIFF; break; } $_tmpl->assign('ueberschrift','Mitglied verschieben'); if(isset($_POST['zielgruppe'])){ require_once('func/pruefen.inc.php'); $f = ''; $f .= pruefen($_POST['zielgruppe'],'zahl','Die Zielgruppe ist ungültig'); $f .= pruefen($_GET['grid'],'zahl','Die Ursprungsgruppe ist ungültig'); $f .= pruefen($_GET['id'],'zahl','Das Mitglied wurde nicht gefunden'); if(empty($f)){ $query = "SELECT mitgliedid FROM ".DB_PREFIX."mitglieder_trainingsgruppen WHERE mitgliedid = ".$_GET['id']." AND trainingsgruppenid = ".$_POST['zielgruppe'].""; $_db->holeDaten($query); if($_db->holeAnzahl() != 0){ $f .= 'Das Mitglied ist der gewählten Gruppe bereits zugeteilt.
'; } } if(empty($f)){ $query = "UPDATE ".DB_PREFIX."mitglieder_trainingsgruppen SET trainingsgruppenid = ".$_POST['zielgruppe']." WHERE trainingsgruppenid = ".$_GET['grid']." AND mitgliedid = ".$_GET['id'].""; $_db->fuehreQueryAus($query); if(isset($_POST['gruppe']) and $_POST['gruppe'] == 'ziel'){ $grid = $_POST['zielgruppe']; } else{ $grid = $_GET['grid']; } weiterleiten('/training/mitglieder.html?grid='.$grid,'Das Mitglied wurde verschoben'); } else{ $_tmpl->assign('fehler',$f); } } require_once('func/holetrainingsgruppen.inc.php'); $_tmpl->assign('gruppen',holeTrainingsgruppen(true)); $_inh .= $_tmpl->fetch('training/31.mitglied-verschieben.inc.html'); break; default: require_once('func/holetrainingsgruppen.inc.php'); $gruppen = holeTrainingsgruppen(true); $_tmpl->assign('gruppen',$gruppen); if(!isset($_GET['grid']) or !ctype_digit($_GET['grid']) or !in_array($_GET['grid'],array_keys($gruppen))){ $_inh .= $_tmpl->fetch('training/31.trainingsgruppewaehlen.inc.html'); } else{ $query = "SELECT CONCAT(DATE_FORMAT(ADDDATE('2009-10-11', INTERVAL wochentag DAY), '%W'), ' ', TIME_FORMAT(anfangszeit,'%H:%i')) as gruppe, id, kommentar FROM ".DB_PREFIX."trainingsgruppen ORDER BY wochentag, anfangszeit"; $_db->holeDaten($query); if(isset($_GET['art']) and in_array($_GET['art'], array('alle','hierarchisch'))){ $_SESSION['flags']['mitgliederverschieben'] = $_GET['art']; weiterleiten('/training/mitglieder.html?grid='.$_GET['grid']); } if(isset($_SESSION['flags']['mitgliederverschieben']) and $_SESSION['flags']['mitgliederverschieben']=='alle'){ $_tmpl->assign('art', 'alle'); } else{ $bezeichnungen = $_db->baueArray('kommentar','id'); $zeiten = $_db->baueArray('gruppe', 'id'); function sortiereNachGruppenbezeichnung($a, $b){ $reihenfolge = array( 'Anfänger' => 1, 'Fortgeschrittene' => 2, 'Mannschaft' => 3, 'Hobby' => 4 ); foreach($reihenfolge as $wert => $sort){ if(!is_array($a) and strpos($a, $wert) !== false){ $a = array($sort, trim(str_replace($wert , '', $a))); } if(!is_array($b) and strpos($b, $wert) !== false){ $b = array($sort, trim(str_replace($wert , '', $b))); } } if($a[0] == $b[0]){ if($a[1] == $b[1]){ return 0; } else{ return $a[1]<$b[1]; } } else{ return $a[0]>$b[0]; } } $bezeichnung2id = array(); foreach($bezeichnungen as $id => $bez){ if(!isset($bezeichnung2id[$bez])){ $bezeichnung2id[$bez] = array(); } if($_GET['grid'] != $id){ $bezeichnung2id[$bez][$id] = $zeiten[$id]; } } uksort($bezeichnung2id, 'sortiereNachGruppenbezeichnung'); $reihenfolge = array(); $i = 1; foreach($bezeichnung2id as $key => $ids){ $reihenfolge[$i++] = $key; } $aktuellkey = array_search($bezeichnungen[$_GET['grid']], $reihenfolge); $ziele = array( '-1' => false, '0' => $bezeichnungen[$_GET['grid']], '+1' => false, '+2' => false ); if(isset($reihenfolge[$aktuellkey-1])){ $ziele['-1'] = $reihenfolge[$aktuellkey-1]; } if(isset($reihenfolge[$aktuellkey+1])){ $ziele['+1'] = $reihenfolge[$aktuellkey+1]; } if(isset($reihenfolge[$aktuellkey+2])){ $ziele['+2'] = $reihenfolge[$aktuellkey+2]; } $_tmpl->assign('ziele', $ziele); $_tmpl->assign('reihenfolge', $reihenfolge); $_tmpl->assign('bez2id', $bezeichnung2id); $_tmpl->assign('zeiten', $zeiten); $_tmpl->assign('art', 'hierarchisch'); } $_tmpl->tk_javascriptzuweisen('dateien', 'jquery,jquery.message,jquery.ui,jquery.autocomplete,jquery.tkswim'); $_tmpl->tk_javascriptzuweisen('onready', "\$('#schwimmer tbody span').addClass('verschieben');"); $_tmpl->tk_javascriptzuweisen('onready', "\$('.loeschen').tkswim_loeschfrage({art:'mitglied_trainingsgruppe',frage:'Soll das Mitglied%%% aus der Trainingsgruppe gelöscht werden?',tabellenid:'schwimmer',zusatzid:gruppe});"); $_tmpl->tk_javascriptzuweisen('inline', "var gruppe = '".text_format($_GET['grid'],'js')."';"); $query = "SELECT CONCAT(nachname,', ',vorname) as name, YEAR(gebdatum) as jahrg, id FROM ".DB_PREFIX."mitglieder as t, ".DB_PREFIX."mitglieder_trainingsgruppen as tg WHERE tg.trainingsgruppenid = ".$_GET['grid']." AND t.id = tg.mitgliedid ORDER BY t.nachname, t.vorname"; $_db->holeDaten($query); $_tmpl->assign('mitgl',$_db->baueArray('*','#')); $_tmpl->assign('anz',$_db->holeAnzahl()); $_inh .= $_tmpl->fetch('training/31.mitglieder-gruppe.inc.html'); } break; } } # Ende Rechte-else, EOF ?>