Subversion Repository Public Repository

Nextrek

Diff Revisions 723 vs 725 for /Android/SmartCharging/endPoints/nightly/edit_locale.php

Diff revisions: vs.
  @@ -28,6 +28,7 @@
28 28 $local_repo;
29 29
30 30 $user_id;
31 + $is_admin = false;
31 32
32 33 if (array_key_exists("email", $params) && $params["email"] !== "" && !filter_var($params["email"], FILTER_VALIDATE_EMAIL)) {
33 34 $risposta = createErrorMessage(-1, "Parametro \"email\" non valido");
  @@ -49,22 +50,26 @@
49 50
50 51 $user_id = UserRepository::getUserByToken($params["token"], $conn);
51 52
52 - if ($user_id == -1) {
53 - $risposta = createErrorMessage(-1, "Token non valido");
54 - //$risposta["return"] = -1;
55 - echo json_encode($risposta);
56 - die();
53 + if ($user_id == -1) {
54 + $is_admin = UserRepository::checkAdminByToken($params["token"], $conn);
55 + if (!$is_admin) { //controlla che l'utente sia amministratore
56 + $risposta = createErrorMessage(-1, "Token non valido");
57 + //$risposta["return"] = -1;
58 + echo json_encode($risposta);
59 + die();
60 + }
57 61 }
58 62
59 63 $local_repo = new LocalRepository($conn);
60 64
61 - $oldLocal = $local_repo->getFullLocalInfo($params["local_id"]);
62 -
63 - if ($oldLocal->id_utente_owner != $user_id) { //l'utente non gestisce il locale
64 - $risposta = createErrorMessage(-1, "Token non valido");
65 - //$risposta["return"] = -1;
66 - echo json_encode($risposta);
67 - die();
65 + if (!$is_admin) { //nel caso non sia ammministratore --> effettua controllo sull'utente
66 + $oldLocal = $local_repo->getFullLocalInfo($params["local_id"]);
67 + if ($oldLocal->id_utente_owner != $user_id) { //l'utente non gestisce il locale
68 + $risposta = createErrorMessage(-1, "Token non valido");
69 + //$risposta["return"] = -1;
70 + echo json_encode($risposta);
71 + die();
72 + }
68 73 }
69 74
70 75 $local->id = $params["local_id"];