Browse Source

Rector sur Sites pour PHP 7.4+

master
Matthieu Marcillaud 9 months ago
parent
commit
7f4053b962
  1. 2
      action/exporter_bookmarks.php
  2. 6
      action/importer_bookmarks_netscape.php
  3. 4
      action/importer_bookmarks_opml.php
  4. 2
      action/instituer_syndic_article.php
  5. 2
      formulaires/configurer_sites.php
  6. 1
      formulaires/editer_site.php
  7. 9
      genie/syndic.php
  8. 3
      inc/site.php
  9. 2
      sites_fonctions.php
  10. 11
      syndic/atomrss.php
  11. 8
      tests/SyndicationTest.php

2
action/exporter_bookmarks.php

@ -22,7 +22,7 @@ function action_exporter_bookmarks_dist($arg = null) {
}
if (autoriser('exporter', '_sites')) {
list($id_parent, $exporter_publie_seulement, $exporter_avec_mots_cles) = explode('-', $arg);
[$id_parent, $exporter_publie_seulement, $exporter_avec_mots_cles] = explode('-', $arg);
$statut = ($exporter_publie_seulement ? ['publie'] : ['prop', 'publie']);
$f = 'bookmarks-' . date('Y-m-d') . '.html';

6
action/importer_bookmarks_netscape.php

@ -89,10 +89,10 @@ function bookmarks_insert($tree, $id_parent, $importer_statut_publie, $importer_
$nb = 0;
if (
count($tree['content']['links'])
is_countable($tree['content']['links']) ? count($tree['content']['links']) : 0
or isset($tree['sub'])
) {
$titre = ($tree['content']['titre'] ? $tree['content']['titre'] : _T('info_sans_titre'));
$titre = ($tree['content']['titre'] ?: _T('info_sans_titre'));
$id_rubrique = sql_getfetsel(
'id_rubrique',
'spip_rubriques',
@ -122,7 +122,7 @@ function bookmarks_insert($tree, $id_parent, $importer_statut_publie, $importer_
$set = [
'url_site' => $link['url'],
'nom_site' => $link['titre'],
'date' => date('Y-m-d H:i:s', $link['date'] ? $link['date'] : $now),
'date' => date('Y-m-d H:i:s', $link['date'] ?: $now),
'statut' => $statut,
'descriptif' => $link['descriptif']
];

4
action/importer_bookmarks_opml.php

@ -48,7 +48,7 @@ function opml_startElement($xp, $element, $attr) {
}
if (!array_key_exists('XMLURL', $attr) && (array_key_exists('TEXT', $attr) || array_key_exists('TITLE', $attr))) {
//some opml use title instead of text to define a folder (ex: newzcrawler)
$folder = $attr['TEXT'] ? $attr['TEXT'] : $attr['TITLE'];
$folder = $attr['TEXT'] ?: $attr['TITLE'];
$inOpmlfolder = true;
$inOpmlItem = false;
} else {
@ -82,7 +82,7 @@ function bookmarks_opml_insert($tree, $id_parent, $importer_statut_publie, $impo
$nb = 0;
if (count($tree)) {
if (is_countable($tree) ? count($tree) : 0) {
foreach ($tree as $key => $item) {
// cas d'un flux
if (array_key_exists('XMLURL', $item)) {

2
action/instituer_syndic_article.php

@ -20,7 +20,7 @@ function action_instituer_syndic_article_dist() {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
list($id_syndic_article, $statut) = preg_split('/\W/', $arg);
[$id_syndic_article, $statut] = preg_split('/\W/', $arg);
if (
$id_syndic_article = intval($id_syndic_article)

2
formulaires/configurer_sites.php

@ -35,7 +35,7 @@ function formulaires_configurer_sites_charger_dist() {
'moderation_sites',
] as $m
) {
$valeurs[$m] = isset($GLOBALS['meta'][$m]) ? $GLOBALS['meta'][$m] : '';
$valeurs[$m] = $GLOBALS['meta'][$m] ?? '';
}
return $valeurs;

1
formulaires/editer_site.php

@ -160,6 +160,7 @@ function formulaires_editer_site_verifier_dist(
$row = [],
$hidden = ''
) {
$erreurs = [];
include_spip('inc/filtres');
include_spip('inc/site');
$oblis = ['nom_site', 'url_site', 'id_parent'];

9
genie/syndic.php

@ -177,7 +177,7 @@ function syndic_a_jour($now_id_syndic) {
}
// moderation automatique des liens qui sont sortis du feed
if (count($faits) > 0) {
if ((is_countable($faits) ? count($faits) : 0) > 0) {
$not_faits = sql_in('id_syndic_article', $faits, 'NOT');
if ($site['miroir'] == 'oui') {
sql_update(
@ -225,6 +225,7 @@ function syndic_a_jour($now_id_syndic) {
* true si l'article est nouveau, false sinon.
**/
function inserer_article_syndique($data, $now_id_syndic, $statut, $url_site, $url_syndic, $resume, &$faits, $methode_syndication = '') {
$id_syndic = null;
// Creer le lien s'il est nouveau - cle=(id_syndic,url)
$le_lien = $data['url'];
@ -290,7 +291,7 @@ function inserer_article_syndique($data, $now_id_syndic, $statut, $url_site, $ur
$champs = [
'id_syndic' => $now_id_syndic,
'url' => $le_lien,
'date' => date('Y-m-d H:i:s', $data['date'] ? $data['date'] : $data['lastbuilddate']),
'date' => date('Y-m-d H:i:s', $data['date'] ?: $data['lastbuilddate']),
'statut' => $statut
];
// Envoyer aux plugins
@ -340,7 +341,7 @@ function inserer_article_syndique($data, $now_id_syndic, $statut, $url_site, $ur
if ($resume != 'non') {
// mode "resume"
$desc = (isset($data['descriptif']) and strlen($data['descriptif'])) ? $data['descriptif']
: (isset($data['content']) ? $data['content'] : '');
: ($data['content'] ?? '');
$desc = couper(trim_more(textebrut($desc)), 300);
} else {
// mode "full syndication"
@ -352,7 +353,7 @@ function inserer_article_syndique($data, $now_id_syndic, $statut, $url_site, $ur
}
// tags & enclosures (preparer spip_syndic_articles.tags)
$tags = ($data['enclosures'] ? $data['enclosures'] : '');
$tags = ($data['enclosures'] ?: '');
# eviter les doublons (cle = url+titre) et passer d'un tableau a une chaine
if ($data['tags']) {
$vus = [];

3
inc/site.php

@ -30,6 +30,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* - false : site impossible à récupérer
**/
function analyser_site($url) {
$result = [];
include_spip('inc/filtres');
include_spip('inc/distant');
@ -128,7 +129,7 @@ function analyser_site($url) {
if (preg_match(',<title[^>]*>(.*),ims', $head, $regs)) {
$titre = trim($regs[1]);
if (!strlen($titre)) {
$titre = substr($head, strpos($head, $regs[0]));
$titre = substr($head, strpos($head, (string) $regs[0]));
}
$result['nom_site'] = filtrer_entites(supprimer_tags(preg_replace(',</title>.*$,ims', '', $titre)));
}

2
sites_fonctions.php

@ -80,7 +80,7 @@ function syndic_article_raw_data_to_array($methode_syndication, $raw_data, $raw_
* Pile complétée par le code à générer
**/
function balise_RAW_DATA_dist($p) {
$b = $p->nom_boucle ? $p->nom_boucle : $p->id_boucle;
$b = $p->nom_boucle ?: $p->id_boucle;
$_raw_data = index_pile($p->id_boucle, 'raw_data', $p->boucles, $b);
if ($p->etoile) {

11
syndic/atomrss.php

@ -77,6 +77,7 @@ function syndic_atomrss_raw_data_to_array_dist($raw_data, $raw_format) {
* - string : texte d'erreur
**/
function analyser_backend($rss, $url_syndic = '') {
$articles = [];
include_spip('inc/texte'); # pour couper()
$rss = pipeline('pre_syndication', $rss);
@ -96,7 +97,7 @@ function analyser_backend($rss, $url_syndic = '') {
$rss = preg_replace(',<(/?)(dc):,i', '<\1', $rss);
// chercher auteur/lang dans le fil au cas ou les items n'en auraient pas
list($header) = preg_split(',<(item|entry)\b,', $rss, 2);
[$header] = preg_split(',<(item|entry)\b,', $rss, 2);
if (
preg_match_all(
',<(author|creator)\b(.*)</\1>,Uims',
@ -115,7 +116,7 @@ function analyser_backend($rss, $url_syndic = '') {
}
$les_auteurs_du_site = join(', ', array_unique($les_auteurs_du_site));
} else {
$les_auteurs_du_site = '';
$les_auteurs_du_site = [];
}
$langue_du_site = '';
@ -571,7 +572,7 @@ function my_strtotime($la_date, $lang = null) {
// par la version anglaise avant de faire strtotime
if ($lang) {
// "fr-fr"
list($lang) = explode('-', $lang);
[$lang] = explode('-', $lang);
static $months = null;
if (!isset($months[$lang])) {
$prev_lang = $GLOBALS['spip_lang'];
@ -587,7 +588,7 @@ function my_strtotime($la_date, $lang = null) {
}
spip_log($la_date_c, 'dbgs');
foreach ($months[$lang] as $loc => $en) {
if (stripos($la_date_c, $loc) !== false) {
if (stripos($la_date_c, (string) $loc) !== false) {
$s = str_ireplace($loc, $en, $la_date_c);
if ($s = strtotime($s)) {
return $s;
@ -724,7 +725,7 @@ function cdata_echappe(&$rss, &$echappe_cdata) {
) {
// verifier que la chaine est encore dans le flux, car on peut avoir X fois la meme
// inutile de (sur)peupler le tableau avec des substitutions identiques
if (strpos($rss, $reg[0]) !== false) {
if (strpos($rss, (string) $reg[0]) !== false) {
$echappe_cdata["@@@SPIP_CDATA$n@@@"] = $reg[1];
$rss = str_replace($reg[0], "@@@SPIP_CDATA$n@@@", $rss);
}

8
tests/SyndicationTest.php

@ -25,7 +25,7 @@ class SyndicationTest extends TestCase {
include_spip('inc/syndic');
$GLOBALS['controler_dates_rss'] = false;
$xml = file_get_contents(dirname(__FILE__).'/data/test-atom1-1.xml');
$xml = file_get_contents(__DIR__.'/data/test-atom1-1.xml');
$rss = analyser_backend($xml);
$this->assertEquals('http://localhost/spip/spip.php?article1', $rss[0]['url'], "erreur d'url item 0 sur test-atom1-1.xml");
@ -69,7 +69,7 @@ class SyndicationTest extends TestCase {
include_spip('inc/syndic');
$GLOBALS['controler_dates_rss'] = false;
$rdf = file_get_contents(dirname(__FILE__).'/data/libre-en-fete.rdf');
$rdf = file_get_contents(__DIR__.'/data/libre-en-fete.rdf');
$rss = analyser_backend($rdf);
$this->assertEquals(strtotime('2007-03-20T14:00+01:00'),$rss[0]['date'],"erreur de date item 0 sur libre-en-fete.rdf");
@ -79,7 +79,7 @@ class SyndicationTest extends TestCase {
include_spip('inc/syndic');
$GLOBALS['controler_dates_rss'] = false;
$xml = file_get_contents(dirname(__FILE__) . '/data/test-rss2-1.xml');
$xml = file_get_contents(__DIR__ . '/data/test-rss2-1.xml');
$rss = analyser_backend($xml);
$this->assertEquals('http://localhost/spip/spip.php?article1', $rss[0]['url'], "erreur d'url item 0 sur test-rss2-1.xml");
@ -99,7 +99,7 @@ class SyndicationTest extends TestCase {
include_spip('inc/syndic');
$GLOBALS['controler_dates_rss'] = false;
$xml = file_get_contents(dirname(__FILE__).'/data/dailymotion.rss');
$xml = file_get_contents(__DIR__.'/data/dailymotion.rss');
$rss = analyser_backend($xml);
$this->assertCount(4,extraire_balises($rss[0]['enclosures'], 'a'),"mauvais compte d'enclosures sur le premier item");

Loading…
Cancel
Save