diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm
index f1bc1c0..6f40a9a 100755
--- a/copri4/main/src/Mod/APIfunc.pm
+++ b/copri4/main/src/Mod/APIfunc.pm
@@ -25,7 +25,7 @@ use Mod::DBtank;
use Mod::Callib;
use Mod::Basework;
use Mod::Pricing;
-#use Mod::APIsigoclient;#no!
+#use Mod::APIsigclient;#no!
use Data::Dumper;
use Sys::Hostname;
my $hostname = hostname;
@@ -36,7 +36,7 @@ my $dbt = new DBtank;
my $cal = new Callib;
my $bw = new Basework;
my $pri = new Pricing;
-#my $si = new APIsigoclient;
+#my $si = new APIsigclient;
sub new {
my $class = shift;
@@ -1143,7 +1143,7 @@ sub booking_update(){
$update_pos->{owner} = "$owner";
$update_pos->{int10} = "$state_key";
- $update_pos->{txt11} = "$sig_book->{rentalid}" if($sig_book->{rentalid});
+ $update_pos->{txt11} = "$sig_book->{rentalId}" if($sig_book->{rentalId});
$rows = $dbt->update_record($dbh,$update_pos,$record_pos);
if($rows > 0){
@@ -1171,7 +1171,7 @@ sub booking_update(){
$update_pos->{int41} = "$counting->{int41}" if(looks_like_number($counting->{int41}));
$update_pos->{int10} = "$state_key";
- $update_pos->{txt11} = "$sig_book->{rentalid}" if($sig_book->{rentalid});
+ $update_pos->{txt11} = "$sig_book->{rentalId}" if($sig_book->{rentalId});
$rows = $dbt->update_record($dbh,$update_pos,$record_pos);
$booking_values->{response_state} = "OK: available bike " . $q->param('bike') . ", still locked";
@@ -1207,7 +1207,7 @@ sub booking_update(){
$update_cc->{int04} = "$stations_raw->{$id}->{int04}";
$update_pos->{int24} = "1";
$update_pos->{int10} = "$state_key";
- $update_pos->{txt11} = "$sig_book->{rentalid}" if($sig_book->{rentalid});
+ $update_pos->{txt11} = "$sig_book->{rentalId}" if($sig_book->{rentalId});
$update_cc->{txt06} = "$gps";#end content coordinates
$update_pos->{txt06} = "$gps";#end pos coordinates
$update_pos->{int21} = "$gps_age_minutes";
diff --git a/copri4/main/src/Mod/APIjsonserver.pm b/copri4/main/src/Mod/APIjsonserver.pm
index f898f78..441f6c8 100755
--- a/copri4/main/src/Mod/APIjsonserver.pm
+++ b/copri4/main/src/Mod/APIjsonserver.pm
@@ -25,7 +25,7 @@ use Mod::Basework;
use Mod::Shareework;
use Mod::APIfunc;
use Mod::APIjsonclient;
-use Mod::APIsigoclient;
+use Mod::APIsigclient;
use Data::Dumper;
use Sys::Hostname;
my $hostname = hostname;
@@ -42,7 +42,7 @@ sub handler {
my $tk = new Shareework;
my $apif = new APIfunc;
my $jsc = new APIjsonclient;
- my $si = new APIsigoclient;
+ my $si = new APIsigclient;
my $dbh = "";
my %varenv = $cf->envonline();
@@ -185,6 +185,7 @@ elsif($q->param('request') eq "authorization"){
elsif($q->param('request') eq "booking_request"){
($aowner,my $return_merchant) = $apif->fetch_merchant($q,\%varenv,$coo,$q->param('merchant_id'));
$varenv{merchant_id} = $return_merchant->{merchant_id};
+ my $rows = 0;
$response = { %$response, %$return_merchant };
my ($auth,$authraw) = $apif->auth_verify($q);
@@ -241,6 +242,7 @@ elsif($q->param('request') eq "booking_request"){
($ct_bike,$ct_tariff) = $apif->fetch_bike_tariff(\%varenv,$authraw,$bike,$aowner);
my $sig_book = {
+ bikeId => "$ct_bike->{txt22}",
rentalId => "",
reservationId => ""
};
@@ -248,7 +250,7 @@ elsif($q->param('request') eq "booking_request"){
if($ct_bike->{barcode} && $ct_tariff->{barcode}){
#sig reservation. not mandatory
if($ct_bike->{int11} == 3){
- $sig_book = $si->sig_booking(\%varenv,$auth,$ct_bike,"","reserve");
+ $sig_book = $si->sig_booking(\%varenv,$authraw,$ct_bike,"","reserve");
}
$response_book = $apif->booking_request(\%varenv,$authraw,$bike,$ct_bike,$ct_tariff,$aowner,$gps,$sig_book);
}elsif(!$ct_tariff->{barcode}){
@@ -261,6 +263,7 @@ elsif($q->param('request') eq "booking_request"){
#just in time booking
if(ref($response_book) eq "HASH" && $response_book->{response_state} =~ /OK/ && $q->param('state') && $q->param('state') =~ /occupied/){
+ my $booking_values = {};
my $ctpos = {};
my $booking_pos = {
table => "contenttranspos",
@@ -274,13 +277,16 @@ elsif($q->param('request') eq "booking_request"){
#sig booking
if($ctpos->{int11} == 3){
#usecase with reservationId (in ctpos) is in sig not defined, thats because using ct_bike.txt22
- $sig_book = $si->sig_booking(\%varenv,$auth,$ct_bike,$ctpos,"rental");
+ #$sig_book = $si->sig_booking(\%varenv,$authraw,$ct_bike,$ctpos,"rental");
+ system("$varenv{basedir}/src/scripts/sig_client.pl $varenv{syshost} 'rental' $authraw->{c_id} $ctpos->{c_id} &");
+ ($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
+ $response = {%$response, %$booking_values};
+ }else{
+ ($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
+ $response = {%$response, %$booking_values};
}
-
- (my $rows, my $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
- $response = {%$response, %$booking_values};
}else{
- $response = {%$response, %$response_book};
+ $response = {%$response, %$response_book};
}
}
@@ -331,7 +337,8 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
$ctpos = $dbt->fetch_tablerecord($dbh,$booking_pos);
my $sig_book = {
- rentalId => "",
+ bikeId => $ctpos->{txt22},
+ rentalId => $ctpos->{txt11},
reservationId => ""
};
@@ -339,10 +346,10 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
my $booking_values = {};
if($ctpos->{int11} == 3){
- #this sigo request is still not defined
- #$sig_book = $si->sig_booking(\%varenv,$auth,"",$ctpos,"reserve_end");
- $response->{response_state} = "Failure: sigo bike reservation can not be canceled on sigo";
- $response->{response_text} = "Abbruch, die Reservierung kann nicht storniert werden";
+ #this sig request is still not defined
+ #$response->{response_state} = "Failure: sig bike reservation can not be canceled on sig";
+ #$response->{response_text} = "Abbruch, die Reservierung kann nicht storniert werden";
+ $sig_book = $si->sig_booking(\%varenv,$authraw,"",$ctpos,"reserve_end");
($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
}else{
($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
@@ -350,19 +357,24 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
$response = {%$response, %$booking_values};
}elsif($q->param('request') eq "booking_update" && (($q->param('state') && $q->param('state') =~ /occupied|available/) || ($q->param('lock_state') && $q->param('lock_state') =~ /locking|locked|unlocking|unlocked/))){
-
+ my $booking_values = {};
if($ctpos->{int11} == 3){
if($q->param('state') eq "occupied"){
- $sig_book = $si->sig_booking(\%varenv,$auth,"",$ctpos,"rental");
+ #$sig_book = $si->sig_booking(\%varenv,$authraw,"",$ctpos,"rental");
+ system("$varenv{basedir}/src/scripts/sig_client.pl $varenv{syshost} 'rental' $authraw->{c_id} $ctpos->{c_id} &");
}
if($q->param('state') eq "available"){
- $sig_book = $si->sig_booking(\%varenv,$auth,"",$ctpos,"rental_end");
+ #$sig_book = $si->sig_booking(\%varenv,$authraw,"",$ctpos,"rental_end");
+ system("$varenv{basedir}/src/scripts/sig_client.pl $varenv{syshost} 'rental_end' $authraw->{c_id} $ctpos->{c_id} &");
}
- }
- ($rows, my $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
- $response = {%$response, %$booking_values};
+ ($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
+ $response = {%$response, %$booking_values};
+ }else{
+ ($rows, $booking_values) = $apif->booking_update($q,\%varenv,$authraw,$aowner,$sig_book);
+ $response = {%$response, %$booking_values};
+ }
#keep in mind, it works on operator dependency
$bw->log("user_miniquery via $varenv{dbname} exist count:",$authraw->{int23},"");
@@ -493,8 +505,8 @@ elsif($q->param('request') eq "bikes_available"){
$bw->log("Y bikes_available by c_id $authraw->{c_id}, Tarif:",$authraw->{txt30},"");
if($varenv{syshost} eq "shareeapp-sx"){
- ($response->{bikes},my $return2copri->{bikes}) = $si->sigo_available($q,\%varenv,$authraw);
- $tk->sigobike_cupdate($return2copri->{bikes});
+ ($response->{bikes},my $return2copri->{bikes}) = $si->sig_available($q,\%varenv,$authraw);
+ $tk->sigbike_cupdate($return2copri->{bikes});
}else{
$response->{bikes} = $apif->bikes_available($q,\%varenv,$authraw);
}
@@ -700,8 +712,8 @@ elsif($q->param('request') eq "stations_available"){
my ($auth,$authraw) = $apif->auth_verify($q);
$response = { %$response, %$auth };
if($varenv{syshost} eq "shareeapp-sx"){
- ($response->{stations},my $return2copri->{stations}) = $si->sigo_available($q,\%varenv,$authraw);
- $tk->sigostation_cupdate($return2copri->{stations});
+ ($response->{stations},my $return2copri->{stations}) = $si->sig_available($q,\%varenv,$authraw);
+ $tk->sigstation_cupdate($return2copri->{stations});
}else{
($response->{stations}, my $response_raw) = $apif->stations_available($q,\%varenv,$authraw);
}
diff --git a/copri4/main/src/Mod/APIsigoclient.pm b/copri4/main/src/Mod/APIsigclient.pm
similarity index 85%
rename from copri4/main/src/Mod/APIsigoclient.pm
rename to copri4/main/src/Mod/APIsigclient.pm
index 34edee6..6520c08 100755
--- a/copri4/main/src/Mod/APIsigoclient.pm
+++ b/copri4/main/src/Mod/APIsigclient.pm
@@ -1,9 +1,9 @@
-package APIsigoclient;
+package APIsigclient;
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Copyright (c) Rainer Gümpelein, TeilRad GmbH
#
-#Client for sigo
+#Client for sig
#
#380116b5-0522-43da-ab66-477744a731a3
#
@@ -49,18 +49,18 @@ sub new {
my %apikeyconf = $aconf->getall;
my $ua = LWP::UserAgent->new;
- $ua->agent("sharee sigoclient");
+ $ua->agent("sharee sigclient");
my $size = $ua->max_size;
my $bytes = 100000;
$ua->max_size( $bytes );
$ua->default_header( 'x-api-key' => $apikeyconf{sigo}->{api_key} );
#will be called on bikes_available
-sub sigo_available {
+sub sig_available {
my $self = shift;
my $q = shift;
my $varenv = shift || {};
- my $auth = shift || {};
+ my $ctadr = shift || {};
my $response_in = {};
my $dbh = "";
@@ -68,8 +68,8 @@ sub sigo_available {
my $authed = 0;
my $tariff_content = {};
- $authed = 1 if(ref($auth) eq "HASH" && $auth->{c_id} && $auth->{c_id} > 0);
- (my $bike_group,my $user_group,$tariff_content,my $user_tour) = $apif->fetch_tariff($varenv->{dbname},$auth,$q->param('authcookie'));
+ $authed = 1 if(ref($ctadr) eq "HASH" && $ctadr->{c_id} && $ctadr->{c_id} > 0);
+ (my $bike_group,my $user_group,$tariff_content,my $user_tour) = $apif->fetch_tariff($varenv->{dbname},$ctadr,$q->param('ctadrcookie'));
my $hotline_hash = {
table => "contentuser",
@@ -80,15 +80,15 @@ sub sigo_available {
my $hotline_data = $dbt->fetch_record($dbh,$hotline_hash);
my $td_template = $dbt->rental_description_template();
- open(FILE,">>$varenv->{logdir}/APIsigo_client.log");
- print FILE "\n*** $now_dt 'sigo_available' \n";
+ open(FILE,">>$varenv->{logdir}/APIsigclient.log");
+ print FILE "\n*** $now_dt 'sig_available' \n";
#my $endpoint = "https://sigo.dev.sigo.green/api/v1/bikes";
my $endpoint = "$dbt->{operator}->{$varenv->{dbname}}->{endpoint}/bikes";
my $response_out = {};
my $return2copri = {};
my $rest_json = "";
- (my $ret_json, my $ret_status) = $self->get_sigo("$endpoint",$rest_json);
+ (my $ret_json, my $ret_status) = $self->get_sig("$endpoint",$rest_json);
eval {
$response_in = decode_json($ret_json);
$now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime;
@@ -200,13 +200,13 @@ sub sigo_available {
$response_out->{$bike}->{tariff_description}->{max_eur_per_day} = "$tariff_content->{$tid}->{int17}" if($tariff_content->{$tid}->{int17});
$response_out->{$bike}->{tariff_description}->{free_hours} = "$tariff_content->{$tid}->{int16}" if($tariff_content->{$tid}->{int16});
$response_out->{$bike}->{tariff_description}->{abo_eur_per_month} = "$tariff_content->{$tid}->{int15}" if($tariff_content->{$tid}->{int15});
- $response_out->{$bike}->{tariff_description}->{operator_agb} = "Mit der Mietrad Anmietung wird folgender Betreiber AGB zugestimmt (Demo)." if($auth->{c_id} && ($auth->{c_id} == 1842 || $auth->{c_id} == 5781 || $auth->{c_id} == 22262));
+ $response_out->{$bike}->{tariff_description}->{operator_agb} = "Mit der Mietrad Anmietung wird folgender Betreiber AGB zugestimmt (Demo)." if($ctadr->{c_id} && ($ctadr->{c_id} == 1842 || $ctadr->{c_id} == 5781 || $ctadr->{c_id} == 22262));
#new rental_description
$response_out->{$bike}->{rental_description}->{name} = "$tariff_content->{$tid}->{ct_name}";
$response_out->{$bike}->{rental_description}->{id} = "$tariff_content->{$tid}->{barcode}";
$response_out->{$bike}->{rental_description}->{rental_info}->{1} = ["Tracking","Ich stimme der Speicherung (Tracking) meiner Fahrstrecke zwecks wissenschaftlicher Auswertung und Berechnung der CO2-Einsparung zu!"];#TODO if($resp->{gps_tracker_id});
- $response_out->{$bike}->{rental_description}->{rental_info}->{2} = ["AGB","Mit der Mietrad Anmietung wird folgender Betreiber AGB zugestimmt (als Demo sharee AGB)."] if($auth->{c_id} && ($auth->{c_id} == 1842 || $auth->{c_id} == 5781 || $auth->{c_id} == 22262));
+ $response_out->{$bike}->{rental_description}->{rental_info}->{2} = ["AGB","Mit der Mietrad Anmietung wird folgender Betreiber AGB zugestimmt (als Demo sharee AGB)."] if($ctadr->{c_id} && ($ctadr->{c_id} == 1842 || $ctadr->{c_id} == 5781 || $ctadr->{c_id} == 22262));
my $i = 0;
foreach my $td (sort keys (%$td_template)){
@@ -262,17 +262,17 @@ sub sigo_available {
print FILE "warn:" . $@ . "\n";
}
- print FILE "sigo_available response_out from response_in\n" . Dumper($response_out) . "\n";
+ print FILE "sig_available response_out from response_in\n" . Dumper($response_out) . "\n";
close(FILE);
return ($response_out,$return2copri);
-}#end sigo_available
+}#end sig_available
#POST resverve, rental, ...
sub sig_booking {
my $self = shift;
my $varenv = shift || {};
- my $auth = shift || {};
+ my $ctadr = shift || {};
my $ct_bike = shift || {};
my $ctpos = shift || {};
my $todo = shift || "";
@@ -281,8 +281,8 @@ sub sig_booking {
my $owner = 169;
my $sig_book = {};
- open(FILE,">>$varenv->{logdir}/APIsigo_client.log");
- print FILE "\n*** $now_dt 'sigo_post $todo' \n";
+ open(FILE,">>$varenv->{logdir}/APIsigclient.log");
+ print FILE "\n*** $now_dt 'sig_post $todo' \n";
my $endpoint = "$dbt->{operator}->{$varenv->{dbname}}->{endpoint}/";
my %json = ();
@@ -292,25 +292,24 @@ sub sig_booking {
$endpoint .= "bikes/reserve";
%json = (
bikeId => "$ct_bike->{txt22}",
- email => "r.guempelein\@sharee.bike"
+ email => "$ctadr->{txt08}"
);
}
- #reservation end, this sigo request is still not defined
+ #reservation end, this sig request is still not defined. maybe end by rentalId
elsif($todo eq "reserve_end"){
$endpoint .= "reserve/end";
%json = (
reservationId => "$ctpos->{txt10}",
- email => "r.guempelein\@sharee.bike"
+ email => "$ctadr->{txt08}"
);
}
#rental start
elsif($todo eq "rental"){
$endpoint .= "rental";
- my $sig_serial = $ctpos->{txt22} || $ct_bike->{txt22};
+ my $sig_bikeId = $ctpos->{txt22} || $ct_bike->{txt22};
%json = (
- bikeId => "$sig_serial",
- #reservationId => "$ctpos->{txt10}",#not in sig implemented
- email => "r.guempelein\@sharee.bike"
+ bikeId => "$sig_bikeId",
+ email => "$ctadr->{txt08}"
);
}
#rental end
@@ -318,7 +317,7 @@ sub sig_booking {
$endpoint .= "rental/end";
%json = (
rentalId => "$ctpos->{txt11}",
- email => "r.guempelein\@sharee.bike"
+ email => "$ctadr->{txt08}"
);
#keep in mind, it will return no json, just text: "Rental Ended"
}
@@ -332,16 +331,16 @@ sub sig_booking {
if(ref(\%json) eq "HASH" && $json{email}){
my $rest_json = encode_json(\%json);
- (my $ret_json, my $ret_status) = $self->post_sigo($endpoint,$rest_json);
+ (my $ret_json, my $ret_status) = $self->post_sig($endpoint,$rest_json);
$now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime;
eval {
$sig_book = decode_json($ret_json);
- print FILE "<--- $now_dt sig_booking sigo_post $todo response_in with status_line: $ret_status\n" . Dumper($sig_book);
+ print FILE "<--- $now_dt sig_booking sig_post $todo response_in with status_line: $ret_status\n" . Dumper($sig_book);
#print $ret_json . "\n";
};
if ($@){
- print FILE "<--- $now_dt failure sig_booking sigo_post $todo raw response_in with status_line: $ret_status\n" . Dumper($ret_json) . "\n";
+ print FILE "<--- $now_dt failure sig_booking sig_post $todo raw response_in with status_line: $ret_status\n" . Dumper($ret_json) . "\n";
#warn $@;
print FILE "warn:" . $@ . "\n";
}
@@ -349,10 +348,26 @@ sub sig_booking {
if(ref($sig_book) ne "HASH"){
$sig_book = {
+ bikeId => "",
rentalId => "",
reservationId => ""
};
- print FILE "<--- $now_dt failure sig_booking sigo_post $todo , reset sig_book hash to empty\n";
+ print FILE "<--- $now_dt failure sig_booking sig_post $todo , reset sig_book hash to empty\n";
+ }
+
+
+ if($ctpos->{c_id}){
+ my $update_pos = {
+ table => "contenttranspos",
+ mtime => "now()",
+ owner => "169",
+ };
+ my $rows = 0;
+ $update_pos->{txt10} = "$sig_book->{reservationId}" if($sig_book->{reservationId});
+ $update_pos->{txt11} = "$sig_book->{rentalId}" if($sig_book->{rentalid});
+ $rows = $dbt->update_record($dbh,$update_pos,$ctpos);
+
+ print FILE "<--- rows: $rows, update_pos: $ctpos->{c_id}, with:" . Dumper($update_pos) . "\n";
}
close(FILE);
@@ -361,15 +376,15 @@ sub sig_booking {
#main GET
-sub get_sigo {
+sub get_sig {
my $self = shift;
my $endpoint = shift || "";
my $rest_json = shift || "";
- my $sigo_request = "$endpoint";
+ my $sig_request = "$endpoint";
- print FILE "===> GET sigo >> " . $sigo_request . "\n" . $rest_json . "\n";
+ print FILE "===> GET sig >> " . $sig_request . "\n" . $rest_json . "\n";
- my $req = HTTP::Request->new(GET => "$sigo_request");
+ my $req = HTTP::Request->new(GET => "$sig_request");
$req->content_type('application/json');
$req->content($rest_json);
@@ -386,15 +401,15 @@ sub get_sigo {
}
#main POST
-sub post_sigo {
+sub post_sig {
my $self = shift;
my $endpoint = shift || "";
my $rest_json = shift || "";
- my $sigo_request = "$endpoint";
+ my $sig_request = "$endpoint";
- print FILE "===> POST sigo >> " . $sigo_request . "\n" . $rest_json . "\n";
+ print FILE "===> POST sig >> " . $sig_request . "\n" . $rest_json . "\n";
- my $req = HTTP::Request->new(POST => "$sigo_request");
+ my $req = HTTP::Request->new(POST => "$sig_request");
$req->content_type('application/json');
$req->content($rest_json);
diff --git a/copri4/main/src/Mod/APIxmlserver.pm b/copri4/main/src/Mod/APIxmlserver.pm
index ccabd87..271eee4 100755
--- a/copri4/main/src/Mod/APIxmlserver.pm
+++ b/copri4/main/src/Mod/APIxmlserver.pm
@@ -157,10 +157,12 @@ sub handler {
#keep all and add only LV userID if user email still exist
my $update = {
- table => "contentadr",
- mtime => 'now()',
- owner => "$owner",
- int01 => $q->escapeHTML($xmlref->{userID}),
+ table => "contentadr",
+ txt17 => "sharee_lv",
+ txt30 => "5511",
+ mtime => 'now()',
+ owner => "$owner",
+ int01 => $q->escapeHTML($xmlref->{userID}),
};
my $rows = $dbt->update_record($dbh,$update,$record);
diff --git a/copri4/main/src/Mod/DBtank.pm b/copri4/main/src/Mod/DBtank.pm
index 56fe191..db643d4 100755
--- a/copri4/main/src/Mod/DBtank.pm
+++ b/copri4/main/src/Mod/DBtank.pm
@@ -276,7 +276,7 @@ sub users_map(){
sub channel_map(){
my $self = shift;
my $channel = {
- 169 => "sigo connector",
+ 169 => "sig connector",
173 => "merchant fallback",#mig
175 => "example App",#mig
176 => "Mein konrad App",#mig
@@ -1314,6 +1314,7 @@ sub insert_pos(){
my $status = shift || "";
my $owner = shift || "";
my $sig_book = shift || {};
+ #txt11=$sig_book->{rentalId} will be set on booking_update
$ct_name = $ct->{barcode} if(!$ct_name);#artikelnr or bikenr
my $prefix = "";
@@ -1366,7 +1367,7 @@ sub insert_pos(){
my $sth;
#Verleihräder
if($ct->{template_id} && $ct->{template_id} == 205){#Leihrad_list
- $sth = $dbh->prepare("INSERT INTO contenttranspos (ct_id,cc_id,ca_id,ct_name,barcode,txt01,txt08,txt02,txt09,txt12,itime,start_time,end_time,int02,int03,int06,int04,txt05,txt06,txt07,int10,int12,int13,owner,int07,txt04,int09,int17,int15,int16,int11,int18,int19,txt17,txt18,int20,int25,int34,txt22,txt10,int35,int36,int37,time01,time02) VALUES ('$ctt_id','$ct->{c_id}','$ctadr->{c_id}','$ct_name','$ct->{barcode}','$ct->{txt01}','$user_name','$ct->{txt02}','$ctadr->{txt09}','$prefix',now(),now(),'$endRental','$unit_price','$menge','$station','$station','$ct->{txt06}','$ct->{txt06}','$ct->{txt07}','$status','$from_main_id','$deviceId','$owner','$rabatt','$tariff_desc','$tariff_nr','$daymax_price','$abo_price','$free_hours','$ct->{int11}','$sharing_type','$bike_charge','$ct->{txt17}','$ct->{txt18}','$ct->{int20}','$trackon','$staff','$ct->{txt22}','$sig_book->{reservationId}','$unit_price1','$unit_price2','$start_price','$unit_time','$free_time') RETURNING c_id");
+ $sth = $dbh->prepare("INSERT INTO contenttranspos (ct_id,cc_id,ca_id,ct_name,barcode,txt01,txt08,txt02,txt09,txt12,itime,start_time,end_time,int02,int03,int06,int04,txt05,txt06,txt07,int10,int12,int13,owner,int07,txt04,int09,int17,int15,int16,int11,int18,int19,txt17,txt18,int20,int25,int34,txt22,txt10,int35,int36,int37,time01,time02) VALUES ('$ctt_id','$ct->{c_id}','$ctadr->{c_id}','$ct_name','$ct->{barcode}','$ct->{txt01}','$user_name','$ct->{txt02}','$ctadr->{txt09}','$prefix',now(),now(),'$endRental','$unit_price','$menge','$station','$station','$ct->{txt06}','$ct->{txt06}','$ct->{txt07}','$status','$from_main_id','$deviceId','$owner','$rabatt','$tariff_desc','$tariff_nr','$daymax_price','$abo_price','$free_hours','$ct->{int11}','$sharing_type','$bike_charge','$ct->{txt17}','$ct->{txt18}','$ct->{int20}','$trackon','$staff','$sig_book->{bikeId}','$sig_book->{reservationId}','$unit_price1','$unit_price2','$start_price','$unit_time','$free_time') RETURNING c_id");
}else{
$sth = $dbh->prepare("INSERT INTO contenttranspos (ct_id,cc_id,ca_id,ct_name,barcode,txt08,txt09,itime,int02,int03,txt01,txt06,txt07,int10,int12,owner) VALUES ('$ctt_id','$ct->{c_id}','$ctadr->{c_id}','$ct_name','0','$user_name','$ctadr->{txt09}',now(),'$unit_price1','1','$ct->{txt01}','$ct->{txt06}','$ct->{txt07}','0','$from_main_id','$owner') RETURNING c_id");
}
diff --git a/copri4/main/src/Mod/Indexsharee.pm b/copri4/main/src/Mod/Indexsharee.pm
index 8f11103..5fe066f 100755
--- a/copri4/main/src/Mod/Indexsharee.pm
+++ b/copri4/main/src/Mod/Indexsharee.pm
@@ -353,8 +353,8 @@ sub handler {
}elsif($R::rel_edit eq "new_relation" && $R::main_id && $R::main_id >= 200000){
$return = $pl->new_relation($R::main_id,$users_dms->{u_id});
}elsif($R::rel_edit eq "save_ctuser" && $R::main_id && $R::main_id >= 200000){
- $return = "failure::TODO Service-Config save";
- #$return = $pl->save_ctuser($users_dms);
+ $return = "failure::under development, $node_meta->{tpl_name}";
+ #$return = $pl->save_service_desc($users_dms);
}elsif($R::rel_edit && $R::main_id && $R::main_id >= 200000){
$return = $pm->maininit($users_dms);
}
diff --git a/copri4/main/src/Mod/Prelib.pm b/copri4/main/src/Mod/Prelib.pm
index 14afa60..822ac5a 100755
--- a/copri4/main/src/Mod/Prelib.pm
+++ b/copri4/main/src/Mod/Prelib.pm
@@ -458,4 +458,24 @@ sub set_usertarif {
return $ret;
}
+sub save_service_desc {
+ my $self = shift;
+ my $users_dms = shift;
+ my @keywords = $q->param;
+
+ my @tpl_desc = ();
+ foreach(@keywords){
+ my @val = $q->param($_);
+ my $valxx = $q->escapeHTML("@val");
+
+ if($_ =~ /txt\d/){
+ print $_ . ":" . $valxx . "
\n";
+ #@tpl_desc = $q->param($_);
+ }
+ }
+ #my $tpl_obj = join('=',@tpl_desc);
+ #print $tpl_obj . "
\n";
+
+}
+
1;
diff --git a/copri4/main/src/Mod/Shareework.pm b/copri4/main/src/Mod/Shareework.pm
index bfa28af..85c7628 100755
--- a/copri4/main/src/Mod/Shareework.pm
+++ b/copri4/main/src/Mod/Shareework.pm
@@ -781,16 +781,16 @@ sub send_password(){
}
-#sigobike just like caching and not realy used by app
-sub sigobike_cupdate {
+#sigbike just like caching and not realy used by app
+sub sigbike_cupdate {
my $self = shift;
- my $record_sigo = shift;
+ my $record_sig = shift;
my $dbh = "";
my $rows = 0;
- foreach my $bid (keys (%$record_sigo)){
+ foreach my $bid (keys (%$record_sig)){
my $update = {
- %{$record_sigo->{$bid}},
+ %{$record_sig->{$bid}},
table => "content",
template_id => "205",
main_id => "300102",
@@ -798,12 +798,12 @@ sub sigobike_cupdate {
owner => "169",
};
- $bw->log("UPDATE content from record_sigo with bike nr:",$update,"");
- $rows = $dbt->update_record($dbh,$update,$record_sigo->{$bid});
+ $bw->log("UPDATE content from record_sig with bike nr:",$update,"");
+ $rows = $dbt->update_record($dbh,$update,$record_sig->{$bid});
if($rows != 1){
my $c_id = "";
$update->{itime} = "now()";
- $bw->log("INSERT content from record_sigo with bike nr:",$update,"");
+ $bw->log("INSERT content from record_sig with bike nr:",$update,"");
$c_id = $dbt->insert_contentoid($dbh,$update,"");
$rows = 1 if($c_id);
}
@@ -812,16 +812,16 @@ sub sigobike_cupdate {
}
-#sigostation just like caching and not realy used by app
-sub sigostation_cupdate {
+#sigstation just like caching and not realy used by app
+sub sigstation_cupdate {
my $self = shift;
- my $record_sigo = shift;
+ my $record_sig = shift;
my $dbh = "";
my $rows = 0;
- foreach my $sid (keys (%$record_sigo)){
+ foreach my $sid (keys (%$record_sig)){
my $update = {
- %{$record_sigo->{$sid}},
+ %{$record_sig->{$sid}},
table => "content",
template_id => "225",
main_id => "300016",
@@ -829,12 +829,12 @@ sub sigostation_cupdate {
owner => "169",
};
- $bw->log("UPDATE content from record_sigo with bike nr:",$update,"");
- $rows = $dbt->update_record($dbh,$update,$record_sigo->{$sid});
+ $bw->log("UPDATE content from record_sig with bike nr:",$update,"");
+ $rows = $dbt->update_record($dbh,$update,$record_sig->{$sid});
if($rows != 1){
my $c_id = "";
$update->{itime} = "now()";
- $bw->log("INSERT content from record_sigo with bike nr:",$update,"");
+ $bw->log("INSERT content from record_sig with bike nr:",$update,"");
$c_id = $dbt->insert_contentoid($dbh,$update,"");
$rows = 1 if($c_id);
}
diff --git a/copri4/main/src/Tpl/BaseEdit.pm b/copri4/main/src/Tpl/BaseEdit.pm
index 833ab78..e70704d 100755
--- a/copri4/main/src/Tpl/BaseEdit.pm
+++ b/copri4/main/src/Tpl/BaseEdit.pm
@@ -55,9 +55,9 @@ sub tpl(){
my $u_id = $1 if($R::u_id && $R::u_id =~ /(\d+)/);
$u_id = $1 if($R::c_idadr && $R::c_idadr =~ /(\d+)/ && $R::base_edit eq "new_dmsusers");
my ($edit,$copy_key,$save_key,$relate_key,$move_key,$delete_key,$package_key);
- my $tpl;
- my @tpl_order;
- my $edit_template;
+ my $tpl = {};
+ my @tpl_order = ();
+ my $edit_template = "";
my $bg_color = "grey";
my $ctrel = {};
if($node_meta->{ct_table} eq "content" && $node_meta->{tpl_id}){
@@ -258,26 +258,41 @@ EOF
;
}
+ @tpl_order = split /,/,$tpl->{tpl_order};
#2. table content
print $q->start_table({-border=>'0', -width=>'100%',-align=>'center', -cellpadding=>'3', -cellspacing=>'0'});
print "