package PayoneSEPA;
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Copyright (c) Rainer Gümpelein, TeilRad GmbH
#
use strict;
use warnings;
use POSIX;
use CGI ':standard';
use Mod::Buttons;
use Mod::Basework;
use Mod::Shareework;
use Mod::DBtank;
use Mod::Pricing;
use Sys::Hostname;
sub new {
my $class = shift;
my $self = {};
bless($self,$class);
return $self;
}
#Template
sub tpl(){
my $self = shift;
my $tpl_id = shift;
my $node_meta = shift;
my $users_dms = shift || "";
my $varenv = shift;
my $users_sharee = shift || "";
my $feedb = shift || "";
my $q = new CGI;
my $bw = new Basework;
my $tk = new Shareework;
my $dbt = new DBtank;
my $pri = new Pricing;
my $but = new Buttons;
$q->import_names('R');
my @keywords = $q->param;
my $dbh = "";
my $bgcolor1 = "009899";#sharee
$bgcolor1 = $dbt->{website}->{$varenv->{syshost}}->{bgcolor1} if($dbt->{website}->{$varenv->{syshost}}->{bgcolor1});
$bgcolor1 = $dbt->{merchant_ids}->{$varenv->{merchant_id}}->{bgcolor1} if($dbt->{merchant_ids}->{$varenv->{merchant_id}}->{bgcolor1});
my $coo = $q->cookie(-name=>'domcookie') || $R::sessionid;
my $ctadr = $users_sharee if(ref($users_sharee) eq "HASH" && $users_sharee->{c_id});
my $payable_check=0;
$payable_check = $bw->isuser_rentable($ctadr,$varenv);
my $tpl = $dbt->get_tpl($dbh,$tpl_id);
my @tpl_order = split /,/,$tpl->{tpl_order};
print $q->start_form(),"\n";
print $q->hidden(-name=>"sessionid",-override=>1,-value=>"$R::sessionid");
print $q->hidden(-name=>"tinkc_id",-override=>1,-value=>"$ctadr->{c_id}");
print $q->hidden(-name=>"request",-override=>1,-value=>"managemandate");
print "
\n";
#SEPA
if($tpl_id == 309){
print $q->div({-class=>'content_title3'},"$varenv->{cms}->{'iframe-bank-account'}->{txt}"),"\n";
print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-sepa-mandat-prolog'}->{txt}"),"\n";
#print $q->div({-class=>'content2'}, "Zur Validierung Ihrer Zahlungsdaten wird eine 1,- € Testbuchung vorgenommen. Wir werden nach erfolgreicher Abbuchung den Betrag als Mietgutschrift in Ihrem Account hinterlegen."),"\n";
foreach (@tpl_order){
my ($key,$des,$size) = split /=/,$_;
$ctadr->{$key} = $q->unescapeHTML("$ctadr->{$key}");
my $label_des="";
my $red = "#c83434";
my $required="required";
if($key eq "txt22"){
if($R::IBAN){
$label_des = "IBAN error";
$ctadr->{$key} = $R::IBAN;
}
if($R::failure eq $key){
$varenv->{cms}->{'iframe-correct-input'}->{txt} =~ s/::input::/$des/;
$label_des = "$varenv->{cms}->{'iframe-correct-input'}->{txt}";
}
print $q->label({-for=>"$key", -style=>'padding-top:1.5em;'},"$label_des"),"\n";
print "\n";
}elsif($key eq "txt23"){
print $q->label({-for=>"$key", -style=>'padding-top:1.5em;'},"$label_des"),"\n";
print "\n";
#------------------------
}elsif($key =~ /int03/ && $size eq "checkbox"){
if(!$payable_check){
my $int03 = "";
#$int03 = $ctadr->{$key} if($ctadr->{$key} == 1);
print $q->div({-style=>'margin:10px 0;'},"$varenv->{cms}->{'iframe-sepa-mandat'}->{txt}"),"\n";
if($ctadr->{txt27} !~ /active|pending/ && $R::failure eq $key){
$varenv->{cms}->{'iframe-please-confirm'}->{txt} =~ s/::value::/$des/;
$label_des = "$varenv->{cms}->{'iframe-please-confirm'}->{txt}";
print $q->label({-for=>"$key", -style=>'padding-top:10px;'},"$label_des"),"\n";
}
my $des = "$varenv->{cms}->{'iframe-sepa-mandat-accept'}->{txt}";
print $q->div({-id=>"$key"},$but->checkbox("1","$key","$int03","","$required"), " $des"),"\n";
}else{
#if payone fails/error
if($ctadr->{txt27} =~ /active|pending/){
if($ctadr->{ct_name} && ($ctadr->{ct_name} =~ /PO-/ || $ctadr->{ct_name} =~ /TM-/) && $coo){
my $webtarget = "_blank";
my $dtext = "";
if($varenv->{syshost} =~ /app/){
$webtarget = "_self";
$dtext = "