[ecrire ↪ issue_5095] 20 commits

spip/ecrire | 20 commits

Par Matthieu Marcillaud, le 1er octobre 2025 à 10h41min :

feat: utiliser spip-league/serializer plutôt que de tout laisser dans ecrire

Supprimé
src/Utils/JsonSerializer.php
src/Utils/Serializer.php
tests/Utils/SerializerTest.php
tests/integration/Fixtures/A.php
tests/integration/Fixtures/Awithwakeup.php
tests/integration/Fixtures/B.php
Modifié
composer.json
inc/config.php

Détails : feat: utiliser spip-league/serializer plutôt que de tout laisser dans ecrire (7366a07d) · Validations · spip / ecrire · GitLab

==============================
Par Maïeul Rouquette, le 1er octobre 2025 à 10h41min :

change: utiliser spip_logger

Modifié
src/Utils/Serializer.php

Détails : change: utiliser `spip_logger` (c3726065) · Validations · spip / ecrire · GitLab

==============================
Par Cerdic, le 1er octobre 2025 à 10h41min :

fix: ajouter un final construc sur les Fixtures A et B pour sécuriser le new static() (Solving PHPStan error "Unsafe usage of new static()" | PHPStan)

Modifié
tests/integration/Fixtures/A.php
tests/integration/Fixtures/B.php

Détails : fix: ajouter un final construc sur les Fixtures A et B pour sécuriser le new... (bb8a8287) · Validations · spip / ecrire · GitLab

==============================
Par Cerdic, le 1er octobre 2025 à 10h41min :

styles: composer fix-cs

Modifié
src/Utils/JsonSerializer.php
src/Utils/Serializer.php
tests/Utils/SerializerTest.php
tests/integration/Fixtures/A.php
tests/integration/Fixtures/Awithwakeup.php
tests/integration/Fixtures/B.php

Détails : styles: composer fix-cs (b1e8e52a) · Validations · spip / ecrire · GitLab

==============================
Par Matthieu Marcillaud, le 1er octobre 2025 à 10h41min :

tests: Add tests for Serializer

Report adapté de

Ajouté
tests/Utils/SerializerTest.php
tests/integration/Fixtures/A.php
tests/integration/Fixtures/Awithwakeup.php
tests/integration/Fixtures/B.php

Détails : tests: Add tests for Serializer (b5b8b768) · Validations · spip / ecrire · GitLab

==============================
Par Cerdic, le 1er octobre 2025 à 10h41min :

fix: mauvais nom de variable

Modifié
src/Utils/Serializer.php

Détails : fix: mauvais nom de variable (eccba2f4) · Validations · spip / ecrire · GitLab

==============================
Par Cerdic, le 1er octobre 2025 à 10h41min :

fix: typo dans l’option allowed_classes

Modifié
src/Utils/Serializer.php

Détails : fix: typo dans l'option allowed_classes (0c9253db) · Validations · spip / ecrire · GitLab

==============================
Par Cerdic, le 1er octobre 2025 à 10h41min :

fix: il ne faut pas serializer le tableau de la valeur unique car en cas de charset incorrect Zumba\JsonSerializer\JsonSerializer transforme le tableau en tableau associatif, ce qui est un objet json et plus un array, et la deserialization echoue. On serialize donc la valeur telle quelle, et on l’encapsule dans un crochet, ce qui est le signe distinctif d’une données json serializée

Modifié
src/Utils/Serializer.php

Détails : fix: il ne faut pas serializer le tableau de la valeur unique car en cas de... (5799179e) · Validations · spip / ecrire · GitLab

==============================
Par Cerdic, le 1er octobre 2025 à 10h41min :

refactor: utiliser Spip\Utils\Serializer pour serializer/deserializer les données de configuration

Modifié
inc/config.php

Détails : refactor: utiliser Spip\Utils\Serializer pour serializer/deserializer les données de configuration (412313ff) · Validations · spip / ecrire · GitLab

==============================
Par Cerdic, le 1er octobre 2025 à 10h41min :

build: une classe Spip\Utils\Serializer pour gérer

  • la serialization safe de données qui peuvent être stockées en base en json_encode (qui ne casse pas en cas d’edition manuelle, ou de soucis de charset ou planes utf8), via une version étendue de json_encode qui prend en charge les charsets non utf et
    les objets PHP
  • deserialization safe via un json_decode qui n’autorise qu’une liste de classes explicites

