Changeset 99417 in spip-zone


Ignore:
Timestamp:
Sep 7, 2016, 8:44:54 PM (3 years ago)
Author:
teddy.spip@…
Message:

Prise en compte d'un feed pour le xml qui arrive parfois

Location:
_plugins_/rss_commits/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/rss_commits/trunk/action/maj_commits_projet.php

    r96468 r99417  
    5454                }
    5555
    56                 $commits = lister_rss_commits($id_projet);
     56                $commits = lister_rss_commits($id_projet, false);
     57                spip_log(print_r($commits, true), 'rss_commits');
    5758                if (count($commits) > 0) {
    5859                        foreach ($commits as $key => $value) {
  • _plugins_/rss_commits/trunk/inc/analyser_rss_commits.php

    r96469 r99417  
    3131                // Merci _Eric_ pour ce code.
    3232                // var_dump($page);
     33                include_spip('inc/xml');
     34                $xml_test = preg_replace("/\&lt\;/g", "<", $page);
     35                spip_log(print_r($xml_test, true), 'rss_commits');
    3336                $xml = json_decode(json_encode(simplexml_load_string($page, null, LIBXML_NOCDATA)), true);
    3437        }
  • _plugins_/rss_commits/trunk/inc/recuperer_rss_commits.php

    r96469 r99417  
    5050                if (isset($login) and $login != '') {
    5151                        $options[CURLOPT_USERPWD] = $login . ':' . $password;    // don't return headers
    52                         spip_log($login . ' ' . $password, 'rss_commits');
     52                        /* spip_log($login . ' ' . $password, 'rss_commits'); */
    5353                } else {
    5454                        $login = lire_config('rss_commits/login');
    5555                        $password = lire_config('rss_commits/password');
    5656                        $options[CURLOPT_USERPWD] = $login . ':' . $password;    // don't return headers
    57                         spip_log($login . ' ' . $password, 'rss_commits');
     57                        // spip_log($login . ' ' . $password, 'rss_commits');
    5858                }
    5959
  • _plugins_/rss_commits/trunk/paquet.xml

    r98005 r99417  
    22        prefix="rss_commits"
    33        categorie="divers"
    4         version="0.6.6"
     4        version="0.6.7"
    55        etat="dev"
    66        compatibilite="[3.0.8;3.1.*]"
  • _plugins_/rss_commits/trunk/rss_commits_fonctions.php

    r96468 r99417  
    2929
    3030        $projet_rss = sql_allfetsel('versioning_rss,id_projet', 'spip_projets', $where);
     31        // spip_log(print_r($projet_rss, true), 'rss_commits');
    3132
    3233        $analyser_rss_commits = charger_fonction('analyser_rss_commits', 'inc');
     
    3435                foreach ($projet_rss as $key_rss => $value_rss) {
    3536                        $contenu_rss = $analyser_rss_commits($value_rss["versioning_rss"]);
     37                        // spip_log(print_r($contenu_rss, true), 'rss_commits');
    3638                        if (count($contenu_rss) > 0) {
    37                                 foreach ($contenu_rss['channel']['item'] as $key => $value) {
    38                                         $items[$key]['titre'] = echapper_tags($value['title']);
    39                                         $items[$key]['descriptif'] = $value['description'];
    40                                         $items[$key]['texte'] = trim($value['texte']);
    41                                         $items[$key]['auteur'] = echapper_tags($value['author']);
    42                                         $items[$key]['url_revision'] = $value['link'];
    43                                         $items[$key]['guid'] = $value['guid'];
    44                                         $items[$key]['id_projet'] = $value_rss['id_projet'];
    45                                         $items[$key]['date_creation'] = strftime(
    46                                                 "%Y-%m-%d %H:%M:%S",
    47                                                 strtotime($value['pubDate'])
    48                                         );
     39                                if (isset($contenu_rss['channel'])) {
     40                                        // On est sur un flux pour un SVN…
     41                                        foreach ($contenu_rss['channel']['item'] as $key => $value) {
     42                                                // spip_log(print_r($value, true), 'rss_commits');
     43                                                $items[$key]['titre'] = echapper_tags($value['title']);
     44                                                $items[$key]['descriptif'] = $value['description'];
     45                                                $items[$key]['texte'] = isset($value['texte']) ? trim($value['texte']) : '';
     46                                                $items[$key]['auteur'] = echapper_tags($value['author']);
     47                                                $items[$key]['url_revision'] = $value['link'];
     48                                                $items[$key]['guid'] = $value['guid'];
     49                                                $items[$key]['id_projet'] = $value_rss['id_projet'];
     50                                                $items[$key]['date_creation'] = strftime(
     51                                                        "%Y-%m-%d %H:%M:%S",
     52                                                        strtotime($value['pubDate'])
     53                                                );
     54                                        }
     55                                } elseif (isset($contenu_rss['feed'])) {
     56                                        // Ce flux est pour des git-like
     57                                        foreach ($contenu_rss['feed']['entry'] as $key => $value) {
     58                                                // spip_log(print_r($value, true), 'rss_commits');
     59                                                $items[$key]['titre'] = echapper_tags($value['title']);
     60                                                $items[$key]['descriptif'] = '';
     61                                                $items[$key]['texte'] = $value['summary'];
     62                                                $items[$key]['auteur'] = isset($value['author']['email']) ? echapper_tags($value['author']['email']) : echapper_tags($value['author']['name']);
     63                                                $items[$key]['url_revision'] = $value['link']['@attributes']['href'];
     64                                                $items[$key]['guid'] = $value['id'];
     65                                                $items[$key]['id_projet'] = $value_rss['id_projet'];
     66                                                $items[$key]['date_creation'] = strftime(
     67                                                        "%Y-%m-%d %H:%M:%S",
     68                                                        strtotime($value['updated'])
     69                                                );
     70                                        }
    4971                                }
    5072                                $rss_items = array_merge($rss_items, $items);
Note: See TracChangeset for help on using the changeset viewer.