assign('ueberschrift','Export'); if(!$erlaubt){ $_inh = T_KEINZUGRIFF; } else{ $_GET['aktion'] = isset($_GET['aktion'])?$_GET['aktion']:''; switch($_GET['aktion']){ case 'adressaenderungen': if(!pruefeRechte('e_adressaenderungen')){ $_inh = T_KEINZUGRIFF; break; } $_tmpl->assign('ueberschrift','Export - Adressänderungen'); $query = "SELECT m.id, CONCAT(nachname,', ',vorname,' (',mw,', ',DATE_FORMAT(gebdatum,'%d.%m.%Y'),')') as name, CONCAT(strasse,' ',hausnr) as str_neu, CONCAT(plz,' ',ort) as ort_neu, LEFT(e.wert,LOCATE('|',e.wert)-1) as str_alt, RIGHT(e.wert,LENGTH(e.wert)-LOCATE('|',e.wert)) as ort_alt FROM ".DB_PREFIX."mitglieder as m LEFT JOIN ".DB_PREFIX."eigenschaften as e ON m.id=e.artid AND e.art='m' AND e.eigenschaft='alteadresse' WHERE wert IS NOT NULL ORDER BY nachname, vorname"; $_db->holeDaten($query); if($_db->holeAnzahl() < 1){ weiterleiten('/export/','Es sind keine alten Adressen vorhanden'); } $daten = $_db->baueArray('*','id'); $mids = $_db->baueArray('id','id'); if(!isset($_POST['weiter'])){ $_tmpl->assign('daten',$daten); $_tmpl->assign('mitglieder',$mids); $_inh .= $_tmpl->fetch('export/7.adressaenderungen.inc.html'); break; } else{ $f = ''; if(!isset($_POST['mitglieder']) or !is_array($_POST['mitglieder'])){ $f .= 'Es wurden keine Mitglieder ausgewählt.
'; } else{ foreach($_POST['mitglieder'] as $id){ if(!in_array($id,$mids)){ $f .= 'Das Mitglied existiert nicht.
'; unset($_POST['mitglieder'][$id]); } } } if(!empty($f)){ $_tmpl->assign('fehler',$f); $_tmpl->assign('daten',$daten); if(isset($_POST['mitglieder'])){ $_tmpl->assign('mitglieder',$_POST['mitglieder']); } $_inh .= $_tmpl->fetch('export/7.adressaenderungen.inc.html'); break; } else{ foreach($daten as $mid => $row){ if(!in_array($mid,$_POST['mitglieder'])){ unset($daten[$mid]); unset($mids[$mid]); } } } } # Telefonnummern holen $query = "SELECT mitgliedid, CONCAT(vorwahl,'/',nummer) as nr FROM ".DB_PREFIX."telefon WHERE mitgliedid IN (".implode(',',$mids).") AND telefonart = 1"; $_db->holeDaten($query); $telefonnr = $_db->baueArray('*','#'); foreach($telefonnr as $nr){ if(!isset($daten[$nr['mitgliedid']]['telefon'])){ $daten[$nr['mitgliedid']]['telefon'] = array(); } $daten[$nr['mitgliedid']]['telefon'][] = $nr['nr']; } foreach($daten as $mid => $row){ if(!isset($row['telefon']) or count($row['telefon']) < 1){ continue; } $daten[$mid]['telefon'] = implode(', ', $row['telefon']); } require_once('class/pdf.inc.php'); $pdf = new tkpdf; $pdf->tk_schriftgroesse = 10; $pdf->tkseitentitel('Adressänderungen'.(TKSWIM_VEREINSART!='abteilung'?' der Schwimmabteilung':'')); $pdf->tkseitennummern(); $optionen = array( 'showHeadings' => 0, 'fontSize' => $pdf->tk_schriftgroesse, 'xPos' => 60, 'xOrientation' => 'right', 'shaded' => 0, 'showLines' => 0, 'colGap' => 7 ); $i = 1; $anz = count($daten); foreach($daten as $row){ $pdf->ezText($row['name'].(isset($row['telefon'])?', Telefon: '.$row['telefon']:''), $pdf->tk_schriftgroesse+1); $daten = array( array( 'titel' => 'alte Adresse:', 'adresse' => trim($row['str_alt']) ), array( 'titel' => '', 'adresse' => trim($row['ort_alt']) ), array( 'titel' => 'neue Adresse:', 'adresse' => $row['str_neu'] ), array( 'titel' => '', 'adresse' => $row['ort_neu'] ) ); $y = $pdf->ezTable($daten,'','',$optionen); $pdf->line(50,$y-3,300,$y-3); $i++; if($y < 120 and $i <= $anz){ $pdf->eznewPage(); } $pdf->ezSetDy(-8); } # ggf. Änderungen löschen if(isset($_POST['exportierteloeschen'])){ $query = "DELETE FROM ".DB_PREFIX."eigenschaften WHERE artid IN (".implode(',', $mids).") AND art = 'm' AND eigenschaft = 'alteadresse'"; $_db->fuehreQueryAus($query); } # PDF ausgeben $pdf->tk_autor = $_SESSION['user']['realname']; $pdf->tk_titel = 'Adressänderungen'.(TKSWIM_VEREINSART!='abteilung'?' der Schwimmabteilung':''); $pdf->tkstream('adressaenderungen.pdf'); case 'fehlendemitgliedskarten': if(!pruefeRechte('e_fehlendemitgliedskarten')){ $_inh = T_KEINZUGRIFF; break; } if(!isset($_SESSION['flags']['fehlendemitgliedskartenexportiert'])){ $_SESSION['flags']['fehlendemitgliedskartenexportiert'] = 1; } $query = "SELECT CONCAT(m.nachname,', ',m.vorname) as name, YEAR(m.gebdatum) as jahrg FROM ".DB_PREFIX."mitglieder as m LEFT JOIN ".DB_PREFIX."eigenschaften as e ON m.id=e.artid AND art='m' AND eigenschaft = 'keinekartemachen' WHERE ausgetreten IS NULL AND mitgliedskarte = 1 AND e.wert IS NULL ORDER BY nachname, vorname"; $tr = $_einst['dateisystem']['csvdateitrenner']=='tab'?"\t": $_einst['dateisystem']['csvdateitrenner']; $daten = '"Name"'.$tr.'"Jahrgang"'."\n"; $_db->holeDaten($query); $ergebnis = $_db->ergebnis['daten']; foreach($ergebnis as $row){ $daten .= '"'.implode('"'.$tr.'"',$row)."\"\n"; } header('Content-Type: text/comma-separated-values'); header('Content-Length: '.strlen($daten)); header('Content-Disposition: attachment; filename="fehlendemitgliedskarten_'.date('Y-m-d_H-i').'.csv"'); echo $daten; exit; default: if($_gleinst['features']['mitgliederkarten'] == 1){ # Anzahl der fehlenden Mitgliederkarten $query = "SELECT COUNT(m.id) as anz FROM ".DB_PREFIX."mitglieder as m LEFT JOIN ".DB_PREFIX."eigenschaften as e ON m.id=e.artid AND art='m' AND eigenschaft = 'keinekartemachen' WHERE ausgetreten IS NULL AND mitgliedskarte = 1 AND e.wert IS NULL"; $_db->holeDaten($query); $_tmpl->assign('anzfehlend', $_db->holeWert()); } else{ $_tmpl->assign('anzfehlend', false); } $_inh = $_tmpl->fetch('export/7.index.inc.html'); break; } } # Ende Rechte-else, EOF ?>