From 6844c200cddc4d4091dc740c03d9e34347d9be80 Mon Sep 17 00:00:00 2001 From: Matthieu Marcillaud <marcimat@rezo.net> Date: Mon, 10 Jul 2023 12:10:41 +0200 Subject: [PATCH] =?UTF-8?q?deprecate:=203=C3=A8=20argument=20($options)=20?= =?UTF-8?q?bool=C3=A9en=20de=20`extraire=5Fmulti`=20ou=20`extraire=5Fidiom?= =?UTF-8?q?e`.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Utiliser `['echappe_span' => true]` --- CHANGELOG.md | 1 + UPGRADE_5.0.md | 29 ++++++++++++++++++++++++++++- ecrire/inc/filtres.php | 10 ++++++---- ecrire/inc/texte.php | 6 +++--- 4 files changed, 38 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c5d608668..fb7307386e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ ### Deprecated +- Dans les fonctions `extraire_idiome` et `extraire_multi`, le 3è paramètre `$options` de type `bool` est déprécié. Utiliser un array `['echappe_span' => true]` - #5552 Constantes `_COOKIE_SECURE` et `_COOKIE_SECURE_LIST` (utiliser les options `secure` et/ou `httponly` de `spip_setcookie`) - #5565 Critère `{collecte}`. Utiliser `{collate}` - #5565 Critères `{fusion}` et `{fusion_supprimer}`. Utiliser `{groupby}` et `{groupby_supprimer}` diff --git a/UPGRADE_5.0.md b/UPGRADE_5.0.md index d6efc96fb8..416e7e1134 100644 --- a/UPGRADE_5.0.md +++ b/UPGRADE_5.0.md @@ -60,8 +60,35 @@ ou a[href] { background-image: url("#CHEMIN_IMAGE{img.svg}"); } ``` +# Nouvelles dépréciations -# Suppressions des dépréciations +Les éléments suivants sont dépréciés et seront supprimés dans une future version. + +## Fonctions PHP + +Dans certains cas parfois utilisées en filtres de squelettes également. + +### Fonctions `extraire_multi` et `extraire_idiome`: 3è paramètre `$options` déprécié si booléen + +Le paramètre `$options` de ces fonctions doit être un `array`. + +#### Avant + +```php +$multi = extraire_multi($texte, 'en', true); +$idiome = extraire_idiome($texte, 'en', true); +``` + +#### Après + +```php +$multi = extraire_multi($texte, 'en', ['echappe_span' => true]); +$idiome = extraire_idiome($texte, 'en', ['echappe_span' => true]); +``` + +# Suppressions des éléments dépréciés + +Les éléments suivants ont été supprimés et doivent être adaptés si ce n’est pas encore le cas. ## Syntaxes de squelettes diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php index 0d76e982b5..60712d8e58 100644 --- a/ecrire/inc/filtres.php +++ b/ecrire/inc/filtres.php @@ -1635,9 +1635,9 @@ function post_autobr($texte, $delim = "\n_ ") { * @param string $lang * Langue à retrouver (si vide, utilise la langue en cours). * @param array $options Options { - * @type bool $echappe_span + * @var bool $echappe_span * True pour échapper les balises span (false par défaut) - * @type string $lang_defaut + * @var string $lang_defaut * Code de langue : permet de définir la langue utilisée par défaut, * en cas d'absence de traduction dans la langue demandée. * Par défaut la langue du site. @@ -1654,6 +1654,7 @@ function extraire_idiome($letexte, $lang = null, $options = []) { } // Compatibilité avec le prototype de fonction précédente qui utilisait un boolean if (is_bool($options)) { + trigger_deprecation('spip', '5.0', 'Using boolean $options parameter in "%s()" function is deprecated. Use %s array parameter instead.', __FUNCTION__, '[\'echappe_span\' => ' . var_export($options, true) . ']'); $options = ['echappe_span' => $options]; } if (!isset($options['echappe_span'])) { @@ -1690,9 +1691,9 @@ function extraire_idiome($letexte, $lang = null, $options = []) { * @param string $lang * Langue à retrouver (si vide, utilise la langue en cours). * @param array $options Options { - * @type bool $echappe_span + * @var bool $echappe_span * True pour échapper les balises span (false par défaut) - * @type string $lang_defaut + * @var string $lang_defaut * Code de langue : permet de définir la langue utilisée par défaut, * en cas d'absence de traduction dans la langue demandée. * Par défaut la langue du site. @@ -1710,6 +1711,7 @@ function extraire_multi($letexte, $lang = null, $options = []) { // Compatibilité avec le prototype de fonction précédente qui utilisait un boolean if (is_bool($options)) { + trigger_deprecation('spip', '5.0', 'Using boolean $options parameter in "%s()" function is deprecated. Use %s array parameter instead.', __FUNCTION__, '[\'echappe_span\' => ' . var_export($options, true) . ']'); $options = ['echappe_span' => $options, 'lang_defaut' => _LANGUE_PAR_DEFAUT]; } if (!isset($options['echappe_span'])) { diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php index cb1ed8702f..be15685478 100644 --- a/ecrire/inc/texte.php +++ b/ecrire/inc/texte.php @@ -330,11 +330,11 @@ function corriger_typo($letexte, $lang = '') { } // trouver les blocs idiomes et les traiter à part - $letexte = extraire_idiome($ei = $letexte, $lang, true); + $letexte = extraire_idiome($ei = $letexte, $lang, ['echappe_span' => true]); $ei = ($ei !== $letexte); // trouver les blocs multi et les traiter a part - $letexte = extraire_multi($em = $letexte, $lang, true); + $letexte = extraire_multi($em = $letexte, $lang, ['echappe_span' => true]); $em = ($em !== $letexte); // Charger & appliquer les fonctions de typographie @@ -370,7 +370,7 @@ function corriger_typo($letexte, $lang = '') { * Ne fait rien ici. Voir plugin Textwheel * * @param string $letexte - * @param null $forcer + * @param bool $forcer * @return string */ function paragrapher($letexte, $forcer = true) { -- GitLab