Subversion Repositories Applications.referentiel

Rev

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

Rev 295 Rev 300
Line 13... Line 13...
13
 * @version		SVN: $Id$
13
 * @version		SVN: $Id$
14
 */
14
 */
15
class Arbre extends AppliControleur {
15
class Arbre extends AppliControleur {
Line 16... Line 16...
16
	
16
	
-
 
17
	private $referentiel = null;
Line 17... Line 18...
17
	private $referentiel = null;
18
	private $rechercheDao = null;
18
	
19
	
Line 19... Line 20...
19
	public function __construct()  {
20
	public function __construct()  {
20
		parent::__construct();
21
		parent::__construct();
21
		
22
		
22
		// Récupération de paramêtres
23
		// Récupération de paramètres
23
		if (isset($_GET['ref'])) { // code du projet courrant
24
		if (isset($_GET['ref'])) { // code du projet courant
Line 24... Line 25...
24
			$this->referentiel = strtolower($_GET['ref']);
25
			$this->referentiel = strtolower($_GET['ref']);
Line 32... Line 33...
32
	 */
33
	 */
33
	public function executerActionParDefaut() {
34
	public function executerActionParDefaut() {
34
		$this->definirCommeModulePrincipal(get_class($this));
35
		$this->definirCommeModulePrincipal(get_class($this));
35
		$this->construireMenu($this->referentiel);
36
		$this->construireMenu($this->referentiel);
36
		$this->construireFilAriane($this->referentiel);
37
		$this->construireFilAriane($this->referentiel);
37
		$this->executerActionReferentiel('Arbre', 'afficherArbre', $this->referentiel, 20);
38
		$this->executerActionReferentiel('Arbre', 'afficherArbre', $this->referentiel, false);
38
	}
39
	}
Line 39... Line 40...
39
	
40
	
40
	public function afficherArbre() {
41
	public function afficherArbre() {
41
		$donnees = array();
42
		$donnees = array();
42
		$rechercheDao =  new RechercheDao();
43
		$donnees['resultats'] = $this->chercherFamilles();
43
		$parametres = array('mots' => '*', 
44
		$nns = array();
44
							'ref' => $this->referentiel,
45
		foreach($donnees['resultats'] as $resultat) {
-
 
46
			$nns[] = $resultat['num_nom'];
-
 
47
		}
45
							'rg' => 180);
48
		
-
 
49
		$donnees['resultats_nb_infra'] = $this->chercherNombreInfras($nns);
-
 
50
		$donnees['resultats_nb_syn'] = $this->chercherNombreSynonymes($nns);
46
		$donnees['resultats'] = $rechercheDao->chercher('ParDefaut', $parametres);
51
		
-
 
52
		$donnees['url_service_tpl'] = Config::get('url_jrest');
-
 
53
		$donnees['url_sous_taxons_tpl'] = $this->obtenirUrlMenuBranche($this->referentiel, '');
47
		$donnees['url_service_tpl'] = Config::get('url_jrest');
54
		$donnees['url_synonymes_tpl'] = $this->obtenirUrlMenuBrancheSynonyme($this->referentiel, '');
48
		$donnees['url_fiche_taxon_tpl'] = $this->obtenirUrlFicheTaxon($this->referentiel, '%s');
55
		$donnees['url_fiche_taxon_tpl'] = $this->obtenirUrlFicheTaxon($this->referentiel, '%s');
-
 
56
		$donnees['referentiel'] = $this->referentiel;
49
		$donnees['referentiel'] = $this->referentiel;
57
		
50
		$resultat = $this->getVue('arbre_taxon', $donnees);
58
		$resultat = $this->getVue('arbre_taxon', $donnees);
51
		$this->setSortie(self::RENDU_CORPS, $resultat);
59
		$this->setSortie(self::RENDU_CORPS, $resultat);
-
 
60
	}
-
 
61
	
-
 
62
	public function afficherBranche() {
-
 
63
		$donnees = array();
-
 
64
		$donnees['resultats_infra'] = $this->chercherInfras($_GET['num_nom']);
-
 
65
		foreach($donnees['resultats_infra'] as $resultat) {
-
 
66
			$nns[] = $resultat['num_nom'];
-
 
67
		}
-
 
68
		
-
 
69
		$donnees['resultats_nb_infra'] = $this->chercherNombreInfras($nns);
-
 
70
		$donnees['resultats_nb_syn'] = $this->chercherNombreSynonymes($nns);
-
 
71
		
-
 
72
		$resultat = json_encode($donnees);
-
 
73
		header('Content-type: application/json'); 
-
 
74
		echo $resultat;
-
 
75
		exit;
-
 
76
	}
-
 
77
	
-
 
78
	public function afficherBrancheSynonyme() {
-
 
79
		$donnees['resultats_syn'] = $this->chercherSynonymes($_GET['num_nom']);
-
 
80
		$resultat = json_encode($donnees);
-
 
81
		header('Content-type: application/json');
-
 
82
		echo $resultat;
-
 
83
		exit;
-
 
84
	}
-
 
85
	
-
 
86
	private function getDao() {
-
 
87
		if($this->rechercheDao == null) {
-
 
88
			$this->rechercheDao = new RechercheDao();
-
 
89
		}
-
 
90
		return $this->rechercheDao;
-
 
91
	}
-
 
92
	
-
 
93
	private function chercherFamilles() {
-
 
94
		$rechercheDao = $this->getDao();
-
 
95
		$rechercheDao->setLimitation(0,10000);
-
 
96
		$parametres = array('mots' => '*',
-
 
97
									'ref' => $this->referentiel,
-
 
98
									'rg' => 180);
-
 
99
		$resultats = $rechercheDao->chercher('ParDefaut', $parametres);
-
 
100
		return $resultats; 
-
 
101
	}
-
 
102
	
-
 
103
	private function chercherNombreSynonymes($tableau_nn) {
-
 
104
		$rechercheDao = $this->getDao();
-
 
105
		$parametres_syn = array('mots' => '*',
-
 
106
										'ref' => $this->referentiel,
-
 
107
										'nn' => implode(',', $tableau_nn));
-
 
108
		$resultats_nb_syn = $rechercheDao->chercher('NombreSynonymeParTaxon', $parametres_syn);
-
 
109
		return $resultats_nb_syn;
-
 
110
	}
-
 
111
	
-
 
112
	private function chercherSynonymes($num_nom) {
-
 
113
		$rechercheDao = $this->getDao();
-
 
114
		$parametres_syn = array('mots' => '*',
-
 
115
								'ref' => $this->referentiel,
-
 
116
								'nn' => $num_nom);
-
 
117
		$resultats_syn = $rechercheDao->chercher('ParTaxon', $parametres_syn);
-
 
118
		return $resultats_syn;
-
 
119
	}
-
 
120
	
-
 
121
	private function chercherNombreInfras($tableau_nn) {
-
 
122
		$rechercheDao = $this->getDao();
-
 
123
		$parametres_infra = array('mots' => '*',
-
 
124
								  'ref' => $this->referentiel,
-
 
125
								  'classif' => 'infra',
-
 
126
								  'nn' => implode(',', $tableau_nn));
-
 
127
		$resultats_nb_infra = $rechercheDao->chercher('NombreClassifParTaxon', $parametres_infra);
-
 
128
		return $resultats_nb_infra;
-
 
129
	}
-
 
130
	
-
 
131
	private function chercherInfras($num_nom) {
-
 
132
		$rechercheDao = $this->getDao();
-
 
133
		$parametres = array('mots' => '*',
-
 
134
											'ref' => $this->referentiel,
-
 
135
											'classif' => 'infra',
-
 
136
											'nn' => $num_nom);
-
 
137
		$resultats_infra = $rechercheDao->chercher('Classification', $parametres);
-
 
138
		return $resultats_infra;
52
	}
139
	}
53
}
140
}
54
?>
141
?>