42,13 → 42,13 |
public function lierMotCleObs($utilisateur_id, Array $mots_cles_ids, Array $ids) { |
$this->suffix = self::OBS_TABLE_SUFFIXE; |
$this->utilisateur_id = $utilisateur_id; |
return $this->lierMotCle($utilisateur_id, $mots_cles_ids, $id); |
return $this->lierMotCle($utilisateur_id, $mots_cles_ids, $ids); |
} |
|
public function lierMotCleImg($utilisateur_id, Array $mots_cles_ids, Array $ids) { |
$this->suffix = self::IMG_TABLE_SUFFIXE; |
$this->utilisateur_id = $utilisateur_id; |
return $this->lierMotCle($utilisateur_id, $mots_cles_ids, $id); |
return $this->lierMotCle($utilisateur_id, $mots_cles_ids, $ids); |
} |
|
/** |
94,7 → 94,6 |
$this->logger('CEL_bugs', $e); |
$this->messages[] = $e; |
} |
|
} else { |
$this->messages[] = "Le tableau des ordres des obs ne contenait pas que des nombres entiers."; |
} |
114,49 → 113,26 |
|
private function regenererIndexTexteMotCle($id) { |
$ok = false; |
$mots_cles_ids = $this->obtenirIdsMotsClesConcatenes($id); |
if ($mots_cles_ids) { |
$mots_cles = $this->obtenirMotClesTexte($mots_cles_ids); |
$mots_cles_concatenes = $this->concatenerMotsCles($mots_cles); |
$ok = $this->mettreAJourMotsClesConcatenes($mots_cles_concatenes, $id); |
} |
$mots_cles = $this->obtenirMotsClesTexte($id); |
$mots_cles_concatenes = $this->concatenerMotsCles($mots_cles); |
$ok = $this->mettreAJourMotsClesConcatenes($mots_cles_concatenes, $id); |
return $ok; |
} |
|
private function obtenirIdsMotsClesConcatenes($id) { |
$utilisateur_id = $this->proteger($this->utilisateur_id); |
private function obtenirMotsClesTexte($id_image_ou_obs) { |
$requete = 'SELECT mot_cle '. |
'FROM '.'cel_mots_cles'.$this->suffix.' '. |
'WHERE id_mot_cle_'.(($this->suffix == self::OBS_TABLE_SUFFIXE) ? 'obs' : 'image').' IN '. |
'('. |
'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). |
')'; |
|
$requete = 'SELECT mots_cles '. |
'FROM cel_inventory '. |
"WHERE ordre = $ordre ". |
" AND identifiant = $utilisateur_id "; |
$resultat = $this->recupererResultat($requete); |
|
$mots_cles_ids = false; |
if ($resultat) { |
$mots_cles_ids = $resultat['mots_cles']; |
} |
return $mots_cles_ids; |
$resultats = $this->requeter($requete); |
return $resultats; |
} |
|
private function obtenirMotClesTexte($mot_cle_ids) { |
$mot_cle_ids_in = $this->formaterIdsMotClePourClauseInSql($mot_cle_ids); |
$utilisateur_id = $this->proteger($this->utilisateur_id); |
|
$requete = 'SELECT mot_cle '. |
'FROM cel_mots_cles_obs '. |
"WHERE cmc_id_mot_cle_utilisateur IN ($mot_cle_ids_in) ". |
" AND id_utilisateur = $utilisateur_id "; |
$resultats = $this->recupererResultats($requete); |
$mots_cles = array(); |
if ($resultats) { |
foreach ($resultats as $mot_cle) { |
$mots_cles[] = $mot_cle['mot_cle']; |
} |
} |
return $mots_cles; |
} |
|
private function formaterIdsMotClePourClauseInSql($mot_cle_ids) { |
$mot_cle_ids = $this->nettoyerMotsCles($mot_cle_ids); |
$mot_cle_ids = str_replace(self::SEPARATEUR_MOT_CLE_ID_OBS, ',', $mot_cle_ids); |
165,44 → 141,25 |
return $mot_cle_ids_proteges; |
} |
|
private function concatenerMotsClesIdsObs(Array $mots_cles_ids) { |
return $this->concatenerMotsClesIds($mots_cles_ids, self::SEPARATEUR_MOT_CLE_ID_OBS); |
} |
|
private function concatenerMotsClesIdsImg(Array $mots_cles_ids) { |
return $this->concatenerMotsClesIds($mots_cles_ids, self::SEPARATEUR_MOT_CLE_ID_IMG); |
} |
|
private function concatenerMotsClesIds(Array $mots_cles_ids, $separateur) { |
$mots_cles_ids_concatenes = ''; |
if (count($mots_cles_ids) > 0) { |
foreach ($mots_cles_ids as $mot_cle_id) { |
$mots_cles_ids_concatenes .= $this->nettoyerMotsCles($mot_cle_id).$separateur; |
} |
} |
return $mots_cles_ids_concatenes; |
} |
|
private function concatenerMotsCles(Array $mots_cles) { |
$mot_cles_concatenes = ''; |
if (count($mots_cles) > 0) { |
foreach ($mots_cles as $mot_cle) { |
$mot_cles_concatenes .= $mot_cle.self::SEPARATEUR_MOT_CLE_TEXTE; |
$mot_cles_concatenes .= $mot_cle['mot_cle'].self::SEPARATEUR_MOT_CLE_TEXTE; |
} |
} |
$mot_cles_concatenes = rtrim($mot_cles_concatenes, self::SEPARATEUR_MOT_CLE_TEXTE); |
|
return $mot_cles_concatenes; |
} |
|
private function mettreAJourMotsClesConcatenes($mots_cles, $ordre) { |
private function mettreAJourMotsClesConcatenes($mots_cles, $id) { |
$mots_cles = $this->proteger($mots_cles); |
$utilisateur_id = $this->proteger($this->utilisateur_id); |
|
$requete = 'UPDATE cel_inventory '. |
$requete = 'UPDATE cel'.$this->suffix." ". |
"SET mots_cles_texte = $mots_cles ". |
"WHERE ordre = $ordre ". |
" AND identifiant = $utilisateur_id "; |
"WHERE id_".(($this->suffix == self::OBS_TABLE_SUFFIXE) ? 'observation' : 'image')." = $id "; |
|
$ok = $this->executer($requete) ? true : false; |
return $ok; |
} |