Projet

Général

Profil

Actions

Amélioration #5917

fermé

PHP Warning: array_keys() expects parameter 1 to be array, string given in /var/www/test/FDL/CheckWorkflow.php on line 205

Ajouté par Jérôme Augé il y a plus de 10 ans. Mis à jour il y a plus de 10 ans.

Statut:
Intégré
Priorité:
Normal
Assigné à:
Version cible:
Début:
16/11/2015
Echéance:
% réalisé:

100%

Temps estimé:
Version source:
Solution proposée:

Ajouter un nouveau code erreur pour ce cas de transition mal définie.
Ajouter le PU associé

Principaux fichiers impactés:
Wiki Détail:
Contrôle:

Description

Quand on importe un cycle avec des transitions malformés (voir détail ci-dessous) on obtient les erreurs suivantes dans error.log :

PHP Warning:  array_keys() expects parameter 1 to be array, string given in /var/www/test/FDL/CheckWorkflow.php on line 205
PHP Stack trace:
PHP   1. {main}() /var/www/test/wsh.php:0
PHP   2. include() /var/www/test/wsh.php:138
PHP   3. ImportDocument->importDocuments() /var/www/test/API/importDocuments.php:154
PHP   4. ImportDocument->importSingleFile() /var/www/test/FDL/Class.importDocument.php:138
PHP   5. importDocumentDescription->import() /var/www/test/FDL/Class.importDocument.php:183
PHP   6. importDocumentDescription->doEnd() /var/www/test/FDL/Class.ImportDescription.php:281
PHP   7. CheckEnd->check() /var/www/test/FDL/Class.ImportDescription.php:631
PHP   8. CheckWorkflow->verifyWorkflowComplete() /var/www/test/FDL/CheckEnd.php:36
PHP   9. CheckWorkflow->verifyWorkflowClass() /var/www/test/FDL/CheckWorkflow.php:141
PHP  10. CheckWorkflow->checkTransitionModels() /var/www/test/FDL/CheckWorkflow.php:128
PHP  11. array_keys() /var/www/test/FDL/CheckWorkflow.php:205

Est l'import échoue avec le code erreur :

ERROR:{WFL0050} workflow transition or state key 0 syntax error for SUPPORT\SUPPORT_2132__WFL (limit to 49 alpha characters)
{WFL0050} workflow transition or state key 1 syntax error for SUPPORT\SUPPORT_2132__WFL (limit to 49 alpha characters)
{WFL0050} workflow transition or state key 2 syntax error for SUPPORT\SUPPORT_2132__WFL (limit to 49 alpha characters)
Unable to import rollback the import [{WFL0050} workflow transition or state key 0 syntax error for SUPPORT\SUPPORT_2132__WFL (limit to 49 alpha characters)
{WFL0050} workflow transition or state key 1 syntax error for SUPPORT\SUPPORT_2132__WFL (limit to 49 alpha characters)
{WFL0050} workflow transition or state key 2 syntax error for SUPPORT\SUPPORT_2132__WFL (limit to 49 alpha characters)]

Les transitions sont malformés car déclarés comme suit :

$transitions = array(
  self::t_1,
  self::t_2,
  self::t_3
);

Alors que la syntaxe doit être :

$transitions = array(
  self::t_1 => array(...),
  self::t_2 => array(...),
  self::t_3 => array(...)
);

Il faudrait que le code détecte qu'il y a une clef mais qu'il n'y a pas de array associé et qu'il affiche un message d'erreur sépcifique du genre : expecting array value for transition with key 't_1'

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.21

Mis à jour par Éric Brison il y a plus de 10 ans

  • Statut changé de À analyser à Assigné
  • Assigné à changé de Éric Brison à Jérôme Augé
  • Solution proposée mis à jour (diff)

Mis à jour par Jérôme Augé il y a plus de 10 ans

  • % réalisé changé de 0 à 100

Mis à jour par Éric Brison il y a plus de 10 ans

  • Statut changé de Assigné à Intégré

Appliqué par commit dynacase-core|commit:8ef78d74abe303382236a1a2dee893a765fb5a33.

Actions

Formats disponibles : Atom PDF