root/dev/common/feed.php @ 192

Revision 192, 2.9 KB (checked in by exi, 15 years ago)

Fixed several potential security issues with unchecked variables.
Added .htaccess files to common/ and mods/.
Modified the sync module to not send item data anymore.

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 ( && 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) // local
76    {
77            $klist->addVictimCorp(new Corporation(CORP_ID));
78    }
79    if (ALLIANCE_ID) // local
80    {
81            $klist->addVictimAlliance(new Alliance(ALLIANCE_ID));
82    }
83    if ($corp && !$_GET['friend']) // remote
84    {
85            $klist->addInvolvedCorp($corp);
86    }
87    if ($alli && !$_GET['friend']) // remote
88    {
89            $klist->addInvolvedAlliance($alli);
90    }
91}
92else
93{
94    if (CORP_ID) // local
95    {
96            $klist->addInvolvedCorp(new Corporation(CORP_ID));
97    }
98    if (ALLIANCE_ID) // local
99    {
100            $klist->addInvolvedAlliance(new Alliance(ALLIANCE_ID));
101    }
102    if ($corp && !$_GET['friend']) // remote
103    {
104            $klist->addVictimCorp($corp);
105    }
106    if ($alli && !$_GET['friend']) // remote
107    {
108            $klist->addVictimAlliance($alli);
109    }
110}
111
112$kills = array();
113while ($kill = $klist->getKill())
114{
115    if ($kill->isClassified())
116    {
117        continue;
118    }
119
120    $kills[$kill->getID()] = $kill->getTimestamp();
121}
122asort($kills);
123
124foreach ($kills as $id => $timestamp)
125{
126    $kill = new Kill($id);
127    $html .= '<item>
128                                <title>'.$id.'</title>
129                                <description><![CDATA[ '.$kill->getRawMail().' ]]></description>
130                                <guid>?a=kill_detail&amp;kll_id='.$id.'</guid>
131                                <pubDate>'.strftime("%a, %d %b %Y %T %Z", strtotime($timestamp))."</pubDate>
132                                </item>\n";
133}
134$html .= '</channel></rss>';
135
136if ($_GET['gz'])
137{
138    echo gzdeflate($html, 9);
139}
140else
141{
142    echo $html;
143}
144?>
Note: See TracBrowser for help on using the browser.