Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1385 → Rev 1386

/trunk/jrest/lib/RechercheInfosTaxon.php
74,7 → 74,7
}
if ($requete_recherche != '') {
$resultat_recherche = $this->requeter($requete_recherche);
$resultat_recherche = $this->executerRequete($requete_recherche);
if (is_array($resultat_recherche)) {
foreach ($resultat_recherche as $ligne) {
156,7 → 156,7
" AND a.esn_id_version_projet_taxon=en_id_version_projet_nom ";
 
$resultat_infos_complementaires = $this->requeter($requete_infos_complementaires);
$resultat_infos_complementaires = $this->executerRequete($requete_infos_complementaires);
return $resultat_infos_complementaires;
}
186,7 → 186,7
" AND en_ce_auteur_modif = auteur_m.enaia_id_intitule_naturaliste_abrege ".
" AND esn_id_version_projet_taxon=en_id_version_projet_nom ";
$resultat_infos_complementaires = $this->requeter($requete_infos_complementaires);
$resultat_infos_complementaires = $this->executerRequete($requete_infos_complementaires);
return $resultat_infos_complementaires;
}
204,7 → 204,7
'eni_intitule_nom LIKE "'.$nom_saisi.'%" '.
'ORDER BY LENGTH(eni_intitule_nom)';
$resultat_infos_comp_sur_nom = $this->requeter($requete_infos_comp_sur_nom);
$resultat_infos_comp_sur_nom = $this->executerRequete($requete_infos_comp_sur_nom);
if (is_array($resultat_infos_comp_sur_nom)) {
foreach ($resultat_infos_comp_sur_nom as $ligne) {
234,7 → 234,7
" AND en_id_nom = esn_id_nom ".
" AND esn_id_version_projet_taxon=en_id_version_projet_nom ";
$resultat_recherche_famille = $this->requeter($requete_famille);
$resultat_recherche_famille = $this->executerRequete($requete_famille);
if (!is_array($resultat_recherche_famille) || count($resultat_recherche_famille) == 0) {
$resultat_recherche_famille = array('en_ce_rang' => 'fin');
258,7 → 258,7
" AND en_id_nom = b.esn_id_nom" .
" AND a.esn_id_version_projet_taxon=en_id_version_projet_nom ";
$res_num_nom = $this->requeter($requete_num_tax);
$res_num_nom = $this->executerRequete($requete_num_tax);
$nt = null;
if (is_array($res_num_nom) && count($res_num_nom) > 0) {
277,7 → 277,7
"AND ezg_id_projet_zg = ecd_ce_version_projet_zg ".
"AND ecd_ce_version_projet_taxon=25";
$resultat_presence_taxon = $this->requeter($requete_presence_taxon);
$resultat_presence_taxon = $this->executerRequete($requete_presence_taxon);
$presence_taxon = (is_array($resultat_presence_taxon) && count($resultat_presence_taxon) > 0);
313,7 → 313,7
}
$resultat = $this->requeter($requete);
$resultat = $this->executerRequete($requete);
$retour = array();
if (is_array($resultat) && count($resultat) > 0) {
/trunk/jrest/lib/Cel.php
125,10 → 125,6
return $tableau;
}
 
/**
* @deprecated utiliser executer() à la place
* @see executer()
*/
protected function executerRequeteSimple($requete) {
$resultat = false;
try {
142,10 → 138,6
return $resultat;
}
 
/**
* @deprecated utiliser requeter() à la place
* @see requeter()
*/
protected function executerRequete($requete, $retour = self::SQL_RETOUR_COMPLET, $mode = PDO::FETCH_ASSOC) {
$resultat = false;
try {
/trunk/jrest/lib/GestionObservation.php
40,7 → 40,10
$requete_insertion_observation = $requete_insertion_observation.$sous_requete_colonnes;
$resultat_ajout_observation = $this->executer($requete_insertion_observation);
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete contient des | (pipes)
// ce qui peut arriver dans les commentaires
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
$resultat_ajout_observation = $this->executerRequeteSimple($requete_insertion_observation);
 
if ($resultat_ajout_observation === false) {
$retour = false;
63,7 → 66,7
$requete_selection_dernier_ordre = "SELECT max(ordre) AS ordre FROM cel_obs ".
"WHERE ce_utilisateur = ".$this->proteger($utilisateur);
 
$dernier_ordre = $this->requeter($requete_selection_dernier_ordre);
$dernier_ordre = $this->executerRequete($requete_selection_dernier_ordre);
$nouvel_ordre = 0;
if (is_array($dernier_ordre) && count($dernier_ordre) > 0 && trim($dernier_ordre[0]['ordre']) != '') {
91,7 → 94,10
 
$requete_modification .= " WHERE ordre IN (".$ordre.") AND ce_utilisateur = ".$this->proteger($utilisateur);
 
$resultat_modification = $this->executer($requete_modification);
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete contient des | (pipes)
// ce qui peut arriver dans les commentaires
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
$resultat_modification = $this->executerRequeteSimple($requete_modification);
if ($resultat_modification === false) {
$retour = false;
132,7 → 138,7
'ce_utilisateur = '.$this->proteger($utilisateur).' '.
'AND id_observation IN ('.$chaine_ids_obs.')';
 
$resultat_suppression_observations = $this->executer($requete_supression_observations);
$resultat_suppression_observations = $this->executerRequeteSimple($requete_supression_observations);
// TODO: Faire la suppression des mots clés
// et des liaisons obs images dans une ou des fonctions à part
145,7 → 151,7
'id_utilisateur = '.$this->proteger($utilisateur).' '.
'AND id_observation IN ('.$chaine_ids_obs.')';
$resultat_suppression_liens = $this->executer($requete_supression_lien_obs_images);
$resultat_suppression_liens = $this->executerRequeteSimple($requete_supression_lien_obs_images);
if ($resultat_suppression_liens === false) {
$this->logger("CEL_bugs","Erreur de suppression d'une liste de liaison entre observations et images : ".$requete_supression_lien_obs_images);
158,7 → 164,7
$requete_supression_lien_mots_cles = 'DELETE FROM cel_obs_mots_cles WHERE '.
'id_observation in ('.$chaine_ids_obs.')';
$resultat_suppression_mots_cles = $this->executer($requete_supression_lien_mots_cles);
$resultat_suppression_mots_cles = $this->executerRequeteSimple($requete_supression_lien_mots_cles);
if ($resultat_suppression_mots_cles === false) {
$this->logger("CEL_bugs","Erreur de suppression d'une liste de mots clés d'observation(s) : ".$resultat_suppression_mots_cles);
}
188,7 → 194,7
// Recuperation relevés associés a la session
$requete_selection_releves_temporaires = 'SELECT ordre FROM cel_obs WHERE ce_utilisateur = '.$this->proteger($ancien_id).' ORDER BY ordre';
$resultat_releves_temporaires = $this->requeter($requete_selection_releves_temporaires);
$resultat_releves_temporaires = $this->executerRequete($requete_selection_releves_temporaires);
$reussite = true;
if(is_array($resultat_releves_temporaires)) {
199,7 → 205,7
'ordre = '.$nouvel_ordre.' '.
'WHERE ce_utilisateur = '.$ancien_id.' '.
'AND ordre = '.$releve_temporaire['ordre'];
$migration_releve = $this->executer($requete_migration_releve);
$migration_releve = $this->executerRequeteSimple($requete_migration_releve);
//TODO: meilleure vérification
if($migration_releve === false) {
/trunk/jrest/lib/RechercheObservation.php
34,7 → 34,7
$requete_selection_id .= ' AND ce_utilisateur = '.$this->proteger($id_utilisateur);
$requete_selection_id .= ' ORDER BY id_observation';
$resultat_ids = $this->requeter($requete_selection_id);
$resultat_ids = $this->executerRequete($requete_selection_id);
$ids = array();
if(is_array($resultat_ids)) {
60,11 → 60,10
$requete_selection_observations .= $sous_requete_recherche;
$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
$requete_selection_observations .= ' ORDER BY id_observation, ordre ';
$requete_selection_observations .= ($debut != 0 && $limite != 0) ? 'LIMIT '.$debut.','.$limite : '' ;
$resultats_observations = array();
$resultats_observations = $this->requeter($requete_selection_observations);
$resultats_observations = $this->executerRequete($requete_selection_observations);
 
return $resultats_observations;
}
85,7 → 84,7
$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
$nb_obs = '0';
$resultat_requete_nombre_observations = $this->requeter($requete_selection_observations);
$resultat_requete_nombre_observations = $this->executerRequete($requete_selection_observations);
if($resultat_requete_nombre_observations && is_array($resultat_requete_nombre_observations) && count($resultat_requete_nombre_observations) > 0) {
$nb_obs = $resultat_requete_nombre_observations[0]['nb_obs'];
121,7 → 120,7
'FROM cel_obs_mots_cles '.
'WHERE id_observation = '.$id_observation;
return $this->requeter($requete_selection_mots_cles);
return $this->executerRequete($requete_selection_mots_cles);
}
// TODO: fonction temporaire
152,7 → 151,7
switch ($nom) {
case "mots_cles";
$sous_requete .= 'mots_cles_texte LIKE '.$this->proteger('%'.$valeur.'%').' AND ';
$sous_requete .= $this->creerSousRequeteMotsCles($valeur);
break;
case 'annee':
228,6 → 227,13
$sous_requete .= 'date_observation <= '.$this->proteger($this->formaterEnDateMysql($valeur));
$sous_requete .= ' AND ';
break;
case 'taxon':
$valeur_protegee = $this->proteger($valeur."%");
$sous_requete .= "( nom_sel LIKE ".$valeur_protegee." OR".
" nom_ret LIKE ".$valeur_protegee." OR".
" famille LIKE ".$valeur_protegee.
" ) AND ";
break;
default:
if(trim($nom) != '')
{
280,7 → 286,27
" OR mots_cles_texte LIKE ".$valeur.
")";
return $sous_requete;
}
}
 
private function creerSousRequeteMotsCles($mot_cle) {
$requete = '';
if (preg_match('/.*OU.*/', $mot_cle)) {
$mots_cles_tab = explode('OU',$mot_cle);
foreach($mots_cles_tab as $mot_cle_item) {
$requete .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR ';
}
$requete = '('.rtrim($requete,'OR ').')';
} else if (preg_match('/.*ET.*/', $mot_cle)) {
$mots_cles_tab = explode('ET',$mot_cle);
foreach($mots_cles_tab as $mot_cle_item) {
$requete .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
}
$requete = '('.rtrim($requete, 'AND ').') ';
} else {
$requete = "(ci.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') ';
}
return $requete;
}
private function estUnvaleurZeroNulle($valeur) {
return $valeur == "000null";
/trunk/jrest/lib/GestionImage.php
66,7 → 66,10
$requete_insertion_infos_image = $this->construireRequeteInsertionImage($informations_image);
$resultat_insertion_infos_image = $this->executer($requete_insertion_infos_image);
// important ! ne pas utiliser la fonction executerRequete qui renvoie une erreur si la requete contient des | (pipes)
// ce qui est fréquent dans les métadonnées
// TODO: corriger la fonction ou bien continuer à utiliser executerRequeteSimple
$resultat_insertion_infos_image = $this->executerRequeteSimple($requete_insertion_infos_image);
 
if (!$resultat_insertion_infos_image) {
$message = "Echec de l'insertion dans la base de donnees : " ;
97,7 → 100,7
$nouvel_ordre = 0 ;
$requete_selection_ordre_max ='SELECT MAX(ordre) as max_ordre FROM cel_images WHERE ce_utilisateur = '.$this->proteger($id_utilisateur) ;
$resultat_requete_ordre_max = $this->requeter($requete_selection_ordre_max);
$resultat_requete_ordre_max = $this->executerRequete($requete_selection_ordre_max);
if($resultat_requete_ordre_max !== false) {
$nouvel_ordre = $resultat_requete_ordre_max[0]['max_ordre'];
112,7 → 115,7
$id_image = false;
$requete_id_image ='SELECT id_image FROM cel_images WHERE ce_utilisateur = '.$this->proteger($id_utilisateur).' AND ordre = '.$ordre ;
$resultat_id_image = $this->requeter($requete_id_image);
$resultat_id_image = $this->executerRequete($requete_id_image);
 
if (count($resultat_id_image) > 0)
{
173,7 → 176,7
$requete_mise_a_jour_image .= ' WHERE id_image = '.$this->proteger($id_image).
' AND ce_utilisateur = '.$this->proteger($utilisateur);
 
$resultat_mise_a_jour = $this->executer($requete_mise_a_jour_image);
$resultat_mise_a_jour = $this->executerRequeteSimple($requete_mise_a_jour_image);
return ($resultat_mise_a_jour !== false);
}
227,7 → 230,7
'ce_utilisateur = '.$this->proteger($id_utilisateur).' '.
'AND ordre IN ('.$ids_images.') ';
$tableau_ids_images = $this->requeter($requete_selection_ids_images);
$tableau_ids_images = $this->executerRequete($requete_selection_ids_images);
$chaine_ids_images = '';
foreach($tableau_ids_images as $id_image) {
$chaine_ids_images .= $id_image['id_image'];
252,9 → 255,9
$requete_suppression_lien_images_obs = "DELETE FROM cel_obs_images WHERE id_image in (".$chaine_ids_images.")";
$requete_suppression_lien_images_mots_cles = "DELETE FROM cel_images_mots_cles WHERE id_image in (".$chaine_ids_images.")";
$resultat_suppression_image = $this->executer($requete_suppression_images);
$resultat_suppression_lien_images_obs = $this->executer($requete_suppression_lien_images_obs);
$resultat_suppression_lien_images_mots_cles = $this->executer($requete_suppression_lien_images_mots_cles);
$resultat_suppression_image = $this->executerRequeteSimple($requete_suppression_images);
$resultat_suppression_lien_images_obs = $this->executerRequeteSimple($requete_suppression_lien_images_obs);
$resultat_suppression_lien_images_mots_cles = $this->executerRequeteSimple($requete_suppression_lien_images_mots_cles);
if ($resultat_suppression_image === false) {
$message = 'Erreur lors de la suppression de l\'image' ;
/trunk/jrest/lib/RechercheImage.php
55,7 → 55,7
$requete_recherche_images .= ' ORDER BY ci.ordre LIMIT '.$debut.','.$limite ;
 
$resultats_images = array();
$resultats_images = $this->requeter($requete_recherche_images);
$resultats_images = $this->executerRequete($requete_recherche_images);
return $resultats_images;
}
78,7 → 78,7
$requete_recherche_images .= $sous_requete_recherche;
$nb_images = 0;
 
$resultat_requete_nombre_images = $this->requeter($requete_recherche_images);
$resultat_requete_nombre_images = $this->executerRequete($requete_recherche_images);
if($resultat_requete_nombre_images && is_array($resultat_requete_nombre_images) && count($resultat_requete_nombre_images) > 0) {
$nb_images = $resultat_requete_nombre_images[0]['nb_images'];
108,7 → 108,7
$requete_table_liaison = 'SELECT id_observation FROM cel_obs_images WHERE id_image = '.$id_image;
$resultats_liaisons_images = $this->requeter($requete_table_liaison);
$resultats_liaisons_images = $this->executerRequete($requete_table_liaison);
 
$ids_obs = '';
120,7 → 120,7
 
if(trim($ids_obs) != '') {
$requete_obs_liees = 'SELECT * FROM cel_obs WHERE id_observation IN ('.$ids_obs.') AND ce_utilisateur ="'.$id_utilisateur.'"';
$resultat_obs_liees = $this->requeter($requete_obs_liees);
$resultat_obs_liees = $this->executerRequete($requete_obs_liees);
 
foreach($resultat_obs_liees as $obs_liee)
{
144,7 → 144,7
switch($nom) {
case "mots_cles";
$sous_requete .= 'ci.mots_cles_texte LIKE '.$this->proteger('%'.$valeur.'%').' AND ';
$sous_requete .= $this->creerSousRequeteMotsCles($valeur);
break;
case "id_mots_cles";
278,15 → 278,25
return $requete_recherche_date;
}
//TODO a refaire
private function fabriquerSousRequeteMotsClesOu($mot_cle) {
}
//TODO a refaire
private function fabriquerSousRequeteMotsClesEt($mot_cle) {
}
private function creerSousRequeteMotsCles($mot_cle) {
$requete = '';
if (preg_match('/.*OU.*/', $mot_cle)) {
$mots_cles_tab = explode('OU',$mot_cle);
foreach($mots_cles_tab as $mot_cle_item) {
$requete .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR ';
}
$requete = '('.rtrim($requete,'OR ').')';
} else if (preg_match('/.*ET.*/', $mot_cle)) {
$mots_cles_tab = explode('ET',$mot_cle);
foreach($mots_cles_tab as $mot_cle_item) {
$requete .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
}
$requete = '('.rtrim($requete, 'AND ').') ';
} else {
$requete = "(ci.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') ';
}
return $requete;
}
 
public function formaterPourEnvoiCel($tableau_images) {
foreach($tableau_images as &$image) {
308,7 → 318,7
'FROM cel_images_mots_cles '.
'WHERE id_image = '.$id_image;
return $this->requeter($requete_selection_mots_cles);
return $this->executerRequete($requete_selection_mots_cles);
}
// TODO: fonction temporaire