package Mlogic;
use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser);
use CGI ':standard';
use Mod::Buttons;
use Mod::Libenzdb;
use Mod::DBtank;
use Data::Dumper;
my $q = new CGI;
my $db = new Libenzdb;
my $dbt = new DBtank;
my $but = new Buttons;
sub new {
my $class = shift;
my $self = {};
bless($self,$class);
return $self;
}
#Template
sub tpl(){
my $self = shift;
my $node_meta = shift;
my $users_dms = shift;
my $mode = shift || "";
my $varenv = shift;
my $users_sharee = shift || "";
my $return = shift || "";
my $user_agent = $q->user_agent();
my $lang = "de";
my $debug = 0;
$debug = 1;
my $dbh = "";
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 $node = {};
my $rows = 0;
my $bgcolor1 = $dbt->{website}->{$varenv->{syshost}}->{bgcolor1} || "yellow";#button background
my $hgcolor1 = $dbt->{website}->{$varenv->{syshost}}->{hgcolor1} || "yellow";#hover background
my $fgcolor1 = $dbt->{website}->{$varenv->{syshost}}->{fgcolor1} || "black";#font color
my $parent_node = $dbt->{website}->{$varenv->{syshost}}->{parent_node} || "app";
($node,$rows) = $dbt->collect_noderel($dbh,$dbt->{website}->{$varenv->{syshost}}->{parent_id});
if($users_sharee->{c_id} eq $varenv->{superu_id} || $dbt->{copri_conf}->{stage} eq "test"){
my $coo = $q->cookie('domcookie') || $q->param('sessionid') || $dbt->{website}->{$varenv->{syshost}}->{merchant_id};
#my $api_test = "sharee_kn"; my $bike="KN201";
#my $api_test = "sharee_fr01"; my $bike="FR1538";
my $api_test = "sharee_wue"; my $bike="WUE5524";
#my $api_test = "sharee_sx"; my $bike="S3X1001";
#my $api_test = "sharee_ren"; my $bike="REN2";
print $q->div({-style=>'text-align:right;height:25px;padding:6px 15px;background-color:white'},$q->a({-style=>"background-color:#ffffff;color:#$bgcolor1;", -href=>"$varenv->{metahost}/src/scripts/tests/index.pl?sessionid=$coo\&api_test=$api_test\&bike=$bike", -target=>'_blank'}," [ tests --> $api_test ] ")),"\n";
}
my $site_padding = "0 0 20px 0";
#if($dbt->{website}->{$varenv->{syshost}}->{layout} eq "iframe"){
# $site_padding = "0";
#}
if(1==1){
print "";
my $lmenu0 = "";
foreach my $id (sort {$node->{$a}->{n_sort} <=> $node->{$b}->{n_sort}} keys (%$node)){
$node->{$id}->{node_path} = $node->{$id}->{node_name} if(!$node->{$id}->{node_path});
my $mstyle = "";
if($node->{$id}->{main_id} == $node_meta->{main_id} || $node->{$id}->{main_id} == $node_meta->{parent_id}){
$mstyle = "background-color:#$hgcolor1;color:#fffffe;";
}
if($node->{$id}->{node_name} eq "Anmelden" && $node_meta->{parent_id} == 200010){
$mstyle = "background-color:#$hgcolor1;color:#fffffe;";
}
if($node->{$id}->{node_name} eq "Anmelden" && $users_sharee->{c_id}){
$lmenu0 .= $but->lia_button("/$parent_node/$varenv->{profile}$session","Mein Profil",$node->{$id}->{main_id},"","$mstyle",$users_dms->{u_id});
}else{
$lmenu0 .= $but->lia_button("/$parent_node/$node->{$id}->{node_path}",$node->{$id}->{node_name},$node->{$id}->{main_id},"","$mstyle",$users_dms->{u_id});
}
}
#bootstrap 5 with standalone site
if($dbt->{website}->{$varenv->{syshost}}->{layout} eq "standalone"){
print "
\n";
}
print "
\n";
if($user_agent !~ /Android|Iphone/i){
print "
A\n";
print "
A\n";
print "
A\n";
print "
\n";
}
if($users_sharee->{c_id} && $R::sharee_edit ne "delete_account2"){
print "
| $users_sharee->{txt08} logout\n";
}
print "
\n";
if($dbt->{website}->{$varenv->{syshost}}->{project} eq "Bayern"){
if($user_agent !~ /Android|Iphone/i){
print $q->div({-style=>"text-align:left;width:100%;margin:1em 0;background-image: linear-gradient(to right, rgb(0, 156, 217) 300px, rgb(255,255,255));"},$q->img({-style=>'height:10em;', -src=>"$dbt->{website}->{$varenv->{syshost}}->{operatorWeb1}/img/Logo-LastenradBayern-01.png"})),"\n";
}else{
print $q->div({-style=>"text-align:left;width:100%;margin:1em 0;background-color:#$bgcolor1;"},$q->img({-style=>'height:10em;', -src=>"$dbt->{website}->{$varenv->{syshost}}->{operatorWeb1}/img/Logo-LastenradBayern-01.png"})),"\n";
}
}
#test Bayern left-site menue
#print $q->div({-style=>"float:left;text-align:left;border:1px dotted black;"},$q->ul({-id=>'LeftNavi'},$lmenu0)),"\n";
#print "
\n";
print "
\n";
print $q->div({-style=>"text-align:left;border:0px dotted #$fgcolor1;"},$q->ul({-id=>'TopNavi'},$lmenu0)),"\n";
if(($node_meta->{tpl_id} == 1 || $node_meta->{tpl_id} == 3) && $node_meta->{main_id} == 200017){
require "Tpl/Karte_osm.pm";
&Karte_osm::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$return);
}else{
$self->tplselect($node_meta,$users_dms,$mode,$varenv,$users_sharee,$return);
}
print "
\n";
print "
\n";
my $sharee_impress_text = {};
$sharee_impress_text->{ct_name} = "Impressum";
$sharee_impress_text->{txt01} = "
";
my $sharee_privacy_text = {};
$sharee_privacy_text->{ct_name} = "Datenschutzhinweise";
$sharee_privacy_text->{txt01} = "
";
print <
$sharee_impress_text->{txt01}
EOF
;
print <
$sharee_privacy_text->{txt01}
EOF
;
print $q->div({ -style=>"width:100%;text-align:right;"},
"
"
#$q->a({-style=>"background-color:#ffffff;color:#$bgcolor1;text-decoration:none;", -href=>"$varenv->{wwwhost}/site/impress_1.html"}, "Impressum"),
#$q->a({-style=>"background-color:#ffffff;color:#$bgcolor1;text-decoration:none;padding:0 1em;", -href=>"$varenv->{wwwhost}/site/privacy_2.html"}, "Datenschutz")
),"\n";
print "\n";#Contenttxt
print "
\n" if($dbt->{website}->{$varenv->{syshost}}->{layout} eq "standalone");#container
}
#print "\n";
my $debug_footer = "Mlogic --> (syshost: $varenv->{syshost} | users_sharee->{c_id}: $users_sharee->{c_id} | ct_table: $node_meta->{ct_table} | parent_id: $node_meta->{parent_id} | main_id: $node_meta->{main_id} | tpl_id: $node_meta->{tpl_id} | $users_dms->{u_id})";
print $q->div({-style=>'position:fixed;bottom:0%;left:2%;z-index:10;font-size:13px;'},"$debug_footer"),"\n" if($users_sharee->{c_id} eq $varenv->{superu_id});
if($return && $return =~ /failure/){
require "Mod/Failure.pm";
&Failure::tpl("",$users_dms->{u_id},"","","","",$return);
}
}
#2021-05-05 changed to Mlogic
sub tplselect(){
my $self = shift;
my $node_meta = shift;
my $users_dms = shift || "";
my $mode = shift || "";
my $varenv = shift;
my $users_sharee = shift || "";
my $return = shift || "";
my $lang = "de";
my $tpl_id = $node_meta->{tpl_id};
if($node_meta->{main_id}){
if($tpl_id == 2){
require "Tpl/Anmelden.pm";
&Anmelden::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$return);
}elsif($tpl_id == 302 || $tpl_id == 302008 || $tpl_id == 302004){#Adresse
require "Tpl/FormEdit.pm";
&FormEdit::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$return);
}elsif($tpl_id == 308){
require "Tpl/PayoneSelect.pm";
&PayoneSelect::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$return);
}elsif($tpl_id == 197){
require "Tpl/Contact.pm";
&Contact::tpl($node_meta,$users_dms,$mode,$varenv,$users_sharee,$return);
}
}
}
1;