Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1887 Rev 1917
Line 99... Line 99...
99
		}
99
		}
100
		return $idImgs;
100
		return $idImgs;
101
	}
101
	}
Line 102... Line 102...
102
 
102
 
-
 
103
	private function getInfosImages() {
-
 
104
		// Traitement du champ mots clés text à part pour éviter un écrasement des mots 
-
 
105
		// clés img par ceux de l'obs
-
 
106
		// TODO: gérer ce problème pour tous les champs où ça peut arriver
-
 
107
		$mot_cles_texte_concat = "di.mots_cles_texte as mots_cles_texte_img";
103
	private function getInfosImages() {
108
		
104
		$obsChamps = $this->sql->getAliasDesChamps($this->mappings['observations'], null, 'do');
109
		$obsChamps = $this->sql->getAliasDesChamps($this->mappings['observations'], null, 'do');
105
		$imgChamps = $this->sql->getAliasDesChamps($this->mappings['images'], null, 'di');
110
		$imgChamps = $this->sql->getAliasDesChamps($this->mappings['images'], null, 'di');
Line 106... Line 111...
106
		$idImgsConcat = implode(',', $this->idsImagesOrdonnees);
111
		$idImgsConcat = implode(',', $this->idsImagesOrdonnees);
107
 
112
 
108
		$requete = "SELECT $obsChamps, $imgChamps ".
113
		$requete = "SELECT $obsChamps, $imgChamps, $mot_cles_texte_concat ".
109
			'FROM del_image AS di '.
114
			'FROM del_image AS di '.
110
			'	LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) '.
115
			'	LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) '.
111
			"WHERE di.id_image IN ($idImgsConcat) ".
116
			"WHERE di.id_image IN ($idImgsConcat) ".
Line 122... Line 127...
122
		$obsFormatees = array_flip($this->idsImagesOrdonnees);// Permet de garder l'ordre de sortie !
127
		$obsFormatees = array_flip($this->idsImagesOrdonnees);// Permet de garder l'ordre de sortie !
123
		foreach ($this->infosImages as $infos) {
128
		foreach ($this->infosImages as $infos) {
124
			$id = $infos['id_image'];
129
			$id = $infos['id_image'];
125
			// ainsi nous utilisons deux tableaux: le final, indexé par couple d'id(image-obs)
130
			// ainsi nous utilisons deux tableaux: le final, indexé par couple d'id(image-obs)
126
			// et celui indexé par simple id_image qui est fort utile pour mapVotesToImages()
131
			// et celui indexé par simple id_image qui est fort utile pour mapVotesToImages()
127
			// mais tout deux partage leur référence à "protocole"
132
			// mais tout deux partage leur référence à "protocole"			
128
			$image = array(
133
			$image = array(
129
				'id_image' => $id,
134
				'id_image' => $id,
130
				'binaire.href' => sprintf($urlImgTpl, $infos['id_image'], $imageFormat),
135
				'binaire.href' => sprintf($urlImgTpl, $infos['id_image'], $imageFormat),
131
				'mots_cles_texte' => isset($infos['mots_cles_texte']) ? $infos['mots_cles_texte'] : null,
136
				'mots_cles_texte' => isset($infos['mots_cles_texte_img']) ? $infos['mots_cles_texte_img'] : null,
132
			);
137
			);
133
			unset($infos['id_image'], $infos['mots_cles_texte']);
138
			unset($infos['id_image'], $infos['mots_cles_texte'], $infos['mots_cles_texte_img']);
Line 134... Line 139...
134
 
139
 
135
			$obsFormatees[$id] = $image;
140
			$obsFormatees[$id] = $image;
136
			$obsFormatees[$id]['observation'] = $infos;
141
			$obsFormatees[$id]['observation'] = $infos;
137
			$obsFormatees[$id]['protocoles_votes'] = array();
142
			$obsFormatees[$id]['protocoles_votes'] = array();