Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
416 aurelien 1
<?php
2
/**
1872 raphael 3
 * @package   jrest
4
 * @author    Aurélien Peronnet <aurelien@tela-botania.org>
5
 * @copyright 2010, 2013 Tela-Botanica
6
 * @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
7
 *
930 aurelien 8
 * Service de liaisons de mots clés à des observations.
9
 * Le service lie une ou plusieurs mots clés à une ou plusieurs observations
1872 raphael 10
 */
11
 
819 jpm 12
class InventoryKeyWordObsLink extends Cel {
936 aurelien 13
 
1872 raphael 14
	public function getElement($uid) { }
819 jpm 15
 
2045 aurelien 16
	public function createElement($pairs) {
416 aurelien 17
		// Controle detournement utilisateur
930 aurelien 18
		$this->controleUtilisateur($pairs['ce_utilisateur']);
819 jpm 19
 
930 aurelien 20
		if (!isset($pairs['mots_cles']) || !isset($pairs['observations']) || !isset($pairs['ce_utilisateur'])) {
819 jpm 21
			return;
22
		}
930 aurelien 23
 
1302 aurelien 24
		$ids_obs = explode(',',$pairs['observations']);
2045 aurelien 25
		$ids_mots_cles = explode(',',$pairs['mots_cles']);
930 aurelien 26
 
2060 aurelien 27
		$gestion_mots_cles = new GestionMotsClesChemin($this->config,'obs');
2314 mathias 28
		$liaison_mot_cle = $gestion_mots_cles->modifierLiaisonParTableaux($ids_mots_cles, $ids_obs, false);
2060 aurelien 29
 
30
		foreach($ids_obs as $id_element_lie) {
31
			$r_index = GestionMotsClesChemin::regenererIndexTexteMotCle($id_element_lie, 'obs');
32
		}
936 aurelien 33
		return $liaison_mot_cle;
416 aurelien 34
	}
35
 
819 jpm 36
	public function deleteElement($uid){
37
		// Controle detournement utilisateur
930 aurelien 38
		$this->controleUtilisateur($uid[0]);
39
 
2045 aurelien 40
		if (!isset($uid[0]) || !isset($uid[1]) || !isset($uid[2])) {
1872 raphael 41
			return FALSE;
930 aurelien 42
		}
819 jpm 43
 
2060 aurelien 44
		$id_utilisateur = $uid[0];
2045 aurelien 45
		$ids_obs = explode(',',$uid[1]);
2060 aurelien 46
		$ids_mots_cles = explode(',', GestionMotsClesChemin::nettoyerMotsClesAvantSuppression($uid[2]));
47
 
48
		$gestion_mots_cles = new GestionMotsClesChemin($this->config, 'obs');
49
 
50
		$suppression_liaisons = $gestion_mots_cles->supprimerLiaisonsMotsCles($ids_mots_cles, $ids_obs, $id_utilisateur);
51
		foreach($ids_obs as $id_element_lie) {
52
			$r_index = GestionMotsClesChemin::regenererIndexTexteMotCle($id_element_lie, 'obs');
53
		}
1872 raphael 54
	}
416 aurelien 55
}