Anomalie #5716
ferméEcrasement de valeurs d'attributs par Doc::getMoreValues()
100%
Description
Soit une famille F avec deux attributs A_1 et A_2 de type texte.
On crée un document de la famille F avec les valeurs suivantes :
A_1 : "Foo£Bar" A_2 : "0"
Lorsqu'on consulte le document on a bien :
A_1 : "Foo£Bar" A_2 : "0"
Par contre, si je fais une recherche avec SearchDoc sur cette famille, alors le document retourné contient les valeurs :
A_1 : "Foo£Bar" A_2 : "Bar"
Et dans le error_log PHP j'ai :
PHP Notice: Undefined offset: 5 in /var/www/test/FDL/Class.Doc.php on line 4311
PHP Stack trace:
PHP 1. {main}() /var/www/test/wsh.php:0
PHP 2. include() /var/www/test/wsh.php:133
PHP 3. SearchDoc->getNextDoc() /var/www/test/API/pound.php:7
PHP 4. SearchDoc->getNextDocument() /var/www/test/FDL/Class.SearchDoc.php:711
PHP 5. Doc->affect() /var/www/test/FDL/Class.SearchDoc.php:762
PHP 6. Doc->getMoreValues() /var/www/test/FDL/Class.Doc.php:1834
Mis à jour par Jérôme Augé il y a plus de 10 ans
- Sujet changé de Ecrasement de valeurs d'attributs par Doc:::getMoreValues() à Ecrasement de valeurs d'attributs par Doc::getMoreValues()
Mis à jour par Marc Claverie il y a plus de 10 ans
- Statut changé de Nouveau à À analyser
- Assigné à mis à Éric Brison
- Version cible mis à 3.2.20
Mis à jour par Éric Brison il y a plus de 10 ans
- Statut changé de À analyser à Assigné
Le caractère "£" est utilisé comme séparateur de champ ce qui entraine un décalage des données lorsqu'il est utilisé.
Ne pouvant modifier la structure de données de la base, nous allons réaliser une correction spécifique dans ce cas particulier.
La cas particulier est qu'un des attributs "$this->$attrid" n'est pas affecté (adaptation) du resetModeValue
Mis à jour par Éric Brison il y a plus de 10 ans
- Statut changé de Assigné à Intégré
- % réalisé changé de 0 à 100
Appliqué par commit dynacase-core|commit:a4482159007560b440e61880a2088f4fd3c2f657.