/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 |
/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/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/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' ; |