Nextrek
Diff Revisions
727
vs
728
for /Android/SmartCharging/endPoints/set_position.php
|
@@ -20,19 +20,44 @@ |
20 |
20 |
|
$risposta = array(); |
21 |
21 |
|
$local_repo; |
22 |
22 |
|
|
|
23 |
+ |
$user_id; |
|
24 |
+ |
$is_admin = false; |
|
25 |
+ |
|
23 |
26 |
|
try { |
24 |
27 |
|
$conn = new PDO("mysql:host=".DB_SERVERNAME.";dbname=".DB_NAME, DB_USERNAME, DB_PASSWORD); |
25 |
28 |
|
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
26 |
29 |
|
//echo "Connesso con successo al DB"; |
27 |
30 |
|
|
28 |
|
- |
if (!array_key_exists("token", $params) || !UserRepository::checkToken($params["token"], $conn)) { |
29 |
|
- |
$risposta = createErrorMessage(-1, "Token non valido"); |
|
31 |
+ |
if (!array_key_exists("token", $params) || $params["token"] === "") { |
|
32 |
+ |
$risposta = createErrorMessage(-1, "Parametro \"token\" non valido"); |
30 |
33 |
|
//$risposta["return"] = -1; |
31 |
34 |
|
echo json_encode($risposta); |
32 |
35 |
|
die(); |
33 |
36 |
|
} |
34 |
37 |
|
|
35 |
|
- |
$local_repo = new LocalRepository($conn); |
|
38 |
+ |
$user_id = UserRepository::getUserByToken($params["token"], $conn); |
|
39 |
+ |
|
|
40 |
+ |
if ($user_id == -1) { |
|
41 |
+ |
$is_admin = UserRepository::checkAdminByToken($params["token"], $conn); |
|
42 |
+ |
if (!$is_admin) { //controlla che l'utente sia amministratore |
|
43 |
+ |
$risposta = createErrorMessage(-1, "Token non valido"); |
|
44 |
+ |
//$risposta["return"] = -1; |
|
45 |
+ |
echo json_encode($risposta); |
|
46 |
+ |
die(); |
|
47 |
+ |
} |
|
48 |
+ |
} |
|
49 |
+ |
|
|
50 |
+ |
$local_repo = new LocalRepository($conn); |
|
51 |
+ |
|
|
52 |
+ |
if (!$is_admin) { //nel caso non sia ammministratore --> effettua controllo sull'utente |
|
53 |
+ |
$oldLocal = $local_repo->getFullLocalInfo($params["id"]); |
|
54 |
+ |
if ($oldLocal->id_utente_owner != $user_id) { //l'utente non gestisce il locale |
|
55 |
+ |
$risposta = createErrorMessage(-1, "Token non valido"); |
|
56 |
+ |
//$risposta["return"] = -1; |
|
57 |
+ |
echo json_encode($risposta); |
|
58 |
+ |
die(); |
|
59 |
+ |
} |
|
60 |
+ |
} |
36 |
61 |
|
|
37 |
62 |
|
$query_status = $local_repo->setLocalPosition($params["id"], $params["lat"], $params["lon"], $params["indirizzo"]); |
38 |
63 |
|
if ($query_status!=0) { |