diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 2fac867..6f26d8a 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -805,7 +805,7 @@ sub booking_update(){ station_state => "", co2saving => "", response_state => "OK 1017: No update", - response_text => "Es wurden keine Daten aktualisiert", + response_text => "Der Mietstatus wurde nicht geändert.", }; my $pref = { @@ -945,7 +945,9 @@ sub booking_update(){ $ct_state = $state_key; - }elsif($gps && $gps_age_minutes <= 3){#client GPS must have + } + #client GPS must have. sigo ist done without client gps + elsif(($gps && $gps_age_minutes <= 3) || ($record_pos->{int11} == 3)){ #geofencing for Ilockit my $geo_distance_next = 100000; my $station_next = 0; @@ -954,9 +956,9 @@ sub booking_update(){ foreach my $id (sort { $stations_raw->{$a}->{barcode} <=> $stations_raw->{$b}->{barcode} } keys (%$stations_raw)){ my $latitude_station = $1 if($stations_raw->{$id}->{txt06} =~ /^(\d+\.\d+)/); my $longitude_station = $1 if($stations_raw->{$id}->{txt06} =~ /(\d+\.\d+)$/); - if(!looks_like_number($latitude) || !looks_like_number($longitude)){ + if((!looks_like_number($latitude) || !looks_like_number($longitude)) && ($record_pos->{int11} != 3)){ $geo_debug .= "ERROR no user GPS: $stations_raw->{$id}->{barcode}|$latitude,$longitude,$latitude_station,$longitude_station --> $geo_distance Meter\n"; - }elsif(looks_like_number($latitude) && looks_like_number($longitude) && looks_like_number($latitude_station) && looks_like_number($longitude_station)){ + }elsif((looks_like_number($latitude) && looks_like_number($longitude) && looks_like_number($latitude_station) && looks_like_number($longitude_station)) || ($record_pos->{int11} == 3)){ $update_pos->{owner_end} = "$owner"; $update_pos->{end_time} = "now()"; @@ -1025,8 +1027,8 @@ sub booking_update(){ #print "$geo_debug\n"; $bw->log("GEOfencing geo_debug:$geo_debug",$q,""); - #end if gps && gps_age <= 3 - }else{ + #end if gps && gps_age <= 3 and not sigo + }elsif($record_pos->{int11} != 3){ if(!$gps){ $booking_values->{response_state} = "Failure 2245: No GPS data, state change forbidden."; $booking_values->{response_text} = "Fehler! Keine GPS Standortdaten, Die Miete Fahrrad Nr. " . $q->param('bike') . " kann wegen fehlendem GPS nicht $state_text werden. Bitte aktivieren Sie das GPS."; diff --git a/copri4/main/src/Mod/APIjsonserver.pm b/copri4/main/src/Mod/APIjsonserver.pm index c05fc72..5d04bd0 100755 --- a/copri4/main/src/Mod/APIjsonserver.pm +++ b/copri4/main/src/Mod/APIjsonserver.pm @@ -435,7 +435,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} = $si->sigo_available($q,\%varenv,$authraw); + ($response->{bikes},my $return2copri->{bikes}) = $si->sigo_available($q,\%varenv,$authraw); + $tk->sigobike_cupdate($return2copri->{bikes}); }else{ $response->{bikes} = $apif->bikes_available($q,\%varenv,$authraw); } diff --git a/copri4/main/src/Mod/APIsigoclient.pm b/copri4/main/src/Mod/APIsigoclient.pm index 9eebad9..4ff55b1 100755 --- a/copri4/main/src/Mod/APIsigoclient.pm +++ b/copri4/main/src/Mod/APIsigoclient.pm @@ -77,7 +77,8 @@ sub sigo_available { my $endpoint = "$dbt->{operator}->{$varenv->{dbname}}->{endpoint}/bikes"; - my $return = {}; + my $response_out = {}; + my $return2copri = {}; my $rest_json = ""; my $ret_json = get_sigo("$endpoint",$rest_json); eval { @@ -95,23 +96,23 @@ sub sigo_available { my $station = "SX$resp->{site}->{id}"; if($station && looks_like_number($resp->{site}->{id}) && $resp->{site}->{status} eq "ACTIVE" && $resp->{site}->{lat} && $resp->{site}->{lon}){ print FILE "Station: $station\n"; - $return->{$station}->{station} = "$station"; - $return->{$station}->{authed} = "$authed"; - $return->{$station}->{uri_operator} = "$dbt->{operator}->{$varenv->{dbname}}->{operatorApp}"; - $return->{$station}->{description} = "$resp->{site}->{address}" || ""; - $return->{$station}->{station_group} = ["SX300102"];#E-Lastenrad - $return->{$station}->{gps}->{latitude} = "$resp->{site}->{lat}" || ""; - $return->{$station}->{gps}->{longitude} = "$resp->{site}->{lon}" || ""; - $return->{$station}->{gps_radius} = "75"; - $return->{$station}->{state} = "defect"; + $response_out->{$station}->{station} = "$station"; + $response_out->{$station}->{authed} = "$authed"; + $response_out->{$station}->{uri_operator} = "$dbt->{operator}->{$varenv->{dbname}}->{operatorApp}"; + $response_out->{$station}->{description} = "$resp->{site}->{address}" || ""; + $response_out->{$station}->{station_group} = ["SX300102"];#E-Lastenrad + $response_out->{$station}->{gps}->{latitude} = "$resp->{site}->{lat}" || ""; + $response_out->{$station}->{gps}->{longitude} = "$resp->{site}->{lon}" || ""; + $response_out->{$station}->{gps_radius} = "75"; + $response_out->{$station}->{state} = "defect"; if($resp->{site}->{status} eq "ACTIVE"){#? - $return->{$station}->{state} = "available"; + $response_out->{$station}->{state} = "available"; }elsif($resp->{site}->{status} eq "MAINTANANCE"){ - $return->{$station}->{state} = "maintanance"; + $response_out->{$station}->{state} = "maintanance"; }elsif($resp->{site}->{status} eq "OFFLINE"){ - $return->{$station}->{state} = "defect"; + $response_out->{$station}->{state} = "defect"; } - $return->{$station}->{operator_data} = {}; + $response_out->{$station}->{operator_data} = {}; } }#end stations_available @@ -122,45 +123,45 @@ sub sigo_available { my $bike = "SX$resp->{mobile_bike_id}"; if($bike && looks_like_number($resp->{mobile_bike_id}) && $resp->{status} eq "ACTIVE"){ print FILE "Bike: $bike\n"; - $return->{$bike}->{bike} = "$bike"; - $return->{$bike}->{authed} = "$authed"; - $return->{$bike}->{station} = "SX$resp->{site}->{id}" || ""; - $return->{$bike}->{uri_operator} = "$dbt->{operator}->{$varenv->{dbname}}->{operatorApp}"; - $return->{$bike}->{description} = "E-Lastenrad"; - $return->{$bike}->{gps}->{latitude} = "$resp->{state}->{lat}" || ""; - $return->{$bike}->{gps}->{longitude} = "$resp->{state}->{lon}" || ""; - $return->{$bike}->{bike_charge} = "$resp->{energy_level}" || "0"; - $return->{$bike}->{state} = "defect"; + $response_out->{$bike}->{bike} = "$bike"; + $response_out->{$bike}->{authed} = "$authed"; + $response_out->{$bike}->{station} = "SX$resp->{site}->{id}" || ""; + $response_out->{$bike}->{uri_operator} = "$dbt->{operator}->{$varenv->{dbname}}->{operatorApp}"; + $response_out->{$bike}->{description} = "E-Lastenrad"; + $response_out->{$bike}->{gps}->{latitude} = "$resp->{state}->{lat}" || ""; + $response_out->{$bike}->{gps}->{longitude} = "$resp->{state}->{lon}" || ""; + $response_out->{$bike}->{bike_charge} = "$resp->{energy_level}" || "0"; + $response_out->{$bike}->{state} = "defect"; if($resp->{status} eq "ACTIVE"){#? - $return->{$bike}->{state} = "available"; + $response_out->{$bike}->{state} = "available"; }elsif($resp->{status} eq "MAINTANANCE"){ - $return->{$bike}->{state} = "maintanance"; + $response_out->{$bike}->{state} = "maintanance"; }elsif($resp->{status} eq "OFFLINE"){ - $return->{$bike}->{state} = "defect"; + $response_out->{$bike}->{state} = "defect"; }elsif($resp->{status} eq "OPERATION"){#? - $return->{$bike}->{state} = "occupied"; + $response_out->{$bike}->{state} = "occupied"; } - #$return->{$bike}->{lock_state} = "undefined";#? - #$return->{$bike}->{lock_state} = "unlocked";# I think default should be unlocked - $return->{$bike}->{lock_state} = "locked"; + #$response_out->{$bike}->{lock_state} = "undefined";#? + #$response_out->{$bike}->{lock_state} = "unlocked";# I think default should be unlocked + $response_out->{$bike}->{lock_state} = "locked"; if($resp->{state}->{locked}){ - $return->{$bike}->{lock_state} = "locked"; + $response_out->{$bike}->{lock_state} = "locked"; } - $return->{$bike}->{system} = "sigo"; - $return->{$bike}->{bike_group} = ["SX300102"];#E-Lastenrad - $return->{$bike}->{unlock_allowed} = "1"; - $return->{$bike}->{tariff_description} = {}; + $response_out->{$bike}->{system} = "sigo"; + $response_out->{$bike}->{bike_group} = ["SX300102"];#E-Lastenrad + $response_out->{$bike}->{unlock_allowed} = "1"; + $response_out->{$bike}->{tariff_description} = {}; if(ref($tariff_content) eq "HASH"){ foreach my $tid (sort { $tariff_content->{$a}->{barcode} <=> $tariff_content->{$b}->{barcode} } keys (%$tariff_content)){ - $return->{$bike}->{tariff_description}->{name} = "$tariff_content->{$tid}->{ct_name}"; - $return->{$bike}->{tariff_description}->{number} = "$tariff_content->{$tid}->{barcode}"; - $return->{$bike}->{tariff_description}->{eur_per_hour} = "$tariff_content->{$tid}->{int02}" || "0"; - $return->{$bike}->{tariff_description}->{max_eur_per_day} = "$tariff_content->{$tid}->{int17}" if($tariff_content->{$tid}->{int17}); - $return->{$bike}->{tariff_description}->{free_hours} = "$tariff_content->{$tid}->{int16}" if($tariff_content->{$tid}->{int16}); - $return->{$bike}->{tariff_description}->{abo_eur_per_month} = "$tariff_content->{$tid}->{int15}" if($tariff_content->{$tid}->{int15}); + $response_out->{$bike}->{tariff_description}->{name} = "$tariff_content->{$tid}->{ct_name}"; + $response_out->{$bike}->{tariff_description}->{number} = "$tariff_content->{$tid}->{barcode}"; + $response_out->{$bike}->{tariff_description}->{eur_per_hour} = "$tariff_content->{$tid}->{int02}" || "0"; + $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}); #TODO, have to be set on Tarif table - $return->{$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($auth->{c_id} && ($auth->{c_id} == 1842 || $auth->{c_id} == 5781 || $auth->{c_id} == 22262)); } } } @@ -174,10 +175,10 @@ sub sigo_available { warn $@; } - print FILE "response_in return\n" . Dumper($return) . "\n"; + print FILE "response_out from response_in\n" . Dumper($response_out) . "\n"; close(FILE); - return $return; + return ($response_out,$return2copri); } #main GET diff --git a/copri4/main/src/Mod/DBtank.pm b/copri4/main/src/Mod/DBtank.pm index e538770..0857c2c 100755 --- a/copri4/main/src/Mod/DBtank.pm +++ b/copri4/main/src/Mod/DBtank.pm @@ -203,7 +203,8 @@ sub update_operatorsloop { #} } } - } + }#end of reminder + } }elsif($todo eq "delete"){ $bw->log("DELETE adr from operators and at last primary $sharee_operator",$record_primary,""); @@ -847,15 +848,17 @@ sub update_record(){ my $rows = 0; #print Dumper($update); - if(looks_like_number($record->{c_id})){ - $where = "where c_id = $record->{c_id}"; + if(looks_like_number($record->{c_id}) || (looks_like_number($record->{barcode}) && $record->{barcode} > 0)){ + if($record->{c_id}){ + $where = "where c_id = $record->{c_id}"; + }else{ + $where = "where barcode = $record->{barcode}"; + } foreach my $key (keys %$update){ $update->{$key} =~ s/^\s//g if($update->{$key}); $update->{$key} =~ s/\s$//g if($update->{$key}); my $value = $update->{$key} || ""; $value = "$update->{$key}" if(looks_like_number($update->{$key})); - #my $value = $q->escapeHTML($update->{$key});#In DB context will always done by API - #print "$key=$value|$update->{$key}
\n"; if($key =~ /^(ct_name$|txt\d+|state|start_time|end_time|byte)/){ if($value && $value eq "null"){ $set .= " $key=$value,"; diff --git a/copri4/main/src/Mod/Prelib.pm b/copri4/main/src/Mod/Prelib.pm index ba9c371..58f7bb3 100755 --- a/copri4/main/src/Mod/Prelib.pm +++ b/copri4/main/src/Mod/Prelib.pm @@ -203,9 +203,9 @@ sub new_relation { if($template_id == 205){ $prefix_id++; my $new_submain_id = $dbt->get_freenode($dbh,$prefix_id); - my $new_subtemplate_id = $dbt->get_freetpl($dbh,"400","499"); + my $new_subtemplate_id = $dbt->get_freetpl($dbh,"401","499"); - my $ret_tpl_id = $dbt->copy_template($dbh,"400",$new_subtemplate_id,$owner); + my $ret_tpl_id = $dbt->copy_template($dbh,"401",$new_subtemplate_id,$owner); my $insert_sub = { main_id => $new_submain_id, diff --git a/copri4/main/src/Mod/Shareework.pm b/copri4/main/src/Mod/Shareework.pm index 76e4f0e..5282e94 100755 --- a/copri4/main/src/Mod/Shareework.pm +++ b/copri4/main/src/Mod/Shareework.pm @@ -1034,6 +1034,34 @@ sub send_password(){ } +#TODO, not ready! +sub sigobike_cupdate { + my $self = shift; + my $record_sigo = shift; + my $dbh = ""; + + my $rows = 0; + foreach my $bid (keys (%$record_sigo)){ + my $update = { + %{$record_sigo->{$bid}}, + table => "content", + template_id => "205", + main_id => "300102", + mtime => "now()", + owner => "169", + }; + + $bw->log("UPDATE content from record_sigo with bike nr:",$record_sigo->{$bid}->{barcode},""); + #$rows = $self->update_record($dbh,$update,$record_sigo->{$bid}->{barcode}); + if($rows != 1){ + my $c_id = ""; + $bw->log("INSERT content from record_sigo with bike nr:",$record_sigo->{$bid}->{barcode},""); + #$c_id = $self->insert_contentoid($dbh,$update,""); + $rows = 1 if($c_id); + } + } + return $rows; +} 1; diff --git a/copri4/main/src/Tpl/TransPositionen.pm b/copri4/main/src/Tpl/TransPositionen.pm index 433dd4f..29f187b 100755 --- a/copri4/main/src/Tpl/TransPositionen.pm +++ b/copri4/main/src/Tpl/TransPositionen.pm @@ -87,13 +87,16 @@ sub tpl(){ ($cttpos,$rows) = $db->collect_contentpos("contenttrans",$rel4tpl->{content_id}); foreach my $id (keys(%$cttpos)){ + if(ref($cttpos->{$id}) eq "HASH"){ if($cttpos->{$id}->{int26}){ @tpl_order = ("txt01=Beschreibung","ct_name=Nummer","date_time=Mietzeit","int26=Einsparung","int03=Menge","int02=Preis","int07=Rabatt","int04=Gesamt"); } + }else{ + $lb->failure3("Der selekt einer Verkaufsposition ist fehlgeschlagen, errocode ($rel4tpl->{content_id} | $users_dms->{c_id4trans} | $node_meta->{tpl_id}). Bitte admin kontaktieren"); + } } -if($varenv{orga} eq "dms"){#obsolete after migrating lx-rad and mobile ... print< .ui-autocomplete { @@ -118,7 +121,6 @@ print< EOF ; -} print $q->start_table({-class=>'list', -border=>'0', -width=>'100%',-align=>'left', -cellpadding=>'3', -cellspacing=>'0'}); diff --git a/copri4/main/src/scripts/tests/index.pl b/copri4/main/src/scripts/tests/index.pl index 7066e9d..7cd0f8a 100755 --- a/copri4/main/src/scripts/tests/index.pl +++ b/copri4/main/src/scripts/tests/index.pl @@ -175,7 +175,11 @@ if($operator_key eq "sharee_kn"){ $latitude = "47.66267"; $longitude = "9.17262"; } - +if($operator_key eq "sharee_wue"){ + $bike = "WUE5529"; + $latitude = "47.997930"; + $longitude = "7.785428"; +} print $q->div({-style=>'margin:15px;'},"-------------- $uriop --------------------"),"\n"; my $booking_request = "$uriop?request=booking_request&bike=$bike&authcookie=$coo"; print $q->div({-style=>'margin:15px;'},$q->a({-target=>'_blank', -href=>"$booking_request"},"[ booking_request ]---> $booking_request")),"\n"; @@ -199,6 +203,9 @@ print $q->div({-style=>'margin:15px;'},$q->a({-target=>'_blank', -href=>"$bookin my $booking_update_av_lo = "$uriop?request=booking_update&bike=$bike&state=available&lock_state=locked$and_station_state_locked&latitude=$latitude&longitude=$longitude&gps_age=300&user_device_manufaturer=samsung)&user_device_model=SM-G398FN&user_device_platform=Android&user_device_version=10&user_device_id=90af86831c10374d&authcookie=$coo"; print $q->div({-style=>'margin:15px;'},$q->a({-target=>'_blank', -href=>"$booking_update_av_lo"},"[ booking_update_av_lo ]---> $booking_update_av_lo")),"\n"; +my $booking_update_av_lo_nogps = "$uriop?request=booking_update&bike=$bike&state=available&lock_state=locked$and_station_state_locked&user_device_manufaturer=samsung)&user_device_model=SM-G398FN&user_device_platform=Android&user_device_version=10&user_device_id=90af86831c10374d&authcookie=$coo"; +print $q->div({-style=>'margin:15px;'},$q->a({-target=>'_blank', -href=>"$booking_update_av_lo_nogps"},"[ booking_update_av_lo_nogps ]---> $booking_update_av_lo_nogps")),"\n"; + my $user_feedback = "$uriop?request=user_feedback&bike=$bike&bike_broken=1&message=testnachricht äöü&authcookie=$coo"; print $q->div({-style=>'margin:15px;'},$q->a({-target=>'_blank', -href=>"$user_feedback"},"[ user_feedback ]---> $user_feedback")),"\n"; diff --git a/copri4/shareeapp-operator/src/Tpl/Contact.pm b/copri4/shareeapp-operator/src/Tpl/Contact.pm index c76d53a..ccf4816 100755 --- a/copri4/shareeapp-operator/src/Tpl/Contact.pm +++ b/copri4/shareeapp-operator/src/Tpl/Contact.pm @@ -59,10 +59,13 @@ sub tpl(){ $session_and = "&sessionid=$R::sessionid"; } - my $project = "all"; + my $project = "";#project dependent operator contact match + my $oprefix = "";#single operator contact match $project = "Freiburg" if($varenv->{syshost} eq "shareeweb-sharee"); $project = "Bayern" if($varenv->{syshost} eq "shareeweb-bayern"); $project = "Konstanz" if($varenv->{syshost} eq "shareeweb-konstanz"); + $oprefix = "REN" if($varenv->{syshost} eq "shareeweb-ren"); + my $sort_updown = "up"; my $content2 = "content2_contact"; @@ -82,7 +85,8 @@ sub tpl(){ #BIG LOOP content table #while (my ($mandant_conf, $value) = each %{ $dbt->{operator} }) { foreach my $m_id (sort { $dbt->{operator}->{$b}->{oprefix} cmp $dbt->{operator}->{$a}->{oprefix} } keys(%{ $dbt->{operator} })) { - if($dbt->{operator}->{$m_id}->{project} eq $project || $project eq "all"){ + #if($dbt->{operator}->{$m_id}->{project} eq $project || $project eq "all"){ + if($dbt->{operator}->{$m_id}->{oprefix} eq $oprefix || $dbt->{operator}->{$m_id}->{project} eq $project){ print $q->div({-class=>"$content2"}," "),"\n"; my $sharee_operator = $dbt->{operator}->{$m_id}->{database}->{dbname}; @@ -96,7 +100,10 @@ sub tpl(){ $record_cc->{$key} = $lb->newline($record_cc->{$key},"",""); if($key =~ /ct_name/){ - print $q->div({-id=>"$record_cc->{c_id}",-class=>'content_title2'},"• $record_cc->{$key}"),"\n"; + #print $q->div({-id=>"$record_cc->{c_id}",-class=>'content_title2'},"• $record_cc->{$key}"),"\n"; + my $title = "$record_cc->{$key}"; + $title = "$dbt->{operator}->{$m_id}->{title}";# if($dbt->{operator}->{$m_id}->{oprefix} eq $oprefix); + print $q->div({-id=>"$record_cc->{c_id}",-class=>'content_title2'},"• $title"),"\n"; }elsif($key =~ /txt|int/ && $record_cc->{$key} && $key !~ /txt85/){ #phone tag if($record_cc->{$key} =~ /\d+$/ && $des =~ /hotline|Telefon|phone/i){ diff --git a/copri4/shareedms-operator/src/Lib/Mlogic.pm b/copri4/shareedms-operator/src/Lib/Mlogic.pm index e3e31ea..0a5168f 100755 --- a/copri4/shareedms-operator/src/Lib/Mlogic.pm +++ b/copri4/shareedms-operator/src/Lib/Mlogic.pm @@ -60,7 +60,7 @@ sub tpl(){ $title .= $dbt->{operator}->{$varenv->{dbname}}->{title} if($dbt->{operator}->{$varenv->{dbname}}->{title}); $title .= " " . $dbt->{operator}->{$varenv->{dbname}}->{oprefix} if($dbt->{operator}->{$varenv->{dbname}}->{oprefix}); $title .= $dbt->{website}->{$varenv->{syshost}}->{title} if($dbt->{website}->{$varenv->{syshost}}->{title}); - $title .= " (DEVEL $varenv->{dbname})" if($dbt->{copri_conf}->{stage} eq "test"); + $title .= " (devel $varenv->{dbname})" if($dbt->{copri_conf}->{stage} eq "test"); ###User Panel @@ -253,30 +253,24 @@ sub tpl(){ my $big2menu=""; #while (my ($key, $value) = each %{ $dbt->{operator} }) { foreach my $key (sort keys (%{ $dbt->{operator} })) { - $big2menu .= $but->lia_button("$dbt->{operator}->{$key}->{operatorDMS}","$key","","","",""); + $big2menu .= $but->lia_button("$dbt->{operator}->{$key}->{operatorDMS}?merchant_id=$dbt->{operator}->{$key}->{merchant_id}","DMS $key","","","color:#$dbt->{operator}->{$key}->{bgcolor1};","") if($dbt->{operator}->{$key}->{merchant_id}); } foreach my $key (sort keys (%{ $dbt->{website} })) { - $big2menu .= $but->lia_button("$dbt->{website}->{$key}->{operatorWeb}","$key","","","",""); + $big2menu .= $but->lia_button("$dbt->{website}->{$key}->{operatorWeb}","Web $key","","","color:#$dbt->{website}->{$key}->{bgcolor1};","") if($dbt->{website}->{$key}->{merchant_id}); + } + foreach my $key (sort keys (%{ $dbt->{appsframe} })) { + $big2menu .= $but->lia_button("$dbt->{primary}->{sharee_primary}->{primaryApp}?request=authorization&authcookie=$dbt->{appsframe}->{$key}->{merchant_id}","App $key","","","color:#$dbt->{merchant_ids}->{$dbt->{appsframe}->{$key}->{merchant_id}}->{bgcolor1};",""); } - #foreach my $key (sort keys (%{ $dbt->{operator} })) { - # $big2menu .= $but->lia_button("$dbt->{operator}->{$key}->{operatorApp}","$key","","","",""); - #} - print $q->div({-style=>'width:100%;margin:0;padding-top:90px;color:white;'}, "sharee.bike Operatoren"),"\n"; + print $q->div({-style=>'width:100%;margin:0;padding-top:70px;color:white;'}, ""),"\n"; print $q->div({-style=>'width:100%;margin:0;'}, $q->ul({-id=>'BigNavi'},$big2menu)),"\n"; } - print "
\n"; - #lefsitemenue disabled 2021-06.03 - print "
\n"; - - $debug = "syshost: $varenv->{syshost}, merchant_id: $varenv->{merchant_id}, (c_id4trans:$users_dms->{c_id4trans} && tpl_id4trans:$users_dms->{tpl_id4trans} && kind_of_trans:$users_dms->{kind_of_trans}) $node_meta->{tpl_name},$node_meta->{tpl_id},$node_meta->{ct_table},$parent_id,$main_id, permissions: ($users_dms->{int01},$users_dms->{int02},$users_dms->{int03},$users_dms->{int07},$users_dms->{int08},$users_dms->{int09})" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id}); print $q->div({-style=>'position:fixed;bottom:0%;right:1%;z-index:10;padding:2px;font-size:13px;'},"$debug",$q->a({-style=>'color:black;text-decoration: none;',-href=>'https://sharee.bike',-target=>'_blank'},"sharee.bike © TeilRad GmbH 2021")),"\n"; #update c_id4trans on changing browser tab 2019-10-08 -#FIXME, we need all $R::c_id4trans,$R::tpl_id4trans,$R::kind_of_trans if(1==2 && $mode eq "manager"){ print< @@ -307,7 +301,7 @@ document.addEventListener('visibilitychange', function () { EOF ; } - + print $q->div({-style=>'padding: 30px 0 0 0;'}, ""), "\n"; $self->tplselect($node_meta,$users_dms,$mode,$varenv,$return); print "\n"; }#end logedin environment diff --git a/copri4/shareeweb-project/src/Lib/Mlogic.pm b/copri4/shareeweb-project/src/Lib/Mlogic.pm index 05631c8..ed9f371 100755 --- a/copri4/shareeweb-project/src/Lib/Mlogic.pm +++ b/copri4/shareeweb-project/src/Lib/Mlogic.pm @@ -48,7 +48,8 @@ sub tpl(){ if($users_sharee->{c_id} eq $varenv->{superu_id} || $dbt->{copri_conf}->{stage} eq "test"){ my $coo = $q->cookie('domcookie') || $q->param('sessionid') || ""; #my $api_test = "sharee_kn"; - my $api_test = "sharee_fr01"; + #my $api_test = "sharee_fr01"; + my $api_test = "sharee_wue"; print $q->div({-style=>'float:right;text-align:right;height:25px;padding:6px 15px;background-color:white'},$q->a({-style=>"background-color:#ffffff;color:#$bgcolor1;", -href=>"$varenv->{metahost}/src/scripts/tests/index.pl?sessionid=$coo\&api_test=$api_test", -target=>'_blank'}," [ tests --> $api_test ] ")),"\n"; }