Refs: #5095

fix: deszerializer avec Utils\JsonSerializer()

Ajouté
src/Utils/Serializer.php

Détails : build: une classe Spip\Utils\Serializer pour gérer (771caa12) · Validations · spip / ecrire · GitLab

==============================
Par Cerdic, le 1er octobre 2025 à 10h41min :

build: une classe Spip\Utils\JsonSerializer pour surchargcer \Zumba\JsonSerializer\JsonSerializer et prendre en charge allowed_classes

Ajouté
src/Utils/JsonSerializer.php

Détails : build: une classe Spip\Utils\JsonSerializer pour surchargcer... (46e62e41) · Validations · spip / ecrire · GitLab

==============================
Par Cerdic, le 1er octobre 2025 à 10h41min :

build: require zumba/json-serializer GitHub - zumba/json-serializer: Serialize PHP variables, including objects, in JSON format. Support to unserialize it too.

Modifié
composer.json

Détails : build: require zumba/json-serializer https://github.com/zumba/json-serializer (3b02f7f2) · Validations · spip / ecrire · GitLab

==============================
Par Matthieu Marcillaud, le 19 septembre 2025 à 14h02min :

feat: Option ‹ lang › sur la fonction _T pour remplacer l’argument spip_lang

Par cohérence, on déplace dans une option de _T le choix de la langue
de traduction, car ce n’est pas un argument de template (`@nom@``) à remplacer.

On déprécie l’ancien usage.

Modifié
bootstrap/inc/i18n.php

Détails : feat: Option 'lang' sur la fonction `_T` pour remplacer l’argument `spip_lang` (fe518762) · Validations · spip / ecrire · GitLab

==============================
Par Matthieu Marcillaud, le 19 septembre 2025 à 09h51min :

chore: Simplification de code

Modifié
bootstrap/inc/i18n.php

Détails : chore: Simplification de code (647806b3) · Validations · spip / ecrire · GitLab

==============================
Par Matthieu Marcillaud, le 19 septembre 2025 à 09h51min :

docs: Précisions sur _T et _L

Modifié
bootstrap/inc/i18n.php

Détails : docs: Précisions sur _T et _L (dee72249) · Validations · spip / ecrire · GitLab

==============================
Par Matthieu Marcillaud, le 18 septembre 2025 à 20h45min :

chore: Renommage variable interne plus explicite

Modifié
bootstrap/inc/i18n.php

Détails : chore: Renommage variable interne plus explicite (d45e1545) · Validations · spip / ecrire · GitLab

==============================
Par Matthieu Marcillaud, le 18 septembre 2025 à 20h33min :

docs: fix phpdoc _L

Modifié
bootstrap/inc/i18n.php

Détails : docs: fix phpdoc _L (c434401a) · Validations · spip / ecrire · GitLab

==============================
Par Matthieu Marcillaud, le 18 septembre 2025 à 20h29min :

change: Option debug sur la fonction _L à la place d’un trick avec class=null

Modifié
bootstrap/inc/i18n.php

Détails : change: Option debug sur la fonction _L à la place d’un trick avec class=null (1bca9b67) · Validations · spip / ecrire · GitLab

==============================
Par Matthieu Marcillaud, le 18 septembre 2025 à 20h29min :

chore: Typage strict des fonctions _T et _L

Modifié
bootstrap/inc/i18n.php

Détails : chore: Typage strict des fonctions _T et _L (d439bd15) · Validations · spip / ecrire · GitLab

==============================
Par Matthieu Marcillaud, le 18 septembre 2025 à 20h29min :

remove: ancien 3è argument « class » des fonctions _T et _L

Ces fonctions attendent un tableau depuis 13 ans maintenant
avec La fonction _T() accepte un 3ème argument $options array qui permet de passer des options : (88d6ce6e) · Validations · spip / spip · GitLab
depuis donc SPIP 3.0.

Modifié
bootstrap/inc/i18n.php

Détails : remove: ancien 3è argument "class" des fonctions `_T` et `_L` (1dbe9b6e) · Validations · spip / ecrire · GitLab