/[openfoncier]/trunk/services/REST/maintenance.php
ViewVC logotype

Diff of /trunk/services/REST/maintenance.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 523 by mlimic, Fri Oct 19 11:59:44 2012 UTC revision 743 by fmichon, Mon Nov 19 11:45:10 2012 UTC
# Line 1  Line 1 
1  <?php  <?php
2    /**
3  /*   * Ce fichier permet de déclarer la classe maintenance, ressource exposée à
4   * Treats requests that demand a synchronization.   * travers l'interface REST qui hérite de la classe de base Services.
  *  
  * @author: Mirna Limic <[email protected]>  
  * @uses ./restler The RESTLER framework. When using PUT and POST http methods  
  * the function receiving the incomming data MUST contain a parameter called  
  * request_data. The RESTLER framework stores the incoming JSON string converted  
  * into an array in the request_data parameter.  
  *  
  * @todo Finish the synchronization of user module. Add support for the  
  * synchronization of additional modules.  
  *  
  * Date: 18/10/2012  
  * Follow-up:  
  * Bugs: Unknown  
5   *   *
6     * @package openfoncier
7     * @version SVN : $Id$
8   */   */
9    
10  include_once ('./REST/services.php');  // 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  include_once('./metier/maintenancemanager.php');  include_once('./metier/maintenancemanager.php');
15    
16    /*
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  class maintenance extends Services {  class maintenance extends Services {
26        
27      /*      /**
28       * Constructor       * Constructeur
      *  
      * Calls its parent's constructor and fills the contents array with the  
      * keys that are to be searched for in the incoming JSON data.  
29       */       */
30      function __construct() {      public function __construct() {
31    
32            // Appel du constructeur parent
33          parent::__construct();          parent::__construct();
34    
35            // Initialisation de l'attribut contents avec les clés qui doivent être
36            // récupérées dans les données JSON reçues
37          $this->contents['module'] = '';          $this->contents['module'] = '';
38          $this->contents['data'] = '';          $this->contents['data'] = '';
39    
40      }      }
41        
42            /**
43      /*       * Destructeur
      * Destructor  
      *  
      * Call's its parent's destructor.  
44       */       */
45      function __destruct() {      public function __destruct() {
46    
47            // Appel du destructeur parent
48          parent::__destruct();          parent::__destruct();
49    
50      }      }
51        
52            /**
53      /*       * Cette méthode permet de définir le traitement du POST sur une requête
54       * Called when a POST http request is made to initiate a       * REST. Elle vérifie la validité du format des données reçues, effectue le
55       * synchronization process.       * traitement et retourne le résultat.
56       *       *
57       * Checks the validity of the format, and the presence of       * @param mixed $request_data Les données JSON reçues (voir @uses)
      * content (if mandatory) of the data received with the request.  
      * Calls an matier/xxxManager to do the processing of the  
      * request data.  
      * @param mixed $request_data The incoming JSON data as an array.  
      * Note: the parameter has to be named this way due to RESTLER's  
      * parameter mapping of JSON data onto $request_data.  
      * @return mixed The array contining the return code. Where  
      * 400 is sent on error.  
      * 200 is sent on success.  
58       */       */
59      function post($request_data) {      public function post($request_data) {
60            
61            // Vérification de la validité du format des données de la requête REST
62            // Si le format n'est pas correct, on retourne un code 400
63          if (!$this->requestValid($request_data)) {          if (!$this->requestValid($request_data)) {
64              return $this->sendHttpCode(400, 'Missing mandatory data.');              return $this->sendHttpCode(400, "Le format des données reçues n'est pas correct.");
65          }          }
66            
67            // Instanciation de la classe qui s'occupe du traitement métier
68          $this->metier_manager = new MaintenanceManager();          $this->metier_manager = new MaintenanceManager();
         $ret = $this->metier_manager->performMaintenance(  
                         $request_data['module'], $request_data['data']);  
69    
70          // send the reply          // Exécution du traitement
71          return $this->sendReply($ret, 'Error when synchronizing.');          $ret = $this->metier_manager->performMaintenance($request_data['module'], $request_data['data']);
72    
73            // Gestion du retour en fonction du résultat
74            return $this->sendReply($ret, $this->metier_manager->getMessage());
75    
76      }      }
       
       
 }  
77    
78    }
79    
80  ?>  ?>

Legend:
Removed from v.523  
changed lines
  Added in v.743

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26