Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
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
 
15
require_once('InventoryKeyWordObsLink.php');
16
 
970 aurelien 17
class InventoryKeyWordImageLink extends Cel {
18
 
19
	public function getElement($uid) {
20
 
21
	}
22
 
23
	public function createElement($pairs) {
24
 
25
		// Controle detournement utilisateur
26
		$this->controleUtilisateur($pairs['ce_utilisateur']);
27
 
28
		if (!isset($pairs['mots_cles']) || !isset($pairs['images']) || !isset($pairs['ce_utilisateur'])) {
29
			return;
30
		}
31
 
1872 raphael 32
		$id_images = array_filter(explode(',', $pairs['images']));
33
		$mots_cles = array_filter(explode(',', $pairs['mots_cles']));
970 aurelien 34
 
35
		// Pour le moment on ne peut que supprimer les mots clés et ajouter les nouveaux à cause du fonctionnement
36
		// de l'arbre de mots clés des images
37
		$gestionnaire_mots_cles = new LiaisonMotsCles($this->config,'images');
38
		$suppression_liaison_mot_cle = $gestionnaire_mots_cles->supprimerToutesLiaisonsPourIdImageOuObs($pairs['ce_utilisateur'], $id_images);
1872 raphael 39
		return $gestionnaire_mots_cles->ajouterLiaisonMotsCles($pairs['ce_utilisateur'],$id_images, $mots_cles);
970 aurelien 40
	}
41
 
42
	public function deleteElement($uid){
43
		// Controle detournement utilisateur
44
		$this->controleUtilisateur($uid[0]);
45
 
1872 raphael 46
		if (!isset($uid[0]) || !isset($uid[1]) || !isset($uid[2]) || ! InventoryKeyWordObsLink::estUnIdentifiantMotCle($uid[2])) {
47
			return FALSE;
970 aurelien 48
		}
49
 
1872 raphael 50
		return InventoryKeyWordObsLink::unlinkKeyword($this->config, 'images', explode(',',$uid[1]), $uid[0], $uid[2]);
970 aurelien 51
	}
52
}