Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2170 → Rev 2171

/tags/v2.2-faucille/jrest/services/InventoryKeyWordImageLink.php
New file
0,0 → 1,53
<?php
/**
* @category PHP
* @package jrest
* @author Aurélien Peronnet <aurelien@tela-botania.org>
* @author Raphaël Droz <raphael@tela-botania.org>
* @copyright 2010, 2013 Tela-Botanica
* @license Licence CECILL <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt>
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
*
* 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
}
}
?>