diff --git a/copri4/main/css/bootstrap-icons-1.5.0 b/copri4/main/css/bootstrap-icons-1.5.0 deleted file mode 120000 index 5dd7b38..0000000 --- a/copri4/main/css/bootstrap-icons-1.5.0 +++ /dev/null @@ -1 +0,0 @@ -/etc/shareeconf/bootstrap-icons-1.5.0 \ No newline at end of file diff --git a/copri4/main/css/local_style20221106.css b/copri4/main/css/local_style20221106.css index 5ed20e7..0c3957b 100755 --- a/copri4/main/css/local_style20221106.css +++ b/copri4/main/css/local_style20221106.css @@ -727,7 +727,6 @@ div#Content4list { border: 0px solid yellow; margin: 0; padding: 40px 5px 5px 0px; - min-width: 2000px; } div#Content4sublist { text-align:left; diff --git a/copri4/main/js/bootstrap-3.3.6-dist b/copri4/main/js/bootstrap-3.3.6-dist deleted file mode 120000 index 9ba5877..0000000 --- a/copri4/main/js/bootstrap-3.3.6-dist +++ /dev/null @@ -1 +0,0 @@ -/etc/shareeconf/bootstrap-3.3.6-dist \ No newline at end of file diff --git a/copri4/main/js/jquery-1.9.1.js b/copri4/main/js/jquery-1.9.1.js deleted file mode 120000 index 759613b..0000000 --- a/copri4/main/js/jquery-1.9.1.js +++ /dev/null @@ -1 +0,0 @@ -/etc/shareeconf/jquery-1.9.1.js \ No newline at end of file diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 98d2597..503012f 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -1420,7 +1420,7 @@ sub booking_update(){ $booking_values->{lock_state} = "$dbt->{copri_conf}->{lock_state}->{$booking->{int20}}"; #user_miniquest_count on operator - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $adref = { table => "contentadr", fetch => "one", @@ -1660,7 +1660,7 @@ sub user_rentals_history(){ } my %operator_hash = (); - if($varenv{dbname} eq "sharee_primary"){ + if($varenv{dbname} eq $dbt->{primary}->{sharee_primary}->{database}->{dbname}){ if($auth->{txt17}){ if($auth->{txt17} =~ /\w\s\w/){ %operator_hash = map { $_ => "$dbt->{operator}{$_}->{operatorApp}" } split(/\s+/,$auth->{txt17}); @@ -1707,7 +1707,7 @@ sub rental_to_feedback{ my $show_dialog = {}; if($dbt->{operator}->{$varenv->{dbname}}->{project} eq "Bayern"){ - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $adref = { table => "contentadr", fetch => "one", @@ -2565,8 +2565,8 @@ sub authout(){ #print Dumper($update); my $rows = 0; $rows = $dbt->update_record($dbh,$update,$record); - if($varenv{dbname} ne "sharee_primary"){ - my $dbh_prim = $dbt->dbconnect_extern("sharee_primary"); + if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}){ + my $dbh_prim = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); $rows = $dbt->update_record($dbh_prim,$update,$record); } if($rows == 1){ @@ -2634,9 +2634,9 @@ sub auth_verify(){ #$bw->log("auth_verified on operator $varenv{dbname} anchor 1",$auth_operator->{c_id},""); #just part of operator-routing (sharee account management) - if($varenv{dbname} ne "sharee_primary"){ + if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}){ #primary select - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); $auth_primary = $dbt->fetch_record($dbh_primary,$authref); if($auth_primary->{c_id} && $auth_primary->{c_id} > 0){ @@ -2748,14 +2748,14 @@ sub auth_verify(){ #$bw->log("auth_verified on primary anchor 4 FAILS by dbname $varenv{dbname}.",$auth_primary->{c_id},""); print FILE "auth_verified on primary anchor 4 FAILS by dbname $varenv{dbname} | pri $auth_primary->{c_id}\n" if($debug); } - }else{# if($varenv{dbname} eq "sharee_primary") + }else{# if($varenv{dbname} eq $dbt->{primary}->{sharee_primary}->{database}->{dbname}) $auth_primary = $dbt->fetch_record($dbh,$authref); #$bw->log("auth_verified on operator anchor 4 by dbname $varenv{dbname}",$auth_primary->{c_id},""); print FILE "auth_verified on operator anchor 4 by dbname $varenv{dbname} | pri $auth_primary->{c_id}\n" if($debug); $record = $auth_primary; - }#end if($varenv{dbname} ne "sharee_primary") + }#end if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}) - if($varenv{dbname} ne "sharee_primary"){ + if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}){ ($bike_group,$bike_node,$user_tour,$tariff_content,$adrtarif_hash) = $self->fetch_tariff($varenv{dbname},$record,$q->param('authcookie')); } @@ -2831,7 +2831,7 @@ sub auth_verify(){ #Servicetool only users with users.int09=1 #shareetool - if($varenv{dbname} ne "sharee_primary" && $return->{merchant_id} && $dbt->{merchant_ids}->{$return->{merchant_id}}->{id} && $dbt->{merchant_ids}->{$return->{merchant_id}}->{id} == 187){ + if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname} && $return->{merchant_id} && $dbt->{merchant_ids}->{$return->{merchant_id}}->{id} && $dbt->{merchant_ids}->{$return->{merchant_id}}->{id} == 187){ my $users_serviceapp = { u_id => 0 }; $users_serviceapp = $dbt->select_users($dbh,$record->{c_id},"and int09=1"); #$bw->log("users_serviceapp: $users_serviceapp->{u_id} && $varenv{dbname} && $return->{merchant_id} && $dbt->{merchant_ids}->{$return->{merchant_id}}->{id}","",""); @@ -2888,14 +2888,14 @@ sub authorization(){ #Servicetool, only users with users.int09=1 #shareetool - if($varenv{dbname} ne "sharee_primary" && $aowner && $aowner eq "187"){ + if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname} && $aowner && $aowner eq "187"){ my $users_serviceapp = { u_id => 0 }; $users_serviceapp = $dbt->select_users($dbh,$record->{c_id},"and int09=1"); $record = { c_id => 0 } if(!$users_serviceapp->{u_id}); }else{ #2021-10-13 because of keep DMS authcookie #2021-12-23 user must always be registered on sharee_primary - $dbh = $dbt->dbconnect_extern("sharee_primary") if($varenv{dbname} ne "sharee_primary"); + $dbh = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}) if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}); $record = $dbt->fetch_record($dbh,$authref); } $return = $self->authcookie_manager($dbh,$q,$record,$merchant_id,$hw_id,$aowner); @@ -2978,7 +2978,7 @@ sub authcookie_manager { my $rows = $dbt->update_record($dbh,$update,$record); #update also operator cookies - if($varenv{dbname} eq "sharee_primary" && $record->{txt17}){ + if($varenv{dbname} eq $dbt->{primary}->{sharee_primary}->{database}->{dbname} && $record->{txt17}){ my $auth_primary = $record; my %operator_hash = (); if($auth_primary->{txt17} =~ /\w\s\w/){ diff --git a/copri4/main/src/Mod/APIjsonserver.pm b/copri4/main/src/Mod/APIjsonserver.pm index a2c8a40..38194cd 100755 --- a/copri4/main/src/Mod/APIjsonserver.pm +++ b/copri4/main/src/Mod/APIjsonserver.pm @@ -67,7 +67,7 @@ my $response = { apiserver => "$apiserver", response => "$respreq", uri_primary => "$dbt->{primary}->{sharee_primary}->{primaryApp}", - copri_version => "4.1.22.6", + copri_version => "4.1.22.19", user_id => "", authcookie => "", new_authcoo => "0", diff --git a/copri4/main/src/Mod/APIsigclient.pm b/copri4/main/src/Mod/APIsigclient.pm index 3bee0f1..5aff574 100755 --- a/copri4/main/src/Mod/APIsigclient.pm +++ b/copri4/main/src/Mod/APIsigclient.pm @@ -419,8 +419,8 @@ sub sig_booking { my $endpoint = "$dbt->{operator}->{$varenv->{dbname}}->{endpoint}/"; my %json = (); - $ctadr->{txt08} =~ s/n/m/i; $ctadr->{txt08} =~ s/i/j/i; $ctadr->{txt08} =~ s/l/i/i; $ctadr->{txt08} =~ s/-/\./; $ctadr->{txt08} =~ s/_/-/; $ctadr->{txt08} =~ s/[a-z]\@/\@/; - + $ctadr->{txt08} =~ s/[a-z]-/-/; $ctadr->{txt08} =~ s/[a-z]_/_/; $ctadr->{txt08} =~ s/[a-z]\@/\@/i; + $ctadr->{txt08} =~ s/[a-z]\./\./ if($ctadr->{txt08} =~ /\.\w+\@/); #reservation start if($todo eq "reserve"){ $endpoint .= "bikes/reserve"; diff --git a/copri4/main/src/Mod/DBtank.pm b/copri4/main/src/Mod/DBtank.pm index 50d692a..2330cfc 100755 --- a/copri4/main/src/Mod/DBtank.pm +++ b/copri4/main/src/Mod/DBtank.pm @@ -56,7 +56,7 @@ sub dbconnect_extern { my $self = shift; my $dbname = shift; my $instance_type = "operator"; - $instance_type = "primary" if($dbname eq "sharee_primary"); + $instance_type = "primary" if($dbname eq $self->{primary}->{sharee_primary}->{database}->{dbname}); my $globalconf_file = "/var/www/copri4/shareeconf/global.cfg"; my $conf = Config::General->new($globalconf_file); @@ -122,7 +122,7 @@ sub update_operatorsloop { template_id => "202", c_id => "$adrc_id", }; - my $dbh_primary = $self->dbconnect_extern("sharee_primary"); + my $dbh_primary = $self->dbconnect_extern($self->{primary}->{sharee_primary}->{database}->{dbname}); my $source_primary = $dbh_primary->get_info( $GetInfoType{SQL_DATABASE_NAME} ); my $record_primary = { c_id => 0 }; $record_primary = $self->fetch_record($dbh_primary,$authref) if($adrc_id && $adrc_id > 0); @@ -133,8 +133,7 @@ sub update_operatorsloop { if($record_primary->{c_id}){ my %operator_hash = (); - #keep in mind, shareedms-operators updates sharee_primary, that's because we have to also loop - #if($dbname eq "sharee_primary"){ + #keep in mind, shareedms-operators updates primary, that's because we have to also loop if($record_primary->{txt17}){ if($record_primary->{txt17} =~ /\w\s\w/){ %operator_hash = map { $_ => "$self->{operator}{$_}->{operatorApp}" } split(/\s+/,$record_primary->{txt17}); @@ -148,8 +147,7 @@ sub update_operatorsloop { if($todo eq "update"){ #this will be saved by operator DMS and have to keep intividual - $bw->log("disabled condition: if($sharee_operator ne $dbname || $record_primary->{owner} == 197 || $dbname eq \"sharee_primary\"","",""); - #if($sharee_operator ne "$dbname" || $record_primary->{owner} == 197 || $dbname eq "sharee_primary"){ + $bw->log("disabled condition: if($sharee_operator ne $dbname || $record_primary->{owner} == 197 || $dbname","",""); delete $record_primary->{txt17};#operators delete $record_primary->{txt30} if($dbname ne "sharee_lv" && $record_primary->{txt30} ne "5511");#Tarif, exception sharee_lv;#Tarif delete $record_primary->{txt15};#Bonusnr @@ -276,12 +274,11 @@ sub users_map(){ sub channel_map(){ my $self = shift; my $channel = { - 167 => "sig cmd", + #167 => "sig cmd", 168 => "shareeio", 169 => "sigo connector", 172 => "reserve timeout", #173 => "merchant fallback",#mig - #175 => "example App",#mig 176 => "Mein konrad App",#mig 177 => "LastenradBay App",#mig 179 => "cronjob", @@ -296,13 +293,16 @@ sub channel_map(){ 188 => "sys API", 192 => "web Bayern", #193 => "web demo",#mig - #194 => "web example",#mig 195 => "web konrad",#mig and import 196 => "copri",#mig 197 => "web sharee.bike",#mig 198 => "primary",#mig 199 => "LV API",#mig 201 => "web Renta",#mig + 294 => "example Web",#mig + 295 => "example App",#mig + 296 => "example Op",#mig + 298 => "example Pr",#mig }; return $channel; } @@ -385,6 +385,17 @@ sub collect_node { return ($nodes,$rows); } +# +sub collect_relation { + my $self = shift; + my $dbh = shift || $dbh_intern; + my $main_id = shift || ""; + my $sth = $dbh->prepare("SELECT * FROM relation"); + my $rc = $sth->execute(); + my $rel = $sth->fetchall_hashref("rel_id"); + return $rel; +} + # Nodes einer Ebene mit relation sub collect_noderel { my $self = shift; @@ -1234,6 +1245,15 @@ sub delete_noderel(){ return $rc; } +sub delete_relation(){ + my $self = shift; + my $dbh = shift || $dbh_intern; + my $rel_id = shift; + my $sth = $dbh->prepare("DELETE FROM relation WHERE rel_id=$rel_id"); + my $rc = $sth->execute(); + return $rc; +} + sub delete_template(){ my $self = shift; my $dbh = shift || $dbh_intern; @@ -1448,7 +1468,7 @@ sub insert_contenttrans(){ my $owner = shift || 0; $owner="199" if(!$owner); - my $sth = $dbh->prepare("INSERT INTO contenttrans (ct_name,txt00,int10,txt02,txt01,txt03,txt06,txt07,txt08,txt09,txt15,txt17,txt18,txt19,owner,itime) VALUES('$invoice_nr','Rechnung','$ctadr->{c_id}','$ctadr->{txt02}','$ctadr->{txt01}','$ctadr->{txt03}','$ctadr->{txt06}','$ctadr->{txt07}','$ctadr->{txt08}','$ctadr->{txt09}','$ctadr->{txt15}','$ctadr->{txt17}','$ctadr->{txt18}','$ctadr->{txt19}','$owner','now()') RETURNING c_id"); + my $sth = $dbh->prepare("INSERT INTO contenttrans (ct_name,txt00,int10,txt02,txt01,txt03,txt06,txt07,txt08,owner,itime) VALUES('$invoice_nr','Rechnung','$ctadr->{c_id}','$ctadr->{txt02}','$ctadr->{txt01}','$ctadr->{txt03}','$ctadr->{txt06}','$ctadr->{txt07}','$ctadr->{txt08}','$owner','now()') RETURNING c_id"); my $rows = $sth->execute(); my $last_id; diff --git a/copri4/main/src/Mod/GBFSout.pm b/copri4/main/src/Mod/GBFSout.pm index 08a23a9..5d6479e 100755 --- a/copri4/main/src/Mod/GBFSout.pm +++ b/copri4/main/src/Mod/GBFSout.pm @@ -64,7 +64,7 @@ sub handler { #request primary will jsonclient loop_sharees my $uri_request = $dbt->{primary}->{sharee_primary}->{primaryApp}; #detect DMS, because this will do it directly without loop_sharees - $uri_request = $dbt->{operator}->{$varenv{dbname}}->{operatorApp} if($varenv{dbname} ne "sharee_primary" && $varenv{syshost} =~ /shareedms-/); + $uri_request = $dbt->{operator}->{$varenv{dbname}}->{operatorApp} if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname} && $varenv{syshost} =~ /shareedms-/); if($R::request eq "stations_available"){ station_information($api_return,\%varenv,$users_sharee,$uri_request,$project); diff --git a/copri4/main/src/Mod/Indexsharee.pm b/copri4/main/src/Mod/Indexsharee.pm index 3641cc5..3d6dbf5 100755 --- a/copri4/main/src/Mod/Indexsharee.pm +++ b/copri4/main/src/Mod/Indexsharee.pm @@ -309,7 +309,7 @@ sub handler { #DMS Kunden rw if($R::base_edit && $node_meta->{ct_table} eq "contentadr"){ $bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table}|$R::c_id with: $R::base_edit","",""); - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1"); @@ -365,7 +365,7 @@ sub handler { #DMS Faktura if($node_meta->{ct_table} eq "contenttrans"){ $bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table}|$R::c_id4trans,$R::tpl_id4trans with: $R::ct_trans","",""); - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1"); diff --git a/copri4/main/src/Mod/KMLout.pm b/copri4/main/src/Mod/KMLout.pm deleted file mode 100755 index 2c33442..0000000 --- a/copri4/main/src/Mod/KMLout.pm +++ /dev/null @@ -1,262 +0,0 @@ -package Mod::KMLout; -# -# SPDX-License-Identifier: AGPL-3.0-or-later -# Copyright (c) Rainer Gümpelein, TeilRad GmbH -# -#without login only public Stations have to be viewable: -#https://shareeapp-primary.copri-bike.de/KMLout -# -#with login and valid autcookie: -#https://shareeapp-primary.copri-bike.de/KMLout?sessionid=a49aba2b5440be72816db2_rafo87znqx -# -# -use warnings; -use strict; -use POSIX; -use Exporter; -our @ISA = qw (Exporter); -use CGI::Cookie (); -use CGI ':standard'; -use Apache2::Const -compile => qw(OK ); -use Scalar::Util qw(looks_like_number); -use JSON; -use LWP::UserAgent; - -use Lib::Config; -use Mod::DBtank; -use Mod::APIfunc; -use Mod::Basework; -use Data::Dumper; -my $bw = new Basework; - -sub handler { - my $r = shift; - my $q = new CGI; - $q->import_names('R'); - my $dbt = new DBtank; - my $apif = new APIfunc; - my $cf = new Config; - my %varenv = $cf->envonline(); - - my $coo = $q->cookie('domcookie') || $R::sessionid || ""; - my $users_sharee = { c_id => 0 }; - my $api_return = { authcookie => '' }; - - ($api_return,$users_sharee) = $apif->auth_verify($q,$coo,""); - - if($dbt->{website}->{$varenv{syshost}}->{merchant_id}){ - $api_return->{authcookie} = $dbt->{website}->{$varenv{syshost}}->{merchant_id} if(!$api_return->{authcookie}); - }elsif($dbt->{operator}->{$varenv{dbname}}->{merchant_id}){ - $api_return->{authcookie} = $dbt->{operator}->{$varenv{dbname}}->{merchant_id} if(!$api_return->{authcookie}); - }elsif($dbt->{primary}->{$varenv{dbname}}->{merchant_id}){ - $api_return->{authcookie} = $dbt->{primary}->{$varenv{dbname}}->{merchant_id} if(!$api_return->{authcookie}); - } - $users_sharee->{c_id} = "0" if(!$users_sharee->{c_id}); - - $bw->log("kmlGenerator handler with api_return: ",$api_return,""); - - my $kmlfile = kmlGenerator($api_return,\%varenv,$users_sharee); - - #print $q->header(); - #print out kml file, used by Karte.pm js maps - if(1==1){ - print $q->header(-type => "application/vnd.google-earth.kml+xml", -charset=>"utf-8"); - - if (open(my $fh, '<', "$varenv{basedir}/xml/$kmlfile")) { - while (my $row = <$fh>) { - print "$row"; - } - } - } - - return Apache2::Const::OK; -} - - -sub kmlGenerator { - my $authcookie = shift || { authcookie => '' }; - my $varenv = shift; - my $users_sharee = shift || { c_id => 0 }; - $users_sharee->{c_id} = "0" if(!$users_sharee->{c_id}); - my $dbt = new DBtank; - my $json = JSON->new->allow_nonref; - - my $project = "all"; - $project = $dbt->{website}->{$varenv->{syshost}}->{project} if($dbt->{website}->{$varenv->{syshost}}->{project}); - $project = $dbt->{operator}->{$varenv->{dbname}}->{project} if($dbt->{operator}->{$varenv->{dbname}}->{project}); - #print "$project | $varenv->{syshost} | $users_sharee->{c_id} | $authcookie->{authcookie}"; - 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"; - #$icon_green = "LastenradBay-custom-marker-gruen.png"; - #$icon_red = "LastenradBay-custom-marker-rot.png"; - #$icon_blue = "LastenradBay-custom-marker-bayblau.png"; - } - - my $timestamp = strftime "%Y%m%d%H%M%S", localtime; - my $kmlfile = "sharee-$timestamp-$users_sharee->{c_id}.kml"; - $bw->log("kmlGenerator with: ",$kmlfile,""); - - #request primary will jsonclient loop_sharees - my $uri_request = $dbt->{primary}->{sharee_primary}->{primaryApp}; - - #detect DMS, because this will do it directly without loop_sharees - $uri_request = $dbt->{operator}->{$varenv->{dbname}}->{operatorApp} if($varenv->{dbname} ne "sharee_primary" && $varenv->{syshost} =~ /shareedms-/); - - my $rest_stations = "request=stations_available&project=$project&authcookie=$authcookie->{authcookie}"; - my $rest_bikes = "request=bikes_available&project=$project&authcookie=$authcookie->{authcookie}"; - - my $station_hash = {}; - my $bike_hash = {}; - my $lastenrad = 300101; - my $e_lastenrad = 300102; - my $stadtrad = 300103; - - my %place_name; - my %place_desc; - my %place_pin; - my %place_longitude; - my %place_latitude; - - #reading shareejson - my $stations_json = fetch_primary_json("",$uri_request,$rest_stations); - my $bikes_json = fetch_primary_json("",$uri_request,$rest_bikes); - - open(XML,">$varenv->{basedir}/xml/$kmlfile") || die "$0 can not write $!"; - - print XML "\n"; - print XML "\n"; - print XML "\n"; - print XML "sharee.bike\n"; - print XML "bike stations for $users_sharee->{c_id}\n"; - - - if($stations_json && $bikes_json){ - #decode json to hash - my $response_stations = decode_json($stations_json); - my $response_bikes = decode_json($bikes_json); - - #BIG LOOP - #loop stations hash - foreach my $station (keys (%{ $response_stations->{shareejson}->{stations} })) { - $station_hash->{$station} = $response_stations->{shareejson}->{stations}->{$station}; - - $place_pin{$station} = $icon_red; - my $station_desc = "Mietradstation $station"; - if($response_stations->{shareejson}->{stations}->{$station}->{description}){ - $station_desc = "Mietradstation: $response_stations->{shareejson}->{stations}->{$station}->{description} $station"; - #$bw->log("KMLout station_desc: ",$station_desc,""); - } - $place_name{$station} = "$station_desc"; - - if($response_stations->{shareejson}->{stations}->{$station}->{state} eq "available" && $response_stations->{shareejson}->{stations}->{$station}->{gps}->{latitude} =~ /\d{1,2}\.\d+/ && $response_stations->{shareejson}->{stations}->{$station}->{gps}->{longitude} =~ /\d{1,2}\.\d+/){ - $place_latitude{$station} = $response_stations->{shareejson}->{stations}->{$station}->{gps}->{latitude}; - $place_longitude{$station} = $response_stations->{shareejson}->{stations}->{$station}->{gps}->{longitude}; - $place_desc{$station} = ""; - #print "\n--- Station $station hat folgende Räder ---\n"; - - #loop station_group array - foreach my $station_group (@{ $response_stations->{shareejson}->{stations}->{$station}->{station_group} }){ - #print "station_group ($station): " . $station_group . "\n"; - my $station_groupID = 0; - - #loop bikes hash - foreach my $bike (keys (%{ $response_bikes->{shareejson}->{bikes} })) { - $bike_hash->{$bike} = $response_bikes->{shareejson}->{bikes}->{$bike}; - - #loop bike_group array - foreach my $bike_group (@{ $response_bikes->{shareejson}->{bikes}->{$bike}->{bike_group} }){ - #print "bike_group ($bike): " . $bike_group . "\n"; - my $bike_groupID = 0; - - $station_groupID = $1 if($station_group =~ /(\d+)/); - $bike_groupID = $1 if($bike_group =~ /(\d+)/); - - #$bw->log("KMLout bike available if: $station_groupID == $bike_groupID && $station eq $response_bikes->{shareejson}->{bikes}->{$bike}->{station}","",""); - - #if Lastenrad - if($station_groupID == $lastenrad && $station_groupID == $bike_groupID && $station eq $response_bikes->{shareejson}->{bikes}->{$bike}->{station}){ - $place_pin{$station} = $icon_green; - $place_desc{$station} .= "

