my $ticks = $c->req->param('ticks') || 48;
$c->stash(showticks => $ticks);
- my $query = $dbh->prepare(intelquery q{
+ $query = $dbh->prepare(intelquery q{
o.alliance AS oalliance ,coords(o.x,o.y,o.z) AS ocoords, i.sender
,t.alliance AS talliance,coords(t.x,t.y,t.z) AS tcoords, i.target
},q{NOT ingal AND (o.alliance_id = $1 OR t.alliance_id = $1)
=head1 AUTHOR
-A clever guy
+Michael Andreen (harv@ruin.nu)
=head1 LICENSE
-This library is free software, you can redistribute it and/or modify
-it under the same terms as Perl itself.
+GPL 2.0, or later.
=cut
,(0.2*(attack_points/a.attack)+ 0.4*(defense_points/a.defense)
+ 0.2*(c.size/a.size) + 0.05*(c.score/a.score)
+ 0.15*(c.value/a.value))::Numeric(3,2) AS defprio
- ,array_accum(race::text) AS race
- ,array_accum(amount) AS amount
- ,array_accum(eta) AS eta
- ,array_accum(shiptype) AS shiptype
+ ,array_accum(COALESCE(race::text,'')) AS race
+ ,array_accum(COALESCE(amount,0)) AS amount
+ ,array_accum(COALESCE(eta,0)) AS eta
+ ,array_accum(COALESCE(shiptype,'')) AS shiptype
,array_accum(COALESCE(alliance,'?')) AS alliance
,array_accum(coords) AS attackers
FROM (SELECT c.id, p.x,p.y,p.z,p.id AS planet, p.size, p.value, p.score
my $query = $dbh->prepare(q{
SELECT c.id, coords(p.x,p.y,p.z), c.landing_tick, c.info, covered
- ,open, dc.username AS dc, u.defense_points,c.member
+ ,open, dc.username AS dc, u.defense_points,c.member AS uid
,u.planet, u.username AS member, u.sms,c.ftid
FROM calls c
JOIN users u ON c.member = u.uid
});
$call = $dbh->selectrow_hashref($query,undef,$call);
- $c->assert_user_roles(qw/calls_edit/) unless $c->user->id == $call->{member};
+ $c->assert_user_roles(qw/calls_edit/) unless $c->user->id == $call->{uid};
$c->stash(call => $call);
}
my ( $self, $c, $order ) = @_;
my $dbh = $c->model;
- if ($order =~ /^((?:defense|attack|total|humor|scan|raid)_points)$/){
+ if ($order && $order =~ /^((?:defense|attack|total|humor|scan|raid)_points)$/){
$order = "$1 DESC";
}else{
$order = 'total_points DESC';
});
my @missions;
$dbh->begin_work;
- while ($missions =~ m/([^\n]+)\s+(\d+):(\d+):(\d+)\s+(\d+):(\d+):(\d+)
+ while ($missions && $missions =~ m/([^\n]+)\s+(\d+):(\d+):(\d+)\s+(\d+):(\d+):(\d+)
\s+\((?:(\d+)\+)?(\d+)\).*?(?:\d+hrs\s+)?\d+mins?\s+
(Attack|Defend|Return|Fake\ Attack|Fake\ Defend)
(.*?)
$c->stash(removegroups => \@remgroups);
$c->stash(addgroups => \@addgroups);
- if ($order =~ /^(score|size|value|xp)rank$/){
+ if ($order && $order =~ /^(score|size|value|xp)rank$/){
$order .= " ASC";
- }elsif ($order eq 'race'){
+ }elsif ($order && $order eq 'race'){
$order .= ' ASC';
}else {
$order .= 'p.x,p.y,p.z';
$c->stash(comma => \&comma_value);
$c->stash(allies => $alliances);
+ $alliances ||= '';
my @alliances = split /,/, $alliances;
$c->forward('listAlliances');
- if ($order =~ /^(sizerank|valuerank|scorerank|xprank|nfvalue|nfvalue2)$/){
+ if ($order && $order =~ /^(sizerank|valuerank|scorerank|xprank|nfvalue|nfvalue2)$/){
$order = "$1";
}else{
$order = "nfvalue";