]> ruin.nu Git - ndwebbie.git/blob - memberIntel.pl
nicer output
[ndwebbie.git] / memberIntel.pl
1 #**************************************************************************
2 #   Copyright (C) 2006 by Michael Andreen <harvATruinDOTnu>               *
3 #                                                                         *
4 #   This program is free software; you can redistribute it and/or modify  *
5 #   it under the terms of the GNU General Public License as published by  *
6 #   the Free Software Foundation; either version 2 of the License, or     *
7 #   (at your option) any later version.                                   *
8 #                                                                         *
9 #   This program is distributed in the hope that it will be useful,       *
10 #   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
11 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
12 #   GNU General Public License for more details.                          *
13 #                                                                         *
14 #   You should have received a copy of the GNU General Public License     *
15 #   along with this program; if not, write to the                         *
16 #   Free Software Foundation, Inc.,                                       *
17 #   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
18 #**************************************************************************/
19
20 use strict;
21 use warnings FATAL => 'all';
22 our $BODY;
23 our $DBH;
24 our $LOG;
25 my $error;
26
27 $ND::TEMPLATE->param(TITLE => 'Member Intel');
28
29 die "You don't have access" unless isHC();
30
31 my $showticks = 'AND i.tick > tick()';
32 if (defined param('show')){
33         if (param('show') eq 'all'){
34                 $showticks = '';
35         }elsif (param('show') =~ /^(\d+)$/){
36                 $showticks = "AND (i.tick - i.eta) > (tick() - $1)";
37         }
38 }
39
40
41 my $query = $DBH->prepare(intelquery('o.alliance AS oalliance,coords(o.x,o.y,o.z) AS origin, coords(t.x,t.y,t.z) AS target, t.nick',"t.alliance_id = 1 $showticks"));
42 $query->execute() or $error .= $DBH->errstr;
43 my @intellists;
44 my @incomings;
45 my $i = 0;
46 while (my $intel = $query->fetchrow_hashref){
47         if ($intel->{ingal}){
48                 $intel->{missionclass} = 'ingal';
49         }else{
50                 $intel->{missionclass} = $intel->{mission};
51         }
52         $i++;
53         $intel->{ODD} = $i % 2;
54         push @incomings,$intel;
55 }
56 push @intellists,{Message => 'Incoming fleets', Intel => \@incomings, Origin => 1};
57
58 $query = $DBH->prepare(intelquery('o.nick,coords(o.x,o.y,o.z) AS origin,t.alliance AS talliance,coords(t.x,t.y,t.z) AS target',"o.alliance_id = 1 $showticks"));
59 $query->execute() or $error .= $DBH->errstr;
60 my @outgoings;
61 $i = 0;
62 while (my $intel = $query->fetchrow_hashref){
63         if ($intel->{ingal}){
64                 $intel->{missionclass} = 'ingal';
65         }else{
66                 $intel->{missionclass} = $intel->{mission};
67         }
68         $i++;
69         $intel->{ODD} = $i % 2;
70         push @outgoings,$intel;
71 }
72 push @intellists,{Message => 'Outgoing Fleets', Intel => \@outgoings, Target => 1};
73
74 $BODY->param(IntelLIsts => \@intellists);
75
76 $BODY->param(Error => $error);
77 1;