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