diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 99b2d4a..18e7d8a 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -931,7 +931,7 @@ sub booking_request(){ if($ct_bike->{barcode} && $ct_tariff->{barcode}){ my $ctt = {}; my $rentable_check=0; - $rentable_check = $self->isuser_rentable($auth,$varenv); + $rentable_check = $bw->isuser_rentable($auth,$varenv); $bw->log("booking_request isuser_rentable:",$rentable_check,""); @@ -1034,26 +1034,6 @@ sub booking_request(){ return $return; } -#int03=1 if sepa, 2=CC -#int04==1 if email Ack -#int13==1 if sms Ack -#int12!=1|2|3 if Vde -#int14==1 if AGB -sub isuser_rentable { - my $self = shift; - my $auth = shift; - my $varenv = shift; - - my $rentable_check=0; - if(($auth->{int03} == 1 && $auth->{ct_name} =~ /\w{2}-\d+/ && $auth->{ct_name} !~ /LV-\d+/) || ($auth->{int03} == 2 && length($auth->{ct_name}) >= 19) || ($auth->{int03} == 1 && $varenv->{dbname} eq "sharee_lv" && $auth->{ct_name} =~ /LV-\d+/)){ - $rentable_check=1; - if($auth->{txt08} && $auth->{int04} == 1 && $auth->{int13} == 1 && !$auth->{int12} && $auth->{int14}){ - $rentable_check=2; - } - } - return $rentable_check; -} - #booking_cancel changed to booking_update sub booking_update(){ my $self = shift; diff --git a/copri4/main/src/Mod/APIjsonserver.pm b/copri4/main/src/Mod/APIjsonserver.pm index 1fbe9f4..f7a850b 100755 --- a/copri4/main/src/Mod/APIjsonserver.pm +++ b/copri4/main/src/Mod/APIjsonserver.pm @@ -117,8 +117,15 @@ if(!$coo && !$q->param('merchant_id')){ }else{ my $return_merchant = { project_id => "" }; ($aowner, $return_merchant) = $apif->fetch_merchant($q,\%varenv,$coo,$q->param('merchant_id')); - #if($aowner && ($aowner == 195 || $aowner == 185 || $aowner == 176)){ - if($return_merchant->{project_id} eq "Konstanz"){ + if($return_merchant->{project_id} eq "Freiburg"){ + $response->{agb_html} = "$dbt->{project_conf}->{Freiburg}->{agb_html}"; + $response->{tariff_info_html} = "$dbt->{project_conf}->{Freiburg}->{tariff_info_html}"; + $response->{bike_info_html} = "$dbt->{project_conf}->{Freiburg}->{bike_info_html}"; + if($lang ne "de"){ + $response->{tariff_info_html} =~ s/\.html/_en\.html/; + } + } + elsif($return_merchant->{project_id} eq "Konstanz"){ $response->{agb_html} = "$dbt->{project_conf}->{Konstanz}->{agb_html}"; $response->{tariff_info_html} = "$dbt->{project_conf}->{Konstanz}->{tariff_info_html}"; $response->{bike_info_html} = "$dbt->{project_conf}->{Konstanz}->{bike_info_html}"; @@ -127,7 +134,7 @@ if(!$coo && !$q->param('merchant_id')){ $response->{bike_info_html} =~ s/\.html/_en\.html/; } } - if($return_merchant->{project_id} eq "Bayern"){ + elsif($return_merchant->{project_id} eq "Bayern"){ $response->{agb_html} = "$dbt->{project_conf}->{Bayern}->{agb_html}"; $response->{privacy_html} = "$dbt->{project_conf}->{Bayern}->{privacy_html}"; $response->{tariff_info_html} = "$dbt->{project_conf}->{Bayern}->{tariff_info_html}"; diff --git a/copri4/main/src/Mod/Basework.pm b/copri4/main/src/Mod/Basework.pm index a082d6b..ffb0311 100755 --- a/copri4/main/src/Mod/Basework.pm +++ b/copri4/main/src/Mod/Basework.pm @@ -121,5 +121,26 @@ sub battery_percent { return $current_percent; } +#payable_check and rentable_check +#int03==1 if sepa, 2 if CC, 3 if prepaid +#int04==1 if email Ack +#int13==1 if sms Ack +#int12==1|2|3|4 then Vde +#int14==1 if AGB +sub isuser_rentable { + my $self = shift; + my $auth = shift; + my $varenv = shift; + + my $rentable_check=0; + if($auth->{int03} && $auth->{ct_name} && ($auth->{int03} == 1 && $auth->{ct_name} =~ /\w{2}-\d+/) || ($auth->{int03} == 2 && length($auth->{ct_name}) >= 19) || ($auth->{int03} == 3 && $auth->{ct_name} =~ /Prepaid-\d+/i)){ + $rentable_check=1; + if($auth->{txt08} && $auth->{int04} == 1 && $auth->{int13} == 1 && !$auth->{int12} && $auth->{int14}){ + $rentable_check=2;#if 2 then everything should be alright. rental is enabled + } + } + return $rentable_check; +} + 1; diff --git a/copri4/main/src/Mod/DBtank.pm b/copri4/main/src/Mod/DBtank.pm index bbb92a2..ba596bf 100755 --- a/copri4/main/src/Mod/DBtank.pm +++ b/copri4/main/src/Mod/DBtank.pm @@ -1897,4 +1897,22 @@ sub search_json(){ return ($rows,$sth); } +#just counting +sub count_content(){ + my $self = shift; + my $dbh = shift || $dbh_intern; + my $table = shift; + my $main_ids = shift; + my $tplids = shift; + + $main_ids =~ s/,$//; + $tplids =~ s/,$//; + my $where = "WHERE rel.content_id=ct.c_id and rel.main_id IN ($main_ids)"; + $where .= " and rel.template_id IN ($tplids)" if($tplids =~ /\d/); + my $sth = $dbh->prepare("SELECT DISTINCT(ct.c_id) FROM relation rel, $table ct $where"); + my $rc = $sth->execute(); + my $rows = $sth->rows; + return $rows; +} + 1; diff --git a/copri4/main/src/Mod/Indexsharee.pm b/copri4/main/src/Mod/Indexsharee.pm index 5b613b8..7304f35 100755 --- a/copri4/main/src/Mod/Indexsharee.pm +++ b/copri4/main/src/Mod/Indexsharee.pm @@ -236,12 +236,11 @@ sub handler { } } - my $payable_check=0; - if($users_sharee->{int03} && $users_sharee->{ct_name} && ($users_sharee->{int03} == 1 && $users_sharee->{ct_name} =~ /\w{2}-\d+/) || ($users_sharee->{int03} == 2 && length($users_sharee->{ct_name}) >= 19)){ - $payable_check=1; - } - - + #$payable_check==1 if payment data OK + #$payable_check==2 if payment data AND sms-,email-Ack,:!Vde,AGB OK + my $payable_check=0; + $payable_check = $bw->isuser_rentable($users_sharee,\%varenv); + # Logout if($mode =~ /logout/){ if($mode =~ /logout_sharee/){ @@ -258,7 +257,7 @@ sub handler { if($R::login_sharee){ - if($users_sharee->{c_id} && (($users_sharee->{int03} != 1 && $users_sharee->{int03} != 2)|| ($users_sharee->{txt31} && $tpl->{tpl_order} =~ /$users_sharee->{txt31}/))){ + if($users_sharee->{c_id} && (!$payable_check || ($users_sharee->{txt31} && $tpl->{tpl_order} =~ /$users_sharee->{txt31}/))){ my $row = $db->updater("contentadr","c_id","$users_sharee->{c_id}","int12","1");#Vde print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_1}$session"); exit 0; @@ -675,7 +674,7 @@ sub handler { }else{ my $field = "int13"; $field = "int04" if(!$users_sharee->{int04}); - print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_3}?cum=3$session_and\&failure=$field#top"); + print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_3}?cum=5$session_and\&failure=$field#top"); exit 0; } @@ -700,6 +699,8 @@ sub handler { if($R::sharee_edit =~ /save_account/){ $returnwww =~ s/::/=/g if($returnwww && $returnwww =~ /success::\w+/); + ($api_return,$users_sharee) = $apif->auth_verify($q,$coo,""); + $payable_check = $bw->isuser_rentable($users_sharee,\%varenv); if((!$users_sharee->{int14}) || ($users_sharee->{txt31} && $tpl->{tpl_order} =~ /$users_sharee->{txt31}/)){ #failure redirect should do the delete job @@ -710,16 +711,16 @@ sub handler { print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_1_5}$session"); exit 0; } + elsif(!$payable_check && $users_sharee->{int03}){ + print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_2}$session"); + exit 0; + } elsif($payable_check && (!$users_sharee->{int04} || !$users_sharee->{int13})){ print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_3}?cum=2$session_and\&$returnwww"); exit 0; } - elsif($users_sharee->{int03} && (($users_sharee->{int03} == 1 && $users_sharee->{ct_name} !~ /\w{2}-\d+/) || ($users_sharee->{int03} == 2 && length($users_sharee->{ct_name}) < 19))){ - print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_2}$session"); - exit 0; - } elsif($payable_check){ - print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_3}?cum=2$session_and\&$returnwww"); + print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_3}?cum=2-$payable_check$session_and\&$returnwww"); exit 0; } }elsif($path =~ /$varenv{mandant}\/$varenv{profile}/ && $referer !~ /failure=\w/){ @@ -730,19 +731,19 @@ sub handler { print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_1_5}$session"); exit 0; }else{ - print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_3}?cum=2$session_and\&$returnwww"); + print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_3}?cum=3$session_and\&$returnwww"); exit 0; } } }elsif($users_sharee->{c_id} && ($path =~ /$varenv{mandant}\/Anmelden|$varenv{mandant}\/$varenv{profile}/)){ if(!$users_sharee->{int14}){ - print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_1}?cum=2$session_and\&$returnwww"); + print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_1}?cum=4$session_and\&$returnwww"); exit 0; }elsif(!$payable_check){ print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_1_5}$session"); exit 0; }else{ - print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_3}?cum=2$session_and\&$returnwww"); + print redirect("$varenv{wwwhost}/$varenv{mandant}/Account/$varenv{accounting_3}?cum=4$session_and\&$returnwww"); exit 0; } } diff --git a/copri4/main/src/Mod/Prelib.pm b/copri4/main/src/Mod/Prelib.pm index ce8fecf..48679d8 100755 --- a/copri4/main/src/Mod/Prelib.pm +++ b/copri4/main/src/Mod/Prelib.pm @@ -21,7 +21,6 @@ use Mod::Libenzdb; use Mod::Libenz; use Mod::DBtank; use Mod::Basework; -use Mod::APIfunc; use Mod::Pricing; use Mod::APIsigclient; use Data::Dumper; @@ -31,7 +30,6 @@ my $db = new Libenzdb; my $lb = new Libenz; my $dbt = new DBtank; my $bw = new Basework; -my $apif = new APIfunc; my $pri = new Pricing; my $si = new APIsigclient; diff --git a/copri4/main/src/Tpl/BaseEdit.pm b/copri4/main/src/Tpl/BaseEdit.pm index e1889b6..427a380 100755 --- a/copri4/main/src/Tpl/BaseEdit.pm +++ b/copri4/main/src/Tpl/BaseEdit.pm @@ -761,6 +761,17 @@ EOF print $q->td({-class=>'left_italic_cms'},"$des"),"\n"; print $q->td({-class=>'content1_cms',-colspan=>'2'},$but->selector_class("$key","eselect","",$ctrel->{$key},@_lock_valxx)); } + #payment_type by select + elsif($node_meta->{tpl_id} == 202 && $key eq "int03" && $size eq "select"){ + my @_payment_type = (); + foreach my $s_key (sort keys (%{ $dbt->{copri_conf}->{payment_type} })) { + push @_payment_type, "$s_key:$dbt->{copri_conf}->{payment_type}->{$s_key}"; + } + print $q->Tr(); + print $q->td({-class=>'left_italic_cms'},"$des"),"\n"; + print $q->td({-class=>'content1_cms',-colspan=>'2'},$but->selector_class("$key","eselect","",$ctrel->{$key},@_payment_type)); + } + elsif($key =~ /int/){ $ctrel->{$key} = "75" if($key eq "int06" && !$ctrel->{$key} && $node_meta->{tpl_id} == 225); print $q->Tr(); diff --git a/copri4/main/src/Tpl/Liste3.pm b/copri4/main/src/Tpl/Liste3.pm index 561fce4..4be6d83 100755 --- a/copri4/main/src/Tpl/Liste3.pm +++ b/copri4/main/src/Tpl/Liste3.pm @@ -461,7 +461,7 @@ EOF unlink $hashfile; } } - $rows = $db->count_content($table,"$main_ids","$tplids"); + $rows = $dbt->count_content($dbh,$table,$main_ids,$tplids); #reload sig bikes and stations states #$bw->log("Liste3 condition",$node_meta,""); diff --git a/copri4/shareeapp-operator/src/Lib/Mlogic.pm b/copri4/shareeapp-operator/src/Lib/Mlogic.pm index bf69e95..763786f 100755 --- a/copri4/shareeapp-operator/src/Lib/Mlogic.pm +++ b/copri4/shareeapp-operator/src/Lib/Mlogic.pm @@ -90,7 +90,7 @@ sub tplselect(){ &FormEdit::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb); }elsif($tpl_id == 308){ require "Tpl/PayoneSelect.pm"; - &PayoneSelect::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb); + &PayoneSelect::tpl($q,$node_meta,$users_dms,$varenv,$users_sharee,$feedb); }elsif($tpl_id == 197){ require "Tpl/Contact.pm"; &Contact::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb); diff --git a/copri4/shareeapp-operator/src/Tpl/AccountSubmenu.pm b/copri4/shareeapp-operator/src/Tpl/AccountSubmenu.pm index 6c0d671..55a3df2 100755 --- a/copri4/shareeapp-operator/src/Tpl/AccountSubmenu.pm +++ b/copri4/shareeapp-operator/src/Tpl/AccountSubmenu.pm @@ -9,8 +9,7 @@ use POSIX; use CGI ':standard'; use Lib::Config; use Mod::Buttons; -use Mod::Libenz; -use Mod::Libenzdb; +use Mod::Basework; use Mod::DBtank; sub new { @@ -25,7 +24,6 @@ sub tpl(){ my $self = shift; my $node_meta = shift; my $users_dms = shift || ""; - my $mode = shift || ""; my $varenv = shift; my $users_sharee = shift || ""; my $feedb = shift || ""; @@ -33,11 +31,10 @@ sub tpl(){ my $q = new CGI; my $cf = new Config; my $but = new Buttons; - my $lb = new Libenz; - my $db = new Libenzdb; + my $bw = new Basework; my $dbt = new DBtank; - my $lang = "de"; + my $dbh = ""; my $script = $q->script_name(); my $path_info = $q->path_info(); my $path = $path_info; @@ -74,10 +71,9 @@ sub tpl(){ #payable check my $payable_check=0; - if(($users_sharee->{int03} == 1 && $users_sharee->{ct_name} =~ /\w{2}-\d+/) || ($users_sharee->{int03} == 2 && length($users_sharee->{ct_name}) >= 19)){ - $payable_check=1; - } - my $node1 = $db->collect_node($node_meta->{parent_id},$lang,"1"); + $payable_check = $bw->isuser_rentable($users_sharee,$varenv); + + my ($node1,$rows) = $dbt->collect_node($dbh,$node_meta->{parent_id}); my $margin_top = "0"; if($dbt->{website}->{$varenv->{syshost}}->{layout} eq "iframe"){ diff --git a/copri4/shareeapp-operator/src/Tpl/FormEdit.pm b/copri4/shareeapp-operator/src/Tpl/FormEdit.pm index e400f9c..7f0c4f0 100755 --- a/copri4/shareeapp-operator/src/Tpl/FormEdit.pm +++ b/copri4/shareeapp-operator/src/Tpl/FormEdit.pm @@ -224,7 +224,7 @@ EOF } #subMenue-------- - $submenu->tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb); + $submenu->tpl($node_meta,$users_dms,$varenv,$users_sharee,$feedb); #----------------- my $catch_failure=0; @@ -642,16 +642,24 @@ EOF if($key =~ /int03/){ print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-choose-payment-method'}->{txt}"),"\n"; + + my $checked_sepa = ""; + my $checked_creditcard = ""; + my $checked_prepaid = ""; - my $incasso="1"; - my $creditcard="2"; - my $checked_incasso; - my $checked_creditcard; - $checked_incasso=1 if($ctrel->{$key} == 1 || $ctrel->{$key} == 3); - $checked_creditcard=2 if($ctrel->{$key} == 2); - print $q->div({ -class=>'radio', -style=>'padding-top:20px;' },$but->radiobox_vertical("$key","$incasso","$checked_incasso",$q->img({-id=>"pic-payment" ,-style=>'height:50px;', -title=>'Abbuchung',-src=>"$varenv->{metahost}/img/payment-incasso2.png"}))),"\n"; - print $q->div({ -class=>'radio', -style=>'padding-bottom:20px;' },$but->radiobox_vertical("$key","$creditcard","$checked_creditcard",$q->img({-id=>"pic-payment" ,-style=>'height:30px;', -title=>'Kreditkarte', -src=>"$varenv->{metahost}/img/payment-creditcard2.png"}))),"\n"; - print $q->hidden(-name=>"$key",-override=>1,-value=>"null"); + foreach my $p_id (sort keys (%{ $dbt->{copri_conf}->{payment_type} })) { + $checked_sepa = 1 if($ctrel->{$key} == 1); + $checked_creditcard = 2 if($ctrel->{$key} == 2); + $checked_prepaid = 3 if($ctrel->{$key} == 3); + if($p_id == 1){ + print $q->div({ -class=>'radio', -style=>'padding-top:20px;' },$but->radiobox_vertical("$key","$p_id","$checked_sepa",$q->img({-id=>"pic-payment" ,-style=>'height:50px;', -title=>"$dbt->{copri_conf}->{payment_type}->{$p_id}",-src=>"$varenv->{metahost}/img/payment-incasso2.png"}))),"\n"; + }elsif($p_id == 2){ + print $q->div({ -class=>'radio', -style=>'padding-top:20px;' },$but->radiobox_vertical("$key","$p_id","$checked_creditcard",$q->img({-id=>"pic-payment" ,-style=>'height:25px;', -title=>"$dbt->{copri_conf}->{payment_type}->{$p_id}",-src=>"$varenv->{metahost}/img/payment-creditcard2.png"}))),"\n"; + }elsif($p_id == 3){ + print $q->div({ -class=>'radio', -style=>'padding-top:25px;' },$but->radiobox_vertical("$key","$p_id","$checked_prepaid","Prepaid")),"\n" if($ctrel->{c_id} =~ /$dbt->{copri_conf}->{contributors}/);#testing by contributors + } + } + print $q->hidden(-name=>"$key",-override=>1,-value=>"null"); } } diff --git a/copri4/shareeapp-operator/src/Tpl/PayoneCCclient.pm b/copri4/shareeapp-operator/src/Tpl/PayoneCCclient.pm index 87dae55..8e988c8 100755 --- a/copri4/shareeapp-operator/src/Tpl/PayoneCCclient.pm +++ b/copri4/shareeapp-operator/src/Tpl/PayoneCCclient.pm @@ -24,10 +24,9 @@ sub tpl(){ my $tpl_id = shift; my $node_meta = shift; my $users_dms = shift || ""; - my $mode = shift || ""; my $varenv = shift; my $users_sharee = shift || ""; - my $return = shift || ""; + my $feedb = shift || ""; my $q = new CGI; my $lb = new Libenz; diff --git a/copri4/shareeapp-operator/src/Tpl/PayoneSEPA.pm b/copri4/shareeapp-operator/src/Tpl/PayoneSEPA.pm index 3be1575..c0a0b2c 100755 --- a/copri4/shareeapp-operator/src/Tpl/PayoneSEPA.pm +++ b/copri4/shareeapp-operator/src/Tpl/PayoneSEPA.pm @@ -7,9 +7,8 @@ use strict; use warnings; use POSIX; use CGI ':standard'; -use Lib::Config; use Mod::Buttons; -use Mod::Libenz; +use Mod::Basework; use Mod::Shareework; use Mod::DBtank; use Sys::Hostname; @@ -27,14 +26,12 @@ sub tpl(){ my $tpl_id = shift; my $node_meta = shift; my $users_dms = shift || ""; - my $mode = shift || ""; my $varenv = shift; my $users_sharee = shift || ""; - my $return = shift || ""; + my $feedb = shift || ""; my $q = new CGI; - my $cf = new Config; - my $lb = new Libenz; + my $bw = new Basework; my $tk = new Shareework; my $dbt = new DBtank; my $but = new Buttons; @@ -42,23 +39,15 @@ sub tpl(){ $q->import_names('R'); my @keywords = $q->param; - my $script = $q->script_name(); - my $path_info = $q->path_info(); - my $path = $path_info; - #with meta_host, - if("$varenv->{metahost}"){ - $path = "$script" . "$path_info"; - $script=""; - } my $dbh = ""; - my $now_dt = strftime "%Y-%m-%d %H:%M", localtime; - my @viewsel = split /\//,$1 if($path =~ /^\/(.*)/); 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}; @@ -70,12 +59,13 @@ sub tpl(){ print "
\n"; - 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"; + #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){ + foreach (@tpl_order){ my ($key,$des,$size) = split /=/,$_; $ctadr->{$key} = $q->unescapeHTML("$ctadr->{$key}"); @@ -99,12 +89,10 @@ sub tpl(){ print "\n"; #------------------------ - }elsif($key =~ /int03/ && $size eq "checkbox"){ - - if($ctadr->{$key} != 1){ - + }elsif($key =~ /int03/ && $size eq "checkbox"){ + if(!$payable_check){ my $int03 = ""; - $int03 = $ctadr->{$key} if($ctadr->{$key} == 1); + #$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){ @@ -115,20 +103,9 @@ sub tpl(){ my $des = "$varenv->{cms}->{'iframe-sepa-mandat-accept'}->{txt}"; print $q->div({-id=>"$key"},$but->checkbox("1","$key","$int03","","$required"), " $des"),"\n"; - - }else{ - #2022-08-08 disabled because of decoding, anyway, pdf should be enough - if(1==2 && $ctadr->{txt28} =~ /SEPA-Lastschriftmandat/){ - print $q->div({-class=>'content2'}, ""),"\n"; - $ctadr->{txt28} = $q->unescapeHTML("$ctadr->{txt28}"); - use URI::Encode qw(uri_encode uri_decode); - $ctadr->{txt28} = uri_decode($ctadr->{txt28}); - $ctadr->{txt28} =~ s/\+/ /g; - print $q->div({-style=>'padding:10px;margin:10px 0;border:1px solid silver;'},$ctadr->{txt28}),"\n"; - } - - #if payone fails/error - if($ctadr->{txt27} =~ /active|pending/){ + }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 = ""; @@ -142,21 +119,27 @@ sub tpl(){ }else{ print $q->div({-style=>'padding:10px;margin:10px 0;border:1px solid silver;color:#c83434;'},"$varenv->{cms}->{'iframe-mandate-problem'}->{txt}"),"\n"; } - }elsif($ctadr->{txt22}){ #if IBAN but no mandat_status + }elsif($ctadr->{txt22}){ #if IBAN but no mandat_status print $q->div({-style=>'padding:10px;margin:10px 0;border:1px solid silver;color:#c83434;'}, "$varenv->{cms}->{'iframe-mandate-error'}->{txt}"),"\n"; - $ctadr->{txt28} = $q->unescapeHTML("$ctadr->{txt28}"); - $ctadr->{txt28} = $lb->newline($ctadr->{txt28},"","0"); - - } - print $q->hidden(-name=>"$key",-override=>1,-value=>"1"); } - } - #-------------------- - } - - print $q->div({-style=>'margin-top:1em;text-align:center;'},""),"\n"; + } + } + } + print $q->div({-style=>'margin-top:1em;text-align:center;'},""),"\n"; + + }#end SEPA + #prepay + elsif($tpl_id == 313){ + print $q->div({-class=>'content_title3'},"$varenv->{cms}->{'iframe-prepay-account'}->{txt}"),"\n"; + + $varenv->{cms}->{'iframe-prepay-prolog'}->{txt} =~ s/\n/
/g; + $varenv->{cms}->{'iframe-prepay-prolog'}->{txt} =~ s/::app_name::/$dbt->{merchant_ids}->{$varenv->{merchant_id}}->{app_name}<\/b>/g; + $varenv->{cms}->{'iframe-prepay-prolog'}->{txt} =~ s/::user_id::/$ctadr->{c_id}<\/b>/g; + print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-prepay-prolog'}->{txt}"),"\n"; + + } print "
\n"; print $q->end_form,"\n"; diff --git a/copri4/shareeapp-operator/src/Tpl/PayoneSelect.pm b/copri4/shareeapp-operator/src/Tpl/PayoneSelect.pm index b49d25b..1251d10 100755 --- a/copri4/shareeapp-operator/src/Tpl/PayoneSelect.pm +++ b/copri4/shareeapp-operator/src/Tpl/PayoneSelect.pm @@ -7,8 +7,6 @@ use strict; use warnings; use POSIX; use CGI ':standard'; -use Lib::Config; -use Mod::DBtank; use Tpl::AccountSubmenu; use Tpl::PayoneSEPA; use Tpl::PayoneCCclient; @@ -23,52 +21,34 @@ sub new { #Template sub tpl(){ + my $q = shift; my $node_meta = shift; my $users_dms = shift || ""; - my $mode = shift || ""; my $varenv = shift; my $users_sharee = shift || ""; my $feedb = shift || ""; - my $q = new CGI; - my $cf = new Config; my $dbt = new DBtank; my $submenu = new AccountSubmenu; - my $paySEPA = new PayoneSEPA; + my $payDebit = new PayoneSEPA; my $payCC = new PayoneCCclient; - $q->import_names('R'); - my @keywords = $q->param; - my $dbh = ""; - my $script = $q->script_name(); - my $path_info = $q->path_info(); - my $path = $path_info; - #with meta_host, - if("$varenv->{metahost}"){ - $path = "$script" . "$path_info"; - $script=""; - } - my $time = time; - my $now_dt = strftime "%Y-%m-%d %H:%M", localtime; - my @viewsel = split /\//,$1 if($path =~ /^\/(.*)/); + print "
\n"; - my $ctrel = $users_sharee if(ref($users_sharee) eq "HASH" && $users_sharee->{c_id}); - my $tpl = $dbt->get_tpl($dbh,$node_meta->{tpl_id}); - - print "
\n"; + $submenu->tpl($node_meta,$users_dms,$varenv,$users_sharee,$feedb); - #subMenue-------- - $submenu->tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb); - #----------------- - - #Selected Payment - if($ctrel->{int03} == 1 || $ctrel->{int03} == 3){ - $paySEPA->tpl("309",$node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb); - }elsif($ctrel->{int03} == 2){ - $payCC->tpl("310",$node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb); + #Selected payment-type + if(ref($users_sharee) eq "HASH" && $users_sharee->{int03}){ + if($users_sharee->{int03} == 1){ + $payDebit->tpl("309",$node_meta,$users_dms,$varenv,$users_sharee,$feedb); + }elsif($users_sharee->{int03} == 2){ + $payCC->tpl("310",$node_meta,$users_dms,$varenv,$users_sharee,$feedb); + }elsif($users_sharee->{int03} == 3){ + $payDebit->tpl("313",$node_meta,$users_dms,$varenv,$users_sharee,$feedb); } + } - print "
\n"; + print "
\n"; } 1; diff --git a/copri4/shareeweb-project/src/Lib/Mlogic.pm b/copri4/shareeweb-project/src/Lib/Mlogic.pm index 9dbd720..f1cc4ce 100755 --- a/copri4/shareeweb-project/src/Lib/Mlogic.pm +++ b/copri4/shareeweb-project/src/Lib/Mlogic.pm @@ -294,7 +294,7 @@ sub tplselect(){ &FormEdit::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb); }elsif($tpl_id == 308){ require "Tpl/PayoneSelect.pm"; - &PayoneSelect::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb); + &PayoneSelect::tpl($q,$node_meta,$users_dms,$varenv,$users_sharee,$feedb); }elsif($tpl_id == 197){ require "Tpl/Contact.pm"; &Contact::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb);