2 #-----------------------------------------------------#
3 # Plugin : Couteau Suisse - Licence : GPL #
4 # Auteur : Patrice Vanneufville, 2007 #
5 # Contact : patrice¡.!vanneufville¡@!laposte¡.!net #
6 # Infos : http://www.spip-contrib.net/?article2166 #
7 #-----------------------------------------------------#
8 if(!defined("_ECRIRE_INC_VERSION")) return;
10 include_spip('inc/actions');
12 function exec_cs_boite_rss_dist() {
14 // Constantes distantes
15 include_spip('cout_define');
16 if(defined('_CS_PAS_DE_DISTANT')) { ajax_retour(_T('couteauprive:version_distante_off')); return; }
18 // on cherche le flux rss toutes les _CS_RSS_UPDATE minutes
19 $force = _request('force')=='oui';
21 $lastmodified = @file_exists
(_CS_TMP_RSS
)?@filemtime
(_CS_TMP_RSS
):0;
22 if(time()-$lastmodified < _CS_RSS_UPDATE
) lire_fichier(_CS_TMP_RSS
, $p);
24 if(strlen($p)) { ajax_retour($p); return; }
25 include_spip('inc/filtres');
26 include_spip('action/editer_site');
27 include_spip('inc/xml');
28 $r = spip_xml_load(_CS_RSS_SOURCE
);
29 if(function_exists('spip_xml_match_nodes')) $c = spip_xml_match_nodes(',^item$,', $r, $r2);
31 $r2 = !is_array($r)?
array():array_shift(array_shift(array_shift(array_shift($r))));
36 $c = count($r3); $p='';
37 for($i=0; $i<min($c, _CS_RSS_COUNT
); $i++
) {
38 $l = $r3[$i]['link'][0];
39 $d = affdate_court(date('Y-m-d', strtotime($r3[$i]['pubDate'][0])));
40 $t = str_replace('&', '&', htmlentities($r3[$i]['title'][0], ENT_NOQUOTES
, "UTF-8"));
41 $t = preg_replace(',\s*€(¦)?,', ' (…)', $t);
42 $t = preg_replace(',^(.*?):,', "• <a href='$l' class='spip_out' target='_cout'>$1</a> <i>($d)</i><br/>", $t);
47 include_spip('couteau_suisse_fonctions');
48 $p = '<span style="color: red;">'._T('couteauprive:erreur:probleme', array('pb'=>cs_lien(_CS_RSS_SOURCE
,_T('couteauprive:erreur:distant')))).'</span>';
50 $du = affdate_heure(date('Y-m-d H:i:s',time()));
52 .'</ul><p class="rss-small"><b>'
53 ._T('couteauprive:rss_edition')."</b><br/>$du</p>"
54 .'<p style="text-align:right"><a href="'
55 .generer_url_ecrire('admin_couteau_suisse','var_mode=calcul', true).'" onclick="'
56 ."javascipt:jQuery('div.cs_boite_rss').children().css('opacity', 0.5).parent().load('".generer_url_ecrire('cs_boite_rss', 'force=oui', true).'\');return false;">'
57 ._T('couteauprive:rss_actualiser').'</a> | <a href="'
59 ._T('couteauprive:rss_source').'</a></p>';
60 if($c) ecrire_fichier(_CS_TMP_RSS
, $p);