-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreader.php
54 lines (51 loc) · 1.34 KB
/
reader.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
<?php
/**
* Content left
*/
function read_left() {
print lectorRSS("http://feeds.feedburner.com/unblogenred");
}
/**
* Content right
*/
function read_right() {
print lectorRSS("http://feeds.feedburner.com/blogcmt/feed");
}
/**
* Devuelve el html con las ultimas noticias de un canal rss dado
* @param $url
* @param $elementos
* @param $inicio
*/
function lectorRSS($url, $elementos = 6, $inicio = 0) {
$cache_version = "cache/" . basename($url);
$archivo = fopen($url, 'r');
stream_set_blocking($archivo, TRUE);
stream_set_timeout($archivo, 5);
$datos = stream_get_contents($archivo);
$status = stream_get_meta_data($archivo);
fclose($archivo);
if ($status['timed_out']) {
$noticias = simplexml_load_file($cache_version);
}
else {
$archivo_cache = fopen($cache_version, 'w');
fwrite($archivo_cache, $datos);
fclose($archivo_cache);
$noticias = simplexml_load_string($datos);
}
$ContadorNoticias=1;
$output = "<ul>";
foreach ($noticias->channel->item as $noticia) {
if($ContadorNoticias<$elementos){
if($ContadorNoticias>$inicio){
$output .= "<li><a href='" . $noticia->link . "' target='_blank' class='tooltip' title='" . utf8_decode($noticia->title) . "'>";
$output .= utf8_decode($noticia->title);
$output .= "</a></li>";
}
$ContadorNoticias = $ContadorNoticias + 1;
}
}
$output .= "</ul>";
return $output;
}