| 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 |
}
|