if (lire_config('rssarticle/import_statut')=="publie") $import_statut="publie"; else $import_statut="prop"; \r
if (lire_config('rssarticle/mode')=="auto") $mode_auto=true; else $mode_auto=false; \r
if (lire_config('rssarticle/email_alerte')=="on") $email_alerte=true; else $email_alerte=false;\r
- if (lire_config('rssarticle/copie_logo')=="on") $copie_logo=true; else $copie_logo=false; \r
+ if (lire_config('rssarticle/copie_logo')=="on") $copie_logo=true; else $copie_logo=false; \r
+ if (lire_config('rssarticle/html2spip')=="on") $html2spip=true; else $html2spip=false; \r
$email_suivi = lire_config('rssarticle/email_suivi'); \r
\r
// autres valeurs\r
$s = sql_select("*", "spip_syndic_articles", "statut='publie' AND id_syndic='$id_syndic'","","maj DESC","10"); // par flot de 10 articles / site pour limiter la charge\r
while ($a = sql_fetch($s)) {\r
$titre = $a['titre'];\r
+ $url = $a['url'];\r
$id_syndic_article = $a['id_syndic_article']; \r
\r
- // article avec mm titre existe ? (test doublons)\r
- if (!$row = sql_fetsel("id_article","spip_articles","titre=".sql_quote($titre))) { \r
+ // article avec mm titre existe ? (test doublons sur l'url plutot que sr le titre)\r
+ if (!$row = sql_fetsel("id_article","spip_articles","url_site=".sql_quote($url))) { \r
\r
$texte = $a['descriptif'];\r
+ //traitement pour syntaxe SPIP\r
+ if($html2spip)\r
+ $texte = html2spip($texte);\r
$lang = $a['lang'];\r
$url = $a['url'];\r
$tags = $a['tags'];\r
return $s;\r
}\r
\r
-/*\r
-UPDATE `spip_syndic_articles` SET statut="publie";\r
-TRUNCATE TABLE `spip_articles`;\r
-DELETE FROM `spip_auteurs_liens` WHERE id_auteur > 1;\r
-DELETE FROM `spip_auteurs` WHERE id_auteur > 1; \r
-*/\r
+/**\r
+ * \r
+ * Nettoyer l'utf-8 et ses accents \r
+ *\r
+**/\r
+function clean_utf8($t) {\r
+ if (!preg_match('!\S!u', $t))\r
+ $t = preg_replace_callback(',&#x([0-9a-f]+);,i', 'utf8_do', utf8_encode(utf8_decode($t)));\r
+ return $t;\r
+}\r
+\r
+\r
+//passe le html en SPIP\r
+//repris de memo.php, merci\r
+\r
+function html2spip($lapage){\r
+ $lapage=clean_utf8($lapage);\r
+ \r
+ // remettre les double quotes casé par texte_backend\r
+ $lapage = str_replace('"','"',$lapage);\r
+ \r
+ // PRETRAITEMENTS\r
+ $lapage = str_replace("\n\r", "\r", $lapage); // echapper au greedyness de preg_replace\r
+ $lapage = str_replace("\n", "\r", $lapage);\r
+\r
+ // itals\r
+ $lapage = preg_replace(",<(i|em)( [^>\r]*)?".">(.+)</\\1>,Uims", "{\\3}", $lapage);\r
+ \r
+ // gras (pas de {{ pour eviter tout conflit avec {)\r
+ $lapage = preg_replace(",<(b|h[4-6])( [^>]*)?".">(.+)</\\1>,Uims", "@@b@@\\3@@/b@@", $lapage);\r
+ $lapage = preg_replace(",<strong( [^>]*)?".">(.+)</strong>,Uims", "@@b@@\\2@@/b@@", $lapage);\r
+ \r
+ // entites\r
+ include_spip('inc/charsets');\r
+ $lapage = html2unicode($lapage, true); //secure?\r
+ \r
+ // liens avec possibilités de non fermeture du tag\r
+ $lapage = preg_replace(",<a[ \t\n\r][^<>]*href=[^<>]*(http[^<>]*)[^<>]>(.*?)<,uims", "[\\2->\\1] <", $lapage);\r
+\r
+ // images (cf ressource)\r
+ $lapage = preg_replace(",<img[ \t\n\r][^<>]*src=[^<>]*(http[^<>'\"]*)[^<>]*>,uims","[img]\\1[//img]", $lapage);\r
+\r
+ \r
+ // intertitres\r
+ $lapage = preg_replace(",<(h[1-3])( [^>]*)?".">(.+)</\\1>,Uims", "\r{{{ \\3 }}}\r", $lapage);\r
+ // tableaux\r
+ $lapage = preg_replace(",<tr( [^>]*)?".">,Uims", "<br />\r", $lapage);\r
+ $lapage = preg_replace(",<t[hd]( [^>]*)?".">,Uims", " | ", $lapage);\r
+\r
+ // POST TRAITEMENT\r
+ $lapage = str_replace("\r", "\n", $lapage);\r
+\r
+ // SUPPRIME LES TAGS\r
+ if (eregi("<title.*>(.*)</title>", $lapage, $regs))\r
+ $titre = textebrut($regs[1]);\r
+ $lapage = textebrut($lapage);\r
+ \r
+ // Suite tableaux\r
+ $lapage = preg_replace(",\n[| ]+\n,", "", $lapage);\r
+ $lapage = preg_replace(",\n[|].+?[|].+?[|].+,", "\\0|\r", $lapage);\r
+ \r
+ // retablir les gras\r
+ $lapage = preg_replace(",@@b@@(.*)@@/b@@,Uims","{{\\1}}",$lapage);\r
+ \r
+ //retablir les images pour les lire avec le plugin ressource\r
+ $lapage = preg_replace('#\[img\](.*)\[\//img\]#Umis', "<$1>", $lapage);\r
+ \r
+ //nettoyer les "] qui dépassent parfois\r
+ $lapage = preg_replace(",\"\],uims", "]", $lapage);\r
+ \r
+ return $lapage;\r
+}\r
\r
?>
\ No newline at end of file