Subversion Repositories eFlore/Applications.cel

Rev

Rev 2241 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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