package ModalboxDialog; # # SPDX-License-Identifier: AGPL-3.0-or-later # Copyright (c) Rainer Gümpelein, TeilRad GmbH # use strict; use warnings; use CGI::Cookie (); use CGI ':standard'; use DateTime; use DateTime::Format::Pg; use Lib::Config; use Mod::Buttons; use Mod::DBtank; use Mod::APIfunc; use Mod::Libenzdb; sub new { my $class = shift; my $self = {}; bless($self,$class); return $self; } sub mobox2(){ my $node_meta = shift; my $users_dms = shift || ""; my $mode = shift || ""; my $varenv = shift; my $users_sharee = shift || ""; my $return = shift || ""; my $ask_radID = shift || ""; my $q = new CGI; my $cf = new Config; my $dbt = new DBtank; my $apif = new APIfunc; my $db = new Libenzdb; my $but = new Buttons; 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 $bg_color = "white"; my $bg_color2 = $varenv->{brand_color} || ""; my $session=""; my $session_and=""; if(length($R::sessionid) > 20){ $session = "?sessionid=$R::sessionid"; $session_and = "&sessionid=$R::sessionid"; } my $ctadr = $users_sharee if(ref($users_sharee) eq "HASH" && $users_sharee->{c_id}); my $main_ids; my ($bike_group,$user_group,$tariff_content,$user_tour) = $apif->fetch_tariff($ctadr,""); $main_ids = join(",",@{$bike_group}); $main_ids =~ s/[a-z_]+//ig; my $title = ""; my $ct = {}; if($ask_radID){ my $pref_cc = { table => "content", fetch => "one", main_id => "IN::($main_ids)", barcode => $ask_radID, int10 => 1, }; $ct = $dbt->fetch_record($dbh,$pref_cc) if($ask_radID && $main_ids); $title = "Fahrrad Buchungsbestätigung"; } my $height = "250"; my $width = "400"; print< .ui-dialog .ui-dialog-content { background: $bg_color; } .ui-dialog > .ui-widget-header { color:$varenv->{color}; font-weight:normal; border:1px solid $bg_color2; background: $bg_color2; } .ui-widget-overlay { background: #666 url("$varenv->{metahost}/jquery-ui/images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat; opacity: .5; filter: Alpha(Opacity=50); } EOF ; #int04 != 1 --> no mailACK #int13 != 1 --> no telACK #int01 != 3 --> no sync #int12 == 1 --> Vde my $ctadr_int13 = 1;#default to activ if($varenv->{telAck_startdate} && $ctadr->{mtime}){ my ($ty,$tm,$td) = split(/-/,$varenv->{telAck_startdate}); my $dt1telAck_start = DateTime->new(year => $ty, month => $tm, day => $td); my $dt2mtime = DateTime::Format::Pg->parse_datetime($ctadr->{mtime}); #will be only evaluated if mtime never than global conf if($ctadr->{owner} == 197 && $dt2mtime > $dt1telAck_start){ $ctadr_int13 = $ctadr->{int13}; } } if($node_meta->{main_id} && $ctadr->{c_id} && ($ctadr->{int04} != 1 || $ctadr_int13 != 1 || $ctadr->{int12} || $ask_radID)){ print< \$(function() { \$( "#dialog-form2" ) .css("background-color","$bg_color") .dialog({ height: $height, width: $width, closeOnEscape: false, modal: true }); \$('.ui-widget-overlay').click(function() { \$(".ui-dialog-titlebar-close").trigger('click');}); \$( "#btn_no1" ).click(function() { \$( "#dialog-form2" ).dialog( "close" ); }); \$( "#btn_no2" ).click(function() { \$( "#dialog-form2" ).dialog( "close" ); }); \$( "#btn_yes" ).click(function() { window.location.href = '$varenv->{wwwhost}?radID=$ask_radID$session_and'; }); }); EOF ; print "
"; print $q->start_form(-name=>'modaldialog'); print $q->hidden(-name=>"sessionid",-override=>1,-value=>"$R::sessionid"); print "
\n"; if($ctadr->{int04} != 1 || $ctadr_int13 != 1){ my $required = "required"; if($ctadr->{int04} != 1){ my $des = "E-Mail Bestätigungscode"; my $key = "confirm_code"; my $label_des="* $des"; print $q->label({-for=>"$key", -style=>'padding-top:1em;'},"$label_des"),"\n"; print "\n"; }else{ print $q->div({-class=>'content2', -style=>'color:gray;'}, "* E-Mail Bestätigungscode wurde bereits erfolgreich eingegeben."),"\n"; } if($ctadr_int13 != 1 && $varenv->{telAck_startdate}){ my $des = "SMS Bestätigungscode"; my $key = "confirm_smscode"; my $label_des="* $des"; print $q->label({-for=>"$key", -style=>'padding-top:1em;'},"$label_des"),"\n"; print "\n"; }elsif($varenv->{telAck_startdate}){ print $q->div({-class=>'content2', -style=>'color:gray;'}, "* SMS Bestätigungscode wurde bereits erfolgreich eingegeben."),"\n"; } my $button_name = "Weiter"; print $q->div({-style=>'margin-top:1em;'},""),"\n"; }elsif($ctadr->{int04} && $R::confirm_code){ my $des = "Danke! Die Bestätigung war erfolgreich."; my $key = "nothing"; my $label_des="$des"; print $q->label({-for=>"$key", -style=>'padding-top:2.5em;'},"$label_des"),"\n"; print $q->div({-style=>'margin-top:2em;text-align:center;'},""),"\n"; }elsif($ctadr->{int12} || $ctadr->{int01} != 3 || !$ct->{c_id}){ my $des = "Leider ist das Fahrradmietsystem für Ihren Account nicht freigeschaltet.

