Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 969 → Rev 970

/trunk/jrest/lib/LiaisonMotsCles.php
31,10 → 31,12
public function ajouterLiaisonMotsCles($id_utilisateur, $ids_images_ou_obs, $mots_cles) {
$champ = ($this->mode == 'obs') ? 'id_observation' : 'id_image';
// le mot clé ignore est spécifique mysql, mais il est utilisé ici pour des raisons
// de performance, à remplacer par un test sur les mots clés déjà existant si ça gène
$requete_liaison_mots_cles = 'INSERT IGNORE INTO cel_'.$this->mode.'_mots_cles '.
'(id_observation, id_mot_cle_utilisateur) '.
'('.$champ.', id_mot_cle_utilisateur) '.
'VALUES ';
foreach($ids_images_ou_obs as $id_image_ou_obs) {
45,7 → 47,8
}
$requete_liaison_mots_cles = rtrim($requete_liaison_mots_cles,',');
 
echo $requete_liaison_mots_cles;
$resultat_liaison_mots_cles = $this->executer($requete_liaison_mots_cles);
if(!$resultat_liaison_mots_cles) {
55,6 → 58,17
return $resultat_liaison_mots_cles;
}
public function supprimerLiaisonMotsClesEtRegenererIndexTexte($id_utilisateur, $ids_images_ou_obs, $mots_cles) {
$retour = $this->supprimerLiaisonMotsCles($id_utilisateur, $ids_images_ou_obs, $mots_cles);
foreach($ids_images_ou_obs as $image_ou_obs) {
$this->regenererIndexTexteMotCle($image_ou_obs, $id_utilisateur);
}
return $retour;
}
public function supprimerLiaisonMotsCles($id_utilisateur, $ids_images_ou_obs, $mots_cles) {
$champ = ($this->mode == 'obs') ? 'id_observation' : 'id_image';
64,8 → 78,29
'AND id_mot_cle_utilisateur IN ('.implode(',',$mots_cles).')';
$resultat_suppression_mot_cle = $this->executer($requete_suppression_liaison_mot_cle);
 
if ($requete_suppression_liaison_mot_cle !== false) {
$retour = true;
} else {
$message = "Erreur de suppression des mots clés de plusieurs ".$this->mode." : $requete";
$this->logger($message);
$retour = false;
}
if ($resultat_suppression_mot_cle) {
return $retour;
}
public function supprimerToutesLiaisonsPourIdImageOuObs($id_utilisateur, $ids_images_ou_obs) {
$champ = ($this->mode == 'obs') ? 'id_observation' : 'id_image';
$requete_suppression_liaison_mot_cle = 'DELETE FROM cel_'.$this->mode.'_mots_cles WHERE '.
$champ.' IN ('.implode(',',$ids_images_ou_obs).') ';
$resultat_suppression_mot_cle = $this->executer($requete_suppression_liaison_mot_cle);
 
if ($requete_suppression_liaison_mot_cle !== false) {
$retour = true;
} else {
$message = "Erreur de suppression des mots clés de plusieurs ".$this->mode." : $requete";
74,10 → 109,6
$retour = false;
}
foreach($ids_images_ou_obs as $image_ou_obs) {
$this->regenererIndexTexteMotCle($image_ou_obs, $id_utilisateur);
}
return $retour;
}