1 |
mlimic |
515 |
<?php |
2 |
fmichon |
715 |
/** |
3 |
|
|
* Ce fichier permet de déclarer la classe maintenance, ressource exposée à |
4 |
|
|
* travers l'interface REST qui hérite de la classe de base Services. |
5 |
mlimic |
523 |
* |
6 |
fmichon |
715 |
* @package openfoncier |
7 |
|
|
* @version SVN : $Id$ |
8 |
mlimic |
523 |
*/ |
9 |
|
|
|
10 |
fmichon |
715 |
// Inclusion de la classe de base Services |
11 |
|
|
include_once('./REST/services.php'); |
12 |
|
|
|
13 |
|
|
// Inclusion de la classe maintenanceManager qui effectue le traitement métier |
14 |
mlimic |
515 |
include_once('./metier/maintenancemanager.php'); |
15 |
|
|
|
16 |
fmichon |
715 |
/* |
17 |
|
|
* Cette classe définie la ressource 'maintenance' qui permet d'exposer des |
18 |
|
|
* traitements qui ont vocation à être déclenché de manière automatique ou par |
19 |
|
|
* une application externe. Par exemple, un cron permet chaque soir d'exécuter |
20 |
|
|
* la synchronisation des utilisateurs de l'application avec l'annuaire LDAP. |
21 |
|
|
* |
22 |
|
|
* @todo XXX Finir la synchronisation du module 'user' et ajouter le support |
23 |
|
|
* pour la synchronisation des modules additionnels |
24 |
|
|
*/ |
25 |
mlimic |
515 |
class maintenance extends Services { |
26 |
fmichon |
715 |
|
27 |
|
|
/** |
28 |
|
|
* Cette méthode permet de définir le traitement du POST sur une requête |
29 |
|
|
* REST. Elle vérifie la validité du format des données reçues, effectue le |
30 |
|
|
* traitement et retourne le résultat. |
31 |
|
|
* |
32 |
|
|
* @param mixed $request_data Les données JSON reçues (voir @uses) |
33 |
mlimic |
523 |
*/ |
34 |
mlimic |
526 |
public function post($request_data) { |
35 |
fmichon |
715 |
|
36 |
fmichon |
775 |
// Initialisation de l'attribut contents avec les clés qui doivent être |
37 |
|
|
// récupérées dans les données JSON reçues |
38 |
|
|
$this->contents['module'] = ''; |
39 |
|
|
$this->contents['data'] = ''; |
40 |
|
|
|
41 |
fmichon |
715 |
// Vérification de la validité du format des données de la requête REST |
42 |
|
|
// Si le format n'est pas correct, on retourne un code 400 |
43 |
mlimic |
515 |
if (!$this->requestValid($request_data)) { |
44 |
fmichon |
776 |
return $this->sendHttpCode(400, "Le format des données reçues". |
45 |
|
|
" n'est pas correct."); |
46 |
mlimic |
515 |
} |
47 |
fmichon |
715 |
|
48 |
|
|
// Instanciation de la classe qui s'occupe du traitement métier |
49 |
mlimic |
515 |
$this->metier_manager = new MaintenanceManager(); |
50 |
fmichon |
715 |
|
51 |
|
|
// Exécution du traitement |
52 |
fmichon |
776 |
$ret = $this->metier_manager->performMaintenance($request_data['module'], |
53 |
|
|
$request_data['data']); |
54 |
fmichon |
715 |
|
55 |
|
|
// Gestion du retour en fonction du résultat |
56 |
fmichon |
743 |
return $this->sendReply($ret, $this->metier_manager->getMessage()); |
57 |
fmichon |
715 |
|
58 |
mlimic |
515 |
} |
59 |
fmichon |
715 |
|
60 |
mlimic |
515 |
} |
61 |
|
|
|
62 |
|
|
?> |