55,6 → 55,8 |
public $ligne_debut = 0; |
public $ligne_fin = 0; |
|
public static $gestion_mots_cles = null; |
|
public function __construct() {} |
public function def_interval($debut, $nb) { |
$this->ligne_debut = $debut; |
644,19 → 646,14 |
$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')); |
|
// 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", |
$id_utilisateur, |
implode(',', $liste_mots_cle_recherche)); |
if(self::$gestion_mots_cles == null) { |
$gestion_mots_cles = new GestionMotsCles($this->config, 'obs'); |
} |
$mots_cles_ids = $gestion_mots_cles->obtenirIdsMotClesPourMotsCles($liste_mots_cle, $id_utilisateur); |
foreach($mots_cles_ids as $mot_cle) { |
$resultat[$mot_cle['id_mot_cle']] = $mot_cle['mot_cle']; |
} |
|
$resultat_sql = Cel::db()->requeter($requete); |
if(!$resultat_sql) return; |
|
$resultat = array(); |
foreach($resultat_sql as $v) $resultat[$v['id_mot_cle_obs']] = $v['mot_cle']; |
|
$enregistrement['mots_cles_texte'] = implode(',', $liste_mots_cle); |
$enregistrement['_mots_cle'] = array("existing" => $resultat, |
"to_insert" => array_diff($liste_mots_cle, $resultat)); |