| Line 203... |
Line 203... |
| 203 |
}
|
203 |
}
|
| Line 204... |
Line 204... |
| 204 |
|
204 |
|
| 205 |
protected function executerRequete($requete, $retour = 'All', $mode = PDO::FETCH_ASSOC) {
|
205 |
protected function executerRequete($requete, $retour = 'All', $mode = PDO::FETCH_ASSOC) {
|
| 206 |
$infos = null;
|
206 |
$infos = null;
|
| 207 |
try {
|
207 |
try {
|
| 208 |
$infos = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
|
208 |
$infos = Cel::db()->query($requete)->fetchAll(PDO::FETCH_ASSOC);
|
| 209 |
if ($infos === false) {
|
209 |
if ($infos === false) {
|
| 210 |
$this->messages[] = "La requête suivante a retourné aucun résultat :\n$requete";
|
210 |
$this->messages[] = "La requête suivante a retourné aucun résultat :\n$requete";
|
| 211 |
}
|
211 |
}
|
| 212 |
} catch (PDOException $e) {
|
212 |
} catch (PDOException $e) {
|
| 213 |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
|
213 |
$this->messages[] = sprintf(Cel::db()->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
|
| 214 |
}
|
214 |
}
|
| 215 |
return $infos;
|
215 |
return $infos;
|
| Line 216... |
Line 216... |
| 216 |
}
|
216 |
}
|
| Line 260... |
Line 260... |
| 260 |
$item['date_maj_W3C'] = date(DATE_W3C, $date_modification_timestamp);
|
260 |
$item['date_maj_W3C'] = date(DATE_W3C, $date_modification_timestamp);
|
| 261 |
$item['titre'] = $this->creerTitre($info);
|
261 |
$item['titre'] = $this->creerTitre($info);
|
| 262 |
$item['guid'] = $this->creerGuidItem($info);
|
262 |
$item['guid'] = $this->creerGuidItem($info);
|
| 263 |
$item['lien'] = $this->creerLienItem($info);
|
263 |
$item['lien'] = $this->creerLienItem($info);
|
| 264 |
$item['categorie'] = $this->creerCategorie($item);
|
264 |
$item['categorie'] = $this->creerCategorie($item);
|
| 265 |
$item['description'] = $this->creerDescription($this->protegerCaracteresHtmlDansChamps($info), $item);
|
265 |
$item['description'] = $this->creerDescription(Cel::db()->protegerCaracteresHtmlDansChamps($info), $item);
|
| 266 |
$item['description_encodee'] = htmlspecialchars($this->creerDescription($info, $item));
|
266 |
$item['description_encodee'] = htmlspecialchars($this->creerDescription($info, $item));
|
| 267 |
$item['modifier_par'] = $this->getIntituleAuteur($info['courriel_utilisateur']);
|
267 |
$item['modifier_par'] = $this->getIntituleAuteur($info['courriel_utilisateur']);
|
| 268 |
return $item;
|
268 |
return $item;
|
| 269 |
}
|
269 |
}
|
| Line 482... |
Line 482... |
| 482 |
$requete = '';
|
482 |
$requete = '';
|
| 483 |
foreach ($criteres as $pair) {
|
483 |
foreach ($criteres as $pair) {
|
| 484 |
$nom_valeur = explode("=",$pair);
|
484 |
$nom_valeur = explode("=",$pair);
|
| 485 |
if (sizeof($nom_valeur) != 0) {
|
485 |
if (sizeof($nom_valeur) != 0) {
|
| 486 |
switch ($nom_valeur[0]) {
|
486 |
switch ($nom_valeur[0]) {
|
| 487 |
case "ci_limite" : $this->limit = $this->bdd->quote($nom_valeur[1]); break;
|
487 |
case "ci_limite" : $this->limit = Cel::db()->quote($nom_valeur[1]); break;
|
| 488 |
case "c.ci_numero_page" : $this->limit*$this->bdd->quote($nom_valeur[1]); break;
|
488 |
case "c.ci_numero_page" : $this->limit*Cel::db()->quote($nom_valeur[1]); break;
|
| 489 |
case "c.commentaire" : $mots_comment_liste = explode(" " , $nom_valeur[1]);
|
489 |
case "c.commentaire" : $mots_comment_liste = explode(" " , $nom_valeur[1]);
|
| 490 |
foreach($mots_comment_liste as $mot_comment) {
|
490 |
foreach($mots_comment_liste as $mot_comment) {
|
| 491 |
$mot_comment = trim($mot_comment) ;
|
491 |
$mot_comment = trim($mot_comment) ;
|
| 492 |
$requete .= $nom_valeur[0].' LIKE '.$this->bdd->quote('%'.$mot_comment.'%').' AND ';
|
492 |
$requete .= $nom_valeur[0].' LIKE '.Cel::db()->quote('%'.$mot_comment.'%').' AND ';
|
| 493 |
}
|
493 |
}
|
| 494 |
break;
|
494 |
break;
|
| 495 |
case "c.date_prise_de_vue" :
|
495 |
case "c.date_prise_de_vue" :
|
| 496 |
$nom_valeur[1] = str_replace('/', '-', $nom_valeur[1]);
|
496 |
$nom_valeur[1] = str_replace('/', '-', $nom_valeur[1]);
|
| 497 |
if (preg_match('/(^[0-9]{2})-([0-9]{2})-([0-9]{4}$)/', $nom_valeur[1], $matches)) {
|
497 |
if (preg_match('/(^[0-9]{2})-([0-9]{2})-([0-9]{4}$)/', $nom_valeur[1], $matches)) {
|
| 498 |
$nom_valeur[1] = $matches[3].'-'.$matches[2].'-'.$matches[1];
|
498 |
$nom_valeur[1] = $matches[3].'-'.$matches[2].'-'.$matches[1];
|
| 499 |
}
|
499 |
}
|
| 500 |
$requete .= $nom_valeur[0].' LIKE '.$this->bdd->quote($nom_valeur[1]."%").' AND '; break;
|
500 |
$requete .= $nom_valeur[0].' LIKE '.Cel::db()->quote($nom_valeur[1]."%").' AND '; break;
|
| 501 |
case "b.ce_zone_geo" :
|
501 |
case "b.ce_zone_geo" :
|
| 502 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%INSEE-C:'.$nom_valeur[1].'%") AND '; break;
|
502 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%INSEE-C:'.$nom_valeur[1].'%") AND '; break;
|
| 503 |
case "b.nom_ret" :
|
503 |
case "b.nom_ret" :
|
| 504 |
if ($nom_valeur[1] == "indetermine") $nom_valeur[1] = 'null';
|
504 |
if ($nom_valeur[1] == "indetermine") $nom_valeur[1] = 'null';
|
| 505 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%" OR b.nom_sel LIKE "%'.
|
505 |
$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%" OR b.nom_sel LIKE "%'.
|
| Line 517... |
Line 517... |
| 517 |
private function creerSousRequeteMotsCles($mot_cle) {
|
517 |
private function creerSousRequeteMotsCles($mot_cle) {
|
| 518 |
$requete = '';
|
518 |
$requete = '';
|
| 519 |
if (preg_match('/.*OU.*/', $mot_cle)) {
|
519 |
if (preg_match('/.*OU.*/', $mot_cle)) {
|
| 520 |
$mots_cles_tab = explode('OU',$mot_cle);
|
520 |
$mots_cles_tab = explode('OU',$mot_cle);
|
| 521 |
foreach($mots_cles_tab as $mot_cle_item) {
|
521 |
foreach($mots_cles_tab as $mot_cle_item) {
|
| 522 |
$requete .= '(c.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR ';
|
522 |
$requete .= '(c.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') OR ';
|
| 523 |
}
|
523 |
}
|
| 524 |
$requete = '('.rtrim($requete,'OR ').')';
|
524 |
$requete = '('.rtrim($requete,'OR ').')';
|
| 525 |
} else if (preg_match('/.*ET.*/', $mot_cle)) {
|
525 |
} else if (preg_match('/.*ET.*/', $mot_cle)) {
|
| 526 |
$mots_cles_tab = explode('ET',$mot_cle);
|
526 |
$mots_cles_tab = explode('ET',$mot_cle);
|
| 527 |
foreach($mots_cles_tab as $mot_cle_item) {
|
527 |
foreach($mots_cles_tab as $mot_cle_item) {
|
| 528 |
$requete .= '(c.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
|
528 |
$requete .= '(c.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') AND ';
|
| 529 |
}
|
529 |
}
|
| 530 |
$requete = '('.rtrim($requete, 'AND ').') ';
|
530 |
$requete = '('.rtrim($requete, 'AND ').') ';
|
| 531 |
} else {
|
531 |
} else {
|
| 532 |
$requete = "(c.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') ';
|
532 |
$requete = "(c.mots_cles_texte LIKE ".Cel::db()->proteger('%'.$mot_cle.'%').') ';
|
| 533 |
}
|
533 |
}
|
| 534 |
return $requete;
|
534 |
return $requete;
|
| 535 |
}
|
535 |
}
|
| Line 536... |
Line 536... |
| 536 |
|
536 |
|
| 537 |
private function creerSousRequeteProjet($mot_cle) {
|
537 |
private function creerSousRequeteProjet($mot_cle) {
|
| 538 |
$requete = '';
|
538 |
$requete = '';
|
| 539 |
if (preg_match('/.*OU.*/', $mot_cle)) {
|
539 |
if (preg_match('/.*OU.*/', $mot_cle)) {
|
| 540 |
$mots_cles_tab = explode('OU',$mot_cle);
|
540 |
$mots_cles_tab = explode('OU',$mot_cle);
|
| 541 |
foreach($mots_cles_tab as $mot_cle_item) {
|
541 |
foreach($mots_cles_tab as $mot_cle_item) {
|
| 542 |
$requete .= '(b.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR ';
|
542 |
$requete .= '(b.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') OR ';
|
| 543 |
}
|
543 |
}
|
| 544 |
$requete = '('.rtrim($requete,'OR ').')';
|
544 |
$requete = '('.rtrim($requete,'OR ').')';
|
| 545 |
} else if (preg_match('/.*ET.*/', $mot_cle)) {
|
545 |
} else if (preg_match('/.*ET.*/', $mot_cle)) {
|
| 546 |
$mots_cles_tab = explode('ET',$mot_cle);
|
546 |
$mots_cles_tab = explode('ET',$mot_cle);
|
| 547 |
foreach($mots_cles_tab as $mot_cle_item) {
|
547 |
foreach($mots_cles_tab as $mot_cle_item) {
|
| 548 |
$requete .= '(b.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
|
548 |
$requete .= '(b.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') AND ';
|
| 549 |
}
|
549 |
}
|
| 550 |
$requete = '('.rtrim($requete, 'AND ').') ';
|
550 |
$requete = '('.rtrim($requete, 'AND ').') ';
|
| 551 |
} else {
|
551 |
} else {
|
| 552 |
$requete = "(b.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') ';
|
552 |
$requete = "(b.mots_cles_texte LIKE ".Cel::db()->proteger('%'.$mot_cle.'%').') ';
|
| 553 |
}
|
553 |
}
|
| 554 |
return $requete;
|
554 |
return $requete;
|
| Line 555... |
Line 555... |
| 555 |
}
|
555 |
}
|