spip/spip | 8 commits
Par Matthieu Marcillaud, le 5 octobre 2024 à 09h37min :
tests: Add tests for Serializer
Report adapté de
- tests: tests unitaires pour Serializer (023c865c) · Validations · spip-contrib-extensions / tests · GitLab
- tests: des clés nommées pour les données + ajouter des données iso8859 dans... (b7d36530) · Validations · spip-contrib-extensions / tests · GitLab
- build: une classe A et une classe Awithwakeup pour tester les 2 cas, et une classe B (94bbd07c) · Validations · spip-contrib-extensions / tests · GitLab
- tests: compléter les tests de unserialize() en particulier avec l'option allowed_classes (0f2f7e0e) · Validations · spip-contrib-extensions / tests · GitLab
Ajouté
ecrire/tests/Fixtures/A.php
ecrire/tests/Fixtures/Awithwakeup.php
ecrire/tests/Fixtures/B.php
ecrire/tests/Utils/SerializerTest.php
Détails : tests: Add tests for Serializer (dafdba9a) · Validations · spip / spip · GitLab
==============================
Par Cerdic, le 5 octobre 2024 à 09h37min :
fix: mauvais nom de variable
Modifié
ecrire/src/Utils/Serializer.php
Détails : fix: mauvais nom de variable (46db909d) · Validations · spip / spip · GitLab
==============================
Par Cerdic, le 5 octobre 2024 à 09h37min :
fix: typo dans l’option allowed_classes
Modifié
ecrire/src/Utils/Serializer.php
Détails : fix: typo dans l'option allowed_classes (fb87989a) · Validations · spip / spip · GitLab
==============================
Par Cerdic, le 5 octobre 2024 à 09h37min :
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é
ecrire/src/Utils/Serializer.php
==============================
Par Cerdic, le 5 octobre 2024 à 09h37min :
refactor: utiliser Spip\Utils\Serializer pour serializer/deserializer les données de configuration
Modifié
ecrire/inc/config.php
==============================
Par Cerdic, le 5 octobre 2024 à 09h33min :
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é
ecrire/src/Utils/Serializer.php
Détails : build: une classe Spip\Utils\Serializer pour gérer (ee061363) · Validations · spip / spip · GitLab
==============================
Par Cerdic, le 5 octobre 2024 à 09h33min :
build: une classe Spip\Utils\JsonSerializer pour surchargcer \Zumba\JsonSerializer\JsonSerializer et prendre en charge allowed_classes
Ajouté
ecrire/src/Utils/JsonSerializer.php
==============================
Par Cerdic, le 5 octobre 2024 à 09h33min :
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
composer.lock