Subversion Repositories Applications.referentiel

Rev

Rev 171 | Rev 174 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 171 Rev 173
Line 1306... Line 1306...
1306
		$noms_erreur = null;
1306
		$noms_erreur = null;
Line 1307... Line 1307...
1307
		
1307
		
1308
		$this->traiterResultatTest($info);
1308
		$this->traiterResultatTest($info);
Line -... Line 1309...
-
 
1309
	}
-
 
1310
	
-
 
1311
	/**
1309
	}
1312
	 * Test #37
1310
	
1313
	 */
1311
private function testerStatutCultureSyntaxe() {
1314
	private function testerGroupeCultivarSyntaxe() {
1312
		$info = array('nom' => 'statut_culture -> syntaxe',
1315
		$info = array('nom' => 'cultivar_groupe -> syntaxe',
1313
			'description' => "Le champ statut_culture peut contenir :\n".
1316
			'description' => "Le champ cultivar_groupe doit contenir un nom de groupe de cultivar conforme aux règles ".
1314
								" - le symbole tiret «-» précédant une autre information non référencée...\n".
1317
				"du code des plantes cultivées, c.-à-d. composer de caractères alphanumériques (A-Z,a-z et 0-9) incluant ".
1315
								" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
1318
				"signes diacritiques et marques de ponctuations.\n".
1316
								" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
1319
				"Il ne doit pas contenir le mot Groupe, l'abbréviation «gp» ou des parenthèses.\n".
Line 1317... Line 1320...
1317
								"un code de présence spécifique au référentiel.",
1320
				"Il peut se terminer par l'abréviation «gx» pour distinguer les groupes des grex.",
1318
			'resultat' => false);
1321
			'resultat' => false);
1319
		
1322
		
1320
		// Réalisation du test
1323
		// Réalisation du test
1321
		$noms_erreur = array();
1324
		$noms_erreur = array();
-
 
1325
		foreach ($this->noms as &$nom) {
1322
		foreach ($this->noms as &$nom) {
1326
			if ($nom['cultivar_groupe'] != '') {
1323
			if ($nom['statut_culture'] != '') {
1327
				if (!$this->verifierEpitheteGroupeCultivar($nom['cultivar_groupe'])) {
1324
				if (!$this->verifierStatutCulture($nom['statut_culture'])) {
1328
					$epithete_traite = $this->repererEspace($nom['cultivar_groupe']);
1325
					$noms_erreur[] = array($nom['num_nom'], $nom['statut_culture']);
1329
					$noms_erreur[] = array($nom['num_nom'], $epithete_traite);
Line 1326... Line 1330...
1326
				}
1330
				}
1327
			}
1331
			}
1328
		}
1332
		}
1329
		
1333
		
1330
		// Analyse des résultats
1334
		// Analyse des résultats
1331
		if (count($noms_erreur) > 0) {
1335
		if (count($noms_erreur) > 0) {
1332
			$info['message']['entete'] = array('num_nom', 'statut_culture erroné');
1336
			$info['message']['entete'] = array('num_nom', 'cultivar_groupe erroné');
1333
			$info['message']['lignes'] = $noms_erreur;
1337
			$info['message']['lignes'] = $noms_erreur;
Line 1334... Line 1338...
1334
		} else {
1338
		} else {
1335
			$info['resultat'] = true;
1339
			$info['resultat'] = true;
Line -... Line 1340...
-
 
1340
		}
-
 
1341
		$noms_erreur = null;
-
 
1342
		
1336
		}
1343
		$this->traiterResultatTest($info);
1337
		$noms_erreur = null;
1344
	}
1338
		
1345
	
1339
		$this->traiterResultatTest($info);
-
 
1340
	}
-
 
1341
	
-
 
1342
	private function testerStatutIntroductionSyntaxe() {
1346
	/**
1343
		$info = array('nom' => 'statut_introduction -> syntaxe',
1347
	 * Test #38
Line 1344... Line 1348...
1344
			'description' => "Le champ statut_introduction peut contenir :\n".
1348
	 */
1345
								" - le symbole tiret «-» précédant une autre information non référencée...\n".
1349
	private function testerGroupeCultivarRang() {
1346
								" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
1350
		$info = array('nom' => "cultivar_groupe -> rang >= {$this->manuel['rang_genre']}",
1347
								" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
1351
			'description' => "Si le champ cultivar_groupe n'est pas vide alors le rang du nom doit être supérieur ou ".
1348
								"un code de présence spécifique au référentiel.",
1352
								"égal à {$this->manuel['rang_genre']}.",
1349
			'resultat' => false);
1353
			'resultat' => false);
1350
		
1354
		
1351
		// Réalisation du test
1355
		// Réalisation du test
1352
		$noms_erreur = array();
1356
		$noms_erreur = array();
Line 1353... Line 1357...
1353
		foreach ($this->noms as &$nom) {
1357
		foreach ($this->noms as &$nom) {
1354
			if ($nom['statut_introduction'] != '') {
1358
			if ($nom['cultivar_groupe'] != '') {
1355
				if (!$this->verifierStatutIntroduction($nom['statut_introduction'])) {
1359
				if ($nom['rang'] < $this->manuel['rang_genre']) {
1356
					$noms_erreur[] = array($nom['num_nom'], $nom['statut_introduction']);
1360
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
1357
				}
1361
				}
1358
			}
1362
			}
1359
		}
1363
		}
1360
		
1364
		
Line 1361... Line 1365...
1361
		// Analyse des résultats
1365
		// Analyse des résultats
1362
		if (count($noms_erreur) > 0) {
1366
		if (count($noms_erreur) > 0) {
Line -... Line 1367...
-
 
1367
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
-
 
1368
			$info['message']['lignes'] = $noms_erreur;
-
 
1369
		} else {
1363
			$info['message']['entete'] = array('num_nom', 'statut_introduction erroné');
1370
			$info['resultat'] = true;
1364
			$info['message']['lignes'] = $noms_erreur;
1371
		}
1365
		} else {
1372
		$noms_erreur = null;
1366
			$info['resultat'] = true;
1373
		
-
 
1374
		$this->traiterResultatTest($info);
-
 
1375
	}
-
 
1376
	
-
 
1377
	/**
1367
		}
1378
	 * Test #39
1368
		$noms_erreur = null;
1379
	 */
-
 
1380
	private function testerCultivarSyntaxe() {
1369
		
1381
		$info = array('nom' => 'cultivar -> syntaxe',
1370
		$this->traiterResultatTest($info);
1382
			'description' => "Le champ cultivar_groupe doit contenir :\n".
Line 1371... Line 1383...
1371
	}
1383
				" - un nom de cultivar conforme aux règles du Code Internationnal de Nomenclature \n".
1372
	
1384
				"   des Plantes Cultivées (CINPC), c.-à-d. composer de caractères alphanumériques \n".
1373
	private function testerStatutOrigineSyntaxe() {
1385
				"   (A-Z,a-z et 0-9) incluant signes diacritiques et marques de ponctuations.\n".
1374
		$info = array('nom' => 'statut_origine -> syntaxe',
1386
				" - un nom en alphabet latin, ce qui implique une translittération des noms d'alphabet \n".
1375
			'description' => "Le champ statut_origine peut contenir :\n".
1387
				"   cyrillique, arabe, chinois...\n".
-
 
1388
				" - une lettre majuscule obligatoire pour le premier caractère du premier mot et pour \n".
1376
								" - le symbole tiret «-» précédant une autre information non référencée...\n".
1389
				"   les autres mots importants mais pas pour les mots mineurs.\n".
1377
								" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n".
1390
				"Ne doit pas contenir :\n".
1378
								" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
1391
				" - cv., convar. ou de guillemets simples (').\n",
1379
								"un code de présence spécifique au référentiel.",
1392
			'resultat' => false);
Line 1380... Line 1393...
1380
			'resultat' => false);
1393
		
1381
		
1394
		// Réalisation du test
1382
		// Réalisation du test
1395
		$noms_erreur = array();
1383
		$noms_erreur = array();
1396
		foreach ($this->noms as &$nom) {
1384
		foreach ($this->noms as &$nom) {
1397
			if ($nom['cultivar'] != '') {
1385
			if ($nom['statut_origine'] != '') {
1398
				if (!$this->verifierEpitheteCultivar($nom['cultivar'])) {
1386
				if (!$this->verifierStatutOrigine($nom['statut_origine'])) {
1399
					$epithete_traite = $this->repererEspace($nom['cultivar']);
1387
					$noms_erreur[] = array($nom['num_nom'], $nom['statut_origine']);
1400
					$noms_erreur[] = array($nom['num_nom'], $epithete_traite);
Line 1388... Line 1401...
1388
				}
1401
				}
1389
			}
1402
			}
Line -... Line 1403...
-
 
1403
		}
-
 
1404
		
-
 
1405
		// Analyse des résultats
1390
		}
1406
		if (count($noms_erreur) > 0) {
1391
		
1407
			$info['message']['entete'] = array('num_nom', 'cultivar erroné');
1392
		// Analyse des résultats
-
 
1393
		if (count($noms_erreur) > 0) {
-
 
1394
			$info['message']['entete'] = array('num_nom', 'statut_origine erroné');
1408
			$info['message']['lignes'] = $noms_erreur;
1395
			$info['message']['lignes'] = $noms_erreur;
-
 
1396
		} else {
1409
		} else {
1397
			$info['resultat'] = true;
1410
			$info['resultat'] = true;
Line 1398... Line 1411...
1398
		}
1411
		}
1399
		$noms_erreur = null;
1412
		$noms_erreur = null;
1400
		
1413
		
1401
		$this->traiterResultatTest($info);
1414
		$this->traiterResultatTest($info);
1402
	}
1415
	}
