Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 160 → Rev 161

/trunk/scripts/modules/tests/Tests.php
1519,22 → 1519,25
// Réalisation du test
$noms_erreur = array();
$noms_ok = array();
$this->noms_ok = array();
foreach ($this->noms as &$nom) {
if ($nom['num_nom_retenu'] == $nom['num_nom']) {
if (isset($noms_ok[$nom['num_tax_sup']])) {
$noms_ok[$nom['num_nom']] = true;
if (isset($this->noms_ok[$nom['num_tax_sup']])) {
$this->noms_ok[$nom['num_nom']] = true;
} else {
$this->detection_boucle_infini = array();
$classif_ok = $this->remonterClassif($nom);
unset($this->detection_boucle_infini);
if ($classif_ok === false) {
$noms_erreur[] = $nom['num_nom'];
} else {
$noms_ok[$nom['num_nom']] = $classif_ok;
$this->noms_ok[$nom['num_nom']] = $classif_ok;
}
}
}
}
}
unset($noms_ok);
unset($this->noms_ok);
// Analyse des résultats
if (count($noms_erreur) > 0) {
1546,14 → 1549,25
$this->traiterResultatTest($info);
}
private function remonterClassif($nom) {
private function remonterClassif(&$nom) {
$this->detection_boucle_infini[$nom['num_nom']] = true;
if (preg_match('/^[0-9]*$/', $nom['num_tax_sup'])) {
if (!isset($this->noms[$nom['num_tax_sup']]) && $nom['num_tax_sup'] == '0') {
if (isset($this->noms_ok[$nom['num_tax_sup']])) {
$this->noms_ok[$nom['num_nom']] = true;
return true;
} else if (!isset($this->noms[$nom['num_tax_sup']]) && $nom['num_tax_sup'] == '0') {
$this->noms_ok[$nom['num_nom']] = true;
return true;
} else if (!isset($this->noms[$nom['num_tax_sup']]) && $nom['num_tax_sup'] != '0') {
return false;
} else if (isset($this->detection_boucle_infini[$nom['num_tax_sup']])) {
return false;
} else {
return $this->remonterClassif($this->noms[$nom['num_tax_sup']]);
$retour = $this->remonterClassif($this->noms[$nom['num_tax_sup']]);
if ($retour === true) {
$this->noms_ok[$nom['num_tax_sup']] = true;
}
return $retour;
}
} else {
return false;