Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 3121 Rev 3166
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * Service fournissant des informations sur les widgets existants et permettant d'en créer d'autres.
4
 * Service fournissant des informations sur les widgets existants et permettant d'en créer d'autres.
5
 *
5
 *
6
 * Format du service :
6
 * Format du service :
7
 * /CelWidgetExport/format
7
 * /CelWidgetExport/format
8
 * /CelWidgetExport/csv
8
 * /CelWidgetExport/csv
9
 *
9
 *
10
 * Les paramêtres :
10
 * Les paramêtres :
11
 *  - "start" indique le numéro du premier item à afficher
11
 *  - "start" indique le numéro du premier item à afficher
12
 *  - "limit" nombre d'items à afficher
12
 *  - "limit" nombre d'items à afficher
13
 *
13
 *
14
 * @internal   Mininum PHP version : 5.2
14
 * @internal   Mininum PHP version : 5.2
15
 * @category   CEL
15
 * @category   CEL
16
 * @package    Services
16
 * @package    Services
17
 * @subpackage Widget
17
 * @subpackage Widget
18
 * @version    0.1
18
 * @version    0.1
19
 * @author     Delphine CAUQUIL <delphine@tela-botanica.org>
19
 * @author     Delphine CAUQUIL <delphine@tela-botanica.org>
20
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
20
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
21
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
21
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
22
 * @copyright  1999-2017 Tela Botanica <accueil@tela-botanica.org>
22
 * @copyright  1999-2017 Tela Botanica <accueil@tela-botanica.org>
23
 */
23
 */
24
 
24
 
25
 
25
 
26
class CelWidgetManager extends Cel {
26
class CelWidgetManager extends Cel {
27
 
27
 
28
	// certains paramètres apparaissent plusieurs fois car ils ont des alias
28
	// certains paramètres apparaissent plusieurs fois car ils ont des alias
29
	// dans certains widgets
29
	// dans certains widgets
30
	private $parametres_autorises = array(
30
	private $parametres_autorises = array(
31
		'projet' => 'projet',
31
		'projet' => 'projet',
32
		'type' => 'type',
32
		'type' => 'type',
33
		'esttype' => 'est_type',
33
		'esttype' => 'est_type',
34
		'langue' => 'langue',
34
		'langue' => 'langue',
35
		'order' => 'order'
35
		'order' => 'order'
36
	);
36
	);
37
 
37
 
38
	public function getRessource() {
38
	public function getRessource() {
39
		return $this->getElement(array());
39
		return $this->getElement(array());
40
	}
40
	}
41
 
41
 
42
	/**
42
	/**
43
	 * Méthode appelée avec une requête de type GET.
43
	 * Méthode appelée avec une requête de type GET.
44
	 */
44
	 */
45
	public function getElement($params = array()) { 
45
	public function getElement($params = array()) {
46
		switch(@strtolower($params[0])) {
46
		switch(@strtolower($params[0])) {
47
		case 'widget':
47
		case 'widget':
48
			$this->getWidget();
48
			$this->getWidget();
49
			break;
49
			break;
50
 
50
 
51
 
51
 
52
		default:
52
		default:
53
			$this->getWidget();
53
			$this->getWidget();
54
		}
54
		}
55
	}
55
	}
56
	
56
 
57
	
57
 
58
	public function createElement($requeteDonnees) {
58
	public function createElement($requeteDonnees) {
59
		unset($requeteDonnees['signup_submit']);
59
		unset($requeteDonnees['signup_submit']);
60
		$requeteDonnees['est_type'] = (isset($requeteDonnees['est_type']) && $requeteDonnees['est_type']== "on") ? '1' : '0';
60
		$requeteDonnees['est_type'] = (isset($requeteDonnees['est_type']) && $requeteDonnees['est_type']== "on") ? '1' : '0';
61
		$manager = new GestionWidget($this->config);
61
		$manager = new GestionWidget($this->config);
62
		$retour = $manager->ajouterWidget($requeteDonnees);
62
		$retour = $manager->ajouterWidget($requeteDonnees);
63
		$this->envoyerJson($retour);
63
		$this->envoyerJson($retour);
64
 
64
 
65
	}
65
	}
66
	
66
 
67
	public function updateElement($uid,$params) {
67
	public function updateElement($uid,$params) {
68
		$retour = "";
68
		$retour = "";
69
		if (isset($params['projet']) && isset($params['langue'])) {
69
		if (isset($params['projet']) && isset($params['langue'])) {
70
			$manager = new GestionWidget($this->config);
70
			$manager = new GestionWidget($this->config);
71
			$params['est_type'] = (isset($params['est_type']) && $params['est_type']== "on") ? '1' : '0';
71
			$params['est_type'] = (isset($params['est_type']) && $params['est_type']== "on") ? '1' : '0';
72
			$retour = $manager->modifierWidget($params['projet'], $params['langue'], $params);
72
			$retour = $manager->modifierWidget($params['projet'], $params['langue'], $params);
73
			
73
 
74
		}
74
		}
75
		$this->envoyerJson($retour);
75
		$this->envoyerJson($retour);
76
		return "ff";
76
		return "ff";
77
		
77
 
78
	}
78
	}
79
 
79
 
80
	private function getWidget() {
80
	private function getWidget() {
81
		$criteres = $this->traiterParametresAutorises($_GET);
81
		$criteres = $this->traiterParametresAutorises($_GET);
82
		$manager = new GestionWidget($this->config);
82
		$manager = new GestionWidget($this->config);
83
		$liste = $manager->obtenirWidget($criteres);
83
		$liste = $manager->obtenirWidget($criteres);
84
	
84
 
85
 
85
 
86
		$this->envoyerJson($liste);
86
		$this->envoyerJson($liste);
87
	}
87
	}
88
 
88
 
89
 
89
 
90
	protected function traiterParametresAutorises(Array $parametres) {
90
	protected function traiterParametresAutorises(Array $parametres) {
91
		$parametres_traites = array();
91
		$parametres_traites = array();
92
		
92
 
93
		foreach($parametres as $cle => $valeur) {
93
		foreach($parametres as $cle => $valeur) {
94
			if(is_string($valeur) && !trim($valeur)) continue;
94
			if(is_string($valeur) && !trim($valeur)) continue;
95
			if(isset($this->parametres_autorises[$cle])) {
95
			if(isset($this->parametres_autorises[$cle])) {
96
				$parametres_traites[$this->parametres_autorises[$cle]] = $valeur;
96
				$parametres_traites[$this->parametres_autorises[$cle]] = $valeur;
97
			}
97
			}
98
		}
98
		}
99
		return $parametres_traites;
99
		return $parametres_traites;
100
	}
100
	}
101
 
101
 
102
 
102
 
103
}
103
}
104
?>
-
 
105
104
?>
-
 
105