root/dev/mods/feed_syndication/feed.php @ 148

Revision 148, 2.7 KB (checked in by exi, 14 years ago)

Reverted the changes in 1.2.1 tag, tags may not be changed.
Removed the admin menus for the syndication feeds as they don't meet the core-requirements and put them into a separate mod.
However, the modified feed engine itself remains core.

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