Subversion Repositories eFlore/Applications.cel

Rev

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

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