Subversion Repositories eFlore/Applications.cel

Rev

Rev 3857 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
970 aurelien 1
<?php
2458 jpm 2
// declare(encoding='UTF-8');
970 aurelien 3
/**
2458 jpm 4
 * Service de liaisons de mots clés à des images.
5
 * Le service lie une ou plusieurs mots clés à une ou plusieurs images.
1872 raphael 6
 *
2458 jpm 7
 * @internal   Mininum PHP version : 5.2
8
 * @category   CEL
9
 * @package    Services
10
 * @subpackage Images
11
 * @version    0.1
12
 * @author     Mathias CHOUET <mathias@tela-botanica.org>
13
 * @author     Jean-Pascal MILCENT <jpm@tela-botanica.org>
14
 * @author     Aurelien PERONNET <aurelien@tela-botanica.org>
15
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
16
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
17
 * @copyright  1999-2014 Tela Botanica <accueil@tela-botanica.org>
1872 raphael 18
 */
2458 jpm 19
class InventoryKeyWordImageLink extends Cel {
1872 raphael 20
 
970 aurelien 21
	public function createElement($pairs) {
22
		// Controle detournement utilisateur
23
		$this->controleUtilisateur($pairs['ce_utilisateur']);
2458 jpm 24
 
970 aurelien 25
		if (!isset($pairs['mots_cles']) || !isset($pairs['images']) || !isset($pairs['ce_utilisateur'])) {
26
			return;
27
		}
2458 jpm 28
 
2060 aurelien 29
		$ids_images = array_filter(explode(',', $pairs['images']));
30
		$ids_mots_cles = array_filter(explode(',', $pairs['mots_cles']));
2241 mathias 31
 
2458 jpm 32
		$gestion_mots_cles = new GestionMotsClesChemin($this->config,'images');
2045 aurelien 33
		$liaison = true;
2314 mathias 34
		$liaison = $gestion_mots_cles->modifierLiaisonParTableaux($ids_mots_cles, $ids_images, true);
2458 jpm 35
 
36
		foreach ($ids_images as $id_element_lie) {
2060 aurelien 37
			//TODO: que faire si la régénération d'index texte échoue ?
2458 jpm 38
			GestionMotsClesChemin::regenererIndexTexteMotCle($id_element_lie, 'images');
2060 aurelien 39
		}
2045 aurelien 40
		return $liaison;
970 aurelien 41
	}
42
 
43
	public function deleteElement($uid){
2060 aurelien 44
		// n'est jamais appelée car pour supprimer les mots clés d'une image
45
		// on appelle createElement avec des mots clés vides
2458 jpm 46
		// car les mots clés images ne fonctionnent pas pareil que ceux des obs
2060 aurelien 47
		// dans l'interface
970 aurelien 48
	}
2458 jpm 49
}