diff --git a/www/pages/dsgvo.php b/www/pages/dsgvo.php index 2b5e23cb..7380cac0 100644 --- a/www/pages/dsgvo.php +++ b/www/pages/dsgvo.php @@ -1,540 +1,540 @@ -"; - $menu .= ""; - $menu .= ""; - $menu .= ""; - $menu .= "Conf->WFconf['defaulttheme']}/images/pdf.svg\" border=\"0\">"; - $menu .= " "; - $menu .= ''; - $menu .= "Conf->WFconf['defaulttheme']}/images/edit.svg\" border=\"0\">"; - $menu .= ""; - $menu .= ""; - $menu .= ""; - $menu .= ""; - - $subwhere = ""; - - $fnurloeschauftrag = $app->YUI->TableSearchFilter($name, 5, 'nurloeschauftrag', '0', 0, 'checkbox'); - - if($fnurloeschauftrag == 1){ - $subwhere .= " AND (d.loeschauftrag_vom != '' OR d.loeschauftrag_vom != '0000-00-00') "; - }else{ - $subwhere .= ""; - } - - $where = " a.id > 0 AND a.geloescht = 0 ".$subwhere; - - $sql = "SELECT SQL_CALC_FOUND_ROWS a.id, 'Conf->WFconf['defaulttheme']."/images/details_open.png class=details>' as open, a.name, a.kundennummer, a.lieferantennummer, a.land, a.plz, a.ort, a.email, IF(d.loeschauftrag_vom != '0000-00-00', DATE_FORMAT(d.loeschauftrag_vom, '%d.%m.%Y'), '-'), p.abkuerzung, a.id FROM adresse a LEFT JOIN projekt p ON a.projekt = p.id LEFT JOIN dsgvo_loeschauftrag d ON a.id = d.adresse"; - - $count = "SELECT count(a.id) FROM adresse a WHERE $where"; - break; - - } - - $erg = false; - - foreach($erlaubtevars as $k => $v) - { - if(isset($$v))$erg[$v] = $$v; - } - return $erg; - } - - - function __construct($app, $intern = false) { - $this->app=&$app; - if($intern)return; - $this->app->ActionHandlerInit($this); - - // ab hier alle Action Handler definieren die das Modul hat - $this->app->ActionHandler("list", "DSGVOList"); - $this->app->ActionHandler("edit", "DSGVOEdit"); - $this->app->ActionHandler("save", "DSGVOSave"); - $this->app->ActionHandler("pdf", "DSGVOPDF"); - $this->app->ActionHandler("minidetail", "DSGVOMinidetail"); - - $this->app->ActionHandlerListen($app); - - } - - - function Install(){ - $this->app->erp->CheckTable("dsgvo_loeschauftrag"); - $this->app->erp->CheckColumn("id", "int(11)", "dsgvo_loeschauftrag", "NOT NULL AUTO_INCREMENT"); - $this->app->erp->CheckColumn("adresse", "int(11)", "dsgvo_loeschauftrag", "NOT NULL DEFAULT 0"); - $this->app->erp->CheckColumn("loeschauftrag_vom", "date", "dsgvo_loeschauftrag", "NOT NULL"); - $this->app->erp->CheckColumn("kommentar", "varchar(512)", "dsgvo_loeschauftrag", "NOT NULL"); - } - - - function DSGVOMenu() - { - $this->app->erp->MenuEintrag("index.php?module=dsgvo&action=list","Zurück zur Übersicht"); - $this->app->erp->MenuEintrag("index.php?module=dsgvo&action=list","Details"); - } - - function DSGVOList() - { - $this->DSGVOMenu(); - $this->app->Tpl->Set("KURZUEBERSCHRIFT","DSGVO Auskunft"); - - $this->app->YUI->DatePicker('e_loeschauftrag_vom'); - $this->app->YUI->TableSearch('TAB1','dsgvo_auskunft_list', "show","","",basename(__FILE__), __CLASS__); - $this->app->Tpl->Parse("PAGE","dsgvo_auskunft_list.tpl"); - } - - function DSGVOEdit() - { - if($this->app->Secure->GetGET('cmd')=='get'){ - $id = (int)$this->app->Secure->GetPOST('id'); - - $data = $this->app->DB->SelectArr("SELECT d.adresse, d.loeschauftrag_vom, d.kommentar FROM dsgvo_loeschauftrag d WHERE d.adresse = '$id' LIMIT 1"); - - if($data){ - $data = reset($data); - - $data['id'] = $data['adresse']; - - if($data['loeschauftrag_vom'] == "0000-00-00"){ - $data['loeschauftrag_vom'] = ""; - }else{ - $data['loeschauftrag_vom'] = date('d.m.Y', strtotime($data['loeschauftrag_vom'])); - } - - }else{ - $data['id'] = 0; - $data['loeschauftrag_vom'] = ''; - $data['kommentar'] = ''; - } - echo json_encode($data); - exit; - } - - $this->app->Tpl->Parse('PAGE', "dsgvo_auskunft_list.tpl"); - } - - function DSGVOSave() - { - $adresse = (int)trim($this->app->Secure->GetPOST('id')); - $loeschauftrag_vom = trim($this->app->Secure->GetPOST('loeschauftrag_vom')); - $kommentar = trim($this->app->Secure->GetPOST('kommentar')); - - $error = ""; - - if($loeschauftrag_vom == ""){ - $error .= "Bitte Löschauftrag vom ausfüllen"."\n"; - }else{ - $loeschauftrag_vom = date('Y-m-d', strtotime($loeschauftrag_vom)); - } - - if($adresse <= 0 || $adresse == ""){ - $error .= "Keine gültige Adresse gewählt"."\n"; - }else{ - $adresse = $this->app->DB->Select("SELECT id FROM adresse WHERE id = '$adresse' LIMIT 1"); - if($adresse != "" && $adresse > 0){ - }else{ - $error .= "Keine gültige Adresse gewählt"."\n"; - } - } - - if($error == ""){ - $id = $this->app->DB->Select("SELECT id FROM dsgvo_loeschauftrag WHERE adresse = '$adresse' LIMIT 1"); - if($id){ - $this->app->DB->Update("UPDATE dsgvo_loeschauftrag SET loeschauftrag_vom = '$loeschauftrag_vom', kommentar = '$kommentar' WHERE id = '$id'"); - - echo json_encode(array('status'=>1)); - exit; - }else{ - $this->app->DB->Insert("INSERT INTO dsgvo_loeschauftrag (adresse, loeschauftrag_vom, kommentar) VALUES ('$adresse', '$loeschauftrag_vom', '$kommentar')"); - - echo json_encode(array('status'=>1)); - exit; - } - }else{ - echo json_encode(array('status'=>0,'statusText'=>$error)); - exit; - - } - - } - - function DSGVOPDF(){ - - $id = $this->app->Secure->GetGET('id'); - - $pdf=new SuperFPDF('P','mm','A4',$this->app); - $pdf->AddPage(); - - $pdf->SetDisplayMode("real","single"); - - $pdf->SetMargins(15,50); - $pdf->SetAutoPageBreak(true,40); - $pdf->AliasNbPages('{nb}'); - - - // Bei Adressstammblatt immer oben beginnen - $pdf->abstand_betreffzeileoben=0; - $pdf->logofile = "";//$this->app->erp->GetTMP()."/".$this->app->Conf->WFdbname."_logo.jpg"; - $pdf->briefpapier=""; - - - $schrift = $this->app->erp->Firmendaten('schriftgroesse'); - - $pdf->SetFontSize($schrift); - $pdf->SetFont('Arial','','10'); - $pdf->SetX($pdf->GetX()+160); - $pdf->Cell(10,0,date("d.m.Y"),"","","L"); - - - $kunde= $this->app->DB->SelectArr("SELECT name,kundennummer,lieferantennummer FROM adresse WHERE id='$id' LIMIT 1"); - $kunde = reset($kunde); - - //$pdf->renderDoctype(); - $pdf->doctype="adresse"; - $pdf->doctypeOrig="Adresse: ".$kunde['name']; - - if($pdf->doctype=="brief") - $betreffszeile = $this->app->erp->Firmendaten('brieftext'); - else - $betreffszeile = $this->app->erp->Firmendaten('betreffszeile'); - - $pdf->SetY(20);//+$this->abstand_artikeltabelleoben); //Hoehe Box - //$this->SetY(80+$this->abstand_artikeltabelleoben); //Hoehe Box - $pdf->SetFont('Arial','B',$betreffszeile); - $pdf->SetY(40);//+$this->abstand_artikeltabelleoben); //Hoehe Box - $pdf->SetY($pdf->GetY()+$pdf->abstand_betreffzeileoben); - $pdf->Cell(85,6,$this->app->erp->ReadyForPDF($pdf->doctypeOrig)); - $pdf->SetY($pdf->GetY()-$pdf->abstand_betreffzeileoben); - - //$this->SetY($this->GetY()+$this->abstand_betreffzeileoben); - $pdf->SetY($pdf->GetY()+$pdf->abstand_artikeltabelleoben); //Hoehe Box - - $pdf->SetY(30);//+$this->abstand_artikeltabelleoben); //Hoehe Box - - $dokumententext = $this->app->erp->Firmendaten('dokumententext'); - $pdf->SetFont('Arial','',$dokumententext); - $pdf->SetY(50);//+$this->abstand_artikeltabelleoben); //Hoehe Box*/ - - - - - - $adresse = $this->app->DB->SelectArr("SELECT * FROM adresse WHERE id='".$id."'"); - $adresse = reset($adresse); - - if($adresse['typ']=="firma") - { - $infofields[]=array("Firma",$adresse['name']); - if($adresse['ansprechpartner']!="") - $infofields[]=array("Ansprechpartner",$adresse['ansprechpartner']); - } else { - $infofields[]=array("Name",$adresse['name']); - } - - $infofields[]=array("Anschrift",$adresse['land']."-".$adresse['plz']." ".$adresse['ort'].", ".$adresse['strasse'].", ".$adresse['adresszusatz']); - - $felder = array('telefon','telefax','mobil','email','web'); - foreach($felder as $feldname) - { - $infofields[]=array(ucfirst($feldname),$adresse[$feldname=='web'?'internetseite':$feldname]); - } - - - if($this->app->erp->Firmendaten("modul_mlm")==1) - { - $mlmvertragsbeginn = $this->app->DB->Select("SELECT DATE_FORMAT(mlmvertragsbeginn,'%d.%m.%Y') FROM adresse WHERE id='".$adresse['id']."' LIMIT 1"); - if($mlmvertragsbeginn=="00.00.0000") $mlmvertragsbeginn = "kein Vertragsbeginn eingestellt"; - $sponsorid = $this->app->DB->Select("SELECT sponsor FROM adresse WHERE id='".$adresse['id']."' LIMIT 1"); - if($sponsorid> 0) - $sponsor = $this->app->DB->Select("SELECT CONCAT(kundennummer,' ',name) FROM adresse WHERE id='$sponsorid' LIMIT 1"); - else - $sponsor = "Kein Sponsor vorhanden"; - - - - $infofields[]=array("Sponsor",$sponsor); - $infofields[]=array("Vertragsbeginn am",$mlmvertragsbeginn); - } - - - $erfasstam = $this->app->DB->Select("SELECT DATE_FORMAT(zeitstempel,'%d.%m.%Y') FROM objekt_protokoll WHERE objekt='adresse' AND objektid='".$adresse['id']."' AND action_long='adresse_create' LIMIT 1"); - $infofields[]=array("Erfasst am",$erfasstam); - - - $infofields[]=array("UST-ID",$adresse['ustid']); - $infofields[]=array("Steuernummer",$adresse['steuernummer']); - if(is_null($adresse['geburtstag']) || $adresse['geburtstag'] == "0000-00-00"){ - $infofields[]=array("Geburtstag",""); - }else{ - $infofields[]=array("Geburtstag",date('d.m.Y', strtotime($adresse['geburtstag']))); - } - $infofields[]=array("Bankname",$adresse['bank']); - $infofields[]=array("Kontoinhaber",$adresse['inhaber']); - $infofields[]=array("IBAN",$adresse['iban']); - $infofields[]=array("BIC",$adresse['swift']); - $infofields[]=array("Paypal Kontoinhaber",$adresse['paypalinhaber']); - $infofields[]=array("Paypal Account",$adresse['paypal']); - $infofields[]=array("Paypal Währung",$adresse['paypalwaehrung']); - $infofields[]=array("Mandatsreferenz",$adresse['Mandatsreferenz']); - if(is_null($adresse['mandatsreferenzdatum']) || $adresse['mandatsreferenzdatum'] == "0000-00-00"){ - $infofields[]=array("Mandatsreferenzdatum",""); - }else{ - $infofields[]=array("Mandatsreferenzdatum",date('d.m.Y', strtotime($adresse['mandatsreferenzdatum']))); - } - - - if($adresse['kundennummer']!="") - $numbers[] = array("Kunden Nr.",$adresse['kundennummer']); - - if($adresse['lieferantennummer']!="") - $numbers[] = array("Lieferanten Nr.",$adresse['lieferantennummer']); - - if($adresse['mitarbeiternummer']!="") - $numbers[] = array("Mitarbeiter Nr.",$adresse['mitarbeiternummer']); - - if(count($numbers)>0){ - //$pdf->renderInfoBox($numbers); - $height = 5; - for($i=0;$iMultiCell(50,$height,$this->app->erp->ReadyForPDF($numbers[$i][0]).":","BTL",'L'); - $pdf->SetY($pdf->GetY()-$height); $pdf->SetX(50); $pdf->MultiCell(140,$height,$this->app->erp->ReadyForPDF($numbers[$i][1]),"BTR",'L'); - } - - - } - - $pdf->Ln(5); - //$pdf->renderHeading("Adressstammblatt",8); - $height = 8; - $betreffszeile = $this->app->erp->Firmendaten('betreffszeile'); - - $pdf->SetFont('Arial','B',$betreffszeile); - $pdf->Cell(85,6,$this->app->erp->ReadyForPDF("Adressstammblatt")); - $pdf->SetFont('Arial','',$betreffszeile); - $pdf->Ln($height); - - - - //$pdf->renderInfoBox($infofields); - $height = 5; - for($i=0;$iMultiCell(50,$height,$this->app->erp->ReadyForPDF($infofields[$i][0]).":","BTL",'L'); - $pdf->SetY($pdf->GetY()-$height); $pdf->SetX(50); $pdf->MultiCell(140,$height,$this->app->erp->ReadyForPDF($infofields[$i][1]),"BTR",'L'); - } - - - $accounts_tmp = $this->app->DB->SelectArr("SELECT CONCAT('Bezeichnung: ', bezeichnung, ', ', 'Art: ', art, ', URL: ', url, ', Benutzername: ', benutzername) as 'value' FROM adresse_accounts WHERE adresse='".$adresse['id']."'"); - - for($i=0;$i 0){ - $pdf->Ln(5); - $height = 8; - $betreffszeile = $this->app->erp->Firmendaten('betreffszeile'); - - $pdf->SetFont('Arial','B',$betreffszeile); - $pdf->Cell(85,6,$this->app->erp->ReadyForPDF("Accounts")); - $pdf->SetFont('Arial','',$betreffszeile); - $pdf->Ln($height); - - - $height = 5; - if(is_array($accounts)) - { - for($i=0;$iMultiCell(175,$height,$pdf->WriteHTML($this->app->erp->ReadyForPDF($accounts[$i])),"",'L'); - } - } else { - $pdf->MultiCell(175,$height,$pdf->WriteHTML($this->app->erp->ReadyForPDF($accounts)),"BTLR",'L'); - } - - } - - - - $ansprechpartner_tmp = $this->app->DB->SelectArr("SELECT CONCAT(name, - ', Titel: ',titel, ', ',if(bereich='','Bereich: -', CONCAT('Bereich: ', bereich)), - ', Abteilung: ',abteilung, - ', Unterabteilung: ',unterabteilung, - ', Adresszusatz: ',adresszusatz, - ', Straße: ',strasse, - ', PLZ: ',plz, - ', Ort: ',ort, - ', Land: ',land, - ', Telefon: ',telefon, - ', Telefax: ',telefax, - ', Mobil: ',mobil, - ', E-Mail: ',email - ) as 'value' FROM ansprechpartner WHERE adresse='".$adresse['id']."'"); - - for($i=0;$i 0) - { - $pdf->Ln(5); - //$pdf->renderHeading("Ansprechpartner",8); - $height = 8; - $betreffszeile = $this->app->erp->Firmendaten('betreffszeile'); - - $pdf->SetFont('Arial','B',$betreffszeile); - $pdf->Cell(85,6,$this->app->erp->ReadyForPDF("Ansprechpartner")); - $pdf->SetFont('Arial','',$betreffszeile); - $pdf->Ln($height); - - - //$pdf->renderInfoBoxSingle($ansprechpartner); - $height = 5; - if(is_array($ansprechpartner)) - { - for($i=0;$iMultiCell(175,$height,$pdf->WriteHTML($this->app->erp->ReadyForPDF($ansprechpartner[$i])),"",'L'); - } - } else { - $pdf->MultiCell(175,$height,$pdf->WriteHTML($this->app->erp->ReadyForPDF($ansprechpartner)),"BTLR",'L'); - } - } - - - $lieferadressen_tmp = $this->app->DB->SelectArr("SELECT name,abteilung,unterabteilung,adresszusatz,strasse,plz,ort,land, - telefon,email - FROM lieferadressen WHERE adresse='".$adresse['id']."' ORDER by standardlieferadresse DESC"); - - for($i=0;$i$value) - { - switch($key) - { - case "email": - $lieferadressen_tmp[$i]['value'] .= "E-Mail: $value, "; - break; - - case "telefon": - $lieferadressen_tmp[$i]['value'] .= "Telefon: $value, "; - break; - case "telefax": - $lieferadressen_tmp[$i]['value'] .= "Telefax: $value, "; - break; - - default: - if($value!="") - $lieferadressen_tmp[$i]['value'] .= "$value, "; - } - } - - $lieferadressen_tmp[$i]['value'] = trim($lieferadressen_tmp[$i]['value'],', '); - if($i==0) $standard = " (Standard)"; else $standard=""; - - $lieferadressen[] = $lieferadressen_tmp[$i]['value'].$standard; - } - - if(count($lieferadressen) > 0) - { - $pdf->Ln(5); - //$pdf->renderHeading("Lieferadressen",8); - $height = 8; - $betreffszeile = $this->app->erp->Firmendaten('betreffszeile'); - - $pdf->SetFont('Arial','B',$betreffszeile); - $pdf->Cell(85,6,$this->app->erp->ReadyForPDF("Lieferadressen")); - $pdf->SetFont('Arial','',$betreffszeile); - $pdf->Ln($height); - - //$pdf->renderInfoBoxSingle($lieferadressen); - $height = 8; - if(is_array($lieferadressen)) - { - for($i=0;$iMultiCell(175,$height,$pdf->WriteHTML($this->app->erp->ReadyForPDF($lieferadressen[$i])),"",'L'); - } - } else { - $pdf->MultiCell(175,$height,$pdf->WriteHTML($this->app->erp->ReadyForPDF($lieferadressen)),"BTLR",'L'); - } - - - } - - - $pdf->Ln(5); - - if($adresse['sonstiges']!="") - { - //$pdf->renderHeading("Sonstiges",8); - $height = 8; - $betreffszeile = $this->app->erp->Firmendaten('betreffszeile'); - - $pdf->SetFont('Arial','B',$betreffszeile); - $pdf->Cell(85,6,$this->app->erp->ReadyForPDF($heading)); - $pdf->SetFont('Arial','',$betreffszeile); - $pdf->Ln($height); - //$this->SetFont($this->GetFont(),'',7); - $pdf->MultiCell(180,4,$pdf->WriteHTML($adresse['sonstiges'])); - } - - //$pdf->renderFooter(); - - $pdf->Output(date('Ymd')."_"."DSGVO_Auskunft".".pdf",'D'); - - } - - - function DSGVOMinidetail(){ - $id = $this->app->Secure->GetGET('id'); - - $table = new EasyTable($this->app); - - $table->Query("SELECT kommentar FROM dsgvo_loeschauftrag WHERE adresse = '$id' LIMIT 1"); - - $table->DisplayNew("TABELLE","Grund","noAction"); - - $this->app->Tpl->Output("dsgvo_minidetail.tpl"); - exit; - } - - - - -} +"; + $menu .= ""; + $menu .= ""; + $menu .= ""; + $menu .= "Conf->WFconf['defaulttheme']}/images/pdf.svg\" border=\"0\">"; + $menu .= " "; + $menu .= ''; + $menu .= "Conf->WFconf['defaulttheme']}/images/edit.svg\" border=\"0\">"; + $menu .= ""; + $menu .= ""; + $menu .= ""; + $menu .= ""; + + $subwhere = ""; + + $fnurloeschauftrag = $app->YUI->TableSearchFilter($name, 5, 'nurloeschauftrag', '0', 0, 'checkbox'); + + if($fnurloeschauftrag == 1){ + $subwhere .= " AND (d.loeschauftrag_vom != '' OR d.loeschauftrag_vom != '0000-00-00') "; + }else{ + $subwhere .= ""; + } + + $where = " a.id > 0 AND a.geloescht = 0 ".$subwhere; + + $sql = "SELECT SQL_CALC_FOUND_ROWS a.id, 'Conf->WFconf['defaulttheme']."/images/details_open.png class=details>' as open, a.name, a.kundennummer, a.lieferantennummer, a.land, a.plz, a.ort, a.email, IF(d.loeschauftrag_vom != '0000-00-00', DATE_FORMAT(d.loeschauftrag_vom, '%d.%m.%Y'), '-'), p.abkuerzung, a.id FROM adresse a LEFT JOIN projekt p ON a.projekt = p.id LEFT JOIN dsgvo_loeschauftrag d ON a.id = d.adresse"; + + $count = "SELECT count(a.id) FROM adresse a WHERE $where"; + break; + + } + + $erg = false; + + foreach($erlaubtevars as $k => $v) + { + if(isset($$v))$erg[$v] = $$v; + } + return $erg; + } + + + function __construct($app, $intern = false) { + $this->app=&$app; + if($intern)return; + $this->app->ActionHandlerInit($this); + + // ab hier alle Action Handler definieren die das Modul hat + $this->app->ActionHandler("list", "DSGVOList"); + $this->app->ActionHandler("edit", "DSGVOEdit"); + $this->app->ActionHandler("save", "DSGVOSave"); + $this->app->ActionHandler("pdf", "DSGVOPDF"); + $this->app->ActionHandler("minidetail", "DSGVOMinidetail"); + + $this->app->ActionHandlerListen($app); + + } + + + function Install(){ + $this->app->erp->CheckTable("dsgvo_loeschauftrag"); + $this->app->erp->CheckColumn("id", "int(11)", "dsgvo_loeschauftrag", "NOT NULL AUTO_INCREMENT"); + $this->app->erp->CheckColumn("adresse", "int(11)", "dsgvo_loeschauftrag", "NOT NULL DEFAULT 0"); + $this->app->erp->CheckColumn("loeschauftrag_vom", "date", "dsgvo_loeschauftrag", "NOT NULL"); + $this->app->erp->CheckColumn("kommentar", "varchar(512)", "dsgvo_loeschauftrag", "NOT NULL"); + } + + + function DSGVOMenu() + { + $this->app->erp->MenuEintrag("index.php?module=dsgvo&action=list","Zurück zur Übersicht"); + $this->app->erp->MenuEintrag("index.php?module=dsgvo&action=list","Details"); + } + + function DSGVOList() + { + $this->DSGVOMenu(); + $this->app->Tpl->Set("KURZUEBERSCHRIFT","DSGVO Auskunft"); + + $this->app->YUI->DatePicker('e_loeschauftrag_vom'); + $this->app->YUI->TableSearch('TAB1','dsgvo_auskunft_list', "show","","",basename(__FILE__), __CLASS__); + $this->app->Tpl->Parse("PAGE","dsgvo_auskunft_list.tpl"); + } + + function DSGVOEdit() + { + if($this->app->Secure->GetGET('cmd')=='get'){ + $id = (int)$this->app->Secure->GetPOST('id'); + + $data = $this->app->DB->SelectArr("SELECT d.adresse, d.loeschauftrag_vom, d.kommentar FROM dsgvo_loeschauftrag d WHERE d.adresse = '$id' LIMIT 1"); + + if($data){ + $data = reset($data); + + $data['id'] = $data['adresse']; + + if($data['loeschauftrag_vom'] == "0000-00-00"){ + $data['loeschauftrag_vom'] = ""; + }else{ + $data['loeschauftrag_vom'] = date('d.m.Y', strtotime($data['loeschauftrag_vom'])); + } + + }else{ + $data['id'] = 0; + $data['loeschauftrag_vom'] = ''; + $data['kommentar'] = ''; + } + echo json_encode($data); + exit; + } + + $this->app->Tpl->Parse('PAGE', "dsgvo_auskunft_list.tpl"); + } + + function DSGVOSave() + { + $adresse = (int)trim($this->app->Secure->GetPOST('id')); + $loeschauftrag_vom = trim($this->app->Secure->GetPOST('loeschauftrag_vom')); + $kommentar = trim($this->app->Secure->GetPOST('kommentar')); + + $error = ""; + + if($loeschauftrag_vom == ""){ + $error .= "Bitte Löschauftrag vom ausfüllen"."\n"; + }else{ + $loeschauftrag_vom = date('Y-m-d', strtotime($loeschauftrag_vom)); + } + + if($adresse <= 0 || $adresse == ""){ + $error .= "Keine gültige Adresse gewählt"."\n"; + }else{ + $adresse = $this->app->DB->Select("SELECT id FROM adresse WHERE id = '$adresse' LIMIT 1"); + if($adresse != "" && $adresse > 0){ + }else{ + $error .= "Keine gültige Adresse gewählt"."\n"; + } + } + + if($error == ""){ + $id = $this->app->DB->Select("SELECT id FROM dsgvo_loeschauftrag WHERE adresse = '$adresse' LIMIT 1"); + if($id){ + $this->app->DB->Update("UPDATE dsgvo_loeschauftrag SET loeschauftrag_vom = '$loeschauftrag_vom', kommentar = '$kommentar' WHERE id = '$id'"); + + echo json_encode(array('status'=>1)); + exit; + }else{ + $this->app->DB->Insert("INSERT INTO dsgvo_loeschauftrag (adresse, loeschauftrag_vom, kommentar) VALUES ('$adresse', '$loeschauftrag_vom', '$kommentar')"); + + echo json_encode(array('status'=>1)); + exit; + } + }else{ + echo json_encode(array('status'=>0,'statusText'=>$error)); + exit; + + } + + } + + function DSGVOPDF(){ + + $id = $this->app->Secure->GetGET('id'); + + $pdf=new SuperFPDF('P','mm','A4',$this->app); + $pdf->AddPage(); + + $pdf->SetDisplayMode("real","single"); + + $pdf->SetMargins(15,50); + $pdf->SetAutoPageBreak(true,40); + $pdf->AliasNbPages('{nb}'); + + + // Bei Adressstammblatt immer oben beginnen + $pdf->abstand_betreffzeileoben=0; + $pdf->logofile = "";//$this->app->erp->GetTMP()."/".$this->app->Conf->WFdbname."_logo.jpg"; + $pdf->briefpapier=""; + + + $schrift = $this->app->erp->Firmendaten('schriftgroesse'); + + $pdf->SetFontSize($schrift); + $pdf->SetFont('Arial','','10'); + $pdf->SetX($pdf->GetX()+160); + $pdf->Cell(10,0,date("d.m.Y"),"","","L"); + + + $kunde= $this->app->DB->SelectArr("SELECT name,kundennummer,lieferantennummer FROM adresse WHERE id='$id' LIMIT 1"); + $kunde = reset($kunde); + + //$pdf->renderDoctype(); + $pdf->doctype="adresse"; + $pdf->doctypeOrig="Adresse: ".$kunde['name']; + + if($pdf->doctype=="brief") + $betreffszeile = $this->app->erp->Firmendaten('brieftext'); + else + $betreffszeile = $this->app->erp->Firmendaten('betreffszeile'); + + $pdf->SetY(20);//+$this->abstand_artikeltabelleoben); //Hoehe Box + //$this->SetY(80+$this->abstand_artikeltabelleoben); //Hoehe Box + $pdf->SetFont('Arial','B',$betreffszeile); + $pdf->SetY(40);//+$this->abstand_artikeltabelleoben); //Hoehe Box + $pdf->SetY($pdf->GetY()+$pdf->abstand_betreffzeileoben); + $pdf->Cell(85,6,$this->app->erp->ReadyForPDF($pdf->doctypeOrig)); + $pdf->SetY($pdf->GetY()-$pdf->abstand_betreffzeileoben); + + //$this->SetY($this->GetY()+$this->abstand_betreffzeileoben); + $pdf->SetY($pdf->GetY()+$pdf->abstand_artikeltabelleoben); //Hoehe Box + + $pdf->SetY(30);//+$this->abstand_artikeltabelleoben); //Hoehe Box + + $dokumententext = $this->app->erp->Firmendaten('dokumententext'); + $pdf->SetFont('Arial','',$dokumententext); + $pdf->SetY(50);//+$this->abstand_artikeltabelleoben); //Hoehe Box*/ + + + + + + $adresse = $this->app->DB->SelectArr("SELECT * FROM adresse WHERE id='".$id."'"); + $adresse = reset($adresse); + + if($adresse['typ']=="firma") + { + $infofields[]=array("Firma",$adresse['name']); + if($adresse['ansprechpartner']!="") + $infofields[]=array("Ansprechpartner",$adresse['ansprechpartner']); + } else { + $infofields[]=array("Name",$adresse['name']); + } + + $infofields[]=array("Anschrift",$adresse['land']."-".$adresse['plz']." ".$adresse['ort'].", ".$adresse['strasse'].", ".$adresse['adresszusatz']); + + $felder = array('telefon','telefax','mobil','email','web'); + foreach($felder as $feldname) + { + $infofields[]=array(ucfirst($feldname),$adresse[$feldname=='web'?'internetseite':$feldname]); + } + + + if($this->app->erp->Firmendaten("modul_mlm")==1) + { + $mlmvertragsbeginn = $this->app->DB->Select("SELECT DATE_FORMAT(mlmvertragsbeginn,'%d.%m.%Y') FROM adresse WHERE id='".$adresse['id']."' LIMIT 1"); + if($mlmvertragsbeginn=="00.00.0000") $mlmvertragsbeginn = "kein Vertragsbeginn eingestellt"; + $sponsorid = $this->app->DB->Select("SELECT sponsor FROM adresse WHERE id='".$adresse['id']."' LIMIT 1"); + if($sponsorid> 0) + $sponsor = $this->app->DB->Select("SELECT CONCAT(kundennummer,' ',name) FROM adresse WHERE id='$sponsorid' LIMIT 1"); + else + $sponsor = "Kein Sponsor vorhanden"; + + + + $infofields[]=array("Sponsor",$sponsor); + $infofields[]=array("Vertragsbeginn am",$mlmvertragsbeginn); + } + + + $erfasstam = $this->app->DB->Select("SELECT DATE_FORMAT(zeitstempel,'%d.%m.%Y') FROM objekt_protokoll WHERE objekt='adresse' AND objektid='".$adresse['id']."' AND action_long='adresse_create' LIMIT 1"); + $infofields[]=array("Erfasst am",$erfasstam); + + + $infofields[]=array("UST-ID",$adresse['ustid']); + $infofields[]=array("Steuernummer",$adresse['steuernummer']); + if(is_null($adresse['geburtstag']) || $adresse['geburtstag'] == "0000-00-00"){ + $infofields[]=array("Geburtstag",""); + }else{ + $infofields[]=array("Geburtstag",date('d.m.Y', strtotime($adresse['geburtstag']))); + } + $infofields[]=array("Bankname",$adresse['bank']); + $infofields[]=array("Kontoinhaber",$adresse['inhaber']); + $infofields[]=array("IBAN",$adresse['iban']); + $infofields[]=array("BIC",$adresse['swift']); + $infofields[]=array("Paypal Kontoinhaber",$adresse['paypalinhaber']); + $infofields[]=array("Paypal Account",$adresse['paypal']); + $infofields[]=array("Paypal Währung",$adresse['paypalwaehrung']); + $infofields[]=array("Mandatsreferenz",$adresse['Mandatsreferenz']); + if(is_null($adresse['mandatsreferenzdatum']) || $adresse['mandatsreferenzdatum'] == "0000-00-00"){ + $infofields[]=array("Mandatsreferenzdatum",""); + }else{ + $infofields[]=array("Mandatsreferenzdatum",date('d.m.Y', strtotime($adresse['mandatsreferenzdatum']))); + } + + + if($adresse['kundennummer']!="") + $numbers[] = array("Kunden Nr.",$adresse['kundennummer']); + + if($adresse['lieferantennummer']!="") + $numbers[] = array("Lieferanten Nr.",$adresse['lieferantennummer']); + + if($adresse['mitarbeiternummer']!="") + $numbers[] = array("Mitarbeiter Nr.",$adresse['mitarbeiternummer']); + + if(count($numbers)>0){ + //$pdf->renderInfoBox($numbers); + $height = 5; + for($i=0;$iMultiCell(50,$height,$this->app->erp->ReadyForPDF($numbers[$i][0]).":","BTL",'L'); + $pdf->SetY($pdf->GetY()-$height); $pdf->SetX(50); $pdf->MultiCell(140,$height,$this->app->erp->ReadyForPDF($numbers[$i][1]),"BTR",'L'); + } + + + } + + $pdf->Ln(5); + //$pdf->renderHeading("Adressstammblatt",8); + $height = 8; + $betreffszeile = $this->app->erp->Firmendaten('betreffszeile'); + + $pdf->SetFont('Arial','B',$betreffszeile); + $pdf->Cell(85,6,$this->app->erp->ReadyForPDF("Adressstammblatt")); + $pdf->SetFont('Arial','',$betreffszeile); + $pdf->Ln($height); + + + + //$pdf->renderInfoBox($infofields); + $height = 5; + for($i=0;$iMultiCell(50,$height,$this->app->erp->ReadyForPDF($infofields[$i][0]).":","BTL",'L'); + $pdf->SetY($pdf->GetY()-$height); $pdf->SetX(50); $pdf->MultiCell(140,$height,$this->app->erp->ReadyForPDF($infofields[$i][1]),"BTR",'L'); + } + + + $accounts_tmp = $this->app->DB->SelectArr("SELECT CONCAT('Bezeichnung: ', bezeichnung, ', ', 'Art: ', art, ', URL: ', url, ', Benutzername: ', benutzername) as 'value' FROM adresse_accounts WHERE adresse='".$adresse['id']."'"); + + for($i=0;$i 0){ + $pdf->Ln(5); + $height = 8; + $betreffszeile = $this->app->erp->Firmendaten('betreffszeile'); + + $pdf->SetFont('Arial','B',$betreffszeile); + $pdf->Cell(85,6,$this->app->erp->ReadyForPDF("Accounts")); + $pdf->SetFont('Arial','',$betreffszeile); + $pdf->Ln($height); + + + $height = 5; + if(is_array($accounts)) + { + for($i=0;$iMultiCell(175,$height,$pdf->WriteHTML($this->app->erp->ReadyForPDF($accounts[$i])),"",'L'); + } + } else { + $pdf->MultiCell(175,$height,$pdf->WriteHTML($this->app->erp->ReadyForPDF($accounts)),"BTLR",'L'); + } + + } + + + + $ansprechpartner_tmp = $this->app->DB->SelectArr("SELECT CONCAT(name, + ', Titel: ',titel, ', ',if(bereich='','Bereich: -', CONCAT('Bereich: ', bereich)), + ', Abteilung: ',abteilung, + ', Unterabteilung: ',unterabteilung, + ', Adresszusatz: ',adresszusatz, + ', Straße: ',strasse, + ', PLZ: ',plz, + ', Ort: ',ort, + ', Land: ',land, + ', Telefon: ',telefon, + ', Telefax: ',telefax, + ', Mobil: ',mobil, + ', E-Mail: ',email + ) as 'value' FROM ansprechpartner WHERE adresse='".$adresse['id']."'"); + + for($i=0;$i 0) + { + $pdf->Ln(5); + //$pdf->renderHeading("Ansprechpartner",8); + $height = 8; + $betreffszeile = $this->app->erp->Firmendaten('betreffszeile'); + + $pdf->SetFont('Arial','B',$betreffszeile); + $pdf->Cell(85,6,$this->app->erp->ReadyForPDF("Ansprechpartner")); + $pdf->SetFont('Arial','',$betreffszeile); + $pdf->Ln($height); + + + //$pdf->renderInfoBoxSingle($ansprechpartner); + $height = 5; + if(is_array($ansprechpartner)) + { + for($i=0;$iMultiCell(175,$height,$pdf->WriteHTML($this->app->erp->ReadyForPDF($ansprechpartner[$i])),"",'L'); + } + } else { + $pdf->MultiCell(175,$height,$pdf->WriteHTML($this->app->erp->ReadyForPDF($ansprechpartner)),"BTLR",'L'); + } + } + + + $lieferadressen_tmp = $this->app->DB->SelectArr("SELECT name,abteilung,unterabteilung,adresszusatz,strasse,plz,ort,land, + telefon,email + FROM lieferadressen WHERE adresse='".$adresse['id']."' ORDER by standardlieferadresse DESC"); + + for($i=0;$i$value) + { + switch($key) + { + case "email": + $lieferadressen_tmp[$i]['value'] .= "E-Mail: $value, "; + break; + + case "telefon": + $lieferadressen_tmp[$i]['value'] .= "Telefon: $value, "; + break; + case "telefax": + $lieferadressen_tmp[$i]['value'] .= "Telefax: $value, "; + break; + + default: + if($value!="") + $lieferadressen_tmp[$i]['value'] .= "$value, "; + } + } + + $lieferadressen_tmp[$i]['value'] = trim($lieferadressen_tmp[$i]['value'],', '); + if($i==0) $standard = " (Standard)"; else $standard=""; + + $lieferadressen[] = $lieferadressen_tmp[$i]['value'].$standard; + } + + if(count($lieferadressen) > 0) + { + $pdf->Ln(5); + //$pdf->renderHeading("Lieferadressen",8); + $height = 8; + $betreffszeile = $this->app->erp->Firmendaten('betreffszeile'); + + $pdf->SetFont('Arial','B',$betreffszeile); + $pdf->Cell(85,6,$this->app->erp->ReadyForPDF("Lieferadressen")); + $pdf->SetFont('Arial','',$betreffszeile); + $pdf->Ln($height); + + //$pdf->renderInfoBoxSingle($lieferadressen); + $height = 8; + if(is_array($lieferadressen)) + { + for($i=0;$iMultiCell(175,$height,$pdf->WriteHTML($this->app->erp->ReadyForPDF($lieferadressen[$i])),"",'L'); + } + } else { + $pdf->MultiCell(175,$height,$pdf->WriteHTML($this->app->erp->ReadyForPDF($lieferadressen)),"BTLR",'L'); + } + + + } + + + $pdf->Ln(5); + + if($adresse['sonstiges']!="") + { + //$pdf->renderHeading("Sonstiges",8); + $height = 8; + $betreffszeile = $this->app->erp->Firmendaten('betreffszeile'); + + $pdf->SetFont('Arial','B',$betreffszeile); + $pdf->Cell(85,6,$this->app->erp->ReadyForPDF($heading)); + $pdf->SetFont('Arial','',$betreffszeile); + $pdf->Ln($height); + //$this->SetFont($this->GetFont(),'',7); + $pdf->MultiCell(180,4,$pdf->WriteHTML($adresse['sonstiges'])); + } + + //$pdf->renderFooter(); + + $pdf->Output(date('Ymd')."_"."DSGVO_Auskunft".".pdf",'D'); + + } + + + function DSGVOMinidetail(){ + $id = $this->app->Secure->GetGET('id'); + + $table = new EasyTable($this->app); + + $table->Query("SELECT kommentar FROM dsgvo_loeschauftrag WHERE adresse = '$id' LIMIT 1",0,""); + + $table->DisplayNew("TABELLE","Grund","noAction"); + + $this->app->Tpl->Output("dsgvo_minidetail.tpl"); + exit; + } + + + + +}