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 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 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   -}
... ...