Commit 734c1e57144868d5b78c2f019ece0441b5e7aeb9
1 parent
e332ed2e
Demo
Showing
3 changed files
with
125 additions
and
0 deletions
Show diff stats
... | ... | @@ -0,0 +1,10 @@ |
1 | +# Permet de rediriger api/blabla vers api/blabla.php | |
2 | + | |
3 | +Options +FollowSymLinks -MultiViews | |
4 | + | |
5 | +RewriteEngine On | |
6 | +RewriteBase /api/ | |
7 | + | |
8 | +RewriteCond %{REQUEST_FILENAME} !-d | |
9 | +RewriteCond %{REQUEST_FILENAME}\.php -f | |
10 | +RewriteRule ^(.+)$ $1.php [L,QSA] | ... | ... |
... | ... | @@ -0,0 +1,114 @@ |
1 | +<?php | |
2 | + | |
3 | +// Code d'exemple | |
4 | +// N'hésitez pas à vous en inspirer ! | |
5 | + | |
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 | |
8 | + | |
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(); | |
49 | +} | |
50 | + | |
51 | +if ($droit < 2) { | |
52 | +?> | |
53 | +{ | |
54 | + "status": "non_autorise" | |
55 | +} | |
56 | +<?php | |
57 | + exit(); | |
58 | +} | |
59 | + | |
60 | +function loginLille1Valide($login) { | |
61 | + // Vérifie si le login est correct | |
62 | + return true; // :p | |
63 | +} | |
64 | + | |
65 | +if (isset($_POST['loginLille1']) && loginLille1Valide($_POST['loginLille1'])) { | |
66 | + $loginLille1 = $_POST['loginLille1']; | |
67 | +} else { | |
68 | +?> | |
69 | +{ | |
70 | + "status": "requete_malformee" | |
71 | +} | |
72 | +<?php | |
73 | + exit(); | |
74 | +} | |
75 | + | |
76 | +// On checke si le loginLille1 est connu dans la base de données | |
77 | +if ($loginLille1 != 'petite.jaja') { | |
78 | +?> | |
79 | +{ | |
80 | + "status": "etudiant_inconnu" | |
81 | +} | |
82 | +<?php | |
83 | + exit(); | |
84 | +} | |
85 | + | |
86 | +?> | |
87 | +{ | |
88 | + "status": "ok", | |
89 | + "loginLille1": "petite.jaja", | |
90 | + "idCarteEtudiant": "AHS0DIEX", | |
91 | + "solde": 48.3, | |
92 | +<?php | |
93 | +if ($droit >= 3) { | |
94 | +?> | |
95 | + "decouvertAutorise": false, | |
96 | +<?php | |
97 | +} | |
98 | +?> | |
99 | + "transactions": [{ | |
100 | + "id": 5, | |
101 | + "type": 1, | |
102 | + "date": 1460369884183, | |
103 | + "montant": 50, | |
104 | + "qte": 0, | |
105 | + "valide": true | |
106 | + }, { | |
107 | + "id": 6, | |
108 | + "type": 3, | |
109 | + "date": 1460370161326, | |
110 | + "montant": 1.7, | |
111 | + "qte": 1, | |
112 | + "valide": true | |
113 | + }] | |
114 | +} | ... | ... |
... | ... | @@ -0,0 +1 @@ |
1 | +<?php phpinfo(); ?> | ... | ... |