X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=launchConfirmation.pl;h=39a0ff022fffff7a2d72c609a16caae3463d2e6d;hb=dfdaf29be0eb73b0b900ce3bced443120b1fca96;hp=aacb1038dddf18af091b7213dfc175fea6f9573a;hpb=508dd947d7de74b6e0d021b885a77407e524b6b2;p=ndwebbie.git diff --git a/launchConfirmation.pl b/launchConfirmation.pl index aacb103..39a0ff0 100644 --- a/launchConfirmation.pl +++ b/launchConfirmation.pl @@ -18,18 +18,20 @@ #**************************************************************************/ use strict; +use warnings FATAL => 'all'; $ND::TEMPLATE->param(TITLE => 'Launch Confirmation'); our $BODY; our $DBH; our $LOG; +my $error; die "You don't have access" unless isMember(); -if (param('cmd') eq 'submit'){ +if (defined param('cmd') && param('cmd') eq 'submit'){ my $missions = param('mission'); my $findplanet = $DBH->prepare("SELECT planetid(?,?,?,?)"); my $findattacktarget = $DBH->prepare(q{SELECT c.target,c.wave,c.launched FROM raid_claims c @@ -40,13 +42,13 @@ if (param('cmd') eq 'submit'){ my $finddefensetarget = $DBH->prepare(q{SELECT NULL}); my $addattackpoint = $DBH->prepare('UPDATE users SET attack_points = attack_points + 1 WHERE uid = ?'); my $launchedtarget = $DBH->prepare('UPDATE raid_claims SET launched = True WHERE uid = ? AND target = ? AND wave = ?'); - my $addfleet = $DBH->prepare(qq{INSERT INTO fleets (uid,target,mission,landing_tick,fleet,eta) VALUES (?,?,?,?,(SELECT max(fleet)+1 from fleets WHERE uid = ?),?)}); + my $addfleet = $DBH->prepare(qq{INSERT INTO fleets (uid,target,mission,landing_tick,fleet,eta,back) VALUES (?,?,?,?,(SELECT max(fleet)+1 from fleets WHERE uid = ?),?,?)}); my $addships = $DBH->prepare('INSERT INTO fleet_ships (fleet,ship,amount) VALUES (?,?,?)'); my $fleet = $DBH->prepare("SELECT id FROM fleets WHERE uid = ? AND fleet = 0"); my ($basefleet) = $DBH->selectrow_array($fleet,undef,$ND::UID); unless ($basefleet){ - my $insert = $DBH->prepare(q{INSERT INTO fleets (uid,target,mission,landing_tick,fleet,eta) VALUES (?,?,'Base',0,0,0)}); + my $insert = $DBH->prepare(q{INSERT INTO fleets (uid,target,mission,landing_tick,fleet,eta,back) VALUES (?,?,'Full fleet',0,0,0,0)}); $insert->execute($ND::UID,$ND::PLANET); } my @missions; @@ -94,9 +96,10 @@ if (param('cmd') eq 'submit'){ } } - $addfleet->execute($ND::UID,$planet_id,$mission,$tick,$ND::UID,$eta); + $addfleet->execute($ND::UID,$planet_id,$mission,$tick,$ND::UID,$eta,$tick+$eta-1) or $error .= '

'.$DBH->errstr.'

'; my $fleet = $DBH->last_insert_id(undef,undef,undef,undef,"fleets_id_seq"); $mission{Fleet} = $fleet; + $mission{Back} = $tick+$eta-1; my $ships = $10; my @ships; while ($ships =~ m/((?:\w+ )*\w+)\s+\w+\s+\w+\s+(?:Steal|Normal|Emp|Normal\s+Cloaked|Pod|Struc)\s+(\d+)/g){ @@ -107,9 +110,10 @@ if (param('cmd') eq 'submit'){ $LOG->execute($ND::UID,"Pasted confirmation for $mission mission to $x:$y:$z, landing tick $tick"); push @missions,\%mission; } - $DBH->commit; + $DBH->commit or $error .= '

'.$DBH->errstr.'

'; $BODY->param(Missions => \@missions); } +$BODY->param(Error => $error); 1;