assign('ueberschrift','Mitglieder anlegen'); $titel = 'Mitglieder anlegen'; if(!$erlaubt){ $_inh = T_KEINZUGRIFF; } else{ if(isset($_GET['zuruecksetzen'])){ if(isset($_SESSION['mitgliedanlegen'])){ unset($_SESSION['mitgliedanlegen']); } weiterleiten('/mitglieder/anlegen.html'); } $_GET['aktion'] = isset($_GET['aktion'])?$_GET['aktion']:''; switch($_GET['aktion']){ case 'adressevonbestehendemmitglied': if(!isset($_SESSION['mitgliedanlegen']) or $_SESSION['mitgliedanlegen']['art'] != 'person'){ $_SESSION['mitgliedanlegen'] = array( 'art' => 'person', 'id' => false, 'titel' => '', 'familie' => '' ); } if(isset($_GET['id'])){ $query = "SELECT CONCAT(vorname, ' ', nachname) as name, id, familienid, nachname FROM ".DB_PREFIX."mitglieder WHERE id = '".text_format($_GET['id'],'db')."'"; $_db->holeDaten($query); if($_db->holeAnzahl() == 1){ $row = $_db->holeZeile(); $_SESSION['mitgliedanlegen']['id'] = $row['id']; $_SESSION['mitgliedanlegen']['titel'] = $row['name']; if($row['familienid'] != 0){ $query = "SELECT titel FROM ".DB_PREFIX."familien WHERE id = ".$row['familienid'].""; $_db->holeDaten($query); $_SESSION['mitgliedanlegen'] = array( 'art' => 'familie', 'id' => $row['id'], 'titel' => $_db->holeWert() ); weiterleiten('/mitglieder/anlegen.html'); } if(!isset($_GET['familie'])){ $_tmpl->assign('mid', $_SESSION['mitgliedanlegen']['id']); $_tmpl->assign('name', $row['name']); $_tmpl->assign('nachname', $row['nachname']); $_inh .= $_tmpl->fetch('mitglieder/15.person-familieanlegen.inc.html'); break; } else{ if($_GET['familie'] == 'ja'){ $familientitel = substr($_POST['familienname'], 0, 100); $_SESSION['mitgliedanlegen'] = array( 'art' => 'familie', 'id' => $_SESSION['mitgliedanlegen']['id'], 'titel' => $familientitel ); $query = "INSERT INTO ".DB_PREFIX."familien SET titel = '".text_format($familientitel, 'db')."'"; $_db->fuehreQueryAus($query); $insertid = $_db->ergebnis['insertid']; $query = "UPDATE ".DB_PREFIX."mitglieder SET familienid = ".$insertid." WHERE id = ".$_SESSION['mitgliedanlegen']['id'].""; $_db->fuehreQueryAus($query); } weiterleiten('/mitglieder/anlegen.html'); } } } require_once('func/mitgliedwaehlen.inc.php'); $_inh .= mitgliedwaehlen('/mitglieder/anlegen.html', 'aktion=adressevonbestehendemmitglied'); break; case 'familienmitglied': if(!isset($_SESSION['mitgliedanlegen']) or $_SESSION['mitgliedanlegen']['art'] != 'familie'){ $_SESSION['mitgliedanlegen'] = array( 'art' => 'familie', 'id' => false, 'titel' => '' ); } $query = "SELECT MIN(m.id) as mid, COUNT(m.id) as anz, CONCAT(strasse, ' ', hausnr, ', ', plz, ' ', ort) as adresse, titel FROM ".DB_PREFIX."mitglieder as m LEFT JOIN ".DB_PREFIX."familien as f ON m.familienid=f.id WHERE familienid != 0 AND strasse != '' AND ausgetreten IS NULL GROUP BY adresse, titel ORDER BY titel"; $_db->holeDaten($query); $familien = $_db->baueArray('*','mid'); if(isset($_GET['mid']) and in_array($_GET['mid'],array_keys($familien))){ $_SESSION['mitgliedanlegen']['id'] = $_GET['mid']; $_SESSION['mitgliedanlegen']['titel'] = $familien[$_GET['mid']]['titel']; weiterleiten('/mitglieder/anlegen.html'); } $_tmpl->assign('familien',$familien); $_inh .= $_tmpl->fetch('mitglieder/15.familie-waehlen.inc.html'); break; default: if(isset($_SESSION['mitgliedanlegen']) and $_SESSION['mitgliedanlegen']['id'] === false){ unset($_SESSION['mitgliedanlegen']); } if(isset($_POST['speichern'])){ if(!empty($_POST['vorname']) and empty($_POST['nachname']) and empty($_POST['gebdatum']) and strpos($_POST['vorname'],';') !== false){ $teile = explode(';',$_POST['vorname']); list($nname,$vname) = explode(',',$teile[0]); $_POST['vorname'] = trim($vname); $_POST['nachname'] = trim($nname); $_POST['mw'] = trim($teile[2]); $_POST['gebdatum'] = '1.1.'.trim($teile[1]); if(isset($teile[3])){ $teile[3] = trim($teile[3]); if(preg_match('~^[0-9]{4}$~D',$teile[3])){ $ausgetreten = $teile[3]; } } } $f = ''; require_once('func/pruefen.inc.php'); $f .= pruefen($_POST['vorname'],'leer','Der Vorname fehlt'); $f .= pruefen($_POST['vorname'],'maxlaenge','Der Vorname ist zu lang (max 30 Zeichen)',30); $f .= pruefen($_POST['nachname'],'leer','Der Nachname fehlt'); $f .= pruefen($_POST['nachname'],'maxlaenge','Der Nachname ist zu lang (max 50 Zeichen)',50); if(isset($_POST['mw'])){ $f .= pruefen($_POST['mw'],'wertemenge','Das Geschlecht ist ungültig',array('m','w')); } else{ $f .= 'Das Geschlecht fehlt
'; } $datumleer = pruefen($_POST['gebdatum'],'leer','-'); if(!empty($datumleer)){ $f .= 'Das Geburtsdatum fehlt
'; } else{ $f .= pruefen($_POST['gebdatum'],'datum','Das Geburtsdatum ist ungültig bzw. konnte nicht erkannt werden','auto'); } if(!empty($f)){ $_tmpl->assign('fehler',$f); $_tmpl->assign('daten',$_POST); } else{ $felder = array(); $werte = array(); $felder[] = 'vorname'; $werte[] = "'".text_format($_POST['vorname'],'db')."'"; $felder[] = 'nachname'; $werte[] = "'".text_format($_POST['nachname'],'db')."'"; $felder[] = 'gebdatum'; $werte[] = "'".text_format($_POST['gebdatum'],'dbdatum')."'"; $felder[] = 'mw'; $werte[] = "'".$_POST['mw']."'"; if(isset($_SESSION['mitgliedanlegen'])){ $query = "SELECT familienid, strasse, hausnr, plz, ort FROM ".DB_PREFIX."mitglieder WHERE id = ".$_SESSION['mitgliedanlegen']['id'].""; $_db->holeDaten($query); $row = $_db->holeZeile(); $felder[] = 'familienid'; $werte[] = text_format($row['familienid'],'db'); $felder[] = 'strasse'; $werte[] = "'".text_format($row['strasse'],'db')."'"; $felder[] = 'hausnr'; $werte[] = "'".text_format($row['hausnr'],'db')."'"; $felder[] = 'plz'; $werte[] = "'".text_format($row['plz'],'db')."'"; $felder[] = 'ort'; $werte[] = "'".text_format($row['ort'],'db')."'"; $query = "SELECT vorwahl, nummer FROM ".DB_PREFIX."telefon WHERE mitgliedid = ".$_SESSION['mitgliedanlegen']['id']." AND telefonart = 1 LIMIT 1"; $_db->holeDaten($query); $telefon = $_db->holeAnzahl()==1?$_db->holeZeile():false; } $query = "INSERT INTO ".DB_PREFIX."mitglieder (".implode(', ',$felder).") VALUES (".implode(', ',$werte).")"; $_db->fuehreQueryAus($query); $mid = $_db->ergebnis['insertid']; if(isset($_SESSION['mitgliedanlegen']) and $telefon !== false){ $query = "INSERT INTO ".DB_PREFIX."telefon (mitgliedid, telefonart, vorwahl, nummer) VALUES (".$mid.", 1, '".text_format($telefon['vorwahl'],'db')."', '".text_format($telefon['nummer'],'db')."')"; $_db->fuehreQueryAus($query); } if(isset($_SESSION['mitgliedanlegen'])){ unset($_SESSION['mitgliedanlegen']); } $query = "INSERT INTO ".DB_PREFIX."eigenschaften (art, artid, eigenschaft, wert) VALUES ('m', ".$mid.", 'aufnahmeformulargeben', 1)"; if($_gleinst['features']['mitgliederkarten'] == 1){ $query .= ", ('m', ".$mid.", 'keinekartemachen', 1)"; } $_db->fuehreQueryAus($query); if(isset($ausgetreten)){ $gespeicherte = parse_ini_file(PFAD_INIDATEIEN.'tools_ausgetretene.ini',true); if(!isset($gespeicherte[$ausgetreten])){ $gespeicherte[$ausgetreten] = array(); ksort($gespeicherte); } # Mitgliederdaten holen $query = "SELECT id, CONCAT(nachname, ', ', vorname, ' (', mw, ', ', DATE_FORMAT(gebdatum,'%d.%m.%Y'),')') as name FROM ".DB_PREFIX."mitglieder WHERE id = ".$mid.""; $_db->holeDaten($query); $row = $_db->holeZeile(); $gespeicherte[$ausgetreten][$row['id']] = $row['name']; asort($gespeicherte[$ausgetreten]); require_once('func/schreibe_ini_datei.inc.php'); schreibe_ini_datei(PFAD_INIDATEIEN.'tools_ausgetretene.ini',$gespeicherte,true); } if(isset($_POST['naechsteaktion']) and $_POST['naechsteaktion'] == 'aendern' and prueferechte('m_aendern')){ $url = '/mitglieder/aendern.html?id='.$mid; } else{ $url = '/mitglieder/anlegen.html?weiteres'; } weiterleiten($url, 'Das Mitglied »'.$_POST['vorname'].' '.$_POST['nachname'].'« wurde erfolgreich angelegt'); } } if(isset($_SESSION['mitgliedanlegen'])){ $_tmpl->assign('vorauswahl', $_SESSION['mitgliedanlegen']); } $_inh .= $_tmpl->fetch('mitglieder/15.anlegen-formular.inc.html'); break; } } # Ende Rechte-else, EOF ?>