Line 1... |
Line 1... |
1 |
<?php
|
1 |
<?php
|
2 |
// Attention classe à migrer ou en cours de migration : utilisez la branche si vous faites des developpements de prod !!!!!
|
2 |
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
|
Line 3... |
Line 3... |
3 |
|
3 |
|
4 |
/**
|
4 |
/**
|
5 |
* Service fournissant des informations concernant les images du CEL au format RSS1, RSS2 ou ATOM.
|
5 |
* Service fournissant des informations concernant les images du CEL au format RSS1, RSS2 ou ATOM.
|
6 |
* Encodage en entrée : utf8
|
6 |
* Encodage en entrée : utf8
|
Line 364... |
Line 364... |
364 |
private function getServiceComplet() {
|
364 |
private function getServiceComplet() {
|
Line 365... |
Line 365... |
365 |
|
365 |
|
366 |
// Construction de la requête
|
366 |
// Construction de la requête
|
367 |
$requete = (isset($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' ci.*, '.
|
367 |
$requete = (isset($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' ci.*, '.
|
368 |
' cim.id_image, ci.ce_utilisateur, nom_original, cim.date_creation, cim.mots_cles_texte as mots_cles_texte_images, '.
|
368 |
' cim.id_image, ci.ce_utilisateur, nom_original, cim.date_creation, cim.mots_cles_texte as mots_cles_texte_images, '.
|
- |
|
369 |
' ci.mots_cles_texte as mots_cles_texte_obs, cim.commentaire as commentaire_img, note_qualite, '.
|
369 |
' ci.mots_cles_texte as mots_cles_texte_obs, cim.commentaire, note_qualite '.
|
370 |
' ci.commentaire as commentaire_obs '.
|
370 |
'FROM cel_images AS cim '.
|
371 |
'FROM cel_images AS cim '.
|
371 |
' LEFT JOIN cel_obs_images AS coi '.
|
372 |
' LEFT JOIN cel_obs_images AS coi '.
|
372 |
' ON (coi.id_image = cim.id_image) '.
|
373 |
' ON (coi.id_image = cim.id_image) '.
|
373 |
' LEFT JOIN cel_obs AS ci '.
|
374 |
' LEFT JOIN cel_obs AS ci '.
|
Line 393... |
Line 394... |
393 |
$contenu = '';
|
394 |
$contenu = '';
|
394 |
if (isset($_GET['debut'])) $this->start = $_GET['debut'];
|
395 |
if (isset($_GET['debut'])) $this->start = $_GET['debut'];
|
395 |
if (isset($_GET['limite'])) $this->limite = $_GET['limite'];
|
396 |
if (isset($_GET['limite'])) $this->limite = $_GET['limite'];
|
Line 396... |
Line 397... |
396 |
|
397 |
|
397 |
// Construction de la requête
|
398 |
// Construction de la requête
|
- |
|
399 |
$requete = 'SELECT *, b.mots_cles_texte as mots_cles_texte_obs, c.mots_cles_texte as mots_cles_texte_images, '.
|
398 |
$requete = 'SELECT *, b.mots_cles_texte as mots_cles_texte_obs, c.mots_cles_texte as mots_cles_texte_images '.
|
400 |
' b.commentaire as commentaire_obs, c.commentaire as commentaire_img '.
|
399 |
'FROM cel_obs_images AS a '.
|
401 |
'FROM cel_obs_images AS a '.
|
400 |
' INNER JOIN cel_obs AS b '.
|
402 |
' INNER JOIN cel_obs AS b '.
|
401 |
' ON (a.id_observation = b.id_observation) '.
|
403 |
' ON (a.id_observation = b.id_observation) '.
|
402 |
' INNER JOIN cel_images AS c '.
|
404 |
' INNER JOIN cel_images AS c '.
|
Line 455... |
Line 457... |
455 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%INSEE-C:'.$nom_valeur[1].'%") AND '; break;
|
457 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%INSEE-C:'.$nom_valeur[1].'%") AND '; break;
|
456 |
case "b.nom_ret" :
|
458 |
case "b.nom_ret" :
|
457 |
if ($nom_valeur[1] == "indetermine") $nom_valeur[1] = 'null';
|
459 |
if ($nom_valeur[1] == "indetermine") $nom_valeur[1] = 'null';
|
458 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%" OR b.nom_sel LIKE "%'.
|
460 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%" OR b.nom_sel LIKE "%'.
|
459 |
$nom_valeur[1].'%") AND '; break;
|
461 |
$nom_valeur[1].'%") AND '; break;
|
460 |
case "tag" : $requete .= $this->creerSousRequeteMotsCles($nom_valeur[1]); break;
|
462 |
case "tag" : $requete .= $this->creerSousRequeteMotsCles($nom_valeur[1]).' AND '; break;
|
461 |
case "projet" : $requete .= $this->creerSousRequeteProjet($nom_valeur[1]); break;
|
463 |
case "projet" : $requete .= $this->creerSousRequeteProjet($nom_valeur[1]).' AND '; break;
|
462 |
default : $requete .= $nom_valeur[0].' = "'.$nom_valeur[1].'" AND '; break;
|
464 |
default : $requete .= $nom_valeur[0].' = "'.$nom_valeur[1].'" AND '; break;
|
463 |
}
|
465 |
}
|
464 |
}
|
466 |
}
|
465 |
}
|
467 |
}
|
466 |
$requete = rtrim($requete,' AND ');
|
468 |
$requete = rtrim($requete,' AND ');
|
Line 478... |
Line 480... |
478 |
} else if (preg_match('/.*ET.*/', $mot_cle)) {
|
480 |
} else if (preg_match('/.*ET.*/', $mot_cle)) {
|
479 |
$mots_cles_tab = explode('ET',$mot_cle);
|
481 |
$mots_cles_tab = explode('ET',$mot_cle);
|
480 |
foreach($mots_cles_tab as $mot_cle_item) {
|
482 |
foreach($mots_cles_tab as $mot_cle_item) {
|
481 |
$requete .= '(c.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
|
483 |
$requete .= '(c.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
|
482 |
}
|
484 |
}
|
483 |
$requete = '('.rtrim($requete, 'AND ').')';
|
485 |
$requete = '('.rtrim($requete, 'AND ').') ';
|
484 |
} else {
|
486 |
} else {
|
485 |
$requete = "(c.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') AND';
|
487 |
$requete = "(c.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') ';
|
486 |
}
|
488 |
}
|
487 |
return $requete;
|
489 |
return $requete;
|
488 |
}
|
490 |
}
|
Line 489... |
Line 491... |
489 |
|
491 |
|
Line 498... |
Line 500... |
498 |
} else if (preg_match('/.*ET.*/', $mot_cle)) {
|
500 |
} else if (preg_match('/.*ET.*/', $mot_cle)) {
|
499 |
$mots_cles_tab = explode('ET',$mot_cle);
|
501 |
$mots_cles_tab = explode('ET',$mot_cle);
|
500 |
foreach($mots_cles_tab as $mot_cle_item) {
|
502 |
foreach($mots_cles_tab as $mot_cle_item) {
|
501 |
$requete .= '(b.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
|
503 |
$requete .= '(b.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
|
502 |
}
|
504 |
}
|
503 |
$requete = '('.rtrim($requete, 'AND ').')';
|
505 |
$requete = '('.rtrim($requete, 'AND ').') ';
|
504 |
} else {
|
506 |
} else {
|
505 |
$requete = "(b.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') AND';
|
507 |
$requete = "(b.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') ';
|
506 |
}
|
508 |
}
|
507 |
return $requete;
|
509 |
return $requete;
|
508 |
}
|
510 |
}
|
Line 509... |
Line 511... |
509 |
|
511 |
|
Line 521... |
Line 523... |
521 |
' OR '.
|
523 |
' OR '.
|
522 |
'b.ce_zone_geo LIKE "INSEE-C:'.$chaine_requete.'%" '.
|
524 |
'b.ce_zone_geo LIKE "INSEE-C:'.$chaine_requete.'%" '.
|
523 |
' OR '.
|
525 |
' OR '.
|
524 |
'b.ce_zone_geo LIKE "'.$chaine_requete.'%" '.
|
526 |
'b.ce_zone_geo LIKE "'.$chaine_requete.'%" '.
|
525 |
' OR '.
|
527 |
' OR '.
|
526 |
'c.id_utilisateur LIKE "'.$chaine_requete.'%" '.
|
528 |
'c.ce_utilisateur LIKE "'.$chaine_requete.'%" '.
|
- |
|
529 |
' OR '.
|
- |
|
530 |
'c.courriel_utilisateur LIKE "'.$chaine_requete.'%" '.
|
527 |
' OR '.
|
531 |
' OR '.
|
528 |
'b.mots_cles_texte LIKE "'.$chaine_requete.'%" '.
|
532 |
'b.mots_cles_texte LIKE "'.$chaine_requete.'%" '.
|
529 |
' OR '.
|
533 |
' OR '.
|
530 |
'c.mots_cles_texte LIKE "'.$chaine_requete.'%" '.
|
534 |
'c.mots_cles_texte LIKE "'.$chaine_requete.'%" '.
|
531 |
') ';
|
535 |
') ';
|
Line 557... |
Line 561... |
557 |
$url_img = $this->getUrlImage($donnees['id_image'], 'CS');
|
561 |
$url_img = $this->getUrlImage($donnees['id_image'], 'CS');
|
558 |
$url_img_normale = $this->getUrlImage($donnees['id_image'], 'XL');
|
562 |
$url_img_normale = $this->getUrlImage($donnees['id_image'], 'XL');
|
559 |
//
|
563 |
//
|
560 |
$mots_cles_image = $donnees['mots_cles_texte_images'];
|
564 |
$mots_cles_image = $donnees['mots_cles_texte_images'];
|
561 |
$note = ($donnees['note_qualite'] +1).'/5';
|
565 |
$note = ($donnees['note_qualite'] +1).'/5';
|
562 |
$commentaire_img = $donnees['commentaire'];
|
566 |
$commentaire_img = $donnees['commentaire_img'];
|
Line 563... |
Line 567... |
563 |
|
567 |
|
564 |
$id_obs = $donnees['id_observation'];
|
568 |
$id_obs = $donnees['id_observation'];
|
565 |
$famille = $donnees['famille'];
|
569 |
$famille = $donnees['famille'];
|
566 |
$nom_saisi = $donnees['nom_sel'];
|
570 |
$nom_saisi = $donnees['nom_sel'];
|
567 |
$nom_retenu = $donnees['nom_ret'];
|
571 |
$nom_retenu = $donnees['nom_ret'];
|
568 |
//
|
572 |
//
|
569 |
$mots_cles_obs = $donnees['mots_cles_texte_obs'];
|
573 |
$mots_cles_obs = $donnees['mots_cles_texte_obs'];
|
570 |
$lieu = $donnees['zone_geo'].' ('.$donnees['ce_zone_geo'].') > '.$donnees['lieudit'].' > '.$donnees['station'];
|
574 |
$lieu = $donnees['zone_geo'].' ('.$this->convertirCodeZoneGeoVersCodeInsee($donnees['ce_zone_geo']).') > '.$donnees['lieudit'].' > '.$donnees['station'];
|
571 |
$milieu = $donnees['milieu'];
|
575 |
$milieu = $donnees['milieu'];
|
572 |
$coordonnees = ($this->etreNull($donnees['latitude']) && $this->etreNull($donnees['longitude'])) ? '' : $donnees['latitude'].'/'.$donnees['longitude'];
|
576 |
$coordonnees = ($this->etreNull($donnees['latitude']) && $this->etreNull($donnees['longitude'])) ? '' : $donnees['latitude'].'/'.$donnees['longitude'];
|
573 |
$commentaire_obs = $donnees['commentaire'];
|
577 |
$commentaire_obs = $donnees['commentaire_obs'];
|
574 |
$date_observation = $this->formaterDate($donnees['date_observation'], '%A %d %B %Y');
|
578 |
$date_observation = $this->formaterDate($donnees['date_observation'], '%A %d %B %Y');
|
575 |
$date_transmission = $this->formaterDate($donnees['date_transmission']);
|
579 |
$date_transmission = $this->formaterDate($donnees['date_transmission']);
|
576 |
$date_modification = $this->formaterDate($donnees['date_modification']);
|
580 |
$date_modification = $this->formaterDate($donnees['date_modification']);
|
577 |
$date_creation = $this->formaterDate($donnees['date_creation']);
|
581 |
$date_creation = $this->formaterDate($donnees['date_creation']);
|