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{