| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-02-18 22:07:17 +0100 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-02-18 22:07:17 +0100 | 
| commit | 4009cbf1320de13dc926be8d3399edb47d871769 (patch) | |
| tree | f9e104bc9ab71c80debde404c79febbd9b8387a7 /src/shared | |
| parent | d12d6328f1001552ad8ce0f44bc1271eeb94ddbb (diff) | |
...
Diffstat (limited to 'src/shared')
| -rw-r--r-- | src/shared/reply/shr_set_map.erl | 31 | 
1 files changed, 26 insertions, 5 deletions
| diff --git a/src/shared/reply/shr_set_map.erl b/src/shared/reply/shr_set_map.erl index 0096b52..2e10c2e 100644 --- a/src/shared/reply/shr_set_map.erl +++ b/src/shared/reply/shr_set_map.erl @@ -7,7 +7,7 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export([generate/2]). +-export([generate/3]).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -18,11 +18,12 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec generate     ( +      ataxia_security:user(),        fun ((shr_tile_instance:trigger_name()) -> boolean()),        shr_map:type()     )     -> {list(any())}. -generate (TriggerVisibilityFun, Map) -> +generate (User, TriggerVisibilityFun, Map) ->     {        [           {<<"msg">>, <<"set_map">>}, @@ -32,11 +33,31 @@ generate (TriggerVisibilityFun, Map) ->              <<"t">>,              lists:map              ( -               fun (E) -> -                  shr_tile_instance:encode(TriggerVisibilityFun, E) -               end, +               fun (E) -> shr_tile_instance:encode(TriggerVisibilityFun, E) end,                 tuple_to_list(shr_map:get_tile_instances(Map))              ) +         }, +         { +            <<"m">>, +            lists:filtermap +            ( +               fun ({Key, Value}) -> +                  case shr_map_marker:can_access(User, Value) of +                     true -> +                        { +                           true, +                           { +                              [ +                                 { Key, shr_map_marker:encode(Value) } +                              ] +                           } +                        }; + +                     false -> false +                  end +               end, +               shr_map:get_markers(Map) +            )           }        ]     }. | 


