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