Changeset 109734 in spip-zone


Ignore:
Timestamp:
Mar 30, 2018, 3:51:36 PM (20 months ago)
Author:
cedric@…
Message:

La syndication d'un flux RSS n'est apres tout qu'un cas particulier de syndication du contenu a partir d'un flux qui peut venir d'autres formats ou d'une API
Pour etendre les possibilites de la syndication, on separe donc les mecanismes de syndication proprement dit (genie, gestion du statut, des erreurs) de l'analyse du contenu au format RSS/Atom avec l'idee de permettre ensuite a des plugins de fournir leurs methodes de syndication
On ouvre ce chantier en versionnant en 2.0.0-dev le plugin, mais on va essayer de le garder fonctionnel a chaque iteration et ne rien casser

Location:
_core_/plugins/sites
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/sites/genie/syndic.php

    r94396 r109734  
    2020        return;
    2121}
    22 include_spip('inc/syndic');
    2322
    2423## valeurs modifiables dans mes_options
     
    136135                "id_syndic=" . intval($now_id_syndic));
    137136
    138         // Aller chercher les donnees du RSS et les analyser
    139         include_spip('inc/distant');
    140         $rss = recuperer_page($url_syndic, true);
    141         if (!$rss) {
    142                 $articles = _T('sites:avis_echec_syndication_02');
    143         } else {
    144                 $articles = analyser_backend($rss, $url_syndic);
    145         }
     137        include_spip('inc/syndic');
     138        $articles = syndic_http_dist($url_syndic);
    146139
    147140        // Renvoyer l'erreur le cas echeant
  • _core_/plugins/sites/inc/syndic.php

    r104354 r109734  
    2828include_spip('genie/syndic');
    2929
     30
     31/**
     32 * Analyse d'une URL au format RSS/Atom
     33 * @param string $url_syndic
     34 * @return array|string
     35 */
     36function syndic_http_dist($url_syndic) {
     37
     38        // Aller chercher les donnees du RSS et les analyser
     39        include_spip('inc/distant');
     40        $rss = recuperer_page($url_syndic, true);
     41        if (!$rss) {
     42                $articles = _T('sites:avis_echec_syndication_02');
     43        } else {
     44                $articles = analyser_backend($rss, $url_syndic);
     45        }
     46
     47        return $articles;
     48}
    3049
    3150/**
  • _core_/plugins/sites/paquet.xml

    r107319 r109734  
    22        prefix="sites"
    33        categorie="edition"
    4         version="1.11.1"
    5         etat="stable"
     4        version="2.0.0"
     5        etat="dev"
    66        compatibilite="[3.3.0-dev;3.3.*]"
    77        logo="prive/themes/spip/images/site-32.png"
Note: See TracChangeset for help on using the changeset viewer.