sub index : Local Path Args(0) {
my ( $self, $c ) = @_;
- $c->res->redirect($c->uri_for('/wiki'));
+ $c->visit('/wiki/index');
}
sub default : Path {
my ( $self, $c ) = @_;
- $c->response->status(404);
+ $c->stash(template => 'default.tt2');
+ $c->response->status(410);
}
sub login : Local {
$log->execute($c->user->id,$c->req->address
,$country,$c->sessionid,$remember);
- my $ref = $c->req->referer;
- $ref =~ s/^http:/https:/ unless $c->debug;
- $c->res->redirect($ref);
+ $c->forward('redirect');
return;
+ } elsif ($c->req->method eq 'POST'){
+ $c->res->status(400);
}
}
}else{
$c->stash(UID => -4);
}
+}
+sub redirect : Private {
+ my ($self, $c) = @_;
+ $c->res->redirect($c->uri_for('/'.$c->session->{referrer}));
}
sub access_denied : Private {
my ($self, $c, $action) = @_;
$c->stash->{template} = 'access_denied.tt2';
+ $c->res->status(403);
}
sub end : ActionClass('RenderView') {
my ($self, $c) = @_;
+ if ($c->res->status >= 300 && $c->res->status <= 400 ){
+ return;
+ }
+
my $dbh = $c ->model;
if (scalar @{ $c->error } ){
if ($c->error->[0] =~ m/Can't call method "id" on an undefined value at/){
$c->stash->{template} = 'access_denied.tt2';
+ $c->res->status(403);
$c->clear_errors;
}elsif ($c->error->[0] =~ m/Missing roles: /){
$c->stash->{template} = 'access_denied.tt2';
+ $c->res->status(403);
$c->clear_errors;
}
}
- if ($c->user_exists && $c->res->status == 200){
+ if ($c->user_exists){
my $fleetupdate = 0;
if ($c->check_user_roles(qw/member_menu/)){
- $fleetupdate = $dbh->selectrow_array(q{SELECT tick FROM fleets WHERE sender = ?
- AND mission = 'Full fleet' AND tick > tick() - 24
+ $fleetupdate = $dbh->selectrow_array(q{
+SELECT tick FROM fleets WHERE planet = ? AND tick > tick() - 24
+AND mission = 'Full fleet' AND name IN ('Main','Advanced Unit');
},undef,$c->user->planet);
$fleetupdate = 0 unless defined $fleetupdate;
}
|| $c->check_user_roles(qw/no_fleet_update/)))),
$c->forward('listTargets');
}
+ my $birthdays = $dbh->prepare(q{SELECT username
+ ,date_part('year',age(birthday)) AS age
+ FROM users WHERE birthday IS NOT NULL
+ AND mmdd(birthday) = mmdd(CURRENT_DATE)
+ });
+ $birthdays->execute;
+ $c->stash(birthdays => $birthdays->fetchall_arrayref({}));
+
+ if ($c->res->status == 200 || $c->req->method eq 'GET'){
+ $c->session->{referrer} = $c->req->path;
+ }
}
=head1 AUTHOR