]> ruin.nu Git - ndwebbie.git/commitdiff
only update fleet when it was possible to parse something
authorMichael Andreen <harv@ruin.nu>
Sat, 5 May 2007 17:55:45 +0000 (17:55 +0000)
committerMichael Andreen <harv@ruin.nu>
Sat, 5 May 2007 17:55:45 +0000 (17:55 +0000)
ND/Web/Pages/Main.pm

index 4fa2a316acfe8d758806b9ed534b1661b7e5915e..0a795d0db6eab04086113e769af41109427162ad 100644 (file)
@@ -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 .= '<p>'.$DBH->errstr.'</p>';
                        }
                        $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;