package Karte; # # SPDX-License-Identifier: AGPL-3.0-or-later # Copyright (c) Rainer Gümpelein, TeilRad GmbH # use strict; use warnings; use CGI ':standard'; use Lib::Config; use Mod::DBtank; use Mod::APIfunc; 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 || { c_id => 0 }; my $return = shift || ""; my $q = new CGI; my $cf = new Config; my $dbt = new DBtank; my $apif = new APIfunc; my $api_file = "/var/www/copri4/shareeconf/apikeys.cfg"; my $aconf = Config::General->new($api_file); my %apikeyconf = $aconf->getall; #print $apikeyconf{googlemap}->{google_key}; my $api_return = { authcookie => '' }; my $coo = $q->cookie(-name=>'domcookie') || $R::sessionid; ($api_return,$users_sharee) = $apif->auth_verify($q,$coo,""); my $initMap = $dbt->{website}->{$varenv->{syshost}}->{initMap}; my $map_zoom = $dbt->{website}->{$varenv->{syshost}}->{map_zoom} || "10"; my $project = "all"; if($dbt->{website}->{$varenv->{syshost}}->{merchant_id}){ $api_return->{authcookie} = $dbt->{website}->{$varenv->{syshost}}->{merchant_id} if(!$api_return->{authcookie}); $project = $dbt->{website}->{$varenv->{syshost}}->{project} if($dbt->{website}->{$varenv->{syshost}}->{project}); }elsif($dbt->{operator}->{$varenv->{dbname}}->{merchant_id}){ $api_return->{authcookie} = $dbt->{operator}->{$varenv->{dbname}}->{merchant_id} if(!$api_return->{authcookie}); $initMap = $dbt->{operator}->{$varenv->{dbname}}->{initMap} if($dbt->{operator}->{$varenv->{dbname}}->{initMap}); $map_zoom = $dbt->{operator}->{$varenv->{dbname}}->{map_zoom} if($dbt->{operator}->{$varenv->{dbname}}->{map_zoom}); $project = $dbt->{operator}->{$varenv->{dbname}}->{project} if($dbt->{operator}->{$varenv->{dbname}}->{project}); }elsif($dbt->{primary}->{$varenv->{dbname}}->{merchant_id}){ $api_return->{authcookie} = $dbt->{primary}->{$varenv->{dbname}}->{merchant_id} if(!$api_return->{authcookie}); $initMap = $dbt->{primary}->{$varenv->{dbname}}->{initMap} if($dbt->{primary}->{$varenv->{dbname}}->{initMap}); } my $icon_green = "Open_Green.png"; my $icon_red = "Open_Red.png"; my $icon_blue = "Open_Blue.png"; if($project eq "Bayern"){ $icon_green = "LastenradBay_Standortpfeil_gruen_03a.png"; $icon_red = "LastenradBay_Standortpfeil_rot_03a.png"; $icon_blue = "LastenradBay_Standortpfeil_blau_03a.png"; } $users_sharee->{c_id} = "0" if(!$users_sharee->{c_id}); $initMap =~ s/\s//g; my ($lat,$lng) = split(/,/,$initMap); require "Mod/KMLout.pm"; my $kmlfile = Mod::KMLout::kmlGenerator($api_return,$varenv,$users_sharee); my $filesize = -s "$varenv->{metahost}/xml/$kmlfile"; my $preserve_view = "false"; $preserve_view = "true" if($filesize < 200);#it's like empty without publixc stations print "