1403
	
1416
	
1404
	private function testerPresenceSyntaxe() {
1417
	/**
1405
		$info = array('nom' => 'presence -> syntaxe',
1418
	 * Test #40
1406
			'description' => "Le champ presence contient soit :\n".
1419
	 */
Line 1407... Line 1420...
1407
								" - le symbole tiret «-» précédant une autre information non référencée...\n".
1420
	private function testerCultivarRang() {
1408
								" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
1421
		$info = array('nom' => "cultivar -> rang >= {$this->manuel['rang_genre']}",
1409
								" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
1422
			'description' => "Si le champ cultivar n'est pas vide alors le rang du nom doit être supérieur ou égal à ". 
1410
								"un code de présence spécifique au référentiel.",
1423
								"{$this->manuel['rang_genre']}.",
1411
			'resultat' => false);
1424
			'resultat' => false);
1412
		
1425
		
1413
		// Réalisation du test
1426
		// Réalisation du test
1414
		$noms_erreur = array();
1427
		$noms_erreur = array();
Line 1415... Line 1428...
1415
		foreach ($this->noms as &$nom) {
1428
		foreach ($this->noms as &$nom) {
1416
			if ($nom['presence'] != '') {
1429
			if ($nom['cultivar'] != '') {
Line -... Line 1430...
-
 
1430
				if ($nom['rang'] < $this->manuel['rang_genre']) {
-
 
1431
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
-
 
1432
				}
1417
				if (!$this->verifierPresence($nom['presence'])) {
1433
			}
1418
					$noms_erreur[] = array($nom['num_nom'], $nom['presence']);
1434
		}
1419
				}
1435
		
1420
			}
1436
		// Analyse des résultats
-
 
1437
		if (count($noms_erreur) > 0) {
1421
		}
1438
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
Line 1422... Line 1439...
1422
		
1439
			$info['message']['lignes'] = $noms_erreur;
1423
		// Analyse des résultats
1440
		} else {
1424
		if (count($noms_erreur) > 0) {
1441
			$info['resultat'] = true;
1425
			$info['message']['entete'] = array('num_nom', 'presence erroné');
1442
		}
1426
			$info['message']['lignes'] = $noms_erreur;
1443
		$noms_erreur = null;
-
 
1444
		
1427
		} else {
1445
		$this->traiterResultatTest($info);
1428
			$info['resultat'] = true;
1446
	}
1429
		}
1447
	
1430
		$noms_erreur = null;
1448
	/**
Line 1431... Line 1449...
1431
		
1449
	 * Test #41
1432
		$this->traiterResultatTest($info);
1450
	 */
1433
	}
1451
	private function testerNomCommercialSyntaxe() {
1434
	
1452
		$info = array('nom' => 'nom_commercial -> syntaxe',
1435
	private function testerHybrideParent02Existence() {
1453
			'description' => "Le champ nom_commercial doit contenir un nom commercial conforme aux règles du ".
1436
		$info = array('nom' => 'hybride_parent_02 -> existence',
1454
				"Code Internationnal de Nomenclature des Plantes Cultivées (CINPC) ".
1437
			'description' => "Si le champ hybride_parent_02 contient un nombre alors il doit correspondre à une valeur ".
1455
				"qui se compose de caractères majuscules (A-Z) incluant des signes diacritiques et des espaces.\n",
1438
								"du champ num_nom.",
1456
			'resultat' => false);
Line 1439... Line 1457...
1439
			'resultat' => false);
1457
		
1440
		
1458
		// Réalisation du test
Line -... Line 1459...
-
 
1459
		$noms_erreur = array();
-
 
1460
		foreach ($this->noms as &$nom) {
-
 
1461
			if ($nom['nom_commercial'] != '') {
1441
		// Réalisation du test
1462
				if (!$this->verifierNomCommercial($nom['nom_commercial'])) {
1442
		$noms_erreur = array();
1463
					$epithete_traite = $this->repererEspace($nom['nom_commercial']);
1443
		foreach ($this->noms as &$nom) {
1464
					$noms_erreur[] = array($nom['num_nom'], $epithete_traite);
1444
			if ($nom['hybride_parent_02'] != '') {
1465
				}
1445
				if (!isset($this->noms[$nom['hybride_parent_02']]) && $nom['hybride_parent_02'] != '0') {
-
 
1446
					$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_02']));
1466
			}
Line 1447... Line 1467...
1447
				}
1467
		}
1448
			}
1468
		
1449
		}
1469
		// Analyse des résultats
1450
		
-
 
1451
		// Analyse des résultats
1470
		if (count($noms_erreur) > 0) {
1452
		if (count($noms_erreur) > 0) {
1471
			$info['message']['entete'] = array('num_nom', 'cultivar erroné');
1453
			$info['message']['entete'] = array('num_nom', 'hybride_parent_02 introuvable');
-
 
1454
			$info['message']['lignes'] = $noms_erreur;
1472
			$info['message']['lignes'] = $noms_erreur;
1455
		} else {
1473
		} else {
Line 1456... Line 1474...
1456
			$info['resultat'] = true;
1474
			$info['resultat'] = true;
1457
		}
1475
		}
1458
		$noms_erreur = null;
1476
		$noms_erreur = null;
1459
		
1477
		
1460
		$this->traiterResultatTest($info);
1478
		$this->traiterResultatTest($info);
1461
	}
1479
	}
1462
	
1480
	
1463
	private function testerHybrideParent02Syntaxe() {
1481
	/**
Line 1464... Line 1482...
1464
		$info = array('nom' => 'hybride_parent_02 -> syntaxe',
1482
	 * Test #42
1465
			'description' => "Le champ hybride_parent_02 contient soit :\n".
1483
	 */
Line -... Line 1484...
-
 
1484
	private function testerNomCommercialPresenceCultivar() {
-
 
1485
		$info = array('nom' => 'nom_commercial -> groupe_cultivar OU cultivar non vide',
1466
								" - une valeur vide,\n".
1486
			'description' => "Si le champ nom_commercial contient un nom commercial alors le champ cultivar OU ".
1467
								" - un nombre.",
1487
				"cultivar_groupe ne doit pas être vide.",
1468
			'resultat' => false);
1488
			'resultat' => false);
-
 
1489
		
-
 
1490
		// Réalisation du test
1469
		
1491
		$noms_erreur = array();
-
 
1492
		foreach ($this->noms as &$nom) {
-
 
1493
			if ((isset($nom['nom_commercial']) && $nom['nom_commercial'] != '') && ($nom['cultivar'] == '' && $nom['cultivar_groupe'] == '')) {
-
 
1494
				$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci']);
-
 
1495
			}
-
 
1496
		}
-
 
1497
		
-
 
1498
		// Analyse des résultats
1470
		// Réalisation du test
1499
		if (count($noms_erreur) > 0) {
1471
		$noms_erreur = array();
1500
			$info['message']['entete'] = array('num_nom', 'nom_commercial sans cultivar ou cultivar_groupe');
Line 1472... Line 1501...
1472
		foreach ($this->noms as &$nom) {
1501
			$info['message']['lignes'] = $noms_erreur;
1473
			if ($nom['hybride_parent_02'] != '') {
1502
		} else {
1474
				if (!$this->verifierNombre($nom['hybride_parent_02'])) {
1503
			$info['resultat'] = true;
1475
					$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_02']));
1504
		}
1476
				}
1505
		$noms_erreur = null;
-
 
1506
		
1477
			}
1507
		$this->traiterResultatTest($info);
1478
		}
1508
	}
1479
		
1509
	
1480
		// Analyse des résultats
1510
	/**
Line 1481... Line 1511...
1481
		if (count($noms_erreur) > 0) {
1511
	 * Test #43
1482
			$info['message']['entete'] = array('num_nom', 'hybride_parent_02 erroné');
1512
	 */
1483
			$info['message']['lignes'] = $noms_erreur;
1513
	private function testerAuteurSyntaxe() {
1484
		} else {
1514
		$info = array('nom' => 'auteur -> syntaxe',
1485
			$info['resultat'] = true;
1515
			'description' => "Le champ auteur doit :\n".
1486
		}
1516
			" - contenir l'intitulé complet des noms de l'auteur, ou des auteurs, ayant publié à l'origine la combinaison latine courante.\n".
1487
		$noms_erreur = null;
1517
    		" - OU débuter par le mot « sensu » et contenir l'intitulé complet des noms de l'auteur, ou des auteurs, ".
1488
		
1518
			"ayant publié un nom dont la description ne correspond pas à celle de l'auteur, ou des auteurs, d'origine.\n".
Line 1489... Line 1519...
1489
		$this->traiterResultatTest($info);
1519
			" - se composer de caractères alphabétiques (A-Z, a-z), incluant les signes diacritiques, le symbole point (.), les paires de parenthèses ( () ), les apostrophes, l'esperluette (&) et l'espace ( ).\n".
1490
	}
