assign('ueberschrift','Mitgliedsdaten ändern');
$titel = 'Mitgliedsdaten ändern';
$setzbareeigenschaften = array(
'flags' => array(
'aufnahmeformulargeben',
'keinewettkampfteilnahme'
),
'werte' => array(
'langname',
'dsvidbeantragt',
'maedchenname'
)
);
if($_gleinst['features']['mitgliederkarten'] == 1){
$setzbareeigenschaften['flags'][] = 'keinekartemachen';
}
if(!$erlaubt){
$_inh = T_KEINZUGRIFF;
}
else{
if(isset($_GET) and isset($_GET['id'])){
if(!ctype_digit($_GET['id'])){
unset($_GET['id']);
}
else{
$query = "SELECT id FROM ".DB_PREFIX."mitglieder WHERE id = ".$_GET['id']."";
$_db->holeDaten($query);
if($_db->holeAnzahl() != 1){
$_tmpl->assign('fehler','Das Mitglied existiert nicht');
unset($_GET['id']);
}
}
}
if(isset($_GET['id'])){
# Rechtegruppen holen
$query = "SELECT bezeichnung, id FROM ".DB_PREFIX."rechtegruppen
WHERE SUBSTRING(bezeichnung,1,1) != '_' AND id NOT IN (2,3,4) ORDER BY sort";
$_db->holeDaten($query);
$_rechtegruppen = $_db->baueArray('bezeichnung','id');
require_once('func/holetrainingsgruppen.inc.php');
$_trainingsgruppen = holetrainingsgruppen(true);
$query = "SELECT id, titel FROM ".DB_PREFIX."familien ORDER BY titel";
$_db->holeDaten($query);
$_familien = $_db->baueArray('titel','id');
require_once('conf/select.inc.php');
}
if(!isset($_GET['id'])){
require_once('func/mitgliedwaehlen.inc.php');
$_inh .= mitgliedwaehlen('/mitglieder/aendern.html');
}
elseif(!isset($_POST['speichern']) or isset($_POST['telefonneu'])){
if(isset($_POST['telefonneu'])){ # neue Telefonnummer anlegen
$daten = $_POST;
$daten['telefon'][] = array('id' => 'neu','nummer' => '', 'telefonart' => 1);
}
else{ # Daten des Mitgliedes holen
$query = "SELECT id, vorname, nachname, mw, sonstiges, mitgliedskarte, familienid,
DATE_FORMAT(gebdatum,'%d.%m.%Y') as gebdatum, ausgetreten, dsvid,
strasse, hausnr, plz, ort, email, DATE_FORMAT(eingetreten,'%d.%m.%Y') as eingetreten,
DATE_FORMAT(attestbis,'%d.%m.%Y') as attestbis
FROM ".DB_PREFIX."mitglieder
WHERE id = ".$_GET['id']."";
$_db->holeDaten($query);
$daten = $_db->holeZeile();
# Eigenschaften des Mitgliedes holen
$query = "SELECT eigenschaft, wert FROM ".DB_PREFIX."eigenschaften WHERE artid = ".$_GET['id']." AND art = 'm'";
$_db->holeDaten($query);
if($_db->holeAnzahl() > 0){
$daten['_eigenschaften'] = array();
foreach($_db->ergebnis['daten'] as $row){
if(!isset($daten['_eigenschaften'][$row['eigenschaft']])){
$daten['_eigenschaften'][$row['eigenschaft']] = $row['wert'];
}
else{
$daten['_eigenschaften'][$row['eigenschaft']] = $row['wert'];
}
}
foreach($daten['_eigenschaften'] as $key => $wert){
if($key == 'langname'){
list($v,$n) = explode('|',$wert);
$daten['_eigenschaften'][$key] = array('vorname'=>$v,'nachname'=>$n);
}
}
}
# Rechtegruppen holen
$query = "SELECT rechtegrid as id FROM ".DB_PREFIX."rechtegruppen_mitglieder
WHERE mitgliedid = ".$_GET['id']." AND rechtegrid NOT IN (2,3,4)";
$_db->holeDaten($query);
$daten['rechtegr'] = $_db->baueArray('id','#');
if(isset($_GET['telefonloeschid']) AND preg_match('~^[0-9]{1,9}$~',$_GET['telefonloeschid'])){
if(!isset($_GET['sicher'])){
$_tmpl->assign('frage','Soll die Telefonnummer wirklich gelöscht werden');
$_tmpl->assign('query','id='.$_GET['id']);
$_tmpl->assign('url', '/mitglieder/aendern.html');
$_inh .= $_tmpl->fetch('tools/9902.loeschfrage.inc.html').'
';
}
else{
$query = "DELETE FROM ".DB_PREFIX."telefon
WHERE id = '".text_format($_GET['telefonloeschid'],'db')."' AND mitgliedid = ".$_GET['id']."";
$_db->fuehreQueryAus($query);
weiterleiten('/mitglieder/aendern.html?id='.$_GET['id'],'Die Telefonnummer wurde gelöscht');
}
}
# Telefonnummern holen
$query = "SELECT id, telefonart, CONCAT(vorwahl,'/',nummer) as nummer
FROM ".DB_PREFIX."telefon WHERE mitgliedid = ".$_GET['id']." ORDER BY telefonart";
$_db->holeDaten($query);
$daten['telefon'] = $_db->ergebnis['daten'];
# Trainingsgruppen holen
$query = "SELECT trainingsgruppenid as id FROM ".DB_PREFIX."mitglieder_trainingsgruppen WHERE mitgliedid = ".$_GET['id']."";
$_db->holeDaten($query);
$daten['trainingsgruppe'] = $_db->baueArray('id','#');
# Login holen
$query = "SELECT anmeldename, freigeschaltet FROM ".DB_PREFIX."logins WHERE id = ".$_GET['id']."";
$_db->holeDaten($query);
if($_db->holeAnzahl() == 0){
$login = array('keinlogin'=>1);
}
else{
$login = $_db->holeZeile();
}
$daten['login'] = $login;
}
$_tmpl->assign('daten',$daten);
}
else{
$f = '';
require_once('func/pruefen.inc.php');
if(!isset($_POST['login']['keinlogin']) and prueferechte('m_logins')){
# Anmeldename
$tmp = '';
$tmp .= pruefen($_POST['login']['anmeldename'],'leer','Der Anmeldename fehlt');
$tmp .= pruefen($_POST['login']['anmeldename'],'regexpr','Der Anmeldename darf nur aus Kleinbuchstaben
([a-z]) bestehen','^[a-z]+$');
$tmp .= pruefen($_POST['login']['anmeldename'],'minlaenge','Der Anmeldename ist zu kurz (min 2 Zeichen)',2);
$tmp .= pruefen($_POST['login']['anmeldename'],'maxlaenge','Der Anmeldename ist zu lang (max 50 Zeichen)',50);
if($_POST['login']['anmeldename'] == 'admin'){
$tmp .= 'Als Anmeldename kann »admin« nicht verwendet werden.';
}
if(empty($tmp)){
$query = "SELECT id FROM ".DB_PREFIX."logins WHERE anmeldename = '".text_format($_POST['login']['anmeldename'],'db')."'";
$_db->holeDaten($query);
if($_db->holeAnzahl() == 1 and $_db->holeWert() != $_GET['id']){
$tmp .= 'Der Anmeldename existiert bereits
';
}
}
$f .= $tmp;
# Passwort
if(!empty($_POST['login']['passwort']) OR !empty($_POST['login']['passwort2'])){
$f .= pruefen($_POST['login']['passwort'],'gleich','Die Passwörter sind nicht gleich',$_POST['login']['passwort2']);
$f .= pruefen($_POST['login']['passwort'],'passwort','Das Passwort muss aus mindestens je eines der
Zeichen [a-zöäüß], [A-ZÖÄÜ] und [0-9] enthalten und mindestens 8 Zeichen lang sein.');
}
else{
$query = "SELECT passwort FROM ".DB_PREFIX."logins WHERE id = ".$_GET['id']."";
$_db->holeDaten($query);
if($_db->holeAnzahl() == 0){
$f .= 'Das Passwort fehlt
';
}
}
}
# Vor-, Nach-, Mädchen- und Langname
$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['_eigenschaften']['maedchenname']) and !empty($_POST['_eigenschaften']['maedchenname'])){
$f .= pruefen($_POST['_eigenschaften']['maedchenname'],'maxlaenge','Der Mädchenname ist zu lang (max 120 Zeichen)',120);
}
elseif(isset($_POST['_eigenschaften']['maedchenname']) and empty($_POST['_eigenschaften']['maedchenname'])){
unset($_POST['_eigenschaften']['maedchenname']);
}
if(!empty($_POST['_eigenschaften']['langname']['vorname']) or !empty($_POST['_eigenschaften']['langname']['nachname'])){
$f .= pruefen($_POST['_eigenschaften']['langname']['vorname'],'leer','Der Vorname des Langnamens fehlt');
$f .= pruefen($_POST['_eigenschaften']['langname']['vorname'],'maxlaenge','Der Vorname des Langnamens ist zu lang (max 120 Zeichen)',120);
$f .= pruefen($_POST['_eigenschaften']['langname']['nachname'],'leer','Der Nachname des Langnamens fehlt');
$f .= pruefen($_POST['_eigenschaften']['langname']['nachname'],'maxlaenge','Der Nachname des Langnamens ist zu lang (max 120 Zeichen)',120);
}
# Geschlecht
if(isset($_POST['mw'])){
$f .= pruefen($_POST['mw'],'wertemenge','Das Geschlecht ist ungültig',array('m','w'));
}
else{
$f .= 'Das Geschlecht fehlt
';
}
# Adresse
$f .= pruefen($_POST['strasse'],'maxlaenge','Die Straße ist zu lang (max 40 Zeichen)',40);
$f .= pruefen($_POST['hausnr'],'maxlaenge','Die Hausnummer ist zu lang (max 5 Zeichen)',5);
$f .= pruefen($_POST['plz'],'regexpr','Die Postleitzahl darf nur aus genau 5 Zahlen bestehen','^[0-9]{5}$');
$f .= pruefen($_POST['ort'],'maxlaenge','Der Ort ist zu lang (max 40 Zeichen)',40);
# Familie
if($_POST['familienid'] != '-'){
if(!in_array($_POST['familienid'],array_keys($_familien))){
$f .= 'Die Familie existiert nicht
';
}
}
# Telefon
if(isset($_POST['telefon']) and is_array($_POST['telefon'])){
$anz = count($_POST['telefon']);
for($i=0;$i<$anz;$i++){
$f .= pruefen($_POST['telefon'][$i]['nummer'],'telefon','Die Nummer
"'.$_POST['telefon'][$i]['nummer'].'" ist keine Telefonnummer',$_gleinst['seitenweit']['standardvorwahl']);
if($_POST['telefon'][$i]['id'] != 'neu'){
$f .= pruefen($_POST['telefon'][$i]['id'],'zahl','Die ID der Nummer
"'.$_POST['telefon'][$i]['nummer'].'" wurde manipuliert');
}
$f .= pruefen($_POST['telefon'][$i]['telefonart'],'wertemenge','Die Telefonart zu der Nummer
"'.$_POST['telefon'][$i]['nummer'].'" ist ungültig',array_keys($_telefonarten));
}
}
# E-Mail
$f .= pruefen($_POST['email'],'email','Die E-Mailadresse ist ungültig');
$f .= pruefen($_POST['email'],'maxlaenge','Die E-Mailadresse ist zu lang (max 50 Zeichen)',50);
# Geburtsdatum
$f .= pruefen($_POST['gebdatum'],'leer','Das Geburtsdatum fehlt');
$f .= pruefen($_POST['gebdatum'],'datum','Das Geburtsdatum ist ungültig bzw. konnte nicht erkannt werden',19);
# Eintrittsdatum, Austrittsjahr, Mitgliedskarte, DSV-ID
if($_gleinst['features']['mitgliederkarten'] == 1){
$f .= pruefen($_POST['mitgliedskarte'],'wertemenge','Der Wert für "Mitgliedskarte" ist ungültig',array_keys($_mitgliedskarten));
}
$f .= pruefen($_POST['eingetreten'],'datum','Das Eintrittsdatum ist ungültig bzw. konnte nicht erkannt werden',20);
$f .= pruefen($_POST['ausgetreten'],'regexpr','Das Austrittsjahr ist ungültig','^[0-9]{4}$');
$tmp = '';
$tmp .= pruefen($_POST['dsvid'],'zahl','Die DSV-ID ist keine Zahl');
$tmp .= pruefen($_POST['dsvid'],'minlaenge','Die DSV-ID ist zu kurz (sie muss genau 6 Ziffern lang sein)',6);
$tmp .= pruefen($_POST['dsvid'],'maxlaenge','Die DSV-ID ist zu lang (sie muss genau 6 Ziffern lang sein)',6);
if(empty($tmp) and !empty($_POST['dsvid'])){
$query = "SELECT dsvid FROM ".DB_PREFIX."mitglieder WHERE dsvid IS NOT NULL AND id != ".$_GET['id']."";
$_db->holeDaten($query);
$dsvids = $_db->baueArray('dsvid','#');
if(in_array($_POST['dsvid'],$dsvids)){
$f .= 'Es gibt bereits ein Mitglied mit dieser DSV-ID
';
}
}
else{
$f .= $tmp;
}
# Rechtegruppen
if(isset($_POST['rechtegr']) and prueferechte('m_aendern_rechtegruppen')){
$tmp = '';
foreach($_POST['rechtegr'] as $rg){
$tmp .= pruefen($rg,'wertemenge','-',array_keys($_rechtegruppen));
}
if(!empty($tmp)){
$f .= 'Mindestens eine Rechtegruppe ist ungültig.';
}
}
# Sonstiges
$f .= pruefen($_POST['sonstiges'],'maxlaenge','Der Inhalt des Feldes »Sonstiges« ist zu lang (max 65000 Zeichen)',65000);
# Trainingsgruppen, Attestbis
$f .= pruefen($_POST['attestbis'],'datum','Das Datum im Feld »Attest gültig bis« ist ungültig.',20);
if(isset($_POST['trainingsgruppe']) and prueferechte('tr_gruppen_mitglieder_bearbeiten')){
foreach($_POST['trainingsgruppe'] as $id){
$f .= pruefen($id,'zahl','Die Trainingsgruppe ist manipuliert worden');
}
}
if(!empty($f)){ # Es ist ein Fehler aufgetreten -> Fehler und Formular nochmal ausgeben
$_tmpl->assign('fehler',$f);
$_tmpl->assign('daten',$_POST);
}
else{ # Daten ok -> speichern
# Login
if(prueferechte('m_logins')){
$query = "SELECT id FROM ".DB_PREFIX."logins WHERE id = ".$_GET['id']."";
$_db->holeDaten($query);
$vorhanden = $_db->ergebnis['anzahl']==1;
if(isset($_POST['login']['keinlogin'])){
$query = "DELETE FROM ".DB_PREFIX."logins WHERE id = ".$_GET['id']."";
$_db->fuehreQueryAus($query);
}
else{
if($vorhanden){
$query = "UPDATE ".DB_PREFIX."logins SET
anmeldename = '".text_format($_POST['login']['anmeldename'],'db')."',
".(!empty($_POST['login']['passwort'])?" passwort = '".md5($_POST['login']['passwort'])."',":'')."
freigeschaltet = ".(isset($_POST['login']['freigeschaltet'])?1:0)."
WHERE id = ".$_GET['id']."";
}
else{
$query = "INSERT INTO ".DB_PREFIX."logins SET
id = ".$_GET['id'].",
anmeldename = '".text_format($_POST['login']['anmeldename'],'db')."',
".(!empty($_POST['login']['passwort'])?" passwort = '".md5($_POST['login']['passwort'])."',":'')."
freigeschaltet = ".(isset($_POST['login']['freigeschaltet'])?1:0)."";
}
$_db->fuehreQueryAus($query);
}
}
# allgemeine Userdaten
$updatefelder = array();
$updatefelder[] = "vorname = '".text_format($_POST['vorname'],'db')."'";
$updatefelder[] = "nachname = '".text_format($_POST['nachname'],'db')."'";
if($_POST['familienid'] != '-'){
$updatefelder[] = "familienid = ".$_POST['familienid'];
}
else{
$updatefelder[] = "familienid = 0";
}
if(empty($_POST['dsvid'])){
$updatefelder[] = "dsvid = NULL";
}
else{
$updatefelder[] = "dsvid = '".text_format($_POST['dsvid'],'db')."'";
# DSV-ID ist da -> Flag, dass die ID beantragt ist loeschen
if(isset($_POST['_eigenschaften']) and isset($_POST['_eigenschaften']['dsvidbeantragt'])){
unset($_POST['_eigenschaften']['dsvidbeantragt']);
}
}
if($_gleinst['features']['mitgliederkarten'] == 1){
$updatefelder[] = "mitgliedskarte = ".$_POST['mitgliedskarte'];
}
$updatefelder[] = "mw = '".text_format($_POST['mw'],'db')."'";
$updatefelder[] = "gebdatum = '".text_format($_POST['gebdatum'],'dbdatum')."'";
$updatefelder[] = "eingetreten = '".(empty($_POST['eingetreten'])?'0000-00-00':text_format($_POST['eingetreten'],'dbdatum'))."'";
$updatefelder[] = "ausgetreten =".(empty($_POST['ausgetreten'])?'NULL':"'".text_format($_POST['ausgetreten'],'db')."'");
$updatefelder[] = "attestbis =".(empty($_POST['attestbis'])?'NULL':"'".text_format($_POST['attestbis'],'dbdatum')."'");
$updatefelder[] = "sonstiges = '".text_format($_POST['sonstiges'],'db')."'";
$updatefelder[] = "strasse = '".text_format($_POST['strasse'],'db')."'";
$updatefelder[] = "hausnr = '".text_format($_POST['hausnr'],'db')."'";
$updatefelder[] = "plz = '".text_format($_POST['plz'],'db')."'";
$updatefelder[] = "ort = '".text_format($_POST['ort'],'db')."'";
$updatefelder[] = "email = '".text_format($_POST['email'],'db')."'";
$query = "UPDATE ".DB_PREFIX."mitglieder SET ".implode(', ',$updatefelder)." WHERE id = ".$_GET['id']."";
$_db->fuehreQueryAus($query);
# Rechtegruppen
if(pruefeRechte('m_aendern_rechtegruppen') and isset($_POST['rechtegr'])){
# vorhandene Rechtegruppen holen
$query = "SELECT DISTINCT rechtegrid as id FROM ".DB_PREFIX."rechtegruppen_mitglieder
WHERE mitgliedid = ".$_GET['id']." AND rechtegrid NOT IN (2,3,4)";
$_db->holeDaten($query);
$vorhandenerechtegruppen = $_db->baueArray('id','#');
sort($vorhandenerechtegruppen);
$vorhandenerechtegruppen = implode('_', $vorhandenerechtegruppen);
# zu setzende in mit mid in Array packen
$rg = $zusetzendegruppen = array();
foreach($_POST['rechtegr'] as $rechtegr){
$rg[] = '('.$_GET['id'].','.$rechtegr.')';
$zusetzendegruppen[] = $rechtegr;
}
sort($zusetzendegruppen);
$zusetzendegruppen = implode('_', $zusetzendegruppen);
if($vorhandenerechtegruppen != $zusetzendegruppen){ # Gruppen haben sich geändert -> schreiben
$query = "DELETE FROM ".DB_PREFIX."rechtegruppen_mitglieder WHERE mitgliedid = ".$_GET['id']."";
$_db->fuehreQueryAus($query);
$query = "INSERT INTO ".DB_PREFIX."rechtegruppen_mitglieder (mitgliedid,rechtegrid) VALUES ".implode(', ',$rg)."";
$_db->fuehreQueryAus($query);
}
}
require_once('func/mitglieder_rechtegruppensetzen.inc.php');
mitglieder_rechtegruppensetzen($_GET['id']);
# Telefonnummern
if(isset($_POST['telefon']) and is_array($_POST['telefon'])){
foreach($_POST['telefon'] as $telefon){
if(empty($telefon['nummer'])){
continue;
}
list($vorwahl,$nummer) = explode('/',$telefon['nummer']);
if($telefon['id'] == 'neu'){
$query = "INSERT INTO ".DB_PREFIX."telefon (telefonart, vorwahl, nummer, mitgliedid)
VALUES (".$telefon['telefonart'].", '".$vorwahl."', '".$nummer."',".$_GET['id'].")";
}
else{
$query = "UPDATE ".DB_PREFIX."telefon
SET telefonart = ".$telefon['telefonart'].", vorwahl = '".$vorwahl."', nummer = '".$nummer."'
WHERE mitgliedid = ".$_GET['id']." AND id = ".$telefon['id']."";
}
$_db->fuehreQueryAus($query);
}
}
# Trainingsgruppen
if(prueferechte('tr_gruppen_mitglieder_bearbeiten')){
# vorhandene Trainingsgruppen holen
$query = "SELECT trainingsgruppenid as id FROM ".DB_PREFIX."mitglieder_trainingsgruppen WHERE mitgliedid = ".$_GET['id']."";
$_db->holeDaten($query);
$vorhandenegruppen = $_db->baueArray('id','#');
sort($vorhandenegruppen);
$vorhandenegruppen = implode('_', $vorhandenegruppen);
# zu setzende Gruppen holen
if(isset($_POST['trainingsgruppe']) and is_array($_POST['trainingsgruppe'])){
$zusetzendegruppen = $_POST['trainingsgruppe'];
sort($zusetzendegruppen);
$zusetzendegruppen = implode('_', $zusetzendegruppen);
}
else{
$zusetzendegruppen = '';
}
if($vorhandenegruppen != $zusetzendegruppen){ # Gruppen haben sich geändert -> ändern
$query = "DELETE FROM ".DB_PREFIX."mitglieder_trainingsgruppen WHERE mitgliedid = ".$_GET['id']."";
$_db->fuehreQueryaus($query);
$werte = array();
if(isset($_POST['trainingsgruppe'])){
foreach($_POST['trainingsgruppe'] as $id){
$werte[] = '('.$_GET['id'].','.$id.')';
}
$query = "INSERT INTO ".DB_PREFIX."mitglieder_trainingsgruppen
(mitgliedid,trainingsgruppenid)
VALUES ".implode(', ',$werte)."";
$_db->fuehreQueryaus($query);
}
}
}
# Eigenschaften
# zu schreibende Eigenschaften
$zuschreibende = array();
# Werte: langname, dsvidbeantragt, maedchenname
foreach($setzbareeigenschaften['werte'] as $wert){
if(!isset($_POST['_eigenschaften'][$wert])){
continue;
}
switch($wert){
case 'dsvidbeantragt':
$query = "SELECT wert FROM ".DB_PREFIX."eigenschaften
WHERE artid = ".$_GET['id']." AND art = 'm' AND eigenschaft = 'dsvidbeantragt'";
$_db->holeDaten($query);
if($_db->ergebnis['anzahl'] == 0){
$zuschreibende['dsvidbeantragt'] = date('d.m.Y');
}
else{
$zuschreibende['dsvidbeantragt'] = $_db->holeWert();
}
break;
case 'langname':
if(!empty($_POST['_eigenschaften']['langname']['nachname'])){
$zuschreibende['langname'] = $_POST['_eigenschaften']['langname']['vorname'].'|'.$_POST['_eigenschaften']['langname']['nachname'];
}
break;
default:
$zuschreibende[$wert] = $_POST['_eigenschaften'][$wert];
break;
}
}
# Flags: aufnahmeformularfehlt, keinekartemachen, keinewettkampfteilnahme
foreach($setzbareeigenschaften['flags'] as $flag){
if(isset($_POST['_eigenschaften'][$flag])){
$zuschreibende[$flag] = 1;
}
}
# vorhandene Eigenschaften holen
if(count($zuschreibende) > 0){ # es gibt was zum Schreiben
$query = "SELECT eigenschaft, wert FROM ".DB_PREFIX."eigenschaften
WHERE artid = ".$_GET['id']." AND art = 'm'";
$_db->holeDaten($query);
$vorhandenewerte = array();
$vorhandeneids = array();
if($_db->ergebnis['anzahl'] > 0){
foreach($_db->ergebnis['daten'] as $row){
if(!isset($vorhandenewerte[$row['eigenschaft']])){
$vorhandenewerte[$row['eigenschaft']] = '';
}
$vorhandenewerte[$row['eigenschaft']] = $row['wert'];
}
}
$querys = array();
$queryanfang = array(
'update' => 'UPDATE '.DB_PREFIX.'eigenschaften SET ',
'insert' => "INSERT INTO ".DB_PREFIX."eigenschaften (art,artid,eigenschaft,wert) VALUES ('m',".$_GET['id'].","
);
$queryende = array(
'update' => " WHERE artid = ".$_GET['id']." AND art = 'm' AND eigenschaft = ",
'insert' => ")"
);
foreach($zuschreibende as $eigenschaft => $wert){
if(isset($vorhandenewerte[$eigenschaft])){
$querys[] = $queryanfang['update']." wert = '".text_format($wert,'db')."'".$queryende['update']."'".$eigenschaft."'";
}
else{
$querys[] = $queryanfang['insert']."'".$eigenschaft."', '".text_format($wert,'db')."'".$queryende['insert'];
}
unset($vorhandenewerte[$eigenschaft]);
}
if(count($vorhandenewerte) > 0){ # restliche Werte loeschen
$querys[] = "DELETE FROM ".DB_PREFIX."eigenschaften
WHERE artid = ".$_GET['id']." AND art = 'm' AND eigenschaft IN ('".implode("', '",array_keys($vorhandenewerte))."')
AND eigenschaft != 'alteadresse'";
}
# gespeicherte Querys an die Datenbank schicken
if(count($querys) > 0){
foreach($querys as $q){
$_db->fuehreQueryAus($q);
}
}
}
else{ # es ist keine setzbare Eigenschaft mehr gesetzt -> evtl. vorhandene Werte loeschen
$eigenschaften = array();
foreach($setzbareeigenschaften['flags'] as $e){
$eigenschaften[] = $e;
}
foreach($setzbareeigenschaften['werte'] as $e){
$eigenschaften[] = $e;
}
$query = "DELETE FROM ".DB_PREFIX."eigenschaften
WHERE artid = ".$_GET['id']." AND art = 'm' AND eigenschaft IN ('".implode("', '",$eigenschaften)."')
AND eigenschaft != 'alteadresse'";
$_db->fuehreQueryAus($query);
}
# Wenn das Mitglied ausgetreten ist, die entsprechenden Aktionen durchführen
if(!empty($_POST['ausgetreten'])){
require_once('func/setzemitgliedaufausgetreten.inc.php');
setzeMitgliedAufAusgetreten($_GET['id'],$_POST['ausgetreten'],$_db);
}
$text = 'Der Datensatz wurde erfolgreich geändert';
if(isset($_POST['naechsteaktion'])){
$url = '';
switch($_POST['naechsteaktion']){
case 'formular':
$url = '/mitglieder/aendern.html?id='.$_GET['id'];
break;
case 'detail':
$url = '/mitglieder/anzeigen.html?id='.$_GET['id'];
break;
case 'mitglied':
$url = '/mitglieder/aendern.html';
break;
default:
break;
}
$_SESSION['naechsteaktion'] = $_POST['naechsteaktion'];
if(!empty($url)){
weiterleiten($url,$text);
}
}
}
}
if(isset($_GET['id'])){
$_tmpl->assign('familien',$_familien);
$_tmpl->assign('telefonarten',$_telefonarten);
$_tmpl->assign('mitgliedskarten',$_mitgliedskarten);
$_tmpl->assign('trainingsgruppen',$_trainingsgruppen);
$_tmpl->assign('rechtegr',$_rechtegruppen);
$_tmpl->assign('mitglkarte', $_gleinst['features']['mitgliederkarten']);
if(pruefeRechte('m_logins')){
$_tmpl->tk_append_string('js_inline', "function keinloginpr(f){
var wert = f.elements['login[keinlogin]'].checked;
f.anmeldename.disabled = wert;
f.passwort.disabled = wert;
f.passwort2.disabled = wert;
f.freigeschaltet.disabled = wert;
return false;
}",1);
$_tmpl->tk_append_string('onload','keinloginpr(document.forms[0]);');
}
$_inh .= $_tmpl->fetch('mitglieder/11.mitglied-formular.inc.html');
}
} # Ende Rechte-else, EOF
?>