newslash
Revisión | bd25243e2df4d4ea66a6613312df68c5c805af03 (tree) |
---|---|
Tiempo | 2019-06-17 18:37:25 |
Autor | ![]() |
Commiter | hylom |
Plugin::ResponseFilter: fix before_renderer hook
@@ -1,5 +1,6 @@ | ||
1 | 1 | package Newslash::Plugin::ResponseFilter; |
2 | 2 | use Mojo::Base 'Mojolicious::Plugin'; |
3 | +use Data::Dumper; | |
3 | 4 | |
4 | 5 | sub register { |
5 | 6 | my ($self, $app, $conf) = @_; |
@@ -24,20 +25,22 @@ sub register { | ||
24 | 25 | |
25 | 26 | my $json = $args->{json}; |
26 | 27 | my $result = $json; |
27 | - if (defined $json->{result} && ref($json->{result} eq "HASH")) { | |
28 | + if (defined $json->{result} && ref($json->{result}) eq "HASH") { | |
28 | 29 | $result = $json->{result}; |
29 | 30 | } |
30 | 31 | |
31 | 32 | if ($result->{item}) { |
32 | - if ($result->{item}->{content_type}) { | |
33 | - apply_seclev_filter($c, $result->{item}->{content_type}, $result->{item}); | |
33 | + my $type = $result->{item}->{content_type}; | |
34 | + if ($type) { | |
35 | + apply_seclev_filter($c, $type, $result->{item}); | |
34 | 36 | } |
35 | 37 | } |
36 | 38 | |
37 | 39 | if ($result->{items} && ref($result->{items}) eq "ARRAY") { |
38 | 40 | for my $item (@{$result->{items}}) { |
39 | - if ($item->{content_type}) { | |
40 | - apply_seclev_filter($c, $item->{content_type}, $item); | |
41 | + my $type = $item->{content_type}; | |
42 | + if ($type) { | |
43 | + apply_seclev_filter($c, $type, $item); | |
41 | 44 | } |
42 | 45 | } |
43 | 46 | } |
@@ -63,8 +66,6 @@ sub apply_seclev_filter { | ||
63 | 66 | my $cnf = $c->config->{ResponseFilter} || {}; |
64 | 67 | my $faculties = $cnf->{faculities} || {}; |
65 | 68 | |
66 | - #warn Dumper $faculties; | |
67 | - | |
68 | 69 | my $faculty_all = $faculties->{all} || {}; |
69 | 70 | for my $lv (keys %$faculty_all) { |
70 | 71 | if ($security_level < $lv) { |
@@ -72,7 +73,7 @@ sub apply_seclev_filter { | ||
72 | 73 | for my $k (@{$faculty_all->{$lv}}) { |
73 | 74 | if (defined $item->{$k}) { |
74 | 75 | delete $item->{$k}; |
75 | - #$c->app->log->debug("remove $k"); | |
76 | + $c->app->log->debug("remove $k"); | |
76 | 77 | } |
77 | 78 | } |
78 | 79 | } |
@@ -86,7 +87,7 @@ sub apply_seclev_filter { | ||
86 | 87 | for my $k (@{$faculty->{$lv}}) { |
87 | 88 | if (defined $item->{$k}) { |
88 | 89 | delete $item->{$k}; |
89 | - #$c->app->log->debug("remove $k"); | |
90 | + $c->app->log->debug("remove $k"); | |
90 | 91 | } |
91 | 92 | } |
92 | 93 | } |