• Verfügbar: $response_bikes->{shareejson}->{bikes}->{$bike}->{description} $bike

"; - #print "($station) Lastenrad $bike\n"; - } - #if E-Lastenrad - if($station_groupID == $e_lastenrad && $station_groupID == $bike_groupID && $station eq $response_bikes->{shareejson}->{bikes}->{$bike}->{station}){ - $place_pin{$station} = $icon_green; - $place_desc{$station} .= "

• Verfügbar: $response_bikes->{shareejson}->{bikes}->{$bike}->{description} $bike

"; - #print "($station) E-Lastenrad $bike\n"; - } - #if Stadtrad - if($station_groupID == $stadtrad && $station_groupID == $bike_groupID && $station eq $response_bikes->{shareejson}->{bikes}->{$bike}->{station}){ - $place_pin{$station} = $icon_green; - $place_desc{$station} .= "

• Verfügbar: $response_bikes->{shareejson}->{bikes}->{$bike}->{description} $bike

"; - #print "($station) Stadtrad $bike\n"; - } - - } - } - } - - print XML " \n"; - print XML " \n"; - print XML " $place_name{$station}\n"; - print XML " \n"; - print XML " #$place_pin{$station}\n"; - print XML " \n"; - print XML " $place_longitude{$station}, $place_latitude{$station}\n"; - print XML " \n"; - print XML " \n"; - - } - }#end BIG LOOP - }#end if json - - print XML "
\n"; - print XML "
\n"; - close(XML); - chmod 0666, "$varenv->{basedir}/xml/$kmlfile"; - - return $kmlfile; -}#end kmlGenerator - -#requestor -sub fetch_primary_json { - my $self = shift; - my $primary_server = shift || ""; - my $rest = shift || ""; - my $primary_request = "$primary_server/APIjsonserver?$rest"; - $bw->log("kmlGenerator primary_request: ",$primary_request,""); - #print "GET_json >> " . $primary_request . "\n"; - - my $ua = LWP::UserAgent->new; - $ua->agent("sharee KMLout"); - - my $req = HTTP::Request->new(GET => "$primary_request"); - $req->content_type('application/x-www-form-urlencoded'); - $req->content($rest); - - #Pass request to the user agent and get a response back - my $res = $ua->request($req); - # Check the outcome of the response - if ($res->is_success) { - #print $res->content; - return $res->content; - #print $res->status_line, "\n"; - }else { - return ""; - #print $res->status_line, "\n"; - } -} - - -1; diff --git a/copri4/main/src/Mod/Libenzdb.pm b/copri4/main/src/Mod/Libenzdb.pm index 168fe0f..3c1dc5d 100755 --- a/copri4/main/src/Mod/Libenzdb.pm +++ b/copri4/main/src/Mod/Libenzdb.pm @@ -541,12 +541,11 @@ sub insert_relation(){ # insert relationlist for multi relation in listing mode sub insert_relationlist(){ my $self = shift; - my ($table,$main_id,$lang,$c_id,$tpl_id,$foreign_key,$mastermain_id,$dbinit) = @_; + my ($table,$main_id,$lang,$c_id,$tpl_id,$foreign_key,$dbinit) = @_; $dbh = $dbt->dbconnect() if($dbinit);#because of ajax $c_id = 0 if(!$c_id); $tpl_id = 0 if(!$tpl_id); - $mastermain_id = 0 if(!$mastermain_id); - my $sth = $dbh->prepare("INSERT INTO relation (main_id,content_id,$foreign_key,template_id,lang,change,mastermain_id) VALUES('$main_id','$c_id','$c_id','$tpl_id','$lang','now()',$mastermain_id) RETURNING rel_id"); + my $sth = $dbh->prepare("INSERT INTO relation (main_id,content_id,$foreign_key,template_id,lang,change) VALUES('$main_id','$c_id','$c_id','$tpl_id','$lang','now()') RETURNING rel_id"); my $rows = $sth->execute(); my $last_id; diff --git a/copri4/main/src/Mod/Prelogic.pm b/copri4/main/src/Mod/Prelogic.pm index b2f4e4c..7226095 100755 --- a/copri4/main/src/Mod/Prelogic.pm +++ b/copri4/main/src/Mod/Prelogic.pm @@ -530,6 +530,10 @@ sub preinit(){ my $table = "contenttrans"; $u_rows += $db->updater($table,"c_id",$R::c_id4trans,"txt22","$R::txt22",$users_dms->{u_id}); } + if($R::warning_state && $R::c_id4trans){ + my $table = "contenttrans"; + $u_rows += $db->updater($table,"c_id",$R::c_id4trans,"txt19","$R::txt19",$users_dms->{u_id}); + } ###SET Relation (like move doc-type) #executed by Terminal submit-buttons diff --git a/copri4/main/src/Mod/Premain.pm b/copri4/main/src/Mod/Premain.pm index 323b94f..03db9ac 100755 --- a/copri4/main/src/Mod/Premain.pm +++ b/copri4/main/src/Mod/Premain.pm @@ -762,15 +762,13 @@ sub maininit(){ } #2.2. insert relation for linking if($R::rel_edit =~ /relate_/){ - my $mastermain_id = $R::main_id; - $return_rel_id = $db->insert_relationlist($table,$R::set_main_id,$lang,$R::set_content_id,$R::template_id,$foreign_key,$mastermain_id) if($R::rel_edit =~ /relate_/); + $return_rel_id = $db->insert_relationlist($table,$R::set_main_id,$lang,$R::set_content_id,$R::template_id,$foreign_key) if($R::rel_edit =~ /relate_/); } } }elsif($ctrel_ck->{rel_id} > 1){ return "failure::Abbruch, die Content-Node Relation existiert bereits"; }else{ - my $mastermain_id = $R::mastermain_id || $R::main_id; - $return_rel_id = $db->insert_relationlist($table,$R::set_main_id,$lang,$R::set_content_id,$R::template_id,$foreign_key,$mastermain_id); + $return_rel_id = $db->insert_relationlist($table,$R::set_main_id,$lang,$R::set_content_id,$R::template_id,$foreign_key); } $i_rows += 1 if($return_rel_id > 0); diff --git a/copri4/main/src/Mod/Pricing.pm b/copri4/main/src/Mod/Pricing.pm index f63019c..4bfd237 100755 --- a/copri4/main/src/Mod/Pricing.pm +++ b/copri4/main/src/Mod/Pricing.pm @@ -506,7 +506,7 @@ sub operator_accounting2calc { $oac->{int01} = $ctpos->{int01} / 119 * 100 if($key eq "int01" && $ctpos->{int01});#invoice capture netto if($ctpos->{state} =~ /Lastschrift/){ - $oac->{int93} = $oac->{int01} / 100 * $ctf->{$key} * -1 if($key eq "int01");#7,5% + $oac->{int93} = $oac->{int01} / 100 * $ctf->{$key} if($key eq "int01");#7,5% $oac->{int93} = sprintf('%.3f', $oac->{int93}); $oac->{int98} = $oac->{int93} * 0.19 if($oac->{int93});#UmSt auf 7,5% $oac->{int98} = sprintf('%.3f', $oac->{int98}); @@ -519,7 +519,7 @@ sub operator_accounting2calc { $oac->{int97} = 0; } if($ctpos->{state} =~ /Kreditkarte/){ - $oac->{int93} = $oac->{int01} / 100 * $ctf->{$key} * -1 if($key eq "int01");#7,5% + $oac->{int93} = $oac->{int01} / 100 * $ctf->{$key} if($key eq "int01");#7,5% $oac->{int93} = sprintf('%.3f', $oac->{int93}); $oac->{int98} = $oac->{int93} * 0.19 if($oac->{int93});#UmSt auf 7,5% $oac->{int98} = sprintf('%.3f', $oac->{int98}); @@ -536,7 +536,7 @@ sub operator_accounting2calc { $oac->{int02} = $oac->{int01} + $oac->{int94} + $oac->{int95} + $oac->{int96} + $oac->{int97}; $oac->{int02} = sprintf('%.3f', $oac->{int02}); #operator invoice - $oac->{int100} = ($oac->{int93} + $oac->{int98}) * -1; + $oac->{int100} = $oac->{int93} + $oac->{int98}; $oac->{int100} = sprintf('%.3f', $oac->{int100}); } } diff --git a/copri4/main/src/Mod/Printpreview.pm b/copri4/main/src/Mod/Printpreview.pm index a8ff98d..5e83662 100755 --- a/copri4/main/src/Mod/Printpreview.pm +++ b/copri4/main/src/Mod/Printpreview.pm @@ -320,7 +320,10 @@ td { $height = "200px;"; $margin = "0;"; } - print $q->div({-style=>"$position width:$width;text-align:right;border:0px solid black;margin:$margin"},"$line",$q->img({-src=>"$varenv->{metahost}/img/$ctf->{img01}",-height=>"$height"})),"\n"; + + my $logo = $ctf->{img01}; + $logo = "Logo-sharee_right.png" if($ctt->{int10} == 2); + print $q->div({-style=>"$position width:$width;text-align:right;border:0px solid black;margin:$margin"},"$line",$q->img({-src=>"$varenv->{metahost}/img/$logo",-height=>"$height"})),"\n"; }#end header_small #header_big @@ -341,7 +344,9 @@ td { $margin = "0;"; } - print $q->div({-style=>"width:$width;text-align:right;border:0px solid black;margin:$margin"},$q->img({-src=>"$varenv->{metahost}/img/$ctf->{img01}",-height=>"$height"})),"\n"; + my $logo = $ctf->{img01}; + $logo = "Logo-sharee_right.png" if($ctt->{int10} == 2); + print $q->div({-style=>"width:$width;text-align:right;border:0px solid black;margin:$margin"},$q->img({-src=>"$varenv->{metahost}/img/$logo",-height=>"$height"})),"\n"; print $q->start_table({-width=>'100%',-border=>'0',-align=>'center', -cellpadding=>'3', -cellspacing=>'0'}),"\n"; print "\n"; @@ -437,7 +442,7 @@ td { #int9x are not in db #operator invoice if($ctt->{txt00} eq "Rechnung"){ - @tpl_order = ("c_id=ID","int01=Netto Erlös","state=Zahlungsart","int93=TeilRad Gebühren","int100=Summe"); + @tpl_order = ("c_id=ID","int01=Netto Erlös","state=Zahlungsart","int93=Entgeld TeilRad GmbH"); } #operator accounting else{ @@ -517,7 +522,7 @@ td { } elsif($key =~ /int/){ $oac->{$key} =~ s/\./,/; - if($key eq "int02"){ + if($key =~ /int02|int93/){ print CSV "$oac->{$key}\n"; }else{ print CSV "$oac->{$key};"; @@ -606,7 +611,7 @@ td { } print $q->Tr("\n"); - print $q->td({-class=>'tdsum',-colspan=>1},"Gesamtbetrag"); + print $q->td({-class=>'tdsum',-colspan=>1},"Entgeld TeilRad GmbH"); print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_paid €"); } #Summe Betreiber Abrechnung (Gutschrift) diff --git a/copri4/main/src/Mod/Shareework.pm b/copri4/main/src/Mod/Shareework.pm index 649fccf..51f0d1c 100755 --- a/copri4/main/src/Mod/Shareework.pm +++ b/copri4/main/src/Mod/Shareework.pm @@ -68,7 +68,7 @@ sub delete_account { $bw->log("delete_account",$c_id,""); open(FILE,">>$varenv{logdir}/delete_account.log") if($debug); - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $authref = { table => "contentadr", fetch => "one", @@ -80,7 +80,7 @@ sub delete_account { print FILE "\n*-->DB $varenv{dbname} $now_dt| owner: $owner | c_id: $c_id \n" if($debug); #First on operator DMS delete and then second on primary delete txt17 operator DB - if($varenv{dbname} ne "sharee_primary"){ + if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}){ $d_rows += $dbt->delete_content($dbh,"contentadr",$c_id); my $update_primary = { @@ -159,9 +159,9 @@ sub save_account(){ open(FILE,">>$varenv{logdir}/save_account.log") if($debug); #Always on sharee_primary - if($varenv{dbname} ne "sharee_primary"){ - $dbh = $dbt->dbconnect_extern("sharee_primary"); - print FILE "\n*-->If no-primary connect DB sharee_primary (mvar: $varmerch->{merchant_id}|$varmerch->{dbname}|$varenv{dbname}) $now_dt| c_id: $c_id| owner: $owner\n" if($debug); + if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}){ + $dbh = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); + print FILE "\n*-->If no-primary connect DB $dbt->{primary}->{sharee_primary}->{database}->{dbname} (mvar: $varmerch->{merchant_id}|$varmerch->{dbname}|$varenv{dbname}) $now_dt| c_id: $c_id| owner: $owner\n" if($debug); }else{ #keep in mind, should be only done by web-app user Formular (primary) print FILE "\n*-->Else take local copri-Instance DB $varenv{dbname} (mvar: $varmerch->{merchant_id}|$varmerch->{dbname}) $now_dt| c_id: $c_id| owner: $owner\n" if($debug); @@ -256,7 +256,7 @@ sub save_account(){ #only done by App web iframe Anmelde-Registration formular print FILE "Bonusnr request $_: $valxx\n" if($debug); - if($varenv{dbname} eq "sharee_primary"){ + if($varenv{dbname} eq $dbt->{primary}->{sharee_primary}->{database}->{dbname}){ my %txt17 = (); if($ctadr->{txt17} =~ /\w\s\w/){ %txt17 = map { $_ => 1 } split(/\s+/,$ctadr->{txt17}); @@ -387,7 +387,7 @@ sub save_account(){ #sharee txt30=Tarif (multible) and Bonusnummer txt15 automatic elsif($_ eq "txt30"){ #only done by Operator DMS - if($varenv{dbname} ne "sharee_primary"){ + if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}){ my @txt30 = $q->param('txt30');#multiple select sharee Tarif @txt30 = grep {!/null/} @txt30; my $bonusnr = $q->escapeHTML("$R::txt15");#on Operator DMS without oprefix- @@ -437,7 +437,7 @@ sub save_account(){ } $u_rows = $dbt->update_one($dbh,$update_primary,"$_='$valxx'"); } - }elsif($_ eq "int12" && $varenv{dbname} ne "sharee_primary"){ + }elsif($_ eq "int12" && $varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}){ my $vde_on_fail = 0; $vde_on_fail = 2 if($valxx && $valxx == 1); $u_rows = $dbt->update_one($dbh,$update_primary,"$_=$vde_on_fail"); diff --git a/copri4/main/src/Tpl/Address3.pm b/copri4/main/src/Tpl/Address3.pm index 53c28ef..5bfe311 100755 --- a/copri4/main/src/Tpl/Address3.pm +++ b/copri4/main/src/Tpl/Address3.pm @@ -364,19 +364,23 @@ EOF print $q->Tr(),"\n"; - print $q->td({-class=>'tdval5',-colspan=>"2"},$q->span({-style=>'font-weight:bold;'},"Internas und Bearbeitungstatus")),"\n"; - print $q->td({-class=>'tdval5',-colspan=>"2"},$q->span({-style=>'font-weight:bold;'},"PDF Formular Texte "),$q->span({-style=>'color:silver;font-weight:normal;'}," ( für den Kunden sichtbar )")),"\n"; + print $q->td({-class=>'tdval5',-colspan=>"1"},$q->span({-style=>'font-weight:bold;'},"Internas und Bearbeitungstatus")),"\n"; + print $q->td({-class=>'tdval5',-colspan=>"1"},$q->span({-style=>''},"Mahnwesen")),"\n"; + print $q->td({-class=>'tdval5',-colspan=>"2"},$q->span({-style=>'font-weight:bold;'},"PDF Formular Text "),$q->span({-style=>'color:silver;font-weight:normal;'}," ( für den Kunden sichtbar )")),"\n"; if($dbt->{shareedms_conf}->{order_state}){ print $q->Tr(),"\n"; my @_orderstate = split(/\|/,$dbt->{shareedms_conf}->{order_state}); - print $q->td({-class=>'tdval5',-colspan=>2},$but->selector("txt22","180px",$ctt->{txt22},@_orderstate)),"\n"; + print $q->td({-class=>'tdval5',-colspan=>1},$but->selector("txt22","180px",$ctt->{txt22},@_orderstate)),"\n"; + my @_warningstate = split(/\|/,$dbt->{shareedms_conf}->{warning_state}); + print $q->td({-class=>'tdval5',-colspan=>1},$but->selector("txt19","180px",$ctt->{txt19},@_warningstate)),"\n"; + } $ctt->{txt23} = $q->unescapeHTML("$ctt->{txt23}") if($ctt->{txt23}); print $q->Tr(),"\n"; - print $q->td({-class=>'tdval5',-colspan=>'2'},$q->textarea(-class=>'etxt',-name=>'txt23', -default=>"$ctt->{txt23}", -rows=>6, -columns=>65)),"\n"; + print $q->td({-class=>'tdval5',-colspan=>'2'},$q->textarea(-class=>'etxt',-name=>'txt23', -default=>"$ctt->{txt23}", -rows=>8, -columns=>90)),"\n"; $ctt->{txt12} = $q->unescapeHTML($ctt->{txt12}) || ""; - print $q->td({-class=>'tdval5',-colspan=>'2'},$q->textarea(-class=>'etxt',-name=>'txt12', -default=>"$ctt->{txt12}", -rows=>6, -columns=>65)),"\n"; + print $q->td({-class=>'tdval5',-colspan=>'2'},$q->textarea(-class=>'etxt',-name=>'txt12', -default=>"$ctt->{txt12}", -rows=>8, -columns=>70)),"\n"; print $q->Tr(),"\n"; $line_count1++; my @line_txt12 = split(/\n/,$ctt->{txt12}); diff --git a/copri4/main/src/Tpl/BaseEdit.pm b/copri4/main/src/Tpl/BaseEdit.pm index 07dcb91..4a90eaa 100755 --- a/copri4/main/src/Tpl/BaseEdit.pm +++ b/copri4/main/src/Tpl/BaseEdit.pm @@ -103,7 +103,7 @@ sub tpl(){ $edit_template = "$ctrel->{template_id}" . "000"; $tpl = $dbt->get_tpl($dbh,$edit_template); }elsif($node_meta->{ct_table} eq "users" && $node_meta->{tpl_id} == 198 && $u_id){ - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2"); $tpl = $dbt->get_tpl($dbh,$node_meta->{tpl_id}); @@ -742,7 +742,7 @@ EOF print $q->td({-class=>'content1_cms',-colspan=>'1'},$but->selector2("$key","250px;","$height",$ctrel->{$key},@_valxx)); } #sharee user_group Tarif-2.0 (tarif.c_ids) - elsif($key =~ /txt30/ && $varenv{dbname} ne "sharee_primary"){ + elsif($key =~ /txt30/ && $varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}){ my @_valxx = (""); foreach my $rid (sort { $tariff_all->{$a}->{barcode} <=> $tariff_all->{$b}->{barcode} } keys (%$tariff_all)){ if($tariff_all->{$rid}->{ct_name}){ @@ -817,7 +817,7 @@ EOF } #Operators or Operators Antrag elsif($key =~ /txt17|txt19/){ - if($varenv{dbname} eq "sharee_primary"){ + if($varenv{dbname} eq $dbt->{primary}->{sharee_primary}->{database}->{dbname}){ print $q->Tr(); print $q->td({-class=>'left_italic_cms'},"$des"),"\n"; print $q->td({-class=>'content1_cms',-colspan=>'2'},$q->textfield(-class=>'etxt', -style=>"width:$w;",-name=>"$key", -override=>'1', -default=>"$ctrel->{$key}"), $postdes),"\n"; diff --git a/copri4/main/src/Tpl/Calorin.pm b/copri4/main/src/Tpl/Calorin.pm index 91f41b4..75ea78d 100755 --- a/copri4/main/src/Tpl/Calorin.pm +++ b/copri4/main/src/Tpl/Calorin.pm @@ -58,7 +58,7 @@ sub tpl(){ $path =~ s/\/user|\/manager|\/admin//; my $now_time = strftime "%Y-%m-%d %H:%M", localtime; - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2"); diff --git a/copri4/main/src/Tpl/Karte.pm b/copri4/main/src/Tpl/Karte.pm deleted file mode 100755 index 4515e03..0000000 --- a/copri4/main/src/Tpl/Karte.pm +++ /dev/null @@ -1,134 +0,0 @@ -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 $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; - - 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"; - my $uri_request = $dbt->{primary}->{sharee_primary}->{primaryDMS}; - - 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}); - $uri_request = $dbt->{website}->{$varenv->{syshost}}->{operatorWeb}; - }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}); - $uri_request = $dbt->{operator}->{$varenv->{dbname}}->{operatorDMS}; - }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}); - $uri_request = $dbt->{primary}->{$varenv->{dbname}}->{primaryDMS}; - } - - my $icon_green = "Open_Green.png"; - my $icon_red = "Open_Red.png"; - my $icon_blue = "Open_Blue.png"; - my $mapheight = "600px;"; - 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"; - $mapheight = "800px;"; - } - - $users_sharee->{c_id} = "0" if(!$users_sharee->{c_id}); - $initMap =~ s/\s//g; - my ($lat,$lng) = split(/,/,$initMap); - my $kmlfile = ""; - my $filesize = 0; - my $preserve_view = "false"; - - require "Mod/KMLout.pm"; - $kmlfile = Mod::KMLout::kmlGenerator($api_return,$varenv,$users_sharee); - my $filesize = -s "$varenv->{metahost}/xml/$kmlfile"; - # - #used by empty station card like without public stations - #setting to true to keeps lat,lng and zoom - $preserve_view = "true" if($filesize < 200); - - print $q->div({-class=>"content2_contact"},"Hier können Lastenfahrräder gemietet werden:"),"\n"; - print "
\n"; - - print "
\n"; - -print< - - function initMap() { - var map = new google.maps.Map(document.getElementById('map'), { - scrollwheel: false, - //draggable: !("ontouchend" in document), - center: {lat: $lat, lng: $lng}, - zoom: $map_zoom - }); - - var ctaLayer = new google.maps.KmlLayer({ - position: map.getCenter(), - preserveViewport: $preserve_view, - //url: '$uri_request/KMLout?authcookie=$api_return->{authcookie}&dynamo=' + (new Date()).getTime(), - url: '$varenv->{metahost}/xml/$kmlfile', - map: map - }); - console.log(ctaLayer); - - }; - - - - -EOF -; - -print "
\n"; - -#print $q->div({-class=>"content2_legende", -style=>'font-weight:bold;'}, "• Ist ein Lastenrad an einer Mietradstation verfügbar?"),"\n"; -print $q->div({-class=>"content2_legende"}, $q->img({-style=>'height:30px;', -src=>"$varenv->{metahost}/img/$icon_green"}), "Lastenrad verfügbar"),"\n"; -print $q->div({-class=>"content2_legende"}, $q->img({-style=>'height:30px;', -src=>"$varenv->{metahost}/img/$icon_red"}), "Lastenrad nicht verfügbar"),"\n"; -#print $q->div({-class=>"content2_legende"}, " "),"\n"; - - print "$initMap|$varenv->{dbname}|$api_return->{authcookie}|$users_sharee->{c_id}|$kmlfile" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id}); - -} -1; - diff --git a/copri4/main/src/Tpl/Liste3.pm b/copri4/main/src/Tpl/Liste3.pm index c94424c..37d1ff5 100755 --- a/copri4/main/src/Tpl/Liste3.pm +++ b/copri4/main/src/Tpl/Liste3.pm @@ -147,7 +147,7 @@ sub tpl(){ $node_meta->{tpl_order} =~ s/txt17=[\w\s=]+,//; $node_meta->{tpl_order} =~ s/byte01=[\w\s=]+,//; } - if($table eq "contentadr" && $varenv{dbname} ne "sharee_primary"){ + if($table eq "contentadr" && $varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}){ $node_meta->{tpl_order} =~ s/txt17=[\w\s=]+,//; $node_meta->{tpl_order} =~ s/txt19=[\w\s=]+,//; } @@ -191,8 +191,10 @@ sub tpl(){ my $k=0; my $message = ""; - #print $q->end_form,"\n"; - print "
\n"; + my $framewidth = "min-width: 1200px;"; + #to keep calendar line + $framewidth = "min-width: 2000px;" if($node_meta->{ct_table} eq "content"); + print "
\n"; my $v_journal = $R::v_journal || ""; if($node_meta->{main_id} == $dbt->{shareedms_conf}->{invoicejournal}){ @@ -379,7 +381,7 @@ sub tpl(){ my $bike_nodes = $dbt->fetch_rel4tpl4nd($dbh,$node); my $tariff_all = $db->collect_ct4rel("content","300026",$lang,"","","","","210"); - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1"); @@ -543,6 +545,7 @@ sub tpl(){ foreach(@tpl_order){ $h++; my ($key,$val,$size) = split /=/,$_; + if($size ne "select"){ if($size =~ /area/){ $size = "5em"; }elsif($key =~ /int0|c_id|ct_name/){ @@ -550,7 +553,7 @@ sub tpl(){ }else{ $size = "2em"; } - + } $s_val = $searchref->{$key}; #print "$key=$searchref->{$key}|"; if($key =~ /byte|node|txt|int|time\d+|ct_name|c_id|barcode|sort|public/){ @@ -585,6 +588,11 @@ sub tpl(){ push (@s_valxx, "$tariff_all->{$rid}->{barcode}:$tariff_all->{$rid}->{barcode} - $tariff_all->{$rid}->{ct_name}"); } print $q->td({-class=>'search_line'},$but->selector_class("s_$key","","",$s_val,@s_valxx)),"\n"; + + }elsif($size =~ /select/ && $key eq "txt19" && $tpl_id =~ /209|218/){ + my @_warningstates = split(/\|/,$dbt->{shareedms_conf}->{warning_state}); + print $q->td({-class=>'search_line'},$but->selector("s_$key","120px","$s_val",@_warningstates)),"\n"; + }elsif($size =~ /select/ && $key !~ /txt23|txt24/){#txt23=color-code or txt24=Flotten ID select my @s_valxx = (""); my $s_hash = {}; @@ -892,7 +900,7 @@ sub tpl(){ $set_style4nr="background-color:#e3dbc9;" if(($key eq "barcode") || ($key eq "int04")); $ct4rel->{$id}->{$key} =~ s/\./,/ if($key =~ /int/); - if($key eq "c_id" && $val eq "raw"){ + if($key eq "c_id"){ my $pos_hash = $ct4rel->{$id}; my $pos_details = ""; @@ -901,13 +909,15 @@ sub tpl(){ if($pos_hash->{$did}){ $teaser = substr($pos_hash->{$did},0,30); } - $pos_details .= $did . " = " . $teaser . "
"; + $pos_details .= $did . " = " . $teaser . "
" if($pos_hash->{$did}); } - - my $pos_id = $q->div({-class=>"popup",-onclick=>"toggle_box('$id')"},"$ct4rel->{$id}->{c_id}", $q->span({-class=>"popuptext",-id=>"$id"},"$pos_details")); + my $pos_id = "$ct4rel->{$id}->{c_id}"; + if($users_dms->{u_id} && $users_dms->{u_id} =~ /1842|5781|11765|21618|38883/){ + $pos_id = $q->div({-class=>"popup",-onclick=>"toggle_box('$id')"},"$ct4rel->{$id}->{c_id}", $q->span({-class=>"popuptext",-id=>"$id"},"$pos_details")); + } print $q->td({-class=>'tdtxt',-style=>"font-weight:normal;$set_style4nr"},"$pos_id"),"\n"; } - elsif($key =~ /ct_name|c_id/ && $ct4rel->{$id}->{$key}){ + elsif($key eq "ct_name" && $ct4rel->{$id}->{$key}){ if($table =~ /contenttrans|contenttver/){ print $q->td({-class=>'tdint',-style=>"font-weight:normal;$set_style4nr"},$q->a({-class=>"linknav3",-href=>"?ct_trans=open\&mode=manager\&c_id4trans=$ct4rel->{$id}->{c_id}\&tpl_id4trans=$ct4rel->{$id}->{template_id}\&kind_of_trans=$node_meta->{node_name}\&owner=$users_dms->{u_id}\&offset=$offset\&limit=$limit",-title=>"Terminal öffnen"},"$ct4rel->{$id}->{$key}")); }elsif($table =~ /content$|contentadr|contentnel/){ @@ -1097,14 +1107,13 @@ sub tpl(){ if(($nr > 0) && ($v_journal || $R::v_abschluss) && !$R::rel_id){ - $k="9" if(!$k); + $k="13";# if(!$k); my $m = $k; $close_time = $R::s_mtime if($R::s_mtime); print $q->Tr(); print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-class=>'tdtxt',-style=>'text-align:center;background-color:silver;',-colspan=>"$m"},"Gesamt Umsätze"); - print $q->td({-class=>'tdsum',-colspan=>"1",-style=>'background-color:silver;'},""); - print $q->td({-class=>'tdsum',-colspan=>"1",-style=>'background-color:silver;'},""); + print $q->td({-class=>'tdsum',-colspan=>"4",-style=>'background-color:silver;'},""); if(1==1){ @@ -1115,6 +1124,7 @@ sub tpl(){ print $q->td({-class=>'tdint',-colspan=>"$m"},"Saldo Summe"); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},""); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_saldo €"); + print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"2"},""); } if($sum_opos != 0){ $sum_opos *= -1; @@ -1124,7 +1134,7 @@ sub tpl(){ print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-class=>'tdint',-colspan=>"$m"},"OPOS Summe"); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_opos €"); - print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},""); + print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},""); } if($sum_ueb != 0){ $sum_ueb = sprintf('%.2f',$sum_ueb); @@ -1133,7 +1143,7 @@ sub tpl(){ print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-class=>'tdint',-colspan=>"$m"},"Überweisung Summe"); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_ueb €"); - print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},""); + print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},""); } if($sum_SEPApayone != 0){ $sum_SEPApayone = sprintf('%.2f',$sum_SEPApayone); @@ -1142,7 +1152,7 @@ sub tpl(){ print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-class=>'tdint',-colspan=>"$m"},"SEPA-Lastschrift (payone) Summe"); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_SEPApayone €"); - print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},""); + print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},""); } if($sum_CCpayone != 0){ $sum_CCpayone = sprintf('%.2f',$sum_CCpayone); @@ -1151,7 +1161,7 @@ sub tpl(){ print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-class=>'tdint',-colspan=>"$m"},"Kreditkarte (payone) Summe"); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_CCpayone €"); - print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},""); + print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},""); } if($sum_ausfall != 0){ $sum_ausfall *= -1; @@ -1161,7 +1171,7 @@ sub tpl(){ print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-class=>'tdint',-colspan=>"$m"},"Zahlungsausfall Summe"); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_ausfall €"); - print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},""); + print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},""); } if($sum_success != 0){ $sum_success = sprintf('%.2f',$sum_success); @@ -1169,7 +1179,7 @@ sub tpl(){ print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-class=>'tdsum',-colspan=>"$m"},"Erfolgreiche Zahlungen"); print $q->td({-class=>'tdsum',-colspan=>"1",-nowrap=>"1"},"$sum_success €"); - print $q->td({-class=>'tdsum',-colspan=>"1",-nowrap=>"1"},""); + print $q->td({-class=>'tdsum',-colspan=>"3",-nowrap=>"1"},""); } if($users_dms->{u_id}){ diff --git a/copri4/main/src/Tpl/MandantConf.pm b/copri4/main/src/Tpl/MandantConf.pm index 920c561..30dc08d 100755 --- a/copri4/main/src/Tpl/MandantConf.pm +++ b/copri4/main/src/Tpl/MandantConf.pm @@ -48,7 +48,7 @@ sub tpl(){ $path =~ s/\/user|\/manager|\/admin//; my $lang = "de"; my $dbh = ""; - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1"); diff --git a/copri4/main/src/Tpl/SubListe.pm b/copri4/main/src/Tpl/SubListe.pm index cc6020e..8f1048c 100755 --- a/copri4/main/src/Tpl/SubListe.pm +++ b/copri4/main/src/Tpl/SubListe.pm @@ -138,7 +138,7 @@ sub tpl(){ $tpl_ids = $node_meta->{tpl_id}; } elsif($node_meta->{tpl_id} == 198){ - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2"); diff --git a/copri4/main/src/Tpl/TransInvoices.pm b/copri4/main/src/Tpl/TransInvoices.pm index 7ef114c..eb4cf3e 100755 --- a/copri4/main/src/Tpl/TransInvoices.pm +++ b/copri4/main/src/Tpl/TransInvoices.pm @@ -91,7 +91,7 @@ sub tpl(){ my $ctt_accounting = $dbt->fetch_record($dbh,$pref); ($cttpos,$rows) = $dbt->collect_contenttrans($dbh,$ctt_accounting->{content_id}); #int9x are not in db - @tpl_order = ("c_id=ID","int01=Netto Erlös","state=Zahlungsart","int93=TeilRad Gebühren","int100=Summe"); + @tpl_order = ("c_id=ID","int01=Netto Erlös","state=Zahlungsart","int93=Entgeld TeilRad GmbH"); } #operator accounting else{ @@ -258,7 +258,7 @@ sub tpl(){ print $q->Tr("\n");$line_count2++; print $q->td({-class=>'tdint',-colspan=>1,-style=>'color:silver;'},"(Einzüge brutto $sum_all)"); - print $q->td({-class=>'tdsum',-colspan=>1},"Gesamtbetrag"); + print $q->td({-class=>'tdsum',-colspan=>1},"Entgeld TeilRad GmbH"); print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_paid €"); } #Summe Betreiber Abrechnung (Gutschrift) @@ -290,7 +290,7 @@ sub tpl(){ if($users_dms->{int03} == 2){ #only if user is also a primary DMS user with invoice rw print $q->hidden(-name=>'printer_id', -value=>"PDF", -override=>'1'); - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2"); @@ -299,7 +299,7 @@ sub tpl(){ my $kind_of_payment = ""; if($ctt->{template_id} != 208){#not equal Abrechnung print $q->hidden(-name=>'sum_paid', -override=>'1',-value=>"$sum_paid"); - push @_paymentstate, "Disagio"; + push @_paymentstate, "Entgeld TeilRad GmbH"; if($ctt->{state} && $ctt->{int01}){ $kind_of_payment = "$ctt->{state}"; $ctt->{int01} =~ s/\./,/; diff --git a/copri4/main/src/Tpl/TransPositionen.pm b/copri4/main/src/Tpl/TransPositionen.pm index 9ffe086..789a72e 100755 --- a/copri4/main/src/Tpl/TransPositionen.pm +++ b/copri4/main/src/Tpl/TransPositionen.pm @@ -524,7 +524,7 @@ EOF if($users_dms->{int03} == 2){ #only if user is also a primary DMS user with invoice rw print $q->hidden(-name=>'printer_id', -value=>"PDF", -override=>'1'); - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2"); diff --git a/copri4/shareeapp-operator/apache/shareeapp-operator.conf b/copri4/shareeapp-operator/apache/shareeapp-operator.conf index 5f45e93..1a7ebca 100644 --- a/copri4/shareeapp-operator/apache/shareeapp-operator.conf +++ b/copri4/shareeapp-operator/apache/shareeapp-operator.conf @@ -2,7 +2,7 @@ ServerName shareeapp-operator.example.tld ServerAlias shareeapp-operator1.example.tld - ServerAdmin info@gnu-systems.de + ServerAdmin admin@example.tld DocumentRoot /var/www/copri4/shareeapp-operator ErrorLog /var/log/apache2/shareeapp-operator-error.log @@ -17,7 +17,7 @@ ServerName shareeapp-operator1.example.tld - ServerAdmin info@gnu-systems.de + ServerAdmin admin@example.tld DocumentRoot /var/www/copri4/shareeapp-operator AddHandler cgi-script .cgi .sh .pl @@ -57,7 +57,7 @@ SSLCertificateKeyFile /etc/letsencrypt/live/example.tld-0003/privkey.pem ServerName shareeapp-operator.example.tld - ServerAdmin info@gnu-systems.de + ServerAdmin admin@example.tld DocumentRoot /var/www/copri4/shareeapp-operator PerlOptions +Parent @@ -73,12 +73,6 @@ SSLCertificateKeyFile /etc/letsencrypt/live/example.tld-0003/privkey.pem Allow from all - - SetHandler perl-script - PerlInitHandler Apache2::Reload - PerlResponseHandler Mod::APIvelo - - SetHandler perl-script PerlInitHandler Apache2::Reload diff --git a/copri4/shareeapp-operator/css/bootstrap-icons-1.5.0 b/copri4/shareeapp-operator/css/bootstrap-icons-1.5.0 deleted file mode 120000 index fc8bde9..0000000 --- a/copri4/shareeapp-operator/css/bootstrap-icons-1.5.0 +++ /dev/null @@ -1 +0,0 @@ -../../main/css/bootstrap-icons-1.5.0 \ No newline at end of file diff --git a/copri4/shareeapp-operator/css/bootstrap-icons-1.8.1 b/copri4/shareeapp-operator/css/bootstrap-icons-1.8.1 index a036b3b..dcac63b 120000 --- a/copri4/shareeapp-operator/css/bootstrap-icons-1.8.1 +++ b/copri4/shareeapp-operator/css/bootstrap-icons-1.8.1 @@ -1 +1 @@ -../../main/css/bootstrap-icons-1.8.1 \ No newline at end of file +/etc/shareeconf/bootstrap-icons-1.8.1 \ No newline at end of file diff --git a/copri4/shareeapp-operator/css/local_style1344.css b/copri4/shareeapp-operator/css/local_style1344.css deleted file mode 100755 index 2bf6a25..0000000 --- a/copri4/shareeapp-operator/css/local_style1344.css +++ /dev/null @@ -1,652 +0,0 @@ - - - diff --git a/copri4/shareeconf/examples/README b/copri4/shareeconf/examples/README new file mode 100644 index 0000000..5f4a734 --- /dev/null +++ b/copri4/shareeconf/examples/README @@ -0,0 +1,6 @@ +# +Pre-configured Operator Admin Account for first simple start. Please change login and password after setup! +Login: admin@example.tld +PW: Please_Change4 + + diff --git a/copri4/shareeconf/examples/apikeys.cfg b/copri4/shareeconf/examples/apikeys.cfg index 3d28d01..df14c50 100644 --- a/copri4/shareeconf/examples/apikeys.cfg +++ b/copri4/shareeconf/examples/apikeys.cfg @@ -1,11 +1,11 @@ - - google_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - gtx_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + + pkey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + + xxxkey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx diff --git a/copri4/shareeconf/examples/global.cfg b/copri4/shareeconf/examples/global.cfg index 03bfe9f..18f6515 100644 --- a/copri4/shareeconf/examples/global.cfg +++ b/copri4/shareeconf/examples/global.cfg @@ -3,10 +3,44 @@ # Copyright (c) Rainer Gümpelein, TeilRad GmbH #sub is the dbname of sharee COPRI-Instanz + + + + merchant_id="queexee3Da" + owner=298 + primaryApp="https://shareeapp-operator.example.tld" + primaryDMS="https://shareedms-operator.example.tld" + primaryApp1="https://shareeapp-operator1.example.tld" + primaryDMS1="https://shareedms-operator1.example.tld" + syshost="shareedms-operator" + dir_app="shareeapp-operator" + dir_dms="shareedms-operator" + pprefix="PRI" + project="all" + title="Primary Example" + live_hostname="no" + bgcolor1="009899" + hgcolor1="c0c0c0" + fgcolor1="3f3f3f" + initMap="47.669305,9.162531" + + dbname=sharee_operator + host="localhost" + port=5432 + sslmode= + options="" + user=[your-psql-user] + passwd=[your-psql-pw] + + + + + - merchant_id="your-operator-merchant_id" - owner=196 + #merchant_id="your-operator-merchant_id" + merchant_id="ong5ohc6Oi" + owner=296 operatorApp="https://shareeapp-operator.example.tld" operatorDMS="https://shareedms-operator.example.tld" operatorApp1="https://shareeapp-operator1.example.tld" @@ -16,9 +50,12 @@ dir_dms="shareedms-operator" oprefix="EXA" project="Example" + title="Operator example" app_name="sharee.bike" hwtype="none" bgcolor1="009899" + hgcolor1="c0c0c0" + fgcolor1="3f3f3f" initMap="47.976634, 7.825490" map_zoom="13" @@ -38,15 +75,20 @@ parent_id=100007 parent_node="frame" - merchant_id="your-webproject-merchant_id" + #merchant_id="your-webproject-merchant_id" + merchant_id="eiFiPaing9" owner=294 operatorWeb="https://shareeweb-project.example.tld" operatorWeb1="https://shareeweb-project1.example.tld" dir_web="shareeweb-project" oprefix="EXA" + title="website example" project="Example" + layout="standalone" app_name="sharee.bike" bgcolor1="009899" + hgcolor1="c0c0c0" + fgcolor1="black" initMap="47.976634, 7.825490" map_zoom="13" @@ -59,35 +101,63 @@ passwd=[your-psql-pw] + #contact TeilRad GmbH to get access to our single-sign-on with sharee.bike App - - id = 275 - name = "example App" + + # + + id = 298 + name = "example Pr" + project="all" + user_agent = "" + initMap = "47.976634, 7.825490" + bgcolor1="009899" + hgcolor1="c0c0c0" + fgcolor1="3f3f3f" + + # + + # + + id = 296 + name = "example Op" project="Example" user_agent = "" initMap = "47.976634, 7.825490" bgcolor1 = "009899" - + hgcolor1="c0c0c0" + fgcolor1="3f3f3f" + + # - - id = 296 - name = "example DMS" - project="all" - user_agent = "" - initMap = "47.976634, 7.825490" - bgcolor1 = "009899" - - - + # + id = 294 name = "example Web" project="Example" user_agent = "" initMap = "47.976634, 7.825490" bgcolor1 = "009899" - + hgcolor1="c0c0c0" + fgcolor1="3f3f3f" + + # + + # + + id = 295 + name = "example App" + project="Example" + user_agent = "" + initMap = "47.976634, 7.825490" + bgcolor1 = "009899" + hgcolor1="c0c0c0" + fgcolor1="3f3f3f" + + # + #sharee copri globals @@ -99,11 +169,6 @@ superu_id = "1234567" logdir = "/var/log/copri4" basedir = "/var/www/copri4" - - 300101 = "Lastenrad" - 300102 = "E-Lastenrad" - 300103 = "Stadtrad" - 2 = "public" 3 = "private" @@ -113,22 +178,26 @@ 1 = "available" 2 = "requested" 3 = "occupied" - 4 = "maintanance" + 4 = "maintenance" 5 = "defect" 6 = "canceled" 1 = "available" + 4 = "maintenance" 5 = "defect" 1 = "locked" 2 = "unlocked" 3 = "locking" + 4 = "unlocking" 1 = "locked" 2 = "unlocked" + 3 = "locking" + 4 = "unlocking" 2 = "Ilockit" @@ -143,10 +212,7 @@ 2 = "lesen & schreiben" jsscript = "js/mobile_script.js" - jquery_ui = "js/jquery-ui-1.12.1/jquery-ui.min.js" - style_jquery_ui = "js/jquery-ui-1.12.1/jquery-ui.min.css" - style_bootstrap_icons = "css/bootstrap-icons-1.5.0/bootstrap-icons.css" - jquery_resize = "js/jquery.autosize.js" + style_bootstrap_icons = "css/bootstrap-icons-1.8.1/font/bootstrap-icons.css" #sharee WebApp sepcific para @@ -161,11 +227,10 @@ accounting_2 = "2.0. Zahlungsdaten" accounting_3 = "3. Verleihdaten" - local_style = "css/local_style1344.css" - jquery = "js/jquery-1.9.1.js" - js_bootstrap = "js/bootstrap-3.3.6-dist/js/bootstrap.min.js" - style_bootstrap = "js/bootstrap-3.3.6-dist/css/bootstrap.css" - mod_active = "Fahrradmietsystem|Karte|Anmelden|Kontakt" + local_style = "css/local_style2022-03-20.css" + jquery = "" + js_bootstrap = "js/bootstrap-5.1.3-dist/js/bootstrap.min.js" + style_bootstrap = "js/bootstrap-5.1.3-dist/css/bootstrap.css" #sharee DMS/COPRI specific para @@ -183,10 +248,17 @@ mietjournal = "200012" alarmjournal = "200022" einstellung = "200019" + serviceconfig = "300025" + + payment_state = "SEPA-Lastschrift (payone)|Kreditkarte (payone)|Überweisung|Gutschrift" + order_state = "|angerufen|eMail gesendet|in Arbeit|cronjob fail" term_active_color = "f7ae37" - local_style = "css/local_style_2.css" + local_style = "css/local_style20221106.css" jquery = "js/jquery-3.3.1.min.js" + jquery_ui = "js/jquery-ui-1.12.1/jquery-ui.min.js" + style_jquery_ui = "js/jquery-ui-1.12.1/jquery-ui.min.css" + jquery_resize = "js/jquery.autosize.js" js_bootstrap = "js/bootstrap-5.0.2-dist/js/bootstrap.min.js" style_bootstrap = "js/bootstrap-5.0.2-dist/css/bootstrap.min.css" mod_active = "Waren|Faktur|Karte|Kunden|Mietjournal|Alarmjournal|Einstellung" diff --git a/copri4/shareedms-operator/apache/shareedms-operator.conf b/copri4/shareedms-operator/apache/shareedms-operator.conf index 5c15249..81ad1d7 100644 --- a/copri4/shareedms-operator/apache/shareedms-operator.conf +++ b/copri4/shareedms-operator/apache/shareedms-operator.conf @@ -2,7 +2,7 @@ ServerName shareedms-operator.example.tld ServerAlias shareedms-operator1.example.tld - ServerAdmin info@gnu-systems.de + ServerAdmin admin@example.tld DocumentRoot /var/www/copri4/shareedms-operator ErrorLog /var/log/apache2/shareedms-operator-error.log @@ -18,7 +18,7 @@ ServerName shareedms-operator1.example.tld - ServerAdmin info@gnu-systems.de + ServerAdmin admin@example.tld DocumentRoot /var/www/copri4/shareedms-operator AddHandler cgi-script .cgi .sh .pl @@ -58,7 +58,7 @@ ServerName shareedms-operator.example.tld - ServerAdmin info@gnu-systems.de + ServerAdmin admin@example.tld DocumentRoot /var/www/copri4/shareedms-operator diff --git a/copri4/shareedms-operator/css b/copri4/shareedms-operator/css new file mode 120000 index 0000000..b3ec2f4 --- /dev/null +++ b/copri4/shareedms-operator/css @@ -0,0 +1 @@ +../main/css \ No newline at end of file diff --git a/copri4/shareedms-operator/css/bootstrap-icons-1.5.0 b/copri4/shareedms-operator/css/bootstrap-icons-1.5.0 deleted file mode 120000 index fc8bde9..0000000 --- a/copri4/shareedms-operator/css/bootstrap-icons-1.5.0 +++ /dev/null @@ -1 +0,0 @@ -../../main/css/bootstrap-icons-1.5.0 \ No newline at end of file diff --git a/copri4/shareedms-operator/css/favicon.ico b/copri4/shareedms-operator/css/favicon.ico deleted file mode 120000 index 28b50e2..0000000 --- a/copri4/shareedms-operator/css/favicon.ico +++ /dev/null @@ -1 +0,0 @@ -../../main/css/favicon.ico \ No newline at end of file diff --git a/copri4/shareedms-operator/css/local_style_2.css b/copri4/shareedms-operator/css/local_style_2.css deleted file mode 120000 index bb065e7..0000000 --- a/copri4/shareedms-operator/css/local_style_2.css +++ /dev/null @@ -1 +0,0 @@ -../../main/css/local_style_2.css \ No newline at end of file diff --git a/copri4/shareedms-operator/src/Lib/Mlogic.pm b/copri4/shareedms-operator/src/Lib/Mlogic.pm index 2fea229..bf08142 100755 --- a/copri4/shareedms-operator/src/Lib/Mlogic.pm +++ b/copri4/shareedms-operator/src/Lib/Mlogic.pm @@ -139,7 +139,7 @@ sub tpl(){ if($main_id >= "100000"){ my $mstyle=""; - my $dbh_primary = $dbt->dbconnect_extern("sharee_primary"); + my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1"); #print Dumper($users_dms_primary); @@ -267,7 +267,7 @@ sub tpl(){ ###end bootstrap menue #node_name=DMS - if($varenv->{dbname} eq "sharee_primary" && $main_id == "100002"){ + if($varenv->{dbname} eq $dbt->{primary}->{sharee_primary}->{database}->{dbname} && $main_id == "100002"){ my $big2menu=""; #while (my ($key, $value) = each %{ $dbt->{operator} }) { foreach my $key (sort keys (%{ $dbt->{operator} })) { diff --git a/copri4/shareeweb-project/apache/shareeweb-operator.conf b/copri4/shareeweb-project/apache/shareeweb-operator.conf index 595919d..d66c66d 100644 --- a/copri4/shareeweb-project/apache/shareeweb-operator.conf +++ b/copri4/shareeweb-project/apache/shareeweb-operator.conf @@ -75,12 +75,6 @@ SSLCertificateKeyFile /etc/letsencrypt/live/example.tld-0003/privkey.pem Allow from all - # - # SetHandler perl-script - # PerlInitHandler Apache2::Reload - # PerlResponseHandler Mod::APIvelo - # - SetHandler perl-script PerlInitHandler Apache2::Reload