970 |
aurelien |
1 |
<?php
|
|
|
2 |
/**
|
1872 |
raphael |
3 |
* @category PHP
|
|
|
4 |
* @package jrest
|
|
|
5 |
* @author Aurélien Peronnet <aurelien@tela-botania.org>
|
|
|
6 |
* @author Raphaël Droz <raphael@tela-botania.org>
|
|
|
7 |
* @copyright 2010, 2013 Tela-Botanica
|
|
|
8 |
* @license Licence CECILL <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt>
|
|
|
9 |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
|
|
|
10 |
*
|
970 |
aurelien |
11 |
* Service de liaisons de mots clés à des images.
|
|
|
12 |
* Le service lie une ou plusieurs mots clés à une ou plusieurs images
|
1872 |
raphael |
13 |
*/
|
|
|
14 |
|
970 |
aurelien |
15 |
class InventoryKeyWordImageLink extends Cel {
|
|
|
16 |
|
|
|
17 |
public function createElement($pairs) {
|
|
|
18 |
|
|
|
19 |
// Controle detournement utilisateur
|
|
|
20 |
$this->controleUtilisateur($pairs['ce_utilisateur']);
|
|
|
21 |
|
|
|
22 |
if (!isset($pairs['mots_cles']) || !isset($pairs['images']) || !isset($pairs['ce_utilisateur'])) {
|
|
|
23 |
return;
|
|
|
24 |
}
|
|
|
25 |
|
2060 |
aurelien |
26 |
$ids_images = array_filter(explode(',', $pairs['images']));
|
|
|
27 |
$ids_mots_cles = array_filter(explode(',', $pairs['mots_cles']));
|
970 |
aurelien |
28 |
|
|
|
29 |
// Pour le moment on ne peut que supprimer les mots clés et ajouter les nouveaux à cause du fonctionnement
|
|
|
30 |
// de l'arbre de mots clés des images
|
2060 |
aurelien |
31 |
$gestion_mots_cles = new GestionMotsClesChemin($this->config,'images');
|
|
|
32 |
$gestion_mots_cles->supprimerToutesLiaisonsPourIdsElementsLies($ids_images);
|
|
|
33 |
|
2045 |
aurelien |
34 |
$liaison = true;
|
2060 |
aurelien |
35 |
if(!empty($ids_mots_cles)) {
|
|
|
36 |
$liaison = $gestion_mots_cles->lierParTableaux($ids_mots_cles, $ids_images, $pairs['ce_utilisateur']);
|
2045 |
aurelien |
37 |
}
|
2060 |
aurelien |
38 |
|
|
|
39 |
foreach($ids_images as $id_element_lie) {
|
|
|
40 |
//TODO: que faire si la régénération d'index texte échoue ?
|
|
|
41 |
$r_index = GestionMotsClesChemin::regenererIndexTexteMotCle($id_element_lie, 'images');
|
|
|
42 |
}
|
2045 |
aurelien |
43 |
return $liaison;
|
970 |
aurelien |
44 |
}
|
|
|
45 |
|
|
|
46 |
public function deleteElement($uid){
|
2060 |
aurelien |
47 |
// n'est jamais appelée car pour supprimer les mots clés d'une image
|
|
|
48 |
// on appelle createElement avec des mots clés vides
|
|
|
49 |
// car les mots clés images ne fonctionnent pas pareil que ceux des obs
|
|
|
50 |
// dans l'interface
|
970 |
aurelien |
51 |
}
|
|
|
52 |
}
|
2045 |
aurelien |
53 |
?>
|