diff --git a/VERSION b/VERSION index 7ec1d6db40877765247db18e7f9a4e36a0def4ad..ccbccc3dc62631f22ff358ac418e52401ec770b4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.1.0 +2.2.0 diff --git a/lib/PZ/Controller/Shortcut.pm b/lib/PZ/Controller/Shortcut.pm index 82133dc49d522bd3eee47d37e0f9708a616068a5..33992fc0b8b6a3ee541d61c73a20d519f8171314 100644 --- a/lib/PZ/Controller/Shortcut.pm +++ b/lib/PZ/Controller/Shortcut.pm @@ -18,6 +18,19 @@ sub redirect ($c) { return; } + TRACKER: + foreach my $tracker ( $c->trackers() ) { + if ( $c->param($tracker) ) { + $c->stash( + url => $shortcut->url, + tracker_name => $tracker, + tracker_value => $c->param($tracker), + ); + $c->render( 'tracker' ); + return; + } + } + $shortcut->update({ counter => $shortcut->counter + 1 }); diff --git a/lib/PZ/Helpers/Core.pm b/lib/PZ/Helpers/Core.pm index 92e8149e53cae26c26c7a5b1ef1d5dcd67864825..f6f43b54a1904a97b56fc4adae3120cd93c5b092 100644 --- a/lib/PZ/Helpers/Core.pm +++ b/lib/PZ/Helpers/Core.pm @@ -98,12 +98,16 @@ sub register { return $shortcut; }); + $self->helper( trackers => sub { + return @{ TRACKERS() }; + }); + $self->helper( sanitize_url => sub { - my $c = shift; + my $c = shift; my $url = Mojo::URL->new(shift); - foreach my $tracker ( @{ TRACKERS() }) { + foreach my $tracker ( $c->trackers() ) { $url->query({ $tracker => undef }); } return $url->to_string; diff --git a/openapi.yaml b/openapi.yaml index 9c5c6adabc259c18ea00d7a4ae03650140b8d48f..9294a498c5186f0e2f96da39aff9b7ffea6a15c6 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -34,7 +34,6 @@ components: type: string description: URL pro přesměrování maxLength: 1024 - required: true code: type: integer description: Kód přesměrování @@ -98,7 +97,7 @@ paths: security: - Token: [] summary: "Seznam zkratek" - operationId: Shortcuts + operationId: ShortcutList x-mojo-to: shortcut#list responses: 200: diff --git a/templates/404.html.ep b/templates/404.html.ep index 0d2525b2ea42849cff2dd5b51670c782f8d082e6..0e73c2bc9abcf9b739c57af3ff6872d0943a118a 100644 --- a/templates/404.html.ep +++ b/templates/404.html.ep @@ -1,5 +1,5 @@ % layout 'default'; -<h1 class="head-alt-md md:head-alt-lg max-w-5xl mb-8">Zkratka "<%= $c->stash->{shortcut} %>" neexistuje</h1> +<h1 class="head-base mb-8">Zkratka "<%= stash->{shortcut} %>" neexistuje</h1> diff --git a/templates/tracker.html.ep b/templates/tracker.html.ep new file mode 100644 index 0000000000000000000000000000000000000000..5aad8988249064a2e8cdd24a3f284e065606dda2 --- /dev/null +++ b/templates/tracker.html.ep @@ -0,0 +1,18 @@ +% layout 'default'; + +<h1 class="head-base mb-8">Pozor! Zkratka obsahuje šmírovátko!</h1> + +<div class="content-block"> +<p>Odkaz který se snažíš použít obsahuje sledovací část, konkrétně:</a> + +<p class="alert alert--red-600 alert--faded"><%= $tracker_name %>=<%= $tracker_value %></p> + +<p> +Tuto část do posílaného odkazu automaticky přidávají platformy nerespektující soukromí uživatelů, +v tomto případě konkrétně facebook nebo google. Přidáním sledovacího řetězce do odkazu se snaží +monitorovat jeho šíření odkazů i mimo svoje panství. My je v tom podporovat nebudeme, a proto prosím +sledovací část z odkaz u odstraň. +</p> + +<p><a href="<%= $url %>">Pokračovat na odkaz</a></p> +</div>