Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 966 Rev 996
1
<?php
1
<?php
2
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
2
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
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    Aurelien Peronnet <aurelien@tela-botanica.org>
8
* @author    Aurelien Peronnet <aurelien@tela-botanica.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
* InventoryObservationList.php
16
* InventoryObservationList.php
17
* 
17
* 
18
* in=utf8
18
* in=utf8
19
* out=utf8
19
* out=utf8
20
*
20
*
21
* Cas d'utilisation :
21
* Cas d'utilisation :
22
* 1: Service recherche d'observations a partir de divers critères
22
* 1: Service recherche d'observations a partir de divers critères
23
*  a: Le service recherche les observations correspondant aux critères demandés
23
*  a: Le service recherche les observations correspondant aux critères demandés
24
*  b: Le service renvoie la liste des observations correspondantes
24
*  b: Le service renvoie la liste des observations correspondantes
25
* 
25
* 
26
* 2: Service modification en masse d'observations
26
* 2: Service modification en masse d'observations
27
*  a: Le service recherche les observations correspondant aux identifiants donnés
27
*  a: Le service recherche les observations correspondant aux identifiants donnés
28
*  b: Le service modifie les observations correspondantes avec les infos données en paramètres
28
*  b: Le service modifie les observations correspondantes avec les infos données en paramètres
29
* 
29
* 
30
* 3: Service de suppression d'observations en masse
30
* 3: Service de suppression d'observations en masse
31
*  a: Le service recherche les observations correspondant aux critères demandés
31
*  a: Le service recherche les observations correspondant aux critères demandés
32
*  b: Le service supprime la liste des observations correspondantes
32
*  b: Le service supprime la liste des observations correspondantes
33
*/
33
*/
34
class InventoryObservationList extends Cel {
34
class InventoryObservationList extends Cel {
35
 	
35
 	
36
	/**
36
	/**
37
	 * renvoie les observations correspondant au critères de filtrage
37
	 * renvoie les observations correspondant au critères de filtrage
38
	 * 
38
	 * 
39
	 * uid[0] : utilisateur obligatoire
39
	 * uid[0] : utilisateur obligatoire
40
	 * uid[1] : criteres de filtrage de la forme critere1=valeur1&critere2=valeur2
40
	 * uid[1] : criteres de filtrage de la forme critere1=valeur1&critere2=valeur2
41
	 */ 
41
	 */ 
42
	function getElement($uid)
42
	function getElement($uid)
43
	{
43
	{
44
		// Controle detournement utilisateur
44
		// Controle detournement utilisateur
45
		session_start();
-
 
46
	    $this->controleUtilisateur($uid[0]);
45
	    $this->controleUtilisateur($uid[0]);
47
 
46
 
48
		$chercheur_observations = new RechercheObservation($this->config);
47
		$chercheur_observations = new RechercheObservation($this->config);
49
 
48
 
50
		$numero_page = 0;
49
		$numero_page = 0;
51
		$taille_page = 50;
50
		$taille_page = 50;
52
		$criteres = array();
51
		$criteres = array();
53
 
52
 
54
		if (isset($uid[1]))
53
		if (isset($uid[1]))
55
		{
54
		{
56
			$criteres = $chercheur_observations->parserRequeteCriteres($uid[1]) ;
55
			$criteres = $chercheur_observations->parserRequeteCriteres($uid[1]) ;
57
			if (isset($criteres['numero_page']) && isset($criteres['limite'])) {
56
			if (isset($criteres['numero_page']) && isset($criteres['limite'])) {
58
				$numero_page = $criteres['numero_page'];
57
				$numero_page = $criteres['numero_page'];
59
				unset($criteres['numero_page']);
58
				unset($criteres['numero_page']);
60
				$taille_page = $criteres['limite'];
59
				$taille_page = $criteres['limite'];
61
				unset($criteres['limite']);
60
				unset($criteres['limite']);
62
				
61
				
63
			}
62
			}
64
		}
63
		}
65
		
64
		
66
		$debut = $taille_page*$numero_page ;
65
		$debut = $taille_page*$numero_page ;
67
 
66
 
68
		$retour = $chercheur_observations->rechercherObservations($uid[0], $criteres, $debut, $taille_page);
67
		$retour = $chercheur_observations->rechercherObservations($uid[0], $criteres, $debut, $taille_page);
69
		$retour_formate = $chercheur_observations->formaterPourEnvoiCel(&$retour);
68
		$retour_formate = $chercheur_observations->formaterPourEnvoiCel(&$retour);
70
		$retour_encode = json_encode($retour_formate) ;
69
		$retour_encode = json_encode($retour_formate) ;
71
 
70
 
72
		header("Content-type: application/json");
71
		header("Content-type: application/json");
73
		print($retour_encode);
72
		print($retour_encode);
74
		exit();
73
		exit();
75
	}
74
	}
76
 
75
 
77
	/**
76
	/**
78
	 * met à jour les métadonnées d'une liste d'observations
77
	 * met à jour les métadonnées d'une liste d'observations
79
	 * 
78
	 * 
80
	 * uid[0] : utilisateur obligatoire
79
	 * uid[0] : utilisateur obligatoire
81
	 * uid[1] : ordres des observations à modifier séparés par des virgules
80
	 * uid[1] : ordres des observations à modifier séparés par des virgules
82
	 * pairs : données à mettre à jour sous la forme de clés => valeurs
81
	 * pairs : données à mettre à jour sous la forme de clés => valeurs
83
	 */ 
82
	 */ 
84
	function updateElement($uid,$pairs) {
83
	function updateElement($uid,$pairs) {
85
 
84
 
86
		// Controle detournement utilisateur
85
		// Controle detournement utilisateur
87
		session_start();
-
 
88
		$this->controleUtilisateur($uid[0]);
86
		$this->controleUtilisateur($uid[0]);
89
		
87
		
90
		if (!isset($uid[1])) {
88
		if (!isset($uid[1])) {
91
			//TODO: envoyer un message d'erreur
89
			//TODO: envoyer un message d'erreur
92
			return;	
90
			return;	
93
		}
91
		}
94
		
92
		
95
		$uid[1] = rtrim($uid[1],',');
93
		$uid[1] = rtrim($uid[1],',');
96
		
94
		
97
		$gestionnaire_observation = new GestionObservation($this->config);
95
		$gestionnaire_observation = new GestionObservation($this->config);
98
		$modification_observation = $gestionnaire_observation->modifierObservation($uid[0],$uid[1],$pairs);	
96
		$modification_observation = $gestionnaire_observation->modifierObservation($uid[0],$uid[1],$pairs);	
99
       	 
97
       	 
100
        return true;
98
        return true;
101
	}
99
	}
102
 
100
 
103
	/**
101
	/**
104
	* Supprime une liste d'observations
102
	* Supprime une liste d'observations
105
	* 
103
	* 
106
	* uid[0] : utilisateur obligatoire
104
	* uid[0] : utilisateur obligatoire
107
	* uid[1] : ordres des observations à supprimer séparés par des virgules
105
	* uid[1] : ordres des observations à supprimer séparés par des virgules
108
	*/ 
106
	*/ 
109
	function deleteElement($uid)
107
	function deleteElement($uid)
110
	{
108
	{
111
	 	// Controle detournement utilisateur
109
	 	// Controle detournement utilisateur
112
		session_start();
-
 
113
		$this->controleUtilisateur($uid[0]);
110
		$this->controleUtilisateur($uid[0]);
114
		
111
		
115
		if (!isset($uid[1])) {
112
		if (!isset($uid[1])) {
116
			//TODO: envoyer un message d'erreur
113
			//TODO: envoyer un message d'erreur
117
			return;	
114
			return;	
118
		}
115
		}
119
		
116
		
120
		$uid[1] = rtrim($uid[1],',');
117
		$uid[1] = rtrim($uid[1],',');
121
		
118
		
122
		$gestionnaire_observation = new GestionObservation($this->config);
119
		$gestionnaire_observation = new GestionObservation($this->config);
123
		$modification_observation = $gestionnaire_observation->supprimerObservation($uid[0],$uid[1]);	
120
		$modification_observation = $gestionnaire_observation->supprimerObservation($uid[0],$uid[1]);	
124
		
121
		
125
		if ($modification_observation) {
122
		if ($modification_observation) {
126
			echo "OK";	
123
			echo "OK";	
127
		}
124
		}
128
		
125
		
129
    	exit() ;
126
    	exit() ;
130
	}
127
	}
131
}
128
}
132
?>
129
?>