diff options
Diffstat (limited to 'lib/DBInfoscreen/Controller/Static.pm')
| -rw-r--r-- | lib/DBInfoscreen/Controller/Static.pm | 58 | 
1 files changed, 58 insertions, 0 deletions
| 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 <derf+dbf@finalrewind.org> +# 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; | 
