Rev 3121 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// declare(encoding='UTF-8');/*** Service fournissant des informations sur les widgets existants et permettant d'en créer d'autres.** Format du service :* /CelWidgetExport/format* /CelWidgetExport/csv** Les paramêtres :* - "start" indique le numéro du premier item à afficher* - "limit" nombre d'items à afficher** @internal Mininum PHP version : 5.2* @category CEL* @package Services* @subpackage Widget* @version 0.1* @author Delphine CAUQUIL <delphine@tela-botanica.org>* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>* @copyright 1999-2017 Tela Botanica <accueil@tela-botanica.org>*/class CelWidgetManager extends Cel {// certains paramètres apparaissent plusieurs fois car ils ont des alias// dans certains widgetsprivate $parametres_autorises = array('projet' => 'projet','type' => 'type','esttype' => 'est_type','langue' => 'langue','order' => 'order');public function getRessource() {return $this->getElement(array());}/*** Méthode appelée avec une requête de type GET.*/public function getElement($params = array()) {switch(@strtolower($params[0])) {case 'widget':$this->getWidget();break;default:$this->getWidget();}}public function createElement($requeteDonnees) {unset($requeteDonnees['signup_submit']);$requeteDonnees['est_type'] = (isset($requeteDonnees['est_type']) && $requeteDonnees['est_type']== "on") ? '1' : '0';$manager = new GestionWidget($this->config);$retour = $manager->ajouterWidget($requeteDonnees);$this->envoyerJson($retour);}public function updateElement($uid,$params) {$retour = "";if (isset($params['projet']) && isset($params['langue'])) {$manager = new GestionWidget($this->config);$params['est_type'] = (isset($params['est_type']) && $params['est_type']== "on") ? '1' : '0';$retour = $manager->modifierWidget($params['projet'], $params['langue'], $params);}$this->envoyerJson($retour);return "ff";}private function getWidget() {$criteres = $this->traiterParametresAutorises($_GET);$manager = new GestionWidget($this->config);$liste = $manager->obtenirWidget($criteres);$this->envoyerJson($liste);}protected function traiterParametresAutorises(Array $parametres) {$parametres_traites = array();foreach($parametres as $cle => $valeur) {if(is_string($valeur) && !trim($valeur)) continue;if(isset($this->parametres_autorises[$cle])) {$parametres_traites[$this->parametres_autorises[$cle]] = $valeur;}}return $parametres_traites;}}?>