1520
			" - contenir, si nécessaire, des abréviations de noms d'auteurs respectant les standards.\n".
Line -... Line 1521...
-
 
1521
			" - contenir une translittération des noms d'alphabet cyrillique, arabe, chinois... en alphabet latin.\n".
-
 
1522
			" - inclure entre parenthèses l'intitulé des noms de l'auteur ou des auteurs ayant publié le basionyme.\n".
-
 
1523
			" - toujours utiliser l'esperluette (&) à la place du mot « et » pour séparer les noms d'auteurs.\n".
1491
	
1524
			" - conformément à la recommandation 46C.2 du CINB, si une un citation comprend plus de deux auteurs, ".
1492
	
1525
			"elle devrait être limitée au nom du premier, suivi de « & al.».\n",
1493
	private function testerHybrideParent01Existence() {
1526
			'resultat' => false);
1494
		$info = array('nom' => 'hybride_parent_01 -> existence',
1527
		
1495
			'description' => "Si le champ hybride_parent_01 contient un nombre alors il doit correspondre à une valeur ".
1528
		// Réalisation du test
1496
								"du champ num_nom.",
1529
		$noms_erreur = array();
Line 1497... Line 1530...
1497
			'resultat' => false);
1530
		foreach ($this->noms as &$nom) {
1498
		
1531
			if ($nom['auteur'] != '') {
1499
		// Réalisation du test
1532
				if (!$this->verifierAuteur($nom['auteur'])) {
1500
		$noms_erreur = array();
1533
					$intitule_traite = $this->repererEspace($nom['auteur']);
1501
		foreach ($this->noms as &$nom) {
1534
					$noms_erreur[] = array($nom['num_nom'], $intitule_traite);
1502
			if ($nom['hybride_parent_01'] != '' && $nom['hybride_parent_01'] != '0') {
1535
				}
1503
				if (!isset($this->noms[$nom['hybride_parent_01']])) {
1536
			}
1504
					$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_01']));
1537
		}
1505
				}
1538
		
Line 1506... Line 1539...
1506
			}
1539
		// Analyse des résultats
1507
		}
1540
		if (count($noms_erreur) > 0) {
1508
		
1541
			$info['message']['entete'] = array('num_nom', 'auteur erroné');
1509
		// Analyse des résultats
1542
			$info['message']['lignes'] = $noms_erreur;
1510
		if (count($noms_erreur) > 0) {
1543
		} else {
1511
			$info['message']['entete'] = array('num_nom', 'hybride_parent_01 introuvable');
1544
			$info['resultat'] = true;
1512
			$info['message']['lignes'] = $noms_erreur;
1545
		}
1513
		} else {
1546
		$noms_erreur = null;
Line 1514... Line 1547...
1514
			$info['resultat'] = true;
1547
		
1515
		}
1548
		$this->traiterResultatTest($info);
Line -... Line 1549...
-
 
1549
	}
-
 
1550
	
-
 
1551
	/**
1516
		$noms_erreur = null;
1552
	 * Test #44
1517
		
1553
	 */
1518
		$this->traiterResultatTest($info);
1554
	private function testerAnneeSyntaxe() {
-
 
1555
		$info = array('nom' => 'annee -> syntaxe',
-
 
1556
			'description' => "Le champ annee doit :\n".
-
 
1557
			" - contenir un nombre de 4 chiffres,\n".
-
 
1558
			" - être supérieur ou égal à 1753.",
-
 
1559
			'resultat' => false);
-
 
1560
		
-
 
1561
		// Réalisation du test
-
 
1562
		$noms_erreur = array();
-
 
1563
		foreach ($this->noms as &$nom) {
1519
	}
1564
			if ($nom['annee'] != '') {
-
 
1565
				if (!$this->verifierAnnee($nom['annee'])) {
-
 
1566
					$noms_erreur[] = array($nom['num_nom'], $nom['annee']);
-
 
1567
				}
-
 
1568
			}
1520
	
1569
		}
