From: Michael Andreen Date: Sat, 5 May 2007 17:55:45 +0000 (+0000) Subject: only update fleet when it was possible to parse something X-Git-Url: https://ruin.nu/git/?a=commitdiff_plain;ds=inline;h=c7030fde80686d05805d02f3586ec23224e4c6e5;p=ndwebbie.git only update fleet when it was possible to parse something --- diff --git a/ND/Web/Pages/Main.pm b/ND/Web/Pages/Main.pm index 4fa2a31..0a795d0 100644 --- a/ND/Web/Pages/Main.pm +++ b/ND/Web/Pages/Main.pm @@ -47,15 +47,19 @@ sub render_body { ($id) = $DBH->selectrow_array($fleet,undef,$ND::UID); } my $delete = $DBH->prepare("DELETE FROM fleet_ships WHERE fleet = ?"); - $delete->execute($id); my $insert = $DBH->prepare('INSERT INTO fleet_ships (fleet,ship,amount) VALUES (?,?,?)'); $fleet = param('fleet'); $fleet =~ s/,//g; + my $match = 0; while ($fleet =~ m/((?:[A-Z][a-z]+ )*[A-Z][a-z]+)\s+(\d+)/g){ + unless($match){ + $match = 1; + $delete->execute($id); + } $insert->execute($id,$1,$2) or $error .= '

'.$DBH->errstr.'

'; } $fleet = $DBH->prepare('UPDATE fleets SET landing_tick = tick() WHERE id = ?'); - $fleet->execute($id); + $fleet->execute($id) if $match; $DBH->commit; }elsif (param('cmd') eq 'Recall Fleets'){ $DBH->begin_work;