Bitte überprüfen Sie Ihre Profildaten auf Vollständigkeit."; $des = "Leider ist das Fahrradmietsystem für Ihren Account nicht freigeschaltet.

Bitte kontaktieren Sie uns damit wir das Problem lösen und Ihren Account wieder freischalten können.." if($ctadr->{int12} == 2); my $key = "nothing"; my $label_des="$des"; print $q->label({-for=>"$key", -style=>'padding-top:2.5em;'},"$label_des"),"\n"; print $q->div({-style=>'margin-top:2em;text-align:center;'},""),"\n"; }elsif($ask_radID){ my $des = "Fahrrad Nr. $R::ask_radID kostenlos für 15 Min. reservieren?"; my $key = "radID"; my $label_des="$des"; print $q->label({-for=>"$key", -style=>'padding-top:2.5em;'},"$label_des"),"\n"; #print "\n"; #print $q->hidden(-name=>"$key",-override=>1,-value=>"$ask_radID"); print $q->div({-style=>'margin-top:2em;text-align:center;'},"",""),"\n"; } print "
\n"; print $q->end_form,"\n"; print "
\n"; }elsif($ask_radID){ #If no Login print< \$(function() { \$( "#dialog-form2" ) .css("background-color","$bg_color") .dialog({ height: $height, width: $width, closeOnEscape: false, modal: true }); \$('.ui-widget-overlay').click(function() { \$(".ui-dialog-titlebar-close").trigger('click');}); \$( "#btn_no3" ).click(function() { \$( "#dialog-form2" ).dialog( "close" ); }); \$( "#btn_anmelden" ).click(function() { window.location.href = '$varenv->{wwwhost}/$varenv->{mandant}/Anmelden'; }); }); EOF ; print "
"; print "
\n"; my $des = "Bitte erst anmelden."; my $label_des="$des"; print $q->label({-for=>"no_access", -style=>'padding-top:2.5em;'},"$label_des"),"\n"; print $q->div({-style=>'margin-top:2em;text-align:center;'},"",""),"\n"; print "
\n"; print "
\n"; } } 1;