package FormEdit; # # 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 DateTime; use DateTime::Format::Pg; use Lib::Config; use Mod::Buttons; use Mod::Libenz; use Mod::DBtank; use Mod::APIfunc; use Mod::Pricing; use Tpl::AccountSubmenu; use Data::Dumper; sub new { my $class = shift; my $self = {}; bless($self,$class); return $self; } #Template sub tpl(){ 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 $lb = new Libenz; my $dbt = new DBtank; my $apif = new APIfunc; my $pri = new Pricing; my $but = new Buttons; my $submenu = new AccountSubmenu; 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 = "";#$dbt->dbconnect(); my $user_agent = $q->user_agent(); my @viewsel = split /\//,$1 if($path =~ /^\/(.*)/); my $red = "red"; my $coo = $q->cookie(-name=>'domcookie') || $R::sessionid; my $session=""; my $session_and=""; if($R::sessionid && length($R::sessionid) > 20 && !$q->cookie(-name=>'domcookie')){ $session = "?sessionid=$R::sessionid"; $session_and = "&sessionid=$R::sessionid"; } 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}); #print "$dbt->{merchant_ids}->{$varenv->{merchant_id}}->{id}|$varenv->{merchant_id}|$coo"; my $aowner = "198"; $aowner = $dbt->{merchant_ids}->{$varenv->{merchant_id}}->{id} if($varenv->{merchant_id} && $dbt->{merchant_ids}->{$varenv->{merchant_id}}->{id}); #TODO substitute aowner by project my $project = "Freiburg";#defaults to sharee $project = $dbt->{merchant_ids}->{$varenv->{merchant_id}}->{project} if($varenv->{merchant_id} && $dbt->{merchant_ids}->{$varenv->{merchant_id}}->{project}); my $bonus_desc = "$varenv->{cms}->{'iframe-bonusnumber'}->{txt}"; my $bonus_ak = "$varenv->{cms}->{'iframe-bonusnumber-accepted'}->{txt}"; my $bonus_avail = "$varenv->{cms}->{'iframe-bonusnumber-not-available'}->{txt}"; my $bonus_conflict = "$varenv->{cms}->{'iframe-bonusnumber-conflict'}->{txt}"; my $bonus_saved = "$varenv->{cms}->{'iframe-enabled'}->{txt}:"; #sharee.bike text if($aowner == 186 || $aowner == 197){ $bonus_desc = "$varenv->{cms}->{'iframe-activation-code'}->{txt}"; $bonus_ak = "$varenv->{cms}->{'iframe-activation-code-info'}->{txt}"; $bonus_avail = "$varenv->{cms}->{'iframe-activation-not-available'}->{txt}"; $bonus_conflict = "$varenv->{cms}->{'iframe-activation-conflict'}->{txt}"; $bonus_saved = "$varenv->{cms}->{'iframe-enabled'}->{txt}:"; } my $ctrel = {}; $ctrel = $users_sharee if(ref($users_sharee) eq "HASH" && $users_sharee->{c_id}); # #collect rentals on operators and get operator hash with dbname->uri_operator #$q->param(-name=>'month',-value=>"1"); my ($cttpos,$operator_hash) = $apif->user_rentals_history($q,$ctrel); #print Dumper($cttpos); my $cttpos_count=0; foreach my $id (keys(%$cttpos)){ $cttpos_count++; } #loop operator hash to get invoices for each operator my $ctt_all = {}; my $ctadrcoupon = {}; foreach my $sharee_operator (keys (%$operator_hash)){ my $dbh_operator = $dbt->dbconnect_extern("$sharee_operator"); my $pref = { table => "contenttrans", fetch => "all", int10 => "$ctrel->{c_id}", keyfield => "ct_name", ct_name => "~::[1-9]", }; if($ctrel->{c_id}){ my $ctt = $dbt->fetch_tablerecord($dbh_operator,$pref); foreach my $id (keys(%$ctt)){ $ctt->{$id}->{wwwhost} = "$operator_hash->{$sharee_operator}"; $ctt->{$id}->{operator} = "$sharee_operator"; $ctt->{$id}->{basedir} = "$dbt->{copri_conf}->{basedir}/$dbt->{operator}->{$sharee_operator}->{dir_app}"; #print "$id|$sharee_operator|$ctt->{$id}->{wwwhost}|$ctt->{$id}->{operator}|$ctt->{$id}->{basedir}|$ctt->{$id}->{ct_name}
"; } $ctt_all = { %$ctt_all, %$ctt }; my $prefcoupon = { table => "contentadr", fetch => "one", txt15 => "~::\\w", c_id => "$ctrel->{c_id}", }; $ctadrcoupon->{$sharee_operator} = $dbt->fetch_tablerecord($dbh_operator,$prefcoupon); $ctadrcoupon->{$sharee_operator}->{oprefix} = "$dbt->{operator}->{$sharee_operator}->{oprefix}"; } } my $tpl_id = $node_meta->{tpl_id}; #$tpl_id = "302004" if($viewsel[1] =~ /Mieten/ && $ctrel->{c_id}); my $tpl = $dbt->get_tpl($dbh,$tpl_id); my $tpl01 = $tpl;#If nothing else, because of tpl_name Title in split_lates my $tpl02 = ""; my @split_lates = ("$tpl->{tpl_order}"); my $template01 = "$tpl_id" . "001"; my $template02 = "$tpl_id" . "002"; if($tpl_id < 999){ $tpl01 = $dbt->get_tpl($dbh,$template01); $tpl02 = $dbt->get_tpl($dbh,$template02); @split_lates = ("$tpl01->{tpl_order}","$tpl02->{tpl_order}"); } my $now_dt = strftime "%Y-%m-%d %H:%M", localtime; my $start_date = strftime "%d.%m.%Y %H:%M", localtime; my ($end_date,$end_time) = split(/ /,$now_dt); my ($e_yy,$e_mo,$e_dd) = split(/-/,$end_date); my ($e_hh,$e_mi) = split(/\:/,$end_time); my $sharee_agb_text = {}; $sharee_agb_text->{ct_name} = $varenv->{cms}->{"iframe-form-$tpl_id.int14"}->{txt}; $sharee_agb_text->{txt01} = ""; my $sharee_privacy_text = {}; $sharee_privacy_text->{ct_name} = "$varenv->{cms}->{'iframe-form-privacy'}->{txt}"; $sharee_privacy_text->{txt01} = ""; print "
\n"; print < EOF ; print < EOF ; my $debug=0; $debug=1 if($users_sharee->{c_id} eq $dbt->{copri_conf}->{superu_id} || $dbt->{copri_conf}->{stage} eq "test"); my $debug_message = ""; my $payable_check=0; if(($ctrel->{int03} == 1 && $ctrel->{ct_name} =~ /\w{2}-\d+/) || ($ctrel->{int03} == 2 && length($ctrel->{ct_name}) >= 19)){ $payable_check=1; } #subMenue-------- $submenu->tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$feedb); #----------------- my $catch_failure=0; if(($R::failure && $R::failure =~ /\w+/) || ($ctrel->{txt31} && $ctrel->{txt31} =~ /\w/)){ $debug_message = "($R::failure || $ctrel->{txt31})" if($debug); $catch_failure=1; print $q->div({-class=>'content2', -style=>"clear:both;color:$red"}, "* $varenv->{cms}->{'iframe-one-error'}->{txt} $debug_message"),"\n"; } #confirm code manage if($catch_failure && (!$ctrel->{int04} && !$ctrel->{int13}) && ($tpl_id =~ /^2$|302004/) && ($path =~ /$varenv->{accounting_3}/)){ $debug_message = "$catch_failure && (!$ctrel->{int04} || !$ctrel->{int13}) && $tpl_id" if($debug); print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-complete-confirmation'}->{txt} $debug_message"),"\n"; }elsif((!$ctrel->{int04} || !$ctrel->{int13}) && ($tpl_id =~ /^2$|302004/) && ($path =~ /$varenv->{accounting_3}/)){ print $q->start_form(-name=>'accountscreen', -action=>"/$varenv->{mandant}/Account/$varenv->{accounting_3}$session"),"\n"; print $q->hidden(-name=>"sessionid",-override=>1,-value=>"$R::sessionid"); my $required = ""; $debug_message = "(!$ctrel->{int04} || !$ctrel->{int13}) && $tpl_id" if($debug); print $q->div({-class=>'content_title3',-style=>'clear:both;'}, "$varenv->{cms}->{'iframe-almost-done'}->{txt} $debug_message"),"\n"; my $acktext = "$varenv->{cms}->{'iframe-confirmation-codes-sent'}->{txt}"; $acktext = "$varenv->{cms}->{'iframe-sms-confirmation-code-sent'}->{txt}" if($ctrel->{int04} && !$ctrel->{int13}); $acktext = "$varenv->{cms}->{'iframe-email-confirmation-code-sent'}->{txt}" if(!$ctrel->{int04} && $ctrel->{int13}); print $q->div({-class=>'content2'}, "$acktext $varenv->{cms}->{'iframe-successful-confirmation'}->{txt}"),"\n"; if(!$ctrel->{int04}){ my $des = "$varenv->{cms}->{'iframe-email-code'}->{txt}"; my $key = "confirm_code"; my $label_des="* $des"; $varenv->{cms}->{'iframe-correct-input'}->{txt} =~ s/::input::/$des/; $label_des = "$varenv->{cms}->{'iframe-correct-input'}->{txt}" if($R::failure); print $q->label({-for=>"$key", -style=>'padding-top:1em;'},"$label_des"),"\n"; print "\n"; print $q->div({-class=>'content2'}, " $varenv->{cms}->{'iframe-if-email-code-not-received'}->{txt}",$q->a({-style=>"color:#$bgcolor1;",-href=>"$varenv->{wwwhost}?sharee_edit=send_email$session_and"},"$varenv->{cms}->{'iframe-request-email-code'}->{txt}")),"\n"; }else{ print $q->div({-class=>'content2', -style=>'color:gray;'}, "* $varenv->{cms}->{'iframe-email-code-already-entered'}->{txt}"),"\n"; } if(!$ctrel->{int13}){ my $des = "$varenv->{cms}->{'iframe-sms-code'}->{txt}"; my $key = "confirm_smscode"; my $label_des="* $des"; $varenv->{cms}->{'iframe-correct-input'}->{txt} =~ s/::input::/$des/; $label_des = "$varenv->{cms}->{'iframe-correct-input'}->{txt}" if($R::failure); print $q->label({-for=>"$key", -style=>'padding-top:1em;'},"$label_des"),"\n"; print "\n"; print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-if-sms-code-not-received'}->{txt} ",$q->a({-style=>"color:#$bgcolor1;",-href=>"$varenv->{wwwhost}?sharee_edit=send_sms$session_and"},"$varenv->{cms}->{'iframe-request-sms-code'}->{txt}")),"\n"; }else{ print $q->div({-class=>'content2', -style=>'color:gray;'}, "* $varenv->{cms}->{'iframe-sms-code-already-entered'}->{txt}"),"\n"; } my $button_name = "$varenv->{cms}->{'iframe-next'}->{txt}"; print $q->div({-style=>'margin-top:2em;text-align:center;'},""),"\n"; print $q->end_form,"\n"; }else{ my $postaction = "/$varenv->{mandant}/Account/$varenv->{accounting_2}"; if($ctrel->{c_id} && $path =~ /$varenv->{accounting_2}|$varenv->{accounting_3}|$varenv->{profile}/){ $postaction = "/$varenv->{mandant}/Account/$varenv->{accounting_3}"; }elsif($path =~ /$varenv->{accounting_1}/){ $postaction = "/$varenv->{mandant}/Account/$varenv->{accounting_1_5}"; }elsif($ctrel->{c_id} && $path =~ /$varenv->{accounting_1}/){ $postaction = "/$varenv->{mandant}/Account/$varenv->{accounting_2}"; } print $q->start_form(-name=>'accountscreen', -action=>"$postaction$session"),"\n"; print $q->hidden(-name=>"sessionid",-override=>1,-value=>"$R::sessionid") if($R::sessionid); print "
\n"; my $i=0; my @tpl_order; foreach(@split_lates){ $i++; if($i==1){ if($R::confirm_success){ print $q->div({-class=>'content_title3'},"$varenv->{cms}->{'iframe-registration-confirmed'}->{txt}"),"\n"; }else{ print $q->div({-class=>'content_title3'},"$varenv->{cms}->{$tpl01->{tpl_name}}->{txt}"),"\n"; } if($path =~ /$varenv->{accounting_1}/){ print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-paymentdata-form'}->{txt}"),"\n"; } if($path =~ /$varenv->{accounting_2}/){ if($tpl_id == 302008){ print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-choose-payment'}->{txt}"),"\n"; }else{#old SEPA only style print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-sepa-mandat-prolog'}->{txt}"),"\n"; } } } if($i==2){ print $q->div({-class=>'content_title3'},"$varenv->{cms}->{$tpl02->{tpl_name}}->{txt}"),"\n"; print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-login-needs'}->{txt}"),"\n"; } @tpl_order = split /,/,$_; my $scol = "itime"; foreach (@tpl_order){ my ($key,$des,$size) = split /=/,$_; $ctrel->{$key} = $q->unescapeHTML("$ctrel->{$key}"); $ctrel->{$key} = $lb->newline($ctrel->{$key},"","1"); #$des = "$tpl_id.$key" if($debug); $des = $varenv->{cms}->{"iframe-form-$tpl_id.$key"}->{txt} if($varenv->{cms}->{"iframe-form-$tpl_id.$key"}->{txt}); if($ctrel->{int03} && $path =~ /$varenv->{accounting_3}|$varenv->{profile}/){ if(1==1){ if($key =~ /ct_name/){ if($ctrel->{int12}){ print $q->div({-class=>'content2', -style=>'color:#c83434;'}, "$varenv->{cms}->{'iframe-block-rental-access'}->{txt}"),"\n"; }else{ print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-success-welcome'}->{txt}"),"\n"; } print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-invoice-note'}->{txt}"),"\n"; print $q->div({-class=>'content2'}, "$bonus_ak"),"\n" if($R::success && $R::success eq "txt15"); }elsif($key =~ /barcode/){ if($cttpos_count){ print $q->div({-style=>'padding-top:1.5em;font-weight:bold;'},"$varenv->{cms}->{'iframe-items-for-debit'}->{txt}"),"\n"; my @tpl_posorder = ("txt01=$varenv->{cms}->{'iframe-description'}->{txt}","int04=$varenv->{cms}->{'iframe-station'}->{txt}","ct_name=$varenv->{cms}->{'iframe-bike-nr'}->{txt}","int26=CO2","int02=$varenv->{cms}->{'iframe-amount'}->{txt}"); my $j=0; my $nx=0; my $sum = 0; print "
\n"; print $q->start_table({-style=>'margin:15px 0;', -border=>'0', -width=>'auto',-align=>'left', -cellpadding=>'3', -cellspacing=>'0'}),"\n"; print $q->Tr(),"\n"; foreach my $id (sort { lc($cttpos->{$b}->{$scol}) cmp lc($cttpos->{$a}->{$scol}) } keys(%$cttpos)){ $j++; $nx++; my $pricing = {}; my $counting = {}; if($cttpos->{$id}->{int35} && $cttpos->{$id}->{start_time} && $cttpos->{$id}->{end_time}){ ($pricing,$counting) = $pri->counting_rental($varenv,$cttpos->{$id}); } print $q->Tr(),"\n"; foreach (@tpl_posorder){ my ($key,$val) = split /=/,$_; my $occupied_style = "background-color:#fcfdfb;"; $occupied_style = "background-color:#f4f1ee;" if($nx %= 2); #$occupied_style = "color:#ff1493;" if($cttpos->{$id}->{txt10} =~ /occupied|requested/); $occupied_style = "color:#ff1493;" if($cttpos->{$id}->{int10} == 2 || $cttpos->{$id}->{int10} == 3); if($key eq "txt01"){ #print $q->td({-class=>'tdtxt', -style=>"$occupied_style"},"$cttpos->{$id}->{$key}"); print "\n"; if($cttpos->{$id}->{txt01}){ $cttpos->{$id}->{$key} =~ s/\
/;   /g; print "$cttpos->{$id}->{$key}
\n"; } if($pricing->{start_time} && $pricing->{end_time}){ $pricing->{start_time} = $lb->time4de($pricing->{start_time},"1"); $pricing->{end_time} = $lb->time4de($pricing->{end_time},"1"); my $rental_time = ""; $rental_time = "(rental debug: $pricing->{real_clock} $pricing->{freed_time})" if($debug); print $q->span("→ $pricing->{start_time}
← $pricing->{end_time} $rental_time"); } print "\n"; }elsif($key =~ /int04/){ if($cttpos->{$id}->{int09}){#if Tarifnr then bike #print $q->td({-class=>'tdint', -style=>"$occupied_style"},"Station $cttpos->{$id}->{$key}"); print "\n"; my $return_station = ""; $return_station = "← $cttpos->{$id}->{txt13}$cttpos->{$id}->{int04}" if($cttpos->{$id}->{txt13} && $cttpos->{$id}->{int04}); print $q->span("$varenv->{cms}->{'iframe-station'}->{txt}
→ $cttpos->{$id}->{txt12}$cttpos->{$id}->{int06}
$return_station"); print "\n"; }else{ print $q->td({-class=>'tdint', -style=>"$occupied_style"},"$cttpos->{$id}->{$key}"); } }elsif($key =~ /ct_name/){ if($cttpos->{$id}->{int09}){#if Tarifnr then bike print $q->td({-class=>'tdint', -style=>"$occupied_style"},"$varenv->{cms}->{'iframe-bike'}->{txt}
$cttpos->{$id}->{$key}"),"\n"; }else{ print $q->td({-class=>'tdint', -style=>"$occupied_style"},"$cttpos->{$id}->{$key}"),"\n"; } }elsif($key eq "int26"){ my $co2saving = ""; if($cttpos->{$id}->{int26}){ $co2saving = "$varenv->{cms}->{'iframe-saving'}->{txt}
"; my $co2diff = $pri->co2calc($cttpos->{$id}); #my $sprit_price = $pri->sprit2calc($cttpos->{$id}); $co2saving .= "$co2diff kg CO²
"; #$co2saving .= "$sprit_price EUR
" if($sprit_price !~ /-/); $cttpos->{$id}->{int26} =~ s/\./,/; $co2saving .= "bei $cttpos->{$id}->{int26} KM"; } print $q->td({-class=>'tdint', -style=>"$occupied_style", -nowrap=>1},"$co2saving"),"\n"; }elsif($key eq "int02"){ if($cttpos->{$id}->{int35} && $cttpos->{$id}->{start_time} && $cttpos->{$id}->{end_time}){ my $gesamt = 0; $sum += $pricing->{total_price}; $gesamt = $lb->round($pricing->{total_price}); $gesamt = sprintf('%.2f', $gesamt); $gesamt =~ s/\./,/; my $rabatt = ""; $rabatt = "$pricing->{discount}" if($pricing->{discount}); print $q->td({-class=>'tdint', -style=>"$occupied_style", -nowrap=>1},"$rabatt $gesamt €"),"\n"; }else{ my $gesamt = 0; my $rabatt = ""; ($gesamt,$rabatt) = $pri->price2calc($cttpos->{$id}); $sum += $gesamt; $gesamt = $lb->round($gesamt); $gesamt = sprintf('%.2f',$gesamt); print $q->td({-class=>'tdint', -style=>"$occupied_style", -nowrap=>1},"$rabatt $gesamt €"),"\n"; } } } } if($j==0){ print $q->Tr(),"\n"; print $q->td({-class=>'tdint'},"$varenv->{cms}->{'iframe-no-data'}->{txt}"),"\n"; }else{ $sum = $lb->round($sum); $sum = sprintf('%.2f',$sum); print $q->Tr(),"\n"; print $q->td({-class=>'tdint', -colspan=>3},""),"\n"; print $q->td({-class=>'tdint'},"$varenv->{cms}->{'iframe-total'}->{txt}"),"\n"; print $q->td({-class=>'tdint'},$q->b("$sum €")),"\n"; } print $q->end_table; print "
\n"; }else{ print $q->div({-class=>'content2',-style=>'padding:0.5em 0;'}, "$varenv->{cms}->{'iframe-no-bookings'}->{txt}"),"\n"; }#end if $cttpos_count my $i=0; my $dtext = ""; print "
\n"; foreach my $id (sort { $ctt_all->{$b}->{ct_name} cmp $ctt_all->{$a}->{ct_name} } keys(%$ctt_all)){ if( -f "$ctt_all->{$id}->{basedir}/pdfinvoice/Rechnung-$ctt_all->{$id}->{operator}-$ctt_all->{$id}->{ct_name}.pdf" && $ctt_all->{$id}->{ct_name} =~ /\d/ && $coo){ #print "$ctt_all->{$id}->{basedir}/pdfinvoice/Rechnung-$ctt_all->{$id}->{operator}-$ctt_all->{$id}->{ct_name}.pdf && $ctt_all->{$id}->{ct_name} =~ /\d/ && $coo
"; $i++; my $invoice_time = $ctt_all->{$id}->{invoice_time} || $ctt_all->{$id}->{mtime}; $invoice_time = $lb->time4de($invoice_time,0); #$varenv->{operator} only defined in sharee my $webtarget = "_blank"; my $dtext = ""; if($varenv->{syshost} =~ /app/){ $webtarget = "_self"; $dtext = "$varenv->{cms}->{'iframe-pdf-download-info'}->{txt}"; } if($i==1){ print $q->div({-id=>'Rechnungen',-style=>'font-weight:bold;'},"$varenv->{cms}->{'iframe-your-invoice'}->{txt}"),"\n"; print $q->div({-style=>'padding:0.5em 0;'},"$dtext"),"\n"; } print $q->div({-style=>'padding:0.7em 0;border:0px solid #cccccc;'},$q->a({-href=>"$ctt_all->{$id}->{wwwhost}/FileOut?file=Rechnung-$ctt_all->{$id}->{operator}-$ctt_all->{$id}->{ct_name}.pdf&sessionid=$coo", -target=>"$webtarget" , -type=>'application/octet-stream', -style=>'text-decoration:underline;'}, $q->span({-class=>"bi bi-file-earmark-pdf"}), "$varenv->{cms}->{'iframe-invoice'}->{txt} $ctt_all->{$id}->{ct_name}.pdf"), "   ($invoice_time)"),"\n"; } } print "
\n"; } } } #------------------------------------------------------ my $label_des="* $des"; my $autofocus=""; if($key =~ /txt15|txt19/){ $label_des="$des"; } if($key =~ /txt/ && $size eq "select" && $key eq "txt10"){ my $country = $lb->country_code(); my $country_all = $lb->country_code_all(); $ctrel->{$key} = "DE" if(!$ctrel->{$key}); my @_valxx = (); foreach (sort { $country->{$a} cmp $country->{$b} } keys (%$country)){ push @_valxx, "$_:$country->{$_}"; } foreach (sort { $country_all->{$a} cmp $country_all->{$b} } keys (%$country_all)){ push @_valxx, "$_:$country_all->{$_}"; } print $q->label({-for=>"$key",-style=>'padding-top:15px;'},"$label_des"),"\n"; print $but->selector_class("$key","form-control","","$ctrel->{$key}",@_valxx); }elsif($key =~ /txt/ && $size eq "select"){ my @_valxx = split(/,/,$varenv->{$des}); print $q->label({-for=>"$key",-style=>'padding-top:15px;'},"$label_des"),"\n"; print $but->selector_class("$key","form-control","","$ctrel->{$key}",@_valxx); #}elsif($key =~ /txt/ && !$R::confirm_success){ }elsif($key =~ /txt/){ my $required="required"; #start failure messages #Gutschein if($key =~ /txt16/ && $ctrel->{c_id}){ if($R::failure =~ /^txt16/){ $autofocus = "autofocus"; $label_des = "$varenv->{cms}->{'iframe-voucher-not-available'}->{txt}"; } elsif($R::failure =~ /conflict_txt16/){ $autofocus = "autofocus"; $label_des = "$varenv->{cms}->{'iframe-voucher-deposit'}->{txt}"; }else{ $required=""; $label_des = "$des"; } } elsif($key eq "txt08" && $R::failure && $R::failure =~ /conflict_txt08/){ $autofocus = "autofocus"; my ($failkey,$failval) = split(/=/,$R::failure); $label_des = "$varenv->{cms}->{'iframe-attention-email-exist'}->{txt} $failval"; $ctrel->{$key} = $R::conflict_txt08; } elsif(($R::failure && $R::failure =~ /^$key/) || ($ctrel->{txt31} && $ctrel->{txt31} =~ /$key/)){ $autofocus = "autofocus"; $varenv->{cms}->{'iframe-correct-input'}->{txt} =~ s/::input::/$des/; $label_des = "$varenv->{cms}->{'iframe-correct-input'}->{txt}"; }#end failure messages if($key eq "txt15"){ if($R::failure =~ /^txt15/){ $autofocus = "autofocus"; $bonus_desc = "$bonus_avail"; } if($R::failure =~ /conflict_txt15/){ $bonus_desc = "$bonus_conflict"; } my $saved_coupon = ""; if($project eq "Konstanz" && $ctadrcoupon->{sharee_kn}->{txt15}){ $bonus_desc = "$varenv->{cms}->{'iframe-bonusnumber-saved'}->{txt}"; $saved_coupon = "$ctadrcoupon->{sharee_kn}->{txt15}"; } if($project eq "Freiburg" && $ctadrcoupon->{sharee_bvb}->{txt15} && $ctadrcoupon->{sharee_bvb}->{txt15} !~ /-/){ $bonus_desc = "$varenv->{cms}->{'iframe-activation-code-saved'}->{txt}"; $saved_coupon = "$ctadrcoupon->{sharee_bvb}->{txt15}"; } print $q->label({-for=>"$key", -style=>'padding-top:1.5em;'},"$bonus_desc"),"\n"; print "\n"; print $q->div(" "); foreach my $opid (keys(%$ctadrcoupon)){ if($ctadrcoupon->{$opid}->{txt15}){ print $q->div("$bonus_saved $ctadrcoupon->{$opid}->{oprefix}-$ctadrcoupon->{$opid}->{txt15}"),"\n"; } } } elsif($key eq "txt04"){ if($R::failure && $R::failure =~ /confirm_txt04/){ $autofocus = "autofocus"; $label_des = "$varenv->{cms}->{'iframe-repeat-pw-failure'}->{txt}"; } my $pw = "xxxxxxxx"; $pw = "" if(!$ctrel->{c_id}); print $q->label({-for=>"$key", -style=>'padding-top:1.5em;'},"$label_des"),"\n"; print "
\n"; print $q->label({-for=>"confirm_$key"},"* $varenv->{cms}->{'iframe-repeat-pw'}->{txt}"),"\n"; print "\n"; print $q->div({-style=>'text-align:left;color:grey;'}, "", "$varenv->{cms}->{'iframe-show-pw'}->{txt}"),"\n" if($pw ne "xxxxxxxx"); }else{ #all other input textfields print $q->label({-for=>"$key", -style=>'padding-top:1.5em;'},"$label_des"),"\n"; print "\n"; } } #end $key =~ /txt/ #all int checkboxes disabled because of AGB downunder elsif($key =~ /int/ && $size eq "checkbox"){ if(($R::failure && $R::failure =~ /^$key/) || ($ctrel->{txt31} && $ctrel->{txt31} =~ /$key/)){ $autofocus = "autofocus"; $varenv->{cms}->{'iframe-please-confirm'}->{txt} =~ s/::value::/$des/; $label_des = "$varenv->{cms}->{'iframe-please-confirm'}->{txt}"; } my $required=""; #sharee AGB global new if($key eq "int14" && $size eq "checkbox"){ $required=""; #bootstrap 5 my $sharee_agb = "\n"; print $q->label({-for=>"$key", -style=>'padding-top:20px;'},"$label_des"),"\n"; print $q->div({-id=>"$key"},$but->checkbox("1","$key","$ctrel->{$key}","","$required","$autofocus"), "  $sharee_agb"),"\n"; print $q->hidden(-name=>"$key",-override=>1,-value=>"null"); my $sharee_privacy = "\n"; print $q->div({-style=>'padding-top:10px;'},"$sharee_privacy"),"\n"; }elsif(1==2 && $key =~ /int02/){#newsletter print $q->label({-for=>"$key", -style=>'padding-top:10px;'},""),"\n"; print $q->div({-id=>"$key"},$but->checkbox("1","$key","$ctrel->{$key}","","$required"), " $des"),"\n"; print $q->hidden(-name=>"$key",-override=>1,-value=>"0"); }else{ print $q->label({-for=>"$key", -style=>'padding-top:10px;'},""),"\n"; print $q->div({-id=>"$key"},$but->checkbox("1","$key","$ctrel->{$key}","","$required"), " $des"),"\n"; print $q->hidden(-name=>"$key",-override=>1,-value=>"0"); } }elsif($key =~ /int/){ if(($R::failure && $R::failure =~ /^$key/) || ($ctrel->{txt31} && $ctrel->{txt31} =~ /$key/)){ $autofocus = "autofocus"; $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"; } if($key =~ /int03/){ print $q->div({-class=>'content2'}, "$varenv->{cms}->{'iframe-choose-payment-method'}->{txt}"),"\n"; 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"); } } if($key eq "txt16" && $ctrel->{c_id}){ print $q->div({-style=>'margin-top:1em;text-align:center;'},""),"\n"; } }#end foreach (@tpl_order) } if(($R::failure && $R::failure =~ /\w+/ && $R::failure !~ /txt15|txt16/) || ($ctrel->{txt31} && $ctrel->{txt31} =~ /\w/)){ print $q->div({-class=>'content2', -style=>"color:$red"}, "* $varenv->{cms}->{'iframe-please-check-profile'}->{txt}"),"\n"; } if($path !~ /$varenv->{accounting_3}|$varenv->{profile}/){ if($ctrel->{c_id}){ my $button_name = "$varenv->{cms}->{'iframe-save'}->{txt}"; $button_name = "$varenv->{cms}->{'iframe-next'}->{txt}" if($path =~ /$varenv->{accounting_1_5}|$varenv->{accounting_2}/); print $q->hidden(-name=>"tinkc_id",-override=>1,-value=>"$ctrel->{c_id}"); print $q->div({-style=>'margin-top:1em;text-align:center;'},""),"\n"; if($path =~ /$varenv->{accounting_1}/){ print $q->div({-style=>'margin-top:3em;text-align:center;'},$q->a({-style=>"color:#$bgcolor1;font-size:1.2em;", -role=>"button", -href=>"/$viewsel[0]/Account?sharee_edit=delete_account1$session_and"}, "$varenv->{cms}->{'iframe-ask-delete-account'}->{txt}")),"\n"; } }else{ print $q->div({-style=>'margin-top:1em;text-align:center;'},""),"\n"; } } }#ende e-Mail iif print $q->div({-class=>'content2', -style=>'margin-top:2em;'}, "$varenv->{cms}->{'iframe-registration-contact-hotline'}->{txt}"),"\n" if($path =~ /$varenv->{accounting_1}|$varenv->{accounting_3}/); print "
\n"; print $q->end_form,"\n"; print $q->div({-style=>'position:fixed;bottom:2%;right:2%;z-index:10;font-size:13px;'},"--> $varenv->{syshost} | $varenv->{merchant_id} | $bgcolor1 | template -> $node_meta->{tpl_name},$tpl_id ($template01,$template02) | $users_sharee->{c_id}"),"\n" if($users_sharee->{c_id} eq $dbt->{copri_conf}->{superu_id} || $dbt->{copri_conf}->{stage} eq "test"); print "
"; } 1;