* @author Raphaël Droz * @copyright 2010, 2013 Tela-Botanica * @license Licence CECILL * @license GPL v3 * * Service de liaisons de mots clés à des images. * Le service lie une ou plusieurs mots clés à une ou plusieurs images */ class InventoryKeyWordImageLink extends Cel { public function createElement($pairs) { // Controle detournement utilisateur $this->controleUtilisateur($pairs['ce_utilisateur']); if (!isset($pairs['mots_cles']) || !isset($pairs['images']) || !isset($pairs['ce_utilisateur'])) { return; } $ids_images = array_filter(explode(',', $pairs['images'])); $ids_mots_cles = array_filter(explode(',', $pairs['mots_cles'])); // Pour le moment on ne peut que supprimer les mots clés et ajouter les nouveaux à cause du fonctionnement // de l'arbre de mots clés des images $gestion_mots_cles = new GestionMotsClesChemin($this->config,'images'); $gestion_mots_cles->supprimerToutesLiaisonsPourIdsElementsLies($ids_images); $liaison = true; if(!empty($ids_mots_cles)) { $liaison = $gestion_mots_cles->lierParTableaux($ids_mots_cles, $ids_images, $pairs['ce_utilisateur']); } foreach($ids_images as $id_element_lie) { //TODO: que faire si la régénération d'index texte échoue ? $r_index = GestionMotsClesChemin::regenererIndexTexteMotCle($id_element_lie, 'images'); } return $liaison; } public function deleteElement($uid){ // n'est jamais appelée car pour supprimer les mots clés d'une image // on appelle createElement avec des mots clés vides // car les mots clés images ne fonctionnent pas pareil que ceux des obs // dans l'interface } } ?>