root/1.2.1/common/feed.php @ 146

Revision 146, 2.7 KB (checked in by liq, 15 years ago)

put syncmod v1.1 in the v1.2.1 release

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>".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'] || $_GET['corp_name'])
57{
58        if ($_GET['corp'])
59                $c=$_GET['corp'];
60        if ($_GET['corp_name'])
61                $c=$_GET['corp_name'];
62        $corp = new Corporation();
63        $corp->lookup( urldecode($c) );
64}
65if ($_GET['alli'] || $_GET['alliance_name'])
66{
67        if ($_GET['alli'])
68                $a=$_GET['alli'];
69        if ($_GET['alliance_name'])
70                $a=$_GET['alliance_name'];
71    $alli = new Alliance();
72    $alli->add( urldecode($a) ); 
73}
74
75if ($_GET['week'])
76        $klist->setWeek( $_GET['week'] );
77elseif (!$_GET['lastkllid'])
78        $klist->setWeek( date("W") );
79if ($_GET['lastkllid']) {
80        if (method_exists($klist, 'setMinKllID'))
81        $klist->setMinKllID($_GET['lastkllid']);
82}
83
84if ( $_GET['losses']) {
85        $html .= "<description> Loss Feed </description>";
86        if (CORP_ID)
87                $klist->addVictimCorp(new Corporation(CORP_ID));
88        if (ALLIANCE_ID)
89                $klist->addVictimAlliance(new Alliance(ALLIANCE_ID));
90        if ($corp)
91                $klist->addInvolvedCorp($corp);
92        if ($alli)
93                $klist->addInvolvedAlliance($alli);
94
95} else {
96        $html .= "<description> Kill Feed </description>";
97        if (CORP_ID)
98                $klist->addInvolvedCorp(new Corporation(CORP_ID));
99        if (ALLIANCE_ID)
100                $klist->addInvolvedAlliance(new Alliance(ALLIANCE_ID));
101    if ($corp)
102                $klist->addVictimCorp($corp);
103        if ($alli)
104        $klist->addVictimAlliance($alli);
105}
106
107$table = new RSSTable($klist);
108$html .= $table->generate();
109$html .= "</channel></rss>";
110echo $html;
111
112?>
Note: See TracBrowser for help on using the browser.