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