mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-02-22 11:46:27 +01:00
operator build debug and fix. Faktura warning state
This commit is contained in:
parent
2e2c824dbe
commit
5b32d2b7f5
40 changed files with 254 additions and 1203 deletions
|
@ -1 +0,0 @@
|
||||||
/etc/shareeconf/bootstrap-icons-1.5.0
|
|
|
@ -727,7 +727,6 @@ div#Content4list {
|
||||||
border: 0px solid yellow;
|
border: 0px solid yellow;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 40px 5px 5px 0px;
|
padding: 40px 5px 5px 0px;
|
||||||
min-width: 2000px;
|
|
||||||
}
|
}
|
||||||
div#Content4sublist {
|
div#Content4sublist {
|
||||||
text-align:left;
|
text-align:left;
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
/etc/shareeconf/bootstrap-3.3.6-dist
|
|
1
copri4/main/js/jquery-1.9.1.js
vendored
1
copri4/main/js/jquery-1.9.1.js
vendored
|
@ -1 +0,0 @@
|
||||||
/etc/shareeconf/jquery-1.9.1.js
|
|
|
@ -1420,7 +1420,7 @@ sub booking_update(){
|
||||||
$booking_values->{lock_state} = "$dbt->{copri_conf}->{lock_state}->{$booking->{int20}}";
|
$booking_values->{lock_state} = "$dbt->{copri_conf}->{lock_state}->{$booking->{int20}}";
|
||||||
|
|
||||||
#user_miniquest_count on operator
|
#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 = {
|
my $adref = {
|
||||||
table => "contentadr",
|
table => "contentadr",
|
||||||
fetch => "one",
|
fetch => "one",
|
||||||
|
@ -1660,7 +1660,7 @@ sub user_rentals_history(){
|
||||||
}
|
}
|
||||||
|
|
||||||
my %operator_hash = ();
|
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}){
|
||||||
if($auth->{txt17} =~ /\w\s\w/){
|
if($auth->{txt17} =~ /\w\s\w/){
|
||||||
%operator_hash = map { $_ => "$dbt->{operator}{$_}->{operatorApp}" } split(/\s+/,$auth->{txt17});
|
%operator_hash = map { $_ => "$dbt->{operator}{$_}->{operatorApp}" } split(/\s+/,$auth->{txt17});
|
||||||
|
@ -1707,7 +1707,7 @@ sub rental_to_feedback{
|
||||||
my $show_dialog = {};
|
my $show_dialog = {};
|
||||||
if($dbt->{operator}->{$varenv->{dbname}}->{project} eq "Bayern"){
|
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 = {
|
my $adref = {
|
||||||
table => "contentadr",
|
table => "contentadr",
|
||||||
fetch => "one",
|
fetch => "one",
|
||||||
|
@ -2565,8 +2565,8 @@ sub authout(){
|
||||||
#print Dumper($update);
|
#print Dumper($update);
|
||||||
my $rows = 0;
|
my $rows = 0;
|
||||||
$rows = $dbt->update_record($dbh,$update,$record);
|
$rows = $dbt->update_record($dbh,$update,$record);
|
||||||
if($varenv{dbname} ne "sharee_primary"){
|
if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}){
|
||||||
my $dbh_prim = $dbt->dbconnect_extern("sharee_primary");
|
my $dbh_prim = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname});
|
||||||
$rows = $dbt->update_record($dbh_prim,$update,$record);
|
$rows = $dbt->update_record($dbh_prim,$update,$record);
|
||||||
}
|
}
|
||||||
if($rows == 1){
|
if($rows == 1){
|
||||||
|
@ -2634,9 +2634,9 @@ sub auth_verify(){
|
||||||
#$bw->log("auth_verified on operator $varenv{dbname} anchor 1",$auth_operator->{c_id},"");
|
#$bw->log("auth_verified on operator $varenv{dbname} anchor 1",$auth_operator->{c_id},"");
|
||||||
|
|
||||||
#just part of operator-routing (sharee account management)
|
#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
|
#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);
|
$auth_primary = $dbt->fetch_record($dbh_primary,$authref);
|
||||||
|
|
||||||
if($auth_primary->{c_id} && $auth_primary->{c_id} > 0){
|
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},"");
|
#$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);
|
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);
|
$auth_primary = $dbt->fetch_record($dbh,$authref);
|
||||||
#$bw->log("auth_verified on operator anchor 4 by dbname $varenv{dbname}",$auth_primary->{c_id},"");
|
#$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);
|
print FILE "auth_verified on operator anchor 4 by dbname $varenv{dbname} | pri $auth_primary->{c_id}\n" if($debug);
|
||||||
$record = $auth_primary;
|
$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'));
|
($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
|
#Servicetool only users with users.int09=1
|
||||||
#shareetool
|
#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 };
|
my $users_serviceapp = { u_id => 0 };
|
||||||
$users_serviceapp = $dbt->select_users($dbh,$record->{c_id},"and int09=1");
|
$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}","","");
|
#$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
|
#Servicetool, only users with users.int09=1
|
||||||
#shareetool
|
#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 };
|
my $users_serviceapp = { u_id => 0 };
|
||||||
$users_serviceapp = $dbt->select_users($dbh,$record->{c_id},"and int09=1");
|
$users_serviceapp = $dbt->select_users($dbh,$record->{c_id},"and int09=1");
|
||||||
$record = { c_id => 0 } if(!$users_serviceapp->{u_id});
|
$record = { c_id => 0 } if(!$users_serviceapp->{u_id});
|
||||||
}else{
|
}else{
|
||||||
#2021-10-13 because of keep DMS authcookie
|
#2021-10-13 because of keep DMS authcookie
|
||||||
#2021-12-23 user must always be registered on sharee_primary
|
#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);
|
$record = $dbt->fetch_record($dbh,$authref);
|
||||||
}
|
}
|
||||||
$return = $self->authcookie_manager($dbh,$q,$record,$merchant_id,$hw_id,$aowner);
|
$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);
|
my $rows = $dbt->update_record($dbh,$update,$record);
|
||||||
|
|
||||||
#update also operator cookies
|
#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 $auth_primary = $record;
|
||||||
my %operator_hash = ();
|
my %operator_hash = ();
|
||||||
if($auth_primary->{txt17} =~ /\w\s\w/){
|
if($auth_primary->{txt17} =~ /\w\s\w/){
|
||||||
|
|
|
@ -67,7 +67,7 @@ my $response = {
|
||||||
apiserver => "$apiserver",
|
apiserver => "$apiserver",
|
||||||
response => "$respreq",
|
response => "$respreq",
|
||||||
uri_primary => "$dbt->{primary}->{sharee_primary}->{primaryApp}",
|
uri_primary => "$dbt->{primary}->{sharee_primary}->{primaryApp}",
|
||||||
copri_version => "4.1.22.6",
|
copri_version => "4.1.22.19",
|
||||||
user_id => "",
|
user_id => "",
|
||||||
authcookie => "",
|
authcookie => "",
|
||||||
new_authcoo => "0",
|
new_authcoo => "0",
|
||||||
|
|
|
@ -419,8 +419,8 @@ sub sig_booking {
|
||||||
|
|
||||||
my $endpoint = "$dbt->{operator}->{$varenv->{dbname}}->{endpoint}/";
|
my $endpoint = "$dbt->{operator}->{$varenv->{dbname}}->{endpoint}/";
|
||||||
my %json = ();
|
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
|
#reservation start
|
||||||
if($todo eq "reserve"){
|
if($todo eq "reserve"){
|
||||||
$endpoint .= "bikes/reserve";
|
$endpoint .= "bikes/reserve";
|
||||||
|
|
|
@ -56,7 +56,7 @@ sub dbconnect_extern {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $dbname = shift;
|
my $dbname = shift;
|
||||||
my $instance_type = "operator";
|
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 $globalconf_file = "/var/www/copri4/shareeconf/global.cfg";
|
||||||
my $conf = Config::General->new($globalconf_file);
|
my $conf = Config::General->new($globalconf_file);
|
||||||
|
@ -122,7 +122,7 @@ sub update_operatorsloop {
|
||||||
template_id => "202",
|
template_id => "202",
|
||||||
c_id => "$adrc_id",
|
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 $source_primary = $dbh_primary->get_info( $GetInfoType{SQL_DATABASE_NAME} );
|
||||||
my $record_primary = { c_id => 0 };
|
my $record_primary = { c_id => 0 };
|
||||||
$record_primary = $self->fetch_record($dbh_primary,$authref) if($adrc_id && $adrc_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}){
|
if($record_primary->{c_id}){
|
||||||
|
|
||||||
my %operator_hash = ();
|
my %operator_hash = ();
|
||||||
#keep in mind, shareedms-operators updates sharee_primary, that's because we have to also loop
|
#keep in mind, shareedms-operators updates primary, that's because we have to also loop
|
||||||
#if($dbname eq "sharee_primary"){
|
|
||||||
if($record_primary->{txt17}){
|
if($record_primary->{txt17}){
|
||||||
if($record_primary->{txt17} =~ /\w\s\w/){
|
if($record_primary->{txt17} =~ /\w\s\w/){
|
||||||
%operator_hash = map { $_ => "$self->{operator}{$_}->{operatorApp}" } split(/\s+/,$record_primary->{txt17});
|
%operator_hash = map { $_ => "$self->{operator}{$_}->{operatorApp}" } split(/\s+/,$record_primary->{txt17});
|
||||||
|
@ -148,8 +147,7 @@ sub update_operatorsloop {
|
||||||
if($todo eq "update"){
|
if($todo eq "update"){
|
||||||
|
|
||||||
#this will be saved by operator DMS and have to keep intividual
|
#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\"","","");
|
$bw->log("disabled condition: if($sharee_operator ne $dbname || $record_primary->{owner} == 197 || $dbname","","");
|
||||||
#if($sharee_operator ne "$dbname" || $record_primary->{owner} == 197 || $dbname eq "sharee_primary"){
|
|
||||||
delete $record_primary->{txt17};#operators
|
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->{txt30} if($dbname ne "sharee_lv" && $record_primary->{txt30} ne "5511");#Tarif, exception sharee_lv;#Tarif
|
||||||
delete $record_primary->{txt15};#Bonusnr
|
delete $record_primary->{txt15};#Bonusnr
|
||||||
|
@ -276,12 +274,11 @@ sub users_map(){
|
||||||
sub channel_map(){
|
sub channel_map(){
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $channel = {
|
my $channel = {
|
||||||
167 => "sig cmd",
|
#167 => "sig cmd",
|
||||||
168 => "shareeio",
|
168 => "shareeio",
|
||||||
169 => "sigo connector",
|
169 => "sigo connector",
|
||||||
172 => "reserve timeout",
|
172 => "reserve timeout",
|
||||||
#173 => "merchant fallback",#mig
|
#173 => "merchant fallback",#mig
|
||||||
#175 => "example App",#mig
|
|
||||||
176 => "Mein konrad App",#mig
|
176 => "Mein konrad App",#mig
|
||||||
177 => "LastenradBay App",#mig
|
177 => "LastenradBay App",#mig
|
||||||
179 => "cronjob",
|
179 => "cronjob",
|
||||||
|
@ -296,13 +293,16 @@ sub channel_map(){
|
||||||
188 => "sys API",
|
188 => "sys API",
|
||||||
192 => "web Bayern",
|
192 => "web Bayern",
|
||||||
#193 => "web demo",#mig
|
#193 => "web demo",#mig
|
||||||
#194 => "web example",#mig
|
|
||||||
195 => "web konrad",#mig and import
|
195 => "web konrad",#mig and import
|
||||||
196 => "copri",#mig
|
196 => "copri",#mig
|
||||||
197 => "web sharee.bike",#mig
|
197 => "web sharee.bike",#mig
|
||||||
198 => "primary",#mig
|
198 => "primary",#mig
|
||||||
199 => "LV API",#mig
|
199 => "LV API",#mig
|
||||||
201 => "web Renta",#mig
|
201 => "web Renta",#mig
|
||||||
|
294 => "example Web",#mig
|
||||||
|
295 => "example App",#mig
|
||||||
|
296 => "example Op",#mig
|
||||||
|
298 => "example Pr",#mig
|
||||||
};
|
};
|
||||||
return $channel;
|
return $channel;
|
||||||
}
|
}
|
||||||
|
@ -385,6 +385,17 @@ sub collect_node {
|
||||||
return ($nodes,$rows);
|
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
|
# Nodes einer Ebene mit relation
|
||||||
sub collect_noderel {
|
sub collect_noderel {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
@ -1234,6 +1245,15 @@ sub delete_noderel(){
|
||||||
return $rc;
|
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(){
|
sub delete_template(){
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $dbh = shift || $dbh_intern;
|
my $dbh = shift || $dbh_intern;
|
||||||
|
@ -1448,7 +1468,7 @@ sub insert_contenttrans(){
|
||||||
my $owner = shift || 0;
|
my $owner = shift || 0;
|
||||||
|
|
||||||
$owner="199" if(!$owner);
|
$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 $rows = $sth->execute();
|
||||||
my $last_id;
|
my $last_id;
|
||||||
|
|
|
@ -64,7 +64,7 @@ sub handler {
|
||||||
#request primary will jsonclient loop_sharees
|
#request primary will jsonclient loop_sharees
|
||||||
my $uri_request = $dbt->{primary}->{sharee_primary}->{primaryApp};
|
my $uri_request = $dbt->{primary}->{sharee_primary}->{primaryApp};
|
||||||
#detect DMS, because this will do it directly without loop_sharees
|
#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"){
|
if($R::request eq "stations_available"){
|
||||||
station_information($api_return,\%varenv,$users_sharee,$uri_request,$project);
|
station_information($api_return,\%varenv,$users_sharee,$uri_request,$project);
|
||||||
|
|
|
@ -309,7 +309,7 @@ sub handler {
|
||||||
#DMS Kunden rw
|
#DMS Kunden rw
|
||||||
if($R::base_edit && $node_meta->{ct_table} eq "contentadr"){
|
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","","");
|
$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 };
|
my $users_dms_primary = { u_id => 0 };
|
||||||
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1");
|
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1");
|
||||||
|
|
||||||
|
@ -365,7 +365,7 @@ sub handler {
|
||||||
#DMS Faktura
|
#DMS Faktura
|
||||||
if($node_meta->{ct_table} eq "contenttrans"){
|
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","","");
|
$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 };
|
my $users_dms_primary = { u_id => 0 };
|
||||||
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1");
|
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1");
|
||||||
|
|
||||||
|
|
|
@ -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 "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
|
|
||||||
print XML "<kml xmlns=\"http://www.opengis.net/kml/2.2\">\n";
|
|
||||||
print XML "<Document>\n";
|
|
||||||
print XML "<name>sharee.bike</name>\n";
|
|
||||||
print XML "<description>bike stations for $users_sharee->{c_id}</description>\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} .= "<p align='left'>• Verfügbar: $response_bikes->{shareejson}->{bikes}->{$bike}->{description} $bike</p>";
|
|
||||||
#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} .= "<p align='left'>• Verfügbar: $response_bikes->{shareejson}->{bikes}->{$bike}->{description} $bike</p>";
|
|
||||||
#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} .= "<p align='left'>• Verfügbar: $response_bikes->{shareejson}->{bikes}->{$bike}->{description} $bike</p>";
|
|
||||||
#print "($station) Stadtrad $bike\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
print XML " <Style id=\"$place_pin{$station}\">\n";
|
|
||||||
print XML " <IconStyle>\n";
|
|
||||||
print XML " <Icon>\n";
|
|
||||||
print XML " <href>$varenv->{metahost}/img/$place_pin{$station}</href>\n";
|
|
||||||
print XML " </Icon>\n";
|
|
||||||
print XML " </IconStyle>\n";
|
|
||||||
print XML " </Style>\n";
|
|
||||||
print XML " <Placemark>\n";
|
|
||||||
print XML " <name>$place_name{$station}</name>\n";
|
|
||||||
print XML " <description><![CDATA[ $place_desc{$station} ]]></description>\n";
|
|
||||||
print XML " <styleUrl>#$place_pin{$station}</styleUrl>\n";
|
|
||||||
print XML " <Point>\n";
|
|
||||||
print XML " <coordinates>$place_longitude{$station}, $place_latitude{$station}</coordinates>\n";
|
|
||||||
print XML " </Point>\n";
|
|
||||||
print XML " </Placemark>\n";
|
|
||||||
|
|
||||||
}
|
|
||||||
}#end BIG LOOP
|
|
||||||
}#end if json
|
|
||||||
|
|
||||||
print XML "</Document>\n";
|
|
||||||
print XML "</kml>\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;
|
|
|
@ -541,12 +541,11 @@ sub insert_relation(){
|
||||||
# insert relationlist for multi relation in listing mode
|
# insert relationlist for multi relation in listing mode
|
||||||
sub insert_relationlist(){
|
sub insert_relationlist(){
|
||||||
my $self = shift;
|
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
|
$dbh = $dbt->dbconnect() if($dbinit);#because of ajax
|
||||||
$c_id = 0 if(!$c_id);
|
$c_id = 0 if(!$c_id);
|
||||||
$tpl_id = 0 if(!$tpl_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) VALUES('$main_id','$c_id','$c_id','$tpl_id','$lang','now()') RETURNING rel_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 $rows = $sth->execute();
|
my $rows = $sth->execute();
|
||||||
|
|
||||||
my $last_id;
|
my $last_id;
|
||||||
|
|
|
@ -530,6 +530,10 @@ sub preinit(){
|
||||||
my $table = "contenttrans";
|
my $table = "contenttrans";
|
||||||
$u_rows += $db->updater($table,"c_id",$R::c_id4trans,"txt22","$R::txt22",$users_dms->{u_id});
|
$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)
|
###SET Relation (like move doc-type)
|
||||||
#executed by Terminal submit-buttons
|
#executed by Terminal submit-buttons
|
||||||
|
|
|
@ -762,15 +762,13 @@ sub maininit(){
|
||||||
}
|
}
|
||||||
#2.2. insert relation for linking
|
#2.2. insert relation for linking
|
||||||
if($R::rel_edit =~ /relate_/){
|
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) 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,$mastermain_id) if($R::rel_edit =~ /relate_/);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}elsif($ctrel_ck->{rel_id} > 1){
|
}elsif($ctrel_ck->{rel_id} > 1){
|
||||||
return "failure::Abbruch, die Content-Node Relation existiert bereits";
|
return "failure::Abbruch, die Content-Node Relation existiert bereits";
|
||||||
}else{
|
}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);
|
||||||
$return_rel_id = $db->insert_relationlist($table,$R::set_main_id,$lang,$R::set_content_id,$R::template_id,$foreign_key,$mastermain_id);
|
|
||||||
}
|
}
|
||||||
$i_rows += 1 if($return_rel_id > 0);
|
$i_rows += 1 if($return_rel_id > 0);
|
||||||
|
|
||||||
|
|
|
@ -506,7 +506,7 @@ sub operator_accounting2calc {
|
||||||
$oac->{int01} = $ctpos->{int01} / 119 * 100 if($key eq "int01" && $ctpos->{int01});#invoice capture netto
|
$oac->{int01} = $ctpos->{int01} / 119 * 100 if($key eq "int01" && $ctpos->{int01});#invoice capture netto
|
||||||
|
|
||||||
if($ctpos->{state} =~ /Lastschrift/){
|
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->{int93} = sprintf('%.3f', $oac->{int93});
|
||||||
$oac->{int98} = $oac->{int93} * 0.19 if($oac->{int93});#UmSt auf 7,5%
|
$oac->{int98} = $oac->{int93} * 0.19 if($oac->{int93});#UmSt auf 7,5%
|
||||||
$oac->{int98} = sprintf('%.3f', $oac->{int98});
|
$oac->{int98} = sprintf('%.3f', $oac->{int98});
|
||||||
|
@ -519,7 +519,7 @@ sub operator_accounting2calc {
|
||||||
$oac->{int97} = 0;
|
$oac->{int97} = 0;
|
||||||
}
|
}
|
||||||
if($ctpos->{state} =~ /Kreditkarte/){
|
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->{int93} = sprintf('%.3f', $oac->{int93});
|
||||||
$oac->{int98} = $oac->{int93} * 0.19 if($oac->{int93});#UmSt auf 7,5%
|
$oac->{int98} = $oac->{int93} * 0.19 if($oac->{int93});#UmSt auf 7,5%
|
||||||
$oac->{int98} = sprintf('%.3f', $oac->{int98});
|
$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} = $oac->{int01} + $oac->{int94} + $oac->{int95} + $oac->{int96} + $oac->{int97};
|
||||||
$oac->{int02} = sprintf('%.3f', $oac->{int02});
|
$oac->{int02} = sprintf('%.3f', $oac->{int02});
|
||||||
#operator invoice
|
#operator invoice
|
||||||
$oac->{int100} = ($oac->{int93} + $oac->{int98}) * -1;
|
$oac->{int100} = $oac->{int93} + $oac->{int98};
|
||||||
$oac->{int100} = sprintf('%.3f', $oac->{int100});
|
$oac->{int100} = sprintf('%.3f', $oac->{int100});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -320,7 +320,10 @@ td {
|
||||||
$height = "200px;";
|
$height = "200px;";
|
||||||
$margin = "0;";
|
$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
|
}#end header_small
|
||||||
|
|
||||||
#header_big
|
#header_big
|
||||||
|
@ -341,7 +344,9 @@ td {
|
||||||
$margin = "0;";
|
$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 $q->start_table({-width=>'100%',-border=>'0',-align=>'center', -cellpadding=>'3', -cellspacing=>'0'}),"\n";
|
||||||
print "<tr>\n";
|
print "<tr>\n";
|
||||||
|
@ -437,7 +442,7 @@ td {
|
||||||
#int9x are not in db
|
#int9x are not in db
|
||||||
#operator invoice
|
#operator invoice
|
||||||
if($ctt->{txt00} eq "Rechnung"){
|
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
|
#operator accounting
|
||||||
else{
|
else{
|
||||||
|
@ -517,7 +522,7 @@ td {
|
||||||
}
|
}
|
||||||
elsif($key =~ /int/){
|
elsif($key =~ /int/){
|
||||||
$oac->{$key} =~ s/\./,/;
|
$oac->{$key} =~ s/\./,/;
|
||||||
if($key eq "int02"){
|
if($key =~ /int02|int93/){
|
||||||
print CSV "$oac->{$key}\n";
|
print CSV "$oac->{$key}\n";
|
||||||
}else{
|
}else{
|
||||||
print CSV "$oac->{$key};";
|
print CSV "$oac->{$key};";
|
||||||
|
@ -606,7 +611,7 @@ td {
|
||||||
}
|
}
|
||||||
|
|
||||||
print $q->Tr("\n");
|
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 €");
|
print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_paid €");
|
||||||
}
|
}
|
||||||
#Summe Betreiber Abrechnung (Gutschrift)
|
#Summe Betreiber Abrechnung (Gutschrift)
|
||||||
|
|
|
@ -68,7 +68,7 @@ sub delete_account {
|
||||||
$bw->log("delete_account",$c_id,"");
|
$bw->log("delete_account",$c_id,"");
|
||||||
open(FILE,">>$varenv{logdir}/delete_account.log") if($debug);
|
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 = {
|
my $authref = {
|
||||||
table => "contentadr",
|
table => "contentadr",
|
||||||
fetch => "one",
|
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);
|
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
|
#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);
|
$d_rows += $dbt->delete_content($dbh,"contentadr",$c_id);
|
||||||
|
|
||||||
my $update_primary = {
|
my $update_primary = {
|
||||||
|
@ -159,9 +159,9 @@ sub save_account(){
|
||||||
open(FILE,">>$varenv{logdir}/save_account.log") if($debug);
|
open(FILE,">>$varenv{logdir}/save_account.log") if($debug);
|
||||||
|
|
||||||
#Always on sharee_primary
|
#Always on sharee_primary
|
||||||
if($varenv{dbname} ne "sharee_primary"){
|
if($varenv{dbname} ne $dbt->{primary}->{sharee_primary}->{database}->{dbname}){
|
||||||
$dbh = $dbt->dbconnect_extern("sharee_primary");
|
$dbh = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname});
|
||||||
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);
|
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{
|
}else{
|
||||||
#keep in mind, should be only done by web-app user Formular (primary)
|
#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);
|
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
|
#only done by App web iframe Anmelde-Registration formular
|
||||||
print FILE "Bonusnr request $_: $valxx\n" if($debug);
|
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 = ();
|
my %txt17 = ();
|
||||||
if($ctadr->{txt17} =~ /\w\s\w/){
|
if($ctadr->{txt17} =~ /\w\s\w/){
|
||||||
%txt17 = map { $_ => 1 } split(/\s+/,$ctadr->{txt17});
|
%txt17 = map { $_ => 1 } split(/\s+/,$ctadr->{txt17});
|
||||||
|
@ -387,7 +387,7 @@ sub save_account(){
|
||||||
#sharee txt30=Tarif (multible) and Bonusnummer txt15 automatic
|
#sharee txt30=Tarif (multible) and Bonusnummer txt15 automatic
|
||||||
elsif($_ eq "txt30"){
|
elsif($_ eq "txt30"){
|
||||||
#only done by Operator DMS
|
#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
|
my @txt30 = $q->param('txt30');#multiple select sharee Tarif
|
||||||
@txt30 = grep {!/null/} @txt30;
|
@txt30 = grep {!/null/} @txt30;
|
||||||
my $bonusnr = $q->escapeHTML("$R::txt15");#on Operator DMS without oprefix-
|
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'");
|
$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;
|
my $vde_on_fail = 0;
|
||||||
$vde_on_fail = 2 if($valxx && $valxx == 1);
|
$vde_on_fail = 2 if($valxx && $valxx == 1);
|
||||||
$u_rows = $dbt->update_one($dbh,$update_primary,"$_=$vde_on_fail");
|
$u_rows = $dbt->update_one($dbh,$update_primary,"$_=$vde_on_fail");
|
||||||
|
|
|
@ -364,19 +364,23 @@ EOF
|
||||||
|
|
||||||
|
|
||||||
print $q->Tr(),"\n";
|
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=>"1"},$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=>''},"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}){
|
if($dbt->{shareedms_conf}->{order_state}){
|
||||||
print $q->Tr(),"\n";
|
print $q->Tr(),"\n";
|
||||||
my @_orderstate = split(/\|/,$dbt->{shareedms_conf}->{order_state});
|
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});
|
$ctt->{txt23} = $q->unescapeHTML("$ctt->{txt23}") if($ctt->{txt23});
|
||||||
print $q->Tr(),"\n";
|
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}) || "";
|
$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++;
|
print $q->Tr(),"\n"; $line_count1++;
|
||||||
my @line_txt12 = split(/\n/,$ctt->{txt12});
|
my @line_txt12 = split(/\n/,$ctt->{txt12});
|
||||||
|
|
|
@ -103,7 +103,7 @@ sub tpl(){
|
||||||
$edit_template = "$ctrel->{template_id}" . "000";
|
$edit_template = "$ctrel->{template_id}" . "000";
|
||||||
$tpl = $dbt->get_tpl($dbh,$edit_template);
|
$tpl = $dbt->get_tpl($dbh,$edit_template);
|
||||||
}elsif($node_meta->{ct_table} eq "users" && $node_meta->{tpl_id} == 198 && $u_id){
|
}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 };
|
my $users_dms_primary = { u_id => 0 };
|
||||||
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2");
|
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2");
|
||||||
$tpl = $dbt->get_tpl($dbh,$node_meta->{tpl_id});
|
$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));
|
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)
|
#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 = ("");
|
my @_valxx = ("");
|
||||||
foreach my $rid (sort { $tariff_all->{$a}->{barcode} <=> $tariff_all->{$b}->{barcode} } keys (%$tariff_all)){
|
foreach my $rid (sort { $tariff_all->{$a}->{barcode} <=> $tariff_all->{$b}->{barcode} } keys (%$tariff_all)){
|
||||||
if($tariff_all->{$rid}->{ct_name}){
|
if($tariff_all->{$rid}->{ct_name}){
|
||||||
|
@ -817,7 +817,7 @@ EOF
|
||||||
}
|
}
|
||||||
#Operators or Operators Antrag
|
#Operators or Operators Antrag
|
||||||
elsif($key =~ /txt17|txt19/){
|
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->Tr();
|
||||||
print $q->td({-class=>'left_italic_cms'},"$des"),"\n";
|
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";
|
print $q->td({-class=>'content1_cms',-colspan=>'2'},$q->textfield(-class=>'etxt', -style=>"width:$w;",-name=>"$key", -override=>'1', -default=>"$ctrel->{$key}"), $postdes),"\n";
|
||||||
|
|
|
@ -58,7 +58,7 @@ sub tpl(){
|
||||||
$path =~ s/\/user|\/manager|\/admin//;
|
$path =~ s/\/user|\/manager|\/admin//;
|
||||||
my $now_time = strftime "%Y-%m-%d %H:%M", localtime;
|
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 };
|
my $users_dms_primary = { u_id => 0 };
|
||||||
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2");
|
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2");
|
||||||
|
|
||||||
|
|
|
@ -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 "<div style='background-color:#cccccc;width:100%;margin-top:1em;'>\n";
|
|
||||||
|
|
||||||
print "<div id='map' style='height:$mapheight'></div>\n";
|
|
||||||
|
|
||||||
print<<EOF
|
|
||||||
<script>
|
|
||||||
|
|
||||||
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);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<script async defer
|
|
||||||
src="https://maps.googleapis.com/maps/api/js?key=$apikeyconf{googlemap}->{google_key}&callback=initMap">
|
|
||||||
</script>
|
|
||||||
EOF
|
|
||||||
;
|
|
||||||
|
|
||||||
print "</div>\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;
|
|
||||||
|
|
|
@ -147,7 +147,7 @@ sub tpl(){
|
||||||
$node_meta->{tpl_order} =~ s/txt17=[\w\s=]+,//;
|
$node_meta->{tpl_order} =~ s/txt17=[\w\s=]+,//;
|
||||||
$node_meta->{tpl_order} =~ s/byte01=[\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/txt17=[\w\s=]+,//;
|
||||||
$node_meta->{tpl_order} =~ s/txt19=[\w\s=]+,//;
|
$node_meta->{tpl_order} =~ s/txt19=[\w\s=]+,//;
|
||||||
}
|
}
|
||||||
|
@ -191,8 +191,10 @@ sub tpl(){
|
||||||
my $k=0;
|
my $k=0;
|
||||||
my $message = "";
|
my $message = "";
|
||||||
|
|
||||||
#print $q->end_form,"\n";
|
my $framewidth = "min-width: 1200px;";
|
||||||
print "<div id='Content4list'>\n";
|
#to keep calendar line
|
||||||
|
$framewidth = "min-width: 2000px;" if($node_meta->{ct_table} eq "content");
|
||||||
|
print "<div id='Content4list' style='$framewidth'>\n";
|
||||||
|
|
||||||
my $v_journal = $R::v_journal || "";
|
my $v_journal = $R::v_journal || "";
|
||||||
if($node_meta->{main_id} == $dbt->{shareedms_conf}->{invoicejournal}){
|
if($node_meta->{main_id} == $dbt->{shareedms_conf}->{invoicejournal}){
|
||||||
|
@ -379,7 +381,7 @@ sub tpl(){
|
||||||
my $bike_nodes = $dbt->fetch_rel4tpl4nd($dbh,$node);
|
my $bike_nodes = $dbt->fetch_rel4tpl4nd($dbh,$node);
|
||||||
my $tariff_all = $db->collect_ct4rel("content","300026",$lang,"","","","","210");
|
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 };
|
my $users_dms_primary = { u_id => 0 };
|
||||||
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1");
|
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1");
|
||||||
|
|
||||||
|
@ -543,6 +545,7 @@ sub tpl(){
|
||||||
foreach(@tpl_order){
|
foreach(@tpl_order){
|
||||||
$h++;
|
$h++;
|
||||||
my ($key,$val,$size) = split /=/,$_;
|
my ($key,$val,$size) = split /=/,$_;
|
||||||
|
if($size ne "select"){
|
||||||
if($size =~ /area/){
|
if($size =~ /area/){
|
||||||
$size = "5em";
|
$size = "5em";
|
||||||
}elsif($key =~ /int0|c_id|ct_name/){
|
}elsif($key =~ /int0|c_id|ct_name/){
|
||||||
|
@ -550,7 +553,7 @@ sub tpl(){
|
||||||
}else{
|
}else{
|
||||||
$size = "2em";
|
$size = "2em";
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$s_val = $searchref->{$key};
|
$s_val = $searchref->{$key};
|
||||||
#print "$key=$searchref->{$key}|";
|
#print "$key=$searchref->{$key}|";
|
||||||
if($key =~ /byte|node|txt|int|time\d+|ct_name|c_id|barcode|sort|public/){
|
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}");
|
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";
|
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
|
}elsif($size =~ /select/ && $key !~ /txt23|txt24/){#txt23=color-code or txt24=Flotten ID select
|
||||||
my @s_valxx = ("");
|
my @s_valxx = ("");
|
||||||
my $s_hash = {};
|
my $s_hash = {};
|
||||||
|
@ -892,7 +900,7 @@ sub tpl(){
|
||||||
$set_style4nr="background-color:#e3dbc9;" if(($key eq "barcode") || ($key eq "int04"));
|
$set_style4nr="background-color:#e3dbc9;" if(($key eq "barcode") || ($key eq "int04"));
|
||||||
$ct4rel->{$id}->{$key} =~ s/\./,/ if($key =~ /int/);
|
$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_hash = $ct4rel->{$id};
|
||||||
my $pos_details = "";
|
my $pos_details = "";
|
||||||
|
@ -901,13 +909,15 @@ sub tpl(){
|
||||||
if($pos_hash->{$did}){
|
if($pos_hash->{$did}){
|
||||||
$teaser = substr($pos_hash->{$did},0,30);
|
$teaser = substr($pos_hash->{$did},0,30);
|
||||||
}
|
}
|
||||||
$pos_details .= $did . " = " . $teaser . "</br>";
|
$pos_details .= $did . " = " . $teaser . "</br>" if($pos_hash->{$did});
|
||||||
}
|
}
|
||||||
|
my $pos_id = "$ct4rel->{$id}->{c_id}";
|
||||||
my $pos_id = $q->div({-class=>"popup",-onclick=>"toggle_box('$id')"},"$ct4rel->{$id}->{c_id}", $q->span({-class=>"popuptext",-id=>"$id"},"$pos_details"));
|
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";
|
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/){
|
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}"));
|
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/){
|
}elsif($table =~ /content$|contentadr|contentnel/){
|
||||||
|
@ -1097,14 +1107,13 @@ sub tpl(){
|
||||||
|
|
||||||
|
|
||||||
if(($nr > 0) && ($v_journal || $R::v_abschluss) && !$R::rel_id){
|
if(($nr > 0) && ($v_journal || $R::v_abschluss) && !$R::rel_id){
|
||||||
$k="9" if(!$k);
|
$k="13";# if(!$k);
|
||||||
my $m = $k;
|
my $m = $k;
|
||||||
$close_time = $R::s_mtime if($R::s_mtime);
|
$close_time = $R::s_mtime if($R::s_mtime);
|
||||||
print $q->Tr();
|
print $q->Tr();
|
||||||
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
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=>'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=>"4",-style=>'background-color:silver;'},"");
|
||||||
print $q->td({-class=>'tdsum',-colspan=>"1",-style=>'background-color:silver;'},"");
|
|
||||||
|
|
||||||
|
|
||||||
if(1==1){
|
if(1==1){
|
||||||
|
@ -1115,6 +1124,7 @@ sub tpl(){
|
||||||
print $q->td({-class=>'tdint',-colspan=>"$m"},"Saldo Summe");
|
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"},"");
|
||||||
print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_saldo €");
|
print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_saldo €");
|
||||||
|
print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"2"},"");
|
||||||
}
|
}
|
||||||
if($sum_opos != 0){
|
if($sum_opos != 0){
|
||||||
$sum_opos *= -1;
|
$sum_opos *= -1;
|
||||||
|
@ -1124,7 +1134,7 @@ sub tpl(){
|
||||||
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
||||||
print $q->td({-class=>'tdint',-colspan=>"$m"},"OPOS Summe");
|
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"},"$sum_opos €");
|
||||||
print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"");
|
print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},"");
|
||||||
}
|
}
|
||||||
if($sum_ueb != 0){
|
if($sum_ueb != 0){
|
||||||
$sum_ueb = sprintf('%.2f',$sum_ueb);
|
$sum_ueb = sprintf('%.2f',$sum_ueb);
|
||||||
|
@ -1133,7 +1143,7 @@ sub tpl(){
|
||||||
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
||||||
print $q->td({-class=>'tdint',-colspan=>"$m"},"Überweisung Summe");
|
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"},"$sum_ueb €");
|
||||||
print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"");
|
print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},"");
|
||||||
}
|
}
|
||||||
if($sum_SEPApayone != 0){
|
if($sum_SEPApayone != 0){
|
||||||
$sum_SEPApayone = sprintf('%.2f',$sum_SEPApayone);
|
$sum_SEPApayone = sprintf('%.2f',$sum_SEPApayone);
|
||||||
|
@ -1142,7 +1152,7 @@ sub tpl(){
|
||||||
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
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=>"$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"},"$sum_SEPApayone €");
|
||||||
print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"");
|
print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},"");
|
||||||
}
|
}
|
||||||
if($sum_CCpayone != 0){
|
if($sum_CCpayone != 0){
|
||||||
$sum_CCpayone = sprintf('%.2f',$sum_CCpayone);
|
$sum_CCpayone = sprintf('%.2f',$sum_CCpayone);
|
||||||
|
@ -1151,7 +1161,7 @@ sub tpl(){
|
||||||
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
||||||
print $q->td({-class=>'tdint',-colspan=>"$m"},"Kreditkarte (payone) Summe");
|
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"},"$sum_CCpayone €");
|
||||||
print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"");
|
print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},"");
|
||||||
}
|
}
|
||||||
if($sum_ausfall != 0){
|
if($sum_ausfall != 0){
|
||||||
$sum_ausfall *= -1;
|
$sum_ausfall *= -1;
|
||||||
|
@ -1161,7 +1171,7 @@ sub tpl(){
|
||||||
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
||||||
print $q->td({-class=>'tdint',-colspan=>"$m"},"Zahlungsausfall Summe");
|
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"},"$sum_ausfall €");
|
||||||
print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"");
|
print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},"");
|
||||||
}
|
}
|
||||||
if($sum_success != 0){
|
if($sum_success != 0){
|
||||||
$sum_success = sprintf('%.2f',$sum_success);
|
$sum_success = sprintf('%.2f',$sum_success);
|
||||||
|
@ -1169,7 +1179,7 @@ sub tpl(){
|
||||||
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
print $q->td({-style=>"background-color:silver;"},""),"\n";
|
||||||
print $q->td({-class=>'tdsum',-colspan=>"$m"},"Erfolgreiche Zahlungen");
|
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"},"$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}){
|
if($users_dms->{u_id}){
|
||||||
|
|
|
@ -48,7 +48,7 @@ sub tpl(){
|
||||||
$path =~ s/\/user|\/manager|\/admin//;
|
$path =~ s/\/user|\/manager|\/admin//;
|
||||||
my $lang = "de";
|
my $lang = "de";
|
||||||
my $dbh = "";
|
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 };
|
my $users_dms_primary = { u_id => 0 };
|
||||||
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1");
|
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1");
|
||||||
|
|
||||||
|
|
|
@ -138,7 +138,7 @@ sub tpl(){
|
||||||
$tpl_ids = $node_meta->{tpl_id};
|
$tpl_ids = $node_meta->{tpl_id};
|
||||||
}
|
}
|
||||||
elsif($node_meta->{tpl_id} == 198){
|
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 };
|
my $users_dms_primary = { u_id => 0 };
|
||||||
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2");
|
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2");
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@ sub tpl(){
|
||||||
my $ctt_accounting = $dbt->fetch_record($dbh,$pref);
|
my $ctt_accounting = $dbt->fetch_record($dbh,$pref);
|
||||||
($cttpos,$rows) = $dbt->collect_contenttrans($dbh,$ctt_accounting->{content_id});
|
($cttpos,$rows) = $dbt->collect_contenttrans($dbh,$ctt_accounting->{content_id});
|
||||||
#int9x are not in db
|
#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
|
#operator accounting
|
||||||
else{
|
else{
|
||||||
|
@ -258,7 +258,7 @@ sub tpl(){
|
||||||
|
|
||||||
print $q->Tr("\n");$line_count2++;
|
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=>'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 €");
|
print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_paid €");
|
||||||
}
|
}
|
||||||
#Summe Betreiber Abrechnung (Gutschrift)
|
#Summe Betreiber Abrechnung (Gutschrift)
|
||||||
|
@ -290,7 +290,7 @@ sub tpl(){
|
||||||
if($users_dms->{int03} == 2){
|
if($users_dms->{int03} == 2){
|
||||||
#only if user is also a primary DMS user with invoice rw
|
#only if user is also a primary DMS user with invoice rw
|
||||||
print $q->hidden(-name=>'printer_id', -value=>"PDF", -override=>'1');
|
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 };
|
my $users_dms_primary = { u_id => 0 };
|
||||||
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2");
|
$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 = "";
|
my $kind_of_payment = "";
|
||||||
if($ctt->{template_id} != 208){#not equal Abrechnung
|
if($ctt->{template_id} != 208){#not equal Abrechnung
|
||||||
print $q->hidden(-name=>'sum_paid', -override=>'1',-value=>"$sum_paid");
|
print $q->hidden(-name=>'sum_paid', -override=>'1',-value=>"$sum_paid");
|
||||||
push @_paymentstate, "Disagio";
|
push @_paymentstate, "Entgeld TeilRad GmbH";
|
||||||
if($ctt->{state} && $ctt->{int01}){
|
if($ctt->{state} && $ctt->{int01}){
|
||||||
$kind_of_payment = "$ctt->{state}";
|
$kind_of_payment = "$ctt->{state}";
|
||||||
$ctt->{int01} =~ s/\./,/;
|
$ctt->{int01} =~ s/\./,/;
|
||||||
|
|
|
@ -524,7 +524,7 @@ EOF
|
||||||
if($users_dms->{int03} == 2){
|
if($users_dms->{int03} == 2){
|
||||||
#only if user is also a primary DMS user with invoice rw
|
#only if user is also a primary DMS user with invoice rw
|
||||||
print $q->hidden(-name=>'printer_id', -value=>"PDF", -override=>'1');
|
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 };
|
my $users_dms_primary = { u_id => 0 };
|
||||||
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2");
|
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2");
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
ServerName shareeapp-operator.example.tld
|
ServerName shareeapp-operator.example.tld
|
||||||
ServerAlias shareeapp-operator1.example.tld
|
ServerAlias shareeapp-operator1.example.tld
|
||||||
|
|
||||||
ServerAdmin info@gnu-systems.de
|
ServerAdmin admin@example.tld
|
||||||
DocumentRoot /var/www/copri4/shareeapp-operator
|
DocumentRoot /var/www/copri4/shareeapp-operator
|
||||||
|
|
||||||
ErrorLog /var/log/apache2/shareeapp-operator-error.log
|
ErrorLog /var/log/apache2/shareeapp-operator-error.log
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
<IfModule mod_ssl.c>
|
<IfModule mod_ssl.c>
|
||||||
<VirtualHost *:443>
|
<VirtualHost *:443>
|
||||||
ServerName shareeapp-operator1.example.tld
|
ServerName shareeapp-operator1.example.tld
|
||||||
ServerAdmin info@gnu-systems.de
|
ServerAdmin admin@example.tld
|
||||||
DocumentRoot /var/www/copri4/shareeapp-operator
|
DocumentRoot /var/www/copri4/shareeapp-operator
|
||||||
AddHandler cgi-script .cgi .sh .pl
|
AddHandler cgi-script .cgi .sh .pl
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ SSLCertificateKeyFile /etc/letsencrypt/live/example.tld-0003/privkey.pem
|
||||||
|
|
||||||
<VirtualHost *:443>
|
<VirtualHost *:443>
|
||||||
ServerName shareeapp-operator.example.tld
|
ServerName shareeapp-operator.example.tld
|
||||||
ServerAdmin info@gnu-systems.de
|
ServerAdmin admin@example.tld
|
||||||
DocumentRoot /var/www/copri4/shareeapp-operator
|
DocumentRoot /var/www/copri4/shareeapp-operator
|
||||||
|
|
||||||
PerlOptions +Parent
|
PerlOptions +Parent
|
||||||
|
@ -73,12 +73,6 @@ SSLCertificateKeyFile /etc/letsencrypt/live/example.tld-0003/privkey.pem
|
||||||
Allow from all
|
Allow from all
|
||||||
</Location>
|
</Location>
|
||||||
|
|
||||||
<Location /APIvelo>
|
|
||||||
SetHandler perl-script
|
|
||||||
PerlInitHandler Apache2::Reload
|
|
||||||
PerlResponseHandler Mod::APIvelo
|
|
||||||
</Location>
|
|
||||||
|
|
||||||
<Location /APIjsonserver>
|
<Location /APIjsonserver>
|
||||||
SetHandler perl-script
|
SetHandler perl-script
|
||||||
PerlInitHandler Apache2::Reload
|
PerlInitHandler Apache2::Reload
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../../main/css/bootstrap-icons-1.5.0
|
|
|
@ -1 +1 @@
|
||||||
../../main/css/bootstrap-icons-1.8.1
|
/etc/shareeconf/bootstrap-icons-1.8.1
|
|
@ -1,652 +0,0 @@
|
||||||
<!--
|
|
||||||
|
|
||||||
html,body {
|
|
||||||
background-color: white;
|
|
||||||
color: #3f3f3f;
|
|
||||||
font-family:'Arial';
|
|
||||||
}
|
|
||||||
|
|
||||||
#map a{
|
|
||||||
text-decoration:underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
#google-maps {
|
|
||||||
position: relative;
|
|
||||||
padding-bottom: 75%; // This is the aspect ratio
|
|
||||||
height: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
#google-maps iframe {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100% !important;
|
|
||||||
height: 100% !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
th {
|
|
||||||
padding:0.3em 0.5em;
|
|
||||||
text-align:center;
|
|
||||||
font-weight: normal;
|
|
||||||
background-color: silver;
|
|
||||||
border-right: solid thin gray;
|
|
||||||
border-bottom: solid thin gray;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tdint {
|
|
||||||
padding:0.3em 0.5em;
|
|
||||||
vertical-align: top;
|
|
||||||
text-align: right;
|
|
||||||
|
|
||||||
}
|
|
||||||
.tdtxt {
|
|
||||||
padding:0.3em 0.5em;
|
|
||||||
vertical-align: top;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
select,input {
|
|
||||||
border: 1px solid #c7c8ca;
|
|
||||||
color:black;
|
|
||||||
}
|
|
||||||
.ebutton {
|
|
||||||
font-size:1em;
|
|
||||||
font-weight:normal;
|
|
||||||
border: 1px solid #fff;
|
|
||||||
color:black;
|
|
||||||
background-color:#c7c8ca;
|
|
||||||
width:160px;
|
|
||||||
text-align:center;
|
|
||||||
cursor:pointer;
|
|
||||||
}
|
|
||||||
.ebutton:hover {
|
|
||||||
color:#464433;
|
|
||||||
background-color:#e2dcd4;
|
|
||||||
}
|
|
||||||
.ebutton2 {
|
|
||||||
font-size:1em;
|
|
||||||
font-weight:normal;
|
|
||||||
border: 0px solid #fff;
|
|
||||||
color:black;
|
|
||||||
background-color:#c7c8ca;
|
|
||||||
width:160px;
|
|
||||||
text-align:right;
|
|
||||||
cursor:pointer;
|
|
||||||
}
|
|
||||||
.ebutton2:hover {
|
|
||||||
color:#464433;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ebutton3 {
|
|
||||||
font-size:0.91em;
|
|
||||||
font-weight:normal;
|
|
||||||
height:100%;
|
|
||||||
border: 1px solid silver;
|
|
||||||
color:black;
|
|
||||||
background-color:#ca7044;
|
|
||||||
width:100px;
|
|
||||||
margin:0 10px;
|
|
||||||
text-align:center;
|
|
||||||
cursor:pointer;
|
|
||||||
}
|
|
||||||
.ebutton3:hover {
|
|
||||||
color:#464433;
|
|
||||||
background-color:#e2dcd4;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.etxt {
|
|
||||||
font-size:100%;
|
|
||||||
border: 0px solid #c7c8ca;
|
|
||||||
background-color: #fff;
|
|
||||||
padding:0px;
|
|
||||||
margin:0px;
|
|
||||||
width:100%;
|
|
||||||
box-sizing:border-box;
|
|
||||||
-moz-box-sizing:border-box;
|
|
||||||
}
|
|
||||||
.etxt2 {
|
|
||||||
color:black;
|
|
||||||
font-size:14px;
|
|
||||||
border: 0px solid #c7c8ca;
|
|
||||||
background-color: #fff;
|
|
||||||
padding:0 1px;
|
|
||||||
}
|
|
||||||
.stxt {
|
|
||||||
font-size:100%;
|
|
||||||
border: 0px solid silver;
|
|
||||||
background-color: #ffffff;
|
|
||||||
width:100%;
|
|
||||||
box-sizing:border-box;
|
|
||||||
-moz-box-sizing:border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.eimg {
|
|
||||||
height: 20px;
|
|
||||||
width: 200px;
|
|
||||||
border: 1px solid #c7c8ca;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
.eselect {
|
|
||||||
font-size:100%;
|
|
||||||
border: 1px solid #c7c8ca;
|
|
||||||
background-color: #fff;
|
|
||||||
color:black;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.hide {display: all;}
|
|
||||||
|
|
||||||
img {border:0px solid black;}
|
|
||||||
|
|
||||||
div a {
|
|
||||||
color:#3f3f3f;
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
div a:hover {
|
|
||||||
color: grey;
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
.content_teaser2 {
|
|
||||||
padding:3px 5px 0 0;
|
|
||||||
}
|
|
||||||
.content_img2 {
|
|
||||||
float:left;
|
|
||||||
vertical-align: top;
|
|
||||||
padding:3px 14px 3px 14px;
|
|
||||||
}
|
|
||||||
.content_img3 {
|
|
||||||
vertical-align: bottom;
|
|
||||||
padding:14px 5px;
|
|
||||||
}
|
|
||||||
.content_img4 {
|
|
||||||
float:right;
|
|
||||||
vertical-align: top;
|
|
||||||
padding:2px 15px;
|
|
||||||
}
|
|
||||||
.chron_underlined3 {
|
|
||||||
font-weight:normal;
|
|
||||||
text-decoration: underline;
|
|
||||||
font-size:12px;
|
|
||||||
color:white;
|
|
||||||
padding:14px 15px 0 15px;
|
|
||||||
}
|
|
||||||
.chron_direct3 {
|
|
||||||
color: white;
|
|
||||||
padding:0 15px 0 15px;
|
|
||||||
}
|
|
||||||
/*end*/
|
|
||||||
|
|
||||||
|
|
||||||
/*---a basic box ---*/
|
|
||||||
.box{
|
|
||||||
width: 200px;
|
|
||||||
height: 200px;
|
|
||||||
position: relative;
|
|
||||||
margin: 10px;
|
|
||||||
float: left;
|
|
||||||
border: 1px solid #333;
|
|
||||||
background: #999;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
div#botlogic {
|
|
||||||
background-color: #f1f1f1;
|
|
||||||
text-align: left;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding:1em 0.1em 0em 0.1em;
|
|
||||||
border: 1px solid silver;
|
|
||||||
min-width: 30em;
|
|
||||||
max-width: 53em;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
div#retm {
|
|
||||||
position:fixed;
|
|
||||||
right:0;
|
|
||||||
top:15px;;
|
|
||||||
border:1px solid #007700;
|
|
||||||
padding:5px;
|
|
||||||
width:150px;
|
|
||||||
text-align:left;
|
|
||||||
color:white;
|
|
||||||
background-color:#7ec43b;
|
|
||||||
cursor:pointer;
|
|
||||||
z-index:11;
|
|
||||||
}
|
|
||||||
|
|
||||||
div#cody {
|
|
||||||
position:fixed;
|
|
||||||
width: 100%;
|
|
||||||
height:100%;
|
|
||||||
//background: transparent url(/img/overlay2.png) repeat 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.tdmenu {
|
|
||||||
font-size:13px;
|
|
||||||
border:3px solid white;
|
|
||||||
padding:0 2px;
|
|
||||||
width:170px;
|
|
||||||
height:20px;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.editnav {
|
|
||||||
color: #000000;
|
|
||||||
font-size: 1em;
|
|
||||||
background-image: url(/img/linkpfeil.gif);
|
|
||||||
background-position: 3px 5px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
padding:1px 1px 1px 17px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.editnav_menu {
|
|
||||||
position:absolute;
|
|
||||||
z-index:2;
|
|
||||||
color: #000000;
|
|
||||||
font-size: 1em;
|
|
||||||
background-image: url(/img/linkpfeil.gif);
|
|
||||||
background-position: 3px 5px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
padding:1px 1px 1px 17px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.elinkbutton {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 0.91em;
|
|
||||||
border: 1px solid silver;
|
|
||||||
color: #000000;
|
|
||||||
background-color: #eaeaea;
|
|
||||||
text-decoration: none;
|
|
||||||
padding:0.2em 0.5em;
|
|
||||||
}
|
|
||||||
.elinkbutton:hover { color: #000000;}
|
|
||||||
|
|
||||||
.elinkbutton1 {
|
|
||||||
padding:0 0.1em;
|
|
||||||
color:black;
|
|
||||||
font-size: 1em;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.elinkbutton1:hover { color:silver;}
|
|
||||||
|
|
||||||
|
|
||||||
.elinkbutton2 {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 0.91em;
|
|
||||||
border: 1px solid white;
|
|
||||||
color: #000000;
|
|
||||||
background-image:url(/img/bg_main_bottom.gif);
|
|
||||||
text-decoration: none;
|
|
||||||
padding:0.1em 0.5em;
|
|
||||||
}
|
|
||||||
.elinkbutton2:link {color: #000000;}
|
|
||||||
.elinkbutton2:visited { color: #000000;}
|
|
||||||
.elinkbutton2:hover { color: #000000;}
|
|
||||||
|
|
||||||
.link {
|
|
||||||
text-decoration: none;
|
|
||||||
color:black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.linknav {
|
|
||||||
margin:0px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.linknav:hover { color:silver;}
|
|
||||||
|
|
||||||
.linknav1 {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.linknav1:hover { color:silver;}
|
|
||||||
|
|
||||||
.linknav5 {
|
|
||||||
margin:0px;
|
|
||||||
color:white;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.linknav5:hover { color:silver;}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.linknav2 {
|
|
||||||
margin:2px;
|
|
||||||
padding:1px 5px;
|
|
||||||
border:1px solid gray;
|
|
||||||
color:blue;
|
|
||||||
background-color:white;
|
|
||||||
background-image:url(http://www.copri.eu/img/bg_main_top.gif);
|
|
||||||
font-size:12px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.linknav2:hover { color:silver;}
|
|
||||||
|
|
||||||
.linknav3 {
|
|
||||||
position:static;
|
|
||||||
float:left;
|
|
||||||
color:black;
|
|
||||||
margin-right:1px;
|
|
||||||
padding:1px 3px;
|
|
||||||
text-decoration: none;
|
|
||||||
font-size:17px;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.linknav4 {
|
|
||||||
position:static;
|
|
||||||
float:left;
|
|
||||||
color:white;
|
|
||||||
background-color:black;
|
|
||||||
margin-right:0px;
|
|
||||||
padding:0px 3px;
|
|
||||||
text-decoration: none;
|
|
||||||
font-size:17px;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.headnav {
|
|
||||||
color: #d0a6a6;
|
|
||||||
background-color: gray;
|
|
||||||
border: 0px solid red;
|
|
||||||
text-decoration: none;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
.headnav:hover { color: #DEC3A9;}
|
|
||||||
|
|
||||||
.headnav2 {color: #000000; text-decoration: none; font-size: 14px;}
|
|
||||||
.headnav2:link {color: #000000;}
|
|
||||||
.headnav2:visited { color: #000000;}
|
|
||||||
.headnav2:hover { color: #DEC3A9;}
|
|
||||||
|
|
||||||
|
|
||||||
.leftnav {margin:0px; color: #000000; text-decoration: none;}
|
|
||||||
.leftnav:link {color: #000000;}
|
|
||||||
.leftnav:visited { color: #000000;}
|
|
||||||
.leftnav:hover { color:white;}
|
|
||||||
|
|
||||||
.leftnav1 {margin:0px; color:#000000; text-decoration: none;}
|
|
||||||
.leftnav2 {margin:0px; color:#666666; text-decoration: none;}
|
|
||||||
|
|
||||||
div#Contenttxt {
|
|
||||||
min-height:300px;
|
|
||||||
padding-left:0px;
|
|
||||||
border:0px solid silver;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
div#ContentLogin {
|
|
||||||
text-align:center;
|
|
||||||
max-width:425px;
|
|
||||||
width:100%;
|
|
||||||
padding:20px;
|
|
||||||
margin:10px 0;
|
|
||||||
border: 0px solid #cccccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
div#Mlogic {
|
|
||||||
display:none;
|
|
||||||
}
|
|
||||||
|
|
||||||
div#fish {
|
|
||||||
position:fixed;
|
|
||||||
margin:0 auto;
|
|
||||||
border:0px solid black;
|
|
||||||
bottom:5px;
|
|
||||||
left:30px;
|
|
||||||
z-index:2;
|
|
||||||
}
|
|
||||||
div#bottom_text {
|
|
||||||
display:none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pic-serial { display:inline; height:auto;width:100%;padding:0; }
|
|
||||||
#pic-contact { display:inline; float:left; height:300px;padding:96px 14px 10px 0; }
|
|
||||||
#pic-float { display:inline; float:left; height:188px;padding:15px 10px 0px 0px; }
|
|
||||||
#pic-payment { height:40px;padding-left:10px; }
|
|
||||||
|
|
||||||
.title2 {
|
|
||||||
font-weight:300;
|
|
||||||
padding:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content_title2 {
|
|
||||||
font-size:16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content_title3 {
|
|
||||||
font-size:24px;
|
|
||||||
padding-top:24px;
|
|
||||||
}
|
|
||||||
.content_title3teaser {
|
|
||||||
font-weight:normal;
|
|
||||||
padding:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content1 {
|
|
||||||
font-size:18px;
|
|
||||||
line-height:1.2;
|
|
||||||
font-weight:bold;
|
|
||||||
padding-bottom:7px;
|
|
||||||
}
|
|
||||||
.content12 {
|
|
||||||
font-size:17px;
|
|
||||||
line-height:1.2;
|
|
||||||
font-weight:bold;
|
|
||||||
padding-top:22px;
|
|
||||||
}
|
|
||||||
.content13 {
|
|
||||||
font-size:16px;
|
|
||||||
line-height:1.2;
|
|
||||||
font-weight:bold;
|
|
||||||
}
|
|
||||||
.content2 {
|
|
||||||
line-height:1.2;
|
|
||||||
padding-top:22px;
|
|
||||||
max-width:750px;
|
|
||||||
}
|
|
||||||
.content2_legende {
|
|
||||||
font-size:16px;
|
|
||||||
line-height:2.0;
|
|
||||||
max-width:750px;
|
|
||||||
text-align:left;
|
|
||||||
}
|
|
||||||
.content23 {
|
|
||||||
font-size:16px;
|
|
||||||
line-height:1.2;
|
|
||||||
padding-bottom:22px;
|
|
||||||
max-width:750px;
|
|
||||||
}
|
|
||||||
.content2_contact {
|
|
||||||
font-size:14px;
|
|
||||||
line-height:1.5;
|
|
||||||
max-width:750px;
|
|
||||||
}
|
|
||||||
.footer {
|
|
||||||
font-size:11px;
|
|
||||||
padding:15px 5%;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 768px){
|
|
||||||
|
|
||||||
div#Contenttxt {
|
|
||||||
border:0px solid silver;
|
|
||||||
padding:0px;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
.container_img {
|
|
||||||
text-align:left;
|
|
||||||
padding: 3% 0%;
|
|
||||||
width:100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer {
|
|
||||||
padding:10px 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.container_imgcontact {
|
|
||||||
text-align:left;
|
|
||||||
padding: 3% 3%;
|
|
||||||
width:100%;
|
|
||||||
}
|
|
||||||
.content2_contact {
|
|
||||||
text-align:left;
|
|
||||||
width:100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
div#Contenttxt1 {
|
|
||||||
position:relative;
|
|
||||||
margin:0;
|
|
||||||
padding: 0 14px;
|
|
||||||
width:100%;
|
|
||||||
}
|
|
||||||
div#Contenttxt2 {
|
|
||||||
position:relative;
|
|
||||||
margin:0;
|
|
||||||
padding: 10px 15px;
|
|
||||||
width:100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
div#fish {
|
|
||||||
position:fixed;
|
|
||||||
margin:5px 15px;
|
|
||||||
border:0px solid black;
|
|
||||||
bottom:3px;
|
|
||||||
left:0px;
|
|
||||||
z-index:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div#fish img {
|
|
||||||
width:35px;
|
|
||||||
}
|
|
||||||
div#bottom_text {
|
|
||||||
position:fixed;
|
|
||||||
display:inline;
|
|
||||||
background-color:white;
|
|
||||||
opacity:0.90;
|
|
||||||
margin:0 auto;
|
|
||||||
border:0px solid black;
|
|
||||||
padding:3px 15px;
|
|
||||||
bottom:0px;
|
|
||||||
right:0px;
|
|
||||||
z-index:5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
div#navtop {
|
|
||||||
vertical-align:top;
|
|
||||||
border: 0px solid white;
|
|
||||||
}
|
|
||||||
div#navtop a {
|
|
||||||
color: white;
|
|
||||||
margin: 0; padding: 10px 15px 0 7px;
|
|
||||||
text-decoration: none;
|
|
||||||
font-weight: normal;
|
|
||||||
font-size:1.4em;
|
|
||||||
}
|
|
||||||
div#navtop a:hover {
|
|
||||||
color: #cccccc;
|
|
||||||
}
|
|
||||||
div#navtop a:active {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
div#navfoo {
|
|
||||||
vertical-align:top;
|
|
||||||
border: 0px solid white;
|
|
||||||
}
|
|
||||||
div#navfoo a {
|
|
||||||
color: white;
|
|
||||||
margin: 0; padding: 30px 15px 0 7px;
|
|
||||||
text-decoration: none;
|
|
||||||
font-weight: normal;
|
|
||||||
font-size:1.4em;
|
|
||||||
}
|
|
||||||
div#navfoo a:hover {
|
|
||||||
color: #cccccc;
|
|
||||||
}
|
|
||||||
div#navfoo a:active {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ul#Navi li#bold {
|
|
||||||
color: black;
|
|
||||||
font-size:14px;
|
|
||||||
list-style: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 1px 1px 1px 5px;
|
|
||||||
}
|
|
||||||
ul#Navi li#thin {
|
|
||||||
color: white;
|
|
||||||
font-size:14px;
|
|
||||||
list-style: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 1px 5px 1px 15px;
|
|
||||||
text-align:right;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
div#Container_cms {
|
|
||||||
font-size: 12px;
|
|
||||||
border: 0px solid gray;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 0;
|
|
||||||
min-width: 100%;
|
|
||||||
min-height: 200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tdescr2 {
|
|
||||||
padding:1px 10px;
|
|
||||||
vertical-align: top;
|
|
||||||
text-align: right;
|
|
||||||
width:130px;
|
|
||||||
}
|
|
||||||
.tdval2 {
|
|
||||||
padding:1px 10px;
|
|
||||||
vertical-align: top;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.left_italic_cms {
|
|
||||||
padding:5px;
|
|
||||||
min-width:80px;
|
|
||||||
max-width:100px;
|
|
||||||
padding-right: 15px;
|
|
||||||
vertical-align: top;
|
|
||||||
text-align: right;
|
|
||||||
font-style:italic;
|
|
||||||
border-right: solid thin silver;
|
|
||||||
border-bottom: solid thin silver;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content1_cms {
|
|
||||||
padding:0 5px 5px 5px;
|
|
||||||
min-width:100px;
|
|
||||||
vertical-align: top;
|
|
||||||
text-align: left;
|
|
||||||
border-right: solid thin silver;
|
|
||||||
border-bottom: solid thin silver;
|
|
||||||
}
|
|
||||||
.editnav {
|
|
||||||
color:black;
|
|
||||||
background-color:silver;
|
|
||||||
background-image: url(/img/linkpfeil.gif);
|
|
||||||
background-position: 3px 6px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
padding:1px 10px 1px 17px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.editnav:hover {
|
|
||||||
color:black;
|
|
||||||
background-color:#f0f1da;
|
|
||||||
}
|
|
||||||
|
|
||||||
//-->
|
|
||||||
|
|
||||||
|
|
6
copri4/shareeconf/examples/README
Normal file
6
copri4/shareeconf/examples/README
Normal file
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<googlemap>
|
|
||||||
google_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
||||||
</googlemap>
|
|
||||||
|
|
||||||
<smsgtx>
|
<smsgtx>
|
||||||
gtx_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
gtx_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
</smsgtx>
|
</smsgtx>
|
||||||
|
|
||||||
|
<pdfprinter>
|
||||||
|
pkey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
</pdfprinter>
|
||||||
|
|
||||||
<furtherkeys>
|
<furtherkeys>
|
||||||
xxxkey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
xxxkey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
</furtherkeys>
|
</furtherkeys>
|
||||||
|
|
|
@ -3,10 +3,44 @@
|
||||||
# Copyright (c) Rainer Gümpelein, TeilRad GmbH
|
# Copyright (c) Rainer Gümpelein, TeilRad GmbH
|
||||||
|
|
||||||
#sub <block> is the dbname of sharee COPRI-Instanz
|
#sub <block> is the dbname of sharee COPRI-Instanz
|
||||||
|
|
||||||
|
<primary>
|
||||||
|
<sharee_primary>
|
||||||
|
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"
|
||||||
|
<database>
|
||||||
|
dbname=sharee_operator
|
||||||
|
host="localhost"
|
||||||
|
port=5432
|
||||||
|
sslmode=
|
||||||
|
options=""
|
||||||
|
user=[your-psql-user]
|
||||||
|
passwd=[your-psql-pw]
|
||||||
|
</database>
|
||||||
|
</sharee_primary>
|
||||||
|
</primary>
|
||||||
|
|
||||||
|
|
||||||
<operator>
|
<operator>
|
||||||
<sharee_operator>
|
<sharee_operator>
|
||||||
merchant_id="your-operator-merchant_id"
|
#merchant_id="your-operator-merchant_id"
|
||||||
owner=196
|
merchant_id="ong5ohc6Oi"
|
||||||
|
owner=296
|
||||||
operatorApp="https://shareeapp-operator.example.tld"
|
operatorApp="https://shareeapp-operator.example.tld"
|
||||||
operatorDMS="https://shareedms-operator.example.tld"
|
operatorDMS="https://shareedms-operator.example.tld"
|
||||||
operatorApp1="https://shareeapp-operator1.example.tld"
|
operatorApp1="https://shareeapp-operator1.example.tld"
|
||||||
|
@ -16,9 +50,12 @@
|
||||||
dir_dms="shareedms-operator"
|
dir_dms="shareedms-operator"
|
||||||
oprefix="EXA"
|
oprefix="EXA"
|
||||||
project="Example"
|
project="Example"
|
||||||
|
title="Operator example"
|
||||||
app_name="sharee.bike"
|
app_name="sharee.bike"
|
||||||
hwtype="none"
|
hwtype="none"
|
||||||
bgcolor1="009899"
|
bgcolor1="009899"
|
||||||
|
hgcolor1="c0c0c0"
|
||||||
|
fgcolor1="3f3f3f"
|
||||||
initMap="47.976634, 7.825490"
|
initMap="47.976634, 7.825490"
|
||||||
map_zoom="13"
|
map_zoom="13"
|
||||||
<database>
|
<database>
|
||||||
|
@ -38,15 +75,20 @@
|
||||||
<shareeweb-project>
|
<shareeweb-project>
|
||||||
parent_id=100007
|
parent_id=100007
|
||||||
parent_node="frame"
|
parent_node="frame"
|
||||||
merchant_id="your-webproject-merchant_id"
|
#merchant_id="your-webproject-merchant_id"
|
||||||
|
merchant_id="eiFiPaing9"
|
||||||
owner=294
|
owner=294
|
||||||
operatorWeb="https://shareeweb-project.example.tld"
|
operatorWeb="https://shareeweb-project.example.tld"
|
||||||
operatorWeb1="https://shareeweb-project1.example.tld"
|
operatorWeb1="https://shareeweb-project1.example.tld"
|
||||||
dir_web="shareeweb-project"
|
dir_web="shareeweb-project"
|
||||||
oprefix="EXA"
|
oprefix="EXA"
|
||||||
|
title="website example"
|
||||||
project="Example"
|
project="Example"
|
||||||
|
layout="standalone"
|
||||||
app_name="sharee.bike"
|
app_name="sharee.bike"
|
||||||
bgcolor1="009899"
|
bgcolor1="009899"
|
||||||
|
hgcolor1="c0c0c0"
|
||||||
|
fgcolor1="black"
|
||||||
initMap="47.976634, 7.825490"
|
initMap="47.976634, 7.825490"
|
||||||
map_zoom="13"
|
map_zoom="13"
|
||||||
<database>
|
<database>
|
||||||
|
@ -59,35 +101,63 @@
|
||||||
passwd=[your-psql-pw]
|
passwd=[your-psql-pw]
|
||||||
</database>
|
</database>
|
||||||
</shareeweb-project>
|
</shareeweb-project>
|
||||||
|
</website>
|
||||||
|
|
||||||
<merchant_ids>
|
<merchant_ids>
|
||||||
#contact TeilRad GmbH to get access to our single-sign-on with sharee.bike App
|
#contact TeilRad GmbH to get access to our single-sign-on with sharee.bike App
|
||||||
<your-app-merchant_id>
|
|
||||||
id = 275
|
#<your-primary-merchant_id>
|
||||||
name = "example App"
|
<queexee3Da>
|
||||||
|
id = 298
|
||||||
|
name = "example Pr"
|
||||||
|
project="all"
|
||||||
|
user_agent = ""
|
||||||
|
initMap = "47.976634, 7.825490"
|
||||||
|
bgcolor1="009899"
|
||||||
|
hgcolor1="c0c0c0"
|
||||||
|
fgcolor1="3f3f3f"
|
||||||
|
</queexee3Da>
|
||||||
|
#</your-primary-merchant_id>
|
||||||
|
|
||||||
|
#<your-operator-merchant_id>
|
||||||
|
<ong5ohc6Oi>
|
||||||
|
id = 296
|
||||||
|
name = "example Op"
|
||||||
project="Example"
|
project="Example"
|
||||||
user_agent = ""
|
user_agent = ""
|
||||||
initMap = "47.976634, 7.825490"
|
initMap = "47.976634, 7.825490"
|
||||||
bgcolor1 = "009899"
|
bgcolor1 = "009899"
|
||||||
</your-app-merchant_id>
|
hgcolor1="c0c0c0"
|
||||||
|
fgcolor1="3f3f3f"
|
||||||
|
</ong5ohc6Oi>
|
||||||
|
#</your-operator-merchant_id>
|
||||||
|
|
||||||
<your-operator-merchant_id>
|
#<your-webproject-merchant_id>
|
||||||
id = 296
|
<eiFiPaing9>
|
||||||
name = "example DMS"
|
|
||||||
project="all"
|
|
||||||
user_agent = ""
|
|
||||||
initMap = "47.976634, 7.825490"
|
|
||||||
bgcolor1 = "009899"
|
|
||||||
</your-operator-merchant_id>
|
|
||||||
|
|
||||||
<your-webproject-merchant_id>
|
|
||||||
id = 294
|
id = 294
|
||||||
name = "example Web"
|
name = "example Web"
|
||||||
project="Example"
|
project="Example"
|
||||||
user_agent = ""
|
user_agent = ""
|
||||||
initMap = "47.976634, 7.825490"
|
initMap = "47.976634, 7.825490"
|
||||||
bgcolor1 = "009899"
|
bgcolor1 = "009899"
|
||||||
</your-webproject-merchant_id>
|
hgcolor1="c0c0c0"
|
||||||
|
fgcolor1="3f3f3f"
|
||||||
|
</eiFiPaing9>
|
||||||
|
#</your-webproject-merchant_id>
|
||||||
|
|
||||||
|
#<your-app-merchant_id>
|
||||||
|
<exzooLu4oh>
|
||||||
|
id = 295
|
||||||
|
name = "example App"
|
||||||
|
project="Example"
|
||||||
|
user_agent = ""
|
||||||
|
initMap = "47.976634, 7.825490"
|
||||||
|
bgcolor1 = "009899"
|
||||||
|
hgcolor1="c0c0c0"
|
||||||
|
fgcolor1="3f3f3f"
|
||||||
|
</exzooLu4oh>
|
||||||
|
#</your-app-merchant_id>
|
||||||
|
|
||||||
</merchant_ids>
|
</merchant_ids>
|
||||||
|
|
||||||
#sharee copri globals
|
#sharee copri globals
|
||||||
|
@ -99,11 +169,6 @@
|
||||||
superu_id = "1234567"
|
superu_id = "1234567"
|
||||||
logdir = "/var/log/copri4"
|
logdir = "/var/log/copri4"
|
||||||
basedir = "/var/www/copri4"
|
basedir = "/var/www/copri4"
|
||||||
<bike_types>
|
|
||||||
300101 = "Lastenrad"
|
|
||||||
300102 = "E-Lastenrad"
|
|
||||||
300103 = "Stadtrad"
|
|
||||||
</bike_types>
|
|
||||||
<sharing_type>
|
<sharing_type>
|
||||||
2 = "public"
|
2 = "public"
|
||||||
3 = "private"
|
3 = "private"
|
||||||
|
@ -113,22 +178,26 @@
|
||||||
1 = "available"
|
1 = "available"
|
||||||
2 = "requested"
|
2 = "requested"
|
||||||
3 = "occupied"
|
3 = "occupied"
|
||||||
4 = "maintanance"
|
4 = "maintenance"
|
||||||
5 = "defect"
|
5 = "defect"
|
||||||
6 = "canceled"
|
6 = "canceled"
|
||||||
</bike_state>
|
</bike_state>
|
||||||
<station_state>
|
<station_state>
|
||||||
1 = "available"
|
1 = "available"
|
||||||
|
4 = "maintenance"
|
||||||
5 = "defect"
|
5 = "defect"
|
||||||
</station_state>
|
</station_state>
|
||||||
<lock_state>
|
<lock_state>
|
||||||
1 = "locked"
|
1 = "locked"
|
||||||
2 = "unlocked"
|
2 = "unlocked"
|
||||||
3 = "locking"
|
3 = "locking"
|
||||||
|
4 = "unlocking"
|
||||||
</lock_state>
|
</lock_state>
|
||||||
<station_lock_state>
|
<station_lock_state>
|
||||||
1 = "locked"
|
1 = "locked"
|
||||||
2 = "unlocked"
|
2 = "unlocked"
|
||||||
|
3 = "locking"
|
||||||
|
4 = "unlocking"
|
||||||
</station_lock_state>
|
</station_lock_state>
|
||||||
<lock_system>
|
<lock_system>
|
||||||
2 = "Ilockit"
|
2 = "Ilockit"
|
||||||
|
@ -143,10 +212,7 @@
|
||||||
2 = "lesen & schreiben"
|
2 = "lesen & schreiben"
|
||||||
</permission>
|
</permission>
|
||||||
jsscript = "js/mobile_script.js"
|
jsscript = "js/mobile_script.js"
|
||||||
jquery_ui = "js/jquery-ui-1.12.1/jquery-ui.min.js"
|
style_bootstrap_icons = "css/bootstrap-icons-1.8.1/font/bootstrap-icons.css"
|
||||||
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"
|
|
||||||
</copri_conf>
|
</copri_conf>
|
||||||
|
|
||||||
#sharee WebApp sepcific para
|
#sharee WebApp sepcific para
|
||||||
|
@ -161,11 +227,10 @@
|
||||||
accounting_2 = "2.0. Zahlungsdaten"
|
accounting_2 = "2.0. Zahlungsdaten"
|
||||||
accounting_3 = "3. Verleihdaten"
|
accounting_3 = "3. Verleihdaten"
|
||||||
|
|
||||||
local_style = "css/local_style1344.css"
|
local_style = "css/local_style2022-03-20.css"
|
||||||
jquery = "js/jquery-1.9.1.js"
|
jquery = ""
|
||||||
js_bootstrap = "js/bootstrap-3.3.6-dist/js/bootstrap.min.js"
|
js_bootstrap = "js/bootstrap-5.1.3-dist/js/bootstrap.min.js"
|
||||||
style_bootstrap = "js/bootstrap-3.3.6-dist/css/bootstrap.css"
|
style_bootstrap = "js/bootstrap-5.1.3-dist/css/bootstrap.css"
|
||||||
mod_active = "Fahrradmietsystem|Karte|Anmelden|Kontakt"
|
|
||||||
</shareeapp_conf>
|
</shareeapp_conf>
|
||||||
|
|
||||||
#sharee DMS/COPRI specific para
|
#sharee DMS/COPRI specific para
|
||||||
|
@ -183,10 +248,17 @@
|
||||||
mietjournal = "200012"
|
mietjournal = "200012"
|
||||||
alarmjournal = "200022"
|
alarmjournal = "200022"
|
||||||
einstellung = "200019"
|
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"
|
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 = "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"
|
js_bootstrap = "js/bootstrap-5.0.2-dist/js/bootstrap.min.js"
|
||||||
style_bootstrap = "js/bootstrap-5.0.2-dist/css/bootstrap.min.css"
|
style_bootstrap = "js/bootstrap-5.0.2-dist/css/bootstrap.min.css"
|
||||||
mod_active = "Waren|Faktur|Karte|Kunden|Mietjournal|Alarmjournal|Einstellung"
|
mod_active = "Waren|Faktur|Karte|Kunden|Mietjournal|Alarmjournal|Einstellung"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
ServerName shareedms-operator.example.tld
|
ServerName shareedms-operator.example.tld
|
||||||
ServerAlias shareedms-operator1.example.tld
|
ServerAlias shareedms-operator1.example.tld
|
||||||
|
|
||||||
ServerAdmin info@gnu-systems.de
|
ServerAdmin admin@example.tld
|
||||||
DocumentRoot /var/www/copri4/shareedms-operator
|
DocumentRoot /var/www/copri4/shareedms-operator
|
||||||
|
|
||||||
ErrorLog /var/log/apache2/shareedms-operator-error.log
|
ErrorLog /var/log/apache2/shareedms-operator-error.log
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
<IfModule mod_ssl.c>
|
<IfModule mod_ssl.c>
|
||||||
<VirtualHost *:443>
|
<VirtualHost *:443>
|
||||||
ServerName shareedms-operator1.example.tld
|
ServerName shareedms-operator1.example.tld
|
||||||
ServerAdmin info@gnu-systems.de
|
ServerAdmin admin@example.tld
|
||||||
DocumentRoot /var/www/copri4/shareedms-operator
|
DocumentRoot /var/www/copri4/shareedms-operator
|
||||||
AddHandler cgi-script .cgi .sh .pl
|
AddHandler cgi-script .cgi .sh .pl
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
|
|
||||||
<VirtualHost *:443>
|
<VirtualHost *:443>
|
||||||
ServerName shareedms-operator.example.tld
|
ServerName shareedms-operator.example.tld
|
||||||
ServerAdmin info@gnu-systems.de
|
ServerAdmin admin@example.tld
|
||||||
DocumentRoot /var/www/copri4/shareedms-operator
|
DocumentRoot /var/www/copri4/shareedms-operator
|
||||||
|
|
||||||
|
|
||||||
|
|
1
copri4/shareedms-operator/css
Symbolic link
1
copri4/shareedms-operator/css
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../main/css
|
|
@ -1 +0,0 @@
|
||||||
../../main/css/bootstrap-icons-1.5.0
|
|
|
@ -1 +0,0 @@
|
||||||
../../main/css/favicon.ico
|
|
|
@ -1 +0,0 @@
|
||||||
../../main/css/local_style_2.css
|
|
|
@ -139,7 +139,7 @@ sub tpl(){
|
||||||
if($main_id >= "100000"){
|
if($main_id >= "100000"){
|
||||||
my $mstyle="";
|
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 };
|
my $users_dms_primary = { u_id => 0 };
|
||||||
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1");
|
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1");
|
||||||
#print Dumper($users_dms_primary);
|
#print Dumper($users_dms_primary);
|
||||||
|
@ -267,7 +267,7 @@ sub tpl(){
|
||||||
###end bootstrap menue
|
###end bootstrap menue
|
||||||
|
|
||||||
#node_name=DMS
|
#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="";
|
my $big2menu="";
|
||||||
#while (my ($key, $value) = each %{ $dbt->{operator} }) {
|
#while (my ($key, $value) = each %{ $dbt->{operator} }) {
|
||||||
foreach my $key (sort keys (%{ $dbt->{operator} })) {
|
foreach my $key (sort keys (%{ $dbt->{operator} })) {
|
||||||
|
|
|
@ -75,12 +75,6 @@ SSLCertificateKeyFile /etc/letsencrypt/live/example.tld-0003/privkey.pem
|
||||||
Allow from all
|
Allow from all
|
||||||
</Location>
|
</Location>
|
||||||
|
|
||||||
#<Location /APIvelo>
|
|
||||||
# SetHandler perl-script
|
|
||||||
# PerlInitHandler Apache2::Reload
|
|
||||||
# PerlResponseHandler Mod::APIvelo
|
|
||||||
#</Location>
|
|
||||||
|
|
||||||
<Location /APIjsonserver>
|
<Location /APIjsonserver>
|
||||||
SetHandler perl-script
|
SetHandler perl-script
|
||||||
PerlInitHandler Apache2::Reload
|
PerlInitHandler Apache2::Reload
|
||||||
|
|
Loading…
Add table
Reference in a new issue