1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
public function ajaxProcessing($id = null) {
// Cas des requêtes AJAX
if ( $this->request->is( 'ajax' ) ) {
// On récupère le nom à partir de l'id, ceci grâce à une requête en base de données
$httpSocket = new HttpSocket();
$url = 'http://*confidentiel*?uid='.$this->request->query[ 'uid' ].'&cuid='.$this->request->query[ 'cuid' ].'&startDate='.urlencode($this->request->query[ 'deb' ]).'&endDate='.urldecode($this->request->query[ 'fin' ]);
$result = $httpSocket->get($url);
$req = json_decode($result->body);
$response = Set::reverse($req);
// Stockage des données à renvoyer à la vue dans un tableau
if ( $result ){
foreach( $response as $key => $value){
$this->Regularity->Report->save(array('regularity_id' => $id, 'begindate' => $value['startDate'], 'titre' => $value['summary'], 'ref' => $key));
debug($key);
}
// $ret[ 'summary' ] = $response['SSUP-26864']['summary'];
//debug($ret['summary']);
}
// Il faut penser à terminer le script brutalement pour court-circuiter les mécanismes
// de CakePHP (méthodes de la classe mère AppController par exemple)
exit();
}
else {
// Code qui servirait dans le cas de requêtes http classiques (par opposition à AJAX)
// Pour nous dans cet exemple, c'est inutile...
}
} |