Subversion Repositories Applications.referentiel

Rev

Rev 37 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37 Rev 178
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * Classe Controleur du module Resultat.
4
 * Classe Controleur du module Resultat.
5
 * Affichage des infos sur un résultat de traitement.
5
 * Affichage des infos sur un résultat de traitement.
6
 * 
6
 * 
7
 * @package		Referentiel
7
 * @package		Referentiel
8
 * @category	Php5.2
8
 * @category	Php5.2
9
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
9
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
10
 * @copyright	2010 Tela-Botanica
10
 * @copyright	2010 Tela-Botanica
11
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
12
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
12
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
13
 * @version		SVN: $Id$
13
 * @version		SVN: $Id$
14
 */
14
 */
15
class Resultat extends AppliControleur {
15
class Resultat extends AppliControleur {
16
	
16
	
17
	private $referentiel = null;
17
	private $referentiel = null;
18
	private $traitementId = null;
18
	private $traitementId = null;
19
	private $resultatId = null;
19
	private $resultatId = null;
20
	private $resultatDao = null;
20
	private $resultatDao = null;
21
	
21
	
22
	public function __construct()  {
22
	public function __construct()  {
23
		parent::__construct();
23
		parent::__construct();
24
		
24
		
25
		// Récupération de paramêtres
25
		// Récupération de paramêtres
26
		if (isset($_GET['id-r'])) { // id du resultat courant
26
		if (isset($_GET['id-r'])) { // id du resultat courant
27
			$this->resultatId = strtolower($_GET['id-r']);
27
			$this->resultatId = strtolower($_GET['id-r']);
28
		}
28
		}
29
		if (isset($_GET['ref'])) { // code du projet courrant
29
		if (isset($_GET['ref'])) { // code du projet courrant
30
			$this->referentiel = strtolower($_GET['ref']);
30
			$this->referentiel = strtolower($_GET['ref']);
31
		}
31
		}
32
		
32
		
33
		// Chargement des DAO nécessaires
33
		// Chargement des DAO nécessaires
34
		if (isset($this->resultatId)) {
34
		if (isset($this->resultatId)) {
35
			$this->resultatDao = new ResultatDao();
35
			$this->resultatDao = new ResultatDao();
36
		}
36
		}
37
	}
37
	}
38
	
38
	
39
	//+----------------------------------------------------------------------------------------------------------------+
39
	//+----------------------------------------------------------------------------------------------------------------+
40
	// Méthodes
40
	// Méthodes
41
	/**
41
	/**
42
	 * Fonction d'affichage par défaut
42
	 * Fonction d'affichage par défaut
43
	 */
43
	 */
44
	public function executerActionParDefaut() {
44
	public function executerActionParDefaut() {
45
		return $this->afficherResultat();
45
		return $this->afficherResultat();
46
	}
46
	}
47
	
47
	
48
	/**
48
	/**
49
	 * Affiche le formulaire de demande de traitement
49
	 * Affiche le formulaire de demande de traitement
50
	 */
50
	 */
51
	public function afficherResultat() {
51
	public function afficherResultat() {
52
		$donnees = array();
52
		$donnees = array();
53
		
53
		
54
		// Traitement de l'info sur le code du référentiel
54
		// Traitement de l'info sur le code du référentiel
55
		if (isset($this->resultatId)) {
55
		if (isset($this->resultatId)) {
56
			// Recherche d'info sur le résultat
56
			// Recherche d'info sur le résultat
57
			$infos = $this->resultatDao->getInfos($this->resultatId);
57
			$infos = $this->resultatDao->getInfos($this->resultatId);
58
			if ($infos != false) {
58
			if ($infos != false) {
-
 
59
				$infos['message'] = $this->remplacerParametres($infos['message']);
59
				$donnees['resultat'] = $infos;
60
				$donnees['resultat'] = $infos;
-
 
61
				
60
				$this->traitementId = $infos['ce_traitement']; 
62
				$this->traitementId = $infos['ce_traitement']; 
61
			} else {
63
			} else {
62
				$this->addMessage("L'identifiant de résultat n'est pas indexé dans la base de données.");
64
				$this->addMessage("L'identifiant de résultat n'est pas indexé dans la base de données.");
63
			}
65
			}
64
		} else {
66
		} else {
65
			$this->addMessage("Aucun identifiant de résultat n'a été indiqué.");
67
			$this->addMessage("Aucun identifiant de résultat n'a été indiqué.");
66
		}		
68
		}		
67
		
69
		
68
		$donnees['messages'] = $this->getMessages();
70
		$donnees['messages'] = $this->getMessages();
69
		$this->traiterEsperluette($donnees);
71
		$this->traiterEsperluette($donnees);
70
		$this->setSortie(self::RENDU_CORPS, $this->getVue('resultat', $donnees), false);
72
		$this->setSortie(self::RENDU_CORPS, $this->getVue('resultat', $donnees), false);
71
		$this->construireMenu($this->referentiel);
73
		$this->construireMenu($this->referentiel);
72
		$this->construireFilAriane($this->referentiel, $this->traitementId, $this->resultatId);
74
		$this->construireFilAriane($this->referentiel, $this->traitementId, $this->resultatId);
73
	}
75
	}
-
 
76
	
-
 
77
	/**
-
 
78
	 * Les tests génèrent des messages au format HTML qui peuvent contenir des paramètres à remplacer au moment de l'affichage.
-
 
79
	 * 
-
 
80
	 * @param String $txt
-
 
81
	 */
-
 
82
	private function remplacerParametres($txt) {
-
 
83
		return preg_replace('/{numNom::([0-9]+)}/', $this->obtenirUrlFicheTaxon($this->referentiel, "$1"), $txt);
-
 
84
	}
74
}
85
}
75
?>
86
?>