root/dev/common/feed.php @ 325

Revision 321, 3.5 KB (checked in by beansman, 14 years ago)
  • Ticket 79

 http://trac.eve-dev.net/ticket/79

Line 
1<?php
2
3@set_time_limit(120);
4require_once('common/includes/class.corp.php');
5require_once('common/includes/class.alliance.php');
6require_once('common/includes/class.killlist.php');
7require_once('common/includes/class.kill.php');
8
9$html .= '<rss version="2.0">
10        <channel>
11        <title>'.KB_TITLE.'</title>
12        <link>http://'.KB_HOST.'</link>
13        <description>Kill Feed v1.5</description>
14        <copyright>'.KB_TITLE.'</copyright>'."\n";
15
16$klist = new KillList();
17$klist->setPodsNoobShips(true);
18
19$w = intval($_GET['week']);
20if ($w)
21{
22    $klist->setWeek($w);
23}
24elseif (!$_GET['lastkllid'])
25{
26    $klist->setWeek(kbdate("W"));
27}
28
29$y = intval($_GET['year']);
30if ($y)
31{
32    $klist->setYear($y);
33}
34elseif (!$_GET['lastkllid'])
35{
36    $klist->setYear(kbdate("Y"));
37}
38
39$kid = intval($_GET['lastkllid']);
40if ($kid && method_exists($klist, 'setMinKllID'))
41{
42    $klist->setMinKllID($kid);
43}
44
45if ($_GET['corp'] || $_GET['corp_name'])
46{
47    if ($_GET['corp'])
48    {
49        $c = $_GET['corp'];
50    }
51    if ($_GET['corp_name'])
52    {
53        $c = $_GET['corp_name'];
54    }
55    $corp = new Corporation();
56    $corp->lookup(urldecode($c));
57}
58
59if ($_GET['alli'] || $_GET['alliance_name'])
60{
61    if ($_GET['alli'])
62    {
63        $a = $_GET['alli'];
64    }
65    if ($_GET['alliance_name'])
66    {
67        $a = $_GET['alliance_name'];
68    }
69    $alli = new Alliance();
70    $alli->add(urldecode($a));
71}
72
73if ($_GET['losses'])
74{
75    if (CORP_ID  && !$corp && !$alli) // local
76    {
77            $klist->addVictimCorp(new Corporation(CORP_ID));
78    }
79    if (ALLIANCE_ID  && !$corp && !$alli) // local
80    {
81            $klist->addVictimAlliance(new Alliance(ALLIANCE_ID));
82    }
83    if ($corp && $_GET['friend']) // remote friend
84    { 
85            $klist->addVictimCorp($corp); 
86    } 
87    if ($alli && $_GET['friend']) // remote friend
88    { 
89            $klist->addVictimAlliance($alli); 
90    } 
91    if ($corp && !$_GET['friend']) // remote
92    {
93            $klist->addInvolvedCorp($corp);
94    }
95    if ($alli && !$_GET['friend']) // remote
96    {
97            $klist->addInvolvedAlliance($alli);
98    }
99}
100else
101{
102    if (CORP_ID && !$corp && !$alli) // local
103    {
104            $klist->addInvolvedCorp(new Corporation(CORP_ID));
105    }
106    if (ALLIANCE_ID && !$corp && !$alli) // local
107    {
108            $klist->addInvolvedAlliance(new Alliance(ALLIANCE_ID));
109    }
110    if ($corp && $_GET['friend']) // remote friend
111    { 
112            $klist->addInvolvedCorp($corp); 
113    } 
114    if ($alli && $_GET['friend']) // remote friend
115    { 
116            $klist->addInvolvedAlliance($alli); 
117    } 
118    if ($corp && !$_GET['friend']) // remote
119    {
120            $klist->addVictimCorp($corp);
121    }
122    if ($alli && !$_GET['friend']) // remote
123    {
124            $klist->addVictimAlliance($alli);
125    }
126}
127
128$kills = array();
129while ($kill = $klist->getKill())
130{
131    if ($kill->isClassified())
132    {
133        continue;
134    }
135
136    $kills[$kill->getID()] = $kill->getTimestamp();
137}
138asort($kills);
139
140foreach ($kills as $id => $timestamp)
141{
142    $kill = new Kill($id);
143    $html .= '<item>
144                                <title>'.$id.'</title>
145                                <description><![CDATA[ '.$kill->getRawMail().' ]]></description>
146                                <guid>?a=kill_detail&amp;kll_id='.$id.'</guid>
147                                <pubDate>'.strftime("%a, %d %b %Y %T %Z", strtotime($timestamp))."</pubDate>
148                                </item>\n";
149}
150$html .= '</channel></rss>';
151
152if ($_GET['gz'])
153{
154    echo gzdeflate($html, 9);
155}
156else
157{
158    echo $html;
159}
160?>
Note: See TracBrowser for help on using the browser.