Subversion Repository Public Repository

Nextrek

Diff Revisions 724 vs 725 for /Android/SmartCharging/endPoints/nightly/set_position.php

Diff revisions: vs.
  @@ -21,6 +21,7 @@
21 21 $local_repo;
22 22
23 23 $user_id;
24 + $is_admin = false;
24 25
25 26 try {
26 27 $conn = new PDO("mysql:host=".DB_SERVERNAME.";dbname=".DB_NAME, DB_USERNAME, DB_PASSWORD);
  @@ -37,21 +38,25 @@
37 38 $user_id = UserRepository::getUserByToken($params["token"], $conn);
38 39
39 40 if ($user_id == -1) {
40 - $risposta = createErrorMessage(-1, "Token non valido");
41 - //$risposta["return"] = -1;
42 - echo json_encode($risposta);
43 - die();
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 + }
44 48 }
45 49
46 50 $local_repo = new LocalRepository($conn);
47 51
48 - $oldLocal = $local_repo->getFullLocalInfo($params["id"]);
49 -
50 - if ($oldLocal->id_utente_owner != $user_id) { //l'utente non gestisce il locale
51 - $risposta = createErrorMessage(-1, "Token non valido");
52 - //$risposta["return"] = -1;
53 - echo json_encode($risposta);
54 - die();
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 + }
55 60 }
56 61
57 62 $query_status = $local_repo->setLocalPosition($params["id"], $params["lat"], $params["lon"], $params["indirizzo"]);