2021-12-30 12:05:56 +01:00
package PDFGenerator ;
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Copyright (c) Rainer Gümpelein, TeilRad GmbH
#
#
use strict ;
use warnings ;
use POSIX ;
use CGI::Cookie ( ) ;
use CGI ;
use CGI::Carp qw( fatalsToBrowser ) ;
use CGI ':standard' ;
use Lib::Config ;
use Mod::DBtank ;
sub new {
my $ class = shift ;
my $ self = { } ;
bless ( $ self , $ class ) ;
return $ self ;
}
sub printpre () {
my $ q = new CGI ;
my $ cf = new Config ;
my $ dbt = new DBtank ;
my % varenv = $ cf - > envonline ( ) ;
my $ today = strftime ( "%d.%m.%Y %H:%M" , localtime ( time ) ) ;
2023-12-01 20:14:31 +01:00
my $ dbh = "" ;
2021-12-30 12:05:56 +01:00
2023-12-01 20:14:31 +01:00
my $ c_id = $ R:: id ;
2022-11-14 21:16:22 +01:00
my $ pkey = $ R:: pkey || "" ;
my $ api_file = "/var/www/copri4/shareeconf/apikeys.cfg" ;
my $ aconf = Config::General - > new ( $ api_file ) ;
my % apikeyconf = $ aconf - > getall ;
2021-12-30 12:05:56 +01:00
2022-02-03 21:14:37 +01:00
my $ payone_conf = $ dbt - > { operator } - > { $ varenv { dbname } } - > { payone_conf } || $ dbt - > { payone_conf } ;
2023-12-01 20:14:31 +01:00
my $ authref = {
table = > "contentadr" ,
fetch = > "one" ,
template_id = > "202" ,
c_id = > "$c_id" ,
} ;
my $ ctrel = { c_id = > 0 } ;
$ ctrel = $ dbt - > fetch_record ( $ dbh , $ authref ) if ( $ c_id ) ;
2021-12-30 12:05:56 +01:00
print $ q - > start_html ( - title = > 'PDFGenerator' ) ;
my $ width = "1799px" ;
if ( 1 == 1 ) {
print " < style type = 'text/css' > < ! - -
body , html {
background - color: white ;
margin: 1 px ; padding: 0 ;
border: 0 px solid black ;
text - align: left ;
font - family: Arial , sans - serif ;
}
. Oline {
border - bottom - width:1px ;
border - bottom - style:solid ;
border - color:black ;
margin:0 .5 em 0 ;
}
. tdname1 {
font - size:1em ;
font - weight:bold ;
padding:0 .1 em ;
text - align: right ;
}
. tdval1 {
font - size:1em ;
font - weight:normal ;
padding:0 .1 em 1 em ;
text - align: left ;
}
. content1 {
font - size:1em ;
font - weight:normal ;
padding:1em 0.1 em ;
text - align: left ;
}
// - - > </style> "," \ n " ;
}
2022-11-14 21:16:22 +01:00
if ( ! $ apikeyconf { pdfprinter } - > { pkey } || ! $ pkey || $ apikeyconf { pdfprinter } - > { pkey } ne $ pkey ) {
print "Failure: access denied, api-key doesn't match" ;
return Apache2::Const:: OK ;
exit 0 ;
}
2021-12-30 12:05:56 +01:00
print $ q - > div ( { - style = > 'font-size:1.2em;font-weight:bold;padding:1em 0.1em;' } , "SEPA-Lastschriftmandat" ) , "\n" ;
print $ q - > div ( { - class = > 'Oline' } , "" ) , "\n" ;
print $ q - > start_table ( { - border = > '0' , - cellpadding = > '3' , - cellspacing = > '0' } ) , "\n" ;
print $ q - > Tr ( ) , "\n" ;
print $ q - > td ( { - class = > 'tdname1' } , "Zahlungsempfänger" ) , "\n" ;
2022-02-03 21:14:37 +01:00
print $ q - > td ( { - class = > 'tdval1' } , "$payone_conf->{sepa_creditor_name}" ) , "\n" ;
2021-12-30 12:05:56 +01:00
print $ q - > Tr ( ) , "\n" ;
print $ q - > td ( { - class = > 'tdname1' } , "Gläubiger-Identifikationsnummer" ) , "\n" ;
2022-02-03 21:14:37 +01:00
print $ q - > td ( { - class = > 'tdval1' } , "$payone_conf->{sepa_creditor_id}" ) , "\n" ;
2021-12-30 12:05:56 +01:00
print $ q - > Tr ( ) , "\n" ;
print $ q - > td ( { - class = > 'tdname1' } , "Mandatsreferenz" ) , "\n" ;
print $ q - > td ( { - class = > 'tdval1' } , "$ctrel->{ct_name}" ) , "\n" ;
print $ q - > end_table , "\n" ;
print $ q - > div ( { - class = > 'Oline' } , "" ) , "\n" ;
print $ q - > div ( { - class = > 'content1' } , "Ich ermächtige den Zahlungsempfänger, Zahlungen von meinem Konto mittels Lastschrift einzuziehen. Zugleich weise ich mein Kreditinstitut an, die von dem Zahlungsempfänger auf mein Konto gezogenen Lastschriften einzulösen." ) , "\n" ;
print $ q - > div ( { - class = > 'content1' } , "Hinweis: Ich kann innerhalb von acht Wochen, beginnend mit dem Belastungsdatum, die Erstattung des belasteten Betrages verlangen. Es gelten dabei die mit meinem Kreditinstitut vereinbarten Bedingungen." ) , "\n" ;
print $ q - > div ( { - class = > 'Oline' } , "" ) , "\n" ;
print $ q - > start_table ( { - border = > '0' , - cellpadding = > '3' , - cellspacing = > '0' } ) , "\n" ;
print $ q - > Tr ( ) , "\n" ;
print $ q - > td ( { - class = > 'tdname1' } , "Name des Zahlungspflichtigen" ) , "\n" ;
print $ q - > td ( { - class = > 'tdval1' } , "$ctrel->{txt01}" ) , "\n" ;
print $ q - > Tr ( ) , "\n" ;
print $ q - > td ( { - class = > 'tdname1' } , "Straße Nr." ) , "\n" ;
print $ q - > td ( { - class = > 'tdval1' } , "$ctrel->{txt03}" ) , "\n" ;
print $ q - > Tr ( ) , "\n" ;
print $ q - > td ( { - class = > 'tdname1' } , "PLZ Ort" ) , "\n" ;
print $ q - > td ( { - class = > 'tdval1' } , "$ctrel->{txt06}" ) , "\n" ;
print $ q - > Tr ( ) , "\n" ;
print $ q - > td ( { - class = > 'tdname1' } , "Land" ) , "\n" ;
print $ q - > td ( { - class = > 'tdval1' } , "$ctrel->{txt10}" ) , "\n" ;
print $ q - > Tr ( ) , "\n" ;
print $ q - > td ( { - class = > 'tdname1' } , "E-Mail" ) , "\n" ;
print $ q - > td ( { - class = > 'tdval1' } , "$ctrel->{txt08}" ) , "\n" ;
print $ q - > Tr ( ) , "\n" ;
print $ q - > td ( { - class = > 'tdname1' } , "Swift BIC" ) , "\n" ;
print $ q - > td ( { - class = > 'tdval1' } , "$ctrel->{txt23}" ) , "\n" ;
print $ q - > Tr ( ) , "\n" ;
print $ q - > td ( { - class = > 'tdname1' } , "Bankkontonummer - IBAN" ) , "\n" ;
print $ q - > td ( { - class = > 'tdval1' } , "$ctrel->{txt22}" ) , "\n" ;
print $ q - > end_table , "\n" ;
print $ q - > div ( { - class = > 'content1' } , "" ) , "\n" ;
print $ q - > div ( { - class = > 'content1' } , "$ctrel->{txt06}, $today, $ctrel->{txt01}" ) , "\n" ;
print $ q - > end_html ;
return Apache2::Const:: OK ;
}
1 ;