lien; $rss_lu = explode(' ', $rss->eformat) ; $rss_time = $rss_lu[1] ; if ($rss_time=='0' || !$rss_time) return affiche_rss_from_url($rss->lien) ; else { $req_content = "select if(sysdate()contenu) { $etat_cache_rss = 1 ; } else { // truc trouvé mais périmé $etat_cache_rss = 2 ; } } else { // même pas trouvé $etat_cache_rss = 0 ; } switch ($etat_cache_rss) { case 1 : if ($rss_lu[3]=='1') majNoticesGlobalIndex($id_rss, 1, $content->contenu_parse); return $content->contenu_parse ; break ; case 2 : $fichier = lit_fichier_rss($rss_lien) ; $contenu_parse = affiche_rss_from_fichier($fichier); $rq = "update rss_content set rss_content='".addslashes($fichier)."', rss_content_parse='".addslashes($contenu_parse)."' where rss_id='$id_rss' "; pmb_mysql_query($rq); if ($rss_lu[3]=='1') majNoticesGlobalIndex($id_rss, 1, $contenu_parse); return $contenu_parse ; break ; case 0 : $fichier = lit_fichier_rss($rss_lien) ; $contenu_parse = affiche_rss_from_fichier($fichier); $rq = "insert into rss_content set rss_id='$id_rss', rss_content='".addslashes($fichier)."', rss_content_parse='".addslashes($contenu_parse)."' "; pmb_mysql_query($rq); if ($rss_lu[3]=='1') majNoticesGlobalIndex($id_rss, 1, $contenu_parse); return $contenu_parse ; break ; } } } function lit_fichier_rss($url_fichier) { global $opac_curl_available,$pmb_curl_timeout ; $res=""; if ($opac_curl_available) { $timeout=($pmb_curl_timeout*1 ? $pmb_curl_timeout*1 : 5); $ch = curl_init($url_fichier); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); configurer_proxy_curl($ch,$url_fichier); $res=curl_exec($ch); curl_close($ch); } else { $fp=fopen($url_fichier,"r"); if ($fp) { while (!feof($fp)) $res.=fread($fp,2048); fclose($fp); } } return $res; } // --------- funtion affichage RSS, reçoit URL fichier XML function affiche_rss_from_url($url_fichier="") { $fp=lit_fichier_rss($url_fichier) ; if ($fp) { $red=true; $content=str_replace(" "," ",$fp); //Parse du fichier $param=_parser_text_no_function_($content); if (is_array($param)) { $forme = key($param); $val = current($param); next($param); $param = $val[0]; for ($j=0; $j".$current["IMAGE"][0]["TITLE"][0]["value"]." "; $articles.="".$current["TITLE"][0]["value"].""; if (strpos($forme,"RDF")!==false) $current=$param; $articles.=""; $articles.=""; } } } return $articles; } // --------- funtion affichage RSS, reçoit fichier XML function affiche_rss_from_fichier($fichier="") { $content = $fichier ; $content=str_replace(" "," ",$content); //Parse du fichier $param=_parser_text_no_function_($content); if (is_array($param)) { $forme = key($param); $val = current($param); next($param); $param = $val[0]; for ($j=0; $j".$current["IMAGE"][0]["TITLE"][0]["value"]." "; $articles.="".$current["TITLE"][0]["value"].""; if (strpos($forme,"RDF")!==false) $current=$param; $articles.="
    "; for ($k=0; $k".$item["TITLE"][0]["value"]."

    ".$item["DESCRIPTION"][0]["value"]."
    "; $articles.=""; } $articles.="
"; $articles.=""; } } return $articles; }