root/dev/common/feed.php @ 143

Revision 143, 2.5 KB (checked in by liq, 16 years ago)

Feed Syndication Addon v1.1

Line 
1<?php
2
3// liq's feed syndication mod v1.1
4
5@set_time_limit(0);
6header('Content-type: text/xml'); 
7require_once( "class.corp.php" );
8require_once( "class.alliance.php" );
9require_once( "class.killlist.php" );
10require_once( "class.kill.php" );
11require_once( "db.php" );
12require_once( "globals.php" );
13
14class RSSTable
15{
16    function RSSTable($kill_list) {
17        $this->limit = 0;
18        $this->offset = 0;
19        $this->kill_list_ = $kill_list;
20    }
21
22    function setLimit($limit) {
23        $this->limit_ = $limit;
24    }
25
26    function generate() {
27        $prevdate = "";
28        $this->kill_list_->rewind();
29               
30        while ($kill = $this->kill_list_->getKill())
31        {
32                $rawkill = new Kill( $kill->getID() );
33               
34                $html .= "
35                <item>
36                        <title>".$rawkill->getID()."</title>
37                <description> <![CDATA[ ".$rawkill->getRawMail()." ]]>  </description>
38                <guid>?a=kill_detail&amp;kll_id=".$kill->getID()."</guid>
39            <pubDate>".strftime( "%a, %d %b %Y %T %Z" , strtotime($kill->getTimeStamp()))."</pubDate>
40                </item> "; 
41        }
42        return $html;
43    }
44}
45
46$html .= "
47<rss version=\"2.0\"><channel>
48<title>".KB_TITLE."</title>
49<link>http://".KB_HOST."</link>
50<copyright>".KB_TITLE."</copyright>";
51
52$klist = new KillList();
53$klist->setOrdered(true);
54$klist->setPodsNoobShips(true);
55
56if ($_GET['corp'])
57{
58        $corp = new Corporation();
59        $corp->lookup( urldecode($_GET['corp']) );
60}
61if ($_GET['alli'])
62{
63    $alli = new Alliance();
64    $alli->add( urldecode($_GET['alli']) ); 
65}
66
67if ($_GET['week'])
68        $klist->setWeek( $_GET['week'] );
69elseif (!$_GET['lastkllid'])
70        $klist->setWeek( date("W") );
71if ($_GET['lastkllid']) {
72        if (method_exists($klist, 'setMinKllID'))
73        $klist->setMinKllID($_GET['lastkllid']);
74}
75
76if ( $_GET['losses']) {
77        $html .= "<description> Loss Feed </description>";
78        if (CORP_ID)
79                $klist->addVictimCorp(new Corporation(CORP_ID));
80        if (ALLIANCE_ID)
81                $klist->addVictimAlliance(new Alliance(ALLIANCE_ID));
82        if ($corp)
83                $klist->addInvolvedCorp($corp);
84        if ($alli)
85                $klist->addInvolvedAlliance($alli);
86
87} else {
88        $html .= "<description> Kill Feed </description>";
89        if (CORP_ID)
90                $klist->addInvolvedCorp(new Corporation(CORP_ID));
91        if (ALLIANCE_ID)
92                $klist->addInvolvedAlliance(new Alliance(ALLIANCE_ID));
93    if ($corp)
94                $klist->addVictimCorp($corp);
95        if ($alli)
96        $klist->addVictimAlliance($alli);
97}
98
99$table = new RSSTable($klist);
100$html .= $table->generate();
101$html .= "</channel></rss>";
102echo $html;
103
104?>
Note: See TracBrowser for help on using the browser.