forked from iRail/iRail
-
Notifications
You must be signed in to change notification settings - Fork 0
/
news.php
96 lines (78 loc) · 2.77 KB
/
news.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
88
89
90
91
92
93
94
95
96
<?php
/**
* Copyright 2008, 2009, 2010 Yeri "Tuinslak" Tiete (http://yeri.be), and others
Copyright 2010 Pieter Colpaert ([email protected] - http://bonsansnom.wordpress.com)
This file is part of iRail.
iRail is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
iRail is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with iRail. If not, see <http://www.gnu.org/licenses/>.
http://project.irail.be - http://irail.be
source available at http://github.com/Tuinslak/iRail
* @author pieterc
*/
include("Page.php");
class News extends Page {
function __construct() {
$this->page = array(
"title" => "iRail.be",
"subtitle" => "{i18n_news}"
);
$this->outNews($this->fetchNews());
}
private function fetchNews() {
$xml = "http://www.railtime.be/website/RSS/RssInfoBar_nl.xml";
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);
$x = $xmlDoc->getElementsByTagName('item');
$news = array();
$size = 10;
if($x->length < $size){
$size = $x-> length;
}
for ($i = 0; $i < $size; $i++) {
$title = $x->item($i)->getElementsByTagName('title')
->item(0)->childNodes->item(0)->nodeValue;
$desc = $x->item($i)->getElementsByTagName('description')
->item(0)->childNodes->item(0)->nodeValue;
$news[$title] = $desc;
}
return $news;
}
private function outNews($news) {
$this->page["newslist"] .= '<ul data-role="listview">';
$i = 0;
if(sizeof($news) > 0){
foreach ($news as $title => $desc) {
$i++;
$this-> page["newslist"] .= '<li data-role="list-divider">' . $title .
'<span class="ui-li-count">' . $i . '</span></li>
<li>
<p>' . $desc . '</p>
</li>';
}
} else {
$this-> page["newslist"] .= '<li data-role="list-divider">No news<span class="ui-li-count">0</span></li>
<li>
<p>There is absolutely nothing for you to worry about</p>
</li>';
}
$this->page["newslist"] .= '</ul>';
}
}
//__MAIN__
$page = new News();
if (isset($_COOKIE["language"])) {
$page->setLanguage($_COOKIE["language"]);
}
if (isset($_GET["output"])) {
$page->setTemplate($_GET["output"]);
}
$page->buildPage("News.tpl");
?>