X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=lib%2FNDWeb%2FController%2FRoot.pm;h=f1b020a0779eada5a0f203add13251ec975c5bf4;hb=3b0d1d881162c5bcc1a18e8a43c807cc1fe52bc3;hp=6fab7f29fcde410fb1f674a54405c9cd18db8f6b;hpb=b6d8351387cf06b88e362a458aad1e0982e575dd;p=ndwebbie.git diff --git a/lib/NDWeb/Controller/Root.pm b/lib/NDWeb/Controller/Root.pm index 6fab7f2..f1b020a 100644 --- a/lib/NDWeb/Controller/Root.pm +++ b/lib/NDWeb/Controller/Root.pm @@ -33,7 +33,7 @@ NDWeb::Controller::Root - Root Controller for NDWeb sub index : Local Path Args(0) { my ( $self, $c ) = @_; - $c->visit('/wiki/index'); + $c->visit('/wiki/main'); } sub default : Path { @@ -46,7 +46,7 @@ sub login : Local { my ($self, $c) = @_; if ($c->login){ - my $gi = Geo::IP->new(GEOIP_STANDARD); + my $gi = Geo::IP->new("/usr/share/GeoIP/GeoIP.dat"); my $country = $gi->country_code_by_addr($c->req->address) || '??'; my $remember = 0; @@ -95,18 +95,25 @@ sub smsconfirm : Local { my ($self, $c) = @_; my $dbh = $c->model; + $c->stash(template => 'default.tt2'); + + return unless $c->req->param('apiMsgId'); + my $sms = $dbh->prepare(q{ UPDATE sms SET status = $2, cost = $3 ,time = TIMESTAMP WITH TIME ZONE 'epoch' + $4 * INTERVAL '1 second' WHERE msgid = $1 }); - $sms->execute($c->req->param('apiMsgId') - ,$clickatellstatus{$c->req->param('status')} - ,$c->req->param('charge') - ,$c->req->param('timestamp')); + my $apiMsgId = $c->req->param('apiMsgId'); + my $status = $c->req->param('status'); + my $charge = $c->req->param('charge'); + my $timestamp = $c->req->param('timestamp'); + $sms->execute($apiMsgId + ,$clickatellstatus{$status} + ,$charge + ,$timestamp); - $c->stash(template => 'default.tt2'); } @@ -126,8 +133,8 @@ sub listTargets : Private { my $dbh = $c ->model; - my $query = $dbh->prepare(q{SELECT t.id, r.id AS raid, r.tick+c.wave-1 AS landingtick, - (released_coords AND old_claim(timestamp)) AS released_coords, coords(x,y,z),c.launched,c.wave,c.joinable + my $query = $dbh->prepare(q{SELECT t.id, r.id AS raid, r.tick+c.wave-1 AS landingtick, + released_coords, coords(x,y,z),c.launched,c.wave,c.joinable FROM raid_claims c JOIN raid_targets t ON c.target = t.id JOIN raids r ON t.raid = r.id @@ -217,6 +224,10 @@ sub end : ActionClass('RenderView') { $c->stash->{template} = 'access_denied.tt2'; $c->res->status(403); $c->clear_errors; + }elsif ($c->error->[0] =~ m/No logged in user, and none supplied as argument/){ + $c->stash->{template} = 'access_denied.tt2'; + $c->res->status(403); + $c->clear_errors; } } @@ -240,10 +251,7 @@ AND mission = 'Full fleet' AND name IN ('Main','Advanced Unit'); newposts => $newposts, unreadposts => $unread }); - $c->stash->{user}->{attacker} = $c->check_user_roles(qw/attack_menu/) - && (!$c->check_user_roles(qw/member_menu/) - || ($c->user->planet && (($c->stash->{TICK} - $fleetupdate < 24) - || $c->check_user_roles(qw/no_fleet_update/)))), + $c->stash->{user}->{attacker} = $c->check_user_roles(qw/attack_menu/); $c->forward('listTargets'); } my $birthdays = $dbh->prepare(q{SELECT username