Commit 9bf4ee8efd20ebaf9f1e63c3f110778933af141e

Authored by Geoffrey PREUD'HOMME
1 parent f06ddf22

api/client/fiche

Showing 1 changed file with 30 additions and 92 deletions   Show diff stats
api/client/fiche.php
1 <?php 1 <?php
2 2
3 -// Code d'exemple  
4 -// N'hésitez pas à vous en inspirer ! 3 +require_once("../commun.php");
5 4
6 -header('Access-Control-Allow-Origin: *'); // Histoire de pouvoir accéder à l'API depuis autre part que le serveur  
7 -header('Content-type: application/json'); // Histoire de faire comprendre au client que c'est du JSON 5 +verifierJeton(donne("jeton"));
8 6
9 -$droit = 0;  
10 -$login = "undefined";  
11 -  
12 -if (isset($_POST['jeton'])) {  
13 - // Note : Ceci devrait être mis dans une fonction (avec des vrais tokens qui  
14 - // seront générés lors de l'appel à api/login) mais vu que c'est un exemple  
15 - // j'ai la flemme.  
16 - // D'ailleurs, pendant le développement puisque la phase de login est  
17 - // probablement difficile à implémenter, on pourra utiliser des tokens  
18 - // godmode (genre, '0', '1' ,'2' et '3') qui fonctionnent à tous les  
19 - // coups ^^  
20 - if ($_POST['jeton'] == 'ahcheesinaib3eedaeshep7fooShee') {  
21 - // Si le jeton appartient à un membre du BDE  
22 - $droit = 1;  
23 - $login = "bdeman";  
24 - } else if ($_POST['jeton'] == 'cuQu1vahghu8UK2woozooghu1aot4n') {  
25 - // Si le jeton appartient à un membre du bar  
26 - $droit = 2;  
27 - $login = "barman";  
28 - } else if ($_POST['jeton'] == 'Phohhu3eengeingae8kab3weif3neb') {  
29 - // Si le jeton appartient au prez  
30 - $droit = 3;  
31 - $login = "theprez";  
32 - } else {  
33 - // Si le jeton est erroné, ou a expiré (dans l'exemples ils n'expirent pas ^^)  
34 - ?>  
35 -{  
36 - "status": "jeton_errone"  
37 -}  
38 -<?php  
39 - exit();  
40 - }  
41 -} else {  
42 -// Si pas de jeton  
43 -?>  
44 -{  
45 - "status": "jeton_vide"  
46 -}  
47 -<?php  
48 - exit(); 7 +if (!donne("idCarte")) {
  8 + retour("requete_malformee");
49 } 9 }
50 10
51 -if ($droit < 2) {  
52 -?>  
53 -{  
54 - "status": "non_autorise" 11 +// Informations sur l'utilisateur
  12 +$requete = $db->prepare("SELECT decouvert, solde FROM Clients WHERE idCarte=?");
  13 +$requete->bind_param("s", $_POST["idCarte"]);
  14 +if (!$requete->execute()) {
  15 + retour("erreur_bdd", ["message" => $requete->error]);
55 } 16 }
56 -<?php  
57 - exit(); 17 +$requete->bind_result($decouvert, $solde);
  18 +if (!$requete->fetch()) {
  19 + retour("client_inconnu");
58 } 20 }
  21 +$requete->close();
59 22
60 -if (isset($_POST['idCarte'])) {  
61 - $idCarte = $_POST['idCarte'];  
62 -} else {  
63 -?>  
64 -{  
65 - "status": "requete_malformee"  
66 -}  
67 -<?php  
68 - exit(); 23 +// Transactions de l'utilisateur
  24 +$requete = $db->prepare("SELECT id, type, UNIX_TIMESTAMP(date), montant, quantite, utilisateur, valide FROM Transactions WHERE client=?");
  25 +$requete->bind_param("s", $_POST["idCarte"]);
  26 +if (!$requete->execute()) {
  27 + retour("erreur_bdd", ["message" => $requete->error]);
69 } 28 }
  29 +$requete->bind_result($id, $type, $date, $montant, $quantite, $utilisateur, $valide);
  30 +$transactions = [];
  31 +while($requete->fetch()) {
  32 + $transaction = ["id" => $id, "type" => $type, "client" => $_POST["idCarte"], "date" => $date, "montant" => $montant, "quantite" => $quantite, "utilisateur" => $utilisateur, "valide" => $valide];
  33 + $transactions[] = $transaction;
70 34
71 -// On checke si le loginLille1 est connu dans la base de données  
72 -if ($idCarte != 'AHS0DIEX') {  
73 -?>  
74 -{  
75 - "status": "client_inconnu"  
76 -}  
77 -<?php  
78 - exit();  
79 } 35 }
  36 +$requete->close();
80 37
81 -?>  
82 -{  
83 - "status": "ok",  
84 - "idCarte": "AHS0DIEX",  
85 - "solde": 48.3,  
86 -<?php 38 +
  39 +$donnes = ["idCarte" => $_POST["idCarte"], "solde" => $solde, "transactions" => $transactions];
87 if ($droit >= 3) { 40 if ($droit >= 3) {
88 -?>  
89 - "decouvertAutorise": false,  
90 -<?php 41 + $donnes["decouvert"] = !!$decouvert;
91 } 42 }
  43 +
  44 +retour("ok", $donnes);
  45 +
92 ?> 46 ?>
93 - "transactions": [{  
94 - "id": 5,  
95 - "type": 1,  
96 - "date": 1460369884183,  
97 - "montant": 50,  
98 - "qte": 0,  
99 - "valide": true  
100 - }, {  
101 - "id": 6,  
102 - "type": 3,  
103 - "date": 1460370161326,  
104 - "montant": 1.7,  
105 - "qte": 1,  
106 - "valide": true  
107 - }]  
108 -}