Subversion Repositories eFlore/Applications.coel-consultation

Rev

Rev 18 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 18 Rev 19
Line 7... Line 7...
7
 * @package		Collection
7
 * @package		Collection
8
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
8
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
9
 * @copyright	2010 Tela-Botanica
9
 * @copyright	2010 Tela-Botanica
10
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
10
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
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: ColControleur.php 18 2010-03-23 18:14:32Z jpm $
12
 * @version		SVN: $Id: ColControleur.php 19 2010-03-24 18:22:25Z jpm $
13
 */
13
 */
14
abstract class ColControleur extends Controleur {
14
abstract class ColControleur extends Controleur {
Line 15... Line 15...
15
 
15
 
16
	const RENDU_TETE = 'tete';
16
	const RENDU_TETE = 'tete';
Line 235... Line 235...
235
						}
235
						}
236
						$valeur = '';
236
						$valeur = '';
237
					}
237
					}
238
					// Type correspondant à une entrée de l'ontologie
238
					// Type correspondant à une entrée de l'ontologie
239
					if ($typeEstOntologie) {
239
					if ($typeEstOntologie) {
240
						$valeurTypeOntologie = '[0-9]+'.self::SEPARATEUR_TYPE_VALEUR;
240
						$valeurTypeOntologie = '([0-9]+)'.self::SEPARATEUR_TYPE_VALEUR;
241
						if (preg_match('/^'.$valeurTypeOntologie.'.+$/', $valeur)) {
241
						if (preg_match('/^'.$valeurTypeOntologie.'.*$/', $valeur, $match)) {
242
							$type = substr($valeur, 0, strripos($valeur, self::SEPARATEUR_TYPE_VALEUR));
242
							$type = $match[1];
243
							$valeurOntologie = Ontologie::getValeur($type);
243
							$valeurOntologieNom = Ontologie::getValeurNom($type);
244
							if ($valeurOntologie != '') {
244
							if ($valeurOntologieNom !== false) {
245
								$valeurOntologieNom = $valeurOntologie['nom'];
-
 
246
								$valeur = preg_replace('/^'.$type.'/', $valeurOntologieNom.': ', $valeur);
245
								$valeur = preg_replace('/^'.$type.'/', $valeurOntologieNom.': ', $valeur);
247
							}
246
							}
248
						}
247
						}
249
					}
248
					}
250
					// Donnée correspondant à une entrée de l'ontologie
249
					// Donnée correspondant à une entrée de l'ontologie
251
					if ($donneeEstOntologie) {
250
					if ($donneeEstOntologie) {
252
						$donneeOntologie = self::SEPARATEUR_TYPE_VALEUR.'([0-9]+)';
251
						$donneeOntologie = self::SEPARATEUR_TYPE_VALEUR.'([0-9]+)';
253
						if (preg_match('/^.+'.$donneeOntologie.'$/', $valeur, $match)) {
252
						if (preg_match('/^.+'.$donneeOntologie.'$/', $valeur, $match)) {
254
							$donnee = $match[1];
253
							$donnee = $match[1];
255
							$donnee = str_replace(self::SEPARATEUR_TYPE_VALEUR, '', $donnee);
254
							$donnee = str_replace(self::SEPARATEUR_TYPE_VALEUR, '', $donnee);
256
							$valeurOntologie = Ontologie::getValeur($donnee);
255
							$valeurOntologieNom = Ontologie::getValeurNom($donnee);
257
							if ($valeurOntologie != '') {
256
							if ($valeurOntologieNom !== false) {
258
								$valeurOntologieNom = $valeurOntologie['nom'];
-
 
259
								$valeur = preg_replace('/'.$donnee.'$/', $valeurOntologieNom, $valeur);
257
								$valeur = preg_replace('/'.$donnee.'$/', $valeurOntologieNom, $valeur);
260
							}
258
							}
261
						}
259
						}
262
					}
260
					}
Line 293... Line 291...
293
		$this->url->setVariableRequete('id', $id_collection);
291
		$this->url->setVariableRequete('id', $id_collection);
294
		$url = $this->url->getURL();
292
		$url = $this->url->getURL();
295
		$this->url->unsetVariablesRequete(array('module', 'action', 'id'));
293
		$this->url->unsetVariablesRequete(array('module', 'action', 'id'));
296
		return $url;
294
		return $url;
297
	}
295
	}
-
 
296
	
-
 
297
	protected function postraiterDonnees(&$tableau) {
-
 
298
		if (count($tableau) > 0) {
-
 
299
			foreach ($tableau as $cle => &$valeur) {
-
 
300
				if ($valeur == '') {
-
 
301
					$valeur = '&nbsp;';
-
 
302
				} else if (is_string($valeur)) {
-
 
303
					$valeur = preg_replace('/&(?!amp;)/i', '&amp;', $valeur, -1);
-
 
304
				} else if (is_array($valeur)) {
-
 
305
					$this->postraiterDonnees($valeur);
-
 
306
				}
-
 
307
			}
-
 
308
		}
-
 
309
	}
298
}
310
}
299
311