Commit 9bf4ee8efd20ebaf9f1e63c3f110778933af141e
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 | -} | ... | ... |