Line 1521... Line 1570...
1521
	private function testerHybrideParent01Syntaxe() {
1570
		
1522
		$info = array('nom' => 'hybride_parent_01 -> syntaxe',
1571
		// Analyse des résultats
1523
			'description' => "Le champ hybride_parent_01 contient soit :\n".
1572
		if (count($noms_erreur) > 0) {
1524
								" - une valeur vide,\n".
1573
			$info['message']['entete'] = array('num_nom', 'annee erroné');
1525
								" - un nombre.",
1574
			$info['message']['lignes'] = $noms_erreur;
-
 
1575
		} else {
1526
			'resultat' => false);
1576
			$info['resultat'] = true;
1527
		
1577
		}
1528
		// Réalisation du test
1578
		$noms_erreur = null;
1529
		$noms_erreur = array();
1579
		
Line 1530... Line 1580...
1530
		foreach ($this->noms as &$nom) {
1580
		$this->traiterResultatTest($info);
1531
			if ($nom['hybride_parent_01'] != '') {
1581
	}
1532
				if (!$this->verifierNombre($nom['hybride_parent_01'])) {
1582
	
1533
					$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_01']));
1583
	/**
1534
				}
1584
	 * Test #45
1535
			}
1585
	 */
1536
		}
1586
	private function testerBiblioOrigineSyntaxe() {
1537
		
1587
		$info = array('nom' => 'biblio_origine -> syntaxe',
Line 1538... Line 1588...
1538
		// Analyse des résultats
1588
			'description' => "Le champ biblio_origine se compose de plusieurs parties séparées par des caractères ".
1539
		if (count($noms_erreur) > 0) {
1589
			"précis qui sont dans l'ordre de gauche à droite :\n".
Line -... Line 1590...
-
 
1590
			" - éventuellement, le mot « in » suivi d'un intitulé auteur (utilisé pour indiquer l'intitulé auteur de ".
-
 
1591
			"l'ouvrage dans lequel la publication est parue),\n".
-
 
1592
			" - point-virgule « ; » (si l'info précédent a été renseignée),\n".
1540
			$info['message']['entete'] = array('num_nom', 'hybride_parent_01 erroné');
1593
			" - abréviation, ou nom, de l'ouvrage ou de la revue selon le standard en vigueur dans le code du nom. ".
1541
			$info['message']['lignes'] = $noms_erreur;
1594
			"Cette information ne doit pas contenir de caractère virgule « , »,\n".
1542
		} else {
1595
			" - virgule « , »,\n".
1543
			$info['resultat'] = true;
1596
			" - informations permettant d'identifier plus précisément le document contenant le nom... ".
1544
		}
1597
			"(par exemple, l'éditeur, le tome, le numéro d'édition, le volume...) séparées par des virgules ou d'autres ".
1545
		$noms_erreur = null;
1598
			"caractères sauf deux points « : ».\n".
Line 1546... Line 1599...
1546
		
1599
			" - deux points « : »,\n".
1547
		$this->traiterResultatTest($info);
1600
			" - numéro(s) de la page contenant la publication du nom ou de l'ensemble de pages (première et dernière ".
1548
	}
1601
			"pages de l'ensemble séparées par un tiret « - »). Quelques fois des numéros ou d'autres informations indiquant ".
1549
	
1602
			"la position du nom dans le document. Le tiret « - » doit toujours servir à séparer un ensemble.",
1550
	private function testerSynonymeOrthographiqueExistence() {
1603
			'resultat' => false);
1551
		$info = array('nom' => 'synonyme_orthographique -> existence',
1604
		
1552
			'description' => "Si le champ synonyme_orthographique contient un nombre alors il doit correspondre ".
1605
		// Réalisation du test
1553
								"à une valeur du champ num_nom.",
1606
		$noms_erreur = array();
1554
			'resultat' => false);
1607
		foreach ($this->noms as &$nom) {
Line 1555... Line 1608...
1555
		
1608
			if ($nom['biblio_origine'] != '') {
1556
		// Réalisation du test
1609
				if (!$this->verifierBiblioOrigine($nom['biblio_origine'])) {
1557
		$noms_erreur = array();
1610
					$biblio_traite = $this->repererEspace($nom['biblio_origine']);
1558
		foreach ($this->noms as &$nom) {
1611
					$noms_erreur[] = array($nom['num_nom'], $biblio_traite);
1559
			if ($nom['synonyme_orthographique'] != '') {
1612
				}
1560
				if (!isset($this->noms[$nom['synonyme_orthographique']])) {
1613
			}
1561
					$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_orthographique']);
1614
		}
1562
				}
1615
		
Line 1563... Line 1616...
1563
			}
1616
		// Analyse des résultats
1564
		}
1617
		if (count($noms_erreur) > 0) {
Line -... Line 1618...
-
 
1618
			$info['message']['entete'] = array('num_nom', 'biblio_origine erroné');
-
 
1619
			$info['message']['lignes'] = $noms_erreur;
-
 
1620
		} else {
1565
		
1621
			$info['resultat'] = true;
1566
		// Analyse des résultats
1622
		}
1567
		if (count($noms_erreur) > 0) {
1623
		$noms_erreur = null;
1568
			$info['message']['entete'] = array('num_nom', 'synonyme_orthographique introuvable');
-
 
1569
			$info['message']['lignes'] = $noms_erreur;
1624
		
1570
		} else {
1625
		$this->traiterResultatTest($info);
Line -... Line 1626...
-
 
1626
	}
-
 
1627
	
1571
			$info['resultat'] = true;
1628
	/**
1572
		}
1629
	 * Test #46
1573
		$noms_erreur = null;
1630
	 */
1574
		
1631
	private function testerHomonymieSyntaxe() {
1575
		$this->traiterResultatTest($info);
1632
		$info = array('nom' => 'homonyme -> syntaxe',
1576
	}
1633
			'description' => "Le champ homonyme contient :\n".
1577
	
1634
				" - une valeur vide,\n".
1578
	private function testerSynonymeOrthographiqueSyntaxe() {
1635
				" - le chiffre 1.",
1579
		$info = array('nom' => 'synonyme_orthographique -> syntaxe',
1636
			'resultat' => false);
-
 
1637
		
Line 1580... Line 1638...
1580
			'description' => "Le champ synonyme_orthographique contient soit :\n".
1638
		// Réalisation du test
1581
								" - une valeur vide,\n".
1639
		$noms_erreur = array();
1582
								" - un nombre.",
1640
		foreach ($this->noms as &$nom) {
1583
			'resultat' => false);
1641
			if ($nom['homonyme'] != '') {
1584
		
1642
				if (!$this->verifierBooleen($nom['homonyme'])) {
1585
		// Réalisation du test
1643
					$noms_erreur[] = array($nom['num_nom'], $nom['homonyme']);
1586
		$noms_erreur = array();
1644
				}
1587
		foreach ($this->noms as $nom) {
1645
			}
Line 1588... Line 1646...
1588
			if ($nom['synonyme_orthographique'] != '') {
1646
		}
1589
				if (!$this->verifierNombre($nom['synonyme_orthographique'])) {
1647
		
Line -... Line 1648...
-
 
1648
		// Analyse des résultats
-
 
1649
		if (count($noms_erreur) > 0) {
1590
					$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_orthographique']);
1650
			$info['message']['entete'] = array('num_nom', 'homonyme erroné');
1591
				}
1651
			$info['message']['lignes'] = $noms_erreur;
1592
			}
1652
		} else {
1593
		}
1653
			$info['resultat'] = true;
1594
		
1654
		}
1595
		// Analyse des résultats
1655
		$noms_erreur = null;
1596
		if (count($noms_erreur) > 0) {
1656
		
Line 1597... Line 1657...
1597
			$info['message']['entete'] = array('num_nom', 'synonyme_orthographique erroné');
1657
		$this->traiterResultatTest($info);
1598
			$info['message']['lignes'] = $noms_erreur;
1658
	}
1599
		} else {
1659
	
1600
			$info['resultat'] = true;
1660
	/**
1601
		}
1661
	 * Test #47
1602
		$noms_erreur = null;
1662
	 */
1603
		
1663
	private function testerHomonymieExistence() {
1604
		$this->traiterResultatTest($info);
1664
		$info = array('nom' => 'homonyme -> existence',
1605
	}
1665
			'description' => "Si le champ homonyme contient «1» alors plusieurs noms doivent posséder la même valeur ".
Line 1606... Line 1666...
1606
	
1666
								"dans le champ nom_sci.",
1607
	private function testerSynonymeMalAppliqueSyntaxe() {
1667
			'resultat' => false);
1608
		$info = array('nom' => 'synonyme_mal_applique -> syntaxe',
1668
		
1609
			'description' => "Le champ synonyme_mal_applique contient soit :\n".
1669
		$noms_homonymie = $this->classerNomsParNomComplet();
1610
			" - une valeur vide,\n".
1670
		
1611
			" - le chiffre 1.",
1671
		// Réalisation du test
1612
			'resultat' => false);
1672
		$noms_erreur = array();
1613
		
1673
		foreach ($this->noms as &$nom) {
Line 1614... Line 1674...
1614
		// Réalisation du test
1674
			if ($nom['homonyme'] != '0' && $nom['homonyme'] != '') {
1615
		$noms_erreur = array();
1675
				if ($noms_homonymie[$nom['nom_sci']] <= 1) {
1616
		foreach ($this->noms as &$nom) {
1676
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci']);
-
 
1677
				}
-
 
1678
			}
-
 
1679
		}
1617
			if ($nom['synonyme_mal_applique'] != '') {
1680
		$noms_homonymie = null;
1618
				if (!$this->verifierBooleen($nom['synonyme_mal_applique'])) {
1681
		
1619
					$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_mal_applique']);
1682
		// Analyse des résultats
-
 
1683
		if (count($noms_erreur) > 0) {
1620
				}
1684
			$info['message']['entete'] = array('num_nom', 'homonyme introuvable');
Line 1621... Line 1685...
1621
			}
1685
			$info['message']['lignes'] = $noms_erreur;
1622
		}
1686
		} else {
1623
		
1687
			$info['resultat'] = true;
-
 
1688
		}
1624
		// Analyse des résultats
1689
		$noms_erreur = null;
1625
		if (count($noms_erreur) > 0) {
1690
		
-
 
1691
		$this->traiterResultatTest($info);
1626
			$info['message']['entete'] = array('num_nom', 'synonyme_mal_applique erroné');
1692
	}
1627
			$info['message']['lignes'] = $noms_erreur;
1693
	
Line 1628... Line 1694...
1628
		} else {
1694
	/**
1629
			$info['resultat'] = true;
1695
	 * Test #48
1630
		}
1696
	 */
1631
		$noms_erreur = null;
1697
	private function testerBasionymeSyntaxe() {
1632
		
1698
		$info = array('nom' => 'basionyme -> syntaxe',
1633
		$this->traiterResultatTest($info);
1699
			'description' => "Le champ basionyme contient :\n".
1634
	}
1700
								" - une valeur vide,\n".
1635
	
1701
								" - un nombre.",
-
 
1702
			'resultat' => false);
1636
	
1703
		
1637
	private function testerSynonymeDouteuxSyntaxe() {
1704
		// Réalisation du test
Line -... Line 1705...
-
 
1705
		$noms_erreur = array();
-
 
1706
		foreach ($this->noms as &$nom) {
1638
		$info = array('nom' => 'synonyme_douteux -> syntaxe',
1707
			if ($nom['basionyme'] != '') {
1639
			'description' => "Le champ synonyme_douteux contient soit :\n".
1708
				if (!$this->verifierNombre($nom['basionyme'])) {
1640
			" - une valeur vide,\n".
1709
					$noms_erreur[] = array($nom['num_nom'], $nom['basionyme']);
1641
			" - le chiffre 1.",
1710
				}
-
 
1711
			}
-
 
1712
		}
1642
			'resultat' => false);
1713
		
1643
		
1714
		// Analyse des résultats
Line 1644... Line 1715...
1644
		// Réalisation du test
1715
		if (count($noms_erreur) > 0) {
1645
		$noms_erreur = array();
1716
			$info['message']['entete'] = array('num_nom', 'basionyme erroné');
1646
		foreach ($this->noms as &$nom) {
1717
			$info['message']['lignes'] = $noms_erreur;
1647
			if ($nom['synonyme_douteux'] != '') {
1718
		} else {
1648
				if (!$this->verifierBooleen($nom['synonyme_douteux'])) {
1719
			$info['resultat'] = true;
1649
					$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_douteux']);
-
 
1650
				}
-
 
1651
			}
-
 
1652
		}
-
 
1653
		
-
 
1654
		// Analyse des résultats
-
 
1655
		if (count($noms_erreur) > 0) {
-
 
1656
			$info['message']['entete'] = array('num_nom', 'synonyme_douteux erroné');
1720
		}
1657
			$info['message']['lignes'] = $noms_erreur;
1721
		$noms_erreur = null;
1658
		} else {
1722
		
1659
			$info['resultat'] = true;
1723
		$this->traiterResultatTest($info);
Line 1660... Line 1724...
1660
		}
1724
	}
1661
		$noms_erreur = null;
1725
 
1662
		
1726
	/**
1663
		$this->traiterResultatTest($info);
1727
	 * Test #49
1664
	}
1728
	 */
1665
	
1729
	private function testerBasionymeExistence() {
1666
	private function testerSynonymeDouteuxNumNomRetenu() {
1730
		$info = array('nom' => 'basionyme -> existence',
1667
		$info = array('nom' => 'synonyme_douteux -> présence num_nom_retenu',
1731
			'description' => "Si le champ basionyme contient un nombre alors il doit correspondre à une valeur du champ ".
Line 1668... Line 1732...
1668
			'description' => "Si le nom est un synonyme douteux, le champs num_nom_retenu doit être vide.",
1732
								"num_nom.",
1669
			'resultat' => false);
1733
			'resultat' => false);
Line -... Line 1734...
-
 
1734
		
-
 
1735
		// Réalisation du test
-
 
1736
		$noms_erreur = array();
1670
		
1737
		foreach ($this->noms as &$nom) {
1671
		// Réalisation du test
1738
			if ($nom['basionyme'] != '') {
1672
		$noms_erreur = array();
1739
				if (!isset($this->noms[$nom['basionyme']])) {
1673
		foreach ($this->noms as &$nom) {
-
 
1674
			if ($nom['synonyme_douteux'] == 1 && $nom['num_nom_retenu'] != ' ') {
-
 
1675
				$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_douteux'], $nom['num_nom_retenu']);
1740
					$noms_erreur[] = array($nom['num_nom'], $nom['basionyme']);
1676
			}
1741
				}
Line 1677... Line 1742...
1677
		}
1742
			}
1678
		
1743
		}
1679
		// Analyse des résultats
1744
		
1680
		if (count($noms_erreur) > 0) {
1745
		// Analyse des résultats
1681
			$info['message']['entete'] = array('num_nom', 'synonyme_douteux', 'num_nom_retenu');
1746
		if (count($noms_erreur) > 0) {
-
 
1747
			$info['message']['entete'] = array('num_nom', 'basionyme introuvable');
-
 
1748
			$info['message']['lignes'] = $noms_erreur;
-
 
1749
		} else {
-
 
1750
			$info['resultat'] = true;
-
 
1751
		}
-
 
1752
		$noms_erreur = null;
-
 
1753
		
1682
			$info['message']['lignes'] = $noms_erreur;
1754
		$this->traiterResultatTest($info);
1683
		} else {
1755
	}
1684
			$info['resultat'] = true;
1756
	
1685
		}
1757
	/**
Line 1686... Line 1758...
1686
		$noms_erreur = null;
1758
	 * Test #50
1687
		$this->traiterResultatTest($info);
1759
	 */
1688
	}
1760
	private function testerSynonymeProparteSyntaxe() {
1689
	
1761
		$info = array('nom' => 'synonyme_proparte -> syntaxe',
1690
	
1762
			'description' => "Le champ synonyme_proparte contient soit :\n".
1691
	private function testerSynonymeProparteExistence() {
1763
			" - une valeur vide,\n".
1692
		$info = array('nom' => 'synonyme_proparte -> existence',
1764
			" - un nombre,\n".
1693
			'description' => "Si le champ synonyme_proparte contient un ou plusieurs nombres alors chacun d'entre eux ".
1765
			" - une suite de nombres séparés par des virgules.",
Line 1694... Line 1766...
1694
								"doit correspondre à une valeur du champ num_nom.",
1766
			'resultat' => false);
1695
			'resultat' => false);
1767
		
Line -... Line 1768...
-
 
1768
		// Réalisation du test
-
 
1769
		$noms_erreur = array();
-
 
1770
		foreach ($this->noms as &$nom) {
1696
		
1771
			if ($nom['synonyme_proparte'] != '') {
1697
		// Réalisation du test
1772
				if (!$this->verifierNombreSuite($nom['synonyme_proparte'])) {
1698
		$noms_erreur = array();
1773
					$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_proparte']);
-
 
1774
				}
1699
		foreach ($this->noms as &$nom) {
1775
			}
1700
			if ($nom['synonyme_proparte'] != '') {
1776
		}
Line 1701... Line 1777...
1701
				$num_nom_a_verifier = explode(',', $nom['synonyme_proparte']);
1777
		
1702
				$num_nom_en_erreur = array();
1778
		// Analyse des résultats
1703
				foreach ($num_nom_a_verifier as $num_nom) {
1779
		if (count($noms_erreur) > 0) {
1704
					if (!isset($this->noms[$num_nom])) {
1780
			$info['message']['entete'] = array('num_nom', 'synonyme_proparte erroné');
1705
						$num_nom_en_erreur[] = $num_nom;
1781
			$info['message']['lignes'] = $noms_erreur;
1706
					}
1782
		} else {
1707
				}
1783
			$info['resultat'] = true;
1708
				if (count($nbre_en_erreur) > 0) {
1784
		}
1709
					$noms_erreur[] = array($nom['num_nom'], implode(',', $num_nom_en_erreur));
1785
		$noms_erreur = null;
Line 1710... Line 1786...
1710
				}
1786
		
1711
			}
1787
		$this->traiterResultatTest($info);
1712
		}
1788
	}
1713
		
1789
	
1714
		// Analyse des résultats
1790
	/**
1715
		if (count($noms_erreur) > 0) {
1791
	 * Test #51
1716
			$info['message']['entete'] = array('num_nom', 'synonyme_proparte introuvable');
1792
	 */
1717
			$info['message']['lignes'] = $noms_erreur;
1793
	private function testerSynonymeProparteExistence() {
Line 1718... Line 1794...
1718
		} else {
1794
		$info = array('nom' => 'synonyme_proparte -> existence',
1719
			$info['resultat'] = true;
1795
			'description' => "Si le champ synonyme_proparte contient un ou plusieurs nombres alors chacun d'entre eux ".
Line -... Line 1796...
-
 
1796
								"doit correspondre à une valeur du champ num_nom.",
-
 
1797
			'resultat' => false);
-
 
1798
		
1720
		}
1799
		// Réalisation du test
1721
		$noms_erreur = null;
1800
		$noms_erreur = array();
1722
		
1801
		foreach ($this->noms as &$nom) {
1723
		$this->traiterResultatTest($info);
-
 
1724
	}
-
 
1725
	
1802
			if ($nom['synonyme_proparte'] != '') {
Line 1726... Line 1803...
1726
	private function testerSynonymeProparteSyntaxe() {
1803
				$num_nom_a_verifier = explode(',', $nom['synonyme_proparte']);
1727
		$info = array('nom' => 'synonyme_proparte -> syntaxe',
1804
				$num_nom_en_erreur = array();
1728
			'description' => "Le champ synonyme_proparte contient soit :\n".
1805
				foreach ($num_nom_a_verifier as $num_nom) {
1729
			" - une valeur vide,\n".
-
 
1730
			" - un nombre,\n".
1806
					if (!isset($this->noms[$num_nom])) {
1731
			" - une suite de nombres séparés par des virgules.",
1807
						$num_nom_en_erreur[] = $num_nom;
1732
			'resultat' => false);
-
 
1733
		
1808
					}
1734
		// Réalisation du test
1809
				}
Line 1735... Line 1810...
1735
		$noms_erreur = array();
1810
				if (count($nbre_en_erreur) > 0) {
1736
		foreach ($this->noms as &$nom) {
1811
					$noms_erreur[] = array($nom['num_nom'], implode(',', $num_nom_en_erreur));
1737
			if ($nom['synonyme_proparte'] != '') {
1812
				}
1738
				if (!$this->verifierNombreSuite($nom['synonyme_proparte'])) {
1813
			}
1739
					$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_proparte']);
1814
		}
1740
				}
1815
		
1741
			}
1816
		// Analyse des résultats
1742
		}
1817
		if (count($noms_erreur) > 0) {
1743
		
-
 
1744
		// Analyse des résultats
1818
			$info['message']['entete'] = array('num_nom', 'synonyme_proparte introuvable');
1745
		if (count($noms_erreur) > 0) {
1819
			$info['message']['lignes'] = $noms_erreur;
Line 1746... Line 1820...
1746
			$info['message']['entete'] = array('num_nom', 'synonyme_proparte erroné');
1820
		} else {
1747
			$info['message']['lignes'] = $noms_erreur;
1821
			$info['resultat'] = true;
1748
		} else {
1822
		}
1749
			$info['resultat'] = true;
1823
		$noms_erreur = null;
1750
		}
1824
		
1751
		$noms_erreur = null;
1825
		$this->traiterResultatTest($info);
1752
		
-
 
1753
		$this->traiterResultatTest($info);
1826
	}
1754
	}
-
 
1755
	
1827
	
1756
	private function testerBasionymeExistence() {
1828
	/**
Line 1757... Line 1829...
1757
		$info = array('nom' => 'basionyme -> existence',
1829
	 * Test #52
1758
			'description' => "Si le champ basionyme contient un nombre alors il doit correspondre à une valeur du champ ".
1830
	 */
1759
								"num_nom.",
1831
	private function testerSynonymeDouteuxSyntaxe() {
1760
			'resultat' => false);
1832
		$info = array('nom' => 'synonyme_douteux -> syntaxe',
1761
		
1833
			'description' => "Le champ synonyme_douteux contient soit :\n".
1762
		// Réalisation du test
-
 
1763
		$noms_erreur = array();
1834
			" - une valeur vide,\n".
1764
		foreach ($this->noms as &$nom) {
1835
			" - le chiffre 1.",
1765
			if ($nom['basionyme'] != '') {
1836
			'resultat' => false);
1766
				if (!isset($this->noms[$nom['basionyme']])) {
1837
		
Line 1767... Line 1838...
1767
					$noms_erreur[] = array($nom['num_nom'], $nom['basionyme']);
1838
		// Réalisation du test
1768
				}
1839
		$noms_erreur = array();
1769
			}
1840
		foreach ($this->noms as &$nom) {
1770
		}
1841
			if ($nom['synonyme_douteux'] != '') {
1771
		
1842
				if (!$this->verifierBooleen($nom['synonyme_douteux'])) {
1772
		// Analyse des résultats
1843
					$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_douteux']);
1773
		if (count($noms_erreur) > 0) {
1844
				}
1774
			$info['message']['entete'] = array('num_nom', 'basionyme introuvable');
1845
			}
Line 1775... Line 1846...
1775
			$info['message']['lignes'] = $noms_erreur;
1846
		}
1776
		} else {
1847
		
Line 1777... Line 1848...
1777
			$info['resultat'] = true;
1848
		// Analyse des résultats
1778
		}
1849
		if (count($noms_erreur) > 0) {
1779
		$noms_erreur = null;
1850
			$info['message']['entete'] = array('num_nom', 'synonyme_douteux erroné');
1780
		
1851
			$info['message']['lignes'] = $noms_erreur;
1781
		$this->traiterResultatTest($info);
1852
		} else {
1782
	}
1853
			$info['resultat'] = true;
1783
	
1854
		}
-
 
1855
		$noms_erreur = null;
1784
	private function testerBasionymeSyntaxe() {
1856
		
Line 1785... Line 1857...
1785
		$info = array('nom' => 'basionyme -> syntaxe',
1857
		$this->traiterResultatTest($info);
1786
			'description' => "Le champ basionyme contient :\n".
1858
	}
1787
								" - une valeur vide,\n".
1859
	
1788
								" - un nombre.",
1860
	/**
1789
			'resultat' => false);
1861
	 * Test #53
1790
		
1862
	 */
1791
		// Réalisation du test
1863
	private function testerSynonymeDouteuxNumNomRetenu() {
1792
		$noms_erreur = array();
1864
		$info = array('nom' => 'synonyme_douteux -> présence num_nom_retenu',
1793
		foreach ($this->noms as &$nom) {
1865
			'description' => "Si le nom est un synonyme douteux, le champs num_nom_retenu doit être vide.",
Line 1794... Line 1866...
1794
			if ($nom['basionyme'] != '') {
1866
			'resultat' => false);
1795
				if (!$this->verifierNombre($nom['basionyme'])) {
1867
		
1796
					$noms_erreur[] = array($nom['num_nom'], $nom['basionyme']);
1868
		// Réalisation du test
1797
				}
1869
		$noms_erreur = array();
1798
			}
1870
		foreach ($this->noms as &$nom) {
1799
		}
1871
			if ($nom['synonyme_douteux'] == 1 && $nom['num_nom_retenu'] != ' ') {
1800
		
1872
				$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_douteux'], $nom['num_nom_retenu']);
1801
		// Analyse des résultats
1873
			}
Line 1802... Line 1874...
1802
		if (count($noms_erreur) > 0) {
1874
		}
1803
			$info['message']['entete'] = array('num_nom', 'basionyme erroné');
1875
		
Line 1804... Line 1876...
1804
			$info['message']['lignes'] = $noms_erreur;
1876
		// Analyse des résultats
1805
		} else {
1877
		if (count($noms_erreur) > 0) {
1806
			$info['resultat'] = true;
1878
			$info['message']['entete'] = array('num_nom', 'synonyme_douteux', 'num_nom_retenu');
1807
		}
1879
			$info['message']['lignes'] = $noms_erreur;
1808
		$noms_erreur = null;
1880
		} else {
1809
		
1881
			$info['resultat'] = true;
1810
		$this->traiterResultatTest($info);
-
 
1811
	}
-
 
1812
	
-
 
1813
	/**
-
 
1814
	 * Test #37
-
 
1815
	 */
-
 
1816
	private function testerGroupeCultivarSyntaxe() {
-
 
1817
		$info = array('nom' => 'cultivar_groupe -> syntaxe',
-
 
1818
			'description' => "Le champ cultivar_groupe doit contenir un nom de groupe de cultivar conforme aux règles ".
1882
		}
1819
				"du code des plantes cultivées, c.-à-d. composer de caractères alphanumériques (A-Z,a-z et 0-9) incluant ".
1883
		$noms_erreur = null;
Line 1820... Line 1884...
1820
				"signes diacritiques et marques de ponctuations.\n".
1884
		$this->traiterResultatTest($info);
1821
				"Il ne doit pas contenir le mot Groupe, l'abbréviation «gp» ou des parenthèses.\n".
1885
	}
1822
				"Il peut se terminer par l'abréviation «gx» pour distinguer les groupes des grex.",
1886
	
1823
			'resultat' => false);
1887
	/**
1824
		
1888
	 * Test #54
1825
		// Réalisation du test
-
 
1826
		$noms_erreur = array();
1889
	 */
1827
		foreach ($this->noms as &$nom) {
1890
	private function testerSynonymeMalAppliqueSyntaxe() {
1828
			if ($nom['cultivar_groupe'] != '') {
1891
		$info = array('nom' => 'synonyme_mal_applique -> syntaxe',
1829
				if (!$this->verifierEpitheteGroupeCultivar($nom['cultivar_groupe'])) {
1892
			'description' => "Le champ synonyme_mal_applique contient soit :\n".
Line 1830... Line 1893...
1830
					$epithete_traite = $this->repererEspace($nom['cultivar_groupe']);
1893
			" - une valeur vide,\n".
1831
					$noms_erreur[] = array($nom['num_nom'], $epithete_traite);
1894
			" - le chiffre 1.",
1832
				}
1895
			'resultat' => false);
1833
			}
1896
		
1834
		}
1897
		// Réalisation du test
1835
		
1898
		$noms_erreur = array();
1836
		// Analyse des résultats
1899
		foreach ($this->noms as &$nom) {
1837
		if (count($noms_erreur) > 0) {
1900
			if ($nom['synonyme_mal_applique'] != '') {
Line 1838... Line 1901...
1838
			$info['message']['entete'] = array('num_nom', 'cultivar_groupe erroné');
1901
				if (!$this->verifierBooleen($nom['synonyme_mal_applique'])) {
1839
			$info['message']['lignes'] = $noms_erreur;
1902
					$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_mal_applique']);
Line 1840... Line 1903...
1840
		} else {
1903
				}
1841
			$info['resultat'] = true;
1904
			}
1842
		}
1905
		}
1843
		$noms_erreur = null;
1906
		
1844
		
1907
		// Analyse des résultats
1845
		$this->traiterResultatTest($info);
1908
		if (count($noms_erreur) > 0) {
-
 
1909
			$info['message']['entete'] = array('num_nom', 'synonyme_mal_applique erroné');
1846
	}
1910
			$info['message']['lignes'] = $noms_erreur;
1847
	
1911
		} else {
Line 1848... Line 1912...
1848
	/**
1912
			$info['resultat'] = true;
1849
	 * Test #38
1913
		}
1850
	 */
1914
		$noms_erreur = null;
1851
	private function testerGroupeCultivarRang() {
1915
		
1852
		$info = array('nom' => "cultivar_groupe -> rang >= {$this->manuel['rang_genre']}",
1916
		$this->traiterResultatTest($info);
1853
			'description' => "Si le champ cultivar_groupe n'est pas vide alors le rang du nom doit être supérieur ou ".
1917
	}
1854
								"égal à {$this->manuel['rang_genre']}.",
1918
	
1855
			'resultat' => false);
1919
	/**
1856
		
1920
	 * Test #55
Line 1857... Line 1921...
1857
		// Réalisation du test
1921
	 */
1858
		$noms_erreur = array();
1922
	private function testerSynonymeOrthographiqueSyntaxe() {
1859
		foreach ($this->noms as &$nom) {
1923
		$info = array('nom' => 'synonyme_orthographique -> syntaxe',
1860
			if ($nom['cultivar_groupe'] != '') {
1924
			'description' => "Le champ synonyme_orthographique contient soit :\n".
1861
				if ($nom['rang'] < $this->manuel['rang_genre']) {
1925
								" - une valeur vide,\n".
1862
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
1926
								" - un nombre.",
1863
				}
1927
			'resultat' => false);
1864
			}
1928
		
Line 1865... Line 1929...
1865
		}
1929
		// Réalisation du test
1866
		
1930
		$noms_erreur = array();
Line 1867... Line 1931...
1867
		// Analyse des résultats
1931
		foreach ($this->noms as $nom) {
1868
		if (count($noms_erreur) > 0) {
1932
			if ($nom['synonyme_orthographique'] != '') {
1869
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
1933
				if (!$this->verifierNombre($nom['synonyme_orthographique'])) {
1870
			$info['message']['lignes'] = $noms_erreur;
1934
					$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_orthographique']);
1871
		} else {
1935
				}
1872
			$info['resultat'] = true;
1936
			}
1873
		}
1937
		}
1874
		$noms_erreur = null;
-
 
1875
		
1938
		
Line 1876... Line 1939...
1876
		$this->traiterResultatTest($info);
1939
		// Analyse des résultats
1877
	}
1940
		if (count($noms_erreur) > 0) {
1878
	
1941
			$info['message']['entete'] = array('num_nom', 'synonyme_orthographique erroné');
1879
	/**
1942
			$info['message']['lignes'] = $noms_erreur;
1880
	 * Test #39
1943
		} else {
1881
	 */
-
 
1882
	private function testerCultivarSyntaxe() {
1944
			$info['resultat'] = true;
1883
		$info = array('nom' => 'cultivar -> syntaxe',
1945
		}
1884
			'description' => "Le champ cultivar_groupe doit contenir :\n".
1946
		$noms_erreur = null;
1885
				" - un nom de cultivar conforme aux règles du Code Internationnal de Nomenclature \n".
1947
		
Line 1886... Line 1948...
1886
				"   des Plantes Cultivées (CINPC), c.-à-d. composer de caractères alphanumériques \n".
1948
		$this->traiterResultatTest($info);
1887
				"   (A-Z,a-z et 0-9) incluant signes diacritiques et marques de ponctuations.\n".
1949
	}
1888
				" - un nom en alphabet latin, ce qui implique une translittération des noms d'alphabet \n".
1950
	
1889
				"   cyrillique, arabe, chinois...\n".
1951
	/**
1890
				" - une lettre majuscule obligatoire pour le premier caractère du premier mot et pour \n".
1952
	 * Test #56
1891
				"   les autres mots importants mais pas pour les mots mineurs.\n".
1953
	 */
1892
				"Ne doit pas contenir :\n".
1954
	private function testerSynonymeOrthographiqueExistence() {
1893
				" - cv., convar. ou de guillemets simples (').\n",
1955
		$info = array('nom' => 'synonyme_orthographique -> existence',
Line 1894... Line 1956...
1894
			'resultat' => false);
1956
			'description' => "Si le champ synonyme_orthographique contient un nombre alors il doit correspondre ".
1895
		
1957
								"à une valeur du champ num_nom.",
Line 1896... Line 1958...
1896
		// Réalisation du test
1958
			'resultat' => false);
1897
		$noms_erreur = array();
1959
		
1898
		foreach ($this->noms as &$nom) {
1960
		// Réalisation du test
1899
			if ($nom['cultivar'] != '') {
1961
		$noms_erreur = array();
1900
				if (!$this->verifierEpitheteCultivar($nom['cultivar'])) {
1962
		foreach ($this->noms as &$nom) {
1901
					$epithete_traite = $this->repererEspace($nom['cultivar']);
1963
			if ($nom['synonyme_orthographique'] != '') {
1902
					$noms_erreur[] = array($nom['num_nom'], $epithete_traite);
1964
				if (!isset($this->noms[$nom['synonyme_orthographique']])) {
-
 
1965
					$noms_erreur[] = array($nom['num_nom'], $nom['synonyme_orthographique']);
1903
				}
1966
				}
Line 1904... Line 1967...
1904
			}
1967
			}
1905
		}
1968
		}
1906
		
1969
		
-
 
1970
		// Analyse des résultats
1907
		// Analyse des résultats
1971
		if (count($noms_erreur) > 0) {
1908
		if (count($noms_erreur) > 0) {
1972
			$info['message']['entete'] = array('num_nom', 'synonyme_orthographique introuvable');
-
 
1973
			$info['message']['lignes'] = $noms_erreur;
1909
			$info['message']['entete'] = array('num_nom', 'cultivar erroné');
1974
		} else {
1910
			$info['message']['lignes'] = $noms_erreur;
1975
			$info['resultat'] = true;
Line 1911... Line 1976...
1911
		} else {
1976
		}
1912
			$info['resultat'] = true;
1977
		$noms_erreur = null;
1913
		}
1978
		
1914
		$noms_erreur = null;
1979
		$this->traiterResultatTest($info);
1915
		
1980
	}
1916
		$this->traiterResultatTest($info);
1981
	
1917
	}
1982
	/**
1918
	
1983
	 * Test #57
Line 1919... Line 1984...
1919
	/**
1984
	 */
1920
	 * Test #40
1985
	private function testerHybrideParent01Syntaxe() {
Line 1921... Line 1986...
1921
	 */
1986
		$info = array('nom' => 'hybride_parent_01 -> syntaxe',
1922
	private function testerCultivarRang() {
1987
			'description' => "Le champ hybride_parent_01 contient soit :\n".
1923
		$info = array('nom' => "cultivar -> rang >= {$this->manuel['rang_genre']}",
1988
								" - une valeur vide,\n".
1924
			'description' => "Si le champ cultivar n'est pas vide alors le rang du nom doit être supérieur ou égal à ". 
1989
								" - un nombre.",
1925
								"{$this->manuel['rang_genre']}.",
1990
			'resultat' => false);
1926
			'resultat' => false);
-
 
1927
		
-
 
1928
		// Réalisation du test
1991
		
1929
		$noms_erreur = array();
-
 
1930
		foreach ($this->noms as &$nom) {
-
 
1931
			if ($nom['cultivar'] != '') {
-
 
1932
				if ($nom['rang'] < $this->manuel['rang_genre']) {
-
 
1933
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
-
 
1934
				}
-
 
1935
			}
-
 
1936
		}
1992
		// Réalisation du test
1937
		
1993
		$noms_erreur = array();
Line 1938... Line 1994...
1938
		// Analyse des résultats
1994
		foreach ($this->noms as &$nom) {
1939
		if (count($noms_erreur) > 0) {
1995
			if ($nom['hybride_parent_01'] != '') {
1940
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
1996
				if (!$this->verifierNombre($nom['hybride_parent_01'])) {
1941
			$info['message']['lignes'] = $noms_erreur;
1997
					$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_01']));
1942
		} else {
1998
				}
1943
			$info['resultat'] = true;
-
 
1944
		}
1999
			}
1945
		$noms_erreur = null;
2000
		}
1946
		
2001
		
1947
		$this->traiterResultatTest($info);
2002
		// Analyse des résultats
Line 1948... Line 2003...
1948
	}
2003
		if (count($noms_erreur) > 0) {
1949
	
2004
			$info['message']['entete'] = array('num_nom', 'hybride_parent_01 erroné');
1950
	/**
2005
			$info['message']['lignes'] = $noms_erreur;
1951
	 * Test #41
2006
		} else {
1952
	 */
2007
			$info['resultat'] = true;
1953
	private function testerNomCommercialSyntaxe() {
2008
		}
1954
		$info = array('nom' => 'nom_commercial -> syntaxe',
2009
		$noms_erreur = null;
1955
			'description' => "Le champ nom_commercial doit contenir un nom commercial conforme aux règles du ".
2010
		
Line 1956... Line 2011...
1956
				"Code Internationnal de Nomenclature des Plantes Cultivées (CINPC) ".
2011
		$this->traiterResultatTest($info);
1957
				"qui se compose de caractères majuscules (A-Z) incluant des signes diacritiques et des espaces.\n",
2012
	}
Line 1958... Line 2013...
1958
			'resultat' => false);
2013
	
1959
		
2014
	/**
1960
		// Réalisation du test
2015
	 * Test #58
1961
		$noms_erreur = array();
2016
	 */
1962
		foreach ($this->noms as &$nom) {
2017
	private function testerHybrideParent01Existence() {
1963
			if ($nom['nom_commercial'] != '') {
2018
		$info = array('nom' => 'hybride_parent_01 -> existence',
1964
				if (!$this->verifierNomCommercial($nom['nom_commercial'])) {
2019
			'description' => "Si le champ hybride_parent_01 contient un nombre alors il doit correspondre à une valeur ".
-
 
2020
								"du champ num_nom.",
-
 
2021
			'resultat' => false);
1965
					$epithete_traite = $this->repererEspace($nom['nom_commercial']);
2022
		
1966
					$noms_erreur[] = array($nom['num_nom'], $epithete_traite);
2023
		// Réalisation du test
Line 1967... Line 2024...
1967
				}
2024
		$noms_erreur = array();
1968
			}
2025
		foreach ($this->noms as &$nom) {
1969
		}
2026
			if ($nom['hybride_parent_01'] != '' && $nom['hybride_parent_01'] != '0') {
1970
		
2027
				if (!isset($this->noms[$nom['hybride_parent_01']])) {
1971
		// Analyse des résultats
2028
					$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_01']));
1972
		if (count($noms_erreur) > 0) {
2029
				}
1973
			$info['message']['entete'] = array('num_nom', 'cultivar erroné');
2030
			}
1974
			$info['message']['lignes'] = $noms_erreur;
2031
		}
1975
		} else {
2032
		
Line 1976... Line 2033...
1976
			$info['resultat'] = true;
2033
		// Analyse des résultats
1977
		}
2034
		if (count($noms_erreur) > 0) {
1978
		$noms_erreur = null;
2035
			$info['message']['entete'] = array('num_nom', 'hybride_parent_01 introuvable');
1979
		
2036
			$info['message']['lignes'] = $noms_erreur;
1980
		$this->traiterResultatTest($info);
2037
		} else {
1981
	}
2038
			$info['resultat'] = true;
1982
	
2039
		}
1983
	/**
2040
		$noms_erreur = null;
Line 1984... Line 2041...
1984
	 * Test #42
2041
		
1985
	 */
2042
		$this->traiterResultatTest($info);
Line 1986... Line 2043...
1986
	private function testerNomCommercialPresenceCultivar() {
2043
	}
1987
		$info = array('nom' => 'nom_commercial -> groupe_cultivar OU cultivar non vide',
2044
	
1988
			'description' => "Si le champ nom_commercial contient un nom commercial alors le champ cultivar OU ".
2045
	/**
1989
				"cultivar_groupe ne doit pas être vide.",
2046
	 * Test #59
1990
			'resultat' => false);
2047
	 */
1991
		
2048
	private function testerHybrideParent02Syntaxe() {
1992
		// Réalisation du test
-
 
1993
		$noms_erreur = array();
-
 
1994
		foreach ($this->noms as &$nom) {
-
 
1995
			if ((isset($nom['nom_commercial']) && $nom['nom_commercial'] != '') && ($nom['cultivar'] == '' && $nom['cultivar_groupe'] == '')) {
2049
		$info = array('nom' => 'hybride_parent_02 -> syntaxe',
1996
				$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci']);
2050
			'description' => "Le champ hybride_parent_02 contient soit :\n".
1997
			}
-
 
1998
		}
-
 
1999
		
-
 
2000
		// Analyse des résultats
-
 
2001
		if (count($noms_erreur) > 0) {
-
 
2002
			$info['message']['entete'] = array('num_nom', 'nom_commercial sans cultivar ou cultivar_groupe');
-
 
2003
			$info['message']['lignes'] = $noms_erreur;
-
 
2004
		} else {
2051
								" - une valeur vide,\n".
2005
			$info['resultat'] = true;
2052
								" - un nombre.",
2006
		}
2053
			'resultat' => false);
Line 2007... Line 2054...
2007
		$noms_erreur = null;
2054
		
2008
		
2055
		// Réalisation du test
2009
		$this->traiterResultatTest($info);
2056
		$noms_erreur = array();
2010
	}
2057
		foreach ($this->noms as &$nom) {
2011
	
2058
			if ($nom['hybride_parent_02'] != '') {
2012
	/**
-
 
2013
	 * Test #43
2059
				if (!$this->verifierNombre($nom['hybride_parent_02'])) {
2014
	 */
2060
					$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_02']));
2015
	private function testerAuteurSyntaxe() {
2061
				}
2016
		$info = array('nom' => 'auteur -> syntaxe',
2062
			}
Line 2017... Line 2063...
2017
			'description' => "Le champ auteur doit :\n".
2063
		}
2018
			" - contenir l'intitulé complet des noms de l'auteur, ou des auteurs, ayant publié à l'origine la combinaison latine courante.\n".
2064
		
2019
    		" - OU débuter par le mot « sensu » et contenir l'intitulé complet des noms de l'auteur, ou des auteurs, ".
2065
		// Analyse des résultats
2020
			"ayant publié un nom dont la description ne correspond pas à celle de l'auteur, ou des auteurs, d'origine.\n".
2066
		if (count($noms_erreur) > 0) {
2021
			" - se composer de caractères alphabétiques (A-Z, a-z), incluant les signes diacritiques, le symbole point (.), les paires de parenthèses ( () ), les apostrophes, l'esperluette (&) et l'espace ( ).\n".
2067
			$info['message']['entete'] = array('num_nom', 'hybride_parent_02 erroné');
2022
			" - contenir, si nécessaire, des abréviations de noms d'auteurs respectant les standards.\n".
2068
			$info['message']['lignes'] = $noms_erreur;
2023
			" - contenir une translittération des noms d'alphabet cyrillique, arabe, chinois... en alphabet latin.\n".
2069
		} else {
2024
			" - inclure entre parenthèses l'intitulé des noms de l'auteur ou des auteurs ayant publié le basionyme.\n".
2070
			$info['resultat'] = true;
Line 2025... Line 2071...
2025
			" - toujours utiliser l'esperluette (&) à la place du mot « et » pour séparer les noms d'auteurs.\n".
2071
		}
2026
			" - conformément à la recommandation 46C.2 du CINB, si une un citation comprend plus de deux auteurs, ".
2072
		$noms_erreur = null;
Line 2027... Line 2073...
2027
			"elle devrait être limitée au nom du premier, suivi de « & al.».\n",
2073
		
2028
			'resultat' => false);
2074
		$this->traiterResultatTest($info);
2029
		
2075
	}
2030
		// Réalisation du test
2076
	
2031
		$noms_erreur = array();
2077
	/**
2032
		foreach ($this->noms as &$nom) {
2078
	 * Test #60
-
 
2079
	 */
2033
			if ($nom['auteur'] != '') {
2080
	private function testerHybrideParent02Existence() {
-
 
2081
		$info = array('nom' => 'hybride_parent_02 -> existence',
2034
				if (!$this->verifierAuteur($nom['auteur'])) {
2082
			'description' => "Si le champ hybride_parent_02 contient un nombre alors il doit correspondre à une valeur ".
2035
					$intitule_traite = $this->repererEspace($nom['auteur']);
2083
								"du champ num_nom.",
Line 2036... Line 2084...
2036
					$noms_erreur[] = array($nom['num_nom'], $intitule_traite);
2084
			'resultat' => false);
2037
				}
2085
		
2038
			}
2086
		// Réalisation du test
2039
		}
2087
		$noms_erreur = array();
2040
		
2088
		foreach ($this->noms as &$nom) {
2041
		// Analyse des résultats
2089
			if ($nom['hybride_parent_02'] != '') {
2042
		if (count($noms_erreur) > 0) {
2090
				if (!isset($this->noms[$nom['hybride_parent_02']]) && $nom['hybride_parent_02'] != '0') {
2043
			$info['message']['entete'] = array('num_nom', 'auteur erroné');
2091
					$noms_erreur[] = array($nom['num_nom'], $this->repererEspace($nom['hybride_parent_02']));
2044
			$info['message']['lignes'] = $noms_erreur;
2092
				}
Line 2045... Line 2093...
2045
		} else {
2093
			}
2046
			$info['resultat'] = true;
2094
		}
2047
		}
2095
		
2048
		$noms_erreur = null;
2096
		// Analyse des résultats
2049
		
2097
		if (count($noms_erreur) > 0) {
2050
		$this->traiterResultatTest($info);
2098
			$info['message']['entete'] = array('num_nom', 'hybride_parent_02 introuvable');
2051
	}
2099
			$info['message']['lignes'] = $noms_erreur;
2052
	
2100
		} else {
Line 2053... Line 2101...
2053
	/**
2101
			$info['resultat'] = true;
2054
	 * Test #44
2102
		}
Line 2055... Line 2103...
2055
	 */
2103
		$noms_erreur = null;
2056
	private function testerAnneeSyntaxe() {
2104
		
2057
		$info = array('nom' => 'annee -> syntaxe',
2105
		$this->traiterResultatTest($info);
2058
			'description' => "Le champ annee doit :\n".
2106
	}
2059
			" - contenir un nombre de 4 chiffres,\n".
2107
	
2060
			" - être supérieur ou égal à 1753.",
2108
	/**
-
 
2109
	 * Test #61
-
 
2110
	 */
-
 
2111
	private function testerPresenceSyntaxe() {
2061
			'resultat' => false);
2112
		$info = array('nom' => 'presence -> syntaxe',
2062
		
2113
			'description' => "Le champ presence contient soit :\n".
Line 2063... Line -...
2063
		// Réalisation du test
-
 
2064
		$noms_erreur = array();
-
 
2065
		foreach ($this->noms as &$nom) {
2114
								" - le symbole tiret «-» précédant une autre information non référencée...\n".
2066
			if ($nom['annee'] != '') {
2115
								" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
2067
				if (!$this->verifierAnnee($nom['annee'])) {
2116
								" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
2068
					$noms_erreur[] = array($nom['num_nom'], $nom['annee']);
2117
								"un code de présence spécifique au référentiel.",
2069
				}
2118
			'resultat' => false);
2070
			}
2119
		
2071
		}
2120
		// Réalisation du test
2072
		
2121
		$noms_erreur = array();
2073
		// Analyse des résultats
2122
		foreach ($this->noms as &$nom) {
2074
		if (count($noms_erreur) > 0) {
-
 
Line 2075... Line 2123...
2075
			$info['message']['entete'] = array('num_nom', 'annee erroné');
2123
			if ($nom['presence'] != '') {
2076
			$info['message']['lignes'] = $noms_erreur;
2124
				if (!$this->verifierPresence($nom['presence'])) {
2077
		} else {
2125
					$noms_erreur[] = array($nom['num_nom'], $nom['presence']);
2078
			$info['resultat'] = true;
2126
				}
2079
		}
2127
			}
2080
		$noms_erreur = null;
2128
		}
2081
		
2129
		
2082
		$this->traiterResultatTest($info);
2130
		// Analyse des résultats
Line 2204... Line 2252...
2204
			" - une valeur null.\n".
2252
			" - une valeur null.\n".
2205
			" - le chiffre 0.\n".
2253
			" - le chiffre 0.\n".
2206
			" - le chiffre 1",
2254
			" - le chiffre 1",
2207
			'resultat' => false);
2255
			'resultat' => false);
Line 2208... Line 2256...
2208
		
2256
		
2209
		// Réalisation du test
2257
		// Réalisation du testCe n'est pas programmé.
2210
		$noms_erreur = array();
2258
		$noms_erreur = array();
2211
		foreach ($this->noms as &$nom) {
2259
		foreach ($this->noms as &$nom) {
2212
			if ($nom['exclure_taxref'] != '' && $nom['exclure_taxref'] != null) {
2260
			if ($nom['exclure_taxref'] != '' && $nom['exclure_taxref'] != null) {
2213
				if (!$this->verifierBooleen($nom['exclure_taxref'])) {
2261
				if (!$this->verifierBooleen($nom['exclure_taxref'])) {