Subversion Repositories eFlore/Applications.cel

Rev

Rev 1622 | Rev 1790 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1622 Rev 1765
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
	}