From 9792369c2b79e68cc7384bbd9b55eef30fe8c004 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 24 Mar 2019 10:13:30 +0100 Subject: Transition from Mojolicious::Lite to full Mojolicious app --- lib/DBInfoscreen/Controller/Static.pm | 58 +++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 lib/DBInfoscreen/Controller/Static.pm (limited to 'lib/DBInfoscreen/Controller/Static.pm') diff --git a/lib/DBInfoscreen/Controller/Static.pm b/lib/DBInfoscreen/Controller/Static.pm new file mode 100644 index 0000000..434facd --- /dev/null +++ b/lib/DBInfoscreen/Controller/Static.pm @@ -0,0 +1,58 @@ +package DBInfoscreen::Controller::Static; +use Mojo::Base 'Mojolicious::Controller'; + +# Copyright (C) 2011-2019 Daniel Friesel +# License: 2-Clause BSD + +my %default = ( + backend => 'iris', + mode => 'app', + admode => 'deparr', +); + +sub redirect { + my ($self) = @_; + my $station = $self->param('station'); + my $params = $self->req->params; + + $params->remove('station'); + + for my $param (qw(platforms backend mode admode via)) { + if ( + not $params->param($param) + or ( exists $default{$param} + and $params->param($param) eq $default{$param} ) + ) + { + $params->remove($param); + } + } + + $params = $params->to_string; + + $self->redirect_to("/${station}?${params}"); +} + +sub geolocation { + my ($self) = @_; + + $self->render( + 'geolocation', + with_geolocation => 1, + hide_opts => 1 + ); +} + +sub privacy { + my ($self) = @_; + + $self->render( 'privacy', hide_opts => 1 ); +} + +sub imprint { + my ($self) = @_; + + $self->render( 'imprint', hide_opts => 1 ); +} + +1; -- cgit v1.2.3