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