X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=lib%2FNDWeb%2FController%2FCovOp.pm;h=1eaca566feeba7f5627eb32e30ce4433abca4e3b;hb=44fbe786d3049f2999a288e27bd26a13cfee86b2;hp=fc95d33d989a7a3cde1b76b5bf08dcab8a5380d2;hpb=54aa6a9566d2a860c3ca9930886406228d7a1f2c;p=ndwebbie.git diff --git a/lib/NDWeb/Controller/CovOp.pm b/lib/NDWeb/Controller/CovOp.pm index fc95d33..1eaca56 100644 --- a/lib/NDWeb/Controller/CovOp.pm +++ b/lib/NDWeb/Controller/CovOp.pm @@ -23,8 +23,15 @@ Catalyst Controller. sub index :Path :Args(0) { my ( $self, $c ) = @_; - $c->stash( where => q{AND MaxResHack > 130000 - ORDER BY minalert ASC,MaxResHack DESC}); + $c->stash( where => q{AND max_bank_hack > 60000 + ORDER BY max_bank_hack DESC, minalert ASC}); + $c->forward('list'); +} + +sub easy : Local { + my ( $self, $c ) = @_; + $c->stash( where => qq{AND minalert < 70 + ORDER BY minalert ASC,max_bank_hack DESC}); $c->forward('list'); } @@ -38,10 +45,10 @@ sub distwhores : Local { sub marktarget : Local { my ( $self, $c, $target ) = @_; my $dbh = $c->model; - my $update = $dbh->prepare(q{INSERT INTO covop_attacks (uid,id,tick) VALUES(?,?,tick())}); - $update->execute($c->user->id,$target); - + eval{ + $update->execute($c->user->id,$target); + }; $c->forward('/redirect'); } @@ -49,32 +56,28 @@ sub list : Private { my ( $self, $c ) = @_; my $dbh = $c->model; - my $query = $dbh->prepare(q{SELECT id, coords, metal, crystal, eonium - , covop_alert(seccents,structures,size,guards,gov,0) AS minalert - , covop_alert(seccents,structures,size,guards,gov,50) AS maxalert - , distorters,gov,pstick,dstick - , MaxResHack,co.tick AS lastcovop - FROM (SELECT p.id,coords(x,y,z),size, metal,crystal,eonium,guards - ,seccents,NULLIF(ds.total::integer,0) AS structures,distorters - ,max_bank_hack(metal,crystal,eonium,p.value - ,(SELECT value FROM current_planet_stats WHERE id = ?)) AS MaxResHack + my $query = $dbh->prepare(q{SELECT * + FROM (SELECT p.id,coords(x,y,z),size, metal,crystal,eonium + ,distorters,guards + ,covop_alert(seccents,ds.total,size,guards,gov,0) AS minalert + ,covop_alert(seccents,ds.total,size,guards,gov,50) AS maxalert + ,max_bank_hack(metal,crystal,eonium,p.value,c.value,5) + ,max_bank_hack(metal,crystal,eonium,p.value,c.value,15) AS hack15 , planet_status, relationship,gov,ps.tick AS pstick, ds.tick AS dstick FROM current_planet_stats p LEFT OUTER JOIN current_planet_scans ps ON p.id = ps.planet LEFT OUTER JOIN current_development_scans ds ON p.id = ds.planet + CROSS JOIN (SELECT value FROM current_planet_stats WHERE id = $1) c ) AS foo - LEFT OUTER JOIN (SELECT id,max(tick) AS tick FROM covop_attacks GROUP BY id) co USING (id) - WHERE (metal IS NOT NULL OR seccents IS NOT NULL) + LEFT OUTER JOIN (SELECT id,max(tick) AS lastcovop FROM covop_attacks + GROUP BY id) co USING (id) + WHERE (metal IS NOT NULL OR distorters IS NOT NULL) AND (NOT planet_status IN ('Friendly','NAP')) AND (relationship IS NULL OR NOT relationship IN ('Friendly','NAP')) } . $c->stash->{where}); $query->execute($c->user->planet); - my @targets; - while (my $target = $query->fetchrow_hashref){ - push @targets,$target; - } - $c->stash(targets => \@targets); + $c->stash(targets => $query->fetchall_arrayref({})); $c->stash(template => 'covop/index.tt2'); }