|
Luc Didry |
1c2cee |
# vim:set sw=4 ts=4 sts=4 ft=perl expandtab:
|
|
Luc Didry |
1c2cee |
package Lufi::Controller::Misc;
|
|
Luc Didry |
1c2cee |
use Mojo::Base 'Mojolicious::Controller';
|
|
Luc Didry |
1c2cee |
use Mojo::File;
|
|
Luc Didry |
53342a |
use Mojo::JSON qw(true false);
|
|
Luc Didry |
c64d26 |
use Mojo::URL;
|
|
Luc Didry |
d909b8 |
use Lufi::DB::File;
|
|
Luc Didry |
1c2cee |
|
|
Luc Didry |
25ab7e |
sub index {
|
|
Luc Didry |
25ab7e |
my $c = shift;
|
|
mildis |
537764 |
if ((!defined($c->config('ldap')) && !defined($c->config('htpasswd')) && !defined($c->config('auth_headers'))) || $c->is_user_authenticated) {
|
|
Luc Didry |
25ab7e |
$c->render(template => 'index');
|
|
Luc Didry |
25ab7e |
} else {
|
|
Luc Didry |
25ab7e |
$c->redirect_to('login');
|
|
Luc Didry |
25ab7e |
}
|
|
Luc Didry |
25ab7e |
}
|
|
Luc Didry |
25ab7e |
|
|
Luc Didry |
986e77 |
sub change_lang {
|
|
Luc Didry |
986e77 |
my $c = shift;
|
|
Luc Didry |
986e77 |
my $l = $c->param('l');
|
|
Luc Didry |
986e77 |
|
|
Luc Didry |
72404a |
if ($c->iso639_native_name($l)) {
|
|
Luc Didry |
72404a |
$c->cookie($c->app->moniker.'_lang' => $l, { path => $c->config('prefix') });
|
|
Luc Didry |
72404a |
}
|
|
Luc Didry |
986e77 |
|
|
Luc Didry |
c64d26 |
if ($c->req->headers->referrer
|
|
Luc Didry |
cd0c4f |
&& Mojo::URL->new($c->req->headers->referrer)->host eq $c->req->url->to_abs->host) {
|
|
Luc Didry |
986e77 |
return $c->redirect_to($c->req->headers->referrer);
|
|
Luc Didry |
986e77 |
} else {
|
|
Luc Didry |
986e77 |
return $c->redirect_to('/');
|
|
Luc Didry |
986e77 |
}
|
|
Luc Didry |
986e77 |
}
|
|
Luc Didry |
986e77 |
|
|
Luc Didry |
25ab7e |
sub about {
|
|
Luc Didry |
17600f |
my $c = shift;
|
|
Luc Didry |
17600f |
|
|
Luc Didry |
17600f |
$c->render(
|
|
Luc Didry |
17600f |
template => 'about',
|
|
Luc Didry |
17600f |
version => $c->git_version
|
|
Luc Didry |
17600f |
);
|
|
Luc Didry |
25ab7e |
}
|
|
Luc Didry |
25ab7e |
|
|
Luc Didry |
53342a |
sub config_infos {
|
|
Luc Didry |
53342a |
my $c = shift;
|
|
Luc Didry |
53342a |
|
|
Luc Didry |
53342a |
$c->render(
|
|
Luc Didry |
53342a |
json => {
|
|
Luc Didry |
53342a |
report => $c->config('report'),
|
|
Luc Didry |
53342a |
instance_name => $c->config('instance_name'),
|
|
Luc Didry |
53342a |
max_file_size => $c->config('max_file_size'),
|
|
Luc Didry |
53342a |
broadcast_message => $c->config('broadcast_message'),
|
|
Luc Didry |
53342a |
default_delay => $c->config('default_delay'),
|
|
Luc Didry |
53342a |
max_delay => $c->config('max_delay'),
|
|
Luc Didry |
53342a |
delay_for_size => $c->config('delay_for_size'),
|
|
Luc Didry |
53342a |
allow_pwd_on_files => $c->config('allow_pwd_on_files'),
|
|
Luc Didry |
53342a |
force_burn_after_reading => $c->config('force_burn_after_reading'),
|
|
Luc Didry |
53342a |
keep_ip_during => $c->config('keep_ip_during'),
|
|
Luc Didry |
53342a |
stop_upload => (-f 'stop-upload' || -f 'stop-upload.manual') ? true : false,
|
|
mildis |
537764 |
need_authentication => (defined($c->config('ldap')) || defined($c->config('htpasswd')) || defined($c->config('auth_headers'))) ? true : false,
|
|
Luc Didry |
17600f |
version => $c->git_version
|
|
Luc Didry |
53342a |
}
|
|
Luc Didry |
53342a |
);
|
|
Luc Didry |
53342a |
}
|
|
Luc Didry |
53342a |
|
|
Luc Didry |
25ab7e |
sub js_files {
|
|
Luc Didry |
25ab7e |
my $c = shift;
|
|
Luc Didry |
25ab7e |
|
|
Luc Didry |
25ab7e |
$c->stash($c->req->params->to_hash);
|
|
Luc Didry |
25ab7e |
$c->render(
|
|
Luc Didry |
25ab7e |
template => 'partial/'.$c->param('file'),
|
|
Luc Didry |
25ab7e |
format => 'js',
|
|
Luc Didry |
25ab7e |
layout => undef,
|
|
Luc Didry |
25ab7e |
);
|
|
Luc Didry |
25ab7e |
}
|
|
Luc Didry |
25ab7e |
|
|
Luc Didry |
1c2cee |
sub fullstats {
|
|
Luc Didry |
1c2cee |
my $c = shift;
|
|
Luc Didry |
1c2cee |
|
|
Luc Didry |
d909b8 |
my $stats = Lufi::DB::File->new(app => $c->app)->get_stats;
|
|
Luc Didry |
40dc29 |
$stats->{timestamp} = time;
|
|
Luc Didry |
1c2cee |
|
|
Luc Didry |
1c2cee |
return $c->render(
|
|
Luc Didry |
40dc29 |
json => $stats
|
|
Luc Didry |
1c2cee |
);
|
|
Luc Didry |
1c2cee |
}
|
|
Luc Didry |
1c2cee |
|
|
Luc Didry |
25ab7e |
sub delays {
|
|
Luc Didry |
25ab7e |
shift->render(template => 'delays');
|
|
Luc Didry |
25ab7e |
}
|
|
Luc Didry |
25ab7e |
|
|
Luc Didry |
1c2cee |
1;
|