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
On optimise les fonctions cdata_echappe et cdata_echappe_retour, et on limite la syndication aux 1000 premiers items, surchargeable par la constante _SYNDICATION_MAX_ITEMS
différents fix avec php-cs-fixers. Fixers appliqués ici :
'encoding', // utf8
'eof_ending', // un saut de ligne en fin de fichier
'elseif', // elseif plutôt que else if
'function_call_space', // espaces sur fonctions
'function_declaration', // espaces sur fonctions
'function_typehint_space', // espaces sur fonctions
'linefeed', // sauts de ligne \n uniquement
'lowercase_constants', // true, false, null en munuscule
'lowercase_keywords', // mots clés PHP en lowercase
'method_argument_space', // espaces sur appels de fonctions
'multiple_use', // use unique sur fonctions anonymes
'newline_after_open_tag', // ouverture de php… et c'est tout sur cette ligne
'operators_spaces', // espaces de part et d'autres des opérateurs binaires
'parenthesis', // pas d'espace juste après parenthèse ouvrante, ou avant parenthèse fermante
'php_closing_tag', // pas de fermeture de php
'short_tag', // tag PHP corrects
'trailing_spaces', // pas d'espace qui traîne en fin de ligne
'visibility', // déclarer 'public / private / protected' sur les méthodes
- bugfix : la detection de flux prenait les liens oembed pour un flux RSS
- amelioration : si on a pas detecté de flux mais que le site ressemble à un SPIP (spip dans l'url ou dans la page), on regarde si spip.php?page=backend est un flux
+ passage en version 1.8.0 car versions desynchronisees entre branche dev et branche stable,
il va exister des codes differents affubles de la meme version si on continue ainsi
Certaines dates de flux ont formatees dans la langue du flux et non en anglais. On essaye de remplacer le nom des mois par le nom anglais pour interpreter la date
Certaines dates finissent par UT au lieu de UTC qui bloque la conversion par strtotime, on corrige si necessaire
Quand on a pas reussi a lire la date, il faut forcer a la date du jour et pas laisser 1970
A noter que les sites utilisent le statut 'refuse' pour 'poubelle', ce qui créé une rupture des conventions dans les puces et couleur. Il serait bon mettre cela au propre pour etre coherent avec tous les autres usages.