diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 501ef0b..5d0d0eb 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -2145,7 +2145,7 @@ sub bikes_all(){ #shareetool if($q->param('authcookie') && $dbt->{merchant_ids}->{$varenv->{merchant_id}}->{id} && $dbt->{merchant_ids}->{$varenv->{merchant_id}}->{id} == 187 && scalar(@{$user_tour} >= 1)){ my @service_code = split(/\s/,$record->{$id}->{txt23}); - #2023-01-16 temporär deaktiviert + #2023-01-18 temporär deaktiviert #$return->{$id}->{service_code} = [@service_code]; } }elsif($record->{$id}->{int11} eq "3"){ diff --git a/copri4/main/src/Mod/APIjsonserver.pm b/copri4/main/src/Mod/APIjsonserver.pm index 02b0668..63ecef2 100755 --- a/copri4/main/src/Mod/APIjsonserver.pm +++ b/copri4/main/src/Mod/APIjsonserver.pm @@ -139,8 +139,10 @@ foreach(@keywords){ #RESTful bikeAPP ------------------------------------------------------------------ -if($q->param('user_device_manufaturer') || $q->param('user_device_model') || $q->param('user_device_platform') || $q->param('user_device_version') || $q->param('user_device_id')){ - my $user_device = $q->param('user_device_manufaturer') . ";" . $q->param('user_device_model') . ";" . $q->param('user_device_platform') . ";" . $q->param('user_device_version') . ";" . $q->param('user_device_id'); +if($q->param('user_device_manufacturer') || $q->param('user_device_manufaturer') || $q->param('user_device_model') || $q->param('user_device_platform') || $q->param('user_device_version') || $q->param('user_device_id')){ + #tipo fix + my $user_device_manufacturer = $q->param('user_device_manufacturer') || $q->param('user_device_manufaturer') || ""; + my $user_device = $user_device_manufacturer . ";" . $q->param('user_device_model') . ";" . $q->param('user_device_platform') . ";" . $q->param('user_device_version') . ";" . $q->param('user_device_id'); $q->param(-name=>'user_device',-value=>"$user_device"); $bw->log("user_device",$q->param('user_device'),""); } @@ -658,11 +660,24 @@ elsif($q->param('request') eq "stations_available"){ $response = { %$response, %$return_merchant }; my ($auth,$authraw) = $apif->auth_verify($q); - #Mein konrad App - #if($dbt->{merchant_ids}->{$varenv{merchant_id}}->{id} eq "176") - #if($aowner && $aowner eq "176") - #$response->{merchant_message} = "Herzlich Willkommen bei der neuen konrad App! Die App ist zwar schon installierbar, bis zur vollständigen Umstellung des Systems sind aber noch keine Räder ausleihbar. Das ist erst voraussichtlich Ende Januar der Fall und wird den Nutzern noch mitgeteilt. Danke für Ihr Verständnis! Ihr konrad-Team"; - #} + + my $user_agent_subversion = 1000; + $user_agent_subversion = $3 if($user_agent =~ /3\.0\.(\d+)/); + + #for tests only contributors with service-tour defined + if($user_agent_subversion <= 348 && $authraw->{txt18} && $authraw->{c_id} =~ /$dbt->{copri_conf}->{contributors}/){ + my $pref_ctu = { + table => "contentuser", + fetch => "one", + ct_name => "App-update-message", + }; + my $uadr = { c_id => 0 }; + $uadr = $dbt->fetch_tablerecord($dbh,$pref_ctu); + $response->{merchant_message} = $uadr->{txt01}; + $response->{merchant_message} = $uadr->{txt02} if($q->param('lang') eq "en"); + #$response->{merchant_message} .= " ($user_agent)"; + } + $response = { %$response, %$auth }; ($response->{stations},$response->{uri_operator_array},$response->{user_group},$response->{user_tour}) = $jsc->loop_sharees($q,$authraw,$return_merchant); }else{ diff --git a/copri4/main/src/Mod/DBtank.pm b/copri4/main/src/Mod/DBtank.pm index 1b98f83..5924472 100755 --- a/copri4/main/src/Mod/DBtank.pm +++ b/copri4/main/src/Mod/DBtank.pm @@ -54,6 +54,8 @@ sub dbconnect { sub dbconnect_extern { my $self = shift; my $dbname = shift; + my $client_encoding = shift || ""; + my $instance_type = "operator"; $instance_type = "primary" if($dbname eq $self->{primary}->{sharee_primary}->{database}->{dbname}); @@ -72,6 +74,7 @@ sub dbconnect_extern { $database .= ";sslmode=$value->{database}->{sslmode}" if($value->{database}->{sslmode} && $value->{database}->{host} ne "localhost"); my $dbh = DBI->connect($database, $value->{database}->{user}, $value->{database}->{passwd},{ RaiseError => 0, AutoCommit => 1 }); $bw->log("--> dbconnect_extern success --> $database, $value->{database}->{user}, $value->{database}->{passwd}",$database,""); + $dbh->do("set CLIENT_ENCODING TO 'iso-8859-1'") if($client_encoding && $client_encoding eq "iso-8859-1"); return $dbh if($dbh); } } @@ -189,6 +192,7 @@ sub update_operatorsloop { # 2 = "public" # 3 = "private" # 4 = "hidden-lv" + # 5 = "public-bonus" # my $update_op = { table => "contentadr", diff --git a/copri4/main/src/Mod/MailTransport.pm b/copri4/main/src/Mod/MailTransport.pm index c2bf90c..894bcec 100755 --- a/copri4/main/src/Mod/MailTransport.pm +++ b/copri4/main/src/Mod/MailTransport.pm @@ -45,7 +45,7 @@ sub mail_connect { Port => 465, Hello => 'sharee.bike', Timeout => 30, - Debug => 0, + Debug => 1, SSL => 1, ); @@ -61,10 +61,9 @@ sub mail_transport(){ my $mailxconf = shift; my $sendref = shift; - #print Dumper($smtp); my $ret = 1; my $now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime; - open(EMA, ">> $dbt->{copri_conf}->{logdir}/mailtransport.log"); + open(EMA, ">> $dbt->{copri_conf}->{logdir}/mailTransport.log"); my $mail_from = $sendref->{mail_from} || $mailxconf->{$sendref->{mailxcfg}}->{mail_from}; my $mail_to = $sendref->{mail_to} || $mailxconf->{$sendref->{mailxcfg}}->{mail_to}; @@ -96,6 +95,7 @@ sub mail_transport(){ $bw->log("Trying send_mail by $0",$mail_to,""); + print EMA Dumper($sendref); if(ref($sendref) eq "HASH"){ diff --git a/copri4/main/src/Mod/Pricing.pm b/copri4/main/src/Mod/Pricing.pm index 91e4791..cc6182e 100755 --- a/copri4/main/src/Mod/Pricing.pm +++ b/copri4/main/src/Mod/Pricing.pm @@ -246,8 +246,8 @@ sub counting_rental { } } - $total_price = sprintf('%.2f', $total_price); $total_price = $total_price * $ctpos->{int01} if($ctpos->{int01}); + $total_price = sprintf('%.2f', $total_price); $return->{start_time} = "$computed_start_time"; $return->{end_time} = "$computed_end_time"; diff --git a/copri4/main/src/Tpl/BaseEdit.pm b/copri4/main/src/Tpl/BaseEdit.pm index 88b9ee5..f9cb558 100755 --- a/copri4/main/src/Tpl/BaseEdit.pm +++ b/copri4/main/src/Tpl/BaseEdit.pm @@ -239,7 +239,7 @@ sub tpl(){ #1. table submit print $q->start_table({-class=>'list', -border=>'0', -width=>'100%',-align=>'center', -cellpadding=>'3', -cellspacing=>'0'}); print $q->Tr(); - print ""; + print ""; print $but->singlesubmit7("$edit","$save_key","$ib{$save_key}","margin:0 5px;"); print $but->singlesubmit7("rel_edit","$relate_key","$ib{$relate_key}","margin:0 5px;"); print $but->singlesubmit7("rel_edit","$move_key","$ib{$move_key}","margin:0 5px;"); @@ -248,7 +248,7 @@ sub tpl(){ #print $q->div({-style=>'position:fixed;bottom:2%;right:1%;z-index:10;font-size:13px;'}," (c_id: $ctrel->{c_id} | rel_id: $ctrel->{rel_id} | tpl_id: $ctrel->{template_id} / $edit_template)"),"\n" if($users_dms->{u_id} eq $varenv{superu_id}); print "\n"; - print $q->td({-style=>"background-color:$bg_color;padding-right:10px;border-bottom: 1px solid silver;text-align:right;font-size:11px;"}, "$u_name / $dbmtime"); + print $q->td({-style=>"background-color:#a7a18f;padding-right:10px;border-bottom: 1px solid silver;text-align:right;font-size:11px;"}, "$u_name / $dbmtime"); print $q->end_table; diff --git a/copri4/main/src/Tpl/Liste3.pm b/copri4/main/src/Tpl/Liste3.pm index 04f2974..6b1b3a1 100755 --- a/copri4/main/src/Tpl/Liste3.pm +++ b/copri4/main/src/Tpl/Liste3.pm @@ -305,7 +305,7 @@ sub tpl(){ #search at all if($R::detail_search eq "search"){ - $tplids = "208,209,218"; + $tplids = "209,218"; } $searchref->{tplids} = "$tplids"; } @@ -707,7 +707,7 @@ sub tpl(){ print $q->td({-style=>"font-size:0.71em;padding:0;border:0px solid green;",-colspan=>"$tdcal",-nowrap=>"1"},"$day4month"),"\n"; } - my $sum_saldo="0";my $sum_opos="0";my $sum_abb="0";my $sum_ueb="0";my $sum_success="0";my $sum_SEPApayone="0";my $sum_CCpayone="0";my $sum_ausfall="0";my $close_time="";my $payment_time=""; + my $sum_saldo="0";my $sum_opos="0";my $sum_abb="0";my $sum_ueb="0";my $sum_success="0";my $sum_SEPApayone="0";my $sum_CCpayone="0";my $sum_ausfall="0";my $sum_entgelt="0";my $sum_abr="0";my $close_time="";my $payment_time=""; my $nr=0;my $nx=0; #BIG LOOP loop content table @@ -786,12 +786,14 @@ sub tpl(){ $payment_time = $lb->time4de($payment_time,"1"); } $sum_saldo += $ct4rel->{$id}->{int16} if($ct4rel->{$id}->{state}); - $sum_opos += $ct4rel->{$id}->{int01} if($ct4rel->{$id}->{state} && $ct4rel->{$id}->{state} ne "Zaglungsausfall" && $ct4rel->{$id}->{int14} >= 1); + $sum_opos += $ct4rel->{$id}->{int01} if($ct4rel->{$id}->{state} && $ct4rel->{$id}->{state} ne "Zahlungsausfall" && $ct4rel->{$id}->{int14} >= 1); $sum_abb += $ct4rel->{$id}->{int01} if($ct4rel->{$id}->{state} && $ct4rel->{$id}->{state} =~ /Abbuchung/); $sum_ueb += $ct4rel->{$id}->{int01} if($ct4rel->{$id}->{state} && $ct4rel->{$id}->{state} =~ /Überweisung/); $sum_SEPApayone += $ct4rel->{$id}->{int01} if($ct4rel->{$id}->{state} && $ct4rel->{$id}->{state} =~ /SEPA.*payone|Zahlungseingang.*payone/); $sum_CCpayone += $ct4rel->{$id}->{int01} if($ct4rel->{$id}->{state} && $ct4rel->{$id}->{state} =~ /Kreditkarte.*payone/); $sum_ausfall += $ct4rel->{$id}->{int01} if($ct4rel->{$id}->{state} && $ct4rel->{$id}->{state} =~ /Zahlungsausfall/); + $sum_entgelt += $ct4rel->{$id}->{int01} if($ct4rel->{$id}->{state} && $ct4rel->{$id}->{state} =~ /Entgelt/); + $sum_abr -= $ct4rel->{$id}->{int02} if($ct4rel->{$id}->{state} && $ct4rel->{$id}->{state} =~ /Abrechnung/); $c_id4csv .= "$ct4rel->{$id}->{c_id},"; $ct4rel->{$id}->{ct_name} = $q->unescapeHTML($ct4rel->{$id}->{ct_name}) || ""; $ct4rel->{$id}->{c_id} = $q->unescapeHTML($ct4rel->{$id}->{c_id}) || ""; @@ -886,7 +888,7 @@ sub tpl(){ my $ny=""; if($table eq "contentadr" && ($ct4rel->{$id}->{int12} || !$ct4rel->{$id}->{int04} || !$ct4rel->{$id}->{int13})){ print $q->td({-class=>'tdicon',-style=>"$set_style color:red;"},"•","\n") if($ecol <= "2"); - }elsif($table eq "contenttrans" && (($ct4rel->{$id}->{txt28} && $ct4rel->{$id}->{txt28} =~ /error/i) || ($ct4rel->{$id}->{int14} && $ct4rel->{$id}->{int14} >= 1))){ + }elsif($table eq "contenttrans" && ($ct4rel->{$id}->{int14} && $ct4rel->{$id}->{int14} >= 1)){ print $q->td({-class=>'tdicon',-style=>"$set_style color:red;"},"•","\n") if($ecol <= "2"); }elsif($table eq "content" && $ct4rel->{$id}->{template_id} == 227){ my $dir_thumb = "$varenv{data}/$node_meta->{main_id}-thumb/$ct4rel->{$id}->{c_id}"; @@ -1135,16 +1137,13 @@ sub tpl(){ if(($nr > 0) && ($v_journal || $R::v_abschluss) && !$R::rel_id){ - $k="13";# if(!$k); - my $m = $k; - $close_time = $R::s_mtime if($R::s_mtime); + my $m = $k - 4; print $q->Tr(); print $q->td({-style=>"background-color:silver;"},""),"\n"; - print $q->td({-class=>'tdtxt',-style=>'text-align:center;background-color:silver;',-colspan=>"$m"},"Gesamt Umsätze"); + print $q->td({-class=>'tdtxt',-style=>'text-align:center;background-color:silver;',-colspan=>"$k"},"Gesamt Umsätze"); print $q->td({-class=>'tdsum',-colspan=>"4",-style=>'background-color:silver;'},""); - if(1==1){ if($sum_saldo != 0){ $sum_saldo = sprintf('%.2f',$sum_saldo); print $q->Tr(); @@ -1152,7 +1151,6 @@ sub tpl(){ print $q->td({-class=>'tdint',-colspan=>"$m"},"Saldo Summe"); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},""); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_saldo €"); - print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"2"},""); } if($sum_opos != 0){ $sum_opos *= -1; @@ -1162,7 +1160,6 @@ sub tpl(){ print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-class=>'tdint',-colspan=>"$m"},"OPOS Summe"); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_opos €"); - print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},""); } if($sum_ueb != 0){ $sum_ueb = sprintf('%.2f',$sum_ueb); @@ -1171,7 +1168,6 @@ sub tpl(){ print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-class=>'tdint',-colspan=>"$m"},"Überweisung Summe"); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_ueb €"); - print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},""); } if($sum_SEPApayone != 0){ $sum_SEPApayone = sprintf('%.2f',$sum_SEPApayone); @@ -1180,7 +1176,6 @@ sub tpl(){ print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-class=>'tdint',-colspan=>"$m"},"SEPA-Lastschrift (payone) Summe"); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_SEPApayone €"); - print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},""); } if($sum_CCpayone != 0){ $sum_CCpayone = sprintf('%.2f',$sum_CCpayone); @@ -1189,7 +1184,6 @@ sub tpl(){ print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-class=>'tdint',-colspan=>"$m"},"Kreditkarte (payone) Summe"); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_CCpayone €"); - print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},""); } if($sum_ausfall != 0){ $sum_ausfall *= -1; @@ -1199,15 +1193,28 @@ sub tpl(){ print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-class=>'tdint',-colspan=>"$m"},"Zahlungsausfall Summe"); print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_ausfall €"); - print $q->td({-class=>'tdint',-colspan=>"3",-nowrap=>"1"},""); } if($sum_success != 0){ $sum_success = sprintf('%.2f',$sum_success); print $q->Tr(); 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 Summe"); print $q->td({-class=>'tdsum',-colspan=>"1",-nowrap=>"1"},"$sum_success €"); - print $q->td({-class=>'tdsum',-colspan=>"3",-nowrap=>"1"},""); + } + #disabled, only useful by timerange + if(1==2 && $sum_entgelt != 0){ + $sum_entgelt = sprintf('%.2f',$sum_entgelt); + print $q->Tr(); + print $q->td({-style=>"background-color:silver;"},""),"\n"; + print $q->td({-class=>'tdint',-colspan=>"$m"},"Entgelt Summe"); + print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_entgelt €"); + } + if(1==2 && $sum_abr != 0){ + $sum_abr = sprintf('%.2f',$sum_abr); + print $q->Tr(); + print $q->td({-style=>"background-color:silver;"},""),"\n"; + print $q->td({-class=>'tdint',-colspan=>"$m"},"Abrechnung Summe"); + print $q->td({-class=>'tdint',-colspan=>"1",-nowrap=>"1"},"$sum_abr €"); } if($users_dms->{u_id}){ @@ -1216,11 +1223,9 @@ sub tpl(){ print $q->td({-style=>"background-color:silver;"},""),"\n"; print $q->td({-style=>"background-color:silver;",-class=>'tdsum',-colspan=>"$m"},"Tagesabschluss"),"\n"; print $q->td({-style=>"background-color:silver;",-class=>'tdsum',-colspan=>"1",-nowrap=>"1"},$but->checkbox("1","close_trans","","Tagesbericht abschließen und in das Verkaufsjournal senden"),$but->singlesubmit("v_abschluss","Speichern")),"\n"; - print $q->td({-class=>'tdsum',-colspan=>"1",-nowrap=>"1"},""); } } - } } if($varenv{dbname} eq "sharee_kn" && $node_meta->{tpl_id} == 228){ diff --git a/copri4/main/src/Tpl/MandantConf.pm b/copri4/main/src/Tpl/MandantConf.pm index 58bc57f..9f1341f 100755 --- a/copri4/main/src/Tpl/MandantConf.pm +++ b/copri4/main/src/Tpl/MandantConf.pm @@ -137,6 +137,10 @@ sub tpl(){ print $q->end_table; print $q->end_form; print ""; + + my $debug = ""; + $debug = "(ct_table: $node_meta->{ct_table} | main_id: $node_meta->{main_id} | c_id: $ct->{c_id} | tpl_id: $tpl->{tpl_id} | rel_id: $rel->{rel_id})"; + print $q->div({-style=>'z-index:10;font-size:13px;'},"$debug"),"\n" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id}); return $return; } diff --git a/copri4/main/src/scripts/Ilockit_cloud.pl b/copri4/main/src/scripts/Ilockit_cloud.pl index 7929cf4..20bf260 100755 --- a/copri4/main/src/scripts/Ilockit_cloud.pl +++ b/copri4/main/src/scripts/Ilockit_cloud.pl @@ -428,10 +428,10 @@ sub get_positions { print FILE "insert sub get_positions:" . Dumper($insert); #theft mailing - if($theftmove_count > $dbt->{copri_conf}->{theftalarm}->{move_count} && $resp->{speed} $dbt->{copri_conf}->{theftalarm}->{speed} && $resp->{attributes}->{distance} > $dbt->{copri_conf}->{theftalarm}->{meter}){ + if($theftmove_count > $dbt->{copri_conf}->{theftalarm}->{move_count} && $resp->{speed} > $dbt->{copri_conf}->{theftalarm}->{speed} && $resp->{attributes}->{distance} > $dbt->{copri_conf}->{theftalarm}->{meter}){ #send mail - #system("$varenv{basedir}/src/scripts/mailTransportcms.pl '$varenv->{syshost}' 'send_alarm2hotline' '' ''"); - print FILE "send_alarm2hotline, condition: $theftmove_count > $dbt->{copri_conf}->{theftalarm}->{move_count} && $resp->{speed} $dbt->{copri_conf}->{theftalarm}->{speed} && $resp->{attributes}->{distance} > $dbt->{copri_conf}->{theftalarm}->{meter}\n"; + system("$varenv{basedir}/src/scripts/mailTransportcms.pl '$varenv{syshost}' 'send_alarm2hotline' '1' '$c_id' ''"); + print FILE "send_alarm2hotline, condition: $theftmove_count > $dbt->{copri_conf}->{theftalarm}->{move_count} && $resp->{speed} > $dbt->{copri_conf}->{theftalarm}->{speed} && $resp->{attributes}->{distance} > $dbt->{copri_conf}->{theftalarm}->{meter}\n"; } } diff --git a/copri4/shareedms-operator/src/Lib/Mlogic.pm b/copri4/shareedms-operator/src/Lib/Mlogic.pm index 104bc10..0a919fa 100755 --- a/copri4/shareedms-operator/src/Lib/Mlogic.pm +++ b/copri4/shareedms-operator/src/Lib/Mlogic.pm @@ -34,7 +34,6 @@ sub tpl(){ my $users_sharee = shift || ""; my $feedb = shift || ""; - my $return = ""; my $q = new CGI; my $bw = new Basework; my $lb = new Libenz; @@ -130,7 +129,6 @@ sub tpl(){ if($users_dms->{u_id} && $main_id){ - $feedb->{message} .= "\n$return" if($return); $bw->return_feedback($node_meta,$users_dms,$feedb); if($main_id >= "100000"){ @@ -338,7 +336,7 @@ sub tplselect(){ } if($return =~ /failure/ || (ref($feedb) eq "HASH" && $feedb->{message} =~ /failure/)){ - $feedb->{message} .= "\n$return" if($return); + #$feedb->{message} .= "\n$return" if($return); require "Mod/Failure.pm"; &Failure::tpl($varenv,$users_dms->{u_id},$feedb); }else{