Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 936 Rev 958
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
* PHP Version 5
4
* PHP Version 5
5
*
5
*
6
* @category  PHP
6
* @category  PHP
7
* @package   jrest
7
* @package   jrest
8
* @author    Aurélien Peronnet <aurelien@tela-botania.org>
8
* @author    Aurélien Peronnet <aurelien@tela-botania.org>
9
* @copyright 2010 Tela-Botanica
9
* @copyright 2010 Tela-Botanica
10
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
10
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
* @version   SVN: <svn_id>
11
* @version   SVN: <svn_id>
12
* @link      /doc/jrest/
12
* @link      /doc/jrest/
13
*/
13
*/
14
 
14
 
15
/**
15
/**
16
* in : utf8
16
* in : utf8
17
* out : utf8
17
* out : utf8
18
* 
18
* 
19
 * Service de liaisons de mots clés à des observations.
19
 * Service de liaisons de mots clés à des observations.
20
 * Le service lie une ou plusieurs mots clés à une ou plusieurs observations
20
 * Le service lie une ou plusieurs mots clés à une ou plusieurs observations
21
*
21
*
22
*/
22
*/
23
class InventoryKeyWordObsLink extends Cel {
23
class InventoryKeyWordObsLink extends Cel {
24
			
24
			
25
	public function getElement($uid) {
25
	public function getElement($uid) {
26
	
26
	
27
	}
27
	}
28
	
28
	
29
	public function createElement($pairs) {
29
	public function createElement($pairs) {
30
		
30
		
31
		// Controle detournement utilisateur
31
		// Controle detournement utilisateur
32
		session_start();
32
		session_start();
33
		$this->controleUtilisateur($pairs['ce_utilisateur']);
33
		$this->controleUtilisateur($pairs['ce_utilisateur']);
34
	
34
	
35
		if (!isset($pairs['mots_cles']) || !isset($pairs['observations']) || !isset($pairs['ce_utilisateur'])) {
35
		if (!isset($pairs['mots_cles']) || !isset($pairs['observations']) || !isset($pairs['ce_utilisateur'])) {
36
			return;
36
			return;
37
		}
37
		}
38
		
38
		
39
		$observations = explode(',',$pairs['observations']);
39
		$observations = explode(',',$pairs['observations']);
40
		$mots_cles = explode(',',$pairs['mots_cles']);
40
		$mots_cles = explode(',',$pairs['mots_cles']);
41
		
41
		
42
		$gestionnaire_observation = new RechercheObservation($this->config);
42
		$gestionnaire_observation = new RechercheObservation($this->config);
43
		$ids_obs = $gestionnaire_observation->obtenirIdObservationsPourOrdre($pairs['ce_utilisateur'],$observations);
43
		$ids_obs = $gestionnaire_observation->obtenirIdObservationsPourOrdre($pairs['ce_utilisateur'],$observations);
44
		
44
		
45
		$gestionnaire_mots_cles = new LiaisonMotsCles($this->config,'obs');
45
		$gestionnaire_mots_cles = new LiaisonMotsCles($this->config,'obs');
46
		$liaison_mot_cle = $gestionnaire_mots_cles->ajouterLiaisonMotsCles($ids_obs, $mots_cles);
46
		$liaison_mot_cle = $gestionnaire_mots_cles->ajouterLiaisonMotsCles($pairs['ce_utilisateur'],$ids_obs, $mots_cles);
47
				
47
				
48
		return $liaison_mot_cle;
48
		return $liaison_mot_cle;
49
	}
49
	}
50
 
50
 
51
	public function deleteElement($uid){
51
	public function deleteElement($uid){
52
		$retour = false;
52
		$retour = false;
53
		
53
		
54
		// Controle detournement utilisateur
54
		// Controle detournement utilisateur
55
		session_start();
55
		session_start();
56
		$this->controleUtilisateur($uid[0]);
56
		$this->controleUtilisateur($uid[0]);
57
	
57
	
58
		if (!isset($uid[0]) || !isset($uid[1]) || !isset($uid[2]) || !$this->estUnIdentifiantMotCle($uid[2])) {
58
		if (!isset($uid[0]) || !isset($uid[1]) || !isset($uid[2]) || !$this->estUnIdentifiantMotCle($uid[2])) {
59
			return;
59
			return;
60
		}
60
		}
61
	
-
 
62
		$mots_cles = $this->nettoyerMotsCles($uid[2]);
-
 
63
		$mots_cles = explode(',',$mots_cles);
-
 
64
		
61
		
65
		$ordre_observations = explode(',',$uid[1]);
62
		$ordre_observations = explode(',',$uid[1]);
66
		$id_utilisateur = $uid[0];
63
		$id_utilisateur = $uid[0];
67
		
64
		
68
		$gestionnaire_observation = new RechercheObservation($this->config);
65
		$gestionnaire_observation = new RechercheObservation($this->config);
69
		$ids_obs = $gestionnaire_observation->obtenirIdObservationsPourOrdre($id_utilisateur,$ordre_observations);
66
		$ids_obs = $gestionnaire_observation->obtenirIdObservationsPourOrdre($id_utilisateur,$ordre_observations);
70
		
67
		
71
		$gestionnaire_mots_cles = new LiaisonMotsCles($this->config,'obs');
68
		$gestionnaire_mots_cles = new LiaisonMotsCles($this->config,'obs');
-
 
69
		
-
 
70
		$mots_cles = $gestionnaire_mots_cles->nettoyerMotsCles($uid[2]);
-
 
71
		$mots_cles = explode(',',$mots_cles);
-
 
72
		
72
		$suppression_liaison_mot_cle = $gestionnaire_mots_cles->supprimerLiaisonMotsCles($ids_obs, $mots_cles);
73
		$suppression_liaison_mot_cle = $gestionnaire_mots_cles->supprimerLiaisonMotsCles($id_utilisateur, $ids_obs, $mots_cles);
73
 
74
 
74
		return $suppression_liaison_mot_cle;
75
		return $suppression_liaison_mot_cle;
75
	}
76
	}
76
 
77
 
77
	private function estUnIdentifiantMotCle($chaine) {
78
	private function estUnIdentifiantMotCle($chaine) {
78
		return trim($chaine) != '' && preg_match('/[0-9A-Z]+\.[0-9A-Z]+/i', $chaine);
79
		return trim($chaine) != '' && preg_match('/[0-9A-Z]+\.[0-9A-Z]+/i', $chaine);
79
	}	
80
	}	
80
}
81
}
81
?>
82
?>