Line 257... |
Line 257... |
257 |
}
|
257 |
}
|
Line 258... |
Line 258... |
258 |
|
258 |
|
259 |
private function getServiceMultiCriteres() {
|
259 |
private function getServiceMultiCriteres() {
|
260 |
$contenu = '';
|
260 |
$contenu = '';
|
261 |
if (isset($_GET['debut'])) $this->start = $_GET['debut'];
|
261 |
if (isset($_GET['debut'])) $this->start = $_GET['debut'];
|
- |
|
262 |
if (isset($_GET['limite'])) $this->limit = $_GET['limite'];
|
- |
|
263 |
|
Line 262... |
Line 264... |
262 |
if (isset($_GET['limite'])) $this->limite = $_GET['limite'];
|
264 |
$this->limit = ($this->limit < 1000) ? $this->limit : 1000;// Pour éviter les abus !
|
263 |
|
265 |
|
264 |
// Construction de la requête
|
266 |
// Construction de la requête
|
265 |
$requete = (isset($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
|
267 |
$requete = (isset($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
|
Line 277... |
Line 279... |
277 |
}
|
279 |
}
|
278 |
$requete = rtrim($requete, 'AND ');
|
280 |
$requete = rtrim($requete, 'AND ');
|
279 |
$requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby :
|
281 |
$requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby :
|
280 |
'date_modification DESC, zone_geo ASC').' '.
|
282 |
'date_modification DESC, zone_geo ASC').' '.
|
281 |
"LIMIT $this->start,$this->limit ";
|
283 |
"LIMIT $this->start,$this->limit ";
|
282 |
|
284 |
|
283 |
$elements = $this->executerRequete($requete);
|
285 |
$elements = $this->executerRequete($requete);
|
Line 284... |
Line 286... |
284 |
|
286 |
|
285 |
// Création du contenu
|
287 |
// Création du contenu
|
286 |
if ($elements != false && count($elements) > 0) {
|
288 |
if ($elements != false && count($elements) > 0) {
|
Line 296... |
Line 298... |
296 |
$requete = '';
|
298 |
$requete = '';
|
297 |
foreach ($criteres as $pair) {
|
299 |
foreach ($criteres as $pair) {
|
298 |
$nom_valeur = explode("=",$pair);
|
300 |
$nom_valeur = explode("=",$pair);
|
299 |
if (sizeof($nom_valeur) != 0) {
|
301 |
if (sizeof($nom_valeur) != 0) {
|
300 |
switch ($nom_valeur[0]) {
|
302 |
switch ($nom_valeur[0]) {
|
301 |
case "ci_limite" : $this->limite = $this->bdd->quote($nom_valeur[1]); break;
|
303 |
case "ci_limite" : $this->limit = $this->bdd->quote($nom_valeur[1]); break;
|
302 |
case "commentaire" : $mots_comment_liste = explode(" " , $nom_valeur[1]);
|
304 |
case "commentaire" : $mots_comment_liste = explode(" " , $nom_valeur[1]);
|
303 |
foreach($mots_comment_liste as $mot_comment) {
|
305 |
foreach($mots_comment_liste as $mot_comment) {
|
304 |
$mot_comment = trim($mot_comment) ;
|
306 |
$mot_comment = trim($mot_comment) ;
|
305 |
$requete .= $nom_valeur[0].' LIKE '.$this->bdd->quote('%'.$mot_comment.'%').' AND ';
|
307 |
$requete .= $nom_valeur[0].' LIKE '.$this->bdd->quote('%'.$mot_comment.'%').' AND ';
|
306 |
}
|
308 |
}
|
Line 411... |
Line 413... |
411 |
private function executerService($elements) {
|
413 |
private function executerService($elements) {
|
412 |
$contenu = '';
|
414 |
$contenu = '';
|
413 |
if (is_array($elements)) {
|
415 |
if (is_array($elements)) {
|
414 |
// Prétraitement des données
|
416 |
// Prétraitement des données
|
415 |
$donnees = $this->construireDonneesCommunesAuFlux($elements);
|
417 |
$donnees = $this->construireDonneesCommunesAuFlux($elements);
|
- |
|
418 |
$ids_observations = array();
|
416 |
foreach ($elements as $element) {
|
419 |
foreach ($elements as $element) {
|
417 |
$identifiants[$element['courriel_utilisateur']] = $element['courriel_utilisateur'];
|
420 |
$identifiants[$element['courriel_utilisateur']] = $element['courriel_utilisateur'];
|
- |
|
421 |
$ids_observations[] = $element['id_observation'];
|
418 |
}
|
422 |
}
|
- |
|
423 |
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs');
|
- |
|
424 |
$champs_etendus = $gestion_champs_etendus->obtenirChampsEtendusPourElementsMultiples($ids_observations);
|
419 |
$this->auteurs = $this->creerAuteurs($identifiants);
|
425 |
$this->auteurs = $this->creerAuteurs($identifiants);
|
420 |
foreach ($elements as $element) {
|
426 |
foreach ($elements as $element) {
|
- |
|
427 |
$element['obs_etendue'] = isset($champs_etendus[$element['id_observation']]) ? $champs_etendus[$element['id_observation']] : array();
|
421 |
$donnees['items'][] = $this->construireDonneesCommunesAuxItems($element);
|
428 |
$donnees['items'][] = $this->construireDonneesCommunesAuxItems($element);
|
422 |
}
|
429 |
}
|
Line 423... |
Line 430... |
423 |
|
430 |
|
424 |
// Création du contenu à partir d'un template PHP
|
431 |
// Création du contenu à partir d'un template PHP
|
Line 522... |
Line 529... |
522 |
'<li>Modifiée le : '.$date_modification.'</li>'.
|
529 |
'<li>Modifiée le : '.$date_modification.'</li>'.
|
523 |
'<li>Créée le : '.$date_creation.'</li>'.
|
530 |
'<li>Créée le : '.$date_creation.'</li>'.
|
524 |
'<li>'.'Par : '.
|
531 |
'<li>'.'Par : '.
|
525 |
(($this->etreFluxAdmin()) ? '<a href="mailto:'.$auteur_mail.'">'.$auteur.'</a>' : $auteur).
|
532 |
(($this->etreFluxAdmin()) ? '<a href="mailto:'.$auteur_mail.'">'.$auteur.'</a>' : $auteur).
|
526 |
'</li>'.
|
533 |
'</li>'.
|
- |
|
534 |
$this->creerDescriptionChampsEtendus($obs, $item).
|
527 |
(($this->etreFluxAdmin()) ? '<li><a href="'.$lien_correction.'">Corriger cette observation</a></li>' : '').
|
535 |
(($this->etreFluxAdmin()) ? '<li><a href="'.$lien_correction.'">Corriger cette observation</a></li>' : '').
|
528 |
'</ul>';
|
536 |
'</ul>';
|
529 |
$description = $this->nettoyerTexte($description);
|
537 |
$description = $this->nettoyerTexte($description);
|
530 |
return $description;
|
538 |
return $description;
|
531 |
}
|
539 |
}
|
- |
|
540 |
|
- |
|
541 |
private function creerDescriptionChampsEtendus($obs, $item) {
|
- |
|
542 |
$champs_etendus = '';
|
- |
|
543 |
foreach($obs['obs_etendue'] as $cle => $valeur) {
|
- |
|
544 |
$champs_etendus .= '<li>'.$cle.' : '.$valeur.' </li>';
|
- |
|
545 |
}
|
- |
|
546 |
return $champs_etendus;
|
- |
|
547 |
}
|
Line 532... |
Line 548... |
532 |
|
548 |
|
533 |
private function creerCategorie($element) {
|
549 |
private function creerCategorie($element) {
|
534 |
$categorie = '';
|
550 |
$categorie = '';
|
535 |
$categorie = 'Observation';
|
551 |
$categorie = 'Observation';
|