/trunk/jrest/services/SelfRefList.php |
---|
46,7 → 46,7 |
$requete_referentiel .= " ORDER BY '.$referentiel_demande.' LIMIT ".$_GET["start"].",".$_GET["limit"]; |
} |
$referentiel_resultat = $this->executerRequete($requete_referentiel); |
$referentiel_resultat = Cel::db()->executerRequete($requete_referentiel); |
$referentiel = array(); |
foreach($referentiel_resultat as $cle => $valeur) { |
/trunk/jrest/services/InventoryLocationList.php |
---|
28,10 → 28,10 |
$retour = array(); |
$requete_zones_geo = 'SELECT DISTINCT ce_zone_geo, zone_geo, lieudit, station FROM cel_obs '. |
'WHERE ce_utilisateur = '.$this->proteger($uid[0]).' '. |
'WHERE ce_utilisateur = '.Cel::db()->proteger($uid[0]).' '. |
'ORDER BY ce_zone_geo ASC, zone_geo ASC, lieudit ASC, station ASC'; |
$resultat_zones_geo = $this->requeter($requete_zones_geo); |
$resultat_zones_geo = Cel::db()->requeter($requete_zones_geo); |
if (is_array($resultat_zones_geo)) { |
$retour = $resultat_zones_geo; |
/trunk/jrest/services/ImageContribution.php |
---|
29,10 → 29,10 |
function getElement($uid){ |
$requete_obs_liee_images = 'SELECT * FROM cel_obs'. |
' WHERE ce_utilisateur = '.$this->proteger($uid[1]). |
' WHERE ce_utilisateur = '.Cel::db()->proteger($uid[1]). |
' AND id_observation IN (SELECT id_observation |
FROM cel_obs_images |
WHERE id_utilisateur = '.$this->proteger($uid[1]).' )'. |
WHERE id_utilisateur = '.Cel::db()->proteger($uid[1]).' )'. |
' AND transmission = 0'. |
' ORDER BY date_modification DESC LIMIT 0,5'; |
40,7 → 40,7 |
$obs_liees_images = array(); |
$resultat_obs_liees_images = $this->requeter($requete_obs_liee_images); |
$resultat_obs_liees_images = Cel::db()->requeter($requete_obs_liee_images); |
if(is_array($resultat_obs_liees_images)) { |
$obs_liees_images = $resultat_obs_liees_images; |
55,7 → 55,7 |
'WHERE id_observation = "'.$obs['id_observation'].'") '. |
'AND ce_utilisateur = "'.$obs['ce_utilisateur'].'"' ; |
$resultat_requete_img_liees = $this->requeter($requete_img_liees); |
$resultat_requete_img_liees = Cel::db()->requeter($requete_img_liees); |
if (is_array($resultat_requete_img_liees) && count($resultat_requete_img_liees) > 0) { |
/trunk/jrest/services/InventoryDateList.php |
---|
41,7 → 41,7 |
'FROM cel_obs WHERE '.$condition_requete.' '. |
'ORDER BY date_observation'; |
$liste_dates = $this->executerRequete($requete_liste_dates); |
$liste_dates = Cel::db()->executerRequete($requete_liste_dates); |
$liste_dates = $this->formaterListeResultats($liste_dates); |
69,13 → 69,13 |
private function traiterParametresEtConstruireRequete($params) { |
$requete_condition = ' ce_utilisateur = '.$this->proteger($params[0]); |
$requete_condition = ' ce_utilisateur = '.Cel::db()->proteger($params[0]); |
$taille_tableau_parametres = count($params); |
for($i=1; $i < $taille_tableau_parametres; $i++) { |
if($this->estUnParametreDate($params[$i])) { |
$fonction_date = $this->correspondance_fonction[$i]; |
$requete_condition .= ' AND '.$fonction_date.'(date_observation) = '.$this->proteger($params[$i]); |
$requete_condition .= ' AND '.$fonction_date.'(date_observation) = '.Cel::db()->proteger($params[$i]); |
} |
} |
/trunk/jrest/services/InventoryContributionList.php |
---|
30,10 → 30,10 |
} |
$requete_contributions = "SELECT * FROM cel_obs ". |
"WHERE ce_utilisateur = ".$this->proteger($uid[0])." ". |
"WHERE ce_utilisateur = ".Cel::db()->proteger($uid[0])." ". |
"ORDER BY date_modification DESC LIMIT 0,5"; |
$resultat_contributions = $this->requeter($requete_contributions); |
$resultat_contributions = Cel::db()->requeter($requete_contributions); |
$resume = ''; |
/trunk/jrest/services/InventoryCheck.php |
---|
27,7 → 27,7 |
$requete_obs ="SELECT id_observation, zone_geo, ce_zone_geo, date_observation, ce_utilisateur, courriel_utilisateur FROM cel_obs"; |
$resultat_obs = $this->requeter($requete_obs); |
$resultat_obs = Cel::db()->requeter($requete_obs); |
$observations = array(); |
if (is_array($resultat_obs)) { |
43,7 → 43,7 |
$requete_lieu = "select * from cel_zones_geo where name = '".mysql_escape_string($obs['zone_geo'])."' limit 1"; |
} |
$res_loc = $this->requeter($requete_lieu); |
$res_loc = Cel::db()->requeter($requete_lieu); |
if (is_array($res_loc) && count($res_loc) > 0) { |
/trunk/jrest/services/InventoryKeyWordList.php |
---|
47,10 → 47,10 |
$requete = 'SELECT mot_cle, id_mot_cle'.$this->suffixe_champ.', ce_mot_cle'.$this->suffixe_champ.'_parent '. |
'FROM cel_mots_cles'.$this->suffixe_table.' '. |
'WHERE id_utilisateur = '.$this->proteger($id_utilisateur).' '. |
'WHERE id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '. |
'ORDER BY niveau '; |
$resultats_mots_cles = $this->requeter($requete); |
$resultats_mots_cles = Cel::db()->requeter($requete); |
if (is_array($resultats_mots_cles)) { |
$mots_cles = array(); |
77,11 → 77,11 |
$nouvel_id_general = md5(mb_strtolower($nouveau_nom)); |
$requete = 'UPDATE cel_mots_cles'.$this->suffixe_table.' '. |
'SET mot_cle = '.$this->proteger($nouveau_nom).' , '. |
' md5 = '.$this->proteger($nouvel_id_general).' '. |
'WHERE id_mot_cle'.$this->suffixe_champ.' = '.$this->proteger($id_mot_cle).' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur) ; |
$reussite = $this->executer($requete); |
'SET mot_cle = '.Cel::db()->proteger($nouveau_nom).' , '. |
' md5 = '.Cel::db()->proteger($nouvel_id_general).' '. |
'WHERE id_mot_cle'.$this->suffixe_champ.' = '.Cel::db()->proteger($id_mot_cle).' '. |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur) ; |
$reussite = Cel::db()->executer($requete); |
if ($reussite !== false) { |
echo 'OK'; |
} |
161,16 → 161,16 |
$requete = 'INSERT INTO cel_mots_cles'.$this->suffixe_table.' '. |
'VALUES ( '. |
$this->proteger($id_mot_cle).', '. |
$this->proteger($id_utilisateur).', '. |
$this->proteger($mot_cle).', '. |
$this->proteger($id_mot_cle_general).', '. |
$this->proteger($bg).', '. |
$this->proteger($bd).', '. |
$this->proteger($niveau).', '. |
$this->proteger($id_parent).') ' ; |
Cel::db()->proteger($id_mot_cle).', '. |
Cel::db()->proteger($id_utilisateur).', '. |
Cel::db()->proteger($mot_cle).', '. |
Cel::db()->proteger($id_mot_cle_general).', '. |
Cel::db()->proteger($bg).', '. |
Cel::db()->proteger($bd).', '. |
Cel::db()->proteger($niveau).', '. |
Cel::db()->proteger($id_parent).') ' ; |
$transaction_reussie_2 = $this->executer($requete); |
$transaction_reussie_2 = Cel::db()->executer($requete); |
if ($transaction_reussie_1 && $transaction_reussie_2) { |
$this->completerTransaction(); |
197,21 → 197,21 |
$bd = $bornes['bd']; |
$requete_mots_cles_fils = 'SELECT id_mot_cle'.$this->suffixe_champ.' as id FROM cel_mots_cles'.$this->suffixe_table.' '. |
'WHERE bg >= '.$this->proteger($bg).' '. |
' AND bd <= '.$this->proteger($bd).' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur).' '; |
'WHERE bg >= '.Cel::db()->proteger($bg).' '. |
' AND bd <= '.Cel::db()->proteger($bd).' '. |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '; |
$mots_cles_fils = $this->requeter($requete_mots_cles_fils); |
$mots_cles_fils = Cel::db()->requeter($requete_mots_cles_fils); |
foreach ($mots_cles_fils as $fils) { |
$tableau_ids_mots_cles[] = $fils['id']; |
} |
$requete = 'DELETE FROM cel_mots_cles'.$this->suffixe_table.' '. |
'WHERE bg >= '.$this->proteger($bg).' '. |
' AND bd <= '.$this->proteger($bd).' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur).' '; |
'WHERE bg >= '.Cel::db()->proteger($bg).' '. |
' AND bd <= '.Cel::db()->proteger($bd).' '. |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '; |
$transaction_reussie_1 = $this->executer($requete); |
$transaction_reussie_1 = Cel::db()->executer($requete); |
$transaction_reussie_2 = $this->decalerBornesMoinsIntervalle($bg, $bd, $id_utilisateur) ? true : false; |
if ($transaction_reussie_1 !== false && $transaction_reussie_2 !== false) { |
228,8 → 228,8 |
private function ajouterMotCleRacine($id) { |
$requete = 'SELECT COUNT(*) as nb_mc '. |
'FROM cel_mots_cles'.$this->suffixe_table.' '. |
'WHERE id_utilisateur = '.$this->proteger($id).' '; |
$resultat = $this->requeter($requete); |
'WHERE id_utilisateur = '.Cel::db()->proteger($id).' '; |
$resultat = Cel::db()->requeter($requete); |
if (is_array($resultat) && count($resultat) > 0) { |
$valeurs = $resultat[0]['nb_mc']; |
248,10 → 248,10 |
$id_racine = $this->suffixe; |
} |
$md5_racine = $this->proteger(md5($nom_racine)); |
$id_racine = $this->proteger($id_racine); |
$nom_racine = $this->proteger($nom_racine); |
$id_utilisateur = $this->proteger($id); |
$md5_racine = Cel::db()->proteger(md5($nom_racine)); |
$id_racine = Cel::db()->proteger($id_racine); |
$nom_racine = Cel::db()->proteger($nom_racine); |
$id_utilisateur = Cel::db()->proteger($id); |
if ($valeurs == 0) { |
$requete = "INSERT INTO cel_mots_cles{$this->suffixe_table} ". |
258,7 → 258,7 |
"VALUES ($id_racine, $id_utilisateur, $nom_racine, $md5_racine, ". |
"1, 2, 0, '') "; |
$this->executer($requete); |
Cel::db()->executer($requete); |
} |
} |
} |
269,11 → 269,11 |
private function commencerTransaction() { |
// Désactive l'autocommit le temps de la manipulation de l'arbre |
$requete = 'SET AUTOCOMMIT = 0 '; |
$reussite_autocommit = $this->executer($requete); |
$reussite_autocommit = Cel::db()->executer($requete); |
// Débute une nouvelle transaction |
$requete = 'BEGIN '; |
$reussite_begin = $this->executer($requete); |
$reussite_begin = Cel::db()->executer($requete); |
} |
/** |
282,11 → 282,11 |
private function completerTransaction() { |
// Complète la transaction |
$requete = 'COMMIT '; |
$reussite_commit = $this->executer($requete); |
$reussite_commit = Cel::db()->executer($requete); |
// Réactive l'autocommit le temps de la manipulation de l'arbre |
$requete = 'SET AUTOCOMMIT = 1 '; |
$reussite_autocommit = $this->executer($requete); |
$reussite_autocommit = Cel::db()->executer($requete); |
echo 'OK'; |
} |
297,11 → 297,11 |
private function annulerTransaction() { |
// Annule la transaction |
$requete = 'ROLLBACK '; |
$reussite_rollback = $this->executer($requete); |
$reussite_rollback = Cel::db()->executer($requete); |
// Réactive l'autocommit le temps de la manipulation de l'arbre |
$requete = 'SET AUTOCOMMIT = 1 '; |
$reussite_autocommit = $this->executer($requete); |
$reussite_autocommit = Cel::db()->executer($requete); |
echo 'ERROR'; |
} |
312,10 → 312,10 |
private function calculerBornesEtNiveau($id_mot_cle,$id_utilisateur) { |
$requete = 'SELECT bd, bg, niveau '. |
'FROM cel_mots_cles'.$this->suffixe_table.' '. |
'WHERE id_mot_cle'.$this->suffixe_champ.' = '.$this->proteger($id_mot_cle).' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur).' '; |
'WHERE id_mot_cle'.$this->suffixe_champ.' = '.Cel::db()->proteger($id_mot_cle).' '. |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '; |
$resultat = $this->requeter($requete); |
$resultat = Cel::db()->requeter($requete); |
$valeurs = null; |
if(is_array($resultat) && count($resultat) > 0) { |
332,15 → 332,15 |
// Décalage borne droite |
$requete = 'UPDATE cel_mots_cles'.$this->suffixe_table.' '. |
'SET bd = bd + 2 WHERE bd >= '.$valeur.' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur).' '; |
$reussi_1 = $this->executer($requete); |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '; |
$reussi_1 = Cel::db()->executer($requete); |
// Décalage borne gauche |
$requete = 'UPDATE cel_mots_cles'.$this->suffixe_table.' '. |
'SET bg = bg + 2 '. |
'WHERE bg >= '.$valeur.' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur).' '; |
$reussi_2 = $this->executer($requete); |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '; |
$reussi_2 = Cel::db()->executer($requete); |
return $reussi_1 !== false && $reussi_2 !== false; |
} |
355,15 → 355,15 |
$requete = 'UPDATE cel_mots_cles'.$this->suffixe_table.' '. |
'SET bd = bd - '.$decalage.' '. |
'WHERE bd >= '.$bg.' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur).' '; |
$reussi_1 = $this->executer($requete); |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '; |
$reussi_1 = Cel::db()->executer($requete); |
// Décalage borne gauche |
$requete = 'UPDATE cel_mots_cles'.$this->suffixe_table.' '. |
'SET bg = bg - '.$decalage.' '. |
'WHERE bg > '.$bg.' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur).' '; |
$reussi_2 = $this->executer($requete); |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '; |
$reussi_2 = Cel::db()->executer($requete); |
return $reussi_1 !== false && $reussi_2 !== false; |
} |
378,15 → 378,15 |
$requete = 'UPDATE cel_mots_cles'.$this->suffixe_table.' '. |
'SET bd = bd + '.$decalage.' '. |
'WHERE bd >= '.$valeur_bornes.' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur).' '; |
$reussi_1 = $this->executer($requete); |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '; |
$reussi_1 = Cel::db()->executer($requete); |
// decalage borne gauche |
$requete = 'UPDATE cel_mots_cles'.$this->suffixe_table.' '. |
'SET bg = bg + '.$decalage.' '. |
'WHERE bg >= '.$valeur_bornes.' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur).' '; |
$reussi_2 = $this->executer($requete); |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '; |
$reussi_2 = Cel::db()->executer($requete); |
return $reussi_1 !== false && $reussi_2 !== false; |
} |
400,9 → 400,9 |
' bg = bg - '.$bd.' - 1 '. |
'WHERE bd <= '.$bd.' '. |
' AND bg >= '.$bg.' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur).' '; |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '; |
return $this->executer($requete); |
return Cel::db()->executer($requete); |
} |
/** |
417,18 → 417,18 |
' niveau = niveau + '.$modif_niveau.' '. |
' WHERE bg >= '.$bg.' '. |
' AND bd <= '.$bd.' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur).' '; |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '; |
return $this->executer($requete); |
return Cel::db()->executer($requete); |
} |
private function changerPere($id_mot_cle, $id_pere, $id_utilisateur) { |
$requete = 'UPDATE cel_mots_cles'.$this->suffixe_table.' '. |
'SET ce_mot_cle'.$this->suffixe_champ.'_parent = '.$this->proteger($id_pere).' '. |
'WHERE id_mot_cle'.$this->suffixe_champ.' = '.$this->proteger($id_mot_cle).' '. |
' AND id_utilisateur = '.$this->proteger($id_utilisateur).' '; |
'SET ce_mot_cle'.$this->suffixe_champ.'_parent = '.Cel::db()->proteger($id_pere).' '. |
'WHERE id_mot_cle'.$this->suffixe_champ.' = '.Cel::db()->proteger($id_mot_cle).' '. |
' AND id_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '; |
return $this->executer($requete); |
return Cel::db()->executer($requete); |
} |
} |
?> |
/trunk/jrest/services/LocationSearch.php |
---|
50,10 → 50,10 |
$requete_information_lieu = 'SELECT DISTINCT nom, code '. |
'FROM cel_zones_geo '. |
'WHERE '. |
'nom LIKE '.$this->proteger($lieu_formate.'%').' '. |
'nom LIKE '.Cel::db()->proteger($lieu_formate.'%').' '. |
'ORDER BY nom LIMIT 50'; |
$liste_lieux = $this->requeter($requete_information_lieu); |
$liste_lieux = Cel::db()->requeter($requete_information_lieu); |
if($liste_lieux) { |
foreach($liste_lieux as $lieu_trouve) { |
/trunk/jrest/services/Resume.php |
---|
23,11 → 23,11 |
function getElement($uid){ |
$requete_dernieres_obs = 'SELECT * FROM cel_obs'. |
' WHERE ce_utilisateur = '.$this->proteger($uid[1]). |
' WHERE ce_utilisateur = '.Cel::db()->proteger($uid[1]). |
' AND transmission = 0'. |
' ORDER BY date_modification DESC LIMIT 0,5'; |
$resultat_dernieres_obs = $this->requeter($requete_dernieres_obs); |
$resultat_dernieres_obs = Cel::db()->requeter($requete_dernieres_obs); |
$dernieres_obs = array(); |
$resume = array(); |
54,7 → 54,7 |
$cible_lien = ''; |
$req_liaison = 'SELECT * FROM cel_images WHERE id_image IN (SELECT id_image FROM cel_obs_images WHERE id_observation = "'.$obs['id_observation'].'") AND ce_utilisateur = "'.$obs['ce_utilisateur'].'"' ; |
$res_liaison = $this->requeter($req_liaison); |
$res_liaison = Cel::db()->requeter($req_liaison); |
$ligne_image = null; |
/trunk/jrest/services/ImportXLS.php |
---|
72,7 → 72,7 |
function __anonyme_6() { return NULL; } |
class ImportXLS extends Cel { |
static function __anonyme_4(&$item, $key, $obj) { $item = $obj->quoteNonNull(trim($item)); } |
static function __anonyme_4(&$item, $key) { $item = self::quoteNonNull(trim($item)); } |
static $ordre_BDD = Array( |
"ce_utilisateur", |
229,7 → 229,7 |
$nb_images_ajoutees = 0; |
$nb_mots_cle_ajoutes = 0; |
$dernier_ordre = $this->requeter("SELECT MAX(ordre) AS ordre FROM cel_obs WHERE ce_utilisateur = $id_utilisateur"); |
$dernier_ordre = Cel::db()->requeter("SELECT MAX(ordre) AS ordre FROM cel_obs WHERE ce_utilisateur = $id_utilisateur"); |
$dernier_ordre = intval($dernier_ordre[0]['ordre']) + 1; |
if(! $dernier_ordre) $dernier_ordre = 0; |
270,8 → 270,8 |
str_repeat(self::$insert_ligne_pattern . ', ', $nb_rec - 1) . |
self::$insert_ligne_pattern; |
$this->bdd->beginTransaction(); |
$stmt = $this->bdd->prepare($sql_pattern); |
Cel::db()->beginTransaction(); |
$stmt = Cel::db()->prepare($sql_pattern); |
$donnees = array(); |
foreach($enregistrements as $e) $donnees = array_merge($donnees, array_values($e)); |
280,8 → 280,8 |
$stmt->execute($donnees); |
// $stmt->debugDumpParams(); // https://bugs.php.net/bug.php?id=52384 |
$dernier_autoinc = $this->bdd->lastInsertId(); |
$this->bdd->commit(); |
$dernier_autoinc = Cel::db()->lastInsertId(); |
Cel::db()->commit(); |
if(! $dernier_autoinc) trigger_error("l'insertion semble avoir échoué", E_USER_NOTICE); |
288,8 → 288,8 |
$obs_ajouts += count($enregistrements); |
// $obs_ajouts += count($enregistrements['insert']); |
// $obs_maj += count($enregistrements['update']); |
$nb_images_ajoutees += self::stockerImages($this, $enregistrements, $images, $dernier_autoinc); |
$nb_mots_cle_ajoutes += self::stockerMotsCle($this, $enregistrements, $mots_cle, $dernier_autoinc); |
$nb_images_ajoutees += self::stockerImages($enregistrements, $images, $dernier_autoinc); |
$nb_mots_cle_ajoutes += self::stockerMotsCle($enregistrements, $mots_cle, $dernier_autoinc); |
} |
restore_error_handler(); |
405,7 → 405,7 |
} |
static function stockerMotsCle($cel, $enregistrements, $tous_mots_cle, $lastid) { |
static function stockerMotsCle($enregistrements, $tous_mots_cle, $lastid) { |
$c = 0; |
// debug: var_dump($tous_mots_cle);die; |
foreach($tous_mots_cle as $v) $c += count($v['mots_cle']['to_insert']); |
412,7 → 412,7 |
return $c; |
} |
static function stockerImages($cel, $enregistrements, $toutes_images, $lastid) { |
static function stockerImages($enregistrements, $toutes_images, $lastid) { |
$images_insert = 'INSERT INTO cel_obs_images (id_image, id_observation) VALUES %s ON DUPLICATE KEY UPDATE id_image = id_image'; |
$images_obs_assoc = Array(); |
431,7 → 431,7 |
if($images_obs_assoc) { |
$requete = sprintf($images_insert, implode(', ', $images_obs_assoc)); |
// debug echo "$requete\n"; |
$cel->requeter($requete); |
Cel::db()->requeter($requete); |
} |
return count($images_obs_assoc); |
456,7 → 456,7 |
// $localisation est rempli à partir de plusieurs champs: C_ZONE_GEO et C_CE_ZONE_GEO |
$localisation = Array(C_ZONE_GEO => NULL, C_CE_ZONE_GEO => NULL); |
self::traiterLocalisation($ligne, $localisation, $cel); |
self::traiterLocalisation($ligne, $localisation); |
// $transmission est utilisé pour date_transmission |
// XXX: @ contre "Undefined index" |
510,40 → 510,40 |
// passage de $enregistrement par référence, ainsi ['_images'] n'est défini |
// que si des résultats sont trouvés |
// "@" car PHPExcel supprime les colonnes null sur toute la feuille (ou tout le chunk) |
if(@$ligne[C_IMAGES]) self::traiterImage($ligne[C_IMAGES], $cel, $enregistrement); |
if(@$ligne[C_IMAGES]) self::traiterImage($ligne[C_IMAGES], $cel->id_utilisateur, $enregistrement); |
if(@$ligne[C_MOTS_CLES_TEXTE]) self::traiterMotsCle($ligne[C_MOTS_CLES_TEXTE], $cel, $enregistrement); |
if(@$ligne[C_MOTS_CLES_TEXTE]) self::traiterMotsCle($ligne[C_MOTS_CLES_TEXTE], $cel->id_utilisateur, $enregistrement); |
return $enregistrement; |
} |
static function traiterImage($str, $cel, &$enregistrement) { |
static function traiterImage($str, $id_utilisateur, &$enregistrement) { |
$liste_images = array_filter(explode("/", $str)); |
//array_walk($liste_images, '__anonyme_4', $cel); |
array_walk($liste_images, array(__CLASS__, '__anonyme_4'), $cel); |
//array_walk($liste_images, '__anonyme_4'); |
array_walk($liste_images, array(__CLASS__, '__anonyme_4')); |
$requete = sprintf( |
"SELECT id_image, nom_original FROM cel_images WHERE ce_utilisateur = %d AND nom_original IN (%s)", |
$cel->id_utilisateur, |
$id_utilisateur, |
implode(',', $liste_images)); |
$resultat = $cel->requeter($requete); |
$resultat = Cel::db()->requeter($requete); |
if($resultat) $enregistrement['_images'] = $resultat; |
} |
static function traiterMotsCle($str, $cel, &$enregistrement) { |
static function traiterMotsCle($str, $id_utilisateur, &$enregistrement) { |
$liste_mots_cle = $liste_mots_cle_recherche = array_map("trim", array_unique(array_filter(explode(",", $str)))); |
array_walk($liste_mots_cle_recherche, array(__CLASS__, '__anonyme_4'), $cel); |
array_walk($liste_mots_cle_recherche, array(__CLASS__, '__anonyme_4')); |
// TODO!!!! remplace > (pour les tests uniquement) par un = et supprimer le group by mot_cle |
$requete = sprintf("SELECT id_mot_cle_obs, mot_cle FROM cel_mots_cles_obs WHERE id_utilisateur > %d ". |
"AND mot_cle IN (%s) ". |
"GROUP BY mot_cle", |
$cel->id_utilisateur, |
$id_utilisateur, |
implode(',', $liste_mots_cle_recherche)); |
$resultat_sql = $cel->requeter($requete); |
$resultat_sql = Cel::db()->requeter($requete); |
if(!$resultat_sql) return; |
$resultat = array(); |
715,21 → 715,21 |
//var_dump("a", $espece);die; |
} |
static function detectFromNom($nom, $cel) { |
$r = $cel->requeter(sprintf("SELECT num_nom, num_tax_sup FROM bdtfx_v1_01 WHERE (nom_sci LIKE '%s') ". |
static function detectFromNom($nom) { |
$r = Cel::db()->requeter(sprintf("SELECT num_nom, num_tax_sup FROM bdtfx_v1_01 WHERE (nom_sci LIKE '%s') ". |
"ORDER BY nom_sci ASC LIMIT 0, 1", |
$cel->proteger($nom))); |
Cel::db()->proteger($nom))); |
if($r) return $r; |
$cel->requeter(sprintf("SELECT num_nom, num_tax_sup FROM bdtfx_v1_01 WHERE (nom_sci LIKE '%s' OR nom LIKE '%s') ". |
Cel::db()->requeter(sprintf("SELECT num_nom, num_tax_sup FROM bdtfx_v1_01 WHERE (nom_sci LIKE '%s' OR nom LIKE '%s') ". |
"ORDER BY nom_sci ASC LIMIT 0, 1", |
$cel->proteger($nom), |
$cel->proteger(str_replace(' ', '% ', $nom)))); |
Cel::db()->proteger($nom), |
Cel::db()->proteger(str_replace(' ', '% ', $nom)))); |
return $r; |
} |
static function traiterLocalisation($ligne, Array &$localisation, $cel) { |
static function traiterLocalisation($ligne, Array &$localisation) { |
$identifiant_commune = trim($ligne[C_ZONE_GEO]); |
if(!$identifiant_commune) { |
$departement = trim($ligne[C_CE_ZONE_GEO]); |
763,21 → 763,21 |
$nom_commune=$elements[1]; |
$code_commune=$elements[2]; |
$requete = sprintf("%s WHERE nom = %s AND code LIKE %s", |
$select, $cel->quoteNonNull($nom_commune), $cel->quoteNonNull($code_commune.'%')); |
$select, self::quoteNonNull($nom_commune), self::quoteNonNull($code_commune.'%')); |
} |
elseif (preg_match('/^(\d+|(2[ab]\d+))$/i', $identifiant_commune, $elements)) { |
// Code insee seul |
$code_insee_commune=$elements[1]; |
$requete = sprintf("%s WHERE code = %s", $select, $cel->quoteNonNull($code_insee_commune)); |
$requete = sprintf("%s WHERE code = %s", $select, self::quoteNonNull($code_insee_commune)); |
} |
else { |
// Commune seule (le departement sera recupere dans la colonne departement si elle est presente) |
// on prend le risque ici de retourner une mauvaise Commune |
$nom_commune = str_replace(" ", "%", iconv('UTF-8', 'ASCII//TRANSLIT', $identifiant_commune)); |
$requete = sprintf("%s WHERE nom LIKE %s", $select, $cel->quoteNonNull($nom_commune.'%')); |
$requete = sprintf("%s WHERE nom LIKE %s", $select, self::quoteNonNull($nom_commune.'%')); |
} |
$resultat_commune = $cel->requeter($requete); |
$resultat_commune = Cel::db()->requeter($requete); |
// TODO: levenstein sort ? |
// cas de la commune introuvable dans le référentiel |
814,7 → 814,7 |
} |
/* |
static function traiterLocalisation($ligne, Array &$localisation, $cel) { |
static function traiterLocalisation($ligne, Array &$localisation) { |
$identifiant_commune = trim($ligne[C_ZONE_GEO]); |
if(!$identifiant_commune) { |
$departement = trim($ligne[C_CE_ZONE_GEO]); |
829,21 → 829,21 |
$nom_commune=$elements[1]; |
$code_commune=$elements[2]; |
$requete = sprintf("%s WHERE nom = %s AND code LIKE %s", |
$select, $cel->quoteNonNull($nom_commune), $cel->quoteNonNull($code_commune.'%')); |
$select, self::quoteNonNull($nom_commune), self::quoteNonNull($code_commune.'%')); |
} |
elseif (preg_match('/^(\d+|(2[ab]\d+))$/i', $identifiant_commune, $elements)) { |
// Code insee seul |
$code_insee_commune=$elements[1]; |
$requete = sprintf("%s WHERE code = %s", $select, $cel->quoteNonNull($code_insee_commune)); |
$requete = sprintf("%s WHERE code = %s", $select, self::quoteNonNull($code_insee_commune)); |
} |
else { |
// Commune seule (le departement sera recupere dans la colonne departement si elle est presente) |
// on prend le risque ici de retourner une mauvaise Commune |
$nom_commune = str_replace(" ", "%", iconv('UTF-8', 'ASCII//TRANSLIT', $identifiant_commune)); |
$requete = sprintf("%s WHERE nom LIKE %s", $select, $cel->quoteNonNull($nom_commune.'%')); |
$requete = sprintf("%s WHERE nom LIKE %s", $select, self::quoteNonNull($nom_commune.'%')); |
} |
$resultat_commune = $cel->requeter($requete); |
$resultat_commune = Cel::db()->requeter($requete); |
// TODO: levenstein sort ? |
// cas de la commune introuvable dans le référentiel |
906,9 → 906,9 |
$this->colonnes_statiques = array_merge($this->colonnes_statiques, |
Array( |
"ce_utilisateur" => $this->id_utilisateur, |
"prenom_utilisateur" => $this->quoteNonNull($this->utilisateur['prenom']), |
"nom_utilisateur" => $this->quoteNonNull($this->utilisateur['nom']), |
"courriel_utilisateur" => $this->quoteNonNull($this->utilisateur['courriel']), |
"prenom_utilisateur" => self::quoteNonNull($this->utilisateur['prenom']), |
"nom_utilisateur" => self::quoteNonNull($this->utilisateur['nom']), |
"courriel_utilisateur" => self::quoteNonNull($this->utilisateur['courriel']), |
)); |
} |
949,12 → 949,12 |
); |
} |
// équivalent à CEL->Bdd->proteger() (qui wrap PDO::quote), |
// équivalent à Bdd2->proteger() (qui wrap PDO::quote), |
// sans transformer NULL en "" |
private function quoteNonNull($chaine) { |
static function quoteNonNull($chaine) { |
if(is_null($chaine)) return "NULL"; |
if(!is_string($chaine)) die("erreur __FILE__, __LINE__"); |
return $this->bdd->quote($chaine); |
return Cel::db()->quote($chaine); |
} |
public function erreurs_stock($errno, $errstr) { |
/trunk/jrest/services/CelStatistique.php |
---|
53,7 → 53,7 |
} |
private function getEvolImgLieesParMois($param) { |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null; |
$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : null; |
// Récupération des données |
$requete = "SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(ci.id_image) AS nbre ". |
63,7 → 63,7 |
'GROUP BY periode '. |
'ORDER BY periode '; |
$resulats = $this->executerRequete($requete); |
$resulats = Cel::db()->executerRequete($requete); |
$img_totale = array(); |
foreach ($resulats as $info) { |
124,7 → 124,7 |
} |
private function getEvolImgParMois($param) { |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : null; |
$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : null; |
// Récupération des données |
$requete = "SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(id_image) AS nbre ". |
134,7 → 134,7 |
'GROUP BY periode '. |
'ORDER BY periode '; |
$resulats = $this->executerRequete($requete); |
$resulats = Cel::db()->executerRequete($requete); |
$img_totale = array(); |
foreach ($resulats as $info) { |
204,7 → 204,7 |
" AND courriel_utilisateur LIKE '%@%' ". |
'GROUP BY courriel_utilisateur '. |
'ORDER BY date_min ASC '; |
$resultats = $this->executerRequete($requete); |
$resultats = Cel::db()->executerRequete($requete); |
// Trie des données et des dates pour les étiquettes des axes |
$dates = array(); |
643,7 → 643,7 |
$requete = 'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '. |
'FROM cel_obs '. |
'GROUP BY courriel_utilisateur '; |
$utilisateurs = $this->executerRequete($requete); |
$utilisateurs = Cel::db()->executerRequete($requete); |
// Création des classes d'utilisateurs |
$classes = array('00->10' => 0, '11->50' => 0, '51->100' => 0, '101->500' => 0, '500->∞' => 0); |
710,7 → 710,7 |
$requete = 'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '. |
'FROM cel_obs '. |
'GROUP BY courriel_utilisateur '; |
$utilisateurs = $this->executerRequete($requete); |
$utilisateurs = Cel::db()->executerRequete($requete); |
// Création des classes d'utilisateurs |
$classes = array('00->10' => 0, '11->50' => 0, '51->100' => 0, '101->500' => 0, '500->∞' => 0); |
779,7 → 779,7 |
} |
private function getNuagePointsObsParHeureEtJourSemaine($param) { |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : false; |
$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : false; |
// Récupération des données de la base |
$requete = 'SELECT courriel_utilisateur, DATE_FORMAT(date_creation, "%w-%H") AS periode, (ROUND(LOG10(COUNT(id_observation))) + 1) AS nbre '. |
787,7 → 787,7 |
'WHERE date_creation != "0000-00-00 00:00:00" '. |
' AND courriel_utilisateur '.($utilisateur ? "= $utilisateur " : 'LIKE "%@%" '). |
'GROUP BY periode, courriel_utilisateur '; |
$infos = $this->executerRequete($requete); |
$infos = Cel::db()->executerRequete($requete); |
// Traitement résulat requête |
$observations = array(); |
861,7 → 861,7 |
" AND courriel_utilisateur LIKE '%@%' ". |
'GROUP BY courriel_utilisateur '. |
'ORDER BY date_min ASC '; |
$resultats = $this->executerRequete($requete); |
$resultats = Cel::db()->executerRequete($requete); |
// Trie des données |
$max_obs = 0; |
927,7 → 927,7 |
} |
private function executerRequeteEvol($table, $champ, $format_date = '%Y%m', $where = null, $champ_date = 'date_creation', $order_by = null, $limit = null) { |
$utilisateur = isset($_GET['utilisateur']) ? $this->bdd->quote($_GET['utilisateur']) : false; |
$utilisateur = isset($_GET['utilisateur']) ? Cel::db()->quote($_GET['utilisateur']) : false; |
$requete = "SELECT DATE_FORMAT($champ_date, '$format_date') AS periode, COUNT($champ) AS nbre ". |
"FROM $table ". |
938,7 → 938,7 |
((is_null($order_by)) ? '' : "ORDER BY $order_by "); |
((is_null($limit)) ? '' : "LIMIT $limit "); |
$evolution = $this->executerRequete($requete); |
$evolution = Cel::db()->executerRequete($requete); |
// Traitement du tableau |
$donnees_traitees = array(); |
952,7 → 952,7 |
private function executerRequeteNombre($table, $champ, $where = null) { |
$utilisateur = null; |
if (isset($_GET['utilisateur'])) { |
$utilisateur = $this->bdd->quote($_GET['utilisateur']); |
$utilisateur = Cel::db()->quote($_GET['utilisateur']); |
$where = isset($where) ? $where.' AND ' : ''; |
$where .= "courriel_utilisateur = $utilisateur "; |
} |
961,7 → 961,7 |
"FROM $table ". |
((isset($where)) ? "WHERE $where " : ''); |
$nbre = $this->executerRequete($requete, 'Column'); |
$nbre = Cel::db()->executerRequete($requete, 'Column'); |
return $nbre; |
} |
} |
/trunk/jrest/services/CelStatistiqueTxt.php |
---|
44,9 → 44,9 |
} |
private function analyserParametresUrl() { |
$this->parametres['utilisateur'] = isset($_GET['utilisateur']) ? $this->bdd->quote($this->verifierSecuriteParametreUrl($_GET['utilisateur'])) : null; |
$this->parametres['num_taxon'] = isset($_GET['num_taxon']) ? $this->bdd->quote($this->verifierSecuriteParametreUrl($_GET['num_taxon'])) : null; |
$this->parametres['taxon'] = isset($_GET['taxon']) ? $this->bdd->quote($this->verifierSecuriteParametreUrl($_GET['taxon'].'%')) : null; |
$this->parametres['utilisateur'] = isset($_GET['utilisateur']) ? Cel::db()->quote($this->verifierSecuriteParametreUrl($_GET['utilisateur'])) : null; |
$this->parametres['num_taxon'] = isset($_GET['num_taxon']) ? Cel::db()->quote($this->verifierSecuriteParametreUrl($_GET['num_taxon'])) : null; |
$this->parametres['taxon'] = isset($_GET['taxon']) ? Cel::db()->quote($this->verifierSecuriteParametreUrl($_GET['taxon'].'%')) : null; |
$this->parametres['tag'] = isset($_GET['tag']) ? $this->verifierSecuriteParametreUrl($_GET['tag']) : null; |
$this->parametres['start'] = isset($_GET['start']) ? $this->verifierSecuriteParametreUrl($_GET['start']) : null; |
$this->parametres['limit'] = isset($_GET['limit']) ? $this->verifierSecuriteParametreUrl($_GET['limit']) : null; |
57,7 → 57,7 |
$requete = $this->construireRequeteListeUtilisateurNbrePhoto(); |
if ($requete != null) { |
$resultats = $this->executerRequete($requete); |
$resultats = Cel::db()->executerRequete($requete); |
if ($resultats != false) { |
foreach ($resultats as $resultat) { |
$liste[$resultat['courriel_utilisateur']] = $resultat['nbre']; |
122,13 → 122,13 |
$where = null; |
if (isset($this->parametres['tag'])) { |
$tag = $this->parametres['tag']; |
$tag_encode = $this->bdd->quote($this->encoderMotCle(trim($tag))); |
$tag_encode = Cel::db()->quote($this->encoderMotCle(trim($tag))); |
// Construction de la requête |
$requete = 'SELECT cmc_id_mot_cle_utilisateur, cmc_id_proprietaire '. |
'FROM cel_mots_cles_images '. |
"WHERE cmc_id_mot_cle_general = $tag_encode "; |
$elements = $this->executerRequete($requete); |
$elements = Cel::db()->executerRequete($requete); |
if ($elements != false && count($elements) > 0) { |
// Pré-construction du where de la requête |
135,7 → 135,7 |
$tpl_where = '(ci_meta_mots_cles LIKE "%%%s%%" AND ci_ce_utilisateur = %s )'; |
$requete_where = array(); |
foreach ($elements as $occurence) { |
$requete_where[] = sprintf($tpl_where, $occurence['cmc_id_mot_cle_utilisateur'], $this->bdd->quote($occurence['cmc_id_proprietaire'])); |
$requete_where[] = sprintf($tpl_where, $occurence['cmc_id_mot_cle_utilisateur'], Cel::db()->quote($occurence['cmc_id_proprietaire'])); |
} |
$where = ' ('.implode(" \nOR ", $requete_where).') '; |
} else { |
148,7 → 148,7 |
private function getListeTaxonsNbrePhotos() { |
$requete = $this->construireRequeteListeTaxonNbrePhoto(); |
$resultats = $this->executerRequete($requete); |
$resultats = Cel::db()->executerRequete($requete); |
$liste = array(); |
if ($resultats != false) { |
foreach ($resultats as $resultat) { |
202,24 → 202,24 |
private function getNombres() { |
$requete = $this->construireRequeteNbreObs(); |
$info['observations'] = (int) $this->executerRequete($requete, 'Column'); |
$info['observations'] = (int) Cel::db()->executerRequete($requete, 'Column'); |
$requete = $this->construireRequeteNbreObsPubliques(); |
$info['observationsPubliques'] = (int) $this->executerRequete($requete, 'Column'); |
$info['observationsPubliques'] = (int) Cel::db()->executerRequete($requete, 'Column'); |
$requete = $this->construireRequeteNbreImg(); |
$info['images'] =(int) $this->executerRequete($requete, 'Column'); |
$info['images'] =(int) Cel::db()->executerRequete($requete, 'Column'); |
$requete = $this->construireRequeteNbreImgLiees(); |
$info['imagesLiees'] =(int) $this->executerRequete($requete, 'Column'); |
$info['imagesLiees'] =(int) Cel::db()->executerRequete($requete, 'Column'); |
$requete = $this->construireRequeteNbreObsLiees(); |
$info['observationsLiees'] = (int) $this->executerRequete($requete, 'Column'); |
$info['observationsLiees'] = (int) Cel::db()->executerRequete($requete, 'Column'); |
$info['moyImagesParObs'] = ($info['observationsLiees'] > 0 ? round($info['imagesLiees']/$info['observationsLiees'], 2) : ''); |
$requete = $this->construireRequeteNbreObsParCommune(); |
$info['communes'] = ($resultats = $this->executerRequete($requete)) ? count($resultats) : '' ; |
$info['communes'] = ($resultats = Cel::db()->executerRequete($requete)) ? count($resultats) : '' ; |
$info['observationsParCommunesMin'] = 1000; |
$info['observationsParCommunesMax'] = 0; |
$info['observationsParCommunesTotal'] = 0; |
/trunk/jrest/services/InventoryByDept.php |
---|
50,7 → 50,7 |
" lieudit, station, milieu, commentaire, transmission FROM cel_obs ". |
"WHERE ce_zone_geo != '000null' AND ce_zone_geo != '' AND transmission = 1 AND nt!=0 ORDER BY ce_zone_geo, nom_ret LIMIT 50"; |
$resultat_obs = $this->executerRequete($requete_obs); |
$resultat_obs = Cel::db()->executerRequete($requete_obs); |
// Creating a workbook |
$workbook = new Spreadsheet_Excel_Writer(); |
/trunk/jrest/services/InventoryImportExcel.php |
---|
135,8 → 135,8 |
$cpt_img=0; |
/* Recherche dernier numero d'ordre utilise : pas de mise a jour concurente a priori */ |
$requete = "SELECT MAX(ordre) AS ordre FROM cel_obs WHERE ce_utilisateur = ".$this->proteger($pairs['utilisateur'])." "; |
$resultat = $this->requeter($requete); |
$requete = "SELECT MAX(ordre) AS ordre FROM cel_obs WHERE ce_utilisateur = ".Cel::db()->proteger($pairs['utilisateur'])." "; |
$resultat = Cel::db()->requeter($requete); |
if(is_array($resultat) && count($resultat) > 0) { |
$this->dernier_ordre = $resultat[0]['ordre']; // 1 par defaut |
341,33 → 341,33 |
"date_observation,". |
"lieudit,station, milieu, commentaire, transmission, ". |
"date_creation,date_modification,latitude,longitude) ". |
" VALUES(".$this->proteger($utilisateur).",". |
$this->proteger($this->utilisateur['prenom']).",". |
$this->proteger($this->utilisateur['nom']).",". |
$this->proteger($this->utilisateur['courriel']).",". |
$this->proteger($this->dernier_ordre).",". |
$this->proteger($info_espece['nom_sel']).",". |
$this->proteger($info_espece['nom_sel_nn']).",". |
$this->proteger($info_espece['nom_ret']).",". |
$this->proteger($info_espece['nom_ret_nn']).",". |
$this->proteger($info_espece['nt']).",". |
$this->proteger($info_espece['famille']).",". |
$this->proteger($info_commune['nom']).",". |
$this->proteger('INSEE-C:'.$info_commune['code']).",". |
$this->proteger($info_dateobs).",". |
$this->proteger($info_lieudit).",". |
$this->proteger($info_station).",". |
$this->proteger($info_milieu).",". |
$this->proteger($info_notes).",". |
$this->proteger($info_transmettre).",". |
" VALUES(".Cel::db()->proteger($utilisateur).",". |
Cel::db()->proteger($this->utilisateur['prenom']).",". |
Cel::db()->proteger($this->utilisateur['nom']).",". |
Cel::db()->proteger($this->utilisateur['courriel']).",". |
Cel::db()->proteger($this->dernier_ordre).",". |
Cel::db()->proteger($info_espece['nom_sel']).",". |
Cel::db()->proteger($info_espece['nom_sel_nn']).",". |
Cel::db()->proteger($info_espece['nom_ret']).",". |
Cel::db()->proteger($info_espece['nom_ret_nn']).",". |
Cel::db()->proteger($info_espece['nt']).",". |
Cel::db()->proteger($info_espece['famille']).",". |
Cel::db()->proteger($info_commune['nom']).",". |
Cel::db()->proteger('INSEE-C:'.$info_commune['code']).",". |
Cel::db()->proteger($info_dateobs).",". |
Cel::db()->proteger($info_lieudit).",". |
Cel::db()->proteger($info_station).",". |
Cel::db()->proteger($info_milieu).",". |
Cel::db()->proteger($info_notes).",". |
Cel::db()->proteger($info_transmettre).",". |
"now() , now(),". |
$this->proteger($info_latitude).",". |
$this->proteger($info_longitude).")"; |
Cel::db()->proteger($info_latitude).",". |
Cel::db()->proteger($info_longitude).")"; |
$insertion = $this->executer($requete); |
$insertion = Cel::db()->executer($requete); |
$requete_id_obs = 'SELECT id_observation FROM cel_obs WHERE ordre = '.$this->proteger($this->dernier_ordre).' AND ce_utilisateur = '.$this->proteger($utilisateur); |
$resultat_id_obs = $this->requeter($requete_id_obs); |
$requete_id_obs = 'SELECT id_observation FROM cel_obs WHERE ordre = '.Cel::db()->proteger($this->dernier_ordre).' AND ce_utilisateur = '.Cel::db()->proteger($utilisateur); |
$resultat_id_obs = Cel::db()->requeter($requete_id_obs); |
$id_obs = $resultat_id_obs[0]['id_observation']; |
374,8 → 374,8 |
// creation lien image |
foreach ($info_image as $pic) { |
$requete_liaison = 'INSERT INTO cel_obs_images (id_image, id_observation ) VALUES ('.$this->proteger($pic['id_image']).', '.$id_obs.') ON DUPLICATE KEY UPDATE id_image = id_image '; |
$liaison = $this->executer($requete_liaison); |
$requete_liaison = 'INSERT INTO cel_obs_images (id_image, id_observation ) VALUES ('.Cel::db()->proteger($pic['id_image']).', '.$id_obs.') ON DUPLICATE KEY UPDATE id_image = id_image '; |
$liaison = Cel::db()->executer($requete_liaison); |
if ($liaison !== false) { |
$this->cpt_images_liees++; |
} else { |
391,8 → 391,8 |
$info_image=$this->traiterImage($line[IMAGE][$i],$utilisateur); // Image separee par des / + utilisateur |
// creation lien image |
foreach ($info_image as $pic) { |
$requete = 'INSERT INTO cel_obs_images (id_image, id_observation) VALUES ('.$this->proteger($pic['id_image']).', '.$this->proteger($id_obs).') ON DUPLICATE KEY UPDATE id_image = id_image' ; |
$resultat_liaison = $this->executer($requete); |
$requete = 'INSERT INTO cel_obs_images (id_image, id_observation) VALUES ('.Cel::db()->proteger($pic['id_image']).', '.Cel::db()->proteger($id_obs).') ON DUPLICATE KEY UPDATE id_image = id_image' ; |
$resultat_liaison = Cel::db()->executer($requete); |
if ($resultat_liaison !== false) { |
$this->cpt_images_liees++; |
} else { |
411,13 → 411,13 |
if (isset($elements[1])) { // commune + departement : montpellier (34) |
$nom_commune=$elements[1]; |
$code_commune=$elements[2]; |
$requete="SELECT DISTINCT nom, code FROM cel_zones_geo WHERE nom = ".$this->proteger($nom_commune)." AND code LIKE ".$this->proteger($code_commune.'%'); |
$requete="SELECT DISTINCT nom, code FROM cel_zones_geo WHERE nom = ".Cel::db()->proteger($nom_commune)." AND code LIKE ".Cel::db()->proteger($code_commune.'%'); |
} |
else { // Code insee seul |
preg_match('/([0-9][0-9]*)|(2A[0-9][0-9]*)|(2B[0-9][0-9]*)/',$identifiant_commune,$elements); |
if (isset($elements[1])) { // code insee commune |
$code_insee_commune=$elements[1]; |
$requete="SELECT DISTINCT nom, code FROM cel_zones_geo WHERE code = ".$this->proteger($code_insee_commune); |
$requete="SELECT DISTINCT nom, code FROM cel_zones_geo WHERE code = ".Cel::db()->proteger($code_insee_commune); |
} |
else { // Commune seule (le departement sera recupere dans la colonne departement si elle est presente, on prend le risque ici de retourner une mauvaise |
// Commune |
427,12 → 427,12 |
$nom_commune=trim($nom_commune); |
$nom_commune=iconv('UTF-8', 'ASCII//TRANSLIT', $nom_commune); |
$nom_commune=preg_replace("/ /","%",$nom_commune); |
$requete="SELECT DISTINCT nom, code FROM cel_zones_geo WHERE nom like ".$this->proteger($nom_commune.'%'); |
$requete="SELECT DISTINCT nom, code FROM cel_zones_geo WHERE nom like ".Cel::db()->proteger($nom_commune.'%'); |
} |
} |
} |
$resultat_commune = $this->requeter($requete); |
$resultat_commune = Cel::db()->requeter($requete); |
// cas de la commune introuvable dans le référentiel |
if(!is_array($resultat_commune) || count($resultat_commune) == 0) { |
510,8 → 510,8 |
$row =array(); |
foreach($liste_images as $image) { |
$image = iconv('UTF-8', 'ASCII//TRANSLIT', $image); |
$requete = "SELECT * FROM cel_images WHERE ce_utilisateur = ".$this->proteger($utilisateur)." AND nom_original= ".$this->proteger($image); |
$ligne = $this->requeter($requete); |
$requete = "SELECT * FROM cel_images WHERE ce_utilisateur = ".Cel::db()->proteger($utilisateur)." AND nom_original= ".Cel::db()->proteger($image); |
$ligne = Cel::db()->requeter($requete); |
if(is_array($ligne) && !empty($ligne)) { |
$row[] = $ligne[0]; |
} |
/trunk/jrest/services/CelWidgetMapPoint.php |
---|
122,7 → 122,7 |
$this->construireWhereNombreDeJours(). |
' GROUP BY id_coord'; |
$resultats_emplacements = $this->executerRequete($requete); |
$resultats_emplacements = Cel::db()->executerRequete($requete); |
$emplacements = $this->traiterEmplacements($resultats_emplacements, $this->compterObservations($params)); |
return $emplacements; |
} |
158,7 → 158,7 |
$this->construireWhereTag(). |
$this->construireWhereNombreDeJours(); |
$resultats_nb_obs = $this->executerRequete($requete); |
$resultats_nb_obs = Cel::db()->executerRequete($requete); |
return $resultats_nb_obs[0]['nb']; |
} |
344,9 → 344,9 |
'ORDER BY nom_sel ASC '. |
"LIMIT {$this->start},{$this->limit} "; |
//echo $requete;exit; |
$resultats = $this->requeter($requete, self::SQL_RETOUR_COMPLET, self::SQL_MODE_OBJET); |
$resultats = Cel::db()->requeter($requete, self::SQL_RETOUR_COMPLET, self::SQL_MODE_OBJET); |
$requete = 'SELECT FOUND_ROWS()'; |
$total = (int) $this->requeter($requete, self::SQL_RETOUR_COLONNE); |
$total = (int) Cel::db()->requeter($requete, self::SQL_RETOUR_COLONNE); |
} |
// Post-traitement |
490,10 → 490,10 |
'ORDER BY nom_ret ASC '. |
"LIMIT {$this->start},{$this->limit} "; |
//$this->debug[] = $requete; |
$resultats = $this->requeter($requete, self::SQL_RETOUR_COMPLET, self::SQL_MODE_OBJET); |
$resultats = Cel::db()->requeter($requete, self::SQL_RETOUR_COMPLET, self::SQL_MODE_OBJET); |
//echo $requete;exit; |
$requete = 'SELECT FOUND_ROWS()'; |
$taxons['total'] = (int) $this->requeter($requete, self::SQL_RETOUR_COLONNE); |
$taxons['total'] = (int) Cel::db()->requeter($requete, self::SQL_RETOUR_COLONNE); |
// Post-traitement |
$taxons['taxons'] = $this->traiterTaxons($resultats); |
525,12 → 525,12 |
extract($this->decomposerParametreStation()); |
if (isset($type)) { |
if ($type == self::MARQUEUR_COMMUNE) { |
$lat = $this->proteger($lat.'%'); |
$lng = $this->proteger($lng.'%'); |
$lat = Cel::db()->proteger($lat.'%'); |
$lng = Cel::db()->proteger($lng.'%'); |
$sql = " AND wgs84_latitude LIKE $lat AND wgs84_longitude LIKE $lng "; |
} else if ($type == self::MARQUEUR_STATION) { |
$lat = $this->proteger($lat.'%'); |
$lng = $this->proteger($lng.'%'); |
$lat = Cel::db()->proteger($lat.'%'); |
$lng = Cel::db()->proteger($lng.'%'); |
$sql = " AND (latitude LIKE $lat AND longitude LIKE $lng) "; |
} |
} |
543,12 → 543,12 |
extract($this->decomposerParametreStation()); |
if (isset($type)) { |
if ($type == self::MARQUEUR_COMMUNE) { |
$lat = $this->proteger($lat); |
$lng = $this->proteger($lng); |
$lat = Cel::db()->proteger($lat); |
$lng = Cel::db()->proteger($lng); |
$sql = " AND wgs84_latitude LIKE $lat AND wgs84_longitude LIKE $lng "; |
} else if ($type == self::MARQUEUR_STATION) { |
$lat = $this->proteger($lat.'%'); |
$lng = $this->proteger($lng.'%'); |
$lat = Cel::db()->proteger($lat.'%'); |
$lng = Cel::db()->proteger($lng.'%'); |
$sql = " AND (latitude LIKE $lat AND longitude LIKE $lng) "; |
} |
} |
560,7 → 560,7 |
$sql = ''; |
list($type, $commentaire) = $this->decomposerParametreCommentaire(); |
if (!$this->etreNull($commentaire)) { |
$commentaire = $this->proteger('%'.$commentaire.'%'); |
$commentaire = Cel::db()->proteger('%'.$commentaire.'%'); |
switch ($type) { |
case '*' : |
$sql = $this->obtenirConditionPourCommentaires($commentaire); |
590,7 → 590,7 |
$sql = ''; |
list($type, $nom) = $this->decomposerParametreTaxon(); |
if (!$this->etreNull($nom)) { |
$nom = $this->proteger($nom.'%'); |
$nom = Cel::db()->proteger($nom.'%'); |
switch ($type) { |
case '*' : |
$sql = " AND (nom_ret LIKE $nom OR nom_sel LIKE $nom OR famille LIKE $nom) "; |
615,7 → 615,7 |
$sql = ''; |
extract($this->parametres); |
if (isset($referentiel) && !$this->etreNull($referentiel)) { |
$referentiel = $this->proteger($referentiel.'%'); |
$referentiel = Cel::db()->proteger($referentiel.'%'); |
$sql = ' AND co.nom_referentiel LIKE '.$referentiel.' '; |
} |
return $sql; |
627,7 → 627,7 |
list($type, $date) = $this->decomposerParametreDate(); |
if (!$this->etreNull($date)) { |
$date = $this->proteger($date.'%'); |
$date = Cel::db()->proteger($date.'%'); |
switch ($type) { |
case '*' : |
$sql = " AND ( |
754,7 → 754,7 |
'ORDER BY utilisateur ASC, ordre ASC'; |
//$this->debug[] = $requete; |
//die($requete); |
$resultats = $this->executerRequete($requete); |
$resultats = Cel::db()->executerRequete($requete); |
$observations = null; |
if ($resultats != false) { |
890,7 → 890,7 |
if (isset($dept) && !$this->etreNull($dept)) { |
$valeurs_a_proteger = explode(',',trim($dept)); |
foreach ($valeurs_a_proteger as $valeur) { |
$valeurs_protegees[] = '(ce_zone_geo LIKE '.$this->bdd->quote('INSEE-C:'.$valeur.'%').') '; |
$valeurs_protegees[] = '(ce_zone_geo LIKE '.Cel::db()->quote('INSEE-C:'.$valeur.'%').') '; |
} |
$valeurs = implode(' OR ', $valeurs_protegees); |
$sql = " AND ($valeurs) "; |
903,7 → 903,7 |
// Récupération des coordonnées depuis l'id station |
extract($this->parametres); |
if (isset($this->parametres['commune']) && !$this->etreNull($commune)) { |
$commune = $this->proteger($commune); |
$commune = Cel::db()->proteger($commune); |
$sql = " AND zone_geo LIKE $commune "; |
} |
return $sql; |
914,7 → 914,7 |
// Récupération des coordonnées depuis l'id station |
extract($this->parametres); |
if (isset($this->parametres['commune']) && !$this->etreNull($commune)) { |
$commune = $this->proteger($commune); |
$commune = Cel::db()->proteger($commune); |
$sql = " AND zone_geo LIKE $commune "; |
$sql .= " AND ( |
( |
943,7 → 943,7 |
// pour en faire une fonction polyvalente |
extract($this->parametres); |
if (isset($this->parametres['utilisateur']) && !$this->etreNull($utilisateur)) { |
$utilisateur = $this->proteger($utilisateur); |
$utilisateur = Cel::db()->proteger($utilisateur); |
$sql = " AND co.courriel_utilisateur = $utilisateur "; |
} |
return $sql; |
955,7 → 955,7 |
// Récupération des coordonnées depuis l'id station |
extract($this->parametres); |
if (isset($this->parametres['num_taxon']) && !$this->etreNull($num_taxon)) { |
$num_taxon = $this->proteger($num_taxon); |
$num_taxon = Cel::db()->proteger($num_taxon); |
$sql = " AND nt = $num_taxon "; |
} |
return $sql; |
967,7 → 967,7 |
extract($this->parametres); |
if (isset($this->parametres['num_taxon']) && !$this->etreNull($num_taxon)) { |
$sous_taxons = $this->obtenirSousTaxons($this->parametres['num_taxon']); |
$num_taxon = $this->proteger($num_taxon); |
$num_taxon = Cel::db()->proteger($num_taxon); |
if(!empty($sous_taxons)) { |
$sql_in_sous_tax = implode(',', $sous_taxons); |
$sql = " AND (nt = $num_taxon OR ". |
1012,7 → 1012,7 |
private function getSqlWhereProjet($projet) { |
$sql = null; |
if (isset($projet) && !$this->etreNull($projet)) { |
$sql = 'co.mots_cles_texte LIKE '.$this->proteger('%'.$projet.'%'); |
$sql = 'co.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$projet.'%'); |
} |
return $sql; |
} |
1031,7 → 1031,7 |
$sql = null; |
extract($this->parametres); |
if (isset($nbjours) && !$this->etreNull($nbjours)) { |
$sql = ' AND DATEDIFF(CURDATE(),co.date_creation) <= '.$this->proteger($nbjours).' '; |
$sql = ' AND DATEDIFF(CURDATE(),co.date_creation) <= '.Cel::db()->proteger($nbjours).' '; |
} |
return $sql; |
} |
1063,7 → 1063,7 |
'ORDER BY utilisateur ASC, ci.ordre ASC'; |
//$this->debug[] = $requete; |
//die($requete); |
$elements_tag = $this->executerRequete($requete); |
$elements_tag = Cel::db()->executerRequete($requete); |
$requete_tag = array(); |
if ($elements_tag != false && count($elements_tag) > 0) { |
1134,7 → 1134,7 |
} |
foreach ($mots_cles['motsCles'] as $mot) { |
$mots_cles['motsClesEncodesProteges'][] = $this->bdd->quote('%'.$mot.'%'); |
$mots_cles['motsClesEncodesProteges'][] = Cel::db()->quote('%'.$mot.'%'); |
} |
$this->debug[] = $mots_cles; |
return $mots_cles; |
/trunk/jrest/services/CelSyndicationObservation.php |
---|
213,7 → 213,7 |
'ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby : 'date_modification DESC').' '. |
"LIMIT $this->start,$this->limit "; |
$elements = $this->executerRequete($requete); |
$elements = Cel::db()->executerRequete($requete); |
// Création du contenu |
$contenu = $this->executerService($elements); |
282,7 → 282,7 |
'date_modification DESC, zone_geo ASC').' '. |
"LIMIT $this->start,$this->limit "; |
$elements = $this->executerRequete($requete); |
$elements = Cel::db()->executerRequete($requete); |
// Création du contenu |
if ($elements != false && count($elements) > 0) { |
300,11 → 300,11 |
$nom_valeur = explode("=",$pair); |
if (sizeof($nom_valeur) != 0) { |
switch ($nom_valeur[0]) { |
case "ci_limite" : $this->limit = $this->bdd->quote($nom_valeur[1]); break; |
case "ci_limite" : $this->limit = Cel::db()->quote($nom_valeur[1]); break; |
case "commentaire" : $mots_comment_liste = explode(" " , $nom_valeur[1]); |
foreach($mots_comment_liste as $mot_comment) { |
$mot_comment = trim($mot_comment) ; |
$requete .= $nom_valeur[0].' LIKE '.$this->bdd->quote('%'.$mot_comment.'%').' AND '; |
$requete .= $nom_valeur[0].' LIKE '.Cel::db()->quote('%'.$mot_comment.'%').' AND '; |
} |
break; |
case "date_observation" : |
312,7 → 312,7 |
if (preg_match('/(^[0-9]{2})-([0-9]{2})-([0-9]{4}$)/', $nom_valeur[1], $matches)) { |
$nom_valeur[1] = $matches[3].'-'.$matches[2].'-'.$matches[1]; |
} |
$requete .= $nom_valeur[0].'='.$this->bdd->quote($nom_valeur[1]).' AND '; break; |
$requete .= $nom_valeur[0].'='.Cel::db()->quote($nom_valeur[1]).' AND '; break; |
case "ce_zone_geo" : |
$requete .= ' ('.$nom_valeur[0].' LIKE "INSEE-C:'.$nom_valeur[1].'%") AND '; break; |
case "nom_ret" : |
334,17 → 334,17 |
if (preg_match('/.*OU.*/', $mot_cle)) { |
$mots_cles_tab = explode('OU',$mot_cle); |
foreach($mots_cles_tab as $mot_cle_item) { |
$requete .= '(mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR '; |
$requete .= '(mots_cles_texte LIKE '.Cel::db()->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 .= '(mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND '; |
$requete .= '(mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') AND '; |
} |
$requete = '('.rtrim($requete, 'AND ').') '; |
} else { |
$requete = "(mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') '; |
$requete = "(mots_cles_texte LIKE ".Cel::db()->proteger('%'.$mot_cle.'%').') '; |
} |
return $requete; |
} |
355,17 → 355,17 |
if (preg_match('/.*OU.*/', $tag)) { |
$mots_cles_tab = explode('OU',$tag); |
foreach($mots_cles_tab as $mot_cle_item) { |
$where .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR '; |
$where .= '(ci.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') OR '; |
} |
$where .= '('.rtrim($where,'OR ').') '; |
} else if (preg_match('/.*ET.*/', $tag)) { |
$mots_cles_tab = explode('ET',$tag); |
foreach($mots_cles_tab as $mot_cle_item) { |
$where .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND '; |
$where .= '(ci.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') AND '; |
} |
$where .= '('.rtrim($where, 'AND ').') '; |
} else { |
$where .= "(ci.mots_cles_texte LIKE ".$this->proteger('%'.$tag.'%').') '; |
$where .= "(ci.mots_cles_texte LIKE ".Cel::db()->proteger('%'.$tag.'%').') '; |
} |
$requete .= $where.' ))'; |
return $requete; |
/trunk/jrest/services/InventoryPDF.php |
---|
64,7 → 64,7 |
$requete_location=""; |
} |
else { |
$requete_location=" AND location= ".$this->proteger($uid[1])." "; |
$requete_location=" AND location= ".Cel::db()->proteger($uid[1])." "; |
} |
if (!isset($uid[2]) || $uid[2]=="" || $uid[2]=="all") { |
72,7 → 72,7 |
$requete_date=""; |
} |
else { |
$requete_date=" AND date_observation= ".$this->proteger($uid[2])." "; |
$requete_date=" AND date_observation= ".Cel::db()->proteger($uid[2])." "; |
} |
if (!isset($uid[3]) || $uid[3]=="" || $uid[3]=="all") { |
80,10 → 80,10 |
$requete_libre=""; |
} |
else { |
$requete_libre=" AND (nom_sel LIKE ".$this->proteger('%'.$uid[3].'%'). |
" OR nom_ret LIKE ".$this->proteger('%'.$uid[3].'%'). |
" OR station LIKE ".$this->proteger('%'.$uid[3].'%'). |
" OR commentaire LIKE ".$this->proteger('%'.$uid[3].'%'); |
$requete_libre=" AND (nom_sel LIKE ".Cel::db()->proteger('%'.$uid[3].'%'). |
" OR nom_ret LIKE ".Cel::db()->proteger('%'.$uid[3].'%'). |
" OR station LIKE ".Cel::db()->proteger('%'.$uid[3].'%'). |
" OR commentaire LIKE ".Cel::db()->proteger('%'.$uid[3].'%'); |
} |
if (!isset($uid[4]) || $uid[4]=="" || $uid[4]=="all") { |
91,13 → 91,13 |
$requete_station=""; |
} |
else { |
$requete_station=" AND station= ".$this->proteger($uid[4])." "; |
$requete_station=" AND station= ".Cel::db()->proteger($uid[4])." "; |
} |
$value=array(); |
$requete="SELECT ce_utilisateur, ordre, nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, nt, famille, zone_geo, date_observation," . |
" station, commentaire, transmission FROM cel_obs WHERE ce_utilisateur = ".$this->proteger($uid[0])." " . |
" station, commentaire, transmission FROM cel_obs WHERE ce_utilisateur = ".Cel::db()->proteger($uid[0])." " . |
$requete_location. |
$requete_date. |
$requete_libre. |
104,7 → 104,7 |
$requete_station. |
" ORDER BY ordre "; |
$resultat_requete = $this->requeter($requete); |
$resultat_requete = Cel::db()->requeter($requete); |
$observations = array();; |
if(is_array($resultat_requete)) { |
/trunk/jrest/services/InventoryUserList.php |
---|
35,7 → 35,7 |
$this->construireRequeteConditionTableObs($uid).' '. |
'LIMIT 0,50'; |
$utilisateurs = $this->executerRequete($requete_utilisateurs); |
$utilisateurs = Cel::db()->executerRequete($requete_utilisateurs); |
$liste_utilisateurs = array(); |
if (!$utilisateurs) { |
57,7 → 57,7 |
$condition = ''; |
if (isset($params[1]) && $params[1] != null && $params[1] != '*') { |
$condition .= ' WHERE courriel LIKE '.$this->proteger($params[1].'%'); |
$condition .= ' WHERE courriel LIKE '.Cel::db()->proteger($params[1].'%'); |
} |
return $condition; |
68,7 → 68,7 |
$condition = ''; |
if (isset($params[1]) && $params[1] != null && $params[1] != '*') { |
$condition .= ' WHERE courriel_utilisateur LIKE '.$this->proteger($params[1].'%'); |
$condition .= ' WHERE courriel_utilisateur LIKE '.Cel::db()->proteger($params[1].'%'); |
} |
return $condition; |
/trunk/jrest/services/CelImageDoublon.php |
---|
95,7 → 95,7 |
'FROM cel_images '. |
"WHERE ce_utilisateur = '$utilisateur' "; |
$images = $this->executerRequete($requete); |
$images = Cel::db()->executerRequete($requete); |
// Traitement |
$doublons = array(); |
112,7 → 112,7 |
if (!isset($doublons[$img['md5']])) { |
$id_img = $md5[$img['md5']]['img_id']; |
$doublons[$img['md5']][$id_img] = $md5[$img['md5']]; |
$images_doublons_id[] = $this->bdd->quote($id_img); |
$images_doublons_id[] = Cel::db()->quote($id_img); |
} |
$doublons[$img['md5']][$img['id_image']] = array( |
120,7 → 120,7 |
'obs_ordre' => array(), |
'img_ordre' => $img['ordre'], |
'img_id' => $img['id_image']); |
$images_doublons_id[] = $this->bdd->quote($img['id_image']); |
$images_doublons_id[] = Cel::db()->quote($img['id_image']); |
} |
} |
134,7 → 134,7 |
"WHERE cim.ce_utilisateur = '$utilisateur' ". |
' AND cim.id_image IN ('.implode(',', $images_doublons_id).')'; |
$infos = $this->executerRequete($requete); |
$infos = Cel::db()->executerRequete($requete); |
foreach ($infos as $info) { |
if (isset($doublons[$info['md5']][$info['id_image']]) && ! $this->etreNull($info['ordre_obs'])) { |
/trunk/jrest/services/CoordSearch.php |
---|
161,9 → 161,9 |
$departement = substr($departement,0,2); |
} |
$requete_selection_commune = 'SELECT utm_x, utm_y, utm_secteur, code FROM cel_zones_geo '. |
'WHERE nom LIKE '.$this->proteger($commune_formatee).' AND code LIKE '.$this->proteger($departement.'%'); |
'WHERE nom LIKE '.Cel::db()->proteger($commune_formatee).' AND code LIKE '.Cel::db()->proteger($departement.'%'); |
$commune_coordonnees = $this->executerRequete($requete_selection_commune); |
$commune_coordonnees = Cel::db()->executerRequete($requete_selection_commune); |
$retour = false; |
/trunk/jrest/services/LicenceUtilisateur.php |
---|
34,10 → 34,10 |
} |
$requete_acceptation_licence = 'UPDATE cel_utilisateurs_infos '. |
'SET licence_acceptee = '.$this->proteger($pairs['licence']). |
'WHERE id_utilisateur = '.$this->proteger($uid[0]); |
'SET licence_acceptee = '.Cel::db()->proteger($pairs['licence']). |
'WHERE id_utilisateur = '.Cel::db()->proteger($uid[0]); |
$resultat_acceptation_licence = $this->executer($requete_acceptation_licence); |
$resultat_acceptation_licence = Cel::db()->executer($requete_acceptation_licence); |
$resultat = false; |
if($resultat_acceptation_licence) { |
/trunk/jrest/services/CelWidgetMap.php |
---|
77,7 → 77,7 |
$this->construireWhereProjet(). |
$this->construireWhereTag(); |
//die($requete); |
$resultats = $this->requeter($requete); |
$resultats = Cel::db()->requeter($requete); |
// Traitement des résultats |
$obs_nbre = $this->traiterNbreObs($resultats); |
152,10 → 152,10 |
'ORDER BY nom_sel ASC '. |
"LIMIT {$this->start},{$this->limit} "; |
//die($requete); |
$resultats = $this->requeter($requete, self::SQL_RETOUR_COMPLET, self::SQL_MODE_OBJET); |
$resultats = Cel::db()->requeter($requete, self::SQL_RETOUR_COMPLET, self::SQL_MODE_OBJET); |
$requete = 'SELECT FOUND_ROWS()'; |
$total = (int) $this->requeter($requete, self::SQL_RETOUR_COLONNE); |
$total = (int) Cel::db()->requeter($requete, self::SQL_RETOUR_COLONNE); |
} |
// Post-traitement |
294,10 → 294,10 |
"LIMIT {$this->start},{$this->limit} "; |
//$this->debug[] = $requete; |
//die($requete); |
$resultats = $this->requeter($requete, self::SQL_RETOUR_COMPLET, self::SQL_MODE_OBJET); |
$resultats = Cel::db()->requeter($requete, self::SQL_RETOUR_COMPLET, self::SQL_MODE_OBJET); |
$requete = 'SELECT FOUND_ROWS()'; |
$taxons['total'] = (int) $this->requeter($requete, self::SQL_RETOUR_COLONNE); |
$taxons['total'] = (int) Cel::db()->requeter($requete, self::SQL_RETOUR_COLONNE); |
// Post-traitement |
$taxons['taxons'] = $this->traiterTaxons($resultats); |
329,14 → 329,14 |
extract($this->decomposerParametreStation()); |
if (isset($type)) { |
if ($type == 'UTM') { |
$secteur = $this->proteger($secteur); |
$utm_x = $this->proteger($utm_x); |
$utm_y = $this->proteger($utm_y); |
$secteur = Cel::db()->proteger($secteur); |
$utm_x = Cel::db()->proteger($utm_x); |
$utm_y = Cel::db()->proteger($utm_y); |
$sql = " AND (utm_secteur = $secteur AND utm_x = $utm_x AND utm_y = $utm_y ) "; |
} else if ($type == 'LngLat') { |
$latitude = $this->proteger($latitude); |
$longitude = $this->proteger($longitude); |
$latitude = Cel::db()->proteger($latitude); |
$longitude = Cel::db()->proteger($longitude); |
$sql = " AND (latitude = $latitude AND longitude = $longitude ) "; |
} |
348,7 → 348,7 |
$sql = ''; |
list($type, $commentaire) = $this->decomposerParametreCommentaire(); |
if (!$this->etreNull($commentaire)) { |
$commentaire = $this->proteger('%'.$commentaire.'%'); |
$commentaire = Cel::db()->proteger('%'.$commentaire.'%'); |
switch ($type) { |
case '*' : |
$sql = $this->obtenirConditionPourCommentaires($commentaire); |
378,7 → 378,7 |
$sql = ''; |
list($type, $nom) = $this->decomposerParametreTaxon(); |
if (!$this->etreNull($nom)) { |
$nom = $this->proteger($nom.'%'); |
$nom = Cel::db()->proteger($nom.'%'); |
switch ($type) { |
case '*' : |
$sql = " AND (nom_ret LIKE $nom OR nom_sel LIKE $nom OR famille LIKE $nom) "; |
405,7 → 405,7 |
list($type, $date) = $this->decomposerParametreDate(); |
if (!$this->etreNull($date)) { |
$date = $this->proteger($date.'%'); |
$date = Cel::db()->proteger($date.'%'); |
switch ($type) { |
case '*' : |
$sql = " AND ( |
532,7 → 532,7 |
'ORDER BY utilisateur ASC, ordre ASC'; |
//$this->debug[] = $requete; |
//die($requete); |
$resultats = $this->executerRequete($requete); |
$resultats = Cel::db()->executerRequete($requete); |
$observations = null; |
if ($resultats != false) { |
577,7 → 577,7 |
if (isset($dept) && !$this->etreNull($dept)) { |
$valeurs_a_proteger = explode(',',trim($dept)); |
foreach ($valeurs_a_proteger as $valeur) { |
$valeurs_protegees[] = '(ce_zone_geo LIKE '.$this->bdd->quote('INSEE-C:'.$valeur.'%').') '; |
$valeurs_protegees[] = '(ce_zone_geo LIKE '.Cel::db()->quote('INSEE-C:'.$valeur.'%').') '; |
} |
$valeurs = implode(' OR ', $valeurs_protegees); |
$sql = " AND ($valeurs) "; |
590,7 → 590,7 |
// Récupération des coordonnées depuis l'id station |
extract($this->parametres); |
if (isset($commune) && !$this->etreNull($commune)) { |
$commune = $this->proteger($commune); |
$commune = Cel::db()->proteger($commune); |
$sql = " AND zone_geo LIKE $commune "; |
} |
return $sql; |
610,7 → 610,7 |
// Récupération des coordonnées depuis l'id station |
extract($this->parametres); |
if (isset($utilisateur) && !$this->etreNull($utilisateur)) { |
$utilisateur = $this->proteger($utilisateur); |
$utilisateur = Cel::db()->proteger($utilisateur); |
$sql = " AND courriel_utilisateur = $utilisateur "; |
} |
return $sql; |
621,7 → 621,7 |
// Récupération des coordonnées depuis l'id station |
extract($this->parametres); |
if (isset($num_taxon) && !$this->etreNull($num_taxon)) { |
$num_taxon = $this->proteger($num_taxon); |
$num_taxon = Cel::db()->proteger($num_taxon); |
$sql = " AND nt = $num_taxon "; |
} |
return $sql; |
644,7 → 644,7 |
private function getSqlWhereProjet($projet) { |
$sql = null; |
if (isset($projet) && !$this->etreNull($projet)) { |
$sql = 'co.mots_cles_texte LIKE '.$this->proteger($projet); |
$sql = 'co.mots_cles_texte LIKE '.Cel::db()->proteger($projet); |
} |
return $sql; |
} |
685,7 → 685,7 |
'ORDER BY utilisateur ASC, ci.ordre ASC'; |
//$this->debug[] = $requete; |
//die($requete); |
$elements_tag = $this->executerRequete($requete); |
$elements_tag = Cel::db()->executerRequete($requete); |
$requete_tag = array(); |
if ($elements_tag != false && count($elements_tag) > 0) { |
756,7 → 756,7 |
} |
foreach ($mots_cles['motsCles'] as $mot) { |
$mots_cles['motsClesEncodesProteges'][] = $this->bdd->quote('%'.$mot.'%'); |
$mots_cles['motsClesEncodesProteges'][] = Cel::db()->quote('%'.$mot.'%'); |
} |
$this->debug[] = $mots_cles; |
return $mots_cles; |
/trunk/jrest/services/CelWidgetSaisie.php |
---|
117,7 → 117,7 |
$valeurs = implode(', ', $obs); |
$requete = "INSERT INTO cel_obs ($champs) VALUES ($valeurs) "; |
if ($this->executerRequeteSimple($requete) === false) { |
if (Cel::db()->executerRequeteSimple($requete) === false) { |
$this->messages[] = "Un problème est survenu lors de l'insertion de l'obs dans la base de données."; |
} else { |
$obs_a_taguer_ordres[] = trim($obs['ordre'], "'"); |
283,12 → 283,12 |
private function getMaxOrdre($id_utilisateur) { |
$ordre = null; |
$identifiant = $this->bdd->quote($id_utilisateur); |
$identifiant = Cel::db()->quote($id_utilisateur); |
$requete = "SELECT MAX(ordre) AS ordre ". |
"FROM cel_obs ". |
"WHERE ce_utilisateur = ".$this->proteger($id_utilisateur)." "; |
"WHERE ce_utilisateur = ".Cel::db()->proteger($id_utilisateur)." "; |
$ordre_max = $this->executerRequete($requete, 'Column'); |
$ordre_max = Cel::db()->executerRequete($requete, 'Column'); |
if ($ordre_max !== false) { |
$ordre = $ordre_max + 1; |
} |
410,8 → 410,8 |
} |
public function lierObsEtImg($id_image, $utilisateur, $ordre_obs) { |
$id_image = $this->proteger($id_image); |
$id_obs = $this->proteger($this->obtenirIdObsPourIdentifiantEtOrdre($utilisateur, $ordre_obs)); |
$id_image = Cel::db()->proteger($id_image); |
$id_obs = Cel::db()->proteger($this->obtenirIdObsPourIdentifiantEtOrdre($utilisateur, $ordre_obs)); |
$requete = 'INSERT INTO cel_obs_images '. |
' (id_image, id_observation, date_liaison) '. |
419,7 → 419,7 |
' ON DUPLICATE KEY UPDATE id_image = id_image'; |
$liaison = true; |
if ($this->executerRequeteSimple($requete) === false) { |
if (Cel::db()->executerRequeteSimple($requete) === false) { |
$this->messages[] = "La requête de liaison de l'obs $id_obs à l'image $id_image pour l'utilisateur $id_utilisateur a échouée."; |
$liaison = false; |
} |
428,8 → 428,8 |
private function obtenirIdObsPourIdentifiantEtOrdre($id_utilisateur, $ordre) { |
$id_utilisateur = $this->proteger($id_utilisateur); |
$ordre = $this->proteger($ordre); |
$id_utilisateur = Cel::db()->proteger($id_utilisateur); |
$ordre = Cel::db()->proteger($ordre); |
$requete = 'SELECT id_observation '. |
'FROM cel_obs '. |
436,7 → 436,7 |
"WHERE ce_utilisateur = $id_utilisateur ". |
" AND ordre = $ordre "; |
$resultat = $this->executerRequete($requete); |
$resultat = Cel::db()->executerRequete($requete); |
$id_obs = (count($resultat) > 0) ? $resultat[0]['id_observation'] : false; |
return $id_obs; |
443,8 → 443,8 |
} |
private function obtenirIdsObsPourTableauOrdres($id_utilisateur, $ordres) { |
$id_utilisateur = $this->proteger($id_utilisateur); |
$ordres = array_map(array($this,'proteger'), $ordres); |
$id_utilisateur = Cel::db()->proteger($id_utilisateur); |
$ordres = array_map(array(Cel::db(),'proteger'), $ordres); |
$requete = 'SELECT id_observation '. |
'FROM cel_obs '. |
451,7 → 451,7 |
"WHERE ce_utilisateur = $id_utilisateur ". |
" AND ordre IN (".implode(',',$ordres).") "; |
$resultat = $this->executerRequete($requete); |
$resultat = Cel::db()->executerRequete($requete); |
$ids = array(); |
foreach($resultat as $id) { |
$ids[] = $id['id_observation']; |
508,7 → 508,7 |
$infosImage['md5'] = md5_file($cheminImage); |
$this->debug[] = 'Nom fichier img meta :'.$nomFichierImage; |
$requete = $this->construireRequeteInsertionImage($infosImage); |
$resultat = $this->executerRequeteSimple($requete); |
$resultat = Cel::db()->executerRequeteSimple($requete); |
if ($resultat !== false) { |
$idImage = $this->obtenirIdImagePourIdentifiantEtOrdre($idUtilisateur, $nouvelOrdre); |
if ($idImage !== false) { |
544,12 → 544,12 |
} |
private function obtenirNouvelOrdrePourUtilisateur($id_utilisateur) { |
$id_utilisateur = $this->proteger($id_utilisateur); |
$id_utilisateur = Cel::db()->proteger($id_utilisateur); |
$requete = 'SELECT MAX(ordre) as max_ordre '. |
'FROM cel_images '. |
"WHERE ce_utilisateur = $id_utilisateur "; |
$resultat = $this->executerRequete($requete); |
$resultat = Cel::db()->executerRequete($requete); |
$ordre = ($resultat) ? ++$resultat[0]['max_ordre'] : 0; |
return $ordre; |
556,14 → 556,14 |
} |
private function obtenirIdImagePourIdentifiantEtOrdre($id_utilisateur, $ordre) { |
$id_utilisateur = $this->proteger($id_utilisateur); |
$ordre = $this->proteger($ordre); |
$id_utilisateur = Cel::db()->proteger($id_utilisateur); |
$ordre = Cel::db()->proteger($ordre); |
$requete = 'SELECT id_image '. |
'FROM cel_images '. |
"WHERE ce_utilisateur = $id_utilisateur ". |
" AND ordre = $ordre "; |
$resultat = $this->executerRequete($requete); |
$resultat = Cel::db()->executerRequete($requete); |
$id_image = (count($resultat) > 0) ? $resultat[0]['id_image'] : false; |
return $id_image; |
576,10 → 576,10 |
foreach ($informations as $champ => $valeur) { |
$champs[] = $champ; |
$valeurs[] = is_null($valeur) ? 'NULL' : $this->proteger($valeur); |
$valeurs[] = is_null($valeur) ? 'NULL' : Cel::db()->proteger($valeur); |
if ($champ == 'date_creation' && $valeur != 'NULL') { |
$champs[] = 'date_creation'; |
$valeurs[] = $this->proteger($valeur); |
$valeurs[] = Cel::db()->proteger($valeur); |
} |
} |
$champs = implode(', ', $champs); |
/trunk/jrest/services/CelImage.php |
---|
67,7 → 67,7 |
' ON (coi.id_image = cim.id_image) '. |
"WHERE co.id_observation IN ($observations) "; |
$resultat_requete_images = $this->requeter($requete); |
$resultat_requete_images = Cel::db()->requeter($requete); |
$infos = array(); |
if(is_array($resultat_requete_images)) { |
/trunk/jrest/services/CelMotCle.php |
---|
74,11 → 74,11 |
foreach($ids as $id) { |
foreach($mots_cles_ids as $mot) { |
$requete .= '('.$id.','.$this->proteger($mot).'),'; |
$requete .= '('.$id.','.Cel::db()->proteger($mot).'),'; |
} |
} |
$requete = rtrim($requete,','); |
$resultat = $this->executer($requete); |
$resultat = Cel::db()->executer($requete); |
// J'en suis ici |
if ($resultat) { |
126,10 → 126,10 |
'('. |
'SELECT id_mot_cle_'.(($this->suffix == self::OBS_TABLE_SUFFIXE) ? 'obs' : 'image').' '. |
'FROM cel'.$this->suffix.'_mots_cles '. |
'WHERE '.(($this->suffix == self::OBS_TABLE_SUFFIXE) ? 'id_observation' : 'id_image').' = '.$this->proteger($id_image_ou_obs). |
'WHERE '.(($this->suffix == self::OBS_TABLE_SUFFIXE) ? 'id_observation' : 'id_image').' = '.Cel::db()->proteger($id_image_ou_obs). |
')'; |
$resultats = $this->requeter($requete); |
$resultats = Cel::db()->requeter($requete); |
return $resultats; |
} |
153,14 → 153,14 |
} |
private function mettreAJourMotsClesConcatenes($mots_cles, $id) { |
$mots_cles = $this->proteger($mots_cles); |
$utilisateur_id = $this->proteger($this->utilisateur_id); |
$mots_cles = Cel::db()->proteger($mots_cles); |
$utilisateur_id = Cel::db()->proteger($this->utilisateur_id); |
$requete = 'UPDATE cel'.$this->suffix." ". |
"SET mots_cles_texte = $mots_cles ". |
"WHERE id_".(($this->suffix == self::OBS_TABLE_SUFFIXE) ? 'observation' : 'image')." = $id "; |
$ok = $this->executer($requete) ? true : false; |
$ok = Cel::db()->executer($requete) ? true : false; |
return $ok; |
} |
199,14 → 199,14 |
$bd = $bg + 1; |
$mot_cle_encode = $this->encoderMotCle($mot_cle); |
$mot_cle_protege = $this->proteger($mot_cle); |
$bg = $this->proteger($bg); |
$bd = $this->proteger($bd); |
$mot_cle_encode = $this->proteger($mot_cle_encode); |
$mot_cle_id = $this->proteger($mot_cle_id); |
$id_utilisateur = $this->proteger($this->utilisateur_id); |
$mot_cle_parent_id_protege = $this->proteger($mot_cle_parent_id); |
$niveau = $this->proteger($niveau); |
$mot_cle_protege = Cel::db()->proteger($mot_cle); |
$bg = Cel::db()->proteger($bg); |
$bd = Cel::db()->proteger($bd); |
$mot_cle_encode = Cel::db()->proteger($mot_cle_encode); |
$mot_cle_id = Cel::db()->proteger($mot_cle_id); |
$id_utilisateur = Cel::db()->proteger($this->utilisateur_id); |
$mot_cle_parent_id_protege = Cel::db()->proteger($mot_cle_parent_id); |
$niveau = Cel::db()->proteger($niveau); |
$transaction_reussie_1 = $this->decalerBornesPlusDeux($borne_pere) ? true : false; |
267,10 → 267,10 |
$id_racine = $this->suffix; |
} |
$md5_racine = $this->proteger($this->encoderMotCle($nom_racine)); |
$nom_racine = $this->proteger($nom_racine); |
$id_racine = $this->proteger($id_racine); |
$id_utilisateur = $this->proteger($this->utilisateur_id); |
$md5_racine = Cel::db()->proteger($this->encoderMotCle($nom_racine)); |
$nom_racine = Cel::db()->proteger($nom_racine); |
$id_racine = Cel::db()->proteger($id_racine); |
$id_utilisateur = Cel::db()->proteger($this->utilisateur_id); |
$requete = "INSERT INTO cel_mots_cles{$this->suffix} ". |
"VALUES ($id_racine, $id_utilisateur, $nom_racine, $md5_racine,". |
285,9 → 285,9 |
private function verifierAbsence($mot_cle, $mot_cle_parent_id) { |
$absence = false; |
$mot_cle = $this->proteger($mot_cle); |
$mot_cle_parent_id = $this->proteger($mot_cle_parent_id); |
$id_utilisateur = $this->proteger($this->utilisateur_id); |
$mot_cle = Cel::db()->proteger($mot_cle); |
$mot_cle_parent_id = Cel::db()->proteger($mot_cle_parent_id); |
$id_utilisateur = Cel::db()->proteger($this->utilisateur_id); |
$requete = 'SELECT COUNT(*) AS nbre '. |
"FROM cel_mots_cles{$this->suffix} ". |
"WHERE mot_cle = $mot_cle ". |
305,9 → 305,9 |
} |
private function getIdMotCle($mot_cle, $mot_cle_parent_id) { |
$mot_cle = $this->proteger($mot_cle); |
$mot_cle_parent_id = $this->proteger($mot_cle_parent_id); |
$id_utilisateur = $this->proteger($this->utilisateur_id); |
$mot_cle = Cel::db()->proteger($mot_cle); |
$mot_cle_parent_id = Cel::db()->proteger($mot_cle_parent_id); |
$id_utilisateur = Cel::db()->proteger($this->utilisateur_id); |
$requete = 'SELECT id_mot_cle_'.(($this->suffix == self::OBS_TABLE_SUFFIXE) ? 'obs' : 'image').' AS id '. |
"FROM cel_mots_cles{$this->suffix} ". |
"WHERE mot_cle = $mot_cle ". |
320,7 → 320,7 |
private function compterMotsCles() { |
$nbre = 0; |
$id_utilisateur = $this->proteger($this->utilisateur_id); |
$id_utilisateur = Cel::db()->proteger($this->utilisateur_id); |
$requete = 'SELECT COUNT(*) AS nbre '. |
"FROM cel_mots_cles{$this->suffix} ". |
"WHERE id_utilisateur = $id_utilisateur "; |
380,8 → 380,8 |
* Renvoie les bornes d'un noeud de l'arbre des mots clés |
*/ |
private function retrouverBornesEtNiveau($mot_cle_id) { |
$mot_cle_id = $this->proteger($mot_cle_id); |
$id_utilisateur = $this->proteger($this->utilisateur_id); |
$mot_cle_id = Cel::db()->proteger($mot_cle_id); |
$id_utilisateur = Cel::db()->proteger($this->utilisateur_id); |
$requete = 'SELECT bd, bg, niveau '. |
"FROM cel_mots_cles{$this->suffix} ". |
"WHERE id_mot_cle_".(($this->suffix == self::OBS_TABLE_SUFFIXE) ? 'obs' : 'image')." = $mot_cle_id ". |
396,8 → 396,8 |
*/ |
private function decalerBornesPlusDeux($valeur) { |
// Décalage borne droite |
$valeur = $this->proteger($valeur); |
$id_utilisateur = $this->proteger($this->utilisateur_id); |
$valeur = Cel::db()->proteger($valeur); |
$id_utilisateur = Cel::db()->proteger($this->utilisateur_id); |
$requete = "UPDATE cel_mots_cles{$this->suffix} ". |
'SET bd = bd + 2 '. |
"WHERE bd >= $valeur ". |
427,8 → 427,8 |
*/ |
private function decalerBornesMoinsIntervalle($bg, $bd) { |
$decalage = $bd - $bg + 1; |
$bg = $this->proteger($bg); |
$id_utilisateur = $this->proteger($this->utilisateur_id); |
$bg = Cel::db()->proteger($bg); |
$id_utilisateur = Cel::db()->proteger($this->utilisateur_id); |
// Décalage borne droite |
$requete = "UPDATE cel_mots_cles{$this->suffix} ". |
451,9 → 451,9 |
* Décale à droite des bornes donées d'un intervalle positif donné (pour l'ajout d'un sous arbre). |
*/ |
private function decalerBornesPlusIntervalle($valeur_bornes, $largeur) { |
$valeur_bornes = $this->proteger($valeur_bornes); |
$largeur = $this->proteger($largeur); |
$id_utilisateur = $this->proteger($this->utilisateur_id); |
$valeur_bornes = Cel::db()->proteger($valeur_bornes); |
$largeur = Cel::db()->proteger($largeur); |
$id_utilisateur = Cel::db()->proteger($this->utilisateur_id); |
// Décalage borne droite |
$requete = "UPDATE cel_mots_cles{$this->suffix} ". |
476,9 → 476,9 |
* Inverse les bornes d'un intervalle pour l'exclure des modifications sur l'arbre sans changer la hiérarchie. |
*/ |
private function exclureIntervalle($bg, $bd) { |
$bg = $this->proteger($bg); |
$bd = $this->proteger($bd); |
$id_utilisateur = $this->proteger($this->utilisateur_id); |
$bg = Cel::db()->proteger($bg); |
$bd = Cel::db()->proteger($bd); |
$id_utilisateur = Cel::db()->proteger($this->utilisateur_id); |
$requete = "UPDATE cel_mots_cles{$this->suffix} ". |
"SET bd = bd - $bd - 1 , ". |
" bg = bg - $bd - 1 ". |
493,11 → 493,11 |
* Décalage borne droite |
*/ |
private function inclureIntervalle($bg, $bd, $largeur, $modif_niveau) { |
$bg = $this->proteger($bg); |
$bd = $this->proteger($bd); |
$largeur = $this->proteger($largeur); |
$modif_niveau = $this->proteger($modif_niveau); |
$id_utilisateur = $this->proteger($this->utilisateur_id); |
$bg = Cel::db()->proteger($bg); |
$bd = Cel::db()->proteger($bd); |
$largeur = Cel::db()->proteger($largeur); |
$modif_niveau = Cel::db()->proteger($modif_niveau); |
$id_utilisateur = Cel::db()->proteger($this->utilisateur_id); |
$requete = "UPDATE cel_mots_cles{$this->suffix} ". |
"SET bg = bg + $largeur , ". |
" bd = bd + $largeur, ". |
510,9 → 510,9 |
} |
private function changerPere($mot_cle_id, $id_pere) { |
$mot_cle_id = $this->proteger($mot_cle_id); |
$id_pere = $this->proteger($id_pere); |
$id_utilisateur = $this->proteger($this->utilisateur_id); |
$mot_cle_id = Cel::db()->proteger($mot_cle_id); |
$id_pere = Cel::db()->proteger($id_pere); |
$id_utilisateur = Cel::db()->proteger($this->utilisateur_id); |
$requete = "UPDATE cel_mots_cles{$this->suffix} ". |
"SET ce_mot_cle_".(($this->suffix == self::OBS_TABLE_SUFFIXE) ? 'obs' : 'image')."_parent = $id_pere ". |
"WHERE id_mot_cle_".(($this->suffix == self::OBS_TABLE_SUFFIXE) ? 'obs' : 'image')." = $mot_cle_id ". |
522,28 → 522,28 |
} |
private function executerSQL($requete) { |
$execution = $this->executer($requete); |
$execution = Cel::db()->executer($requete); |
$execution = ($execution === false) ? false : true; |
return $execution; |
} |
private function recupererValeur($requete) { |
$resultat = $this->requeter($requete, Cel::SQL_RETOUR_COLONNE); |
$resultat = Cel::db()->requeter($requete, Cel::SQL_RETOUR_COLONNE); |
return $resultat; |
} |
private function recupererResultat($requete) { |
$resultat = $this->requeter($requete, Cel::SQL_RETOUR_LIGNE, Cel::SQL_MODE_ASSOC); |
$resultat = Cel::db()->requeter($requete, Cel::SQL_RETOUR_LIGNE, Cel::SQL_MODE_ASSOC); |
return $resultat; |
} |
private function recupererResultats($requete) { |
$resultat = $this->requeter($requete, Cel::SQL_RETOUR_COMPLET, Cel::SQL_MODE_ASSOC); |
$resultat = Cel::db()->requeter($requete, Cel::SQL_RETOUR_COMPLET, Cel::SQL_MODE_ASSOC); |
return $resultat; |
} |
private function verifierLignesAffectees($requete) { |
$execution = $this->executer($requete); |
$execution = Cel::db()->executer($requete); |
return $execution; |
} |
} |
/trunk/jrest/services/CelSyndicationImage.php |
---|
205,12 → 205,12 |
protected function executerRequete($requete, $retour = 'All', $mode = PDO::FETCH_ASSOC) { |
$infos = null; |
try { |
$infos = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
$infos = Cel::db()->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
if ($infos === false) { |
$this->messages[] = "La requête suivante a retourné aucun résultat :\n$requete"; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
$this->messages[] = sprintf(Cel::db()->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
} |
return $infos; |
} |
262,7 → 262,7 |
$item['guid'] = $this->creerGuidItem($info); |
$item['lien'] = $this->creerLienItem($info); |
$item['categorie'] = $this->creerCategorie($item); |
$item['description'] = $this->creerDescription($this->protegerCaracteresHtmlDansChamps($info), $item); |
$item['description'] = $this->creerDescription(Cel::db()->protegerCaracteresHtmlDansChamps($info), $item); |
$item['description_encodee'] = htmlspecialchars($this->creerDescription($info, $item)); |
$item['modifier_par'] = $this->getIntituleAuteur($info['courriel_utilisateur']); |
return $item; |
484,12 → 484,12 |
$nom_valeur = explode("=",$pair); |
if (sizeof($nom_valeur) != 0) { |
switch ($nom_valeur[0]) { |
case "ci_limite" : $this->limit = $this->bdd->quote($nom_valeur[1]); break; |
case "c.ci_numero_page" : $this->limit*$this->bdd->quote($nom_valeur[1]); break; |
case "ci_limite" : $this->limit = Cel::db()->quote($nom_valeur[1]); break; |
case "c.ci_numero_page" : $this->limit*Cel::db()->quote($nom_valeur[1]); break; |
case "c.commentaire" : $mots_comment_liste = explode(" " , $nom_valeur[1]); |
foreach($mots_comment_liste as $mot_comment) { |
$mot_comment = trim($mot_comment) ; |
$requete .= $nom_valeur[0].' LIKE '.$this->bdd->quote('%'.$mot_comment.'%').' AND '; |
$requete .= $nom_valeur[0].' LIKE '.Cel::db()->quote('%'.$mot_comment.'%').' AND '; |
} |
break; |
case "c.date_prise_de_vue" : |
497,7 → 497,7 |
if (preg_match('/(^[0-9]{2})-([0-9]{2})-([0-9]{4}$)/', $nom_valeur[1], $matches)) { |
$nom_valeur[1] = $matches[3].'-'.$matches[2].'-'.$matches[1]; |
} |
$requete .= $nom_valeur[0].' LIKE '.$this->bdd->quote($nom_valeur[1]."%").' AND '; break; |
$requete .= $nom_valeur[0].' LIKE '.Cel::db()->quote($nom_valeur[1]."%").' AND '; break; |
case "b.ce_zone_geo" : |
$requete .= ' ('.$nom_valeur[0].' LIKE "%INSEE-C:'.$nom_valeur[1].'%") AND '; break; |
case "b.nom_ret" : |
519,17 → 519,17 |
if (preg_match('/.*OU.*/', $mot_cle)) { |
$mots_cles_tab = explode('OU',$mot_cle); |
foreach($mots_cles_tab as $mot_cle_item) { |
$requete .= '(c.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR '; |
$requete .= '(c.mots_cles_texte LIKE '.Cel::db()->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 .= '(c.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND '; |
$requete .= '(c.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') AND '; |
} |
$requete = '('.rtrim($requete, 'AND ').') '; |
} else { |
$requete = "(c.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') '; |
$requete = "(c.mots_cles_texte LIKE ".Cel::db()->proteger('%'.$mot_cle.'%').') '; |
} |
return $requete; |
} |
539,17 → 539,17 |
if (preg_match('/.*OU.*/', $mot_cle)) { |
$mots_cles_tab = explode('OU',$mot_cle); |
foreach($mots_cles_tab as $mot_cle_item) { |
$requete .= '(b.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR '; |
$requete .= '(b.mots_cles_texte LIKE '.Cel::db()->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 .= '(b.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND '; |
$requete .= '(b.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') AND '; |
} |
$requete = '('.rtrim($requete, 'AND ').') '; |
} else { |
$requete = "(b.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') '; |
$requete = "(b.mots_cles_texte LIKE ".Cel::db()->proteger('%'.$mot_cle.'%').') '; |
} |
return $requete; |
} |
/trunk/jrest/services/ImageDateList.php |
---|
45,7 → 45,7 |
'FROM cel_images WHERE '.$condition_requete.' '. |
'ORDER BY date_prise_de_vue'; |
$liste_dates = $this->executerRequete($requete_liste_dates); |
$liste_dates = Cel::db()->executerRequete($requete_liste_dates); |
$liste_dates = $this->formaterListeResultats($liste_dates); |
78,13 → 78,13 |
private function traiterParametresEtConstruireRequete($params) { |
$requete_condition = ' ce_utilisateur = '.$this->proteger($params[0]); |
$requete_condition = ' ce_utilisateur = '.Cel::db()->proteger($params[0]); |
$taille_tableau_parametres = count($params); |
for($i=1; $i < $taille_tableau_parametres; $i++) { |
if($this->estUnParametreDate($params[$i])) { |
$fonction_date = $this->correspondance_fonction[$i]; |
$requete_condition .= ' AND '.$fonction_date.'(date_prise_de_vue) = '.$this->proteger($params[$i]); |
$requete_condition .= ' AND '.$fonction_date.'(date_prise_de_vue) = '.Cel::db()->proteger($params[$i]); |
} |
} |
/trunk/jrest/services/User.php |
---|
123,9 → 123,9 |
function chargerInfosUtilisateur($login) { |
$requete_selection_utilisateur = 'SELECT * FROM cel_utilisateurs cu '. |
'WHERE courriel = '.$this->proteger($login); |
'WHERE courriel = '.Cel::db()->proteger($login); |
$resultat_selection_utilisateur = $this->requeter($requete_selection_utilisateur); |
$resultat_selection_utilisateur = Cel::db()->requeter($requete_selection_utilisateur); |
$retour = false; |
if(is_array($resultat_selection_utilisateur) && count($resultat_selection_utilisateur) > 0) { |
231,10 → 231,10 |
$requete = 'INSERT INTO cel_utilisateurs_infos '. |
'(id_utilisateur, admin, licence_acceptee, preferences, date_premiere_utilisation )'. |
'VALUES '. |
"(".$this->proteger($id_utilisateur).", '0', '0', NULL, NOW()) ". |
"(".Cel::db()->proteger($id_utilisateur).", '0', '0', NULL, NOW()) ". |
'ON DUPLICATE KEY UPDATE date_premiere_utilisation = NOW() '; |
$resultat_insertion_infos = $this->executer($requete); |
$resultat_insertion_infos = Cel::db()->executer($requete); |
} |
/** |
/trunk/jrest/services/ImageRDF.php |
---|
33,12 → 33,12 |
// Recherche de toutes les observations transmises du taxon pour lesquelles une photo est associee. |
$requete_obs_publiques_images_taxon = 'SELECT * FROM cel_obs, cel_obs_images, cel_images '. |
' WHERE cel_obs.nom_sel_nn = '.$this->proteger($uid[0]). |
' WHERE cel_obs.nom_sel_nn = '.Cel::db()->proteger($uid[0]). |
' AND cel_obs_images.id_observation = cel_obs.id_observation '. |
' AND cel_obs.transmission = 1 '. |
' AND cel_images.id_image = cel_obs_images.id_image'; |
$resultat_requete_obs_images_taxon = $this->requeter($requete_obs_publiques_images_taxon); |
$resultat_requete_obs_images_taxon = Cel::db()->requeter($requete_obs_publiques_images_taxon); |
$picture_path = $this->config['cel']['url_images']; |
// Formatage du xml |
/trunk/jrest/services/InventoryImageLink.php |
---|
51,10 → 51,10 |
{ |
$requete_creation_lien = 'INSERT INTO cel_obs_images (id_image, id_observation, date_liaison) '. |
'VALUES '. |
'('.$this->proteger($image).','.$this->proteger($observation).', NOW()) '. |
'('.Cel::db()->proteger($image).','.Cel::db()->proteger($observation).', NOW()) '. |
'ON DUPLICATE KEY UPDATE id_image = id_image' ; |
$resultat_creation_lien = $this->executer($requete_creation_lien); |
$resultat_creation_lien = Cel::db()->executer($requete_creation_lien); |
if ($resultat_creation_lien) { |
$retour = "OK"; |
96,18 → 96,18 |
'WHERE id_image IN ( '. |
'SELECT id_image '. |
'FROM cel_obs_images '. |
'WHERE id_observation = '.$this->proteger($value).' '. |
'WHERE id_observation = '.Cel::db()->proteger($value).' '. |
')'; |
} |
else |
{ |
$column = 'id_observation' ; |
$requete_selection_liaison = 'SELECT * from cel_obs WHERE id_observation IN (SELECT '.$column.' FROM cel_obs_images WHERE '.$field.' = '.$this->proteger($value).') ' ; |
$requete_selection_liaison = 'SELECT * from cel_obs WHERE id_observation IN (SELECT '.$column.' FROM cel_obs_images WHERE '.$field.' = '.Cel::db()->proteger($value).') ' ; |
} |
} |
$resultat_selection_liaison = $this->requeter($requete_selection_liaison); |
$resultat_selection_liaison = Cel::db()->requeter($requete_selection_liaison); |
$liaisons = array(); |
if (is_array($resultat_selection_liaison) && count($resultat_selection_liaison) > 0) { |
141,7 → 141,7 |
$this->controleUtilisateur($uid[0]); |
$id_img = $uid[1] ; |
$id_obs = $this->proteger($uid[2]) ; |
$id_obs = Cel::db()->proteger($uid[2]) ; |
$id = $uid[0] ; |
151,7 → 151,7 |
"AND id_observation IN (".$id_obs.") " ; |
} |
$resultat_suppression_lien = $this->executer($requete_suppression_lien); |
$resultat_suppression_lien = Cel::db()->executer($requete_suppression_lien); |
$retour = false; |
if ($resultat_suppression_lien) { |
/trunk/jrest/services/InventoryTransmit.php |
---|
33,10 → 33,10 |
$requete_transmission = 'UPDATE cel_obs '. |
'SET transmission = '.$pairs['transmission'].','. |
'date_modification = now(), date_transmission = now() '. |
'WHERE ce_utilisateur = '.$this->proteger($uid[0]).' AND ordre in ('.$uid[1].')'; |
'WHERE ce_utilisateur = '.Cel::db()->proteger($uid[0]).' AND ordre in ('.$uid[1].')'; |
} |
$resultat_transmission = $this->executer($requete_transmission); |
$resultat_transmission = Cel::db()->executer($requete_transmission); |
if ($resultat_transmission === false) { |
return false; |
/trunk/jrest/lib/RechercheImage.php |
---|
48,11 → 48,11 |
if ($this->doitJoindreTableObs($criteres)) { |
$requete_recherche_images .= $this->fabriquerRequeteJointureObs(); |
$requete_recherche_images .= ($id_utilisateur != null) ? 'AND ci.ce_utilisateur = '.$this->proteger($id_utilisateur) : ''; |
$requete_recherche_images .= ($id_utilisateur != null) ? 'AND ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : ''; |
} else { |
$requete_recherche_images .= 'FROM cel_images ci '; |
$requete_recherche_images .= ($id_utilisateur != null) ? 'WHERE ci.ce_utilisateur = '.$this->proteger($id_utilisateur) : ''; |
$requete_recherche_images .= ($id_utilisateur != null) ? 'WHERE ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : ''; |
} |
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres); |
61,7 → 61,7 |
$requete_recherche_images .= ' ORDER BY '.$ordre.' '.$direction.' LIMIT '.$debut.','.$limite ; |
$resultats_images = array(); |
$resultats_images = $this->executerRequete($requete_recherche_images); |
$resultats_images = Cel::db()->executerRequete($requete_recherche_images); |
return $resultats_images; |
} |
77,11 → 77,11 |
if ($this->doitJoindreTableObs($criteres)) { |
$requete_recherche_images .= $this->fabriquerRequeteJointureObs(); |
$requete_recherche_images .= ($id_utilisateur != null) ? 'AND ci.ce_utilisateur = '.$this->proteger($id_utilisateur) : ''; |
$requete_recherche_images .= ($id_utilisateur != null) ? 'AND ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : ''; |
} else { |
$requete_recherche_images .= 'FROM cel_images ci '; |
$requete_recherche_images .= ($id_utilisateur != null) ? 'WHERE ci.ce_utilisateur = '.$this->proteger($id_utilisateur) : ''; |
$requete_recherche_images .= ($id_utilisateur != null) ? 'WHERE ci.ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) : ''; |
} |
$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres); |
89,7 → 89,7 |
$requete_recherche_images .= $sous_requete_recherche; |
$nb_images = 0; |
$resultat_requete_nombre_images = $this->executerRequete($requete_recherche_images); |
$resultat_requete_nombre_images = Cel::db()->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']; |
119,7 → 119,7 |
$requete_table_liaison = 'SELECT id_observation FROM cel_obs_images WHERE id_image = '.$id_image; |
$resultats_liaisons_images = $this->executerRequete($requete_table_liaison); |
$resultats_liaisons_images = Cel::db()->executerRequete($requete_table_liaison); |
$ids_obs = ''; |
131,7 → 131,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->executerRequete($requete_obs_liees); |
$resultat_obs_liees = Cel::db()->executerRequete($requete_obs_liees); |
foreach($resultat_obs_liees as $obs_liee) |
{ |
171,7 → 171,7 |
foreach($mots_comment_liste as $mot_comment) |
{ |
$mot_comment = trim($mot_comment) ; |
$sous_requete .= 'ci.'.$nom.' LIKE '.$this->proteger('%'.$mot_comment.'%') ; |
$sous_requete .= 'ci.'.$nom.' LIKE '.Cel::db()->proteger('%'.$mot_comment.'%') ; |
$sous_requete .= ' AND ' ; |
} |
break; |
185,7 → 185,7 |
case "tampon": |
$ids_tampon = rtrim($valeur, ',') ; |
$sous_requete .= 'ci.id_images IN ( '.$this->proteger($ids_tampon).')' ; |
$sous_requete .= 'ci.id_images IN ( '.Cel::db()->proteger($ids_tampon).')' ; |
break; |
case "recherche": |
194,7 → 194,7 |
break; |
case "transmission": |
$sous_requete .= 'co.transmission = '.$this->proteger($valeur) ; |
$sous_requete .= 'co.transmission = '.Cel::db()->proteger($valeur) ; |
$sous_requete .= ' AND '; |
break; |
201,17 → 201,17 |
case "taxon": |
$valeur = str_replace('indetermine','null',$valeur); |
$sous_requete .= ' ('; |
$sous_requete .= 'co.nom_ret LIKE '.$this->proteger($valeur.'%') ; |
$sous_requete .= 'co.nom_ret LIKE '.Cel::db()->proteger($valeur.'%') ; |
$sous_requete .= ' OR ' ; |
$sous_requete .= 'co.nom_sel LIKE '.$this->proteger($valeur.'%') ; |
$sous_requete .= 'co.nom_sel LIKE '.Cel::db()->proteger($valeur.'%') ; |
$sous_requete .= ') AND ' ; |
break; |
case "auteur": |
$sous_requete .= '(ci.ce_utilisateur LIKE '.$this->proteger($valeur.'%').' OR '. |
'ci.courriel_utilisateur LIKE '.$this->proteger($valeur.'%').' OR '. |
'ci.nom_utilisateur LIKE '.$this->proteger($valeur.'%').' OR '. |
'ci.prenom_utilisateur LIKE '.$this->proteger($valeur.'%'). |
$sous_requete .= '(ci.ce_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '. |
'ci.courriel_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '. |
'ci.nom_utilisateur LIKE '.Cel::db()->proteger($valeur.'%').' OR '. |
'ci.prenom_utilisateur LIKE '.Cel::db()->proteger($valeur.'%'). |
') AND '; |
break; |
219,7 → 219,7 |
if($valeur == "NULL") { |
$sous_requete .= "(co.ce_zone_geo IS NULL OR co.ce_zone_geo = '')"; |
} else { |
$sous_requete .= '(co.ce_zone_geo LIKE '.(is_numeric($valeur) ? $this->proteger('INSEE-C:'.$valeur.'%') : $this->proteger($valeur)).') '; |
$sous_requete .= '(co.ce_zone_geo LIKE '.(is_numeric($valeur) ? Cel::db()->proteger('INSEE-C:'.$valeur.'%') : Cel::db()->proteger($valeur)).') '; |
} |
break; |
227,17 → 227,17 |
if($valeur == "NULL") { |
$sous_requete .= "(co.zone_geo IS NULL OR co.zone_geo = '')"; |
} else { |
$sous_requete .= '(co.zone_geo = '.$this->proteger($valeur).') '; |
$sous_requete .= '(co.zone_geo = '.Cel::db()->proteger($valeur).') '; |
} |
break; |
case "famille": |
$sous_requete .= 'co.famille = '.$this->proteger($valeur) ; |
$sous_requete .= 'co.famille = '.Cel::db()->proteger($valeur) ; |
$sous_requete .= ' AND ' ; |
break; |
default: |
$sous_requete .= 'ci.'.$nom.' = '.$this->proteger($valeur) ; |
$sous_requete .= 'ci.'.$nom.' = '.Cel::db()->proteger($valeur) ; |
$sous_requete .= ' AND ' ; |
break; |
} |
258,17 → 258,17 |
$chaine_recherche = str_replace(' ','_',$chaine_recherche); |
$requete = ' ('. |
'ci.nom_original LIKE '.$this->proteger($chaine_recherche.'%').' OR '. |
'co.nom_ret LIKE '.$this->proteger($chaine_recherche.'%').' OR '. |
'co.nom_sel LIKE '.$this->proteger($chaine_recherche.'%').' OR '. |
'co.zone_geo LIKE '.$this->proteger($chaine_recherche.'%').' OR '. |
'co.ce_zone_geo LIKE '.$this->proteger('%'.$chaine_recherche.'%').' OR '. |
'ci.nom_original LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '. |
'co.nom_ret LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '. |
'co.nom_sel LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '. |
'co.zone_geo LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '. |
'co.ce_zone_geo LIKE '.Cel::db()->proteger('%'.$chaine_recherche.'%').' OR '. |
//TODO: recherche multicriteres sur mots clés texte ne fonctionne pas à cause de la jointure |
//'ci.mots_cles_texte LIKE '.$this->proteger('%'.$chaine_recherche.'%').' OR '. |
'ci.ce_utilisateur LIKE '.$this->proteger($chaine_recherche.'%').' OR '. |
'ci.courriel_utilisateur LIKE '.$this->proteger($chaine_recherche.'%').' OR '. |
'ci.nom_utilisateur LIKE '.$this->proteger($chaine_recherche.'%').' OR '. |
'ci.prenom_utilisateur LIKE '.$this->proteger($chaine_recherche.'%').' '. |
//'ci.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$chaine_recherche.'%').' OR '. |
'ci.ce_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '. |
'ci.courriel_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '. |
'ci.nom_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' OR '. |
'ci.prenom_utilisateur LIKE '.Cel::db()->proteger($chaine_recherche.'%').' '. |
') '; |
return $requete; |
281,7 → 281,7 |
$requete_recherche_date = ''; |
if(is_numeric($valeur) && $valeur != "00") { |
$requete_recherche_date = '('.$correspondance_champ[$intervalle].'(ci.date_prise_de_vue) = '.$this->proteger($valeur).') '; |
$requete_recherche_date = '('.$correspondance_champ[$intervalle].'(ci.date_prise_de_vue) = '.Cel::db()->proteger($valeur).') '; |
} else { |
$requete_recherche_date = '(ci.date_prise_de_vue IS NULL OR ci.date_prise_de_vue = "0000-00-00")'; |
} |
294,17 → 294,17 |
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 .= '(ci.mots_cles_texte LIKE '.Cel::db()->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 .= '(ci.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') AND '; |
} |
$requete = '('.rtrim($requete, 'AND ').') '; |
} else { |
$requete = "(ci.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') '; |
$requete = "(ci.mots_cles_texte LIKE ".Cel::db()->proteger('%'.$mot_cle.'%').') '; |
} |
$requete .= ' AND '; |
return $requete; |
326,9 → 326,9 |
public function obtenirCourrielUtilisateurPourIdImage($id_image) { |
$requete = 'SELECT courriel_utilisateur FROM cel_images WHERE '. |
'id_image = '.$this->proteger($id_image); |
'id_image = '.Cel::db()->proteger($id_image); |
$utilisateur_courriel = $this->executerRequete($requete); |
$utilisateur_courriel = Cel::db()->executerRequete($requete); |
$retour = false; |
if(!empty($utilisateur_courriel) && isset($utilisateur_courriel[0]['courriel_utilisateur'])) { |
343,7 → 343,7 |
'FROM cel_images_mots_cles '. |
'WHERE id_image = '.$id_image; |
return $this->executerRequete($requete_selection_mots_cles); |
return Cel::db()->executerRequete($requete_selection_mots_cles); |
} |
// TODO: fonction temporaire |
/trunk/jrest/lib/RechercheInfosTaxon.php |
---|
48,9 → 48,9 |
" , eflore_naturaliste_intitule_abreviation AS auteur_mex ". |
" , eflore_naturaliste_intitule_abreviation AS auteur_m ". |
" , eflore_selection_nom". |
" WHERE en_id_version_projet_nom = '25' AND en_nom_genre LIKE ".$this->proteger($genre.'%'). |
" WHERE en_id_version_projet_nom = '25' AND en_nom_genre LIKE ".Cel::db()->proteger($genre.'%'). |
" AND en_ce_rang > 160 " . |
" AND en_epithete_espece like ".$this->proteger($espece.'%')." AND en_ce_rang = enrg_id_rang " . |
" AND en_epithete_espece like ".Cel::db()->proteger($espece.'%')." AND en_ce_rang = enrg_id_rang " . |
" AND en_ce_auteur_basio_ex = auteur_bex.enaia_id_intitule_naturaliste_abrege ". |
" AND en_ce_auteur_basio = auteur_b.enaia_id_intitule_naturaliste_abrege ". |
" AND en_ce_auteur_modif_ex = auteur_mex.enaia_id_intitule_naturaliste_abrege ". |
68,13 → 68,13 |
if ((strlen($genre) >= 1)) { |
$requete_recherche = "SELECT DISTINCT en_nom_genre, en_id_nom, 0 as esn_ce_statut FROM eflore_nom WHERE en_id_version_projet_nom = '25'" . |
"AND en_ce_rang = 160 " . |
"AND en_nom_genre LIKE ".$this->proteger($genre.'%')." ORDER BY esn_ce_statut, en_nom_genre LIMIT 50"; |
"AND en_nom_genre LIKE ".Cel::db()->proteger($genre.'%')." ORDER BY esn_ce_statut, en_nom_genre LIMIT 50"; |
} |
} |
} |
if ($requete_recherche != '') { |
$resultat_recherche = $this->executerRequete($requete_recherche); |
$resultat_recherche = Cel::db()->executerRequete($requete_recherche); |
if (is_array($resultat_recherche)) { |
foreach ($resultat_recherche as $ligne) { |
141,7 → 141,7 |
" , eflore_naturaliste_intitule_abreviation AS auteur_mex ". |
" , eflore_naturaliste_intitule_abreviation AS auteur_m ". |
" ,eflore_selection_nom a, eflore_selection_nom b". |
" WHERE a.esn_id_nom= ".$this->proteger($numNom). |
" WHERE a.esn_id_nom= ".Cel::db()->proteger($numNom). |
" AND a.esn_id_version_projet_taxon = 25 ". |
" AND a.esn_id_taxon=b.esn_id_taxon ". |
" AND b.esn_ce_statut=3 ". |
155,7 → 155,7 |
" AND a.esn_id_version_projet_taxon=en_id_version_projet_nom "; |
$resultat_infos_complementaires = $this->executerRequete($requete_infos_complementaires); |
$resultat_infos_complementaires = Cel::db()->executerRequete($requete_infos_complementaires); |
return $resultat_infos_complementaires; |
} |
184,7 → 184,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->executerRequete($requete_infos_complementaires); |
$resultat_infos_complementaires = Cel::db()->executerRequete($requete_infos_complementaires); |
return $resultat_infos_complementaires; |
} |
202,7 → 202,7 |
'eni_intitule_nom LIKE "'.$nom_saisi.'%" '. |
'ORDER BY LENGTH(eni_intitule_nom)'; |
$resultat_infos_comp_sur_nom = $this->executerRequete($requete_infos_comp_sur_nom); |
$resultat_infos_comp_sur_nom = Cel::db()->executerRequete($requete_infos_comp_sur_nom); |
if (is_array($resultat_infos_comp_sur_nom)) { |
foreach ($resultat_infos_comp_sur_nom as $ligne) { |
232,7 → 232,7 |
" AND en_id_nom = esn_id_nom ". |
" AND esn_id_version_projet_taxon=en_id_version_projet_nom "; |
$resultat_recherche_famille = $this->executerRequete($requete_famille); |
$resultat_recherche_famille = Cel::db()->executerRequete($requete_famille); |
if (!is_array($resultat_recherche_famille) || count($resultat_recherche_famille) == 0) { |
$resultat_recherche_famille = array('en_ce_rang' => 'fin'); |
247,7 → 247,7 |
$requete_num_tax = "SELECT DISTINCT b.esn_id_taxon FROM eflore_nom, eflore_nom_rang," . |
" eflore_selection_nom a, eflore_selection_nom b". |
" WHERE a.esn_id_nom= ".$this->proteger($num_nom). |
" WHERE a.esn_id_nom= ".Cel::db()->proteger($num_nom). |
" AND a.esn_id_version_projet_taxon = 25 ". |
" AND a.esn_id_taxon=b.esn_id_taxon ". |
" AND b.esn_ce_statut=3 ". |
256,7 → 256,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->executerRequete($requete_num_tax); |
$res_num_nom = Cel::db()->executerRequete($requete_num_tax); |
$nt = null; |
if (is_array($res_num_nom) && count($res_num_nom) > 0) { |
269,13 → 269,13 |
public function taxonEstPresentDansDepartement($num_taxon,$code_departement) { |
$requete_presence_taxon = "SELECT ecd_ce_taxon FROM eflore_zg, eflore_chorologie_donnee ". |
"WHERE ecd_ce_taxon = ".$this->proteger($num_taxon)." ". |
"AND ezg_code = ".$this->proteger($code_departement)." ". |
"WHERE ecd_ce_taxon = ".Cel::db()->proteger($num_taxon)." ". |
"AND ezg_code = ".Cel::db()->proteger($code_departement)." ". |
"AND ecd_ce_zone_geo = ezg_id_zone_geo ". |
"AND ezg_id_projet_zg = ecd_ce_version_projet_zg ". |
"AND ecd_ce_version_projet_taxon=25"; |
$resultat_presence_taxon = $this->executerRequete($requete_presence_taxon); |
$resultat_presence_taxon = Cel::db()->executerRequete($requete_presence_taxon); |
$presence_taxon = (is_array($resultat_presence_taxon) && count($resultat_presence_taxon) > 0); |
289,12 → 289,12 |
if (isset($nom_latin_decoupe['infra']) && $nom_latin_decoupe['infra']!="") { |
$requete="SELECT DISTINCT en_id_nom, esn_ce_statut" . |
" FROM eflore_nom, eflore_nom_rang, eflore_selection_nom " . |
" WHERE en_id_version_projet_nom = '25' AND en_nom_genre = ".$this->proteger($nom_latin_decoupe['genus'])." " . |
" AND enrg_abreviation_rang = ".$this->proteger($nom_latin_decoupe['infra_type'])." " . |
" AND en_epithete_infra_specifique = ".$this->proteger($nom_latin_decoupe['infra'])." " . |
" WHERE en_id_version_projet_nom = '25' AND en_nom_genre = ".Cel::db()->proteger($nom_latin_decoupe['genus'])." " . |
" AND enrg_abreviation_rang = ".Cel::db()->proteger($nom_latin_decoupe['infra_type'])." " . |
" AND en_epithete_infra_specifique = ".Cel::db()->proteger($nom_latin_decoupe['infra'])." " . |
" AND esn_id_nom= en_id_nom ". |
" AND esn_id_version_projet_taxon=en_id_version_projet_nom " . |
" AND en_epithete_espece = ".$this->proteger($nom_latin_decoupe['species'])." AND en_ce_rang = enrg_id_rang " . |
" AND en_epithete_espece = ".Cel::db()->proteger($nom_latin_decoupe['species'])." AND en_ce_rang = enrg_id_rang " . |
" ORDER BY esn_ce_statut ". |
" LIMIT 1"; |
} |
301,17 → 301,17 |
else { // espece (on privilegie les noms retenu cf tri par esn_ce_statut) |
$requete="SELECT DISTINCT en_id_nom, esn_ce_statut" . |
" FROM eflore_nom, eflore_nom_rang, eflore_selection_nom " . |
" WHERE en_id_version_projet_nom = '25' AND en_nom_genre = ".$this->proteger($nom_latin_decoupe['genus'])." " . |
" WHERE en_id_version_projet_nom = '25' AND en_nom_genre = ".Cel::db()->proteger($nom_latin_decoupe['genus'])." " . |
" AND enrg_abreviation_rang = 'sp.' " . |
" AND esn_id_nom= en_id_nom ". |
" AND esn_id_version_projet_taxon=en_id_version_projet_nom " . |
" AND en_epithete_espece = ".$this->proteger($nom_latin_decoupe['species'])." AND en_ce_rang = enrg_id_rang " . |
" AND en_epithete_espece = ".Cel::db()->proteger($nom_latin_decoupe['species'])." AND en_ce_rang = enrg_id_rang " . |
" ORDER BY esn_ce_statut ". |
" LIMIT 1"; |
} |
$resultat = $this->executerRequete($requete); |
$resultat = Cel::db()->executerRequete($requete); |
$retour = array(); |
if (is_array($resultat) && count($resultat) > 0) { |
/trunk/jrest/lib/Cel.php |
---|
13,21 → 13,26 |
* @version $Id$ |
* @copyright © 2012, Tela Botanica |
*/ |
// TODO : supprimer la méthode protegerRequete() |
require_once('Bdd2.php'); |
abstract class Cel { |
const TYPE_OBS = 'observation'; |
const TYPE_IMG = 'image'; |
const SQL_MODE_ASSOC = PDO::FETCH_ASSOC; |
const SQL_MODE_OBJET = PDO::FETCH_OBJ; |
const SQL_RETOUR_COMPLET = 'All'; |
const SQL_RETOUR_LIGNE = 'Row'; |
const SQL_RETOUR_COLONNE = 'Column'; |
const SQL_RETOUR_BRUT = 'Raw'; |
// TODO: delete wrappers |
const SQL_MODE_ASSOC = Bdd2::SQL_MODE_ASSOC; |
const SQL_MODE_OBJET = Bdd2::SQL_MODE_OBJET; |
const SQL_RETOUR_COMPLET = Bdd2::SQL_RETOUR_COMPLET; |
const SQL_RETOUR_LIGNE = Bdd2::SQL_RETOUR_LIGNE; |
const SQL_RETOUR_COLONNE = Bdd2::SQL_RETOUR_COLONNE; |
const SQL_RETOUR_BRUT = Bdd2::SQL_RETOUR_BRUT; |
public $config; |
private $ressources; |
protected $parametres = array(); |
protected $bdd; |
public static $bdd = null; |
protected $messages = array(); |
protected $debug = array(); |
protected $start; |
48,7 → 53,7 |
date_default_timezone_set($this->config['settings']['fuseauHoraire']); |
// Connection à la base de données |
$this->bdd = $this->connecterPDO($this->config, 'database_cel'); |
self::$bdd = new Bdd2($this->config, 'database_cel'); |
// Nettoyage du _GET (sécurité) |
$this->collecterParametres();// Récupération de tous les parametres de _GET, nettoyage et mise dans $this->parametres |
60,128 → 65,28 |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION de la BASE de DONNÉES |
protected function connecterPDO($config, $base = 'database_cel') { |
$cfg = $config[$base]; |
// ATTENTION : la connexin à la bdd peut échouer si l'host vaut localhost. Utiliser 127.0.0.1 à la place. |
$dsn = $cfg['phptype'].':dbname='.$cfg['database'].';host='.$cfg['hostspec']; |
try { |
// Création de la connexion en UTF-8 à la BDD |
$PDO = new PDO($dsn, $cfg['username'], $cfg['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'")); |
// Affiche les erreurs détectées par PDO (sinon mode silencieux => aucune erreur affiché) |
$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
} catch (PDOException $e) { |
echo 'La connexion à la base de donnée via PDO a échouée : ' .$dsn. $e->getMessage(); |
return new Bdd2($config, $base); |
} |
return $PDO; |
} |
/** |
* Protège automatiquement toutes les chaines comprises entre deux caractères '|'. |
* Puis execute la requete. |
* @see protegerRequete() |
* @param unknown_type $requete |
*/ |
public function requeter($requete, $retour = self::SQL_RETOUR_COMPLET, $mode = PDO::FETCH_ASSOC) { |
$requete = $this->protegerRequete($requete); |
return $this->executerRequete($requete, $retour, $mode); |
public static function db() { |
if(! self::$bdd) die('ERR: no DB available'); |
return self::$bdd; |
} |
/** |
* Protège automatiquement toutes les chaines comprises entre deux caractères '|'. |
* @see protegerRequete() |
* @param unknown_type $requete |
*/ |
protected function executer($requete) { |
$requete = $this->protegerRequete($requete); |
return $this->executerRequeteSimple($requete); |
// TODO: delete wrappers, en attendant que $this->bdd soit remplacé par Cel::db() partout. |
public function __get($prop) { |
if($prop == 'bdd') return self::$bdd; |
return $this->$prop; |
} |
/** |
* Méthode permettant de rechercher dans une requete SQL sous forme de chaine (String) les chaines |
* à protéger. Cela évite de protéger chaque variable avant de l'insérer dans une requete SQL. |
* Par contre, il est important que les chaine à protéger ne contiennent pas le caractère '|'. |
* |
* @param $requete |
*/ |
protected function protegerRequete($requete) { |
if (substr_count($requete, '|') % 2 === 0) { |
if (preg_match_all('/\|([^|]*)\|/', $requete, $correspondances, PREG_SET_ORDER)) { |
foreach ($correspondances as $chaine) { |
$chaine_protegee = $this->bdd->quote($chaine[1]); |
$requete = str_replace($chaine[0], $chaine_protegee, $requete); |
} |
} |
} else { |
$this->messages[] = "La requête a protéger contient un nombre impair de caractère de protection '|'."; |
$requete = false; |
} |
return $requete; |
} |
protected function proteger($chaine) { |
return $this->bdd->quote($chaine); |
} |
protected function protegerTableau(Array $tableau) { |
foreach ($tableau as $id => $val) { |
$tableau[$id] = $this->proteger($val); |
$tableau[$id] = Cel::db()->proteger($val); |
} |
return $tableau; |
} |
protected function executerRequeteSimple($requete) { |
$resultat = false; |
try { |
$resultat = $this->bdd->exec($requete); |
if ($resultat === false) { |
$this->debug[] = "La requête a échoué : $requete"; |
} |
} catch (PDOException $e) { |
$this->debug[] = sprintf($this->getTxt('sql_erreur_requete'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete); |
} |
return $resultat; |
} |
public function executerRequete($requete, $retour = self::SQL_RETOUR_COMPLET, $mode = PDO::FETCH_ASSOC) { |
$resultat = false; |
try { |
switch ($retour) { |
case self::SQL_RETOUR_COMPLET : |
$resultat = $this->bdd->query($requete)->fetchAll($mode);// Retourne toutes les lignes |
break; |
case self::SQL_RETOUR_LIGNE : |
$resultat = $this->bdd->query($requete)->fetch($mode);// Retourne la première ligne |
break; |
case self::SQL_RETOUR_COLONNE : |
$resultat = $this->bdd->query($requete)->fetchColumn();// Retourne la première colonne de la première ligne |
break; |
case self::SQL_RETOUR_BRUT : |
$resultat = $this->bdd->query($requete);// Retourne l'objet brut pour être utilisé dans une boucle de type foreach |
break; |
default: |
$this->debug[] = "Le type de retour '$retour' est inconnu."; |
} |
if ($resultat === false) { |
$this->debug[] = "La requête a retourné aucun résultat : $requete"; |
} |
} catch (PDOException $e) { |
$this->debug[] = sprintf($this->getTxt('sql_erreur_requete'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete); |
} |
return $resultat; |
} |
protected function getTxt($id) { |
$sortie = ''; |
switch ($id) { |
case 'sql_erreur' : $sortie = 'Requête echec. Fichier : "%s". Ligne : "%s". Message : %s'; break; |
case 'sql_erreur_requete' : $sortie = "Requête echec.\nFichier : %s.\nLigne : %s.\nMessage : %s.\nRequête : %s"; break; |
default : $sortie = $id; |
} |
return $sortie; |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// TRAITEMENT des URLs et des PARAMÊTRES |
235,7 → 140,7 |
foreach ($params_attendu as $num => $nom) { |
if (isset($params[$num]) && $params[$num] != '*') { |
if ($pourBDD) { |
$params[$num] = $this->bdd->quote($params[$num]); |
$params[$num] = self::$bdd->quote($params[$num]); |
} |
$sortie[$nom] = $params[$num]; |
} |
459,9 → 364,9 |
if(is_numeric($id_utilisateur)) { |
$requete_infos_utilisateur = 'SELECT prenom, nom, courriel FROM cel_utilisateurs '. |
'WHERE id_utilisateur = '.$this->proteger($id_utilisateur); |
'WHERE id_utilisateur = '.Cel::db()->proteger($id_utilisateur); |
$resultat_infos_utilisateur = $this->requeter($requete_infos_utilisateur); |
$resultat_infos_utilisateur = Cel::db()->requeter($requete_infos_utilisateur); |
if($resultat_infos_utilisateur && is_array($resultat_infos_utilisateur) && count($resultat_infos_utilisateur) > 0) { |
$infos_utilisateur = $resultat_infos_utilisateur[0]; |
476,9 → 381,9 |
$infos_utilisateur = array('prenom' => $mail_utilisateur, 'nom' => $mail_utilisateur, 'courriel' => $mail_utilisateur); |
$requete_infos_utilisateur = 'SELECT id, prenom, nom FROM cel_utilisateurs '. |
'WHERE courriel = '.$this->proteger($mail_utilisateur); |
'WHERE courriel = '.Cel::db()->proteger($mail_utilisateur); |
$resultat_infos_utilisateur = $this->requeter($requete_infos_utilisateur); |
$resultat_infos_utilisateur = Cel::db()->requeter($requete_infos_utilisateur); |
if($resultat_infos_utilisateur && is_array($resultat_infos_utilisateur) && count($resultat_infos_utilisateur) > 0) { |
$infos_utilisateur = $resultat_infos_utilisateur; |
649,10 → 554,10 |
$code_insee = $dpt; |
$requete = 'SELECT id_zone_geo FROM cel_zones_geo '. |
'WHERE nom LIKE '.$this->proteger($nom_commune).' '. |
'WHERE nom LIKE '.Cel::db()->proteger($nom_commune).' '. |
'AND id_zone_geo LIKE "INSEE-C:'.$dpt.'%"'; |
$resultat = $this->requeter($requete); |
$resultat = Cel::db()->requeter($requete); |
if(is_array($resultat) && count($resultat) > 0) { |
$code_insee = $resultat[0]['id_zone_geo']; |
677,7 → 582,7 |
private function decoderMotsCles($utilisateur_id, $mots_cles, $type) { |
$mots = array(); |
if (! $this->etreNull($mots_cles)) { |
$utilisateur_id = $this->bdd->quote($utilisateur_id); |
$utilisateur_id = self::$bdd->quote($utilisateur_id); |
$mots_cles = $this->protegerMotsCles($mots_cles, $type); |
if (! $this->etreNull($mots_cles)) { |
688,7 → 593,7 |
"WHERE cmc_id_mot_cle_utilisateur IN ($mots_cles) ". |
"AND cmc_id_proprietaire = $utilisateur_id "; |
$elements = $this->executerRequete($requete); |
$elements = Cel::db()->executerRequete($requete); |
if (is_array($elements)) { |
foreach ($elements as $mot) { |
$mots[] = $mot['mot_cle']; |
709,7 → 614,7 |
if (! $this->etreNull($valeurs)) { |
$valeurs_a_proteger = explode($separateur_entree,trim(trim($valeurs), $separateur_entree)); |
foreach ($valeurs_a_proteger as $valeur) { |
$valeurs_protegees[] = $this->bdd->quote($valeur); |
$valeurs_protegees[] = self::$bdd->quote($valeur); |
} |
$valeurs = implode($separateur_sortie, $valeurs_protegees); |
} |
/trunk/jrest/lib/FormateurGroupeColonne.php |
---|
329,12 → 329,12 |
if(false && $abbrev == 'date_observation' && $valeur == "0000-00-00") { |
/* blah */ |
} |
// ici à cause du passage de $cel ($this), TODO: DB en Singleton ! |
// ici à cause du passage de $cel ($this->utilisateur) |
if($abbrev == 'images') { |
$valeur = FormateurGroupeColonne::getImages($obs, $cel->id_utilisateur, $cel); |
$valeur = FormateurGroupeColonne::getImages($obs, $cel->id_utilisateur); |
} |
if($abbrev == 'nom-commun') { |
$valeur = FormateurGroupeColonne::getNomCommun_v4($obs, $cel); |
$valeur = FormateurGroupeColonne::getNomCommun_v4($obs); |
} |
if($valeur == null) { |
351,7 → 351,7 |
if(is_null($colonne['dyna'])) continue; |
// XXX: PHP-5.3 |
call_user_func_array($colonne['dyna'], |
array($cel, $obs, &$ligne_formatee)); |
array($obs, &$ligne_formatee)); |
} |
return $ligne_formatee; |
393,7 → 393,7 |
* @param $fonction_dynamique (optionnel): défini une fonction ajoutant un nombre arbitraire de colonnes à une ligne donnée |
* Utile, notamment, dans le cadre de l'export des champs étendus ou des données baseflor |
* La fonction doit TOUJOURS alterer la ligne en lui ajoutant une nombre CONSTANT d'éléments (NULL ou non) |
* La fonction doit prendre comme arguments ($cel, $obs, &$ligne_formatee) |
* La fonction doit prendre comme arguments ($obs, &$ligne_formatee) |
*/ |
static function GenColInfo($args) { |
$default = Array('abbrev' => NULL, |
443,12 → 443,12 |
return NULL; |
} |
static function getImages($obs, $id_utilisateur, $cel) { |
static function getImages($obs, $id_utilisateur) { |
if(! $id_utilisateur) return NULL; |
if(isset(self::$cache['getImages'][$obs['id_observation']])) |
return self::$cache['getImages'][$obs['id_observation']]; |
$rec = $cel->requeter( |
$rec = Cel::db()->requeter( |
sprintf("SELECT GROUP_CONCAT(nom_original ORDER BY nom_original ASC SEPARATOR '%s') AS i FROM cel_images i" |
." LEFT JOIN cel_obs_images oi ON (i.id_image = oi.id_image)" |
." LEFT JOIN cel_obs o ON (oi.id_observation = o.id_observation)" |
605,7 → 605,7 |
Ainsi, les appels successifs à getNomCommun_v4() ne sont pas couteux (pas de requête SQL) */ |
static function getNomCommun_preload($cel, $obsids) { |
if(!$obsids) return; |
if(!self::referenceTableExiste($cel)) return NULL; |
if(!self::referenceTableExiste()) return NULL; |
// CREATE INDEX i_nom_referentiel ON cel_obs (nom_referentiel(5)); |
$req = sprintf("SELECT r.referentiel, r.num_taxon, r.nom_commun FROM cel_references r" . |
612,7 → 612,7 |
" INNER JOIN cel_obs c ON (r.referentiel = substring_index(c.nom_referentiel, ':', 1) and r.num_taxon = c.nt)" . |
" WHERE c.id_observation IN (%s)", |
implode(',', $obsids)); |
$res = $cel->requeter($req); |
$res = Cel::db()->requeter($req); |
foreach($res as $v) { |
self::$cache['getNomCommun'][$v['referentiel'] . '-' . $v['num_taxon'] . '-' . 'fra'] = $v['nom_commun']; |
} |
619,18 → 619,18 |
return NULL; |
} |
static function referenceTableExiste($cel) { |
static function referenceTableExiste() { |
if(!self::$is_table) { |
// une seule fois |
if(! $cel->executerRequete("SHOW TABLES LIKE 'cel_references'", Cel::SQL_RETOUR_LIGNE)) return FALSE; |
if(! Cel::db()->executerRequete("SHOW TABLES LIKE 'cel_references'", Cel::SQL_RETOUR_LIGNE)) return FALSE; |
self::$is_table = TRUE; |
} |
return TRUE; |
} |
static function getNomCommun_v4($obs, $cel) { |
static function getNomCommun_v4($obs) { |
if(! $obs['nt']) return NULL; |
if(! self::referenceTableExiste($cel)) return NULL; |
if(! self::referenceTableExiste()) return NULL; |
$langue = 'fra'; |
list($referentiel) = explode(':', strtolower($obs['nom_referentiel'])); |
644,7 → 644,7 |
} |
// pas de cache: |
$nom = $cel->executerRequete(sprintf("SELECT nom_commun FROM cel_references " . |
$nom = Cel::db()->executerRequete(sprintf("SELECT nom_commun FROM cel_references " . |
"WHERE referentiel = '%s' AND num_taxon = %d LIMIT 1", |
$referentiel, |
$obs['nt']), |
663,7 → 663,7 |
Ainsi, les appels successifs à baseflor_ligne() ne sont pas couteux (pas de requête SQL) */ |
static function baseflor_preload($cel, $obsids) { |
if(!$obsids) return; |
if(!self::referenceTableExiste($cel)) return NULL; |
if(!self::referenceTableExiste()) return NULL; |
$req = sprintf("SELECT referentiel, num_nom_retenu, %s FROM cel_references r" . |
" INNER JOIN cel_obs c ON (r.num_nom_retenu = c.nom_ret_nn)" . |
671,7 → 671,7 |
//" AND catminat_code IS NOT NULL", // TODO: suppression des NULL ici signifie que le cache sera partiel... |
implode(',', array_keys(self::$baseflor_col)), |
implode(',', $obsids)); |
$res = $cel->requeter($req); |
$res = Cel::db()->requeter($req); |
if(!$res) return NULL; |
foreach($res as $v) { |
685,13 → 685,13 |
} |
static function baseflor_ligne($cel, $obs, &$ligne) { |
static function baseflor_ligne($obs, &$ligne) { |
if(! $obs['nom_ret_nn']) { |
$ligne = array_merge($ligne, array_fill(0, count(self::$baseflor_col), NULL)); |
return; |
} |
if(! self::referenceTableExiste($cel)) { |
if(! self::referenceTableExiste()) { |
$ligne = array_merge($ligne, array_fill(0, count(self::$baseflor_col), NULL)); |
return; |
} |
707,7 → 707,7 |
} |
// pas de cache: |
$data = $cel->executerRequete(sprintf("SELECT %s FROM cel_references " . |
$data = Cel::db()->executerRequete(sprintf("SELECT %s FROM cel_references " . |
"WHERE referentiel = '%s' AND num_nom_retenu = %d LIMIT 1", |
implode(', ', array_keys(self::$baseflor_col)), |
$referentiel, |
760,7 → 760,7 |
return $champs_etendus_fmt; |
} |
static function champsEtendus_ligne($cel, $obs, &$ligne) { |
static function champsEtendus_ligne($obs, &$ligne) { |
// si header n'est pas défini, aucune observation ne possède de champ étendu |
// et nous n'ajoutons ni colonnes, ni valeurs. |
if(! isset(self::$cache['champsEtendus']['header'])) return; |
/trunk/jrest/lib/LiaisonMotsCles.php |
---|
42,12 → 42,12 |
foreach($ids_images_ou_obs as $id_image_ou_obs) { |
foreach($mots_cles as $mot) { |
$requete_liaison_mots_cles .= '('.$id_image_ou_obs.','.$this->proteger($mot).'),'; |
$requete_liaison_mots_cles .= '('.$id_image_ou_obs.','.Cel::db()->proteger($mot).'),'; |
} |
} |
$requete_liaison_mots_cles = rtrim($requete_liaison_mots_cles,','); |
$resultat_liaison_mots_cles = $this->executer($requete_liaison_mots_cles); |
$resultat_liaison_mots_cles = Cel::db()->executer($requete_liaison_mots_cles); |
foreach($ids_images_ou_obs as $id_image_ou_obs) { |
$this->regenererIndexTexteMotCle($id_image_ou_obs, $id_utilisateur); |
80,7 → 80,7 |
$champ_objet_lie.' IN ('.implode(',',$ids_images_ou_obs).') '. |
'AND '.$champ_mot_cle.' IN ('.implode(',',$mots_cles).')'; |
$resultat_suppression_mot_cle = $this->executer($requete_suppression_liaison_mot_cle); |
$resultat_suppression_mot_cle = Cel::db()->executer($requete_suppression_liaison_mot_cle); |
if ($requete_suppression_liaison_mot_cle !== false) { |
$retour = true; |
102,7 → 102,7 |
$requete_suppression_liaison_mot_cle = 'DELETE FROM cel_'.$this->mode.'_mots_cles WHERE '. |
$champ_objet_lie.' IN ('.implode(',',$ids_images_ou_obs).') '; |
$resultat_suppression_mot_cle = $this->executer($requete_suppression_liaison_mot_cle); |
$resultat_suppression_mot_cle = Cel::db()->executer($requete_suppression_liaison_mot_cle); |
if ($requete_suppression_liaison_mot_cle !== false) { |
$retour = true; |
129,9 → 129,9 |
$requete_suppression_liaison_mot_cle = 'DELETE FROM cel_'.$this->mode.'_mots_cles WHERE '. |
$champ_mot_cle.' IN '.$chaine_mot_cles_ids; |
$resultat_suppression_mot_cle = $this->executer($requete_suppression_liaison_mot_cle); |
$resultat_suppression_mot_cle = Cel::db()->executer($requete_suppression_liaison_mot_cle); |
$resultat_requete_objets_lies_mot_cle = $this->requeter($requete_objets_lies_mot_cle); |
$resultat_requete_objets_lies_mot_cle = Cel::db()->requeter($requete_objets_lies_mot_cle); |
foreach($resultat_requete_objets_lies_mot_cle as $objet_lie) { |
$this->regenererIndexTexteMotCle($objet_lie['id'], $id_utilisateur); |
} |
161,11 → 161,11 |
private function executerRequeteMiseAJourMotCleTexte($mots_cles_texte_chaine, $id_image_ou_obs, $identifiant_utilisateur) { |
$requete = 'UPDATE '.(($this->mode == 'obs') ? 'cel_obs' : 'cel_images').' '. |
'SET mots_cles_texte = '.$this->proteger($mots_cles_texte_chaine).' '. |
'WHERE '.(($this->mode == 'obs') ? 'id_observation' : 'id_image').' = '.$this->proteger($id_image_ou_obs). |
' AND ce_utilisateur = '.$this->proteger($identifiant_utilisateur); |
'SET mots_cles_texte = '.Cel::db()->proteger($mots_cles_texte_chaine).' '. |
'WHERE '.(($this->mode == 'obs') ? 'id_observation' : 'id_image').' = '.Cel::db()->proteger($id_image_ou_obs). |
' AND ce_utilisateur = '.Cel::db()->proteger($identifiant_utilisateur); |
return $this->executer($requete); |
return Cel::db()->executer($requete); |
} |
private function obtenirMotsClesTexte($id_image_ou_obs, $identifiant_utilisateur) { |
175,11 → 175,11 |
'('. |
'SELECT id_mot_cle_'.(($this->mode == 'obs') ? 'obs' : 'image').' '. |
'FROM cel_'.$this->mode.'_mots_cles '. |
'WHERE '.(($this->mode == 'obs') ? 'id_observation' : 'id_image').' = '.$this->proteger($id_image_ou_obs). |
'WHERE '.(($this->mode == 'obs') ? 'id_observation' : 'id_image').' = '.Cel::db()->proteger($id_image_ou_obs). |
')'. |
' AND id_utilisateur = '.$this->proteger($identifiant_utilisateur); |
' AND id_utilisateur = '.Cel::db()->proteger($identifiant_utilisateur); |
$resultats = $this->requeter($requete); |
$resultats = Cel::db()->requeter($requete); |
return $resultats; |
} |
214,31 → 214,31 |
// ATTENTION : cette fonction suppose que l'utilisateur n'ai pas déjà de mots clés dans le CEL |
// avec l'identifiant $id_utilisateur ce qui est normalement le cas |
$requete_migration_mc_images = 'UPDATE cel_mots_cles_images SET '. |
'id_utilisateur = '.$this->proteger($infos_utilisateur['id_utilisateur']).' '. |
'WHERE id_utilisateur = '.$this->proteger($mail_utilisateur).' '; |
'id_utilisateur = '.Cel::db()->proteger($infos_utilisateur['id_utilisateur']).' '. |
'WHERE id_utilisateur = '.Cel::db()->proteger($mail_utilisateur).' '; |
$migration_mc_images = $this->executerRequeteSimple($requete_migration_mc_images); |
$migration_mc_images = Cel::db()->executerRequeteSimple($requete_migration_mc_images); |
// ATTENTION : cette fonction suppose que l'utilisateur n'ai pas déjà de mots clés dans le CEL |
// avec l'identifiant $id_utilisateur ce qui est normalement le cas |
$requete_migration_mc_obs = 'UPDATE cel_mots_cles_obs SET '. |
'id_utilisateur = '.$this->proteger($infos_utilisateur['id_utilisateur']).' '. |
'WHERE id_utilisateur = '.$this->proteger($mail_utilisateur).' '; |
'id_utilisateur = '.Cel::db()->proteger($infos_utilisateur['id_utilisateur']).' '. |
'WHERE id_utilisateur = '.Cel::db()->proteger($mail_utilisateur).' '; |
$migration_mc_obs = $this->executerRequeteSimple($requete_migration_mc_obs); |
$migration_mc_obs = Cel::db()->executerRequeteSimple($requete_migration_mc_obs); |
// Migration des liaisons de mots clés |
$requete_migration_mc_liaisons_obs = 'UPDATE cel_obs_mots_cles SET '. |
'id_utilisateur = '.$this->proteger($infos_utilisateur['id_utilisateur']).' '. |
'WHERE id_utilisateur = '.$this->proteger($mail_utilisateur).' '; |
'id_utilisateur = '.Cel::db()->proteger($infos_utilisateur['id_utilisateur']).' '. |
'WHERE id_utilisateur = '.Cel::db()->proteger($mail_utilisateur).' '; |
$migration_mc_liaisons_obs = $this->executerRequeteSimple($requete_migration_mc_liaisons_obs); |
$migration_mc_liaisons_obs = Cel::db()->executerRequeteSimple($requete_migration_mc_liaisons_obs); |
$requete_migration_mc_liaisons_images = 'UPDATE cel_images_mots_cles SET '. |
'id_utilisateur = '.$this->proteger($infos_utilisateur['id_utilisateur']).' '. |
'WHERE id_utilisateur = '.$this->proteger($mail_utilisateur).' '; |
'id_utilisateur = '.Cel::db()->proteger($infos_utilisateur['id_utilisateur']).' '. |
'WHERE id_utilisateur = '.Cel::db()->proteger($mail_utilisateur).' '; |
$migration_mc_liaisons_images = $this->executerRequeteSimple($requete_migration_mc_liaisons_images); |
$migration_mc_liaisons_images = Cel::db()->executerRequeteSimple($requete_migration_mc_liaisons_images); |
return $migration_mc_images !== false && |
$migration_mc_obs !== false && |
/trunk/jrest/lib/Bdd2.php |
---|
New file |
0,0 → 1,135 |
<?php |
/** |
* La classe de gestion de la base de données. |
* |
* @category php 5.2 |
* @package cel |
* @author Raphaël Droz <raphael@tela-botanica.org> |
* @copyright Copyright (c) 2013, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
*/ |
class Bdd2 extends PDO { |
const SQL_MODE_ASSOC = PDO::FETCH_ASSOC; |
const SQL_MODE_OBJET = PDO::FETCH_OBJ; |
const SQL_RETOUR_COMPLET = 'All'; |
const SQL_RETOUR_LIGNE = 'Row'; |
const SQL_RETOUR_COLONNE = 'Column'; |
const SQL_RETOUR_BRUT = 'Raw'; |
function __construct($config, $base = 'database_cel') { |
$cfg = $config[$base]; |
// ATTENTION : la connexin à la bdd peut échouer si l'host vaut localhost. Utiliser 127.0.0.1 à la place. |
$dsn = $cfg['phptype'].':dbname='.$cfg['database'].';host='.$cfg['hostspec']; |
try { |
// Création de la connexion en UTF-8 à la BDD |
parent::__construct($dsn, $cfg['username'], $cfg['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'")); |
// Affiche les erreurs détectées par PDO (sinon mode silencieux => aucune erreur affiché) |
parent::setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
} catch (PDOException $e) { |
echo 'La connexion à la base de donnée via PDO a échouée : ' .$dsn . "\n". $e->getMessage(); |
} |
} |
/** |
* Protège automatiquement toutes les chaines comprises entre deux caractères '|'. |
* Puis execute la requete. |
* @see protegerRequete() |
* @param unknown_type $requete |
*/ |
public function requeter($requete, $retour = self::SQL_RETOUR_COMPLET, $mode = PDO::FETCH_ASSOC) { |
$requete = $this->protegerRequete($requete); |
return $this->executerRequete($requete, $retour, $mode); |
} |
/** |
* Protège automatiquement toutes les chaines comprises entre deux caractères '|'. |
* @see protegerRequete() |
* @param unknown_type $requete |
*/ |
public function executer($requete) { |
$requete = $this->protegerRequete($requete); |
return $this->executerRequeteSimple($requete); |
} |
/** |
* Méthode permettant de rechercher dans une requete SQL sous forme de chaine (String) les chaines |
* à protéger. Cela évite de protéger chaque variable avant de l'insérer dans une requete SQL. |
* Par contre, il est important que les chaine à protéger ne contiennent pas le caractère '|'. |
* |
* @param $requete |
*/ |
public function protegerRequete($requete) { |
if (substr_count($requete, '|') % 2 === 0) { |
if (preg_match_all('/\|([^|]*)\|/', $requete, $correspondances, PREG_SET_ORDER)) { |
foreach ($correspondances as $chaine) { |
$chaine_protegee = $this->quote($chaine[1]); |
$requete = str_replace($chaine[0], $chaine_protegee, $requete); |
} |
} |
} else { |
$this->messages[] = "La requête a protéger contient un nombre impair de caractère de protection '|'."; |
$requete = false; |
} |
return $requete; |
} |
public function proteger($chaine) { |
return $this->quote($chaine); |
} |
public function executerRequeteSimple($requete) { |
$resultat = false; |
try { |
$resultat = $this->exec($requete); |
if ($resultat === false) { |
$this->debug[] = "La requête a échoué : $requete"; |
} |
} catch (PDOException $e) { |
$this->debug[] = sprintf($this->getTxt('sql_erreur_requete'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete); |
} |
return $resultat; |
} |
public function executerRequete($requete, $retour = self::SQL_RETOUR_COMPLET, $mode = PDO::FETCH_ASSOC) { |
$resultat = false; |
try { |
switch ($retour) { |
case self::SQL_RETOUR_COMPLET : |
$resultat = $this->query($requete)->fetchAll($mode);// Retourne toutes les lignes |
break; |
case self::SQL_RETOUR_LIGNE : |
$resultat = $this->query($requete)->fetch($mode);// Retourne la première ligne |
break; |
case self::SQL_RETOUR_COLONNE : |
$resultat = $this->query($requete)->fetchColumn();// Retourne la première colonne de la première ligne |
break; |
case self::SQL_RETOUR_BRUT : |
$resultat = $this->query($requete);// Retourne l'objet brut pour être utilisé dans une boucle de type foreach |
break; |
default: |
$this->debug[] = "Le type de retour '$retour' est inconnu."; |
} |
if ($resultat === false) { |
$this->debug[] = "La requête a retourné aucun résultat : $requete"; |
} |
} catch (PDOException $e) { |
$this->debug[] = sprintf($this->getTxt('sql_erreur_requete'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete); |
} |
return $resultat; |
} |
public function getTxt($id) { |
$sortie = ''; |
switch ($id) { |
case 'sql_erreur' : $sortie = 'Requête echec. Fichier : "%s". Ligne : "%s". Message : %s'; break; |
case 'sql_erreur_requete' : $sortie = "Requête echec.\nFichier : %s.\nLigne : %s.\nMessage : %s.\nRequête : %s"; break; |
default : $sortie = $id; |
} |
return $sortie; |
} |
} |
/trunk/jrest/lib/GestionObservation.php |
---|
43,7 → 43,7 |
// 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); |
$resultat_ajout_observation = Cel::db()->executerRequeteSimple($requete_insertion_observation); |
if ($resultat_ajout_observation === false) { |
$retour = false; |
65,9 → 65,9 |
public function renvoyerDernierOrdreUtilisePlusUn($utilisateur) { |
$requete_selection_dernier_ordre = "SELECT max(ordre) AS ordre FROM cel_obs ". |
"WHERE ce_utilisateur = ".$this->proteger($utilisateur); |
"WHERE ce_utilisateur = ".Cel::db()->proteger($utilisateur); |
$dernier_ordre = $this->executerRequete($requete_selection_dernier_ordre); |
$dernier_ordre = Cel::db()->executerRequete($requete_selection_dernier_ordre); |
$nouvel_ordre = 0; |
if (is_array($dernier_ordre) && count($dernier_ordre) > 0 && trim($dernier_ordre[0]['ordre']) != '') { |
85,10 → 85,10 |
public function renvoyerIdPourOrdre($utilisateur, $ordre) { |
$requete_selection_dernier_id = "SELECT id_observation FROM cel_obs ". |
"WHERE ce_utilisateur = ".$this->proteger($utilisateur)." ". |
"AND ordre = ".$this->proteger($ordre)." "; |
"WHERE ce_utilisateur = ".Cel::db()->proteger($utilisateur)." ". |
"AND ordre = ".Cel::db()->proteger($ordre)." "; |
$dernier_id = $this->executerRequete($requete_selection_dernier_id); |
$dernier_id = Cel::db()->executerRequete($requete_selection_dernier_id); |
if(!$dernier_id) return NULL; |
return $dernier_id[0]['id_observation']; |
} |
120,12 → 120,12 |
$sous_requete_modification = $this->traiterParametresObservationEtConstruireSousRequeteMaj($parametres); |
$requete_modification .= $sous_requete_modification; |
$requete_modification .= " WHERE ordre IN (".$ordre.") AND ce_utilisateur = ".$this->proteger($utilisateur); |
$requete_modification .= " WHERE ordre IN (".$ordre.") AND ce_utilisateur = ".Cel::db()->proteger($utilisateur); |
// 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); |
$resultat_modification = Cel::db()->executerRequeteSimple($requete_modification); |
if ($resultat_modification === false) { |
$retour = false; |
157,13 → 157,13 |
$sous_requete_modification = $this->traiterParametresObservationEtConstruireSousRequeteMaj($parametres); |
$requete_modification .= $sous_requete_modification; |
$requete_modification .= " WHERE id_observation = ".$this->proteger($id). |
" AND ce_utilisateur = ".$this->proteger($utilisateur)." ". |
$requete_modification .= " WHERE id_observation = ".Cel::db()->proteger($id). |
" AND ce_utilisateur = ".Cel::db()->proteger($utilisateur)." ". |
" AND transmission = 1"; |
// 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); |
$resultat_modification = Cel::db()->executerRequeteSimple($requete_modification); |
if ($resultat_modification === false) { |
$retour = false; |
185,26 → 185,26 |
// TODO changer le systeme pour n'utiliser plus que les id |
$retour = false; |
$tableau_ordre = explode(',', $ordre); |
$tableau_ordre = array_map(array($this, 'proteger'), $tableau_ordre); |
$tableau_ordre = array_map(array(Cel::db(),'proteger'), $tableau_ordre); |
$ordre = implode(',', $tableau_ordre); |
$requete_ids_observations = 'SELECT id_observation as id_obs FROM cel_obs '. |
'WHERE ce_utilisateur = '.$this->proteger($utilisateur).' '. |
'WHERE ce_utilisateur = '.Cel::db()->proteger($utilisateur).' '. |
'AND ordre IN ('.$ordre.')'; |
$resultat_ids_observations = $this->requeter($requete_ids_observations); |
$resultat_ids_observations = Cel::db()->requeter($requete_ids_observations); |
$ids_obs = array(); |
if(is_array($resultat_ids_observations) && count($resultat_ids_observations) > 0) { |
foreach($resultat_ids_observations as $id_observation) { |
$ids_obs[] = $this->proteger($id_observation['id_obs']); |
$ids_obs[] = Cel::db()->proteger($id_observation['id_obs']); |
} |
$chaine_ids_obs = implode(',', $ids_obs); |
$requete_supression_observations = 'DELETE FROM cel_obs WHERE '. |
'ce_utilisateur = '.$this->proteger($utilisateur).' '. |
'ce_utilisateur = '.Cel::db()->proteger($utilisateur).' '. |
'AND id_observation IN ('.$chaine_ids_obs.')'; |
$resultat_suppression_observations = $this->executerRequeteSimple($requete_supression_observations); |
$resultat_suppression_observations = Cel::db()->executerRequeteSimple($requete_supression_observations); |
// TODO: Faire la suppression des mots clés |
// et des liaisons obs images dans une ou des fonctions à part |
214,10 → 214,10 |
else |
{ |
$requete_supression_lien_obs_images = 'DELETE FROM cel_obs_images WHERE '. |
'id_utilisateur = '.$this->proteger($utilisateur).' '. |
'id_utilisateur = '.Cel::db()->proteger($utilisateur).' '. |
'AND id_observation IN ('.$chaine_ids_obs.')'; |
$resultat_suppression_liens = $this->executerRequeteSimple($requete_supression_lien_obs_images); |
$resultat_suppression_liens = Cel::db()->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); |
230,7 → 230,7 |
$requete_supression_lien_mots_cles = 'DELETE FROM cel_obs_mots_cles WHERE '. |
'id_observation in ('.$chaine_ids_obs.')'; |
$resultat_suppression_mots_cles = $this->executerRequeteSimple($requete_supression_lien_mots_cles); |
$resultat_suppression_mots_cles = Cel::db()->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); |
} |
259,8 → 259,8 |
$nouvel_ordre = $this->renvoyerDernierOrdreUtilisePlusUn($id_utilisateur); |
// 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->executerRequete($requete_selection_releves_temporaires); |
$requete_selection_releves_temporaires = 'SELECT ordre FROM cel_obs WHERE ce_utilisateur = '.Cel::db()->proteger($ancien_id).' ORDER BY ordre'; |
$resultat_releves_temporaires = Cel::db()->executerRequete($requete_selection_releves_temporaires); |
$reussite = true; |
if(is_array($resultat_releves_temporaires)) { |
267,11 → 267,11 |
foreach($resultat_releves_temporaires as $releve_temporaire) { |
$requete_migration_releve = 'UPDATE cel_obs SET '. |
'ce_utilisateur = '.$this->proteger($id_utilisateur).', '. |
'ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).', '. |
'ordre = '.$nouvel_ordre.' '. |
'WHERE ce_utilisateur = '.$ancien_id.' '. |
'AND ordre = '.$releve_temporaire['ordre']; |
$migration_releve = $this->executerRequeteSimple($requete_migration_releve); |
$migration_releve = Cel::db()->executerRequeteSimple($requete_migration_releve); |
//TODO: meilleure vérification |
if($migration_releve === false) { |
294,13 → 294,13 |
// ATTENTION : cette fonction suppose que l'utilisateur n'ai pas déjà d'observations dans le CEL |
// avec l'identifiant $id_utilisateur ce qui est normalement le cas |
$requete_migration_releve = 'UPDATE cel_obs SET '. |
'ce_utilisateur = '.$this->proteger($infos_utilisateur['id_utilisateur']).', '. |
'prenom_utilisateur = '.$this->proteger($infos_utilisateur['prenom']).', '. |
'nom_utilisateur = '.$this->proteger($infos_utilisateur['nom']).', '. |
'courriel_utilisateur = '.$this->proteger($infos_utilisateur['courriel']).' '. |
'WHERE ce_utilisateur = '.$this->proteger($mail_utilisateur).' '; |
'ce_utilisateur = '.Cel::db()->proteger($infos_utilisateur['id_utilisateur']).', '. |
'prenom_utilisateur = '.Cel::db()->proteger($infos_utilisateur['prenom']).', '. |
'nom_utilisateur = '.Cel::db()->proteger($infos_utilisateur['nom']).', '. |
'courriel_utilisateur = '.Cel::db()->proteger($infos_utilisateur['courriel']).' '. |
'WHERE ce_utilisateur = '.Cel::db()->proteger($mail_utilisateur).' '; |
$migration_releve = $this->executerRequeteSimple($requete_migration_releve); |
$migration_releve = Cel::db()->executerRequeteSimple($requete_migration_releve); |
return $migration_releve; |
} |
432,7 → 432,7 |
if (trim($valeur) == "" || trim($valeur) == "null") { |
$valeur = "NULL"; |
} else { |
$valeur = $this->proteger($valeur); |
$valeur = Cel::db()->proteger($valeur); |
} |
$champs .= $cle.', '; |
470,7 → 470,7 |
if (trim($valeur) == "" || trim($valeur) == "null") { |
$valeur = "NULL"; |
} else { |
$valeur = $this->proteger($valeur); |
$valeur = Cel::db()->proteger($valeur); |
} |
$sous_requete .= $cle." = ".$valeur.", "; |
/trunk/jrest/lib/GestionChampsEtendus.php |
---|
49,14 → 49,14 |
* @return bool |
*/ |
public function existe($id_element_lie, $cle) { |
$id = $this->proteger($id_element_lie); |
$cle = $this->proteger($cle); |
$id = Cel::db()->proteger($id_element_lie); |
$cle = Cel::db()->proteger($cle); |
$requete = 'SELECT COUNT(*) >= 1 AS existe '. |
"FROM {$this->table_champs_etendus} ". |
"WHERE {$this->champ_id} = $id ". |
" AND cle = $cle "; |
$resultat = $this->executerRequete($requete); |
$resultat = Cel::db()->executerRequete($requete); |
return ($resultat[0]['existe'] == '1'); |
} |
67,9 → 67,9 |
* @return array tableau associatif des champs de la table etendu |
*/ |
public function consulter($id_element_lie) { |
$id = $this->proteger($id_element_lie); |
$id = Cel::db()->proteger($id_element_lie); |
$requete = "SELECT * FROM {$this->table_champs_etendus} WHERE {$this->champ_id} = $id "; |
$resultat = $this->executerRequete($requete); |
$resultat = Cel::db()->executerRequete($requete); |
return $resultat; |
} |
84,11 → 84,11 |
public function consulterParLots(Array $ids_element_lies) { |
$champs_etendus_par_element = array(); |
if (!empty($ids_element_lies)) { |
$ids_element_lies = array_map(array($this, 'proteger'),$ids_element_lies); |
$ids_element_lies = array_map(array(Cel::db(), 'proteger'),$ids_element_lies); |
$ids = implode(',', $ids_element_lies); |
$requete = "SELECT * FROM {$this->table_champs_etendus} WHERE {$this->champ_id} IN ($ids) "; |
$resultats = $this->executerRequete($requete); |
$resultats = Cel::db()->executerRequete($requete); |
foreach ($resultats as &$ligne) { |
$id_element = $ligne[$this->champ_id]; |
115,10 → 115,10 |
* @return bool true si l'ajout a eu lieu |
*/ |
public function ajouter(ChampEtendu $champ_etendu) { |
$id = $this->proteger($champ_etendu->id); |
$cle = $this->proteger($champ_etendu->cle); |
$label = $this->proteger($champ_etendu->label); |
$valeur = $this->proteger($champ_etendu->valeur); |
$id = Cel::db()->proteger($champ_etendu->id); |
$cle = Cel::db()->proteger($champ_etendu->cle); |
$label = Cel::db()->proteger($champ_etendu->label); |
$valeur = Cel::db()->proteger($champ_etendu->valeur); |
$requete = "INSERT INTO {$this->table_champs_etendus} ". |
"( {$this->champ_id}, cle, label, valeur) ". |
127,7 → 127,7 |
// la partie on duplicate key est spécifique mysql mais il sera facile de s'en passer le jour |
// où l'on change de sgbd |
$ajout = $this->executerRequeteSimple($requete); |
$ajout = Cel::db()->executerRequeteSimple($requete); |
return ($ajout !== false); |
} |
141,10 → 141,10 |
public function ajouterParLots(Array $champs_etendus) { |
$lignes = array(); |
foreach ($champs_etendus as $champ_etendu) { |
$id = $this->proteger($champ_etendu->id); |
$cle = $this->proteger($champ_etendu->cle); |
$label = $this->proteger($champ_etendu->label); |
$valeur = $this->proteger($champ_etendu->valeur); |
$id = Cel::db()->proteger($champ_etendu->id); |
$cle = Cel::db()->proteger($champ_etendu->cle); |
$label = Cel::db()->proteger($champ_etendu->label); |
$valeur = Cel::db()->proteger($champ_etendu->valeur); |
$lignes[] = "($id, $cle, $label, $valeur)"; |
} |
157,7 → 157,7 |
// la partie on duplicate key est spécifique mysql mais il sera facile de s'en passer le jour |
// où l'on change de sgbd |
$ajout = $this->executerRequeteSimple($requete); |
$ajout = Cel::db()->executerRequeteSimple($requete); |
return ($ajout !== false); |
} |
168,10 → 168,10 |
* @return bool true si la modification a eu lieu |
*/ |
public function modifier(ChampEtendu $champ_etendu) { |
$id = $this->proteger($champ_etendu->id); |
$cle = $this->proteger($champ_etendu->cle); |
$label = $this->proteger($champ_etendu->label); |
$valeur = $this->proteger($champ_etendu->valeur); |
$id = Cel::db()->proteger($champ_etendu->id); |
$cle = Cel::db()->proteger($champ_etendu->cle); |
$label = Cel::db()->proteger($champ_etendu->label); |
$valeur = Cel::db()->proteger($champ_etendu->valeur); |
$requete = "UPDATE {$this->table_champs_etendus} ". |
"SET label = $label, valeur = $valeur ". |
178,7 → 178,7 |
"WHERE cle = $cle". |
" AND {$this->champ_id} = $id "; |
$modif = $this->executerRequeteSimple($requete); |
$modif = Cel::db()->executerRequeteSimple($requete); |
return ($modif !== false); |
} |
190,10 → 190,10 |
* @return bool |
*/ |
public function supprimer($id_element_lie, $cle) { |
$id = $this->proteger($id_element_lie); |
$cle = $this->proteger($cle); |
$id = Cel::db()->proteger($id_element_lie); |
$cle = Cel::db()->proteger($cle); |
$requete = "DELETE FROM {$this->table_champs_etendus} WHERE cle = $cle AND {$this->champ_id} = $id "; |
$suppr = $this->executerRequeteSimple($requete); |
$suppr = Cel::db()->executerRequeteSimple($requete); |
return ($suppr !== false); |
} |
204,9 → 204,9 |
* @return bool |
*/ |
public function vider($id_element_lie) { |
$id = $this->proteger($id_element_lie); |
$id = Cel::db()->proteger($id_element_lie); |
$requete = "DELETE FROM {$this->table_champs_etendus} WHERE {$this->champ_id} = $id "; |
$suppr = $this->executerRequeteSimple($requete); |
$suppr = Cel::db()->executerRequeteSimple($requete); |
return ($suppr !== false); |
} |
219,7 → 219,7 |
public function viderParLots($ids_elements_lies) { |
$ids = $this->protegerTableau($ids_elements_lies); |
$requete = "DELETE FROM {$this->table_champs_etendus} WHERE {$this->champ_id} IN (".implode(',',$ids).") "; |
$suppr = $this->executerRequeteSimple($requete); |
$suppr = Cel::db()->executerRequeteSimple($requete); |
return ($suppr !== false); |
} |
234,7 → 234,7 |
if(!empty($ids_elements_lies)) { |
$ids = $this->protegerTableau($ids_elements_lies); |
$requete = "SELECT cle FROM {$this->table_champs_etendus} WHERE {$this->champ_id} IN (".implode(',',$ids).") "; |
$cles = $this->executerRequete($requete); |
$cles = Cel::db()->executerRequete($requete); |
$i = 0; |
foreach($cles as &$cle) { |
$cles_fmt[$cle['cle']] = $i++; |
/trunk/jrest/lib/RechercheObservation.php |
---|
20,16 → 20,16 |
$requete_selection_id = 'SELECT id_observation FROM cel_obs WHERE ordre '; |
if (is_array($ordre)) { |
$ordre = array_map(array($this,'proteger'), $ordre); |
$ordre = array_map(array(Cel::db(),'proteger'), $ordre); |
$requete_selection_id .= ' IN ('.implode(',',$ordre).') '; |
} else { |
$requete_selection_id .= ' = '.$this->proteger($ordre).' '; |
$requete_selection_id .= ' = '.Cel::db()->proteger($ordre).' '; |
} |
$requete_selection_id .= ' AND ce_utilisateur = '.$this->proteger($id_utilisateur). |
$requete_selection_id .= ' AND ce_utilisateur = '.Cel::db()->proteger($id_utilisateur). |
' ORDER BY id_observation'; |
$resultat_ids = $this->executerRequete($requete_selection_id); |
$resultat_ids = Cel::db()->executerRequete($requete_selection_id); |
$ids = array(); |
if (is_array($resultat_ids)) { |
45,7 → 45,7 |
$requete_selection_observations = 'SELECT * FROM cel_obs '; |
if ($id_utilisateur != null) { |
$requete_selection_observations .= 'WHERE ce_utilisateur = '.$this->proteger($id_utilisateur).' AND '; |
$requete_selection_observations .= 'WHERE ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).' AND '; |
} else if(count($criteres) > 0) { |
$requete_selection_observations .= 'WHERE '; |
} |
67,7 → 67,7 |
public function get() { |
if(!$this->requete_selection_observations) return FALSE; |
return $this->executerRequete($this->requete_selection_observations); |
return Cel::db()->executerRequete($this->requete_selection_observations); |
} |
public function compterObservations($id_utilisateur = null, $criteres = array()) { |
74,7 → 74,7 |
$requete_selection_observations = 'SELECT COUNT(*) as nb_obs FROM cel_obs '; |
if ($id_utilisateur != null) { |
$requete_selection_observations .= 'WHERE ce_utilisateur = '.$this->proteger($id_utilisateur).' AND '; |
$requete_selection_observations .= 'WHERE ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).' AND '; |
} else if(count($criteres) > 0) { |
$requete_selection_observations .= 'WHERE '; |
} |
85,7 → 85,7 |
$requete_selection_observations = rtrim($requete_selection_observations, 'AND '); |
$nb_obs = '0'; |
$resultat_requete_nombre_observations = $this->executerRequete($requete_selection_observations); |
$resultat_requete_nombre_observations = Cel::db()->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']; |
128,10 → 128,10 |
} |
public function obtenirCourrielUtilisateurPourIdObs($id_obs) { |
$id_obs = $this->proteger($id_obs); |
$id_obs = Cel::db()->proteger($id_obs); |
$requete = "SELECT courriel_utilisateur FROM cel_obs WHERE id_observation = $id_obs"; |
$utilisateur_courriel = $this->executerRequete($requete . ' -- ' . __FILE__ . ':' . __LINE__); |
$utilisateur_courriel = Cel::db()->executerRequete($requete . ' -- ' . __FILE__ . ':' . __LINE__); |
$retour = false; |
if (!empty($utilisateur_courriel) && isset($utilisateur_courriel[0]['courriel_utilisateur'])) { |
144,7 → 144,7 |
$requete_selection_mots_cles = 'SELECT DISTINCT id_mot_cle_obs '. |
'FROM cel_obs_mots_cles '. |
"WHERE id_observation = $id_observation "; |
return $this->executerRequete($requete_selection_mots_cles); |
return Cel::db()->executerRequete($requete_selection_mots_cles); |
} |
// TODO: fonction temporaire |
176,7 → 176,7 |
if ($valeur == "NULL") { |
$sous_requete .= "(date_observation IS NULL OR year(date_observation) = 0000)" ; |
} else { |
$sous_requete .= "(year(date_observation) = ".$this->proteger($valeur).")" ; |
$sous_requete .= "(year(date_observation) = ".Cel::db()->proteger($valeur).")" ; |
} |
$sous_requete .= ' AND ' ; |
break; |
184,7 → 184,7 |
if ($valeur == "NULL") { |
$sous_requete .= "date_observation IS NULL OR month(date_observation) = 00" ; |
} else { |
$sous_requete .= "month(date_observation) = ".$this->proteger($valeur) ; |
$sous_requete .= "month(date_observation) = ".Cel::db()->proteger($valeur) ; |
} |
$sous_requete .= ' AND ' ; |
break; |
192,7 → 192,7 |
if ($valeur == "NULL") { |
$sous_requete .= "date_observation IS NULL OR day(date_observation) = 00" ; |
} else { |
$sous_requete .= "day(date_observation) = ".$this->proteger($valeur) ; |
$sous_requete .= "day(date_observation) = ".Cel::db()->proteger($valeur) ; |
} |
$sous_requete .= ' AND ' ; |
break; |
204,11 → 204,11 |
$dpts = explode(',',$valeur); |
$sous_requete .= '('; |
foreach($dpts as $dpt) { |
$sous_requete .= "ce_zone_geo LIKE ".$this->proteger('INSEE-C:'.$dpt.'___').' OR '; |
$sous_requete .= "ce_zone_geo LIKE ".Cel::db()->proteger('INSEE-C:'.$dpt.'___').' OR '; |
} |
$sous_requete = rtrim($sous_requete,' OR ').') '; |
} else { |
$sous_requete .= "(ce_zone_geo LIKE ".$this->proteger('INSEE-C:'.$valeur.'___').')'; |
$sous_requete .= "(ce_zone_geo LIKE ".Cel::db()->proteger('INSEE-C:'.$valeur.'___').')'; |
} |
} |
$sous_requete .= ' AND ' ; |
217,7 → 217,7 |
if ($valeur == "NULL") { |
$sous_requete .= "(zone_geo IS NULL OR zone_geo = '')"; |
} else { |
$sous_requete .= "(zone_geo = ".$this->proteger($valeur).')'; |
$sous_requete .= "(zone_geo = ".Cel::db()->proteger($valeur).')'; |
} |
$sous_requete .= ' AND ' ; |
break; |
232,15 → 232,15 |
$sous_requete .= ' AND '; |
break; |
case 'date_debut': |
$sous_requete .= 'date_observation >= '.$this->proteger($this->formaterEnDateMysql($valeur)); |
$sous_requete .= 'date_observation >= '.Cel::db()->proteger($this->formaterEnDateMysql($valeur)); |
$sous_requete .= ' AND '; |
break; |
case 'date_fin': |
$sous_requete .= 'date_observation <= '.$this->proteger($this->formaterEnDateMysql($valeur)); |
$sous_requete .= 'date_observation <= '.Cel::db()->proteger($this->formaterEnDateMysql($valeur)); |
$sous_requete .= ' AND '; |
break; |
case 'taxon': |
$valeur_protegee = $this->proteger($valeur."%"); |
$valeur_protegee = Cel::db()->proteger($valeur."%"); |
$sous_requete .= "( nom_sel LIKE ".$valeur_protegee." OR". |
" nom_ret LIKE ".$valeur_protegee." OR". |
" famille LIKE ".$valeur_protegee. |
252,7 → 252,7 |
break; |
default: |
if (trim($nom) != '') { |
$sous_requete .= $nom." = ".$this->proteger($valeur) ; |
$sous_requete .= $nom." = ".Cel::db()->proteger($valeur) ; |
$sous_requete .= ' AND '; |
} |
if (trim($nom) == 'NULL') { |
276,7 → 276,7 |
private function fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur) { |
$valeur = str_replace("*","%",$valeur); |
$valeur = $this->proteger('%'.$valeur.'%'); |
$valeur = Cel::db()->proteger('%'.$valeur.'%'); |
$sous_requete = "(nom_sel LIKE ".$valeur. |
" OR courriel_utilisateur LIKE ".$valeur. |
" OR prenom_utilisateur LIKE ".$valeur. |
307,17 → 307,17 |
if (preg_match('/.*OU.*/', $mot_cle)) { |
$mots_cles_tab = explode('OU',$mot_cle); |
foreach($mots_cles_tab as $mot_cle_item) { |
$requete .= '(mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR '; |
$requete .= '(mots_cles_texte LIKE '.Cel::db()->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 .= '(mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND '; |
$requete .= '(mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') AND '; |
} |
$requete = '('.rtrim($requete, 'AND ').') '; |
} else { |
$requete = "(mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') '; |
$requete = "(mots_cles_texte LIKE ".Cel::db()->proteger('%'.$mot_cle.'%').') '; |
} |
return $requete; |
} |
332,7 → 332,7 |
'jour' => 'date_observation', |
'departement' => 'ce_zone_geo', |
'commune' => 'zone_geo'); |
return $sous_requete .= $champs[$valeur]." = ".$this->proteger(""); |
return $sous_requete .= $champs[$valeur]." = ".Cel::db()->proteger(""); |
} |
} |
?> |
/trunk/jrest/lib/GestionImage.php |
---|
69,7 → 69,7 |
// 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); |
$resultat_insertion_infos_image = Cel::db()->executerRequeteSimple($requete_insertion_infos_image); |
if (!$resultat_insertion_infos_image) { |
$message = "Echec de l'insertion dans la base de donnees : " ; |
99,8 → 99,8 |
$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->executerRequete($requete_selection_ordre_max); |
$requete_selection_ordre_max ='SELECT MAX(ordre) as max_ordre FROM cel_images WHERE ce_utilisateur = '.Cel::db()->proteger($id_utilisateur) ; |
$resultat_requete_ordre_max = Cel::db()->executerRequete($requete_selection_ordre_max); |
if($resultat_requete_ordre_max !== false) { |
$nouvel_ordre = $resultat_requete_ordre_max[0]['max_ordre']; |
114,8 → 114,8 |
$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->executerRequete($requete_id_image); |
$requete_id_image ='SELECT id_image FROM cel_images WHERE ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).' AND ordre = '.$ordre ; |
$resultat_id_image = Cel::db()->executerRequete($requete_id_image); |
if (count($resultat_id_image) > 0) |
{ |
142,7 → 142,7 |
} |
else |
{ |
$valeurs_a_inserer .= $this->proteger($valeur).',' ; |
$valeurs_a_inserer .= Cel::db()->proteger($valeur).',' ; |
} |
} |
173,10 → 173,10 |
$champs_a_mettre_a_jour = $this->construireRequeteMajMetaDonnees($parametres); |
$requete_mise_a_jour_image .= $champs_a_mettre_a_jour; |
$requete_mise_a_jour_image .= ' WHERE id_image = '.$this->proteger($id_image). |
' AND ce_utilisateur = '.$this->proteger($utilisateur); |
$requete_mise_a_jour_image .= ' WHERE id_image = '.Cel::db()->proteger($id_image). |
' AND ce_utilisateur = '.Cel::db()->proteger($utilisateur); |
$resultat_mise_a_jour = $this->executerRequeteSimple($requete_mise_a_jour_image); |
$resultat_mise_a_jour = Cel::db()->executerRequeteSimple($requete_mise_a_jour_image); |
return ($resultat_mise_a_jour !== false); |
} |
203,11 → 203,11 |
$date_tab = explode('/',$valeur) ; |
$date = $date_tab[2].'-'.$date_tab[1].'-'.$date_tab[0] ; |
$requete_maj_champs .= $champ.' = '.$this->proteger($date).' , ' ; |
$requete_maj_champs .= $champ.' = '.Cel::db()->proteger($date).' , ' ; |
} |
else { |
$requete_maj_champs .= $champ.' = '.$this->proteger($valeur).' , ' ; |
$requete_maj_champs .= $champ.' = '.Cel::db()->proteger($valeur).' , ' ; |
} |
} |
} |
220,17 → 220,17 |
public function supprimerImageParOrdre($id_utilisateur, $ordre_image_ou_tableau) { |
if(is_array($ordre_image_ou_tableau)) { |
$id_image_ou_tableau = array_map(array($this,'proteger'),$ordre_image_ou_tableau); |
$id_image_ou_tableau = array_map(array(Cel::db(),'proteger'),$ordre_image_ou_tableau); |
$ids_images = implode(',',$ordre_image_ou_tableau); |
} else { |
$ids_images = $this->proteger($ordre_image_ou_tableau); |
$ids_images = Cel::db()->proteger($ordre_image_ou_tableau); |
} |
$requete_selection_ids_images = 'SELECT id_image FROM cel_images WHERE '. |
'ce_utilisateur = '.$this->proteger($id_utilisateur).' '. |
'ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).' '. |
'AND ordre IN ('.$ids_images.') '; |
$tableau_ids_images = $this->executerRequete($requete_selection_ids_images); |
$tableau_ids_images = Cel::db()->executerRequete($requete_selection_ids_images); |
$chaine_ids_images = ''; |
foreach($tableau_ids_images as $id_image) { |
$chaine_ids_images .= $id_image['id_image']; |
244,10 → 244,10 |
public function supprimerImage($id_utilisateur, $id_image_ou_tableau) { |
if(is_array($id_image_ou_tableau)) { |
$id_image_ou_tableau = array_map(array($this,'proteger'),$id_image_ou_tableau); |
$id_image_ou_tableau = array_map(array(Cel::db(),'proteger'),$id_image_ou_tableau); |
$chaine_ids_images = implode(',',$id_image_ou_tableau); |
} else { |
$chaine_ids_images = $this->proteger($id_image_ou_tableau); |
$chaine_ids_images = Cel::db()->proteger($id_image_ou_tableau); |
} |
$requete_suppression_images = "DELETE FROM cel_images WHERE id_image in (".$chaine_ids_images.")"; |
255,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->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); |
$resultat_suppression_image = Cel::db()->executerRequeteSimple($requete_suppression_images); |
$resultat_suppression_lien_images_obs = Cel::db()->executerRequeteSimple($requete_suppression_lien_images_obs); |
$resultat_suppression_lien_images_mots_cles = Cel::db()->executerRequeteSimple($requete_suppression_lien_images_mots_cles); |
if ($resultat_suppression_image === false) { |
$message = 'Erreur lors de la suppression de l\'image' ; |
295,13 → 295,13 |
// ATTENTION : cette fonction suppose que l'utilisateur n'ai pas déjà d'images dans le CEL |
// avec l'identifiant $id_utilisateur ce qui est normalement le cas |
$requete_migration_releve = 'UPDATE cel_images SET '. |
'ce_utilisateur = '.$this->proteger($infos_utilisateur['id_utilisateur']).', '. |
'prenom_utilisateur = '.$this->proteger($infos_utilisateur['prenom']).', '. |
'nom_utilisateur = '.$this->proteger($infos_utilisateur['nom']).', '. |
'courriel_utilisateur = '.$this->proteger($infos_utilisateur['courriel']).' '. |
'WHERE ce_utilisateur = '.$this->proteger($mail_utilisateur).' '; |
'ce_utilisateur = '.Cel::db()->proteger($infos_utilisateur['id_utilisateur']).', '. |
'prenom_utilisateur = '.Cel::db()->proteger($infos_utilisateur['prenom']).', '. |
'nom_utilisateur = '.Cel::db()->proteger($infos_utilisateur['nom']).', '. |
'courriel_utilisateur = '.Cel::db()->proteger($infos_utilisateur['courriel']).' '. |
'WHERE ce_utilisateur = '.Cel::db()->proteger($mail_utilisateur).' '; |
$migration_releve = $this->executerRequeteSimple($requete_migration_releve); |
$migration_releve = Cel::db()->executerRequeteSimple($requete_migration_releve); |
return $migration_releve; |
} |