Subversion Repositories Applications.referentiel

Rev

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

Rev 146 Rev 149
Line 681... Line 681...
681
	}
681
	}
Line 682... Line 682...
682
	
682
	
683
	private function testerHomonymieExistence() {
683
	private function testerHomonymieExistence() {
684
		$info = array('nom' => 'homonyme -> existence',
684
		$info = array('nom' => 'homonyme -> existence',
685
			'description' => "Si le champ homonyme contient «1» alors plusieurs noms doivent posséder la même valeur ".
685
			'description' => "Si le champ homonyme contient «1» alors plusieurs noms doivent posséder la même valeur ".
686
			"dans le champ nom_complet.",
686
			"dans le champ nom_sci.",
Line 687... Line 687...
687
			'resultat' => false);
687
			'resultat' => false);
Line 688... Line 688...
688
		
688
		
689
		$noms_homonymie = $this->classerNomsParNomComplet();
689
		$noms_homonymie = $this->classerNomsParNomComplet();
690
		
690
		
691
		// Réalisation du test
691
		// Réalisation du test
692
		$noms_erreur = array();
692
		$noms_erreur = array();
693
		foreach ($this->noms as &$nom) {
693
		foreach ($this->noms as &$nom) {
694
			if ($nom['homonyme'] != '0' && $nom['homonyme'] != '') {
694
			if ($nom['homonyme'] != '0' && $nom['homonyme'] != '') {
695
				if ($noms_homonymie[$nom['nom_complet']] <= 1) {
695
				if ($noms_homonymie[$nom['nom_sci']] <= 1) {
696
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet']);
696
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci']);
697
				}
697
				}
Line 885... Line 885...
885
		
885
		
886
		// Réalisation du test
886
		// Réalisation du test
887
		$noms_erreur = array();
887
		$noms_erreur = array();
888
		foreach ($this->noms as &$nom) {
888
		foreach ($this->noms as &$nom) {
889
			if ((isset($nom['nom_commercial']) && $nom['nom_commercial'] != '') && ($nom['cultivar'] == '' && $nom['cultivar_groupe'] == '')) {
889
			if ((isset($nom['nom_commercial']) && $nom['nom_commercial'] != '') && ($nom['cultivar'] == '' && $nom['cultivar_groupe'] == '')) {
890
				$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet']);
890
				$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci']);
891
			}
891
			}
Line 892... Line 892...
892
		}
892
		}
893
		
893
		
Line 948... Line 948...
948
		// Réalisation du test
948
		// Réalisation du test
949
		$noms_erreur = array();
949
		$noms_erreur = array();
950
		foreach ($this->noms as &$nom) {
950
		foreach ($this->noms as &$nom) {
951
			if ($nom['cultivar'] != '') {
951
			if ($nom['cultivar'] != '') {
952
				if ($nom['rang'] < $this->manuel['rang_genre']) {
952
				if ($nom['rang'] < $this->manuel['rang_genre']) {
953
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
953
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
954
				}
954
				}
955
			}
955
			}
956
		}
956
		}
Line 957... Line 957...
957
		
957
		
958
		// Analyse des résultats
958
		// Analyse des résultats
959
		if (count($noms_erreur) > 0) {
959
		if (count($noms_erreur) > 0) {
960
			$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
960
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
961
			$info['message']['lignes'] = $noms_erreur;
961
			$info['message']['lignes'] = $noms_erreur;
962
		} else {
962
		} else {
963
			$info['resultat'] = true;
963
			$info['resultat'] = true;
964
		}
964
		}
Line 1007... Line 1007...
1007
		// Réalisation du test
1007
		// Réalisation du test
1008
		$noms_erreur = array();
1008
		$noms_erreur = array();
1009
		foreach ($this->noms as &$nom) {
1009
		foreach ($this->noms as &$nom) {
1010
			if ($nom['cultivar_groupe'] != '') {
1010
			if ($nom['cultivar_groupe'] != '') {
1011
				if ($nom['rang'] < $this->manuel['rang_genre']) {
1011
				if ($nom['rang'] < $this->manuel['rang_genre']) {
1012
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
1012
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
1013
				}
1013
				}
1014
			}
1014
			}
1015
		}
1015
		}
Line 1016... Line 1016...
1016
		
1016
		
1017
		// Analyse des résultats
1017
		// Analyse des résultats
1018
		if (count($noms_erreur) > 0) {
1018
		if (count($noms_erreur) > 0) {
1019
			$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
1019
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
1020
			$info['message']['lignes'] = $noms_erreur;
1020
			$info['message']['lignes'] = $noms_erreur;
1021
		} else {
1021
		} else {
1022
			$info['resultat'] = true;
1022
			$info['resultat'] = true;
1023
		}
1023
		}
Line 1099... Line 1099...
1099
		// Réalisation du test
1099
		// Réalisation du test
1100
		$noms_erreur = array();
1100
		$noms_erreur = array();
1101
		foreach ($this->noms as &$nom) {
1101
		foreach ($this->noms as &$nom) {
1102
			if ($nom['epithete_infra_sp'] != '') {
1102
			if ($nom['epithete_infra_sp'] != '') {
1103
				if ($nom['rang'] < $this->manuel['rang_sp']) {
1103
				if ($nom['rang'] < $this->manuel['rang_sp']) {
1104
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
1104
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
1105
				}
1105
				}
1106
			}
1106
			}
1107
		}
1107
		}
Line 1108... Line 1108...
1108
		
1108
		
1109
		// Analyse des résultats
1109
		// Analyse des résultats
1110
		if (count($noms_erreur) > 0) {
1110
		if (count($noms_erreur) > 0) {
1111
			$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
1111
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
1112
			$info['message']['lignes'] = $noms_erreur;
1112
			$info['message']['lignes'] = $noms_erreur;
1113
		} else {
1113
		} else {
1114
			$info['resultat'] = true;
1114
			$info['resultat'] = true;
1115
		}
1115
		}
Line 1549... Line 1549...
1549
		
1549
		
1550
		$this->traiterResultatTest($info);
1550
		$this->traiterResultatTest($info);
Line 1551... Line 1551...
1551
	}
1551
	}
1552
	
1552
	
1553
	private function testerNomCompletSupraGenerique() {
1553
	private function testerNomCompletSupraGenerique() {
1554
		$info = array('nom' => 'nom_complet -> noms supra-génériques',
1554
		$info = array('nom' => 'nom_sci -> noms supra-génériques',
1555
			'description' => "Si le rang est < à {$this->manuel['rang_genre']} le nom_complet doit correspondre à la valeur du champ nom_supra_generique. ".
1555
			'description' => "Si le rang est < à {$this->manuel['rang_genre']} le nom_sci doit correspondre à la valeur du champ nom_supra_generique. ".
Line 1556... Line 1556...
1556
				"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1556
				"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1557
			'resultat' => false);
1557
			'resultat' => false);
1558
		
1558
		
1559
		// Réalisation du test
1559
		// Réalisation du test
1560
		$noms_erreur = array();
1560
		$noms_erreur = array();
1561
		foreach ($this->noms as &$nom) {
1561
		foreach ($this->noms as &$nom) {
1562
			if ($nom['rang'] < $this->manuel['rang_genre']) {
1562
			if ($nom['rang'] < $this->manuel['rang_genre']) {
1563
				$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
1563
				$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
1564
				$nom_complet_ideal = $this->formaterStyleNomGenre($nom['nom_supra_generique']);
1564
				$nom_sci_ideal = $this->formaterStyleNomGenre($nom['nom_supra_generique']);
1565
				$nom_complet_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
1565
				$nom_sci_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
1566
				if ($nom['nom_complet'] != $nom_complet_ideal) {
1566
				if ($nom['nom_sci'] != $nom_sci_ideal) {
1567
					$nom_complet_traite = $this->repererEspace($nom['nom_complet']);
1567
					$nom_sci_traite = $this->repererEspace($nom['nom_sci']);
1568
					$noms_erreur[] = array($nom['num_nom'], $nom_complet_traite, $nom_complet_ideal);
1568
					$noms_erreur[] = array($nom['num_nom'], $nom_sci_traite, $nom_sci_ideal);
Line 1569... Line 1569...
1569
				}
1569
				}
1570
			}
1570
			}
1571
		}
1571
		}
1572
		
1572
		
1573
		// Analyse des résultats
1573
		// Analyse des résultats
1574
		if (count($noms_erreur) > 0) {
1574
		if (count($noms_erreur) > 0) {
1575
			$info['message']['entete'] = array('num_nom', 'nom_complet', 'nom_complet corrigé');
1575
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'nom_sci corrigé');
Line 1576... Line 1576...
1576
			$info['message']['lignes'] = $noms_erreur;
1576
			$info['message']['lignes'] = $noms_erreur;
1577
		} else {
1577
		} else {
Line 1578... Line 1578...
1578
			$info['resultat'] = true;
1578
			$info['resultat'] = true;
1579
		}
1579
		}
1580
		
1580
		
1581
		$this->traiterResultatTest($info);
1581
		$this->traiterResultatTest($info);
1582
	}
1582
	}
Line 1583... Line 1583...
1583
	
1583
	
1584
	private function testerNomCompletGenre() {
1584
	private function testerNomCompletGenre() {
1585
		$info = array('nom' => 'nom_complet -> noms de genres',
1585
		$info = array('nom' => 'nom_sci -> noms de genres',
1586
			'description' => "Si le rang est = à {$this->manuel['rang_genre']} le nom_complet doit correspondre à la valeur du champ genre. ".
1586
			'description' => "Si le rang est = à {$this->manuel['rang_genre']} le nom_sci doit correspondre à la valeur du champ genre. ".
1587
				"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1587
				"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1588
			'resultat' => false);
1588
			'resultat' => false);
1589
		
1589
		
1590
		// Réalisation du test
1590
		// Réalisation du test
1591
		$noms_erreur = array();
1591
		$noms_erreur = array();
1592
		foreach ($this->noms as &$nom) {
1592
		foreach ($this->noms as &$nom) {
1593
			if ($nom['rang'] == $this->manuel['rang_genre']) {
1593
			if ($nom['rang'] == $this->manuel['rang_genre']) {
1594
				$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
1594
				$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
1595
				$nom_complet_ideal = $this->formaterStyleNomGenre($nom['genre']);
1595
				$nom_sci_ideal = $this->formaterStyleNomGenre($nom['genre']);
Line 1596... Line 1596...
1596
				$nom_complet_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
1596
				$nom_sci_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
1597
				if ($nom['nom_complet'] != $nom_complet_ideal) {
1597
				if ($nom['nom_sci'] != $nom_sci_ideal) {
1598
					$nom_complet_traite = $this->repererEspace($nom['nom_complet']);
1598
					$nom_sci_traite = $this->repererEspace($nom['nom_sci']);
1599
					$noms_erreur[] = array($nom['num_nom'], $nom_complet_traite, $nom_complet_ideal);
1599
					$noms_erreur[] = array($nom['num_nom'], $nom_sci_traite, $nom_sci_ideal);
1600
				}
1600
				}
1601
			}
1601
			}
1602
		}
1602
		}
Line 1603... Line 1603...
1603
		
1603
		
1604
		// Analyse des résultats
1604
		// Analyse des résultats
Line 1605... Line 1605...
1605
		if (count($noms_erreur) > 0) {
1605
		if (count($noms_erreur) > 0) {
1606
			$info['message']['entete'] = array('num_nom', 'nom_complet', 'nom_complet corrigé');
1606
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'nom_sci corrigé');
1607
			$info['message']['lignes'] = $noms_erreur;
1607
			$info['message']['lignes'] = $noms_erreur;
1608
		} else {
1608
		} else {
1609
			$info['resultat'] = true;
1609
			$info['resultat'] = true;
1610
		}
1610
		}
1611
		
1611
		
Line 1612... Line 1612...
1612
		$this->traiterResultatTest($info);
1612
		$this->traiterResultatTest($info);
1613
	}
1613
	}
1614
	
1614
	
1615
	private function testerNomCompletInfraGenre() {
1615
	private function testerNomCompletInfraGenre() {
1616
		$info = array('nom' => 'nom_complet -> noms infra-génériques',
1616
		$info = array('nom' => 'nom_sci -> noms infra-génériques',
1617
			'description' => "Si le rang est > à {$this->manuel['rang_genre']} et < à {$this->manuel['rang_sp']} le nom_complet doit correspondre à une des formules suivantes : \n".
1617
			'description' => "Si le rang est > à {$this->manuel['rang_genre']} et < à {$this->manuel['rang_sp']} le nom_sci doit correspondre à une des formules suivantes : \n".
1618
			" genre + ' ' + type_epithete + ' ' + epithete_infra_generique \n".
1618
			" genre + ' ' + type_epithete + ' ' + epithete_infra_generique \n".
1619
			" genre + ' ' + epithete_infra_generique + ' ' + type_epithete=agg. \n".
1619
			" genre + ' ' + epithete_infra_generique + ' ' + type_epithete=agg. \n".
1620
			"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1620
			"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1621
			'resultat' => false);
1621
			'resultat' => false);
1622
		
1622
		
1623
		// Réalisation du test
1623
		// Réalisation du test
1624
		$noms_erreur = array();
1624
		$noms_erreur = array();
1625
		foreach ($this->noms as &$nom) {
1625
		foreach ($this->noms as &$nom) {
1626
			if ($nom['rang'] > $this->manuel['rang_genre'] && $nom['rang'] < $this->manuel['rang_sp']) {
1626
			if ($nom['rang'] > $this->manuel['rang_genre'] && $nom['rang'] < $this->manuel['rang_sp']) {
1627
				$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
1627
				$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
1628
				$nom_complet_ideal = '';
1628
				$nom_sci_ideal = '';
1629
				if ($nom['type_epithete'] == 'agg.') {
1629
				if ($nom['type_epithete'] == 'agg.') {
1630
					$nom_complet_ideal = $this->formaterStyleNomGenre($nom['genre']);
1630
					$nom_sci_ideal = $this->formaterStyleNomGenre($nom['genre']);
1631
					$nom_complet_ideal .= ' '.$this->formaterStyleNomGenre($nom['epithete_infra_generique']);
1631
					$nom_sci_ideal .= ' '.$this->formaterStyleNomGenre($nom['epithete_infra_generique']);
1632
					$nom_complet_ideal .= ' '.$nom['type_epithete'];
1632
					$nom_sci_ideal .= ' '.$nom['type_epithete'];
1633
				} else {
1633
				} else {
Line 1634... Line 1634...
1634
					$nom_complet_ideal = $this->formaterStyleNomGenre($nom['genre']);
1634
					$nom_sci_ideal = $this->formaterStyleNomGenre($nom['genre']);
1635
					$nom_complet_ideal .= ' '.$nom['type_epithete'];
1635
					$nom_sci_ideal .= ' '.$nom['type_epithete'];
1636
					$nom_complet_ideal .= ' '.$this->formaterStyleNomGenre($nom['epithete_infra_generique']);
1636
					$nom_sci_ideal .= ' '.$this->formaterStyleNomGenre($nom['epithete_infra_generique']);
1637
				}
1637
				}
1638
				$nom_complet_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
1638
				$nom_sci_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
1639
				if ($nom['nom_complet'] != $nom_complet_ideal) {
1639
				if ($nom['nom_sci'] != $nom_sci_ideal) {
1640
					$nom_complet_traite = $this->repererEspace($nom['nom_complet']);
1640
					$nom_sci_traite = $this->repererEspace($nom['nom_sci']);
1641
					$noms_erreur[] = array($nom['num_nom'], $nom_complet_traite, $nom_complet_ideal);
1641
					$noms_erreur[] = array($nom['num_nom'], $nom_sci_traite, $nom_sci_ideal);
Line 1642... Line 1642...
1642
				}
1642
				}
1643
			}
1643
			}
Line 1644... Line 1644...
1644
		}
1644
		}
1645
		
1645
		
1646
		// Analyse des résultats
1646
		// Analyse des résultats
1647
		if (count($noms_erreur) > 0) {
1647
		if (count($noms_erreur) > 0) {
1648
			$info['message']['entete'] = array('num_nom', 'nom_complet', 'nom_complet corrigé');
1648
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'nom_sci corrigé');
1649
			$info['message']['lignes'] = $noms_erreur;
1649
			$info['message']['lignes'] = $noms_erreur;
Line 1650... Line 1650...
1650
		} else {
1650
		} else {
1651
			$info['resultat'] = true;
1651
			$info['resultat'] = true;
1652
		}
1652
		}
1653
		$noms_erreur = null;
1653
		$noms_erreur = null;
1654
		
1654
		
1655
		$this->traiterResultatTest($info);
1655
		$this->traiterResultatTest($info);
1656
	}
1656
	}
1657
	
1657
	
1658
	private function testerNomCompletEspece() {
1658
	private function testerNomCompletEspece() {
1659
		$info = array('nom' => "nom_complet -> noms d'espèce",
1659
		$info = array('nom' => "nom_sci -> noms d'espèce",
1660
			'description' => "Si le rang est = à {$this->manuel['rang_sp']} le nom_complet doit correspondre à la formule : \n".
1660
			'description' => "Si le rang est = à {$this->manuel['rang_sp']} le nom_sci doit correspondre à la formule : \n".
1661
				" genre + ' ' + epithete_sp \n".
1661
				" genre + ' ' + epithete_sp \n".
1662
				"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1662
				"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1663
			'resultat' => false);
1663
			'resultat' => false);
Line 1664... Line 1664...
1664
		
1664
		
1665
		// Réalisation du test
1665
		// Réalisation du test
1666
		$noms_erreur = array();
1666
		$noms_erreur = array();
1667
		foreach ($this->noms as &$nom) {
1667
		foreach ($this->noms as &$nom) {
1668
			if ($nom['rang'] == $this->manuel['rang_sp']) {
1668
			if ($nom['rang'] == $this->manuel['rang_sp']) {
1669
				$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
1669
				$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
1670
				$nom_complet_ideal = $this->formaterStyleNomGenre($nom['genre']);
1670
				$nom_sci_ideal = $this->formaterStyleNomGenre($nom['genre']);
1671
				$nom_complet_ideal .= ' '.strtolower($nom['epithete_sp']);
1671
				$nom_sci_ideal .= ' '.strtolower($nom['epithete_sp']);
Line 1672... Line 1672...
1672
				$nom_complet_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
1672
				$nom_sci_ideal .= ($suffixe_plte_cultivee != '' ? ' '.$suffixe_plte_cultivee : '');
1673
				if ($nom['nom_complet'] != $nom_complet_ideal) {
1673
				if ($nom['nom_sci'] != $nom_sci_ideal) {
Line 1674... Line 1674...
1674
					$nom_complet_traite = $this->repererEspace($nom['nom_complet']);
1674
					$nom_sci_traite = $this->repererEspace($nom['nom_sci']);
1675
					$noms_erreur[] = array($nom['num_nom'], $nom_complet_traite, $nom_complet_ideal);
1675
					$noms_erreur[] = array($nom['num_nom'], $nom_sci_traite, $nom_sci_ideal);
1676
				}
1676
				}
1677
			}
1677
			}
1678
		}
1678
		}
1679
		
1679
		
Line 1680... Line 1680...
1680
		// Analyse des résultats
1680
		// Analyse des résultats
1681
		if (count($noms_erreur) > 0) {
1681
		if (count($noms_erreur) > 0) {
1682
			$info['message']['entete'] = array('num_nom', 'nom_complet', 'nom_complet corrigé');
1682
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'nom_sci corrigé');
1683
			$info['message']['lignes'] = $noms_erreur;
1683
			$info['message']['lignes'] = $noms_erreur;
1684
		} else {
1684
		} else {
1685
			$info['resultat'] = true;
1685
			$info['resultat'] = true;
1686
		}
1686
		}
1687
		$noms_erreur = null;
1687
		$noms_erreur = null;
1688
		
1688
		
1689
		$this->traiterResultatTest($info);
1689
		$this->traiterResultatTest($info);
1690
	}
1690
	}
