Anomalie #6192
ferméPHP Fatal error: Call to a member function getOption() on a non-object in /…/FDL/Class.Doc.php on line 6954
100%
Description
1) PHP Fatal error: Call to a member function getOption() on a non-object in /…/FDL/Class.Doc.php on line 6954
Suite à une migration d'une installation pre-3.2 vers 3.2.19, lors de la consultation d'un document d'une famille donnée on a l'erreur suivante :
PHP Fatal error: Call to a member function getOption() on a non-object in /…/FDL/Class.Doc.php on line 6954
PHP Stack trace:
PHP 1. {main}() /…/index.php:0
PHP 2. ActionRouter->executeAction() /…/index.php:77 â
PHP 3. executeAction() /…/WHAT/Class.ActionRouter.php:37
PHP 4. Action->execute() /…/WHAT/Lib.Main.php:339
PHP 5. Layout->gen() /…/WHAT/Class.Action.php:618
PHP 6. Layout->ParseZone() /…/WHAT/Class.Layout.php:620
PHP 7. preg_replace_callback() /…/WHAT/Class.Layout.php:290
PHP 8. Layout->{closure:/…/WHAT/Class.Layout.php:286-289}() /…/WHAT/Class.Layout.php :290
PHP 9. Layout->execute() /…/WHAT/Class.Layout.php:288
PHP 10. Action->execute() /…/WHAT/Class.Layout.php:364
PHP 11. viewcard() /…/WHAT/Class.Action.php:602
PHP 12. Doc->viewDoc() /…/FDL/viewcard.php:186
PHP 13. Doc->viewbodycard() /…/FDL/Class.Doc.php:6762
Cette stacktrace est pour dynacase-core 3.2.19, et le code concerné (ligne 6945 en 3.2.19) doit être ligne 7073 (en 3.2.20).
L'erreur semblait provenir du fait que la famille contenait deux définitions de MODATTR pour des attributs qui n'existaient plus en 3.2.19 :
1335 | | :us_domain | 1335 | | :us_iddomain |
2) Call to undefined method stdClass::getTab()
Sur la même installation, une erreur "Call to undefined method stdClass::getTab()" était levée ligne 212 dans `Class.DocAttribute.php` :
if ($this->fieldSet && ($this->fieldSet->id != BasicAttribute::hiddenFieldId)) return $this->fieldSet->getTab();
Cette erreur était apparemment dû à un attribut référençant une frame qui n'existe plus.
Mis à jour par Marc Claverie il y a environ 10 ans
- Statut changé de Nouveau à Pris en compte
- Version cible mis à 3.2.21
> détection de l'absence d’attribut et envoyer un message d'erreur spécifique (explicite)> pas de code de check au run-time des structures de familles (problématique liée à des migration 3.x vers 3.2. ou des changements par le développeur en phase de développement). En 3.2 check à l'import.
Mis à jour par Éric Brison il y a environ 10 ans
- Statut changé de Pris en compte à Assigné
Mis à jour par Éric Brison il y a environ 10 ans
- Statut changé de Assigné à Intégré
Appliqué par commit commit:dynacase-core|aa87fbf154a6bf2214f7e4ee23dab64b931f0ceb.