Subversion Repositories Applications.papyrus

Rev

Rev 1087 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1087 Rev 1203
1
<?php
1
<?php
2
 
2
 
3
define('MAGPIE_DIR', GEN_CHEMIN_API.'syndication_rss/magpierss/');
3
define('MAGPIE_DIR', GEN_CHEMIN_API.'syndication_rss/magpierss/');
4
define('MAGPIE_CACHE_DIR', MAGPIE_DIR.'tmp/magpie_cache');
4
define('MAGPIE_CACHE_DIR', MAGPIE_DIR.'tmp/magpie_cache');
5
define('OUVRIR_LIEN_RSS_NOUVELLE_FENETRE', 1);
5
define('OUVRIR_LIEN_RSS_NOUVELLE_FENETRE', 1);
6
define('FORMAT_DATE', 'jma');
6
define('FORMAT_DATE', 'jma');
7
require_once(MAGPIE_DIR.'rss_fetch.inc');
7
require_once(MAGPIE_DIR.'rss_fetch.inc');
8
 
8
 
9
function voir_rss($titre='', $url='', $nb=0, $nouvelle_fenetre=OUVRIR_LIEN_RSS_NOUVELLE_FENETRE, $formatdate=FORMAT_DATE, $template = "") {
9
function voir_rss($titre='', $url='', $nb=0, $nouvelle_fenetre=OUVRIR_LIEN_RSS_NOUVELLE_FENETRE, $formatdate=FORMAT_DATE, $template = "") {
10
	$res= '';
10
	$res= '';
11
	if ( $url!='' ) {
11
	if ( $url!='' ) {
12
		$rss = fetch_rss( $url );
12
		$rss = fetch_rss( $url );
13
		
13
		
14
		if ($template != "") {
14
		if ($template != "") {
15
			$i = 0 ;
15
			$i = 0 ;
16
			foreach ($rss->items as $item) {
16
			foreach ($rss->items as $item) {
17
				// Le test suivant pour savoir s il faut reduire l excendent de description
17
				// Le test suivant pour savoir s il faut reduire l excendent de description
18
				// Si {all} est present dans le template on ne reduit pas
18
				// Si {all} est present dans le template on ne reduit pas
19
				if (preg_match ('/{all}/', $template)) {
19
				if (preg_match ('/{all}/', $template)) {
20
					$template = str_replace('{all}', '', $template);
20
					$template = str_replace('{all}', '', $template);
21
					$all = true ;
21
					$all = true ;
22
				} else {
22
				} else {
23
					$all = false;
23
					$all = false;
24
				}
24
				}
25
				if (strlen($item['description']) > 200 && !$all) {
25
				if (strlen($item['description']) > 200 && !$all) {
26
					$item['description'] = substr ($item['description'] , 0, 300).'... <a href="'.$item['link'].'">Lire la suite</a>';
26
					$item['description'] = substr ($item['description'] , 0, 300).'... <a href="'.$item['link'].'">Lire la suite</a>';
27
				}
27
				}
28
				if (!isset($item['pubdate'])) $item['pubdate'] = date('dmY');
28
				if (!isset($item['pubdate'])) $item['pubdate'] = date('dmY');
-
 
29
				
-
 
30
				// Le code ci-apres est pour rattraper les dates du type 01012005 parsees par magpie
-
 
31
				// lorsque les flux donne des dates au format iso
-
 
32
				if (preg_match('/^([0-3][0-9])([0-1][0-9])([0-9][0-9][0-9][0-9])$/', $item['pubdate'], $match)) {
-
 
33
					$item['pubdate'] = $match[3].'-'.$match[2].'-'.$match[1];
-
 
34
					//echo $item['pubdate'];
-
 
35
				}
29
				$res .= str_replace ('{num}', ++$i, 
36
				$res .= str_replace ('{num}', ++$i, 
30
						str_replace ('{item}', '<a href="'.$item['link'].'" target="_top">'.$item['title'].'</a>', 
37
						str_replace ('{item}', '<a href="'.$item['link'].'" target="_top">'.$item['title'].'</a>', 
31
						str_replace ('{date}', strftime('%d.%m.%Y',strtotime($item['pubdate'])),
38
						str_replace ('{date}', strftime('%d.%m.%Y',strtotime($item['pubdate'])),
32
						str_replace ('{description}', $item['description'], $template)))) ;
39
						str_replace ('{description}', $item['description'], $template)))) ;
33
				$res .= "\n";
40
				$res .= "\n";
34
				if ($i > $nb) break;
41
				if ($i > $nb) break;
35
				
42
				
36
			}
43
			}
37
			return $res ;
44
			return $res ;
38
		}
45
		}
39
		if ( $titre=='' ) {$res .= '<h2>'.$rss->channel['title'].'</h2>'."\n";}
46
		if ( $titre=='' ) {$res .= '<h2>'.$rss->channel['title'].'</h2>'."\n";}
40
		elseif ( $titre!='0' ) {$res .= '<h2>'.$titre.'</h2>'."\n";}
47
		elseif ( $titre!='0' ) {$res .= '<h2>'.$titre.'</h2>'."\n";}
41
		$res .= '<ul class="liste_rss">'."\n";
48
		$res .= '<ul class="liste_rss">'."\n";
42
		$i=0;
49
		$i=0;
43
        $nb_item=count($rss->items);
50
        $nb_item=count($rss->items);
44
		if (($nb==0)or($nb_item<=$nb)) {
51
		if (($nb==0)or($nb_item<=$nb)) {
45
			foreach ($rss->items as $item) {
52
			foreach ($rss->items as $item) {
46
				$href = $item['link'];
53
				$href = $item['link'];
47
				$title = $item['title'];	
54
				$title = $item['title'];	
48
				$res .= '<li class="titre_rss">'."\n";
55
				$res .= '<li class="titre_rss">'."\n";
49
				if (isset($item['pubdate'])) $date=$item['pubdate'];
56
				if (isset($item['pubdate'])) $date=$item['pubdate'];
50
				elseif ((!isset($item['pubdate']))and(isset($item['date_timestamp']))) $date=$item['date_timestamp'];
57
				elseif ((!isset($item['pubdate']))and(isset($item['date_timestamp']))) $date=$item['date_timestamp'];
51
				else $formatdate='';
58
				else $formatdate='';
52
				if ($formatdate=='jm') {$res .= strftime('%d.%m',strtotime($date)).': ';}
59
				if ($formatdate=='jm') {$res .= strftime('%d.%m',strtotime($date)).': ';}
53
				if ($formatdate=='jma') {$res .= strftime('%d.%m.%Y',strtotime($date)).': ';}
60
				if ($formatdate=='jma') {$res .= strftime('%d.%m.%Y',strtotime($date)).': ';}
54
				if ($formatdate=='jmh') {$res .= strftime('%d.%m %H:%M',strtotime($date)).': ';}
61
				if ($formatdate=='jmh') {$res .= strftime('%d.%m %H:%M',strtotime($date)).': ';}
55
				if ($formatdate=='jmah') {$res .= strftime('%d.%m.%Y %H:%M',strtotime($date)).': ';}
62
				if ($formatdate=='jmah') {$res .= strftime('%d.%m.%Y %H:%M',strtotime($date)).': ';}
56
                $res .= '<a class="lien_rss" href="'.$href;
63
                $res .= '<a class="lien_rss" href="'.$href;
57
        	               	if ($nouvelle_fenetre==1) $res .=  '" onclick="window.open(this.href); return false;';
64
        	               	if ($nouvelle_fenetre==1) $res .=  '" onclick="window.open(this.href); return false;';
58
				$res .= '">'.$title.'</a></li>'."\n";
65
				$res .= '">'.$title.'</a></li>'."\n";
59
			}
66
			}
60
		}
67
		}
61
		else {
68
		else {
62
			$i=0;
69
			$i=0;
63
			foreach ($rss->items as $item) {
70
			foreach ($rss->items as $item) {
64
				$href = $item['link'];
71
				$href = $item['link'];
65
				$title = $item['title'];	
72
				$title = $item['title'];	
66
				$res .= '<li class="titre_rss">'."\n";
73
				$res .= '<li class="titre_rss">'."\n";
67
				if (isset($item['pubdate'])) $date=$item['pubdate'];
74
				if (isset($item['pubdate'])) $date=$item['pubdate'];
68
				elseif ((!isset($item['pubdate']))and(isset($item['date_timestamp']))) $date=$item['date_timestamp'];
75
				elseif ((!isset($item['pubdate']))and(isset($item['date_timestamp']))) $date=$item['date_timestamp'];
69
				else $formatdate='';
76
				else $formatdate='';
70
				if ($formatdate=='jm') {$res .= strftime('%d.%m',strtotime($date)).': ';}
77
				if ($formatdate=='jm') {$res .= strftime('%d.%m',strtotime($date)).': ';}
71
				if ($formatdate=='jma') {$res .= strftime('%d.%m.%Y',strtotime($date)).': ';}
78
				if ($formatdate=='jma') {$res .= strftime('%d.%m.%Y',strtotime($date)).': ';}
72
				if ($formatdate=='jmh') {$res .= strftime('%d.%m %H:%M',strtotime($date)).': ';}
79
				if ($formatdate=='jmh') {$res .= strftime('%d.%m %H:%M',strtotime($date)).': ';}
73
				if ($formatdate=='jmah') {$res .= strftime('%d.%m.%Y %H:%M',strtotime($date)).': ';}
80
				if ($formatdate=='jmah') {$res .= strftime('%d.%m.%Y %H:%M',strtotime($date)).': ';}
74
                $res .= '<a class="lien_rss" href="'.$href;
81
                $res .= '<a class="lien_rss" href="'.$href;
75
        	               	if ($nouvelle_fenetre==1) $res .=  '" onclick="window.open(this.href); return false;';
82
        	               	if ($nouvelle_fenetre==1) $res .=  '" onclick="window.open(this.href); return false;';
76
				$res .= '">'.$title.'</a></li>'."\n";
83
				$res .= '">'.$title.'</a></li>'."\n";
77
				$i++;
84
				$i++;
78
				if ($i>=$nb) break;
85
				if ($i>=$nb) break;
79
			}
86
			}
80
		}
87
		}
81
		$res .= '</ul>'."\n";
88
		$res .= '</ul>'."\n";
82
	}
89
	}
83
        //echo '<pre>'.var_dump($rss->items).'</pre><br /><br />';
90
        //echo '<pre>'.var_dump($rss->items).'</pre><br /><br />';
84
	return $res;
91
	return $res;
85
}
92
}
86
?>
93
?>