1691
	
1691
	
1692
	private function testerNomCompletInfraSpecifique() {
1692
	private function testerNomCompletInfraSpecifique() {
1693
		$info = array('nom' => 'nom_complet -> noms infra-spécifiques',
1693
		$info = array('nom' => 'nom_sci -> noms infra-spécifiques',
1694
			'description' => "Si le rang est > à {$this->manuel['rang_sp']} le nom_complet doit correspondre à la formule : \n".
1694
			'description' => "Si le rang est > à {$this->manuel['rang_sp']} le nom_sci doit correspondre à la formule : \n".
1695
				" genre + ' ' + epithete_sp + ' ' + type_epithete + ' ' + epithete_infra_generique\n".	
1695
				" genre + ' ' + epithete_sp + ' ' + type_epithete + ' ' + epithete_infra_generique\n".	
Line 1696... Line 1696...
1696
				"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1696
				"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1697
			'resultat' => false);
1697
			'resultat' => false);
1698
		
1698
		
1699
		// Réalisation du test
1699
		// Réalisation du test
1700
		$noms_erreur = array();
1700
		$noms_erreur = array();
1701
		foreach ($this->noms as &$nom) {
1701
		foreach ($this->noms as &$nom) {
1702
			if ($nom['rang'] > $this->manuel['rang_sp']) {
1702
			if ($nom['rang'] > $this->manuel['rang_sp']) {
1703
				$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
1703
				$suffixe_plte_cultivee = $this->construireSuffixeNomPltCultivee($nom);
Line 1790... Line 1790...
1790
		// Réalisation du test
1790
		// Réalisation du test
1791
		$noms_erreur = array();
1791
		$noms_erreur = array();
1792
		foreach ($this->noms as &$nom) {
1792
		foreach ($this->noms as &$nom) {
1793
			if ($nom['nom_supra_generique'] != '') {
1793
			if ($nom['nom_supra_generique'] != '') {
1794
				if ($nom['rang'] >= $this->manuel['rang_genre']) {
1794
				if ($nom['rang'] >= $this->manuel['rang_genre']) {
1795
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
1795
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
1796
				}
1796
				}
1797
			}
1797
			}
1798
		}
1798
		}
Line 1799... Line 1799...
1799
		
1799
		
1800
		// Analyse des résultats
1800
		// Analyse des résultats
1801
		if (count($noms_erreur) > 0) {
1801
		if (count($noms_erreur) > 0) {
1802
			$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
1802
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
1803
			$info['message']['lignes'] = $noms_erreur;
1803
			$info['message']['lignes'] = $noms_erreur;
1804
		} else {
1804
		} else {
1805
			$info['resultat'] = true;
1805
			$info['resultat'] = true;
1806
		}
1806
		}
Line 1882... Line 1882...
1882
		// Réalisation du test
1882
		// Réalisation du test
1883
		$noms_erreur = array();
1883
		$noms_erreur = array();
1884
		foreach ($this->noms as &$nom) {
1884
		foreach ($this->noms as &$nom) {
1885
			if ($nom['genre'] != '') {
1885
			if ($nom['genre'] != '') {
1886
				if ($nom['rang'] < $this->manuel['rang_genre']) {
1886
				if ($nom['rang'] < $this->manuel['rang_genre']) {
1887
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
1887
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
1888
				}
1888
				}
1889
			}
1889
			}
1890
		}
1890
		}
Line 1891... Line 1891...
1891
		
1891
		
1892
		// Analyse des résultats
1892
		// Analyse des résultats
1893
		if (count($noms_erreur) > 0) {
1893
		if (count($noms_erreur) > 0) {
1894
			$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
1894
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
1895
			$info['message']['lignes'] = $noms_erreur;
1895
			$info['message']['lignes'] = $noms_erreur;
1896
		} else {
1896
		} else {
1897
			$info['resultat'] = true;
1897
			$info['resultat'] = true;
1898
		}
1898
		}
Line 1939... Line 1939...
1939
		// Réalisation du test
1939
		// Réalisation du test
1940
		$noms_erreur = array();
1940
		$noms_erreur = array();
1941
		foreach ($this->noms as &$nom) {
1941
		foreach ($this->noms as &$nom) {
1942
			if ($nom['epithete_infra_generique'] != '') {
1942
			if ($nom['epithete_infra_generique'] != '') {
1943
				if ($nom['rang'] <= $this->manuel['rang_genre'] || $nom['rang'] >= $this->manuel['rang_sp']) {
1943
				if ($nom['rang'] <= $this->manuel['rang_genre'] || $nom['rang'] >= $this->manuel['rang_sp']) {
1944
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
1944
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
1945
				}
1945
				}
1946
			}
1946
			}
1947
		}
1947
		}
Line 1948... Line 1948...
1948
		
1948
		
1949
		// Analyse des résultats
1949
		// Analyse des résultats
1950
		if (count($noms_erreur) > 0) {
1950
		if (count($noms_erreur) > 0) {
1951
			$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
1951
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
1952
			$info['message']['lignes'] = $noms_erreur;
1952
			$info['message']['lignes'] = $noms_erreur;
1953
		} else {
1953
		} else {
1954
			$info['resultat'] = true;
1954
			$info['resultat'] = true;
1955
		}
1955
		}
Line 2060... Line 2060...
2060
		// Réalisation du test
2060
		// Réalisation du test
2061
		$noms_erreur = array();
2061
		$noms_erreur = array();
2062
		foreach ($this->noms as &$nom) {
2062
		foreach ($this->noms as &$nom) {
2063
			if ($nom['epithete_sp'] != '') {
2063
			if ($nom['epithete_sp'] != '') {
2064
				if ($nom['rang'] < $this->manuel['rang_sp']) {
2064
				if ($nom['rang'] < $this->manuel['rang_sp']) {
2065
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_complet'], $nom['rang']);
2065
					$noms_erreur[] = array($nom['num_nom'], $nom['nom_sci'], $nom['rang']);
2066
				}
2066
				}
2067
			}
2067
			}
2068
		}
2068
		}
Line 2069... Line 2069...
2069
		
2069
		
2070
		// Analyse des résultats
2070
		// Analyse des résultats
2071
		if (count($noms_erreur) > 0) {
2071
		if (count($noms_erreur) > 0) {
2072
			$info['message']['entete'] = array('num_nom', 'nom_complet', 'rang erroné');
2072
			$info['message']['entete'] = array('num_nom', 'nom_sci', 'rang erroné');
2073
			$info['message']['lignes'] = $noms_erreur;
2073
			$info['message']['lignes'] = $noms_erreur;
2074
		} else {
2074
		} else {
2075
			$info['resultat'] = true;
2075
			$info['resultat'] = true;
2076
		}
2076
		}
Line 2332... Line 2332...
2332
			$genre_fmt = ucfirst(strtolower($genre));
2332
			$genre_fmt = ucfirst(strtolower($genre));
2333
		}
2333
		}
2334
		return $genre_fmt;
2334
		return $genre_fmt;
2335
	}
2335
	}
Line 2336... Line 2336...
2336
	
2336
	
2337
	private function repererEspace($nom_complet) {
2337
	private function repererEspace($nom_sci) {
2338
		$nom_complet = str_replace(' ', '<span class="espace">&nbsp;</span>', $nom_complet);
2338
		$nom_sci = str_replace(' ', '<span class="espace">&nbsp;</span>', $nom_sci);
2339
		return $nom_complet;
2339
		return $nom_sci;
Line 2340... Line 2340...
2340
	}
2340
	}
2341
	
2341
	
2342
	private function construireSuffixeNomPltCultivee(&$nom) {
2342
	private function construireSuffixeNomPltCultivee(&$nom) {
Line 2377... Line 2377...
2377
	}
2377
	}
Line 2378... Line 2378...
2378
	
2378
	
2379
	private function classerNomsParNomComplet() {
2379
	private function classerNomsParNomComplet() {
2380
		$noms_classes = array();
2380
		$noms_classes = array();
2381
		foreach ($this->noms as &$nom) {
2381
		foreach ($this->noms as &$nom) {
2382
			if (!isset($noms_classes[$nom['nom_complet']])) {
2382
			if (!isset($noms_classes[$nom['nom_sci']])) {
2383
				$noms_classes[$nom['nom_complet']] = 1;
2383
				$noms_classes[$nom['nom_sci']] = 1;
2384
			} else {
2384
			} else {
2385
				$noms_classes[$nom['nom_complet']]++;
2385
				$noms_classes[$nom['nom_sci']]++;
2386
			}
2386
			}
2387
		}
2387
		}
2388
		return $noms_classes;
2388
		return $noms_classes;