Subversion Repositories eFlore/Applications.coel-consultation

Rev

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

Rev 76 Rev 80
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 76 2010-06-07 08:28:56Z jpm $
12
 * @version		SVN: $Id: ColControleur.php 80 2010-06-07 12:43:10Z jpm $
13
 */
13
 */
14
abstract class ColControleur extends Controleur {
14
abstract class ColControleur extends Controleur {
Line 15... Line 15...
15
	
15
	
16
	const FMT_DATE = '%d/%m/%Y';
16
	const FMT_DATE = '%d/%m/%Y';
Line 253... Line 253...
253
				for ($i = 0; $i < $nbreValeurs; $i++)	{
253
				for ($i = 0; $i < $nbreValeurs; $i++)	{
254
					$valeur = $valeurs[$i];
254
					$valeur = $valeurs[$i];
Line 255... Line 255...
255
					
255
					
256
					// VALEUR SANS TYPE 
256
					// VALEUR SANS TYPE 
257
					// La valeur sans type est une entrée de l'ontologie
257
					// La valeur sans type est une entrée de l'ontologie
258
					if ($valeurEstOntologie && preg_match('/^[0-9]+$/', $valeur)) {
258
					if ($valeurEstOntologie && preg_match('/^[0-9]+$/u', $valeur)) {
259
						if ($valeur == '0') {
259
						if ($valeur == '0') {
260
							$valeur = '';
260
							$valeur = '';
261
						} else {
261
						} else {
262
							$valeurOntologie = Ontologie::getValeur($valeur);
262
							$valeurOntologie = Ontologie::getValeur($valeur);
Line 267... Line 267...
267
					}
267
					}
Line 268... Line 268...
268
					
268
					
269
					// VALEUR AVEC TYPE
269
					// VALEUR AVEC TYPE
270
					// Type : AUTRE
270
					// Type : AUTRE
271
					$valeurTypeAutre = self::TYPE_AUTRE.self::SEPARATEUR_TYPE_VALEUR;
271
					$valeurTypeAutre = self::TYPE_AUTRE.self::SEPARATEUR_TYPE_VALEUR;
272
					if (preg_match('/^'.$valeurTypeAutre.'.+$/', $valeur)) {
272
					if (preg_match('/^'.$valeurTypeAutre.'.+$/u', $valeur)) {
273
						$txtAutre = preg_replace('/^'.$valeurTypeAutre.'/', '', $valeur);
273
						$txtAutre = preg_replace('/^'.$valeurTypeAutre.'/u', '', $valeur);
274
						if ($txtAutre != '') {
274
						if ($txtAutre != '') {
275
							$autres[] = $txtAutre;
275
							$autres[] = $txtAutre;
276
						}
276
						}
277
						$valeur = '';
277
						$valeur = '';
278
					}
278
					}
279
					// Type correspondant à une entrée de l'ontologie
279
					// Type correspondant à une entrée de l'ontologie
280
					if ($typeEstOntologie) {
280
					if ($typeEstOntologie) {
-
 
281
						$valeurTypeOntologie = '([0-9]+)'.self::SEPARATEUR_TYPE_VALEUR;
281
						$valeurTypeOntologie = '([0-9]+)'.self::SEPARATEUR_TYPE_VALEUR;
282
						$valeurTypeAutre = '([[:alnum:]]+)'.self::SEPARATEUR_TYPE_VALEUR;
282
						if (preg_match('/^'.$valeurTypeOntologie.'.*$/', $valeur, $match)) {
283
						if (preg_match('/^'.$valeurTypeOntologie.'.*$/u', $valeur, $match)) {// Cas type : réf. numérique
283
							$type = $match[1];
284
							$type = $match[1];
284
							$valeurOntologieNom = Ontologie::getValeurNom($type);
285
							$valeurOntologieNom = Ontologie::getValeurNom($type);
-
 
286
							if ($valeurOntologieNom !== false) {
285
							if ($valeurOntologieNom !== false) {
287
								$valeurOntologieNom .= ' : ';
286
								$valeur = preg_replace('/^'.$type.'/', $valeurOntologieNom.' : ', $valeur);
288
								$valeur = preg_replace('/^'.$type.'/u', $valeurOntologieNom, $valeur);
-
 
289
							}
-
 
290
						} else if (preg_match('/^'.$valeurTypeAutre.'.*$/u', $valeur, $match)) {// Cas type : AUTRE
-
 
291
							$type = $match[1];
287
							}
292
							$valeur = preg_replace('/^'.$type.'/u', $type.' : ', $valeur);
-
 
293
						}
288
						}
294
						Debug::printr($valeur);
289
					}
295
					}
290
					// Donnée correspondant à une entrée de l'ontologie
296
					// Donnée correspondant à une entrée de l'ontologie
291
					if ($donneeEstOntologie) {
297
					if ($donneeEstOntologie) {
292
						$donneeOntologie = self::SEPARATEUR_TYPE_VALEUR.'([0-9]+)';
298
						$donneeOntologie = self::SEPARATEUR_TYPE_VALEUR.'([0-9]+)';
293
						if (preg_match('/^.+'.$donneeOntologie.'$/', $valeur, $match)) {
299
						if (preg_match('/^.+'.$donneeOntologie.'$/u', $valeur, $match)) {
294
							$donnee = $match[1];
300
							$donnee = $match[1];
295
							$donnee = str_replace(self::SEPARATEUR_TYPE_VALEUR, '', $donnee);
301
							$donnee = str_replace(self::SEPARATEUR_TYPE_VALEUR, '', $donnee);
296
							$valeurOntologieNom = Ontologie::getValeurNom($donnee);
302
							$valeurOntologieNom = Ontologie::getValeurNom($donnee);
297
							if ($valeurOntologieNom !== false) {
303
							if ($valeurOntologieNom !== false) {
298
								$valeur = preg_replace('/'.$donnee.'$/', $valeurOntologieNom, $valeur);
304
								$valeur = preg_replace('/'.$donnee.'$/u', $valeurOntologieNom, $valeur);
299
							}
305
							}
300
						}
306
						}
Line 301... Line 307...
301
					}
307
					}