Projet

Général

Profil

Actions

Anomalie #5254

fermé

Doc::setLogicalName() ne retourne pas toujours une erreur quand le nom logique est incorrect

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

Statut:
Intégré
Priorité:
Normal
Assigné à:
Version cible:
Début:
10/12/2014
Echéance:
% réalisé:

100%

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

Cette méthode est inactive si le nom est donné est vide (chaine vide '' ou null).

Dans les autres cas, le test de vérification est fait.

Ajouter cette précision dans le commentaire de la méthode

Principaux fichiers impactés:
Complexité:
Contrôle:
Thème:
Socle technique
Régression:

Description

Doc::setLogicalName() applique le nom logique si celui-ci est "true".

function setLogicalName($name, [....]) {
    if ($name) {
        [... vérification et application du nom logique ...]
    }
    return '';
}

Par conséquent, si le nom logique qu'on souhaite appliquer est une chaîne vide ou le caractère "0", alors la méthode bypasse silencieusement la vérification et l'application du nom, et ne retourne pas de code erreur comme si tout s'était bien passé.

$doc = createDoc('', 'BASE');
foreach (array("", "0", "1234") as $name) {
        printf("%s => %s\n", var_export($name, true), var_export($doc->setLogicalName($name), true));
}
'' => ''
'0' => ''
'1234' => 'La nom [1234] est invalide : Le nom doit commencer par une lettre suivi de zéro ou plusieurs lettres, chiffres, tiret "-" et trait-bas "_"'

Cela oblige alors celui qui utilise Doc::setLogicalName() de faire lui même les vérifications sur la variable, qui contiendrait un nom logique , pour savoir s'il est bien formé ou non.

Mis à jour par Marc Claverie il y a plus de 11 ans

  • Statut changé de Nouveau à À analyser
  • Assigné à mis à Éric Brison
  • Version cible mis à 3.2.18

Mis à jour par Éric Brison il y a plus de 11 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 11 ans

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

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

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

Appliqué par commit dynacase-core|commit:00ecbdf59282b8d321b555bb337db6665d8e3a2b.

Actions

Formats disponibles : Atom PDF