-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfeed.php
87 lines (59 loc) · 2.15 KB
/
feed.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
try {
require_once(__DIR__.'/includes/lib/init.php');
} catch (Exception $e) {
die($e->getMessage());
}
$link_news = $config['url'].'page/news-%d.html';
$link_logs = $config['url'].'page/logs.html#logId%d';
new FeedLoader();
new RSS2FeedWriter();
new ATOMFeedWriter();
if (!isset($_GET['type']) || !in_array($_GET['type'], array('news', 'logs'))) exit();
$feed = Cache::get();
if (!$feed) {
$feed = new RSS2FeedWriter();
if (isset($_GET['v']) && $_GET['v'] == 'atom') $feed = new ATOMFeedWriter();
$feed->setLink('http://www.feuerwehrsport-statistik.de');
switch ($_GET['type']) {
case 'news':
$feed->setTitle('Feuerwehrsport - Statistiken - Neuigkeiten');
$feed->setDescription('Neuigkeiten über die Statistiken vom Feuerwehrsport');
$news = $db->getRows("
SELECT *
FROM `news`
ORDER BY `date` DESC
LIMIT 10;
");
foreach ($news as $new) {
$item = $feed->createNewItem();
$item->setTitle($new['title']);
$item->setLink(sprintf($link_news, $new['id']));
$item->setDate(strtotime($new['date']));
$item->setDescription($new['content']);
$feed->addItem($item);
}
break;
case 'logs':
$feed->setTitle('Feuerwehrsport - Statistiken - Veränderungen');
$feed->setDescription('Veränderungen der Statistiken vom Feuerwehrsport');
$logs = $db->getRows("
SELECT *
FROM `logs`
ORDER BY `inserted` DESC
LIMIT 100;
");
foreach ($logs as $log) {
$log = Log::getByRow($log);
$item = $feed->createNewItem();
$item->setTitle($log->description());
$item->setLink(sprintf($link_logs, $log->id));
$item->setDate($log->time());
$item->setDescription($log->content());
$feed->addItem($item);
}
break;
}
Cache::put($feed);
}
$feed->generateFeed();