Subversion Repositories eFlore/Applications.coel-consultation

Rev

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

Rev 114 Rev 144
Line 11... Line 11...
11
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
11
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
12
 * @version		SVN: $Id: Fiche.php 96 2010-06-21 16:46:31Z jpm $
12
 * @version		SVN: $Id: Fiche.php 96 2010-06-21 16:46:31Z jpm $
13
 */
13
 */
14
class FicheCollection extends Fiche {
14
class FicheCollection extends Fiche {
Line -... Line 15...
-
 
15
	
-
 
16
	private $donnees = array();
-
 
17
	protected $collectionDao = null;
15
	
18
	
16
	//+----------------------------------------------------------------------------------------------------------------+
19
	//+----------------------------------------------------------------------------------------------------------------+
17
	// Méthodes
20
	// Méthodes
18
	/**
21
	/**
19
	 * Fonction d'affichage par défaut
22
	 * Fonction d'affichage par défaut
Line 23... Line 26...
23
	}
26
	}
Line 24... Line 27...
24
	
27
	
25
	// +---------------------------------------------------------------------------------------------------------------+
28
	// +---------------------------------------------------------------------------------------------------------------+
26
	// FICHE COLLECTION
29
	// FICHE COLLECTION
27
	public function afficherCollection() {
-
 
28
		$donnees = array();
-
 
29
 
30
	public function afficherCollection() {
30
		// Gestion des actions par défaut
31
		// Gestion des actions par défaut
Line 31... Line 32...
31
		$this->executerAction('Recherche', 'chargerMoteurRecherche');
32
		$this->executerAction('Recherche', 'chargerMoteurRecherche');
32
		
33
		
Line 33... Line 34...
33
		// Gestion des données de la requête
34
		// Gestion des données de la requête
34
		if (!isset($_GET['id'])) {
35
		if (!isset($_GET['id'])) {
35
			
36
			
36
		} else {
37
		} else {
37
			// Récupération des données
38
			// Récupération des données
38
			$donnees['id'] = $_GET['id'];
39
			$this->donnees['id'] = $_GET['id'];
39
			$collectionDao = $this->getModele('CollectionDao');
40
			$this->collectionDao = new CollectionDao();
40
			$donnees['info'] = $collectionDao->getCollection($donnees['id']);
41
			$this->donnees['info'] = $this->collectionDao->getCollection($this->donnees['id']);
Line 41... Line 42...
41
			$donnees['personnes'] = $collectionDao->getCollectionAPersonne($donnees['id']);
42
			$this->creerPaginationPersonnes($this->donnees['id']);
42
			$donnees['publications'] = $collectionDao->getCollectionAPublication($donnees['id']);
43
			$this->donnees['publications'] = $this->collectionDao->getPublicationsLiees($this->donnees['id']);
43
			$donnees['commentaires'] = $collectionDao->getCollectionACommentaire($donnees['id']);
44
			$this->donnees['commentaires'] = $this->collectionDao->getCommentairesLies($this->donnees['id']);
44
			
45
			
45
			// Traitements des données
46
			// Traitements des données
46
			$this->traiterDonneesCollection($donnees['info']);
47
			$this->traiterDonneesCollection($this->donnees['info']);
47
			$this->traiterDonneesCollectionAPersonne($donnees['personnes']);
48
			$this->traiterDonneesCollectionAPersonne($this->donnees['personnes']);
48
			$this->traiterDonneesElementAPublication($donnees['publications']);
49
			$this->traiterDonneesElementAPublication($this->donnees['publications']);
49
			$this->traiterDonneesCollectionDescription($donnees['info']);
50
			$this->traiterDonneesCollectionDescription($this->donnees['info']);
50
			$this->traiterDonneesCollectionContenu($donnees['info']);
51
			$this->traiterDonneesCollectionContenu($this->donnees['info']);
Line 51... Line 52...
51
			$this->traiterDonneesCollectionInventaire($donnees['info']);
52
			$this->traiterDonneesCollectionInventaire($this->donnees['info']);
52
			$this->traiterDonneesCollectionACommentaire($donnees['commentaires']);
53
			$this->traiterDonneesCollectionACommentaire($this->donnees['commentaires']);
53
			$this->postraiterDonnees($donnees);
54
			$this->postraiterDonnees($this->donnees);
54
			$donnees['metadonnees'] = $this->traiterMetaDonnees($donnees['info']);
55
			$this->donnees['metadonnees'] = $this->traiterMetaDonnees($this->donnees['info']);
Line 55... Line 56...
55
			
56
			
56
			// Création des méta-données de la page
57
			// Création des méta-données de la page
57
			$titre = $donnees['info']['cc_nom'];
58
			$titre = $this->donnees['info']['cc_nom'];
58
			$description = $donnees['info']['cc_description'];
59
			$description = $this->donnees['info']['cc_description'];
59
			$tags = "Collection, id:{$donnees['id']}, {$donnees['info']['_guid_']}";
60
			$tags = "Collection, id:{$this->donnees['id']}, {$this->donnees['info']['_guid_']}";
60
			
61
			
61
			// Envoie à la sortie
62
			// Envoie à la sortie
62
			//Debug::printr($donnees);
63
			//Debug::printr($this->donnees);
63
			$this->setSortie(self::META_TITRE, $titre);
64
			$this->setSortie(self::META_TITRE, $titre);
-
 
65
			$this->setSortie(self::META_DESCRIPTION, $description);
-
 
66
			$this->setSortie(self::META_TAGS, $tags);
-
 
67
			$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_collection', $this->donnees));
-
 
68
			$this->chargerPiedDePage();
-
 
69
		}
-
 
70
	}
-
 
71
	
-
 
72
	private function creerPaginationPersonnes($id_collection) {
-
 
73
		// Gestion du nombre de résultats
-
 
74
		$donnees_total = $this->collectionDao->getNbrePersonnesLiees($id_collection);
-
 
75
		
-
 
76
		// Gestion du fragmenteur
-
 
77
		$urlFiche = $this->obtenirObjetUrlFicheCollection($id_collection);
-
 
78
		$options = array(
-
 
79
			'url' => $urlFiche, 
-
 
80
			'donnees_total' => $donnees_total,
-
 
81
			'donnees_par_page' => Config::get('resultat_par_page_defaut'),
-
 
82
			'donnees_par_page_choix' => Config::get('resultat_par_page_choix'),
-
 
83
		);
-
 
84
		$fragmenteur = Composant::fabrique('fragmenteur', $options);
-
 
85
		$this->donnees['personnesFrag'] = $fragmenteur->executer();
-
 
86
		list($de, $a) = $fragmenteur->getDeplacementParPageId();
-
 
87
		$this->url->unsetVariablesRequete(array('recherche', 'page'));
Line 64... Line 88...
64
			$this->setSortie(self::META_DESCRIPTION, $description);
88
 
65
			$this->setSortie(self::META_TAGS, $tags);
89
		// Gestion de l'accès aux données
66
			$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_collection', $donnees));
90
		$this->collectionDao->setLimitation(($de - 1), $fragmenteur->getDonneesParPage());
67
			$this->chargerPiedDePage();
91
		$this->collectionDao->setDistinction(1);